Вычислительные машины и системы. Ремонтов А.П - 59 стр.

UptoLike

59
Tк = 3t+ 1,5tmem,
где t - длительность одного такта процессора, = tmem - длительность обращения к
памяти. При тактовой частоте 100Мгц t=10нс. Пусть время обращения к памяти со-
ставляет даже 20нс. Получаем Тк = 3*10нс + 1,5*20нс = 60нс. Производительность = 1/Тк
= 1/60нс = менее 20 МIPS. Показатели производительности многих современных процес-
соров (и RISC и CISC) даже на той же частоте намного выше. (Например
, Celeron
400 Мгц имеет производительность около 1000 MIPS - на частоте 100 МГц он бы имел
производительность 250MIPS, то есть в 10 раз больше, чем у рассмотренного процессо-
ра). Как достигается повышение производительности ? Во-первых, можно несколько
улучшить показатель CPI, если перейти к жесткой логике управления, то есть вместо
микроподпрограммы выполнения команды реализовать аппаратную схему, выпол-
няющую алгоритм заданной
команды.
С другой стороны, можно использовать КЭШ-память для ускорения доступа к основ-
ной памяти. Однако, этих мер недостаточно для повышения производительности в 10 и
более раз.
В современных процессорах для повышения производительности применяют, в том
числе, 2 основных подхода: конвейеризацию команд и суперскалярное выполнение ко-
манд (многопотоковые конвейеры команд).
4.5.3 Конвейер команд
В общем случае приведенные ранее основные пять этапов выполнения команды про-
цессора общего назначения требуют разного времени, но -сопоставимого. Если добиться
(введением фиксаторов и синхронизацией), чтобы каждый этап занимал одинаковое вре-
мя, можно организовать конвейер команд, в котором одновременно на разных этапах вы-
полнения будут находиться несколько команд (Рис.4.9).
Рис. 4.9.
Даже при условии некоторого увеличения времени выполнения одной команды (не-
большое снижение быстродействия) производительность при полном заполнении конвей-
ера будет близка к величине 1/T
к
, где T
к
- такт конвейера, в данном случае - время выпол-
нения одного этапа. Это позволило бы сразу увеличить производительность процессора в
5 раз ! Однако на практике добиться этого оказывается сложно. И препятствуют этому так
называемые конфликты при конвейеризации.
                                     Tк = 3t+ 1,5tmem,
   где t - длительность одного такта процессора, = tmem - длительность обращения к
памяти. При тактовой частоте 100Мгц t=10нс. Пусть время обращения к памяти со-
ставляет даже 20нс. Получаем Тк = 3*10нс + 1,5*20нс = 60нс. Производительность = 1/Тк
= 1/60нс = менее 20 МIPS. Показатели производительности многих современных процес-
соров (и RISC и CISC) даже на той же частоте намного выше. (Например, Celeron
400 Мгц имеет производительность около 1000 MIPS - на частоте 100 МГц он бы имел
производительность 250MIPS, то есть в 10 раз больше, чем у рассмотренного процессо-
ра). Как достигается повышение производительности ? Во-первых, можно несколько
улучшить показатель CPI, если перейти к жесткой логике управления, то есть вместо
микроподпрограммы выполнения команды реализовать аппаратную схему, выпол-
няющую алгоритм заданной команды.
   С другой стороны, можно использовать КЭШ-память для ускорения доступа к основ-
ной памяти. Однако, этих мер недостаточно для повышения производительности в 10 и
более раз.
   В современных процессорах для повышения производительности применяют, в том
числе, 2 основных подхода: конвейеризацию команд и суперскалярное выполнение ко-
манд (многопотоковые конвейеры команд).
   4.5.3 Конвейер команд
   В общем случае приведенные ранее основные пять этапов выполнения команды про-
цессора общего назначения требуют разного времени, но -сопоставимого. Если добиться
(введением фиксаторов и синхронизацией), чтобы каждый этап занимал одинаковое вре-
мя, можно организовать конвейер команд, в котором одновременно на разных этапах вы-
полнения будут находиться несколько команд (Рис.4.9).




                                          Рис. 4.9.
   Даже при условии некоторого увеличения времени выполнения одной команды (не-
большое снижение быстродействия) производительность при полном заполнении конвей-
ера будет близка к величине 1/Tк, где Tк - такт конвейера, в данном случае - время выпол-
нения одного этапа. Это позволило бы сразу увеличить производительность процессора в
5 раз ! Однако на практике добиться этого оказывается сложно. И препятствуют этому так
называемые конфликты при конвейеризации.
                                    59