Конвейеры
В действительности при выборке с упреждением команда обрабатывается за два шага: сначала происходит вызов команды, а затем — ее выполнение. Еще больше продвинула эту стратегию идея конвейера. При использовании конвейера команда обрабатывается уже не за два, а за большее количество шагов, каждый из которых реализуется определенным аппаратным компонентом, причем все эти компоненты могут работать параллельно.
Четвертая ступень (блок С4) выполняет команду, обычно проводя операнды через тракт данных (см. рис. 2.2). И наконец, блок С5 записывает результат обратно в нужный регистр.
На рис. 2.3, б мы видим, как действует конвейер во времени. Во время цикла 1 блок С1 обрабатывает команду 1, вызывая ее из памяти. Во время цикла 2 блок С2 декодирует команду 1, в то время как блок С1 вызывает из памяти команду 2.
Во время цикла 3 блок СЗ вызывает операнды для команды 1, блок С2 декодирует команду 2, а блок С1 вызывает команду 3. Во время цикла 4 блок С4 выполняет команду 1, СЗ вызывает операнды для команды 2, С2 декодирует команду 3, а С1 вызывает команду 4. Наконец, во время цикла 5 блок С5 записывает результат выполнения команды 1 обратно в регистр, тогда как другие ступени конвейера обрабатывают следующие команды.Чтобы лучше понять принципы работы конвейера, рассмотрим аналогичный пример. Представим себе кондитерскую фабрику, на которой выпечка тортов и их упаковка для отправки производятся раздельно. Предположим, что в отделе отправки находится длинный конвейер, вдоль которого располагаются 5 рабочих (или ступеней обработки). Каждые 10 секунд (это время цикла) первый рабочий ставит пустую коробку для торта на ленту конвейера. Эта коробка отправляется ко второму рабочему, который кладет в нее торт. После этого коробка с тортом доставляется третьему рабочему, который закрывает и запечатывает ее. Затем она поступает к четвертому рабочему, который ставит на ней штамп. Наконец, пятый рабочий снимает коробку с конвейерной ленты и помещает ее в большой контейнер для отправки в супермаркет. Примерно таким же образом действует компьютерный конвейер: каждая команда (в случае с кондитерской фабрикой — торт) перед окончательным выполнением проходит несколько ступеней обработки.
Возвратимся к нашему конвейеру на рис. 2.3. Предположим, что время цикла у этой машины — 2 нс. Тогда для того, чтобы одна команда прошла через весь конвейер, требуется 10 нс. На первый взгляд может показаться, что такой компьютер будет выполнять 100 млн команд в секунду, в действительности же скорость его работы гораздо выше. В течение каждого цикла (2 нс) завершается выполнение одной новой команды, поэтому машина выполняет не 100, а 500 млн команд в секунду!
Конвейеры позволяют добиться компромисса между временем запаздывания (время выполнения одной команды) и пропускной способностью процессора
(количество команд, выполняемых процессором в секунду). Если время обращения составляет Т нс, а конвейер имеет п ступеней, время запаздывания составит пТ нс.
Поскольку одна команда выполняется за одно обращение, а за одну секунду таких обращений набирается 109/Г, количество команд в секунду также составляет 109/Г. Скажем, если Г = 2 нс, то каждую секунду выполняется 500 млн команд. Для того чтобы получить значение MIPS, нужно разделить скорость выполнения команд на 1 миллион; таким образом, (109/Г)/106 = 1000/7" MIPS. В принципе, скорость выполнения команд можно измерять и в миллиардах операций в секунду (Billion Instructions Per Second, BIPS), но так никто не делает, и мы не будем.
Еще по теме Конвейеры:
- Писатель или сборщик на конвейере?
- Профессии
- Неленивые должности
- Неленивые профессии
- Кардинальный крест.
- РЕДКИЙ ВИТАМИН
- Последний штрих: менять работу или менять... Ключ к успеху для ENFJ
- Полное общее образование
- ГЛАВА 1. ЖУРНАЛИСТСКИЙ ТЕКСТ И СОЦИАЛЬНАЯ ДЕЙСТВИТЕЛЬНОСТЬ: ПОЗНАНИЕ, ОТРАЖЕНИЕ, ПРЕОБРАЗОВАНИЕ
- Глава 1. Журналистский текст и социальная действительность: познание, преображение, преобразование (В.А. Сидоров)
- 5.2.4. Психические отклонения
- Последний штрих: менять работу или менять... Ключ к успеху для ENTJ
- Почему справедливость трудно сохранить
- Производственная технология.
- Последний штрих: менять работу или менять... Ключ к успеху для ENFP
- Последний штрих: менять работу или менять... Ключ к успеху для ISTJ
- Последний штрих: менять работу или менять... Ключ к успеху для INFP
- Последний штрих: менять работу или менять... Ключ к успеху для ESTP