Курс лекций «Организация ЭВМ и систем»: Методическое пособие, страница 17

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

Старшие разряды кода, выдаваемого в 16-разрядную адресную шину, как и примерах, “поглощаются” дешифратором и не участвуют в формировании арифметической суммы.

В зависимости от значения n разрядность полного физического адреса меняется от 17 до 32.

Увеличение разрядности полного физического адреса с увеличением n, однако, сопровождается уменьшением плавности перемещения проекций при отображении адресных пространств.  Так, при n = 0 суммирование затрагивает все разряды обоих кодов, в том числе и самые младшие.  Поэтому, изменяя на единицу младшего разряда содержимое сегментного регистра, можно перемещать отображаемый массив с дискретного в одну ячейку.  При n = 1 суммирование в самых младших разрядах не производится, поэтому перемещение кода из счетчика адреса команды в расширенное адресное пространство возможно только по четным или нечетным адресам.  Аналогично при n = 2 дискретность перемещения составляет 4 ячейки, при n = 3 – 8 ячеек и т.д.

Так как при работе процессора в составе той или иной микроЭВМ объем ПЗУ и ОЗУ может сильно меняться, то предлагается задавать значение n программно, по результатам выявленной при включении напряжения питания конфигурации системы.  В зависимости от имеющейся в распоряжении процессора физической памяти, в специально выделенный внутренний регистр процессора заносится оптимальное значение n, которое обеспечивает получение минимально необходимой разрядности физического адреса.  Запас разрядности вреден – он привел бы к увеличению дискретности перемещения, и, следовательно, к ненужным запасам при распределении физической памяти операционной системы.

Метод банков:

Под термином банк подразумевается отдельный блок памяти, содержащий, возможно, как оперативную, так и постоянную части.  Помимо обычных магистральных входов-выходов такой блок может иметь дополнительный управляющий вход E разрешения работы.

 


В процессе работы такой системы процессор микроЭВМ через программно-доступный регистр открывает нужный банк и использует информацию, которая в нем содержится.  Остальные банки логически отключены от магистрали.  В данном методе существенно то, что микроЭВМ может вообще не содержать оперативной памяти.  Она может вставлять в свое адресное пространство емкостью, например, 64К банки емкостью 56К, оставляя последние 8К ячеек для собственных нужд, в частности для адресации регистра.  Такая подстановка оказывается удобной для быстрого переключения микроЭВМ с решения одной задачи на решение другой.  Каждой задаче может соответствовать свой банк.  При этом, однако, в каждом банке должны храниться одни и те же резидентные программы операционной системы, что снижает эффективность использования памяти в целом.

Другими недостатками являются разрывность памяти, собранной из отдельных банков, невозможность одновременной работы с несколькими банками  (с целью, например, быстрой переписи информации с одного банка на другой), а также сложность доступа к этой памяти со стороны каналов прямого доступа в память.

При включении напряжения питания регистр устанавливается в исходное состояние, соответствующее подключению в микроЭВМ единственного (вполне определенного) банка.  Регистр может содержать дополнительные разряды, которые уточняют правила работы с каждым банком: доступен ли банк по записи и/или по чтению, включить, или выключить его со схемы контроля.