Многократное декодирование команд

advertisement
Технологии повышения
производительности
ЭВМ
• В каждый момент времени процессор работает
над
различными
стадиями
выполнения
нескольких команд, причем на выполнение
каждой
стадии
выделяются
отдельные
аппаратные ресурсы.
• По очередному тактовому импульсу каждая
команда в конвейере продвигается на следующую
стадию обработки, выполненная команда
покидает конвейер, а новая поступает в него
Конвейерный принцип
обработки информации
1. Обработка команды разделяется на
отдельные независимые шаги.
2. Вводятся
специальные
буферные
запоминающие устройства в качестве
посредников между блоками.
необходимые
принципиальные изменения в
конструкцию процессора
• IF (Instruction Fetch) – считывание команды в
процессор;
• ID (Instruction Decoding) – декодирование
команды;
• OR (Operand Reading) – считывание операндов;
• EX (Executing) – выполнение команды;
• WB (Write Back) – запись результата.
Основные этапы работы
конвейера процессора
структура четырехступенчатого
конвейера
Последовательность команд на
четырехступенчатом конвейера
Причины задержки конвейера:
• задержка работы устройств —
выполнение некоторых шагов более
чем за один такт;
• конфликт по ресурсам;
• явный конфликт по данным;
• скрытый конфликт по данным
(побочные эффекты).
Задержки конвейера
Задержка работы устройств
• Увеличение размеров буфера В1 и организация в нем очереди
команд.
• Разработка процессоров с несколькими конвейерами команд.
• Разработка процессоров с такой системой команд, в которой
все операции выполняются за равное число тактов (RISCпроцессоры) или процессоров с RISC-ядром.
Задержка работы устройств и
методы борьбы с ними
Конфликты по ресурсам
• число конфликтов уменьшается с введением
раздельных кэшей данных и команд;
• в процессорах с двумя портами регистров
можно одновременно обращаться к двум
регистрам;
• расслоение памяти создает возможность
одновременного обращения к ячейкам из
разных блоков.
Меры по уменьшению числа
конфликтов по ресурсам
Конфликт по данным типа
"чтение после записи"
• изменение порядка следования команд на
такой, при котором команды, имеющие
зависимость по данным, не стоят рядом
• вставка компилятором между зависимыми
командами одной или нескольких команд
NOP (нет операции) — команды, не
делающие ничего
программные приемы
предотвращения конфликтов
по данным
программные методы
предотвращения конфликтов
по данным
Аппаратный метод
предотвращения конфликтов:
продвижение операндов
Пятишаговый конвейер
Скрытые конфликты по
данным
Суперскаляризация
• Для расширения вычислительных возможностей
центрального
процессора
—
выполнения
арифметических операций, вычисления основных
математических функций (тригонометрических,
показательных, логарифмических) и т. д. — в состав
ЭВМ добавляется математический сопроцессор.
• В разных поколениях процессоров он назывался поразному — FPU (Floating Point Unit — блок
чисел/операций с плавающей точкой — БПЗ) или
NPX (Numeric Processor extension — числовое
расширение процессора).
Сопроцессоры
В 1980-е годы соответствие между типом ЭВМ и ее
разрядностью имело простейший вид:
• микроЭВМ — 8 разрядов;
• мини-ЭВМ — 16 разрядов;
• большие ЭВМ — 32 разряда;
• сверхбольшие (супер) ЭВМ — 64 разряда.
В настоящее время:
• 32 разряда (IA-32)
• 64-разрядные архитектуры в процессорах Intel и AMD:
• IA-64
• AMD64
• EM64T
Увеличение разрядности
систем
SIMD — поток данных, обрабатываемых одной
командой.
Процессоры, реализующие такую обработку,
именуют потоковыми процессорами. Могут
быть определены как однопотоковые (Singlestreaming
processor
—
SSP),
так
и
многопотоковые процессоры (Multi-Streaming
Processor — MSP)
Векторная обработка (SIMDкоманды)
Свойства, определившие выбор системы команд и
структуры данных:
• небольшая разрядность целочисленных данных
(например, 8-разрядные пиксели для графики или 16разрядное представление речевых сигналов);
• небольшая длина циклов, но большое число их
повторений;
• большой объем вычислений и значительный
удельный вес операций умножения и накопления;
• существенный параллелизм операций в программах.
MMX (MultiMedia extension)
Стек регистров с ПЗ и MMXрегистры
• Архитектура 3DNow!
• SSE (или SIMD-FP) — система команд Streaming
SIMD Extensions
• SSE2 — введенный с Pentium IV набор команд
является существенным развитием SSE
• SSE3 — набор команд, также известный как
Prescott New Instructions (PNI), является третьей
версией команд SSE для IA-32
Другие методы SIMD
расширения команд
Технология обработки данных процессором,
обеспечивающая более эффективную работу
процессора за счет манипулирования данными, а
не просто линейного исполнения списка
инструкций:
• предсказание ветвлений;
• внеочередное выполнение;
• переименование (ротация) регистров (register
rename);
• выполнение по предположению.
Динамическое исполнение
(dynamic execution technology)
Предикация
Опережающее считывание данных в регистры
ЦП из памяти (speculative loading)
•
•
•
•
Декодирование команд CISC/RISC в VLIW
Декодирование команд CISC VLIW в RISC
Макрослияние (macrofusion)
Микрослияние (micro-op fusion)
Многократное декодирование
команд
Технология Hyper-Threading (НТ)
Выполнение процессов Hyper-Threading на двухъядерном процессоре
Многоядерные процессоры
Download