Организация микропроцессорных систем. Учебное пособие. Могнонов П.Б. - 166 стр.

UptoLike

Составители: 

Недостатком этого подхода является накладные расходы - необходимость
суммирования относительного регистрового адреса с базой, что требует дополнительной
стадии в конвейере.
На рис.6.21 представлена упрощенная структурная схема Е2К. Процессор содержит 2
кластера. Внутри кластеров логические блоки расположены достаточно близко друг к другу,
что позволяет уменьшить расстояние между блоками и увеличить тактовую частоту до 2 ГГц
и выше. Кластеры содержат по одной копии файла регистров и ФУ. Каждый кластер
содержит по 256 регистров. Всего в процессоре имеется 30 регистровых портов: 20 портов
чтения (по 10 на кластер) и 10 портов записи.
Кластеры Е2К являются почти симметричными и содержат по три одинаковых
целочисленных АЛУ, за исключением того, что один кластер имеет два ФУ деления -
целочисленного и с плавающей точкой. Такая симметрия позволяет направлять практически
любую команду в любой кластер.
Система команд Е2К более расширена, чем у традиционных RISC-процессоров: в нем
представлены четырехадресные команды, например, d=a+b+c. Такого нет в IA-64. Команды с
плавающей точкой, помимо полной поддержки стандарта IEEE754, осуществляют
поддержку работы с 80-разрядным представлением Intel x86. Кроме того, для приближения
системы команд к х86 в Е2К реализованы также команды расширения ММХ.
Все ФУ в Е2К конвейеризированы, так целочисленный конвейер имеет длину 8
тактов, длина конвейера с плавающей точкой на этапе выполнения составляет 4 такта, а
конвейер загрузки регистров/записи в оперативную память имеет длину 9 тактов. Е2К
обеспечивает высокий уровень параллельно выполняемых операций, в команде кодируется
до 23 таких операций (сюда, кроме арифметико-логических операций входят также доступ к
оперативной память, приращение индекса массива и т.п.).
В Е2К используется трехуровневая схема кэш-памяти. Кэш первого уровня имеет
емкость 8Кбайт и продублирован в каждом кластере. Этот кэш является кэшом с прямым
отображением, не блокирующий и использует алгоритм сквозной записи данных. Кэш
данных в обоих кластерах содержит одинаковые данные и имеет по два порта в командном
кластере. Время доступа составляет два такта, а пропускная способность при попадании
составляет 38 Гбайт/с (при частоте 1,2 ГГц), что можно сопоставить с пропускной
способностью файла регистров-288 Гбайт/с. При непопадании в кэш данных первого уровня
Е2К никогда не останавливает работу. Этот кэш имеет буфер адресов отсутствующих строк
кэша. Обычно кэш второго уровня успевает заполнить кэш первого уровня до того, как этот
буфер переполнится. Если же это все-таки происходит, новые запросы к памяти будут
направлены прямо в кэш второго уровня.
Кэш данных второго уровня в Е2К имеет емкость 256 Кбайт при времени доступа в 8
тактов. Он является двухканальным наборно-ассоциативным и имеет 4 банка, то есть
обеспечивает 4-кратное расслоение памяти. Этот кэш реализует алгоритм обратной записи и
также является не блокирующим. Учитывая большую ширину команды в Е2К, кэш команды
первого уровня имеет емкость 64 Кбайт при длине строки 256 байт. Этот кэш является 4-
канальным наборно-ассоциативным. Ширина магистрали, по которой команды из кэша
поступают в устройство управления командами, составляет 256 байт, однако минимальная
скорость заполнения кэша составляет 32 байта за такт.
В Е2К предусмотрены два варианта подключения кэша третьего уровня.
Непосредственно через локальную шину, что позволяет разгрузить системную шину, и через
коммутатор. В процессоре Е2К предусмотрены также два независимых порта по 32 байта,
они работают на частотах 400-600 МГц.
В архитектуре Е2К, как и в IA-64, применяется техника предикатных вычислений,
основная задача которой является уменьшение количества условных переходов и,
соответственно, ошибочных предсказаний направления переходов. Для этого в Е2К имеется
32 одноразрядных регистра-предиката, причем команда способна сформировать до 7
предикатов: 4 в операциях сравнения в АЛУ и еще 3 - в операциях логики с предикатами (см.
       Недостатком этого подхода является накладные расходы - необходимость
суммирования относительного регистрового адреса с базой, что требует дополнительной
стадии в конвейере.
       На рис.6.21 представлена упрощенная структурная схема Е2К. Процессор содержит 2
кластера. Внутри кластеров логические блоки расположены достаточно близко друг к другу,
что позволяет уменьшить расстояние между блоками и увеличить тактовую частоту до 2 ГГц
и выше. Кластеры содержат по одной копии файла регистров и ФУ. Каждый кластер
содержит по 256 регистров. Всего в процессоре имеется 30 регистровых портов: 20 портов
чтения (по 10 на кластер) и 10 портов записи.
       Кластеры Е2К являются почти симметричными и содержат по три одинаковых
целочисленных АЛУ, за исключением того, что один кластер имеет два ФУ деления -
целочисленного и с плавающей точкой. Такая симметрия позволяет направлять практически
любую команду в любой кластер.
       Система команд Е2К более расширена, чем у традиционных RISC-процессоров: в нем
представлены четырехадресные команды, например, d=a+b+c. Такого нет в IA-64. Команды с
плавающей точкой, помимо полной поддержки стандарта IEEE754, осуществляют
поддержку работы с 80-разрядным представлением Intel x86. Кроме того, для приближения
системы команд к х86 в Е2К реализованы также команды расширения ММХ.
       Все ФУ в Е2К конвейеризированы, так целочисленный конвейер имеет длину 8
тактов, длина конвейера с плавающей точкой на этапе выполнения составляет 4 такта, а
конвейер загрузки регистров/записи в оперативную память имеет длину 9 тактов. Е2К
обеспечивает высокий уровень параллельно выполняемых операций, в команде кодируется
до 23 таких операций (сюда, кроме арифметико-логических операций входят также доступ к
оперативной память, приращение индекса массива и т.п.).
       В Е2К используется трехуровневая схема кэш-памяти. Кэш первого уровня имеет
емкость 8Кбайт и продублирован в каждом кластере. Этот кэш является кэшом с прямым
отображением, не блокирующий и использует алгоритм сквозной записи данных. Кэш
данных в обоих кластерах содержит одинаковые данные и имеет по два порта в командном
кластере. Время доступа составляет два такта, а пропускная способность при попадании
составляет 38 Гбайт/с (при частоте 1,2 ГГц), что можно сопоставить с пропускной
способностью файла регистров-288 Гбайт/с. При непопадании в кэш данных первого уровня
Е2К никогда не останавливает работу. Этот кэш имеет буфер адресов отсутствующих строк
кэша. Обычно кэш второго уровня успевает заполнить кэш первого уровня до того, как этот
буфер переполнится. Если же это все-таки происходит, новые запросы к памяти будут
направлены прямо в кэш второго уровня.
       Кэш данных второго уровня в Е2К имеет емкость 256 Кбайт при времени доступа в 8
тактов. Он является двухканальным наборно-ассоциативным и имеет 4 банка, то есть
обеспечивает 4-кратное расслоение памяти. Этот кэш реализует алгоритм обратной записи и
также является не блокирующим. Учитывая большую ширину команды в Е2К, кэш команды
первого уровня имеет емкость 64 Кбайт при длине строки 256 байт. Этот кэш является 4-
канальным наборно-ассоциативным. Ширина магистрали, по которой команды из кэша
поступают в устройство управления командами, составляет 256 байт, однако минимальная
скорость заполнения кэша составляет 32 байта за такт.
       В Е2К предусмотрены два варианта подключения кэша третьего уровня.
Непосредственно через локальную шину, что позволяет разгрузить системную шину, и через
коммутатор. В процессоре Е2К предусмотрены также два независимых порта по 32 байта,
они работают на частотах 400-600 МГц.
       В архитектуре Е2К, как и в IA-64, применяется техника предикатных вычислений,
основная задача которой является уменьшение количества условных переходов и,
соответственно, ошибочных предсказаний направления переходов. Для этого в Е2К имеется
32 одноразрядных регистра-предиката, причем команда способна сформировать до 7
предикатов: 4 в операциях сравнения в АЛУ и еще 3 - в операциях логики с предикатами (см.