Организация ЭВМ и периферийные устройства
Шрифт:
Особенности адресации в реальном режиме определены следующими факторами.
1. Особенности процессоров i8086/88, впервые применённых в микрокомпьютерах типа IBM PC: эти процессоры содержат 16-разрядные регистры, имеют 20-разрядную
2. Сегментная организация памяти и соответствующий механизм адресации. Это позволяет процессору, используя 16-разрядные регистры, формировать 20-разрядные адреса.
Для обеспечения доступа вся память логически разбивается на сегменты размером по 64 Кбайт, внутри которых процессор может адресовать память, используя 16-разрядные адреса. При этом физический адрес байта памяти т.е. адрес, выставляемый процессором на шине адреса, определяется по формуле
где Addr – физический адрес;
Segment – адрес начала сегмента памяти (20-битный);
Offset – смещение
относительно начала сегмента (16-битное); первый байт сегмента имеет смещение 0, второй байт – 1 и т.д. до 65 535.Всё адресное пространство памяти, начиная с нулевого адреса, логически разбито также на параграфы – области памяти, состоящие из 16-ти смежных байт (рис. 2).
Сегмент – непрерывная область памяти размером 64 Кбайта, выровненная на границу параграфа, т.е. имеющая адрес, кратный 16 (рис. 2).
Рассмотрим теперь, каким образом процессоры 8086/8088 адресуют память, размером в 1 Мбайт. Так как адрес сегмента расположен на границе параграфа, младшие четыре бита его адреса всегда равны нулю (рис. 2). Хранить биты, всегда равные нулю, нецелесообразно. Поэтому значение адреса сегмента XXXX0h хранится в так называемых сегментных регистрах процессора в виде XXXXh, где X – шестнадцатеричная цифра. Процессор же «понимает», что дополнительно имеется младший шестнадцатеричный нуль (четыре младших нулевых бита), который и добавляется перед вычислением физического адреса. Наибольшее значение адреса сегмента FFFF0h плюс максимальное смещение FFFFh с избытком позволяет адресовать 1 Мбайт памяти.
Конец ознакомительного фрагмента.