Режим работы с внешней памятью данных

Память данных используется для временного хранения некоторой базы данных. Если объем одновременно хранимой базы данных больше объема внутренней памяти данных микроЭВМ (максимум 128 байт), то можно использовать внешнюю память данных, то есть ОЗУ, имеющую объем до 256 байт. Таким образом, объем внешнего ОЗУ может иметь максимальное значение равное 256 байтам. Размер адресуемой памяти данных ограничивается разрядностью шины DB, посредством которой осуществляется обращение со стороны микроЭВМ к внешней памяти.

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

Рассмотрим структурную схему подключения внешней памяти данных, объемом до 256 байт к МК48.

Для работы с внешней памятью данных в микроЭВМ предусмотрены два управляющих сигнала: /RD – чтение внешней памяти данных, /WR – запись во внешнюю память данных.

Несколько замечаний по схеме. Так как шина DB используется в режиме временного мультиплексирования, то есть и для выдачи адреса ячейки памяти и для выдачи при записи или приема при чтении данных, то ясна необходимость применения регистра, в котором по спаду сигнала ALE фиксируется адрес ячейки памяти, к которой происходит обращение. ОЗУ в режиме чтения выдает данные на шину DB из ячейки памяти, адрес которой оно имеет на адресных входах А0-А7 по сигналу /RD. В режиме записи ОЗУ принимает данные с шины DB и записывает их в адресованную ячейку памяти по сигналу /WR. При отсутствии сигналов /RD и /WR выводы Q0-Q7 ОЗУ находятся в третьем состоянии.

Временные диаграммы циклов чтения и записи внешней памяти данных.

Для работы с внешней памятью данных используются команды:

MOVX A, @R0

MOVX A, @R1 – две команды чтения внешней памяти данных.

MOVX @R0, A

MOVX @R1, A – две команды записи во внешнюю память данных.

Как видно во всех командах участвует аккумулятор, а также регистры R0 или R1. Через регистры R0 или R1 реализована косвенная адресация внешней памяти данных, а именно в этих регистрах содержится адрес ячейки памяти.

Фрагмент программы, который производит запись числа 56 в ячейку внешней памяти данных, имеющую адрес 99.

MOV A, #56

MOV R0, #99

MOVX @R0, A


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: