В чем разница между конвейером и полосой с точки зрения архитектуры процессора? - PullRequest
1 голос
/ 10 марта 2019

Я недавно читаю книгу "Компьютерная архитектура: количественный подход" Джон Л. Хеннесси и Дэвид А. Паттерсон .
Я считаю, что термин «Переулок» широко используется в главе 4, но не определен явно и формально.

Первое место, которое появляется, выглядит следующим образом:
"Все современные векторные компьютеры имеют векторные функциональные блоки с несколькими параллельными конвейерами (или дорожками), которые могут давать два или более результатов за такт ..." на стр. 290 (6-я версия).

Я немного запутался в терминах "Лейн" и "трубопровод". Это одно и то же?

Ответы [ 2 ]

1 голос
/ 10 марта 2019

«Переулок» в этом контексте является элементом SIMD. (Они говорят о векторных исполнительных блоках, , а не суперскалярных ЦП, которые выполняют более одной команды параллельно по «конвейеру» всего ЦП. На практике у вас есть оба)

например. x86 SSE addps xmm0, xmm1 выполняет 4x добавления float32 с одной инструкцией, обрабатывая регистры XMM как 4 полосы 32-битного float.

Он работает на исполнительном блоке SIMD, в котором параллельно установлены 4 FP-сумматора одинарной точности. Этот исполнительный блок передается по конвейеру, обычно с задержкой в ​​3 или 4 такта и пропускной способностью 1 / такт.

В этом случае ваш учебник говорит о конвейере (ах) внутри одного исполнительного блока. Что касается конвейерной обработки, то она мало чем отличается от операции и от того, будет ли она 4х 32-битной или 2х 64-битной или какой-либо другой. В буферах между этапами конвейера нужно фиксировать определенное количество бит, и защелки на самом деле не заботятся о том, как это интерпретируется.

0 голосов
/ 10 марта 2019

Сначала убедитесь, что вы понимаете, что такое конвейерная обработка .

Конвейер - это метод реализации, в котором несколько команд перекрываются при выполнении. Компьютерный конвейер разделен на этапы. Каждый этап завершает часть инструкции параллельно. Этапы соединены одна с другой, чтобы сформировать канал - инструкции входят на одном конце, проходят через этапы и выходят на другом конце.

В вашем сценарии наличие нескольких полос на дороге увеличит пропускную способность автомобиля . У вас будет больше машин до конечного пункта назначения. Тем не менее, скорость вашего автомобиля будет такой же. То же самое и с конвейерной обработкой.

Конвейерная обработка не уменьшает время выполнения отдельной инструкции. Вместо этого он увеличивает пропускную способность команды . Пропускная способность конвейера команд определяется тем, как часто инструкция выходит из конвейера.

Проверьте этот сайт для получения дополнительной информации.

enter image description here

...