Слайды и текст доклада
Pic.1
Конвейер Характеристики: Латентность Пропускная способность Не конвейер Для быстрого выполнения малого количества операций Конвейер Для быстрого выполнения большого количества повторяющихся операций. …
Pic.2
Конвейер инструкций Стадии: Выборка инструкций. Выборка данных из регистров и декодирование инструкции. Исполнение инструкции (вычисление адреса). Обращение к памяти (загрузка и сохранение). Запись …
Pic.3
Диаграмма конвейерного исполнения
Pic.4
Что препятствует эффективному исполнению инструкций на конвейере? Зависимости между инструкциями. Наличие зависимостей приводит к возникновению конфликтов (hazard).
Pic.5
Конфликт Конфликты – это некоторая ситуация, при которой не возможно запустить следующую инструкцию непосредственно за предыдущий, не нарушив критерия сохранения корректности программы. Запуск …
Pic.6
Типы конфликтов. Структурные конфликты Разным инструкциям требуется доступ к одному ресурсу процессора. Конфликты по данным Следствие наличия зависимостей по данным именам. Конфликты по управлению …
Pic.7
Конфликты по данным. RAW (read after write). Чтение поле записи. i. R2 <- R1 + R3 j. R4 <- R2 + R3 Возможен для скалярных и суперскалярных конвейерных процессоров. WAR (write after read) Запись …
Pic.8
Способы разрешения конфликтов. Программные Обнаружение конфликтов в процессе компиляции и добавление инструкций nop. Статическое планирование конвейера. Аппаратные Добавление устройства обнаружения …
Pic.9
Структурные конфликты и механизмы их устранения.
Pic.10
Структурные конфликты и механизмы их устранения.
Pic.11
Структурные конфликты и механизмы их устранения. Второй способ устранения приводит к добавлению второго канала к памяти, разделению общего кэша на кэш данных и кэш инструкций.
Pic.14
Устранение RAW конфликтов методом bypass Метод Bypass сводиться к возможности передачи данных между стадиями конвейера напрямую. Вход стадии может быть соединен с выходом любой последующей стадии.
Pic.15
Пример механизма bypass.
Pic.16
Аппаратные изменения для работы bypass
Pic.17
Ограничения bypass (проблема загрузки)
Pic.18
Ограничения bypass Данные могут быть переданы на другую стадию, только в том случае, если они реально существуют. Необходимым и достаточным условием работы bypass механизма является наличие требуемых …
Pic.19
Решение проблемы загрузки остановкой конвейера
Pic.20
Статическое планирование конвейера Это программный подход, который сводиться к перестановке инструкций внутри программы для того, чтобы минимизировать количество тактов простоя конвейера.
Pic.21
Конфликт управления
Pic.22
Как уменьшить количество тактов простоя
Pic.23
Динамическое планирование исполнения инструкций Идея динамического планирования в том, что инструкции запускаются не по порядку их следования в программе, а по мере готовности их операндов и …
Pic.24
Конфликты связанные с внеочередным исполнением Пример: DIV. D F0,F2,F4 ADD. D F6,F0,F8 SUB. D F8,F10,F14 MULT. D F6,F10,F8 Несмотря на то, что 3,4 инструкции не зависят по данным от 1,2 они не могут …
Pic.25
Неточное исключения Это исключение – которое сгенерировано не в своем регистровом контексте. Возникает при внеочередном исполнении инструкций. Причины: На конвейере уже выполнилась инструкция, …
Скачать презентацию
Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!