Конвейерная обработка влияет на время часов или цикл на инструкцию (ИПЦ)? - PullRequest
0 голосов
/ 02 декабря 2018

В моей книге упоминается "В зависимости от того, что вы считаете базовой линией, сокращение можно рассматривать как уменьшение количества тактов на инструкцию (ИПЦ), как уменьшение времени такта или как комбинацию. Если начальная точкаЭто процессор, который принимает несколько тактов на команду, тогда конвейерная обработка обычно рассматривается как снижение CPI. "

Что я не понимаю, так это то, что конвейерная обработка влияет на CPI или тактовый период, потому что в случае конвейерной синхронизации тактовый период принимается за максимальную задержку этапа + задержка защелки, поэтому конвейерная обработка влияет на тактовое время.Также это влияет на ИПЦ, потому что он становится равным 1 в случае конвейерной обработки.Мне не хватает какой-то концепции?

1 Ответ

0 голосов
/ 21 декабря 2018

Выполнение инструкции требует набора операций.Для простоты предположим, что существует 5: выборка-инструкция-декодирование-выполнение-доступ к памяти и обратная запись.

Это может быть реализовано несколькими схемами.

Процессор A / Mono-цикла

Схема следующая: процессор выбирает инструкцию, направляет ее в декодер, который управляет банком мультиплексоров, который настроит большой комбинаторный канал данных, который будет реализовывать инструкцию.

В этой модели каждая инструкция требует один цикл, и, если все 5 «этапов» требуют одинакового времени t, период будет 5t.Следовательно, CPI = 1, T = 5

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

B / Многоцилиндровый процессор

По сравнению с предыдущей моделью вы вводите регистры в канале данных.Сначала выбирают инструкцию и отправляют ее на входы автомата, который будет последовательно применять вычислительные «этапы».

В этом случае инструкции требуют 5 циклов (возможно, немного меньше, поскольку некоторые инструкции могут быть проще и,например, пропустить доступ к памяти).Период равен 1 т (или, может быть, немного больше, чтобы учесть время обхода регистров).

CPI = 5, T = 1

Первые «настоящие» компьютеры были реализованы таким образом, и это былоОсновная архитектурная модель до начала 80-х годов.В настоящее время несколько микроконтроллеров или, например, более простая версия NIOS, все еще полагаются на эту схему.

C / конвейер процессора

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

CPI становится равным 1, поскольку вы можете запускать новую инструкцию на каждом тактовом цикле (возможно, немного больше, потому чтоиз опасностей, но это уже другая история).И T = 1.

То есть CPI = 1, T = 1

(CPI отражает увеличение пропускной способности, но время выполнения одной инструкции не уменьшается)

Таким образом, конвейер можно рассматривать как либо сокращение времени цикла по схеме A, либо снижение CPI по сравнению со схемой B. И вы также можете представить промежуточную схему (скажем, 3 этапа с периодом 2), где конвейер сократит оба.

...