Регистры общего назначения. 128 целочисленных регистров общего назначения GR;
В их число входят:
128 целочисленных регистров общего назначения GR;
128 регистров с плавающей точкой FR;
64 регистра предикатов PR;
8 регистров перехода BR;
128 прикладных регистров AR;
не менее 4 регистров идентификатора процессора CPUID;
cчетчик команд IP, указывающий на адрес связки, содержащей выполняемую команду;
регистр маркера текущего окна CFM, описывающий окно стека регистров и др.
Регистры CPUID являются 64-разрядными. В CPUID-регистрах 0 и 1 находится информация о производителе, в регистре 2 - серийный номер процессора, а в регистре 3 задается тип процессора (cемейство, модель, версия архитектуры и т.п.) и число CPUID-регистров. Разряды регистра 4 указывают на поддержку конкретных особенностей архитектуры EPIC, т.е. тех, которые реализованы в данном процессоре.
Прикладные регистры AR0-AR127 - специализированные (в основном 64-разрядные) регистры, применяемые в архитектурах EPIC и IA-32/64.
Регистры AR0-7 называются регистрами ядра; запись в них привилегирована, но они доступны на чтение в любом приложении и используются для передачи приложению сообщений от операционной системы.
Среди других прикладных регистров необходимо отметить:
Регистр AR16 (RSC) - регистр конфигурации стека регистров, используемый для управления работой "машиной" стека регистров архитектуры EPIC (RSE).
Регистр AR17 (BSP), в котором находится адрес в оперативной памяти, где сохраняется положение GR32 в текущем окне стека.
Регистр AR40 (FPSR) - регистр состояния для команд с плавающей точкой;
Регистр AR44 (ITC) - интервальный таймер.
Регистр AR64 (PFS) - регистр предыдущего состояния функции, куда автоматически копируются некоторые другие регистры при вызове подпрограмм.
Регистр AR65 (LC) - для организации циклов со счетчиком.
Регистр AR66 (EC) - 6-разрядный регистр эпилога.
Ряд AR-регистров является фактически регистрами IA-32/64 (дескриптор сегмента кодов, дескриптор сегмента стека и др.).
64-разрядные целочисленные регистры общего назначения GR0-127 применяются не только для целочисленных операций; регистры GR8-31 в режиме IA-32/64 используются также под целочисленные регистры и регистры селекторов и дескрипторов сегментов архитектуры IA-32/64. Регистры GR0-31 называются статическими регистрами (регистр GR0 всегда содержит 0), а регистры GR32-127 - стекируемыми регистрами. Статические регистры "видны" всем программам. Стекируемые регистры становятся доступными в программной единице через окно стека регистров, включающее локальные и выходные регистры, число которых задается командой alloc.
Дата добавления: 2015-09-28; просмотров: 700;