<<
>>

Сокращение числа обращений к памяти

Модель памяти Itanium 2 довольно проста. Всего предусмотрено 264 байт линей- ной памяти. Имеющиеся команды позволяют обращаться к блокам памяти размером 1, 2, 4, 8, 16 и 10 байт (последнее значение введено для совместимости с 80-разрядными числами с плавающей точкой стандарта IEEE 745).
Категорической необходимости в выравнивании обращений к памяти по естественным границам нет, однако без выравнивания производительность ниже. Память может быть как с прямым, так и с обратным порядком следования байтов; тот или иной формат устанавливается специальным битом в регистре, загружаемом операционной системой.

Доступ к памяти в современных компьютерах считается узким местом. Связно это с тем, что процессоры работают гораздо быстрее модулей памяти. Сократить число обращений к памяти можно путем размещения большого кэша первого уровня на микросхеме процессора и еще большего кэша второго уровня в непосредственной близости от микросхемы. Двумя модулями кэш-памяти оснащаются все современные процессоры.

В то же время существуют и другие методы, позволяющие сократить объем взаимодействия с памятью, и некоторые из них реализованы в IA-64.

Лучший способ ускорить обращения к памяти — выполнять эту операцию в фоновом режиме. В процессоре Itanium 2 предусмотрено 128 64-разрядных регистров общего назначения. Первые 32 из них являются статическими, а оставшиеся 96 группируются в стек регистров, напоминающий регистровое окно UltraSPARC III. В отличие от UltraSPARC, количество доступных программе регистров меняется от одной процедуры к другой. В итоге каждая процедура получает доступ к 32 статическим регистрам и некоторому (переменному) количеству регистров, распределяемых динамически.

При вызове процедуры указатель стека регистров смещается таким образом, чтобы входные параметры оказались видимыми в регистрах, но сами регистры не были распределены между локальными переменными. Процедура сама определяет количество необходимых ей регистров и соответствующим образом перемещает указатель стека.

Сохранять содержимое этих регистров при входе и восстанавливать при выходе не требуется, хотя, если процедуре нужно изменить статический регистр, она должна сначала явно сохранить его прежнее значение, а впоследствии восстановить его. Поскольку количество регистров выражено доступной переменной и обуславливается требованиями каждой конкретной процедуры, неэффективное применение регистров исключается. Кроме того, увеличивается максимальная глубина вызова процедур, при которой регистры не требуется «сбрасывать» в память.

В Itanium 2 есть 128 регистров с плавающей точкой, организованных по стандарту IEEE 745 и не группируемых в стек. Большое количество регистров этого типа позволяет сохранять промежуточные результаты множества операций с плавающей точкой в регистрах, не перемещая их в память.

Кроме того, в Itanium 2 предусмотрено 64 1-разрядных предикатных регистра, 8 регистров ветвлений и 128 специализированных прикладных регистров, которые используются для самых различных целей, в частности для обмена параметрами между прикладными программами и операционной системой. Общая схема регистров Itanium 2 представлена на рис. 5.29.

Рис. 5.29. Регистры Itanium 2

<< | >>
Источник: Таненбаум Э.. Архитектура компьютера. 5-е изд. 2007

Еще по теме Сокращение числа обращений к памяти:

  1. § 31 Понятие о безличных обязательствах. – Бумаги безыменные, или на предъявителя. – Облигации, акции и билеты. – Происхождение сих актов. – Выпуск их, изъятие из обращения, передача, свободное обращение, амортизация. – Потерянные бумаги. – Акты сего рода по русскому законодательству.
  2. ПРИНЯТЫЕ СОКРАЩЕНИЯ
  3. Глава IX КАК СКОНСТРУИРОВАЛ БЫ МЕХАНИЗМ МЫШЕЧНОГО СОКРАЩЕНИЯ
  4. УКАЗАТЕЛЬ СОКРАЩЕНИЙ
  5. СОКРАЩЕНИЯ И АББРЕВИАТУРЫ
  6. СПИСОК ОСНОВНЫХ СОКРАЩЕНИЙ
  7. ПРЕДСТАВЛЕНИЕ ПАМЯТИ
  8. Сокращение времени разминки с помощью Ключа.
  9. Сокращение времени разминки с помощью Ключа.
  10. Как должна была природа устроить механизм волевого сокращения мышц
  11. Гигиена памяти.
  12. V. 2. 5. Структура парциального хранилища памяти.