Jump to content

Циклов на инструкцию

(Перенаправлено из Цикла на инструкцию )

В компьютерной архитектуре циклы на инструкцию (также известные как такты на инструкцию , такты на инструкцию или CPI ) — это один из аспектов производительности процессора : среднее количество тактов на инструкцию для программы или фрагмента программы. [1] Это мультипликативная инверсия инструкций за цикл .

Определение

[ редактировать ]

Среднее количество циклов на инструкцию в данном процессе ( CPI ) определяется следующим средневзвешенным значением :

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

Объяснение

[ редактировать ]

Давайте предположим классический RISC-конвейер со следующими пятью этапами:

  1. Цикл выборки инструкций (IF).
  2. Декодирование инструкции/цикл выборки регистра (ID).
  3. Цикл выполнения/эффективного адреса (EX).
  4. Доступ к памяти (MEM).
  5. Цикл обратной записи (WB).

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

Для процессора с одним исполнительным устройством наилучший достижимый CPI равен 1. Однако с процессором с несколькими исполнительными устройствами можно достичь еще лучших значений CPI (CPI < 1). В этом случае процессор называется суперскалярным . Чтобы получить более высокие значения CPI без конвейеризации, количество исполнительных блоков должно быть больше количества этапов. Например, при шести исполнительных модулях шесть новых инструкций выбираются на этапе 1 только после того, как шесть предыдущих инструкций завершаются на этапе 5, поэтому в среднем количество тактовых циклов, необходимых для выполнения инструкции, составляет 5/6 (CPI = 5/ 6 < 1). Чтобы получить более высокие значения CPI при конвейерной обработке, должно быть как минимум два исполнительных блока. Например, при наличии двух исполнительных модулей две новые инструкции выбираются за каждый такт за счет использования параллелизма на уровне команд, поэтому две разные инструкции завершат этап 5 в каждом такте, и в среднем количество тактов, необходимое для выполнения инструкции, равно 1/2 (ИПЦ = 1/2 < 1).

Для многотактного MIPS существует пять типов инструкций:

Если в программе есть:

  • 50% инструкции по загрузке
  • 25% инструкция магазина
  • 15% инструкций типа R
  • 8% ветвей инструкций
  • 2% инструкций по прыжкам

тогда индекс потребительских цен составит:

[2] Процессор с тактовой частотой 400 МГц использовался для выполнения тестовой программы со следующим набором команд и тактовых циклов количеством :

ТИП инструкции Количество инструкций Количество тактовых циклов
Целочисленная арифметика 45000 1
Передача данных 32000 2
Плавающая точка 15000 2
Передача управления 8000 2

Определите эффективный CPI, скорость MIPS (миллионы инструкций в секунду) и время выполнения для этой программы.

с: и

Поэтому:

См. также

[ редактировать ]
  1. ^ Паттерсон, Дэвид А.; Хеннесси, Джон Л. (1994). Организация и проектирование компьютера: аппаратно-программный интерфейс . ISBN  9781558602816 .
  2. ^ Передовая компьютерная архитектура Кай Хвана, Глава 1, Задача упражнения 1.1.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 77e462fc93d7011041487463e84c210c__1698782700
URL1:https://arc.ask3.ru/arc/aa/77/0c/77e462fc93d7011041487463e84c210c.html
Заголовок, (Title) документа по адресу, URL1:
Cycles per instruction - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)