Апрель, 5

Знаменатель

(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Проекты | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация (English)

Архитектура ЭВМ

РАБОЧАЯ ПРОГРАММА

По дисциплине: Архитектура ЭВМ
Для специальностей:
010200 — Прикладная математика и информатика,
654700 / 071900 — Информационные системы / Информационные системы и технологии
и направления:
510200 — Прикладная математика и информатика
Факультет: Математический
 
1. Цели и задачи дисциплины, ее место в учебном процессе

1.1. Цель преподавания дисциплины

Цель преподавания дисциплины состоит в углублении фундаментальных знаний студентов по архитектуре ЭВМ с закреплением у них культуры архитектурного мышления и формированием серьезных навыков работы на языке ассемблера. Дисциплина содержит сведения, необходимые для научно-исследовательской и практической работы в области системного программирования. Освещаются технология программирования видеосистем, программы обработки прерываний, тенденции развития архитектуры ЭВМ. Содержание дисциплины входит в необходимый минимум профессиональных знаний выпускников по соответствующим специальностям и направлениям, а также является необходимой основой для усвоения ряда дисциплин специализации, выполнения курсовых, бакалаврских, дипломных и магистерских работ.

1.2. Задачи изучения дисциплины

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

Уметь: Иметь представление:

1.3. Перечень дисциплин, усвоение которых студентами

необходимо для изучения данной дисциплины

1. Информатика (ЕН.Ф.02).
Понятие алгоритма и алгоритмической системы; понятие языка программирования и структуры данных; основные типы алгоритмов, их сложность и их использование для решения задач.

2. Основы системного программирования (ОПД.Ф.06)
Фундаментальные знания по архитектуре ЭВМ, культура архитектурного мышления, первичных навыки работы на языке ассемблера.

2. Содержание дисциплины
 
2.1. Наименование тем, их содержание, объем в часах лекционных занятий
 
1. Системная среда процессора Intel 8086/8088 (2 часа).
Прямой доступ в память, доступ к устройствам ввода-вывода. Структура процессора, многопроцессорность, захват шины.
 
2. Видеосистемы: адаптеры и уровни программирования (2 часа).
Понятие видеоадаптера. Адаптеры CGA, EGA, VGA, SVGA. Программирование адаптера на уровне функций ОС, BIOS, портов.
 
3. Общая схема видеосистемы. (2 часа).
Растровый дисплей, схема формирования растра. Классическая структура видео системы, видеобуфер, формирование видеосигнала.
 
4. Схема формирования символов. (2 часа).
Контроллер ЭЛТ. Кодирование цветов, схема iRGB. Символьные матрицы.
 
5. Другие элементы видеоадаптера. (2 часа).
Секвенсер, графический контроллер, атрибутный контроллер. Текстовый и графический режимы. Текстовые режимы и цвет в EGA. Дисплейные страницы. Особенности доступа к видеобуферу
 
6. Управление шрифтами в адаптере EGA. Управление адаптером на уровне портов (2 часа).
Основные команды VideoBIOS — int10, команды установки шрифтов, порты адаптера EGA, примеры программирования видеофункций на уровне портов. Цвет окаймления..
 
7. Прерывания, их распознавание, специальные циклы шины, пошаговый режим, контрольная точка, программы обработки (6 часов).
Источники и группы сигналов прерываний процессора i8086. Алгоритм обработки сигналов прерываний процессором. Задержка прерывания, коды прерывания, векторы прерываний, запуск программы обработки прерываний, маскирование прерываний, отложенное и раннее распознавание сигналов прерываний, потеря префиксов. Внешние и внутренние прерывания. Прерывания пошагового режима и контрольной точки.
 
8. Программы обработки прерываний (2 часа).
Стандартные действия программы обработки прерываний. Замена векторов прерываний. Новая и “сцепленная” программы обработки, способы “сцепления”.
 
9. Системная процедура обработки прерываний от клавиатуры (4 часа).
Прерывания нажатия и отжатия, скан коды, порты клавиатуры. Архитектура драйвера клавиатуры.
 
10.Расширенные ASCII коды. Средства DOS для ввода с клавиатуры (2 часа).
Принципы кодирования двух и трех клавишных комбинаций расширенными ASCII кодами, их скан коды. Функции DOS для ввода с клавиатуры.
 
11.Архитектура старших моделей процессоров Intel (2 часа).
Тенденции развития архитектуры — “перенос в кремний”. Увеличение разрядности. Страничная память, кэш память, встроенный блок с плавающей точкой. Квазипараллельная обработка команд, “трубопровод”, суперскалярность. Модели памяти.
 
12.Супер–ЭВМ (2 часа).
Области применения, классификация, кластерные архитектуры, макроконвейеры, пределы производительности.
 
2.2. Практические и семинарские занятия, их содержание и объем в часах.
Нет.
 
2.3. Лабораторные занятия, их наименование и объем в часах
Требования к лабораторному заданию по дисциплине.

Общие требования
Целью работы является освоение студентами приемов программирования:

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

Готовое задание должно быть мультфильмом, представляющий собой ряд осмысленных связанных текстов на русском (английском) языке. Тексты должны выражать творческую, интеллектуальную индивидуальность автора (авторов). Приветствуются юмористические мультфильмы (см. например мультфильм "Драма на системной магистрали"). Не допускаются бессмысленные анимационные эффекты, прыгающие "шарики", "отражения" и тому подобные декадентские изыски. Изящные интеллектуальные игры допустимы. Примечание (ключевое): понятие "мультфильм" включает в себя взаимосвязанную совокупность следующих компонент: название, сюжет, иллюстративное отображение сюжета.

Текст также должен демонстрировать высокую языковую культуру авторов-студентов III КУРСА РОССИЙСКОГО УНИВЕРСИТЕТА. Не допускается всяческий сиротский жаргон наподобие (просим прощения) "Дык", "Мышами воняет" и прочие проявления "спящего разума".

Использование чужих программ и всяких доморощенных квази-генераторов должно быть полностью исключено.

Технические требования

1. Требуемый видеоадаптер - EGA.
2. Мультфильм должен содержать не менее 15 кадров.
3. Нулевой картинкой должна быть заставка:

Задание по курсу "Архитектура ЭВМ"

Студент Г. Г. Медведев-Озерный

Преподаватель: Ю. А. Богоявленский

Инструктор: И. О. Фамилия

Группа 22nnn#n

дд.мм.гггг

4. Необходимо использовать в фильме элементы, построенные с помощью перепрограммированного знакогенератора.
5. Необходимо использовать цвет окаймления.
6. Необходимо разработать и включить в программу обработчик прерываний клавиатуры для обеспечения следующих реакций на нажатие клавиш:

(две последние клавиши и спецэффекты студенты выбирают и разрабатывают самостоятельно).

Технологические требования

1. Модульная структура должна полностью соответствовать требованиями курса "Технология проектирования программного обеспечения" (небольшие хорошо структурированные, простые, легко обозримые, понятные модули).

2. Каждый модуль должен быть откомментирован по классической схеме (см. лекции 1 курса). Для этого проще всего разработать первую версию текста модуля в виде перечня основных операций на естественном языке, который и будет КОММЕНТАРИЕМ верхнего уровня. Затем при добавлении в текст модуля строк кода нужно все время поддерживать комментарий в актуальном состоянии.

3. Исходный текст каждого модуля должен размещаться в отдельном файле. Выполняемый файл должен получаться системой make путем раздельной трансляции с последующей сборкой редактором связей. makefile должен быть откомментирован, оптимизирован, должен содержать макроподстановки, явные/неявные правила, комментарии, справку по применению, а также должен отражать передовые идеи, изложенные в прилагающемся файле описания системы make.

4. Все подпрограммы должны быть реализованы на языке Ассемблера в стиле соглашений о связях языка С с передачей параметров через стек (см. лекции 1 курса). Для вызова и описания подпрограмм должны быть использованы средства TASM упрощающие процедурный интерфейс (см. лекции 1/3 курса и пример по адресу http://www.cs.karelia.ru/u/avolkov/Archit-PmiIs3-Bogoyavlenskiy/asm/examples/)

5. Одна - две подпрограммы должны быть реализованы на языке С (см. пример для реализации совместной трансляции по адресу http://www.cs.karelia.ru/u/avolkov/Archit-PmiIs3-Bogoyavlenskiy/asm/examples/)

6. Допускается переработка в мультфильм проекта, реализованного в курсе "Технология проектирования программного обеспечения". В этом случае не менее 80% модулей проекта должны быть перенесены на язык Ассемблера. При этом видео-модули должны использовать int 10h.

Временной график отчетности

Отчетность по заданию состоит из зачета и 5 контрольных этапов, за каждый из которых ставится оценка в баллах. Отчет по каждому этапу должен быть сдан (одобрен инструктором) на занятиях, предшествующих (!)контрольному сроку. Он также может быть отправлен инструктору по электронной почте (текст, исходные и выполняемый файлы в zip-архиве). Это нужно сделать до последнего занятия, предшествующего контрольному сроку, что в свою очередь, не исключает этапа сдачи (примечание: формат отчета - текст ASCII, кодировка — cp866).

За не представленный к сроку отчет выставляется 0 баллов. Эта оценка уже не меняется при последующем представлении отчета. Тем не менее, для допуска к зачету необходимо представить ВСЕ отчеты. Для представления очередного отчета необходимо ликвидировать все задолженности по предыдущим. Студенты, набравшие за все отчеты от 28 до 31 баллов, получают зачет без опроса. Если сумма баллов меньше 15, то зачет переносится на период после экзаменационной сессии (отпуска преподавателей с 1 июля).

Временной график работы

----- позже ----

2.4. Курсовой проект, его характеристика
Нет.
 
3. Учебно-методические материалы по дисциплине
 
3.1. Основная и дополнительная литература, другие информационные источники
 
Список основной литературы
  1. Богоявленский Ю.А.Дьяконов М.В. Печников А.А Центральные процессоры персональных ЭВМ. Сер. Информатика: основы и приложения, Петрозаводск: Изд-во ПетрГУ, 1998, 2000,
  2. Богоявленский Ю.А. Дьяконов М.В Язык ассемблера для персональных ЭВМ. Сер. Информатика: Основы и приложения, Петрозаводск: Изд-во ПетрГУ, 1998
  3. П.Нортон Программирование на Ассемблере для IBM PC
  4. Финогенов К.Г. Самоучитель по системным функциям DOS,
  5. М., МП Малип, 1993
Список дополнительной литературы
  1. А. А. Смирнов Архитектура вычислительных систем, М. Наука, 1990.
  2. Брэдли Д Программирование на языке ассемблера для персональной ЭВМ фирмы IBM. М., Радио и связь, 1988
  3. Реферат "АДАПТЕР EGA" http://www.cs.karelia.ru/u/avolkov/Archit-PmiIs3-Bogoyavlenskiy/asm/info/EGA.TXT
  4. Краткий справочник по работе с редактором MultiEdit v5.0 http://www.cs.karelia.ru/u/avolkov/Archit-PmiIs3-Bogoyavlenskiy/asm/info/ME_HELP.TXT
  5. Утилита MAKE http://www.cs.karelia.ru/u/avolkov/Archit-PmiIs3-Bogoyavlenskiy/asm/info/MAKE_DOC/
  6. Основы системного программирования http://www.cs.karelia.ru/~kryshen/bosp/2005/

Другие информационные источники

  1. Электронный ресурс по архитектуре ЭВМ
    http://www.cae.wisc.edu

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

Требования к лабораторному заданию по курсу "Архитектура ЭВМ"
http://www.cs.karelia.ru/u/avolkov/Archit-PmiIs3-Bogoyavlenskiy/asm/multyreq.php