Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КСТиАК - Конспект лекций / Лекция 8.Адресное пространство МПС.doc
Скачиваний:
86
Добавлен:
26.03.2015
Размер:
1.65 Mб
Скачать

8.5. Методы расширения адресного пространства

Метод окна. При первом ознакомлении с задачей расширения адресного пространства многие предлагают ошибочный вариант ре­шения, который и точности совпадает либо близок к приведенному на рис. 18, а. К шестнадцати основным адресным линиям добав­лены еще четыре линии, которые подключены к выходам программно-доступного регистра старших разрядов адреса. Полный 20-разрядй адрес поступает в главную память емкостью 220==1M ячеек. Шина данных, типа управления и схемы обеспечения программного до­ступа к регистру старших разрядов адреса на рисунке не показаны как несущественные (уже обсуждавшиеся ранее) элементы. Система оказывается неработоспособной, в чем можно убедиться, рассмотрев рис.8.18, б.

Рис.8.18 Пример неправильного подключения главной памяти к микроЭВМ:

а) схема подключения; б) распределение адресного пространства; G- адресуемые элементы микроЭВМ – память, и другие, занимающие не более 32К ячеек; Р- адресное пространство микроЭВМ; Н- адресное пространство главной памяти (16 зон по 64К ячеек); LG – адресное пространство, занятое элементами G; LO – свободное адресное пространство микроЭВМ

Предположим, что из процессора микроЭВМ выдается адрес 00000000000001012, а в регистр старших разрядов адреса предвари­тельно загружен код 11112. В главной памяти на этот код «откликнется» ячейка памяти Х с адресом F0005. В то же время в собствен­ной памяти микроЭВМ будет выбрана ячейка Y с адресом 0005, так как эта память анализирует 16, а не 20 разрядов адреса. (Собствен­ная память микроЭВМ «не подозревает» о существовании главной памяти и связанной с ней дополнительной 4-разрядной адресной шины.)

Поэтому информация при чтении будет выдана как из собственной памяти микроЭВМ, так и из главной памяти, и на шине данных получится «смесь» сигналов. При записи код с шипы данных попадет в обе ячейки одновременно, что также лишено смысла. Однако если исходный 16-разрядный адрес превышает или равен 32К, то одновре­менного обращения к двум ячейкам не будет, так как внутри микро­ЭВМ ни одно из устройств не опознает этот адрес, а в главной памяти ему с учетом четырех дополнительных старших разрядов со­ответствует единственная ячейка.

Этот пример представляет собой систему с частичной дешифра­цией, где микроЭВМ является объектом, к которому подключены не все линии адресной шины системы (16 из 20). По­этому адресное пространство микроЭВМ, как занятое, так и не за­нятое, размножено 24=-16 раз. В результате этого 50 % емкости главной памяти нельзя использовать. Вряд ли кто согласится рабо­тать с такой системой.

Рис.8.19. Метод окна:

а) геометрическое представление идеи метода; б) схемная реализация; G- адресуемые элементы микроЭВМ, расположенные в зоне LG адресного пространства Р микроЭВМ; LO – свободная зона адресного пространства, в которой выделено окно W; H- адресное пространство главной памяти

Метод окна позволяет очень просто разрешать указанные про­блемы. Идея метода состоит в отображении на «большом» отрезке лишь части «малого» отрезка. Эта часть соответствует свободным адресам микроЭВМ и называется окном (рис.8. 19, а). Схемное ре­шение приведено на рис. 19,6. Емкость главной памяти V=2d+g ячеек. Если, например, d==8, g=l2, то V=220 =lM ячеек. Главную память можно рассматривать как состоящую из 2d страниц, каждая из которых имеет размер 2g ячеек, совпадающий с размером окна. Таким образом, можно считать, что 2dчисло проекций окна, которые, примыкая, вплотную друг к другу, заполняют собой всю «ось» главной памяти. Существенно, что адресная шина расщепля­ется на две части: одна поступает в главную память, а другая «по­глощается дешифратором. Система работает следующим образом.

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

  1. 2. Процессор обращается по некоторому адресу, лежащему вну­три окна.

3.Дешифратор опознает принадлежность текущего адреса фиксированному окну и разрешает передачу в главную память сигна­ла сопровождения адреса MSYN. В главную намять выдается пол­ный адрес (d+g бит), определяющий одну из ее ячеек.

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

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

Рис.8.20 Пример работы с окном и 32К ячеек

Пример 4.l. Пусть имеется главная память емкостью 227 =128М ячеек. Ширина окна в адресном пространств 16-разрядной микро­ЭВМ составляет 32К, ячеек, а его позиция такова: 8000—FFFF. Тре­буется определить d и g.

Так как ширина окна составляет 32К ячеек, то из условия 2g =32К=215 получаем, что g=l5; так как d+g=27, то d=27—15=12. Это решение, поясняется диаграммами, приведенными на рис. 8.20. В главную память поступают разряды адреса, обозначенные симво­лами Х. Признаком попадания и окно является единица в старшем разряде 16-разрядного адреса. Эта единица поглощается дешифра­тором (см. рис, 8.19, б) и не поступает а главную память, а служит лишь для «открывания ворот» к главной памяти.

Регистр старших разрядов адреса может загружаться в несколь­ко этапов, если его разрядность превышает разрядность шины данных. Адрес регистра или адреса его составных частей должны, ко­нечно, лежать вне окна. После загрузки регистра старших разрядов процессор как бы вставляет в зону 8000—FFFF своего адресного пространства одну из 4096 страниц емкостью 32К ячеек из главной памяти. Исчерпав информацию с этой страницы или, наоборот, сфор­мировав нужный массив, процессор может вставить в свое адресное пространство любую другую страницу путем изменения содержи­мого регистра старших разрядов адреса. Заметим, что в данном примере дешифратор «вырождается» в провод, соединяющий его единственный вход с выходом.

Пример 4.2. Окно шириной 16К ячеек имеет позицию 8000— BFFF. Соответствующие диаграммы показаны на рис.8.21.

Рис. 8.21. Пример работы с окном в 16K ячеек

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

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

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

Рис.8.22. Схемная реализация метода банков

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

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

Если банки выполнены с виде ПЗУ, то адрес регистра (доступ­ного только по записи) может совпадать с адресом одной из ячеек области адресного пространства, отведенной для размещения и ней банков. Например, если банки ПЗУ «вставляются» в область 8000—BFFF адресного пространства микроЭВМ, то регистру можно присвоить адрес 8000. Этот адрес будет соответствовать двум раз­ным элементам — регистру и ячейке ПЗУ. При выполнении операции считывания по адресу 8000 информация будет выдана в шину данных только из ячейки ПЗУ, так как схема выдачи информации в эту шину из регистра не предусмотрена. При выполнении опера­ции записи по этому адресу информация загружается в регистр, а ПЗУ остается в пассивном состоянии, так как оно не срабатывает при наличии сигнала Запись.

Этот прием может быть полезным и в иных случаях, когда необходимо экономить адресное пространство. Например, адреса пор­тов ввода (доступных только по чтению) и вывода (доступных толь­ко, но записи) можно выбрать одинаковыми. При этом сигнал на управляющей линии Запись служит как бы дополнительным разря­дом адреса, выбирающим тот или иной порт.

Метод виртуальной памяти. Применяя методы непосредствен­ного расширения памяти микроЭВМ, следует помнить, что быстро­действующая память не может наращиваться «безгранично» в ос­новном из-за увеличения ее стоимости, потребляемой мощности, а также из-за снижения ее быстродействия.

Использование внешних накопителей на магнитных лентах, дис­ках, запоминающих устройств на цилиндрических магнитных доменах и других устройств подобного класса, позволяет увеличивать память машины до нескольких десятков или сотен миллиардов бит при вполне приемлемой стоимости и потребляемой мощности. Конечно, время обмена информацией с такими накопителями на несколько порядков выше, чем время обмена с ячейкой памяти внутреннего ОЗУ или ПЗУ.

Метод виртуальной памяти обеспечивает иллюзию «безгранич­ной» оперативной памяти при вполне ограниченной ее физической емкости (например, 256К ячеек). Идея метода проста: в случае от­сутствия в ОЗУ нужной информации в него «подкачивается» необ­ходимая страница из внешнего накопителя, вытесняя одну из «ста­рых» (давно не использовавшихся) страниц. Размер страницы мо­жет быть равен, например, 16К ячеек. Механизм «подкачки» страниц поддерживается специальными аппаратными и программными сред­ствами, скрытыми от пользователя. Поэтому пользователь считает, что в его распоряжении имеется оперативная память весьма значи­тельной емкости, которая определяется разрядностью адресной шины.

Предположим, что процессор оперирует с адресным простран­ством 232 ячеек, используя 32-разрядную адресную шину. Адреса, поступающие из процессора, называются логическими адресами. С точки зрения пользователя к процессору подключена обычная быстродействующая оперативная намять с временем доступа менее одной микросекунды и емкостью 232= 4,29 млрд ячеек. Вполне по­пятно, что создание памяти такой емкости и быстродействия при приемлемой стоимости и потребляемой мощности — задача, техни­чески не осуществимая, по крайней мере, при существующей тех­нологии. Да в этом и нет особой необходимости, в чем мы и убе­димся.

Логический 32-разряднын адрес можно представить состоящим из двух частей: старшие 18 разрядов определяют номер N одной из 218=256K страниц, с которой процессор собирается работать, а 14 младших разрядов М определяют одну из 216= 16К ячеек на вы­бранной странице. Другими словами, в распоряжении пользователя имеются 256K страниц памяти, каждая из которых содержит 16К ячеек. На рис.8.23 показана укрупненная функциональная схема аппаратного ядра виртуальной памяти. (Виртуальная память реали­зуется в виде совокупности аппаратных и программных средств: устройств ввода-вывода с соответствующими контроллерами, про­грамм замены страниц и т. д.) На рис.8.23 показаны следующие устройства, соединенные с магистралью связями, помеченными зна­ками *, для отражения факта их программной доступности: регистр логического адреса, ассоциативное запоминающее устройство АЗУ, буферная память ОЗУ1, табличная память ОЗУ2.

Регистр логического адреса предназначен для хранения адреса, поступающего из процессора по магистрали. Ассоциативное запоми­нающее устройство содержит 16 ячеек, каждая из которых состоит из трех групп разрядов, или полей: поля номера логической страни­цы S (18 бит), поля номера локальной страницы L (4 бита) и поля признаков Р, характеризующих некоторые особенности соответству­ющего массива информации (страницы размеров 16К ячеек), такие, как возможность доступа по записи, факт недавнего использования, факт изменения содержимого и др.

Рис. 8.23. Схемная реализация «ядра» виртуальной памяти

Условием выдачи информации из некоторой ячейки АЗУ явля­ется совпадение информации, поступившей из поля N регистра ло­гического адреса, с информацией, хранившейся в поле S этой ячейки. При выявлении такого совпадения в любой из 16 ячеек на выходе Q АЗУ формируется лог. 1, в противном случае — лог. 0.

Память ОЗУ1 организована в виде 16 «локальных» страниц с номерами 00002, 00012, ..., 11112. Каждая страница содержит 16К. 32-разрядных ячеек. Па вход ОЗУ1 поступает 18-разрядный адрес: четыре старших разряда поступают из поля L выбранной (при сов­падении) ячейки АЗУ и определяют номер одной из 16 локальных страниц; 14 младших разрядов — из поля М регистра логического адреса, они определяют адрес ячейки в пределах выбранной стра­ницы. Память ОЗУ1 подключается к магистрали через связи Н толь­ко в том случае, когда Q=1, т. е. при условии, что в АЗУ выбрана (по сравнению) одна на 16 ячеек. Память ОЗУ2 организована в виде 256К 32-разрядных ячеек и содержит таблицу соответствия логических страниц физическим.

Соседние файлы в папке КСТиАК - Конспект лекций