В рассмотренных примерах старшие разряды адреса из внешнего регистра “подстыковывались” к младшим, выдаваемым непосредственно с части 16-разрядной адресной шины. При такой подстыковке проекции окон в адресном пространстве главной памяти могут перемещаться с шагом, равным размеру окна. Для более плавного перемещения проекций вместо подстыковки используется аппаратное арифметическое суммирование содержимого базового регистра с кодом, выдаваемым в адресную шину.
Старшие разряды кода, выдаваемого в 16-разрядную адресную шину, как и примерах, “поглощаются” дешифратором и не участвуют в формировании арифметической суммы.
В зависимости от значения n разрядность полного физического адреса меняется от 17 до 32.
Увеличение разрядности полного физического адреса с увеличением n, однако, сопровождается уменьшением плавности перемещения проекций при отображении адресных пространств. Так, при n = 0 суммирование затрагивает все разряды обоих кодов, в том числе и самые младшие. Поэтому, изменяя на единицу младшего разряда содержимое сегментного регистра, можно перемещать отображаемый массив с дискретного в одну ячейку. При n = 1 суммирование в самых младших разрядах не производится, поэтому перемещение кода из счетчика адреса команды в расширенное адресное пространство возможно только по четным или нечетным адресам. Аналогично при n = 2 дискретность перемещения составляет 4 ячейки, при n = 3 – 8 ячеек и т.д.
Так как при работе процессора в составе той или иной микроЭВМ объем ПЗУ и ОЗУ может сильно меняться, то предлагается задавать значение n программно, по результатам выявленной при включении напряжения питания конфигурации системы. В зависимости от имеющейся в распоряжении процессора физической памяти, в специально выделенный внутренний регистр процессора заносится оптимальное значение n, которое обеспечивает получение минимально необходимой разрядности физического адреса. Запас разрядности вреден – он привел бы к увеличению дискретности перемещения, и, следовательно, к ненужным запасам при распределении физической памяти операционной системы.
Метод банков:
Под термином банк подразумевается отдельный блок памяти, содержащий, возможно, как оперативную, так и постоянную части. Помимо обычных магистральных входов-выходов такой блок может иметь дополнительный управляющий вход E разрешения работы.
В процессе работы такой системы процессор микроЭВМ через программно-доступный регистр открывает нужный банк и использует информацию, которая в нем содержится. Остальные банки логически отключены от магистрали. В данном методе существенно то, что микроЭВМ может вообще не содержать оперативной памяти. Она может вставлять в свое адресное пространство емкостью, например, 64К банки емкостью 56К, оставляя последние 8К ячеек для собственных нужд, в частности для адресации регистра. Такая подстановка оказывается удобной для быстрого переключения микроЭВМ с решения одной задачи на решение другой. Каждой задаче может соответствовать свой банк. При этом, однако, в каждом банке должны храниться одни и те же резидентные программы операционной системы, что снижает эффективность использования памяти в целом.
Другими недостатками являются разрывность памяти, собранной из отдельных банков, невозможность одновременной работы с несколькими банками (с целью, например, быстрой переписи информации с одного банка на другой), а также сложность доступа к этой памяти со стороны каналов прямого доступа в память.
При включении напряжения питания регистр устанавливается в исходное состояние, соответствующее подключению в микроЭВМ единственного (вполне определенного) банка. Регистр может содержать дополнительные разряды, которые уточняют правила работы с каждым банком: доступен ли банк по записи и/или по чтению, включить, или выключить его со схемы контроля.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.