Loading AI tools
Блок ячеек памяти внутри процессора Из Википедии, свободной энциклопедии
Реги́стр проце́ссора — поле заданной длины во внутрипроцессорной сверхбыстрой оперативной памяти (СОЗУ). Используется самим процессором, может быть как доступным, так и не доступным программно. Например, при выборке из памяти очередной команды она помещается в регистр команд, обращение к которому программист прописать не может.
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Программно недоступные регистры — любые процессорные регистры, к которым невозможно так или иначе обратиться из выполняемой программы. Пример таких регистров — уже упомянутый регистр команд.
Программно доступные регистры есть те, к которым возможно так или иначе обратиться из выполняемой программы. Практически каждый такой регистр обозначается своим именем-идентификатором на уровне языка ассемблера и соответствующим числовым кодом-идентификатором на уровне машинного языка. По уровню доступности программно доступные регистры неодинаковы и практически делятся на две большие подгруппы:
Специальные регистры[3] содержат данные, необходимые для работы процессора — смещения базовых таблиц, уровни доступа и т. д.
Часть специальных регистров принадлежит устройству управления, которое управляет процессором путём генерации последовательности микрокоманд.
Доступ к значениям, хранящимся в регистрах, осуществляется непосредственно на тактовой частоте процессора и, как правило, в несколько раз быстрее, чем доступ к полям в оперативной памяти (даже если кеш-память содержит нужные данные), но объём оперативной памяти намного превосходит суммарный объём процессорных регистров, суммарная «ёмкость» регистров общего назначения/данных для x86-процессоров (например, Intel 80386 и более новых) 8 регистров по 4 байта = 32 байта (В x86-64-процессорах — 16 по 8 байт = 128 байт и некоторое количество векторных регистров).
Этот раздел имеет чрезмерный объём или содержит маловажные подробности неэнциклопедичного характера. |
В таблице показано количество регистров общего назначения в нескольких распространённых архитектурах микропроцессоров. Стоит отметить, что в некоторых архитектурах использование отдельных регистров может быть осложнено. Так, в SPARC и MIPS регистр номер 0 не сохраняет информацию и всегда считывается как 0, а в процессорах x86 с регистром ESP
(указатель на стек) могут работать лишь некоторые команды.
Архитектура | Целочисленных регистров |
FP- регистров |
Примечания |
---|---|---|---|
x86-32 | 8 | 8 | |
x86-64 | 16 | 16 | |
IBM System/360 | 16 | 4 | |
z/Architecture | 16 | 16 | |
Itanium | 128 | 128 | |
SPARC | 31 | 32 | Регистр 0 (глобальный) всегда занулён |
IBM Cell | 4~16 | 1~4 | |
IBM POWER | 32 | 32 | |
Power Architecture | 32 | 32 | |
Alpha | 32 | 32 | |
6502 | 3 | 0 | |
W65C816S | 5 | 0 | |
PIC | 1 | 0 | |
AVR | 32 | 0 | |
ARM 32-bit[4] | 16 | различное | |
ARM 64-bit[5] | 31 | 32 | |
MIPS | 31 | 32 | Регистр 0 всегда занулён |
RISC-V | 31 | 32 | Дополнительно есть регистр 0, который всегда возвращает ноль |
Эльбрус 2000 | 256 | совмещены с
целочисленными |
32 двухразрядных регистра,
256 = 32 глобальных регистра + 224 регистра стека процедур[6] |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.