Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 36

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 30 31 32 33 34 35 < 36 > 37 38 39 40 41 42 .. 528 >> Следующая

(MTRR-регистры).
Полная номенклатура MSR содержит более 80 регистров, описание назначения
которых выходит за рамки данной книги. В последующих разделах будет
рассмотрено функционирование ряда регистров MSR, обеспечивающих
реализацию определенных режимов работы процессора.
Основные функциональные регистры. Состав основных функциональных
регистров (рис. 2.2) идентичен для всех 32-разрядных микропроцессоров
семейства Intel 80x86 и Pentium.
Восемь 32-разрядных регистров общего назначения - ЕАХ, ЕВХ, ЕСХ, EDX,
ESI, EDI, EBP, ESP предназначены для хранения данных и адресов. Младшие
16 разрядов этих регистров доступны под именами АХ, ВХ, СХ, DX, SI, Dl,
BP, SP. При операциях с байтами можно отдельно обращаться к младшему
(разряды 7-0) или старшему (разряды 15-8) байту регистров АХ, ВХ, СХ, DX:
младшие байты имеют имена AL, BL, CL, DL, старшие - АН, ВН, СН, DH.
Сегментные регистры CS, SS, DS, ES, FS, GS содержат 16-разрядные значения
селекторов сегментов, определяющих адресуемый сегмент памяти. В реальном
режиме содержимое этих регистров непосредственно задает значение базового
адреса соответствующего сегмента. В защищенном режиме содержимое этих
регистров задает выбор дескриптора, который содержит значение базового
адреса и другие атрибуты сегмента.
СТРУКТУРА И ФУНКЦИОНИРОВАНИЯ ПРОЦЕССОРОВ INTEL Р6
Соответствующий дескриптор выбирается из таблицы, хранящейся в ОЗУ, и
размещается в программно-недоступном (теневом) регистре дескриптора
сегмента (рис. 2.2). Селектор в регистре CS обеспечивает обращение к
сегменту команд, селектор в SS - к сегменту стека, селекторы в DS, ES,
FS, GS - к сегментам данных.
Указатель команд EIP представляет собой 32-разрядный регистр, содержимое
которого используется в качестве смещения при определении адреса
следующей выполняемой команды. Смещение задается относительно базового
адреса сегмента команд, задаваемого регистром CS. Младшие 16 бит EIP
(биты 15-0) содержат 16-разрядный указатель команд с именем IP, который
исполь-
Регистры общего назначения 31 16 15 о
ЕАХ j (AH) AX (AL)
ЕСХ | (CH) CX (CL)
ЕОХ | (DH) DX (DL)
ЕВХ ! (BH) BX (BL)
ESP ! SP
EBP ! bp
ESI i si
EDI ¦ Dl
31 16 15 Q
EIP i
EFLAGS j FLAGS
Сегментные регистры 15 0
Регистры дескрипторов
CS 1
SS i
OS |
ES
FS i
GS
Базовый
адрес
Граница Атрибуты
сегмента сегмента
Рис. 2.2. Основные функциональные регистры процессора Р6
зуется при 16-разрядной адресации. Содержимое EIP (IP) изменяется при
выполнении команд передачи управления и прерываний.
Регистр флагов EFLAGS (рис. 2.3) содержит ряд битов, которые имеют
различное назначение: признаки состояния CF, PF, AF, ZF, SF, OF указывают
определенные характеристики результата, полученного при выполнении
команды; управляющий признак DF определяет порядок адресации операндов
при выполнении последовательности команд обработки строк символов;
системные признаки TF, IF, IOPL, NT, RF, VM, AC, VIF, VIP, ID задают
режим процессора при обслуживании исключений и прерываний, организации
ввода-вывода данных, решении последовательности вызываемых задач и
реализации ряда других процедур. Младшие шестнадцать бит регистра EFLAGS
(биты 15-0) представляют 16-разрядный регистр флагов FLAGS, который
используется при выполнении программ, написанных для микропроцессоров
8086, 80186, 80286.
Признаки состояния в регистре EFLAGS имеют следующее значение:
CF - признак переноса, принимает значение CF = 1 при возникновении
переноса из старшего разряда обрабатываемых операндов;
PF-признак четности, принимает значение PF = 1, если младшие восемь
разрядов результата содержат четное число единичных бит;
AF - признак полупереноса, принимает значение AF = 1, если при выполнении
операции возникает перенос между младшими тетрадами (из разряда 3 в
разряд 4) обрабатываемых операндов; используется при операциях с
операндами, представленными в двоично-десятичном коде (BCD);
ZF - признак нуля, принимает значение ZF = 1 при получении нулевого
результата операции;
0 NT IOPL OF OF IF TF SF ZF 0 AF 0 PF
1 CF
0 0 0 1 0 0 0 0 0 0 0 ID VIP VIF AC
VM RF
30
29
28
27
26
20
Рис. 2.3. Формат содержимого регистра EFLAGS
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
SF-признакзнака, принимает значение старшего (знакового) разряда
результата операции (S = 0-положительное число, S= 1 -отрицательное);
OF-признакпереполнения, принимает значение OF = 1 в случае переполнения
разрядной сетки при обработке операндов со знаком; значение признака для
п-разрядных операндов определяется логическим выражением OF = Сп + Сп -
1, где Сп - перенос, возникающий в старшем (п- 1)-м разряде (знаковом),
Сп - 1 - перенос, возникающий в предыдущем (п - 2)-м разряде;
Значение управляющего признака DF устанавливается пользователем и задает
порядок обработки строк символов при выполнении соответствующих команд:
DF - признак направления, при значении DF = О вызывает автоматический
инкремент содержимого индексных регистров ESI, EDI (SI.DI) после
Предыдущая << 1 .. 30 31 32 33 34 35 < 36 > 37 38 39 40 41 42 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed