Пересылка операндов - Operand forwarding
Пересылка операндов (или же пересылка данных) - оптимизация в конвейерной Процессоры ограничить снижение производительности, возникающее из-за стойла трубопроводов.[1][2] А опасность данных может привести к стойло трубопровода когда текущая операция должна дождаться результатов более ранней операции, которая еще не завершилась.
Пример
ДОБАВИТЬ A B C # A = B + CSUB D C A # D = C-A
Если эти двое сборка Команды псевдокода выполняются в конвейере, после выборки и декодирования второй инструкции конвейер останавливается, ожидая, пока результат сложения не будет записан и прочитан.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
Получить ДОБАВИТЬ | Декодировать ДОБАВИТЬ | Читать операнды ADD | Выполнить ДОБАВИТЬ | Напишите результат | |||
Получить SUB | Декодировать SUB | ларек | ларек | Читать операнды SUB | Выполнить SUB | Напишите результат |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
Получить ДОБАВИТЬ | Декодировать ДОБАВИТЬ | Читать операнды ADD | Выполнить ДОБАВИТЬ | Напишите результат | ||
Получить SUB | Декодировать SUB | ларек | Читать операнды SUB: использовать результат предыдущей операции | Выполнить SUB | Напишите результат |
В некоторых случаях все задержки из-за таких опасностей чтения после записи данных могут быть полностью устранены пересылкой операндов:[3][4][5]
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|
Получить ДОБАВИТЬ | Декодировать ДОБАВИТЬ | Читать операнды ADD | Выполнить ДОБАВИТЬ | Напишите результат | |
Получить SUB | Декодировать SUB | Читать операнды SUB: использовать результат предыдущей операции | Выполнить SUB | Напишите результат |
Техническая реализация
ЦП устройство управления должен реализовать логику для обнаружения зависимостей, в которых пересылка операндов имеет смысл. А мультиплексор затем можно использовать для выбора подходящего регистр или же резкий поворот читать операнд из.
Смотрите также
Рекомендации
- ^ "CMSC 411, лекция 19, Конвейерная передача данных". Университет Мэриленда, факультет информатики и электротехники округа Балтимор. Получено 2020-01-22.
- ^ «Высокопроизводительные вычисления, Примечания класса 11». hpc.serc.iisc.ernet.in. Сентябрь 2000 г. Архивировано с оригинал на 2013-12-27. Получено 2014-02-08.
- ^ Гурпур М. Прабху. «Учебник по компьютерной архитектуре». Разделы«Экспедирование». и«Классификация опасностей для данных».
- ^ Доктор Орион Лоулор.«Конвейерная обработка, остановка конвейера и пересылка операндов».
- ^ Ларри Снайдер.«Обзор трубопровода».
внешняя ссылка
Этот компьютерная инженерия -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |