Министерство образования и науки РФ

Государственное образовательное учреждение

высшего профессионального образования

Омский государственный университет

им.

Институт математики и информационных технологий

Кафедра математической логики и логического программирования

«Утверждаю»

Проректор по учебной работе

_________________

«_____» _________________ 2011 г.

Программа дисциплины

«Архитектура ЭВМ, сети и ассемблеры»

Цикл ГОС ВПО ДС

входит в число обязательных дисциплин федерального компонента

к следующим образовательным профессиональным программам

подготовки специалистов и бакалавров

Специальность

Код специальности

Форма обучения

Прикладная математика и информатика

010501.65

Очная

Направление

Код направления

Форма обучения

Прикладная математика и информатика

010500.62

Очная

Омск – 2011 г.

ЛИСТ СОГЛАСОВАНИЯ РАБОЧЕЙ ПРОГРАММЫ

Программа дисциплины «Архитектура ЭВМ, ассемблеры и сети»

разработана зав. кафедрой МЛЛП ОмГУ к. ф.-м. н.

Программа рассмотрена и одобрена на заседании кафедры

математической логики и логического программирования

(протокол № 7 от «10» июня 2011 г.)

Программа разработана в соответствии с Государственным образовательным стандартом высшего профессионального образования РФ по следующим специальностям:

«Прикладная математика и информатика»

и направлениям:

«Прикладная математика и информатика»,

и согласована с факультетом, осуществляющими профессиональную подготовку по этим специальностям и направлениям.

НЕ нашли? Не то? Что вы ищете?

Директор института

математики и информационных технологий

Распределение общего объема часов по видам учебной деятельности

Курс

Семестр

Объем часов (по видам работ)

Аудиторные занятия

Самостоятельная работа студентов

Всего

Всего

Лекции

Практи-ческие занятия

Семинары

Лабораторные занятия

Другие виды

Курсовая работа

Реферат

Индивидуальные задания

Другие виды

2

4

68

51

17

34

34

Общая трудоемкость дисциплины: 102 часа.

Форма промежуточной аттестации: экзамен. Формы текущего контроля: сдача компьютерных программ на лабораторных работах.

Цели и задачи дисциплины.

Требования к уровню освоения содержания дисциплины

Рабочая программа учебной дисциплины предназначена для реализации государственных требований к минимуму содержания и уровню подготовки выпускников по математическим специальностям и направлениям. Учебная дисциплина формирует основные знания об устройстве и архитектурах вычислительных систем, языках программирования низкого уровня, принципах построения локальных и глобальных сетей ЭВМ.

В результате изучения дисциплины студент должен:

знать:

    основные функциональные компоненты компьютера, их характеристики, факторы, влияющие на производительность, механизмами межкомпонентного взаимодействия; основы архитектуры ЭВМ на примере архитектуры Intel-32; реализации конструкций и типов данных языков высокого уровня в машинном коде; основных компоненты компьютерных сетей, различия между локальными (LAN) и глобальными (WAN) сетями; Описание уровней сетевой модели ISO/OSI;

уметь:

    разрабатывать программы на языке ассемблера в архитектуре Intel-32; использовать вставки на языке ассемблера в программах на языке высокого уровня для повышения производительности и экономии ресурсов.

Дисциплина входит в цикл дисциплин специализации (специальность «Прикладная математика и информатика») и в цикл специальных дисциплин (направление «Прикладная математика и информатика»).

Для изучения данной дисциплины студенты должны освоить курсы «ЭВМ и информатика», «Языки программирования и методы трансляции» и «Практикум на ЭВМ».

В процессе изучения дисциплины используется следующее программное обеспечение: инструментальная среда Microsoft Visual . и библиотека MSDN Library.

Тематический план

(с распределением общего бюджета времени в часах)

Курс

Семестр

Раздел дисциплины,

Содержание

Всего

Аудиторные занятия (часов)

Самостоятельная работа студента

Формы контроля (промежуточного, текущего, итогового)

Лекции

Семинарские (практические) занятия

Лабораторные занятия

2

4

1. Архитектура компьютера.

История развития вычислительной техники. Понятие архитектуры. Архитектура Intel-32. Режимы работы процессора. Организация памяти. Исключения и прерывания. Периферийные устройства. Многозадачность, многопоточность и параллельные вычисления.

22

10

экзамен

2

4

2. Язык ассемблера.

Понятие о языках низкого уровня. Основные команды ассемблера Intel-32. Реализация типов данных и основных конструкций языков высокого уровня средствами ассемблера.

18

17

18

экзамен,

сдача компьютерных программ

2

4

3. Компьютерные сети

Архитектура сетей. Модель ISO/OSI. Понятие о сетевых протоколах. Локальные и глобальные сети ЭВМ.

11

6

экзамен

Содержание дисциплины

Программа лекций

Раздел

Содержание лекции

Кол-во часов

1

История развития вычислительной техники. Принципы фон Неймана.

2

1

Обзор аппаратной конфигурации компьютера. Процессор, разрядность процессора, тактовая частота. Оперативная память, ПЗУ. Внешняя память. Шины данных.

2

1

Периферийные устройства, их основные характеристики и принципы работы.

2

1

Компьютер как многоуровневая система. Физический и цифровой логический уровни.

2

1

Уровень микроархитектуры. Знакомство с процессором Intel. Микроархитектура Netburst. Конвейерная обработка.

2

1

Уровень машинных команд. Форматы машинных команд.

2

2

Программная модель микропроцессора Intel-32. Типы данных процессора Intel.

4

2

Обзор машинных команд архитектуры Intel-32. Организация программ на языке ассемблера

6

2

Трансляция основных конструкций языков программирования высокого уровня. Трансляция вызовов функций.

2

2

Представление составных типов данных в ассемблерных программах.

2

2

Математический сопроцессор, его архитектура.

4

1

Режимы работы процессора Intel. Организация памяти. Сегментация и страничный обмен.

4

1

Прерывания и исключения.

2

1

Процессы и потоки. Поддержка многозадачности и многопоточности в архитектуре компьютера.

2

1

Многопроцессорные системы. Проблемы организации параллельных вычислений. Блокировка и голодание.

2

3

Архитектура компьютерных сетей. Эталонная модель OSI. Эталонная модель TCP/IP.

2

3

Примеры компьютерных сетей. Локальные сети. Интернет и его службы.

2

3

Сетевой уровень и протокол IP. Алгоритмы маршрутизации.

2

3

Транспортный уровень и протокол TCP.

2

3

Прикладной уровень. Служба доменных имен. HTTP-протокол и WWW.

3


Программа лабораторных работ

Раздел

Содержание занятия

Кол-во часов

2

Основы языка ассемблера в архитектуре Intel-32. Оформление ассемблерных вставок в программах на языке С++.

2

2

Работа с основными целочисленными командами.

4

2

Реализация составных структур языков программирования высокого уровня средствами ассемблера.

6

2

Работа с математическим сопроцессором.

5


Требования к уровню освоения программы и формы текущего

промежуточного и итогового контроля

Форма промежуточного контроля: экзамен.

Экзамен проводится в письменной форме в виде итоговой контрольной работы. Задание состоит из 7 задач. Решенные задачи оцениваются от 1 до 4 баллов (в зависимости от сложности задачи), максимальное возможное количество баллов за работу — 20.

Критерии выставления оценки:

отлично 17-20 баллов

хорошо 12-16 баллов

удовлетворительно 07-11 баллов

неудовлетворительно менее 7 баллов.

Текущий контроль осуществляется в виде сдачи компьютерных программ, выполненных на лабораторных работах. Комплект задач состоит из трех заданий по следующим темам:

1.  Работа с целочисленными командами.

2.  Реализация средствами ассемблера составных структур данных.

3.  Работа с математическим сопроцессором.

Примерный комплект приведен в приложении. Критерии оценивания задачи:

зачтено — программа работает верно, студент понимает и способен объяснить алгоритм ее работы и внутреннее устройство,

незачет — в остальных случаях.

Студент, не имеющий зачетов по всем заданиям лабораторных работ к началу сессии, к экзамену не допускается и получает экзаменационную оценку «неудовлетворительно».

Учебно-методическое обеспечение

Литература

Основная

Наименование

Число экз.

1

Аблязов на ассемблере на платформе x86-64. –[Электронный ресурс]: Электронно-библиотечная система издательства Лань. – ДМК Пресс, 2011. – Режим доступа: http://e. /books/element. php? pl1_cid=25&pl1_id=1273

100%

Дополнительная

2.  Лавров и системы телекоммуникаций. Учебное пособие. – Омск: ОмГУ, 2006.

3.  Бройдо системы, сети и телекоммуникации СПб.: Питер, 2004.

4.  . Assembler. – СПб.: Питер, 2006.

5.  Компьютерные сети: Принципы, технологии, протоколы: Учеб. для вузов / , . - СПб. : Питер, 2012.

6.  Э. Таненбаум. Компьютерные сети. СПб.: Питер, 2009. – 992 с.

7.  Э. Таненбаум, М. ван Стен. Распределенные системы: принципы и парадигмы. СПб.: Питер, 2003. – 877 с.

8.  Д. Роббинс. Отладка Windows-приложений. М.: ДМК Пресс, 2001.

Методические указания (рекомендации) преподавателю

Первые две лабораторные работы посвящены изучению средств и особенностей инструментальной среды MS Visual Studio, необходимых для разработки и отладки программ с ассемблерными вставками. Особое внимание нужно уделить отладчику (наблюдение за регистрами, дамп памяти и т. д.).

Коротко излагаются общие сведения об архитектуре процессора Intel (регистры, программный стек) и вводится минимальный набор команд языка ассемблер (команды mov, lea, push, pop, арифметические, переходы, loop, call, ret).

Демонстрируются правила оформления ассемблерной вставки в программе на языке С, порядок вызова функций языка С из ассемблерной вставки. Полезно напомнить наиболее часто используемые функции стандартных библиотек С, которые будут использоваться при выполнении заданий лабораторных работ (printf, scanf, malloc).

Оставшиеся лабораторные занятия используются для выполнения студентами трех обязательных заданий. В это время преподаватель должен сосредоточиться на консультировании студентов и приеме работ.

Методические указания для студентов

Необходимо регулярно и методично изучать теоретический материал и своевременно выполнять задания лабораторных и самостоятельных работ. При возникновении непонятных мест нужно консультироваться с преподавателем.

Основная форма самостоятельной работы студентов – изучение теоретического материала и написание программ на языке ассемблера Intel. Необходимые теоретические сведения можно получить из литературы, указанной ниже.

Вопросы для подготовки к экзамену прилагаются.
Методические указания по организации

внеаудиторной самостоятельной работы студентов

Тема, раздел

Всего часов

Задания для самостоятельной работы

Список литературы для подготовки

Форма

контроля

Архитектура компьютера

10

Изучение учебных пособий, выполнение контрольных работ (домашних заданий)

[1, 3, 4, 5]

Индивидуальные беседы и консультации с преподавателем,

итоговый экзамен

Язык ассемблера

18

Выполнение контрольных работ (домашних заданий)

[3,4]

Промежуточный зачет,

сдача программ

Компьютерные сети

6

Изучение учебных пособий

[1, 2, 5]

Итоговый экзамен


Приложение. Примерный комплект заданий на лабораторные работы

Задача 1. Выделить из строки подстроку указанной длины, начиная с заданной позиции.

Требования к задаче. Задание выполняется на Visual C++ .NET 2003 с использованием ассемблерных вставок. В этом задании необходимо выполнить соответствующие преобразования над строкой или строками. Решение задачи необходимо оформить в виде одной или несколько подпрограмм, содержащих ассемблерные вставки. Как правило, в каждом задании по одной или двум входным строкам надо получить выходную строку, удовлетворяющую определенным условиям, причем под выходную строку необходимо выделить память и сделать это надо внутри

ассемблерной вставки. Кроме того, программа должна иметь "дружелюбный" интерфейс (например, предлагать выполнить повторное тестирование). Ввод данных из файла не требуется, хотя приветствуется. Ввод/вывод с консоли выполнять с помощью функций printf и scanf, вызов которых тоже должен происходить внутри ассемблерных вставок.

Задача 2. Посчитать количество столбцов, все элементы которых меньше по модулю заданного числа. Матрица представлена массивом строк.

Требования к задаче. Задачи этой группы предполагают работу с целочисленными квадратными матрицами, хранящимися в виде структуры. Способ представления матрицы в памяти указывается в задании. С помощью ассемблерных вставок необходимо реализовать функции: создать матрицу, удалить матрицу, прочитать / изменить элемент, стоящий на пересечении i-той строки и j-го столбца, печать матрицы, функции, которая описывается в задании.

Задача 3. Среди множества точек (заданного массивом) в трехмерном векторном пространстве, найти пару точек наиболее удаленных друг от друга.

Требования к задаче. В задачах этого раздела точка --- это структура вида

struct Point

{

double x;

double y;

double z;

};

Вычисление расстояния между точками оформить в виде отдельной подпрограммы.

Вопросы для подготовки к экзамену

по дисциплине «Архитектура ЭВМ, ассемблеры и сети»

История развития вычислительной техники. Принципы фон Неймана. Компьютер как многоуровневая система. Физический и цифровой логический уровни. Уровень микроархитектуры. Знакомство с процессором Intel. Микроархитектура Netburst. Конвейерная и суперскалярная обработка. Программная модель микропроцессора Intel-32. Основные регистры. Типы данных процессора Intel. Организация программ на языке ассемблера. Команды и директивы. Основные команды ассемблера Intel-32. Представление составных типов данных (одномерных и многомерных массивов, структур) в ассемблерных программах. Трансляция основных конструкций языков программирования высокого уровня. Трансляция вызовов функций языков высокого уровня. Математический сопроцессор, его архитектура. Типы данных сопроцессора. Основные команды математического сопроцессора. Режимы работы процессора Intel. Организация памяти в архитектуре IA-32. Сегментация и страничный обмен. Прерывания и исключения. Процессы и потоки. Поддержка многозадачности и многопоточности в архитектуре компьютера. Проблемы организации параллельных вычислений. Блокировка и голодание. Понятие о телекоммуникационных сетях. Сети с коммутацией каналов и сети с коммутацией пакетов. Физическая и логическая топологии сетей. Устройства для физической и логической сегментации сетей. Эталонная модель ISO/OSI. Понятие о сетевом протоколе и стеке протоколов. Технологии физического уровня. Проводные и беспроводные сети. Типы кабельных соединений. Виды кодирования информации. Технологии локальных сетей. Сети Ethernet и Token Ring. Стек протоколов TCP/IP. Понятие IP-адреса. Классификация IP-адресов. Сетевая и машинная часть IP-адреса. Принципы работы маршрутизаторов.