Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.

Презентация:



Advertisements
Похожие презентации
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Advertisements

Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Архитектура микропроцессоров И ее эволюция. Процессор и память: Команды и данные.
Архитектура VLIW / EPIC Подстригайло Алена,
EPIC: Explicitly Parallel Instruction Computing (IA 64 )
Архитектура VLIW / EPIC. Классификация архитектур Скалярные С параллелизмом на уровне команд (ILP) СуперскалярныеVLIW / EPIC RISCCISC Itanium2 Эльбрус.
Типы компьютеров Complex Instruction Set Computer (CISC) – компьютер со сложным (полным) набором команд. Reduced Instruction Set Computer (RISC) – компьютер.
Архитектура P6. Начало разработки: 1990 год Цель: Достигнуть производительности большей, чем процессоры архитектуры P5 и процессоры конкурентов. Процессоры.
EPIC: Explicitly Parallel Instruction Computing (IA 64 )
МИКРОПРОЦЕССОРЫ С ЭЛЕМЕНТАМИ АРХИТЕКТУРЫ IA-64 Курсовая работа Желинского А.Н.
Современные микропроцессоры Тенденции развития. Рассматриваемые процессоры Intel Itanium 2 Intel Core 2 Duo IBM Cell.
Учебный курс Архитектура ЭВМ и язык ассемблера Лекция 9 заместитель министра связи и массовых коммуникаций РФ, старший преподаватель Северов Дмитрий Станиславович.
Современные микропроцессоры. Технология Hyper- Threading Главная цель применения Hyper-Threading не выполнение двух (нескольких) задач одновременно, а.
Примеры суперскалярных микропроцессоров. Pentium III.
Планирование выполнения инструкций для векторных процессоров с переменной длиной векторов Пантелеев Алексей Юрьевич Национальный исследовательский ядерный.
МультиТредовые архитектуры.
Оптимальное планирование инструкций для процессоров семейства IA-64 с использованием алгоритма A* Дипломная работа студента 545 группы Галанова Сергей.
Лекция 1. Архитектура и программирование массивно- параллельных вычислительных систем Summer of coding. CUDA course. Борисов Александр
Core 2 Duo Двухъядерная 64-битная архитектура –За основу ядра взято ядро Pentium Pro Широкое динамическое исполнение Разделяемый КЭШ 2го уровня Поддержка.
Организация ЭВМ и систем Кафедра Параллельных вычислений (ИВМиМГ) Маркова Валентина Петровна, Киреев Сергей Евгеньевич,
Транксрипт:

Введение в параллельную обработку

Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction Level Parallelism) Параллелизм потоков (TLP – Thread Level Parallelism) Многоядерность

Архитектуры с параллелизмом на уровне данных DLP –Data Level Parallelism

Параллелизм данных Векторные вычисления (SIMD) Единообразная обработка массивов данных

Параллелизм данных Векторно-конвейерные процессоры –Cray –Fujitsu VX/VP –NEC SX Векторные расширения –x86: MMX, 3DNow!, SSE, SSE2, … –PowerPC: AltiVec Перспективные векторные процессоры –STI Cell –Intel Larabee

Особенности векторно- конвейерных процессоров Большое число векторных регистров большого размера Множество различных конвейеров –Конвейер декодирования –Конвейер работы с памятью –Исполнительные конвейеры –… Конвейеры не прерываются, как при скалярном исполнении Сцепление конвейеров: Y = A * B + X C i = A i * B i Y i = C i + X i

Векторно-конвейерный процессор NEC SX-9 8 векторных конвейера По элементных векторных регистра Частота 3.2 GHz Производительность: более 100 GFLOPS Скалярный процессор 64-битный 4 команды/такт Частота 1.6 GHz

Векторные расширения скалярных архитектур Небольшая длина вектора: 64 B, 128 B Небольшое число векторных регистров: 8 – 32 Способы реализации –Векторные операции на скалярных регистрах MMX, 3DNow! Itanium –Разбиение на несколько скалярных операций (μops) SSE, SSE2 на P6, P7 –Исполнение на специальных векторных устройствах SSE, SSE2, … на Core2, Phenom

Перспективные векторные процессоры STI Cell 1 ядро общего назначения (PowerPC) 8 векторных ядер 128 векторных регистра Длина вектора 16 байт Intel Larabee (CPU+GPU) 8 – 48 ядер x86-подобной архитектуры Векторное расширение Длина вектора 64 байта

Архитектуры с параллелизмом на уровне команд ILP – Instruction Level Parallelism

Классификация архитектур Скалярные С параллелизмом на уровне команд (ILP) СуперскалярныеVLIW / EPIC RISCCISC Itanium2 Эльбрус 2000 Alpha Power, PowerPC SPARC MIPS x86 x86-64

ILP-архитектуры ILP-процессоры Имеют несколько исполнительных устройств Исполняют несколько команд одновременно Классификация ILP-архитектур Суперскалярные –Процессор ищет независимые команды и планирует поток вычислений VLIW / EPIC (Very Long Instruction Word / Explicitly Parallel Instruction Computing) –Компилятор ищет независимые команды и планирует поток вычислений

ILP-архитектуры СуперскалярнаяVLIW / EPIC

Способы повышения производительности Повышение темпа исполнения команд требует повышения темпа их доставки. Средства: –Спекулятивное исполнение команд SS: автоматический выбор способа предсказания перехода EPIC: способ предсказания перехода задает компилятор –Спекулятивная загрузка данных SS: проверка корректности автоматическая EPIC: проверка корректности по спец. команде –Разрешение ложных зависимостей по данным SS: переименование регистров EPIC: компилятор не допускает ненужных зависимостей –Оптимизация вызовов подпрограмм SS: регистровый стек управляется процессоров автоматически EPIC: регистровый стек управляется компилятором

Сравнение ILP-архитектур Суперскалярные Сложный конвейер Простой компилятор Меньше ресурсов процессора –Регистры –Исп. устройства –Кэш Меньше команд за такт: 3, 4, 5 (50%)

Архитектура суперскалярных процессоров

Суперскалярные процессоры реализуют динамическое исполнение команд –это средства, которые процессор использует динамически (в ходе исполнения) для увеличении темпа обработки команд: Предсказание переходов Переименование регистров Параллельное исполнение команд Исполнение команд вне порядка

Конвейер процессора Front-end Блок предварительной обработки Back-end Блок завершения Execution core Исполнительное ядро

Схема суперскалярного процессора

Процессор PowerPC 970FX

Конвейер процессора с внеочередным исполнением команд In-Order Front-end Блок упорядоченной предварительной обработки In-Order Back-end Блок порядоченного завершения Out-of-Order Execution core Исполнение вне порядка

Схема суперскалярного процессора с переупорядочением команд

Буфер переупорядочения команд Каждая микрооперация проходит через следующие стадии : 1.Находится в очереди планировщика, но ещё не готова к исполнению 2.Готова к исполнению (все аргументы операции вычислены) 3.Запущена на исполнение (диспетчеризована) 4.Исполнена и ждёт отставки либо отмены спекулятивной ветви 5.Находится в процессе отставки

Оценки производительности для различных архитектур