Чтение онлайн

ЖАНРЫ

Организация ЭВМ и периферийные устройства
Шрифт:

Особенности адресации в реальном режиме определены следующими факторами.

1. Особенности процессоров i8086/88, впервые применённых в микрокомпьютерах типа IBM PC: эти процессоры содержат 16-разрядные регистры, имеют 20-разрядную

шину адреса и, таким образом, могут адресовать 220 1 млн слов данных. С учётом того, что внешняя шина данных является 8-разрядной (для i8088), слово данных имеет размер 1 байт, и поэтому максимальный объём адресуемой памяти составляет 1 Мбайт.

2. Сегментная организация памяти и соответствующий механизм адресации. Это позволяет процессору, используя 16-разрядные регистры, формировать 20-разрядные адреса.

Для обеспечения доступа вся память логически разбивается на сегменты размером по 64 Кбайт, внутри которых процессор может адресовать память, используя 16-разрядные адреса. При этом физический адрес байта памяти т.е. адрес, выставляемый процессором на шине адреса, определяется по формуле

Addr = Segment + Offset ,

где Addr – физический адрес;

Segment – адрес начала сегмента памяти (20-битный);

Offset – смещение

относительно начала сегмента (16-битное); первый байт сегмента имеет смещение 0, второй байт – 1 и т.д. до 65 535.

Всё адресное пространство памяти, начиная с нулевого адреса, логически разбито также на параграфы – области памяти, состоящие из 16-ти смежных байт (рис. 2).

Сегмент – непрерывная область памяти размером 64 Кбайта, выровненная на границу параграфа, т.е. имеющая адрес, кратный 16 (рис. 2).

Рассмотрим теперь, каким образом процессоры 8086/8088 адресуют память, размером в 1 Мбайт. Так как адрес сегмента расположен на границе параграфа, младшие четыре бита его адреса всегда равны нулю (рис. 2). Хранить биты, всегда равные нулю, нецелесообразно. Поэтому значение адреса сегмента XXXX0h хранится в так называемых сегментных регистрах процессора в виде XXXXh, где X – шестнадцатеричная цифра. Процессор же «понимает», что дополнительно имеется младший шестнадцатеричный нуль (четыре младших нулевых бита), который и добавляется перед вычислением физического адреса. Наибольшее значение адреса сегмента FFFF0h плюс максимальное смещение FFFFh с избытком позволяет адресовать 1 Мбайт памяти.

Конец ознакомительного фрагмента.

Поделиться с друзьями: