Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Konspekt_lektsy_MPT

.pdf
Скачиваний:
39
Добавлен:
05.06.2015
Размер:
1.59 Mб
Скачать

Раздел 2. Функциональная схема МПУ

2.1. Адресные пространства и их взаимодействие

Функциональная схема МПУ (логическая схема МПУ, граф передачи данных в МПУ) представляет из себя графическое представление совокупности программно доступных ресурсов и путей передачи данных между ними.

Под программно доступными ресурсами подразумеваются ресурсы (память, устройства ввода/вывода, регистры общего назначения и т.д.), для доступа к которым имеется соответствующая команда. Следует понимать, что наличие того или иного ресурса у процессора не делает его автоматически программно доступным. Например - счётчик команд у процессоров x86 или АЛУ у процессоров PDP программно доступными не являются.

Элементы каждого программно-доступного ресурса пронумерованы. Их совокупность составляет адресное пространство этого ресурса. Размер адресного пространства определяется

максимальным количеством элементов, которые могут в нем существовать. Количество реально установленной памяти (или внешних устройств) на размер адресного пространства не влияет (хотя и не может его превосходить).

Существуют несколько ситуаций взаимодействия адресных пространств между собой.

21

2.1.1. Параллельные адресные пространства

Рис 2.1. Параллельные адресные пространства ресурсов А и В

На рисунке 2.1 показаны параллельные адресные пространства. Они могут иметь разные размеры. Нумерация ячеек в них – независимая. Характерной особенностью параллельных адресных пространств является наличие индивидуальных команд доступа – отдельный набор команд для каждого адресного пространства. С аппаратной точки зрения для каждого из таких адресных пространств существует индивидуальный набор стробов чтения/записи. Например, для чтения/записи адресного пространства страницы ввода/вывода - сигналы IOR и IOW.

22

2.1.2. Совмещенные адресные пространства

Рис 2.2. Совмещенные адресные пространства ресурсов А и В

В случае совмещения адресных пространств ресурсы помещаются в общее адресное пространство. Разделение ресурсов производится по адресам. В примере, показанном на рисунке 2.2, ресурс А может располагаться с адреса 0 до адреса К, а ресурс В – между адресами L и N. Доступ к ресурсам осуществляется общей командой (в примере на рисунке – MOVC), при этом выбор требуемого ресурса осуществляется подстановкой нужного адреса.

С аппаратной точки зрения для обоих адресных пространств используется один - общий набор, состоящий из одной пары стробов чтения/записи.

23

2.1.3. Смешанные адресные пространства

Рис 2.3. Смешанные адресные пространства ресурсов А и В

Пример смешанных адресных пространств показан на рисунке 3. От адреса 0 до адреса L адресные пространства являются совмещенными (более того, они являются единым ресурсом). Доступ к этой области адресного пространства возможен как командами MOVA (команда доступа к ресурсу А), так и командой MOVB (команда доступа к ресурсу В). Начиная с адреса L и далее, до конца адресного пространства – адреса N – адресные пространства становятся параллельными и доступ к каждому из них осуществляется своей командой.

Подобная структура характерна для адресного пространства внутренней памяти данных контроллеров семейства MCS-52.

24

Одним из случаев характерного расположения адресных пространств являются гарвардская и фон-неймановская (принстонская) архитектуры.

Фон-неймановская (принстонская) архитектура характеризуется тем, что память программ (ПП) и память данных (ПД) неразличимы - команды программы и данные хранятся в одной и той же памяти.

Двойным названием эта архитектура обязана историческому факту: разработчики этой архитектуры (из Принстонского университета) назвали её в честь научного консультанта проекта - Джона фон Неймана, который участвовал в проекте дистанционно. Сам же Джон фон Нейман, узнав о таком названии, настаивал, чтобы эту архитектуру называли принстонской. В настоящее время употребляются оба эти названия.

Такая архитектура является единственно приемлемой для ЭВМ общего назначения.

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

25

низкого быстродействия. Из-за этого разделение общей памяти на память данных и память программ оказывается логичным.

2.2. Расширенное адресное пространство.

Для адресации ячейки того или иного ресурса необходимо место, в которое надо занести её адрес. Как правило, в роли такого ресурса, несущего в себе адрес выступают регистры общего назначения (РОН), в других случаях в качестве адреса может быть использована константа, следующая за командой. «Ширина» этой константы будет, естественно, ограничена разрядностью шины, которая совпадает с разрядностью РОН. Иное нецелесообразно – зачем нужен РОН, в который «не влазит» константа или, обратный случай, который нужно загружать за два раза?

Получается парадоксальная ситуация – из сказанного выше следует, что у 8-разрядных ядер максимальный размер адресного пространства ограничен 256 словами.

Для того чтобы понять, каким образом 8-разрядные ядра адресуют более чем 265 слов, рассмотрим способы доступа к расширенному адресному пространству.

Часть адресного пространства, доступная исходя из разрядности РОН, называется непосредственно адресуемой. Как было показано выше, для 8-разрядных РОН непосредственно адресуемой является младшая часть адресного пространства длинной 256 слов. Оставшаяся часть адресного пространства называется расширенной.

Адресное пространство, существующее для программы, называется логическим. Размер его совпадает с размером непосредственно адресуемой памяти. Адреса, которые при таком способе доступа приходят на входы модуля памяти, составляют

физическое адресное пространство или физический адрес.

26

Рис 2.4. Расширенное и непосредственно адресуемое адресные пространства.

К=2N, где N – разрядность РОН

Устройство, которое преобразует логический адрес в физический, называется диспетчером памяти (ДП). Диспетчер памяти обычно имеет регистр, с помощью которого управляют этим преобразованием. Располагается такой регистр в адресном пространстве, обязательно параллельном преобразуемому. Чаще всего для этого используется адресное пространство устройств ввода/вывода (страница ввода/вывода, УВВ, IOP).

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

27

2.2.1. Метод регистровых пар

Этот способ впервые был применен в процессоре 8080. Суть его сводилась к тому, что два 8-разрядных РОН (а так же регистры диспетчера памяти) H и L при обращении к адресному пространству размером в 64 Кб аппаратно объединялись в 16-разрядную регистровую пару HL, содержащую физический адрес.

Рис 2.5. Метод регистровых пар в исходном варианте

Неудобство этого метода заключалось в следующем:

-два из шести РОН были задействованы под хранение адреса, следовательно, исключались из других применений;

-операции инкремента и декремента адреса приходилось выполнять как для двухбайтового числа – сначала операция проводилась с регистром L, затем возможный перенос (заём) учитывался в старшем байте – регистре H.

В настоящее время метод применяется в модифицированном виде. Например, в ОЭВМ семейств MCS-51 и MCS-52 в роли регистра

диспетчера памяти используется 16-разрядный регистр DPTR, 28

который относится не к РОН, а к регистрам специальных функций

(РСФ, SFR), и, следовательно, не ограничивает использование регистров общего назначения.

Регистр DPTR может быть загружен 16-разрядной константой с помощью специальной команды, или же доступен как два 8-разрядных регистра – DPH и DPL. Существует также команда инкремента регистра.

Рис 2.6. Метод регистровых пар в современном варианте

2.2.2. Метод оконного доступа

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

Суть метода сводится к тому, что в непосредственно адресуемом пространстве выделяется область, называемая окном, размер которой равен степени двойки. Расширенное пространство разбивается на области, равные по размеру окну, которые нумеруются.

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

29

При обращении к адресу, не попадающему в область окна диспетчер памяти не включается и логический адрес совпадает с физическим.

Если же адрес ячейки, к которой идет обращение, находится в области окна, диспетчер памяти производит пересчет таким образом, чтобы адрес ячейки совпал с адресом на требуемой странице. Например, если адресуется 5 ячейка окна, а в диспетчере памяти указана область 3, то адрес пересчитывается таким образом, чтобы попасть на 5 ячейку от начала 3 области.

Рис 2.7. Метод оконного доступа

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]