- •Организация эвм
- •1. Принципы джона фон нейман. Поколения эвм
- •1.1. Принципы Джона фон Нейман
- •1.2. Поколения эвм: от ламп к интегральным микросхемам
- •1.2.1. Первое поколение эвм (1948 — 1958гг.)
- •1.2.2. Второе поколение эвм (1959 — 1967 гг.)
- •1.2.3. Третье поколение эвм (1968 — 1973 гг.)
- •Четвертое и пятое поколения эвм (1974 — настоящее время)
- •2. Архитектура технических средств
- •2.1.Микропроцессор
- •2. Краткие сведения об остальных компонентах компьютера
- •2.3. Функциональное назначение
- •2.4. Использование разъемов расширения
- •2.5. Совместимость блоков расширения
- •3. Классификация компьютеров по областям применения
- •3.1. Персональные компьютеры и рабочие станции
- •3.3. Серверы
- •3.4. Мейнфреймы
- •3.5. Кластерные архитектуры
- •4. Система прерываний
- •4.1. Общие сведения
- •4.2. Обработка прерываний.
- •4.3. Программирование контроллера прерываний
- •4.4. Обработка прерываний в реальном режиме
- •5. Иерархия памяти
- •5.1. Организация кэш-памяти
- •5.1.1. Где может размещаться блок в кэш-памяти?
- •5.1.2. Как найти блок, находящийся в кэш-памяти?
- •5.1.3. Какой блок кэш-памяти должен быть замещен при промахе?
- •5.1.4. Что происходит во время записи?
- •5.2.2. Развитие оперативной памяти
- •5.2.3. Установка оперативной памяти
- •5.3. Виртуальная память и организация защиты памяти
- •5.3.1. Концепция виртуальной памяти
- •5.3.2. Страничная организация памяти
- •5.3.3 Сегментация памяти
- •6. Организация ввода/вывода
- •6.1. Системные и локальные шины
- •6.2. Стандарты шин
- •6.3. Устройства ввода/вывода
- •6.3.1. Магнитные и магнитооптические диски
- •6.3.2. Дисковые массивы и уровни raid
- •6.3.3. Устройства архивирования информации
- •7. Многопроцессорные и многомашинные системы
- •7.1. Классификация эвм параллельной обработки
- •7.2. Модели связи и архитектуры памяти
- •8. Конвейерная обработка
- •8.1. Параллелизм и конвейеризация
- •8.2. Оценка производительности идеального конвейера
- •8.3. Конфликты в конвейере и способы минимизации их влияния на производительность процессора
- •8.3.1. Структурные конфликты
- •8.3.2. Конфликты по управлению
- •8.3.3. Конфликты по данным
- •9. Периферийные устройства
- •9.1. Принтеры
- •9.2. Мыши
- •9.3. Модемы
- •9.4. Сканеры
- •9.5. Накопители на жестких магнитных дисках
- •9.6. Накопители на гибких магнитных дисках
- •9.7. Накопители на компакт-дисках
- •9.8. Магнитооптические диски
- •9.9. Стримеры
- •9.10. Дигитайзеры
- •9.11. Плоттеры
- •9.12 Видеобластеры
- •9.13. Звуковые платы
- •9.14. Акустические системы
- •9.15. Трекболы
- •9.16 Джойстики
- •9.17. Источники бесперебойного питания.
- •Оглавление
8.2. Оценка производительности идеального конвейера
Выполнение каждой команды складывается из ряда последовательных этапов (шагов, стадий), суть которых не меняется от команды к команде. Принцип конвейерной обработки информации подразумевает, что в каждый момент времени процессор работает над различными стадиями выполнения нескольких команд, причем на выполнение каждой стадии выделяются отдельные аппаратные ресурсы. По очередному тактовому импульсу каждая команда в конвейере продвигается на следующую стадию обработки, выполненная команда покидает конвейер, а новая поступает в него.
В различных процессорах количество и суть этапов различаются. Рассмотрим принципы конвейерной обработки информации на примере пятиступенчатого конвейера, в котором выполнение команды складывается из следующих этапов:
1) IF (Instruction Fetch) – считывание команды в процессор;
2) ID (Instruction Decoding) – декодирование команды;
3) OR (Operand Reading) – считывание операндов;
4) EX (Executing) – выполнение команды;
5) WB (Write Back) – запись результата.
Выполнение команд в таком конвейере представлено в таблице 8.1.
Так как в каждом такте могут выполняться различные стадии обработки команд, то длительность такта выбирается исходя из максимального времени выполнения всех стадий. Кроме того, следует учитывать, что для передачи команды с одной стадии на другую требуется определенное дополнительное время (Δt), связанное с записью промежуточных результатов обработки в буферные регистры.
Таблица 8.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 |
Очевидно, что при достаточно длительной работе конвейера его быстродействие будет существенно превышать быстродействие, достигаемое при последовательной обработке команд. Это увеличение будет тем больше, чем меньше длительность такта конвейера и чем больше количество выполненных команд. Сокращение длительности такта достигается, в частности, разбиением выполнения команды на большое число этапов, каждый из которых включает в себя относительно простые операции и поэтому может выполняться за короткий промежуток времени. Так, если в микропроцессоре Pentium длина конвейера составляла 5 ступеней (при максимальной тактовой частоте 200 МГц), то в Pentium-4 – уже 20 ступеней (при максимальной тактовой частоте на сегодняшний день 3,4 ГГц).