
- •Содержание
- •Задание к курсовому проекту
- •Введение
- •Простой пятиуровневый конвейер в risc-процессорах
- •История
- •Тактовый генератор
- •Конфликт конвейера
- •Бесконвейерная архитектура
- •Преимущества и недостатки
- •Общий конвейер
- •Общий четырёхуровневых конвейер; цветные квадраты символизируют независимые друг от друга инструкции
- •«Пузырек»
- •Пузырек в третьем такте обработки задерживает исполнение
- •Трудности
- •Граф информационных связей линейного конвейера
- •Операционная схема линейного конвейерного устройства
- •Управляющий автомат линейного конвейерного устройства
- •Гса линейного конвейерного устройства в закодированном виде
- •Граф информационных связей конвейерного устройства
- •Операционная схема конвейерного устройства с обратными связями
- •Сокращенная таблица занятости
- •Полная таблица занятости
- •Граф-схема алгоритма (гса) в закодированном виде
- •Граф-схема алгоритма в закодированном виде
- •Формат микропрограммы
- •Формат микропрограммы
- •Микропрограмма для управляющего автомата
- •Принципиальная схема вычислителя
- •Принципиальная схема конвейерного устройства в визуальном редакторе среды Quartus II Выводы
- •Список использованной литературы
Преимущества и недостатки
Конвейер помогает не во всех случаях. Существует несколько возможных минусов. Конвейер инструкций можно назвать «полностью конвейерным», если он может принимать новую инструкцию каждый машинный цикл. Иначе в конвейер должны быть вынужденно вставлены задержки, которые выравнивают конвейер, при этом ухудшат его производительность.
Преимущества:
Время цикла процессора уменьшается, таким образом увеличивая скорость обработки инструкций в большинстве случаев.
Некоторые комбинационные логические элементы, такие как сумматоры или умножители могут быть ускорены путем увеличения количества логических элементов. Использование конвейера может предотвратить ненужное наращивание количества элементов.
Недостатки:
Бесконвейерный процессор исполняет только одну инструкцию за раз. Это предотвращает задержки веток инструкций (фактически, каждая ветка задерживается), и проблемы, связанные с последовательными инструкциями, которые исполняются параллельно. Следовательно, схема такого процессора проще и он дешевле для изготовления.
Задержка инструкций в бесконвейерном процессоре слегка ниже, чем в конвейерном эквиваленте. Это происходит из-за того, что в конвейерный процессор должны быть добавлены дополнительные триггеры.
У бесконвейерного процессора скорость обработки инструкций стабильна. Производительность конвейерного процессора предсказать намного сложнее, и она может значительно различаться в разных программах.
Общий конвейер
Общий четырёхуровневых конвейер; цветные квадраты символизируют независимые друг от друга инструкции
Сверху изображён общий конвейер с четырьмя стадиями работы:
Получение (Fetch)
Раскодирование (Decode)
Выполнение (Execute)
Запись результата (Write-back)
Верхняя серая область — список инструкций, которые предстоит выполнить. Нижняя серая область — список инструкций, которые уже были выполнены. И средняя белая область является самим конвейером.
Выполнение представлено в таблице 1.
Выполнение операций на конвейере
Цикл |
Действия |
0 |
Четыре инструкции ожидают исполнения |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
Все инструкции были выполнены |