Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Сегментная организация памяти




Для представления 20-разрядного линейного адреса в процессоре Intel 8086 используется пара 16-разрядных адресных регистров: один из них (называемый базовым или сегментным регистром) хранит номер сегмента памяти, а второй – регистр адреса команды IP (I nstruction P ointer) – хранит смещение относительно начала этого сегмента. Для хранения номеров сегментов могут использоваться различные специализированные сегментные регистры, например, регистр CS (C ode S egment) содержит номер сегмента программного кода, регистр SS (S tack S egment) – номер сегмента стека, а регистр DS (D ata S egment) – номер сегмента данных.

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


+ IP

При выполнении первой операции содержимое сегментного регистра (номер сегмента) сдвигается на 4 двоичных разряда влево (т.е. умножается на 1610) – в результате получается 20-битовый базовый адрес - линейный адрес начала сегмента, номер которого указан в CS. После сложения базового адреса сегмента с содержимым регистра смещения IP на выходе сумматора формируется полный 20-битовый линейный адрес, который и передается на адресную шину[7].

Любой линейный адрес может быть записан двумя 16-битовыми числами в так называемой сегментной форме: < номер сегмента >:< смещение >. На рисунке 2.1 левый столбец содержит сегментные адреса в 16-ричном формате.

Учитывая приведенную выше формулу, а также тот факт, что все адресные регистры рассматриваемого центрального процессора – 16-разрядные, можно сделать следующие выводы:

Процессор может поддерживать не более 65536 различных сегментов памяти.

Размер каждого сегмента не может превышать 65536 байтов (64 Кб).

Сегменты выровнены по 16-байтовым границам, то есть их базовые адреса кратны 16 (это, в частности, означает, что если номера сегментов отличаются на "1", то их базовые адреса отличаются на "16").

Сегменты (если их длина превышает 16 байтов) могут пересекаться в физическом адресном пространстве, то есть один и тот же физический адрес может быть представлен различными сегментными адресами: например, 0000:0408 h эквивалентно 0040:0008 h, так как оба этих сегментных адреса определяют один и тот же физический адрес 00408 h.

В процессорах с 20-разрядной адресной шиной максимальное значение физического адреса составляет FFFFF h, что обеспечивает размер адресного пространства в 1 Мб. Однако, используемый в этих процессорах способ формирования физического адреса путем суммирования базового адреса сегмента со смещением позволяет определить линейные адреса, находящиеся за пределами 1-мегабайтной границы. При максимальных значениях номера сегмента и смещения сегментный адрес FFFF:FFFF соответствует линейному адресу 10FFEF h, что "расширяет" адресное пространство почти на 64 килобайта и требует увеличения на "1" разрядности адресной шины. В процессоре i8086 такая ситуация обрабатывается путем игнорирования старшего бита вычисленного линейного адреса, который для рассмотренного выше примера будет иметь значение 0FFEF h.В процессоре i80286 (из-за ошибки разработчиков!) программам оказалась доступной 21-я линия адресной шины (А20), что позволило реально расширить линейно-адресуемую область памяти до 1062 Мб и использовать так называемую "верхнюю" память (HMA - High Memory Area). В процессорах i80386 и выше возможна аппаратная блокировка линии А20 адресной шины.





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


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 582 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2159 - | 2048 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.