- •Глава 1. Предисловие Основные принципы построения вычислительных машин и систем
- •Пример современной многоуровневой вычислительной машины с шестью уровнями
- •Уровни детализации структуры вычислительной машины
- •Принципы построения вычислительной машины
- •Принцип двоичного кодирования
- •Принцип программного управления
- •Принцип однородности памяти
- •Принцип адресности
- •Структура фон-неймановской архитектуры вычислительной машины
- •Типы структур вычислительных машин и систем
- •Структуры вычислительных машин
- •Структуры вычислительных систем
- •Перспективы совершенствования архитектуры вм и вс
- •Технологические и экономические аспекты
- •Тенденции развития больших интегральных схем
- •Перспективные направления исследований в области архитектуры
- •Глава 2. Цифровой логический уровень
- •Представление информации в вычислительных системах
- •Представление числовых данных в вм.
- •Числа в форме с фиксированной точкой.
- •Числа в форме с плавающей точкой
- •Размещение числовых данных в памяти
- •Представление нечисловой информации в вм
- •Символьная информация
- •Видеоинформация
- •Аудиоинформация
- •Система кодирования чисел.
- •Прямой код.
- •Обратный код.
- •Модифицированные коды.
- •Код с исправлением ошибок
- •Коды Хемминга
- •Физическое представление информации в вм.
- •Вентили, интегральные схемы.
- •Основные элементы эвм
- •Триггер.
- •Сумматоры
- •Тактовые генераторы.
- •Микросхемы процессоров и шины
- •Микросхемы процессоров. Цоколевка типичного цп
- •Архитектура и набор команд.
- •Типы процессоров
- •Регистры процессора
- •Типы шин Системные шины. Локальные шины
- •Системные шины
- •Локальные шины
- •Иерархия шин
- •Вычислительная машина с одной шиной
- •Вычислительная машина с двумя видами шин.
- •Вычислительная машина с тремя видами шин
- •Арбитраж шин
- •Принципы работы шины
- •Глава 3 Функциональная организация фон - неймановской вычислительной машины
- •Функциональная схема фон-неймановской вычислительной машины
- •Узлы уу
- •Узлы алу
- •Основная память.
- •Модуль ввода/вывода
- •Цикл команды.
- •Пример выполнения программы.
- •Система прерываний.
- •Глава 4. Память.
- •Организация памяти.
- •Основные принципы.
- •Основные технические характеристики зу.
- •Иерархическая структура памяти.
- •Основная память.
- •Классификация устройств основной памяти.
- •Блочная организация основной памяти
- •Организация микросхем памяти
- •Режимы работы памяти.
- •Основные запоминающие устройства
- •Стековая память
- •Ассоциативная память
- •Полностью ассоциативная кэш-память.
- •Постоянное запоминающее устройство
- •Виртуальная память
- •Понятие виртуальной памяти
- •Страничная организация памяти
- •Сегментно-страничная организация памяти.
- •Внешняя память
- •Магнитные диски
- •Оптическая память
- •Магнитные ленты
- •Глава 5 Язык Ассемблер
- •Структура программы на языке Ассемблер
- •Основные типы операндов
- •Типы операторов
- •Режимы адресации
- •Директивы ассемблера
- •Инструкции пересылки данных и двоичной арифметики
- •Запись программ на языке Ассемблер
- •Пример вычисления арифметического выражения
- •Циклические и разветвляющиеся программы
- •Примеры использования операторов переходов и цикла при работе с массивами чисел
- •Применение логических инструкций
- •Логические инструкции
- •Примеры использования логических команд
- •Пример выполнения работы
- •Обработка символьной информации с помощью функций dos
- •Программные прерывания и системные вызовы
- •Описание функций работы с клавиатурой и дисплеем диспетчера функций ms dos
- •Функции 01н
- •Функции 02н
- •Функция 09н
- •Функция оан
- •Функция 0Bh
- •Пример выполнения работы
- •Глава 6 Типы вычислительных систем и их архитектурные особенности
- •Классификация вычислительных платформ и архитектур
- •Классификация Флинна.
- •Классификация Хокни
- •Классификация Хэндлера
- •Параллелизм и конвейеризация вычислений. Параллелизм на уровне команд
- •Конвейеры
- •6.2.2 Суперскалярная архитектура.
- •Мультипроцессоры с памятью совместного использования.
- •Основные классы вс
- •Машины класса simd
- •Машины класса mimd
- •Основные направления развитие архитектуры вычислительных машин
- •Суперспекулятивная архитектура
- •Трассирующая архитектура
- •Многопотоковый процессор
- •Многоядерная архитектура
- •«Плиточная» архитектура
- •Многоэтажная архитектура
- •Оптическая (фотонная) архитектура
- •Квантовая архитектура
- •Нейроархитектура
Конвейеры
Конвейеризация - процесс, посредством которого различные фазы обработки накладываются по времени одна на другую. Это означает разбиение команды на отдельные этапы и исполнение получившихся микроинструкций различными элементами процессора с передачей данных одного этапа следующему. Однако разбиение команд и контроль за исполнением каждого шага усложняет управляющие цепи и требует на каждом шаге памяти для временного хранения промежуточных данных (конвейерные регистры).
Производительность при конвейеризации возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняются несколько операций. Конвейеризация эффективна только тогда, когда загрузка конвейера близка к полной, а скорость подачи новых операндов соответствует максимальной производительности конвейера. Если происходит задержка, то параллельно будет выполняться меньше операций и суммарная производительность снизится.
Обработка команды может быть разделена на несколько основных этапов (5 микрокоманд), каждый из которых выполняется определенной частью аппаратного обеспечения. Каждая операция требует для своего выполнения времени, равного такту генератора процессора. Вызов команд из памяти является главным препятствием высокой скорости выполнения команд, т.к. этот этап не может быть выполнен за 1 такт. Поэтому команды вызываются из памяти заранее, чтобы они имелись в наличии в тот момент, когда будут необходимы. Эти команды помещаются в набор регистров (буфер выборки с упреждением). Когда требуется определённая команда, она вызывается прямо из буфера.
Рассмотрим конвейер из 5 блоков (рис.6.5).
С1- вызывает команду из памяти и помещает её в буфер, где она хранится до тех пор пока не будет нужна;
С2- декодирует эту команду, определяя её тип и тип операндов, над которыми она будет производить определённые действия;
С3- определяет местонахождение операндов и вызывает их или из регистров или из памяти;
С4- выполняет команду;
С5- записывает результат обработки в нужный регистр.
Действие конвейера во времени (рис.6.6):
Цикл 1: С1 вызывает 1-ую команду из памяти;
Цикл 2: С2 декодирует команду 1,С1 вызывает 2-ую команду из памяти;
Цикл 3: С3 вызывает операнды для команды 1, С2 декодирует команду 2,С1 вызывает 3-ью команду из памяти;
Цикл 4: С4 выполняет команду 1, С3 вызывает операнды для команды 2, С2 декодирует команду 3,С1 вызывает 4-ую команду из памяти;
Цикл 5: С5 записывает результат выполнения команды 1 обратно в регистр, другие стадии работают над следующими командами ( С4 выполняет команду 2, С3 вызывает операнды для команды 3, С2 декодирует команду 4,С1 вызывает 5-ую команду из памяти).
Для повышения эффективности работы конвейера возможно разбиением каждой ступени конвейера на n «подступеней» при одновременном повышении тактовой частоте внутри конвейера также в n раз, либо включением в состав процессора n конвейеров, работающих с перекрытием.
Первый из этих подходов впервые был применен в 1988 году, он известен как суперконвейеризация. Каждая из ступеней стандартного конвейера разбивается на n более простых подступеней. Выполнение операции в подступенях занимает n-ую часть тактового периода, благодаря чему на каждой ступени конвейера за один такт выполнить n команд.
Суперконвейеризация сводится к увеличению количества ступеней конвейера за счет добавления новых ступеней и путем дробления имеющихся ступеней на несколько простых подступеней. Основное требование – возможность реализации операции в каждой подступене наиболее простыми техническими средствами, следовательно, с минимальными затратами времени. Второе условие – одинаковость задержки во всех подступенях.
Критерием для причисления процессора к суперконвейерным служит наличие не менее шести ступеней в конвейере команд. Длина конвейера команд в популярных микропроцессорах колеблется от 8 до 20. Удлинение конвейера приводит к возрастанию вероятности конфликтов, усложняется логика взаимодействия ступеней конвейера. Создателям ВМ удается справляться с большинством из этих проблем.
