Регистр процессора

Материал из Википедии — свободной энциклопедии

(Перенаправлено с Регистр (вычислительная техника))
Перейти к: навигация, поиск

Регистр процессора — сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора — смещения базовых таблиц, уровни доступа и т. д. (специальные регистры).

Доступ к значениям, хранящимся в регистрах как правило в несколько раз быстрее чем доступ к ячейкам оперативной памяти (даже если кеш-память содержит нужные данные), но объем оперативной памяти намного превосходит суммарный объем регистров (объем среднего модуля оперативной памяти сегодня составляет 1 Гб - 4 Гб[1], суммарная «ёмкость» регистров общего назначения/данных для процессора Intel 80x86 16 битов * 4 = 64 бита (8 байт)).

Содержание

[править] Основные регистры процессора, совместимого с Intel 386

IP (англ. Instruction Pointer) — регистр, обозначающий смещение следующей команды относительно кодового сегмента.

IP — 16-битный (младшая часть EIP)

EIP — 32-битный аналог

Сегментные регистры — Регистры указывающие на сегменты.

CS — указатель на кодовый сегмент. Связка CS:IP указывает на адрес в памяти следующей команды.

Регистры данных — служат для хранения промежуточных вычислений.

RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15 - 64-битные

EAX, EBX, ECX, EDX - 32-битные

AX, BX, CX, DX - 16-битные

AH, AL, BH, BL, CH, CL, DH, DL - 8-битные

EAX
EBX
ECX
EDX
AX
BX
CX
DX
AH
AL
BH
BL
CH
CL
DH
DL

Регистр флагов EFLAGS - содержит текущее состояние процессора.

[править] Примечания

  1. Статистика объёма оперативной памяти ПК, используемых для игр

Assembler для DOS, Windows и UNIX Зубков С. В. Процессоры Intel в защищённом режиме РЕГИСТРЫ

РЕГИСТРЫ УПРАВЛЕНИЯ ПАМЯТЬЮ GDTR - 6 байтный регистр, в котором содержаться 32-битный линейный адрес начала таблицы глобальных дескрипторов (GDT) и её 16-битный размер (минус 1). Каждый раз, когда происходит обращение к памяти, по селектору, находящемуся в сегментном регистре, определяется дескриптор из таблицы GDT или LDT, в котором записан адрес начала сегмента и другая информация.

IDTR - 6-байтный регистр, в котором содержатся 32-битный линейный адрес начала таблицы глобальных дескрипторов обработчиков прерываний (IDT) и её 16-бытный размер (минус 1). Каждый раз, когда происходит прерывание или исключение, процессор передаёт управление на обработчик, описываемый дескриптором из IDT с соответствующим номером.

LDTR - 10-байтный регистр, в котором содержаться 16-битный селектор для GDT и весь 8-байтный дескриптор из GDT, описывающий текущую таблицу локальных дескрипторов (LDT).

TR - 10-байтный регистр, в котором содержаться 16-битный селектор для GDT и весь 8-байтный дескриптор из GDT, описывающий TSS текущей задачи.

РЕГИСТРЫ УПРАВЛЕНИЯ ПРОЦЕССОРОМ Пять 32-битных регистров CR0 - CR4 управляют функционированием процессора и работой отдельных его внутренних блоков

CR0 - Флаги управления системой бит 31: PG - включает режим страничной адресации. бит 30: CD - запрещает заполнение кэша. При этом чтение из кэша все равно будет происходить. бит 29: NW - запрещает сквозную запись во внутренний кэш - данные, записываемые в кэш, не появляются на внешних выводах процессора. бит 18: AM - разрешает флагу AC включать режим, в котором невыровненые обращения к памяти на уровне привелегий 3 вызывают исключение #AC бит 16: WP - запрещает запись в страницы, помеченные как "только для чтения" на всех уровнях привелегий (если WP = 0, защита распространяется только на уровень 3). Этот бит предназначен для реализации мотода копирования процесса, популярного в UNIX, в котором вся память нового процесса сначала полностью совпадает со старым, а затем, при потытке записи, создается копия страницы, к которой происходит обращение. бит 5: NE - включает режим, в котором ошибки FPU вызывают исключение #MF, а не IRQ13 бит 4: ET - использовался только на 80386DX и указывал, что FPU присутствует. бит 3: TS - устанавливается процессором после переключения задачи. Если затем выполнить любую команду FPU, произойдёт исключение #NM, обработчик которого может сохранить/восстановить состояние FPU, отчистить этот бит коммандой CLTS и проболжить программу

[править] Литература

[править] Ссылки

[править] Русскоязычные сайты

[править] Зарубежные сайты

[править] См. также