62803 - Белорусский государственный университет

advertisement
Министерство образования Республики Беларусь
Государственное учреждение образования
“Республиканский институт высшей школы”
УТВЕРЖДАЮ
Первый заместитель Министра
образования Республики Беларусь
______________________ А.И. Жук
« 05 »
07
2006 г.
Регистрационный № ТД – G.092/тип.
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Учебная программа
для высших учебных заведений по специальностям
1-31 03 04 Информатика,
1-31 03 03 Прикладная математика
СОГЛАСОВАНО
Председатель Учебно-методического
объединения вузов Республики Беларусь по
естественнонаучному образованию
__________________ В.В.Самохвал
__________________ 2006
Начальник управления высшего и среднего
специального образования Министерства
образования Республики Беларусь
__________________ Ю.И. Миксюк
__________________ 2006
Первый проректор Государственного
учреждения образования “Республиканский
институт высшей школы”
__________________ В.И. Дынич
__________________ 2006
Эксперт
__________________ С.М. Артемьева
__________________ 2006
Минск
2006
Составители:
М.К. Буза, профессор кафедры математического обеспечения ЭВМ Белорусского
государственного университета, доктор технических наук, профессор
Рецензенты:
Кафедра вычислительных методов и программирования Учреждения образования
“Белорусский государственный университет информатики и радиоэлектроники”;
С.Ф. Липницкий, главный научный сотрудник Объединенного института проблем
информатики НАН Беларуси, доктор технических наук
Рекомендована
к утверждению в качестве типовой:
Кафедрой математического обеспечения ЭВМ Белорусского государственного
университета
(протокол № 9 от 16 февраля 2006г.).
Научно-методическим советом Белорусского государственного университета
(протокол № 4 от 11 июня 2006г.).
Научно-методическим советом по прикладной математике и информатике
(протокол № 1 от 12 июня 2006г.).
Учебно-методическим объединением вузов Республики Беларусь по
естественнонаучному образованию
(протокол № 15 от 15 июня 2006г.).
Ответственный за редакцию:
М.К. Буза
Ответственный за выпуск:
О.А. Кастрица
Пояснительная записка
Дисциплина «Архитектура вычислительных систем» знакомит
студентов с принципами создания и типами организации классических и
альтернативных архитектур современных компьютеров, а также наиболее
значительными их реализациями. Она изучает внутреннюю организацию
вычислительной системы.
Концепции RISC (Reduced Instruction Set Computer)-процессоров и CISC
(Complete Instruction Set Computer)-процессоров, компьютеры с VLIW (Very Long
Instruction Word)-архитектурой, позволившей за счет упаковки в одну связку
нескольких команд, масштабируемости, предикации, загрузки по предположению,
тегов и дескрипторов ускорить процесс обработки, занимают важное место при
создании различных вычислительных платформ.
Существенные успехи в развитии технологий проектирования средств
вычислительной техники, программного обеспечения и его надежности,
инструментариев и методов инжиниринга, аттестации и верификации программных
проектов, а также новый спектр приложений вычислительной техники и его
программного обеспечения привели к пересмотру существующих архитектурных
решений компьютеров. Вместо монопольной концепции
последовательного
исполнения операций появились идеи совместной, параллельной и распределенной
обработки данных. На смену однопроцессорным компьютерам, базирующимся на
принципах фон Неймана, пришли многопроцессорные, конвейерные и параллельные
архитектуры.
Широкое распространение получают векторно-конвейерные компьютеры,
массово-параллельные компьютеры с распределенной памятью, компьютеры с
кластерной архитектурой, позволяющей достигать практически неограниченной
производительности. Все эти решения требуют осмысления и фильтрации, чему в
немалой степени способствует данная дисциплина. Одна из ее целей – проследить
путь от компьютеров фон Неймана, их программного обеспечения и концептуальных
идей через семантический разрыв между существующими архитектурными
решениями, созданными и формирующимися идеями, реализованными в различном
окружении пользователей компьютеров, до способов их совершенствования и
создания новых архитектурных ансамблей.
Базируясь на понятии процесса, рассмотрены ключевые теоретические
решения, многие из которых можно сегодня обнаружить в большинстве современных
вычислительных систем.
Для изучения этой дисциплины необходимы знания в области структур
компьютеров, проектировании программ и начальные сведения по операционным
системам. Знание архитектуры компьютера позволит программистам рационально
использовать все ресурсы вычислительной системы и проектировать эффективные
программы.
В соответствии со стандартом специальности учебная программа предусматривает
для изучения дисциплины 135 аудиторных часов, в том числе лекционных 68 ч.,
лабораторных 55 ч. и 12 ч. контролируемой самостоятельной работы.
Содержание
Введение
Вычислительные системы, их ориентация на различные области применения
и режимы обработки данных.
Архитектурные решения фон Неймана
Соотношение структуры и архитектуры компьютера. Вычислительные и
логические возможности, аппаратные средства, программное обеспечение.
Архитектура как интерфейс между различными уровнями физической системы.
Семантический разрыв между архитектурой компьютера и окружением пользователя.
Анализ модели фон-неймановского типа и основные пути ее
усовершенствования.
Конвейерная обработка данных
Принципы конвейеризации. Временные
диаграммы. Структурные
конфликты, конфликты по данным и управлению. Типы конвейерной обработки.
Предикация. Загрузка по предположению. Компьютеры типа CRAY. Конвейеризация
в процессорах Pentium.
Организация памяти
Иерархия памяти: регистровая, кэш-память, главная память, вспомогательная
память, виртуальная память. Управление памятью: пространство имен, логическое и
физическое пространство адресов, отображение пространств.
Логико-алгоритмические средства
Представление чисел и символов в компьютерах с фиксированной и
плавающей точкой. Стандарт кодирования IEEE 754. Способы кодирования данных:
классические и нетрадиционные. Помехозащищенные коды.
Сжатие и защита данных.
Архитектура микропроцессоров
Структура микропроцессора. Проектирование и оптимизация системы
команд. Схема выполнения команд в компьютерах с различной адресацией.
Микропроцессоры Pentium, HP, Motorola. Особенности архитектуры DEC, POWER.
Концепции взаимодействия процессов
Задачи и процессы. Структуры: список готовности, блоки управления
процессами. Особенности управления процессами в одно- и многопроцессорных
компьютерах. Система прерываний.
Параллельные и последовательные процессы. Типы параллелизма. Операции
над процессами. Синхронизация процессов. Проблема тупиков: причины, условия,
предотвращение.
Системы параллельного действия
Классификация
архитектур
вычислительных
систем.
Концепции
комплексирования. Задача совместимости разнотипных компьютеров.
Информационные
модели
систем
параллельного
действия:
мультипроцессоры и мультикомпьютеры. Технологии сокращения времени ожидания
в мультипроцессорах и мультикомпьютерах. Алгоритмы выбора маршрутов для
доставки сообщений.
Вычислительные системы на базе однопроцессорных компьютеров: общие и
специальные системы программирования.
Альтернативные архитектуры компьютеров: векторная, многопроцессорная,
RISC-, SPARC- и VLIW-архитектура.
Компьютеры
на
потоках
данных.
Матричные
компьютеры.
Нейрокомпьютеры.
Компьютерные сети: эталонная модель и основные топологические решения.
Шина – простейший способ создания широковещательной сети.
Коммуникационные технологии.
Языки описания параллельных процессов
Параллельно-последовательный и асинхронный подходы к проектированию
языков параллельного программирования. Абстрактные языки описания
параллельных процессов. Системы параллельного программирования.
Программное обеспечение для параллельных компьютеров. Метрика
аппаратного и программного обеспечения. Базовые положения формирования
программного обеспечения: модели управления, степень распараллеливания
процессов, вычислительные парадигмы, методы коммутации, примитивы
синхронизации.
Преобразование последовательных алгоритмов в последовательнопараллельные.
Методы планирования
Задача планирования процессов. Планирование в мультипроцессорных
системах: планирование по наивысшему приоритету, метод круговорота, очереди с
обратной связью, многоуровневое планирование.
Литература
Основная
1. Таненбаум Э. Архитектура компьютеров. 4-е изд. – Спб-М-К., 2002. –
698 c.
2. Буза М.К. Архитектура компьютеров. Мн., Новое знание, 2006. – 415 с.
3. Patterson D, Hennessy J. Computer Architecture a Quantitative approach,
San Francisco, 3-td edition, 2003. – 978 с.
4. Kai Hwang. Advanced computer architecture: parallelism, scalability,
programmability/ Tokyo-Toronto. 1993. – 637 с.
5. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы,
технологии, протоколы. Спб. Питер. 2-е изд. 2005. – 864 с.
Дополнительная
6. Bernstein A, Lewis P. Concurency to Programming and Database Systems,
Boston-London, 1993. – 548 с.
7. Буза М.К. Введение в архитектуру компьютеров. Мн., БГУ, 2000. –
253с.
8. Корнеев В.В. Параллельные вычислительные системы. – М.: Нолидж,
1999. – 417 с.
9. Ваханалия Юреш.UNIX изнутри. Сиб.: Питер, 2003. – 844 с.
10. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы,
исходные тексты на языке. С.-М., ТРИУМФ, 2002. – 816 с.
Download