Циклов на инструкцию - Cycles per instruction
Эта статья нужны дополнительные цитаты для проверка.Декабрь 2009 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В компьютерная архитектура, циклов на инструкцию (он же тактов на инструкцию, часов на инструкцию, или же ИПЦ) является одним из аспектов процессор производительность: среднее количество такты на инструкция для программы или фрагмента программы.[1] Это мультипликативный обратный из инструкций за цикл.
Определение
Среднее количество циклов на инструкцию в данном процессе определяется следующим:
Где количество инструкций для данного типа инструкций , это тактовые циклы для этого типа инструкции и общее количество инструкций. Суммирование сумм по всем типам инструкций для данного процесса тестирования.
Объяснение
Предположим, что классический конвейер RISC, со следующими пятью этапами:
- Цикл выборки инструкций (IF).
- Цикл (ID) декодирования инструкций / выборки регистра.
- Цикл исполнения / эффективного адреса (EX).
- Доступ к памяти (MEM).
- Цикл обратной записи (WB).
Каждый этап требует одного тактового цикла, и инструкция проходит через этапы последовательно. Без конвейерная обработка, в многоцикловый процессор, новая команда выбирается на этапе 1 только после того, как предыдущая инструкция завершается на этапе 5, поэтому количество тактовых циклов, необходимых для выполнения инструкции, равно пяти (CPI = 5> 1). В этом случае говорят, что процессор субскалярный. При конвейерной обработке новая инструкция извлекается каждый такт за счет использования параллелизм на уровне инструкций, поэтому, поскольку теоретически можно иметь пять инструкций на пяти этапах конвейера одновременно (одна инструкция на этап), другая инструкция завершит этап 5 в каждом тактовом цикле, и в среднем количество тактовых циклов, необходимых для выполнения инструкции, равно 1 (ИПЦ = 1). В этом случае говорят, что процессор скаляр.
С одно-исполнительная единица процессора, наилучший достижимый CPI равен 1. Однако с процессором с несколькими исполнительными модулями можно достичь даже лучших значений CPI (CPI <1). В этом случае говорят, что процессор суперскалярный. Чтобы получить лучшие значения CPI без конвейерной обработки, количество исполнительных единиц должно быть больше, чем количество этапов. Например, с шестью исполнительными блоками шесть новых инструкций выбираются на этапе 1 только после того, как шесть предыдущих инструкций заканчиваются на этапе 5, поэтому в среднем количество тактовых циклов, необходимых для выполнения инструкции, составляет 5/6 (CPI = 5 / 6 <1). Чтобы получить лучшие значения CPI с конвейерной обработкой, должно быть как минимум два исполнительных модуля. Например, с двумя исполнительными модулями, две новые инструкции выбираются каждый тактовый цикл за счет использования параллелизма на уровне команд, поэтому две разные инструкции будут завершать этап 5 в каждом тактовом цикле, и в среднем количество тактовых циклов, необходимых для выполнения инструкции, равно 1/2 (CPI = 1/2 <1).
Примеры
Пример 1
Для многоциклового MIPS, есть пять типов инструкций:
- Нагрузка (5 циклов)
- Магазин (4 цикла)
- R-тип (4 цикла)
- Ответвляться (3 цикла)
- Прыгать (3 цикла)
Если в программе есть:
- Инструкции по загрузке 50%
- 25% магазин инструкции
- 15% инструкции типа R
- 8% инструкции ветвления
- 2% инструкции перехода
тогда ИПЦ равен:
Пример 2
[2] А 400МГц процессор использовался для выполнения эталонная программа со следующими инструкция микс и такт считать:
ТИП инструкции | Количество инструкций | Счетчик тактов |
---|---|---|
Целочисленная арифметика | 45000 | 1 |
Передача данных | 32000 | 2 |
Плавающая точка | 15000 | 2 |
Передача управления | 8000 | 2 |
Определите эффективный ИПЦ, MIPS (Миллионы инструкций в секунду) скорость и время выполнения этой программы.
поскольку: и
Следовательно:
Смотрите также
- Цикл в секунду (Гц )
- Инструкции на цикл (IPC)
- Инструкций в секунду (IPS)
- Миф о мегагерцах
- MIPS
- В ориентир Статья представляет собой полезное введение в измерение производительности компьютера для читателей, интересующихся данной темой.
Рекомендации
- ^ Паттерсон, Дэвид А .; Хеннесси, Джон Л. Организация и дизайн компьютера: аппаратно-программный интерфейс.
- ^ Продвинутая компьютерная архитектура, Кай Хван, Глава 1, Задача 1.1.