Простейшая микро-ЭВМ

         

СТРУКТУРА ПАМЯТИ


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

Максимальное количество ячеек памяти (или "объем памя­ти"), к которым может обращаться при помощи своей 16-раз­рядной шины адреса микропроцессор КР580ИК80А, равно 216, или 65 536. Обычно говорят: не 65 536 ячеек, а 64 К (1 К равня­ется 1024). Для решения некоторых задач оказывается мало и такого объема памяти, но для большинства применений доста­точно использовать лишь его часть. С другой стороны, объем памяти, содержащейся в одной микросхеме, может быть мень­ше, чем максимальный объем, который может адресовать мик­ропроцессор. Эти два обстоятельства, а также и то, что в составе памяти микро-ЭВМ необходимо иметь память с разными свой­ствами (ОЗУ и ПЗУ), приводят к специальным техническим ре­шениям при конструировании памяти микро-ЭВМ.

Рассмотрим эти технические решения на примере блока па­мяти ПМ-ЭВМ. Блок памяти, состоящий из двух микросхем ОЗУ и двух ПЗУ, подключается к шинам данных, адреса и управления (рис. 7.1). В качестве ОЗУ в ПМ-ЭВМ использу­ются микросхемы статической памяти КР541РУ2 (см. гл. 4) с организацией 1024x4 бита. Поэтому для получения объема памяти 1 Кбайт (1024 байта) необходимо подключить две микросхемы, присоединив выводы данных одной микросхемы (D12) к линиям DBO-DB3 шины данных, а выводы другой (D13) — к линиям DB4 — DB7. Остальные выводы микросхем D12 и D13 подключаются к одним и тем же линиям. Таким образом составляется блок ОЗУ емкостью 1 Кбайт.

В качестве ПЗУ в ПМ-ЭВМ используются две микросхемы КР556РТ4 (D14, D15) с организацией 256x4 бит. Они включе­ны аналогично микросхемам ОЗУ, т. е. организованы в блок 25 6 байтов.




Рис. 7.1. Схема блока памяти

Теперь рассмотрим, как размещается блок ОЗУ объемом 1 Кбайт и блок ПЗУ объемом 256 байт в пространстве адресов, вырабатываемых микропроцессором. Для того чтобы осущест­вить привязку блоков ОЗУ и ПЗУ, старшие разряды адреса (линии АВ10-АВ15) подаются на схему дешифрации адреса (микросхемы D8, D11, рис. 7.1). Шесть старших разрядов адреса АВ10-АВ15 определяют, к какому килобайту памяти микропроцессора будет произведено обращение. Десять млад­ших разрядов адреса АВО-АВ9 адресуют байты памяти в пре­делах каждого килобайта. Каждому коду на АВ10-АВ15 соот­ветствует один килобайт памяти, но вследствие того, что инвер­тированные линии АВ12-АВ15 шины адреса поступают на микросхему D8, сигнал с выхода которой разрешает или запре­щает работу дешифратора D11, дешифратор D11 будет рабо­тать только при нулевых кодах на этих линиях. В зависимости от кода на линиях АВ10 — АВ15 низкий уровень будет появляться на одном из выходов 7, 6, 5 или 4 дешифратора D11 при усло­вии, что на втором управляющем входе дешифратора (вывод 1) будет высокий уровень. В табл. 7.1 дается соответствие кода на линиях АВ 10 — АВ 15 номеру вывода D11.

В табл. 7.1 приводятся адрес первого байта, адрес последнего байта и условный номер килобайта памяти, к которому происхо­дит обращение при определенном коде на линиях АВ10 — АВ15. Из пятой строки табл. 7.1 также видно, что если адрес, выраба­тываемый микропроцессором, лежит в диапазоне от 010000Q до 177 OOOQ, то ни на одном из выходов дешифратора не бу­дет низкого уровня, т. е. с помощью выходов этого дешифра­тора нельзя адресоваться к килобайтам с 4-го по 63-й.

Выходы дешифратора используются для привязки отдельных блоков памяти емкостью 1 Кбайт к определенным областям в пространстве адресов микропроцессора; для этого они соеди­нены со входами микросхемы памяти, разрешающими их рабо­ту, а на адресные входы микросхемы памяти подаются млад­шие разряды адреса, которые осуществляют адресацию ячеек памяти внутри микросхем.



Таблица 7.1



Код на линиях АВ10— АВ1 5

Номер вывода D11.на кото­ром низкий уровень напря­жения

Диапазон адресов обла­сти памяти в восьме­ричном коде

Номер адресуе­мого ки-

А15

А14

А13

А12

All

А10

 

 

от адреса

до адреса

лобайта

0

0

0

0

0

0

7

000 000

001 777

0

0

0

0

0

0

1

6

002 000

003 777

1

0

0

0

0

1

0

5

004000

005 777

2

0

0

0

0

1

1

4

006 000

007 777

3

Любой другой код

 

 

-

010 000

177777

4-63

Рис. 7.1. Схема блока памяти

Блок из микросхем ПЗУ подключен так, что он занимает самые младшие адреса, начиная с 000 000Q. Это сделано для размещения программы-монитора, которая должна начинать работать сразу после включения микро-ЭВМ, или нажатия кноп­ки СБРОС, в результате чего вырабатывается сигнал RESET, по которому микропроцессор начинает выполнять команду, расположенную по адресу 000 OOOQ (т. е. в ПЗУ). Заметим,что для адресации 256 байтов ПЗУ достаточно восьми адресных ли­ний ABO — AB7; линии АВ8, АВ9 излишни и поэтому к ПЗУ не подсоединены. В результате этого независимо от кода на ли­ниях АВ8 и АВ9 адресуется байт ПЗУ, определяемый адресом на линиях ABO — AB7. Это приводит к тому, что один и тот же байт ПЗУ можно считывать по адресам, в разрядах АВ8, АВ9 кото­рых находятся коды 00, 01, 10 или 11. Область памяти ПЗУ, состоящая из 256 байт, повторяется 4 раза в нулевом килобай­те памяти. Ясно, что это повторение не мешает работе микро­процессора.

Такая схема адресации с неиспользованием части разрядов адреса называется схемой с неполной дешифрацией адреса. При необходимости использовать весь нулевой килобайт и поме­стить в пространство его адресов еще три блока памяти по 256 байт в каждом нужно использовать для разрядов АВ8 и АВ9 полный дешифратор, устроенный так же, как для разря­дов АВ10 и АВ11. Схема с неполной дешифрацией адреса при­водит к тому, что используется не все адресное пространство, но зато требуется меньше микросхем для ее реализации, и по­этому такая схема часто применяется в простых микро-ЭВМ.



Блок из микросхем ОЗУ подключен к выходу 4 дешифрато­ра D11, и поэтому килобайт ОЗУ адресуется как 3-й килобайт в адресном пространстве микропроцессора. На рис. 7.2 при­ведена карта распределения памяти в ПМ-ЭВМ.

Этого объема памяти достаточно для нормальной работы, но его можно при необходимости увеличить. Объем исполь­зуемого ОЗУ можно увеличить до 3 Кбайт, ничего не переделы­вая в схеме дешифрации адреса, а просто подключением допол­нительных блоков ОЗУ емкостью по 1 Кбайт к выходам 6 и 5 дешифратора D11 (рис. 7.1). Можно также увеличить объем используемого ПЗУ, если построить его из микросхем боль­шей емкости, например из микросхем К573РФ1 с организацией 1024x8 бит (1 Кбайт) или микросхем КР556РТ5 емкостью 4 Кбита и с организацией 512x8 бит (0,5 Кбайта). В первом случае будет использоваться весь 0-й килобайт, а во 2-м ячей­ки ПЗУ будут повторяться во второй половине 0-го килобайта.

 

 

 

000 000

 

 

 

ПЗУ

 

000 377

 

 

000 400

 000 777

Повторяется ПЗУ

 

001 000

 001 377

Повторяется ПЗУ

 0 и К баит

001 400

 001 777

Повторятся ЛЗУ

 

002 000

 

 

 

Память

 

 

отсутствует

1-й К байт

003 777

 

 

004 000

 

 

 

Память

 

 

отсутствует

 2-й K бaйm

005 777

 

 

005 000

 

 

 

ОЗУ

3-й K бaйm

 

Область стека

 

007 777

 

 

Рис. 7.2. Карта распределения памяти

Осталось рассмотреть подключение блока памяти к линиям шины управления. Линия R (рис. 7.1) подключена к входам 13 микросхем ПЗУ и разрешает их работу во время цикла считывания байта из ПЗУ. Линия W подключена к входам 10 микросхем ОЗУ и управляет записью байта в ОЗУ. Если на ней во время цикла обращения к ОЗУ поддерживается высокий уровень, то происходит считывание, а если низкий - то запись байта. Сиг­нал RW, вырабатывающийся и сигналом R, и сигналом W, служит Для того, чтобы разрешать работу дешифратора D11 только во время низкого уровня сигналов R и W.


Это необходимо, чтобы считывание и запись в блок памяти происходили во время выра ботки сигналов R и W, которые формируются сигналами DBIN и WR микропроцессора, определяющими момент передачи ин­формации по шине данных.



Рис. 7.3. Временная диаграмма работы блока памяти при чтении



Рис. 7.4. Временная диаграмма работы блока памяти при записи

Считывание из ОЗУ микропроцессор может выполнить в цик­лах ВЫБОРКА КОМАНДУ, ЧТЕНИЕ ИЗ ПАМЯТИ, ЧТЕНИЕ ИЗ СТЕКА а считывание из ПЗУ - только в циклах ВЫБОРКА КОМАНДЫ И ЧТЕНИЕ ИЗ ПАМЯТИ. Временные диаграммы сигналов шины адреса, данных и управления приведены на рис. 7.3. Запись информации в ОЗУ микропроцессор может вы­полнить в циклах ЗАПИСЬ В ПАМЯТЬ, ЗАПИСЬ В СТЕК. Временные диаграммы записи приведены на рис. 7.4.



Содержание раздела