- •Архитектура вычислительных систем (Часть 1)
- •Введение
- •Лабораторная работа № 1 Принципы управления конвейерными процессорами
- •1.1. Общие сведения
- •1.1.1. Условия эффективной реализации конвейера
- •1.1.2. Таблицы занятости
- •1.1.3. Диаграмма состояний
- •1.1.4. Термины и определения
- •1.2. Порядок работы с программой имитационного моделирования
- •1.2.1. Запуск программы
- •1.2.2. Пункт меню «Входные данные»
- •1.2.3. Пункт меню «Инструменты»
- •1.2.4. Подпункт «Просмотреть схему конвейера»
- •1.2.5. Подпункт «Анализировать статический
- •1.2.6. Подпункт «Имитировать работу динамического конвейера»
- •1.3. Порядок выполнения лабораторной работы
- •1.4. Варианты заданий
- •1.4. Содержание отчета о выполненной работе
- •2.2. Порядок работы с программой имитационного моделирования.
- •2.3. Порядок выполнения лабораторной работы
- •2.4. Содержание отчета о выполненной работе
- •2.5. Контрольные вопросы
- •Лабораторная работа № 3 Исследование конфликтов при работе конвейера
- •3.1. Общие вопросы
- •3.1.1. Структурные конфликты
- •3.1.2. Конфликты по данным
- •3.1.3. Конфликты по управлению
- •3.2. Порядок работы с программой имитационного моделирования
- •3.3. Порядок выполнения лабораторной работы
- •2) С одинаковым количеством команд, изменяющейся длительностью первого этапа и постоянным положением начала "пузыря " в конвейере.
- •3) С одинаковым количеством команд, изменяющейся длительностью последнего этапа и постоянным положением начала "пузыря " в конвейере.
- •3.4. Содержание отчета о выполненной работе
- •3.5. Контрольные вопросы
- •Лабораторная работа № 4 Принципы организации и функционирования систолических массивов
- •4.1. Общие сведения
- •4.2. Пример применения систолического массива
- •4.3. Описание работы с программой имитационного моделирования
- •4.3.1. Запуск программы
- •4.3.2. Пункт меню «Создание конфигурации»
- •4.3.3. Пункт меню «Моделирование работы»
- •4.4. Модель систолического массива
- •4.5. Расчет контрольного примера
- •4.6. Порядок выполнения лабораторной работы
- •4.7. Варианты заданий
- •4.8. Содержание отчета о выполненной работе
- •4.9. Контрольные вопросы
- •Содержание
1.4. Содержание отчета о выполненной работе
Отчет должен содержать следующие разделы:
1. Название и цель работы.
2. Исходные данные.
3. Схемы прохождения данных для заданных таблиц занятости.
4. Результаты моделирования статического и динамического конвейеров.
1.5. Контрольные вопросы
1. Какие условия должны выполняться для эффективной реализации конвейера?
2. В чем состоят принципы разбиения вычислительного процесса на последовательные составляющие?
3. Что называется ступенью конвейера?
4. Что отображает таблица занятости?
5. Какая ситуация в конвейере называется столкновением?
6. Что такое стратегия управления конвейером?
7. Какую информацию содержит диаграмма состояний?
8. Чем отличается статический конвейер от динамического?
Лабораторная работа № 2
Оценка производительности конвейерного процессора
Цель работы. Изучение принципов работы конвейера команд с помощью имитационной модели
2.1. Общие сведения
Выполнение каждой команды складывается из ряда последовательных этапов (шагов, стадий), суть которых не меняется от команды к команде. С целью увеличения быстродействия процессора и максимального использования всех его возможностей в современных микропроцессорах используется конвейерный принцип обработки информации. Этот принцип подразумевает, что в каждый момент времени процессор работает над различными стадиями выполнения нескольких команд, причем на выполнение каждого шага выделяются отдельные аппаратные ресурсы. По очередному тактовому импульсу каждая команда в конвейере продвигается на следующую стадию обработки, выполненная команда покидает конвейер, а новая поступает в него.
В различных процессорах количество и содержание этапов различаются. Рассмотрим принципы конвейерной обработки на примере пятиступенчатого конвейера, в котором выполнение команды складывается из следующих этапов:
1) IF (Instruction Fetch) – считывание (выборка) команды в процессор;
2) ID (Instruction Decoding) – декодирование команды;
3) OR (Operand Reading) – считывание операндов:
4) EX (Executing) – выполнениен команды;
5) WB (Write Back) – запись результата.
Выполнение команд в таком конвейере представлено в таблице 2.1.
-
Таблица 2.1.
Команда
Такт
1
2
3
4
5
6
7
8
9
i
IF
ID
OR
EX
WB
i+1
IF
ID
OR
EX
WB
i+2
IF
ID
OR
EX
WB
i+3
IF
ID
OR
EX
WB
i+4
IF
ID
OR
EX
WB
Из рисунка видно, что результат первой команды будет получен после пятого такта, второй после шестого, второй после шестого, а третий после седьмого и т.д.
Пусть для выполнения отдельных стадий обработки требуются следующие затраты времени (в некоторых условных единицах):
TIF = 20, TID = 15, TOR = 20, TEX = 25, TWB = 20.
Тогда, предполагая, что дополнительные расходы времени составляют t = 5 единиц, получим время такта:
T= max { TIF, TID, TOR, TEX, TMB} + t = 30.
Оценим время выполнения одной команды и некоторой группы команд при последовательной и конвейерной обработке.
При последовательной обработке время выполнения N команд составит:
ТПОСЛ = N ( TIF + TID + TOR + TEX + TMB) = 100 N
Анализ таблицы 2.1. Показывает, что при конвейерной обработке после того, как получен результат выполнения первой команды, результат очередной команды появляется в следующем такте работы процессора. Следовательно,
ТКОНВ = 5 T + (N -1) T.
Примеры длительности выполнения некоторого количества команд при последовательной и конвейерной обработке приведены в таблице 2.2.
Таблица 2.2.
Количество команд |
Время | |
при последовательном выполнении |
при конвейерном выполнении | |
1 |
100 |
150 |
2 |
200 |
240 |
10 |
1000 |
420 |
100 |
10000 |
3120 |
|
|
|
Очевидно, что при достаточно длительной работе конвейера его быстродействие будет существенно превышать быстродействие, достигаемое при последовательной обработке команд. Это увеличение будет тем больше, чем меньше длительность такта конвейера и чем больше количество выполненных команд. Сокращение длительности такта достигается, в частности, разбиением выполнения команды на большее число этапов, каждый из которых включает в себя относительно простые операции и поэтому может выполнять за короткий промежуток времени. Так, если в микропроцессоре Pentium длина конвейера составляла 5 ступеней, то Pentium-4 – уже 20 ступеней.