Планирование выполнения инструкций для векторных процессоров с переменной длиной векторов Пантелеев Алексей Юрьевич Национальный исследовательский ядерный.

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



Advertisements
Похожие презентации
Применение конвертируемых режимов адресации для повышения производительности сопроцессоров цифровой обработки сигналов в составе многоядерной СнК Пантелеев.
Advertisements

Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
1 Лекция 4 ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ ОРГАНИЗАЦИЯ ЭВМ Информатика 2 Министерство образования и науки Российской Федерации Казанский государственный технический.
Учебный курс Введение в цифровую электронику Лекция 5 Обмен информацией в микропроцессорной системе кандидат технических наук, доцент Новиков Юрий Витальевич.
RISC-архитектуры ( Reduced Instruction Set Computer)
Процессор – это блок, предназначенный для автоматического считывания команд программы, их расшифровки и выполнения.
Пятое Поколение и Суперкомпьютеры. Основные требования к компьютерам 5-го поколения: Создание развитого человеко-машинного интерфейса (распознавание речи,
Схема предсказания исключительной ситуации «потеря точности» в модуле операции «умножение с накоплением» Ивасюк Евгений Вячеславович Научно-исследовательский.
1 Лекция 3 ЭВМ – средство обработки информации. Комбинационные схемы и конечные автоматы. Информатика 2 Министерство образования и науки Российской Федерации.
Архитектуры высокопроизводительной системы является достаточно широким, поскольку под архитектурой можно понимать и способ параллельной обработки данных,
1 ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒАЛЫМ МИНИСТРЛІГІ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН - 2 Аршалы орта мектебі Аршалынская средняя.
Архитектура микропроцессоров И ее эволюция. Процессор и память: Команды и данные.
Архитектура персонального компьютера Подготовила урок учитель математики средней общеобразовательной школы 8 с углубленным изучением отдельных предметов.
Интернет Университет Суперкомпьютерных технологий Лекция 1 Основные понятия Учебный курс Введение в параллельные алгоритмы Якобовский М.В., д.ф.-м.н. Институт.
Системы с несколькими конвейерами В процессорах Intel конвейер появился только начиная с 486 модели. Но уже в Pentium-е было два конвейера из 5 стадий:
1 Массивы 2 Опр. Массивом называется совокупность однотипных данных, связанных общим именем. Основные характеристики массива: 1. Имя массива 2. Тип компонентов.
Таксономия (Классификация) Флинна Дораж Е.М. ИСп-32.
Магистрально- модульный принцип строения компьютера 10 класс (информационно-технологический профиль)
Лекция 6. Способы адресации в микропроцессорных системах.
Транксрипт:

Планирование выполнения инструкций для векторных процессоров с переменной длиной векторов Пантелеев Алексей Юрьевич Национальный исследовательский ядерный университет «МИФИ»

Векторные инструкции (SIMD) применяются во многих современных процессорах – MMX, SSE, AVX (X86) – AltiVec (PowerPC) – NEON (ARM) Повышают производительность – Явно параллельная обработка массивов данных Повышают энергоэффективность – Планирование выполнения одной инструкции вместо цикла Введение 2

Длина (размерность) векторов 3

Переменная длина векторов 4

Следующие инструкции используют результаты выполнения предыдущих C = A × B; E = C + D; Когда запускать следующую инструкцию? – Слишком ранний запуск приведет к функциональным ошибкам – Слишком поздний запуск приведет к потере производительности – Существуют простые решения для скалярных и фиксированных векторных инструкций Зависимые инструкции 5

Простейшее решение 6

Ранний запуск 7

Зацепление 8 Требует выполнения зависимых инструкций на разных функциональных устройствах. В данной работе не используется.

Одно функциональное устройство – Невозможно использовать зацепление – Поддерживает различные вычислительные операции – Запуск операции – 1 или 2 такта – Длинный конвейер – от 2 до 24 стадий Память: два порта чтения, один порт записи – Операции имеют до трех операндов (например, MAD) – Чтение операндов – от 1 до 3 тактов, зависит от расположения данных Переменная длина векторов Требуется высокая производительность Конкретная задача 9

Подготовить план чтения операндов заранее – «На первом такте прочитать операнд А с первого порта» и т.п. Рассчитать время запуска инструкции – Учесть различные планы для данной и предыдущих инструкций В нужное время выполнить план для всех векторных элементов последовательно Решение 10

Структурная схема планировщика 11

Основной блок планировщика Каждая запись в таблице: – Содержит конечный автомат и несколько регистров для расчета времени – Представляет одну инструкцию, находящуюся в конвейере – Может блокировать выполнение других инструкций, если есть неразрешенная RAW-зависимость Достаточно 4-8 записей, в зависимости от максимальной глубины конвейера и типичной длины векторов Таблица зависимостей 12

Пример расчета времени 13 CPE = Cycles Per Element для зависимых инструкций с разной скоростью выполнения

Простая тестовая программа: a = a + const; b = b + const; c = c + const; (NI операций) a = a + const; b = b + const; c = c + const; … Аналитический расчет времени выполнения: – T Overall = max (T Issue, T Latency, T Control, T Scoreboard ) – Подробные формулы приведены в печатном варианте доклада Экспериментальная производительность в 97% случаев отличается от теоретической не более чем на 3% Производительность 14

Производительность 15

Ускорение от раннего запуска 16

Представлен способ планирования инструкций для векторных процессоров с переменной длиной векторов: – Поддерживаются зависимые инструкции с разной скоростью выполнения и разной длиной конвейера – Применение раннего запуска повышает производительность на 10 – 90% при использовании коротких векторов Может применяться в сопроцессорах, предназначенных для быстрой обработки небольших вычислительных задач (например, при цифровой обработке сигналов) Заключение 17

Вопросы? Адрес для связи: Спасибо за внимание! 18