- •Понятие конвейерной обработки. Организация конвейера.
- •Классификация конвейерных устройств.
- •Показатели эффективности конвейеров.
- •Конвейерное выполнение команд. Командный конвейер.
- •Организация скалярного конвейерного процессора.
- •Конфликты в командном конвейере.
- •Структурные конфликты и способы их минимизации.
- •Совершенствование структуры процессора путем введения буферных зу.
- •Конфликты по данным и способы их минимизации.
- •Конфликты по управлению и способы их минимизации.
- •Предсказание переходов.
- •Суперконвейерные процессоры.
- •Сisc-архитектура.
- •13 Обработка сложных команд
- •15 Risc-архитектура.
- •16 Суперскалярный параллелизм. Суперскалярная обработка.
- •Cуперскалярные процессоры.
- •18Процессоры с vliw архитектурой.
- •19.Процессоры с epic-архитектурой.
Показатели эффективности конвейеров.
Конвейерное выполнение команд. Командный конвейер.
В компьютерных системах с одиночным потоком команд имеется единственный поток управляющей информации, и выполнение машинных команд осуществляется последовательно, т.е. организация таких систем последовательная – в каждый момент времени выбирается на выполнение только одна машинная команда. Быстродействие системы ограничено ее последовательной сущностью и определяется временем выполнения каждой команды.
В любой системе машинная команда проходит ряд последовательных этапов обработки:
Организация скалярного конвейерного процессора.
Конвейерным называется процессор, в котором используется конвейерное выполнение команд. Скалярным называется такой конвейерный процессор, в котором в каждом машинном цикле запускается на выполнение только одна машинная команда.
О рганизацию скалярного конвейерного процессора рассмотрим на примере наиболее распространенного конвейера – конвейера микропроцессоров с CISC-архитектурой (за прототип взят конвейер микропроцессора Pentium фирмы Intel).
Основу скалярного конвейерного процессора (рис. 12) составляют конвейер целочисленных операций (целочисленный конвейер) и конвейер операций с плавающей запятой (конвейер ПЗ).
Целочисленный конвейер содержит следующие ступени (всего пять ступеней):
1) ступень предварительной выборки PF (Prefetch). На этой ступени машинные команды выбираются из кэша команд (памяти);
2) ступень декодирования полей команды D1 (Decode 1). На этой ступени декодируются поля команды, определяются операция, подлежащая выполнению, и местоположение операндов;
3) ступень декодирования D2 (Decode 2) – ступень генерации адреса. На этой ступени производится вычисление эффективного адреса операнда, расположенного в памяти;
4) ступень исполнения EX (Execution). На этой ступени производится выборка операндов из РОН и кэша данных (памяти), выполнение операции в АЛУ и запись в кэш данных (память);
5) ступень записи результата WB (Write Back). На этой ступени производится обратная запись результата в РОН, модификация состояния процессора и завершение выполнения команды.
Конвейер ПЗ содержит восемь ступеней. При этом он имеет общие с целочисленным конвейером ступени PF, D1 и D2, но, кроме того, включает еще пять дополнительных ступеней (переход показан пунктирной стрелкой):
1) ступень EX. На этой ступени производится чтение из кэша данных (памяти) или регистра или запись в кэш данных (память);
2) первая исполнительная ступень X1. На этой ступени выполняется фаза 1 операции с плавающей запятой или запись в РОН ПЗ. С этой ступени возможен обход на ступень EX;
3) вторая исполнительная ступень X2. На этой ступени выполняется фаза 2 операции с плавающей запятой;
4) ступень WF. На этой ступени производится округление и обратная запись результата в РОН ПЗ. С этой ступени возможен обход на ступень EX;
5) ступень ER. На этой ступени выводится сообщение о наличии ошибок.