ВУЗ:
Составители:
89
ходятся несколько команд. Одновременно выполняются опера-
ции, связанные с предвыборкой команд, дешифрированием ко-
манд, выполнением микрокода, а также целочисленные опера-
ции, операции с плавающей точкой, сегментации, страничного
преобразования, управления кэш-памятью и шинного интерфей-
са. На рис. 4.2 показан эффект параллелизма для одной коман-
ды. Каждый элемент в этом конвейере реализует свою функцию
за один такт синхронизации. Внутренняя конвейеризация позво-
ляет загрузить данные из кэш-памяти одной командой и исполь-
зовать следующей командой уже в очередном такте синхрониза-
ции. Это объясняется наличием первой ступени дешифрирова-
ния, которая инициирует обращение к памяти до собственно
выполнения. Так как в большинстве компиляторов и приклад-
ных программ после команды загрузки находятся команды, опе-
рирующие загруженными данными, подобный прием оптимизи-
рует выполнение имеющихся программ.
Рис. 4.2. Конвейеризация команд
Однако в этом методе пришлось пойти на компромисс: по-
следовательность команд, которая изменяет содержимое регист-
ра, а затем использует этот регистр для обращения к памяти,
длится три такта вместо двух. Но этот компромисс оказывается
незначительным недостатком, так как большинство команд с
обращением к памяти используют «устойчивое» содержимое
ходятся несколько команд. Одновременно выполняются опера-
ции, связанные с предвыборкой команд, дешифрированием ко-
манд, выполнением микрокода, а также целочисленные опера-
ции, операции с плавающей точкой, сегментации, страничного
преобразования, управления кэш-памятью и шинного интерфей-
са. На рис. 4.2 показан эффект параллелизма для одной коман-
ды. Каждый элемент в этом конвейере реализует свою функцию
за один такт синхронизации. Внутренняя конвейеризация позво-
ляет загрузить данные из кэш-памяти одной командой и исполь-
зовать следующей командой уже в очередном такте синхрониза-
ции. Это объясняется наличием первой ступени дешифрирова-
ния, которая инициирует обращение к памяти до собственно
выполнения. Так как в большинстве компиляторов и приклад-
ных программ после команды загрузки находятся команды, опе-
рирующие загруженными данными, подобный прием оптимизи-
рует выполнение имеющихся программ.
Рис. 4.2. Конвейеризация команд
Однако в этом методе пришлось пойти на компромисс: по-
следовательность команд, которая изменяет содержимое регист-
ра, а затем использует этот регистр для обращения к памяти,
длится три такта вместо двух. Но этот компромисс оказывается
незначительным недостатком, так как большинство команд с
обращением к памяти используют «устойчивое» содержимое
89
Страницы
- « первая
- ‹ предыдущая
- …
- 87
- 88
- 89
- 90
- 91
- …
- следующая ›
- последняя »
