os2016-24-03-dist
.pdfМинимизация ошибок предсказания переходов
•Размещать наиболее вероятные ветви в начале ветвлений
•Выносить выше (по уровню вложенности в циклах) инвариантные ветвления
•Использовать разворачивание циклов
|
Архитектура Intel от i386 до Xeon Phi: |
|
Нижний Новгород 2014 |
процессоры, производительность, |
51 из 66 |
|
энергопотребление |
|
Суперскалярность
•Если инструкции, обрабатываемые конвейером, не противоречат друг другу, и ни одна не зависит от результата другой, то они могут быть выполнены параллельно
•Суперскалярность — запуск на выполнение нескольких инструкций за один такт для использование нескольких исполнительных блоков на различных стадиях конвейера
•Используются несколько декодеров инструкций
•Планирование исполнения потока инструкций является динамическим
•Основывается либо на анализе зависимостей между инструкциями
|
Архитектура Intel от i386 до Xeon Phi: |
|
Нижний Новгород 2014 |
процессоры, производительность, |
52 из 66 |
|
энергопотребление |
|
Внеочередное исполнение
(Out-of-order execution)
•Инструкции поступают в исполнительные модули не в порядке их следования, а по готовности к выполнению
•Позволяет избежать простоя процессора в тех случаях, когда данные, необходимые для выполнения очередной инструкции, недоступны
•Суперскалярность может быть реализована без поддержки внеочередного исполнения
•Intel Pentium
|
Архитектура Intel от i386 до Xeon Phi: |
|
Нижний Новгород 2014 |
процессоры, производительность, |
53 из 66 |
|
энергопотребление |
|
Суперскалярность (Sandy Bridge) Out-of-Order Execution
(исполнение с изменением последовательности команд)
|
Архитектура Intel от i386 до Xeon Phi: |
|
Нижний Новгород 2014 |
процессоры, производительность, |
54 из 66 |
|
энергопотребление |
|
Суперскалярность (Sandy Bridge)
|
Архитектура Intel от i386 до Xeon Phi: |
|
Нижний Новгород 2014 |
процессоры, производительность, |
55 из 66 |
|
энергопотребление |
|
Pentium MMX (P55C/80503)
•Intel Pentium MMX (1996)
•Тактовая частота – 166 (300) МГц
•Производительность – ~500 MIPS
•Количество транзисторов – 4,5 млн.
•Площадь кристалла – 140 кв.мм
•Техпроцесс – 0,35 мкм
•Длина конвейера – 6
•Векторные команды (57)
•Длина вектора – 64 бита
•Кеш
•L1: 32 Кбайт (16 Kb Data + 16 Kb Code)
•Тепловыделение 13,1 – 17,9 Вт
Рисунок: http://en.wikipedia.org/wiki/File:P-MMX.JPG
|
Архитектура Intel от i386 до Xeon Phi: |
|
Нижний Новгород 2014 |
процессоры, производительность, |
56 из 66 |
|
энергопотребление |
|
Классификация Флинна
Data Stream
|
|
Single |
Multiple |
|
|
|
|
|
|
|
Single |
SISD |
SIMD |
|
Instruction Stream |
|
|
|
|
Multiple |
MISD |
MIMD |
||
|
||||
|
|
|
|
Flynn M.J. “Very High-Speed Computing System”, Proceedings IEEE, #54, 1966
|
Архитектура Intel от i386 до Xeon Phi: |
|
Нижний Новгород 2014 |
процессоры, производительность, |
57 из 66 |
|
энергопотребление |
|
Векторные операции…
•Вектор – набор однотипных данных (обычно
INT/FLOAT/DOUBLE-массив)
•Длина вектора – определяется архитектурой
•Позволяют за одну инструкцию выполнить арифметическую операцию над несколькими парами операндов
•Имеются унарные, бинарные и тернарные операции
•Использования векторизации
•Специальные директивы или intrinsic
•Автоматическая векторизация компилятором
|
Архитектура Intel от i386 до Xeon Phi: |
|
Нижний Новгород 2014 |
процессоры, производительность, |
58 из 66 |
|
энергопотребление |
|
Векторные операции
Нижний Новгород |
Архитектура Intel Xeon Phi |
59 из 45 |
|
2013 |
|||
|
|
Simultaneous Multi-Threading
Одновременная многопоточность
•При выполнении большинства операций оказываются полностью задействованными не все составные компоненты процессоров
•При использовании одновременной многопоточности на
одном конвейере выполняются несколько программных
потоков
•Процессор дополняется средствами запоминания состояния потоков, схемами контроля одновременного выполнения нескольких потоков и т. д.
•Одновременно выполняемые потоки конкурируют за исполнительные блоки единственного процессора, что приводит к возникновению структурных конфликтов
|
Архитектура Intel от i386 до Xeon Phi: |
|
Нижний Новгород 2014 |
процессоры, производительность, |
60 из 66 |
|
энергопотребление |
|