ВУЗ:
Составители:
109
В основе всего набора команд лежит идея суперскалярной реализации. В
суперскалярном процессоре за один такт несколько команд могут быть
распределены на несколько конвейеров. Аппаратура процессора просматривает
поток команд и отправляет на выполнение максимально возможное число
независимых команд, обычно две — четыре за цикл. В дальнейшем эти
команды могут выполняться параллельно и
даже завершиться в порядке
отличном от порядка их следования. Этот дополнительный параллелизм
заметно повышает производительность процессора.
Команды направляются одновременно в три независимых исполняющих
блока. Общая структура PowerPC представлена на рис. 9.1. Здесь показаны
блоки переходов, фиксированной точки, плавающей точки, а также кэш команд,
кэш данных, память и пространство ввода/вывода, которое в данной
архитектуре выглядит как часть памяти.
Для каждого исполняющего блока архитектурой определен независимый
набор регистров. Любая определенная архитектурой команда может
выполняться только одним типом управляющих блоков. Таким образом, у
каждого блока есть собственный набор регистров плюс собственный набор
команд. Эти исполняющие блоки часто называют процессорами, так как им
присущи все характеристики
процессора. Можно сказать, что процессор
PowerPC содержит три отдельных процессора - исполняющих блока. Заметьте
также, что у каждого исполняющего блока может быть несколько несколько
конвейеров команд. Если, например, модели для контролера сетевого
интерфейса важна производительность операций с плавающей точкой, то блок
плававающей точки должен содержать два конвейера и более и выполнять
более
одной команды плавающею точки одновременно. То же верно и для двух
других блоков. Возможно создание процессоров PowerPC, способных сразу
выполнять пять или более команд.
Преимущество такой схемы не только в возможности одновременного
выполнения нескольких команд, но и в том, что, благодаря наличию у каждого
блока отдельных ресурсов достаточно минимального объема взаимодействия
и
синхронизации между блоками. Исполняющие блоки способны подстраиваться
под поток команд и позволять командам обгонять другу друга и завершаться в
ином порядке.
Архитектура PowerPC отличается от обычного RISC-процессора еще и
использованием нескольких составных команд.
Самый большой недостаток RISC в сравнении с CISC - объем кода. Для
выполнения одной и той же программы RISC требуется больше команд
, чем
CISC. Составные команды позволяют минимизировать это разрастание кода.
Некоторые из них весьма просты — например, обновление регистра базы при
загрузке и сохранении, позволяющее исключить дополнительную команду
прибавления. Другие, такие как команды множественной загрузки и
сохранения, предназначенные для перемещения значений нескольких
регистров одной командой, сложнее. Есть и команды загрузки/сохранения
В основе всего набора команд лежит идея суперскалярной реализации. В
суперскалярном процессоре за один такт несколько команд могут быть
распределены на несколько конвейеров. Аппаратура процессора просматривает
поток команд и отправляет на выполнение максимально возможное число
независимых команд, обычно две — четыре за цикл. В дальнейшем эти
команды могут выполняться параллельно и даже завершиться в порядке
отличном от порядка их следования. Этот дополнительный параллелизм
заметно повышает производительность процессора.
Команды направляются одновременно в три независимых исполняющих
блока. Общая структура PowerPC представлена на рис. 9.1. Здесь показаны
блоки переходов, фиксированной точки, плавающей точки, а также кэш команд,
кэш данных, память и пространство ввода/вывода, которое в данной
архитектуре выглядит как часть памяти.
Для каждого исполняющего блока архитектурой определен независимый
набор регистров. Любая определенная архитектурой команда может
выполняться только одним типом управляющих блоков. Таким образом, у
каждого блока есть собственный набор регистров плюс собственный набор
команд. Эти исполняющие блоки часто называют процессорами, так как им
присущи все характеристики процессора. Можно сказать, что процессор
PowerPC содержит три отдельных процессора - исполняющих блока. Заметьте
также, что у каждого исполняющего блока может быть несколько несколько
конвейеров команд. Если, например, модели для контролера сетевого
интерфейса важна производительность операций с плавающей точкой, то блок
плававающей точки должен содержать два конвейера и более и выполнять
более одной команды плавающею точки одновременно. То же верно и для двух
других блоков. Возможно создание процессоров PowerPC, способных сразу
выполнять пять или более команд.
Преимущество такой схемы не только в возможности одновременного
выполнения нескольких команд, но и в том, что, благодаря наличию у каждого
блока отдельных ресурсов достаточно минимального объема взаимодействия и
синхронизации между блоками. Исполняющие блоки способны подстраиваться
под поток команд и позволять командам обгонять другу друга и завершаться в
ином порядке.
Архитектура PowerPC отличается от обычного RISC-процессора еще и
использованием нескольких составных команд.
Самый большой недостаток RISC в сравнении с CISC - объем кода. Для
выполнения одной и той же программы RISC требуется больше команд, чем
CISC. Составные команды позволяют минимизировать это разрастание кода.
Некоторые из них весьма просты — например, обновление регистра базы при
загрузке и сохранении, позволяющее исключить дополнительную команду
прибавления. Другие, такие как команды множественной загрузки и
сохранения, предназначенные для перемещения значений нескольких
регистров одной командой, сложнее. Есть и команды загрузки/сохранения
109
Страницы
- « первая
- ‹ предыдущая
- …
- 107
- 108
- 109
- 110
- 111
- …
- следующая ›
- последняя »
