Адресация памяти в реальном режиме, сегментация памяти, сегментные регистры.
Процессор делит адресное пространство на произвольное количество сегментов, каждый из которых содержит не более 64 Кбайт. Адрес первого байта сегмента всегда кратен 16 и называется адресом сегмента или параграфом сегмента.
Для работы с памятью используются 2 шины – шина адреса и шина данных. Физически память устроена таким образом, что возможна адресация как 16-битовых слов, так и отдельных байтов памяти. Процессоры i80386, i80486 могут адресовать 32-битовые слова памяти.
ФА передается из процессора в память по шине адреса. Ширина шины адреса определяет максимальный объем физической памяти, непосредственно адресуемой процессором. Например, при 20-разрядной ША и 16-разрядной ШД можно адресоваться к 1 Мбайту памяти, причем к байтам и словам размером в 16 бит, 00000h<=ФА<=FFFFFh.
Возникает проблема представления 20-разрядного ФА при помощи содержимого 16-разр. регистров à используется 2-х компонентный ЛА, состоящий из сегмента памяти и смещения внутри сегмента.
Для получения 20-разрядного ФА к сегментной компоненте приписываются справа 4 нуля, затем прибавляется компонента смещения. Формат ЛА: <сегмент: смещение>.
Микропроцессоры имеют 14 специализированных регистров:
- регистры общего назначения - используются для временного хранения промежуточных результатов и операндов арифметических и логических операций: АХ (аккумулятор), ВХ (база), СХ (счетчик), DX (данные). Можно адресоваться к старшему (AH, BH, …) или младшему (AL, …) байту.
- сегментные регистры – хранят начальные адреса 4-х сегментов:
- DS: сегмент данных,
- CS – кода,
- ES – дополнительный (расширенный) сегмент данных,
- SS - стека).
Каждый сегментный регистр, обеспечивает адресацию памяти объемом 64 Кбайт, которая называется текущим сегментом. Адрес в сегментном регистре автоматически умножается на 16, чтобы он указывал на одну из 16-байтовых границ мегабайтного адресного пространства микропроцессора. Адрес в CS складывается с IP для получения ссылки на текущую команду. DS плюс смещение указывает на ячейку в сегменте данных. ES используется для адресации данных, находящихся в разных физических сегментах.
- IP – указатель команд,
- SP – указатель вершины стека,
- BP – указатель базы (основания) стека – используется только в момент загрузки для
- SI – индекс источника,
- DI – индекс назначения.
- регистр флагов: по битам: 15-12 – не используютсяся, OF- флаг переполнения, DF – направления, IF – прерывания, TF – трассировки, SF – знака, ZF – нуля, 5 – не используется, AF – вспомогательного переноса, 3 – не используется, PF – четности, 1 – не используется, CF – переноса.
Дата добавления: 2015-07-30; просмотров: 2280;