Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
manual-l2only.pdf
Скачиваний:
42
Добавлен:
05.06.2015
Размер:
300.19 Кб
Скачать

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

Спустя какое-то время микросхема выставляет на линиях данных требуемые значения D: 1101 (13). Как только процессор воспринял эти значения и они стали ему не нужны он завершает цикл чтения. Для этого процессор сначала отключается от линий данных, а затем сбрасывает сигнал RD в логический ноль.

Только после того как сигнал оказался сброшен процессор позволяет себе изменить значения сигналов адреса A и данных D.

1.4.2. Обратная связь с процессором

Внимательный читатель скорее всего уже заметил «слабое место» в рассмотренном выше примере чтения из памяти. Как видно после установки сигнала RD память начала чтение выставленного процессором адреса и через некоторое время среагировала на него путём установки соответствующих разрядов данных. Причём никто не может гарантировать что разряды будут установлены одновременно. Более того никто не может гарантировать, что память вообще успеет выставить сигналы к концу цикла чтения.

Взглянем, к примеру, на линию D1 на рисунке 1.2б. Она действительно установлена в 0 или просто не успела стать единицей к концу цикла? Ведь во втором случае мы вместо результата 1101 (13) должны получить 1111

(15).

Аналогичная проблема имеет место быть и в цикле записи, однако там она не так очевидна. Успела ли память запомнить сигналы данных, которые ей передал процессор?

Значит мы должны либо заранее знать свойства устройства памяти и быть уверены что она всегда срабатывает за время, отведённое ей процессором, либо же должны ввести некоторый дополнительный сигнал ACK (от англ. acknowledge — подтверждение), подтверждающий что память завершила операцию.

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

На рисунках 1.3а и 1.3б приводятся диаграммы сигналов, с исполь-

Нет операции с памятью, чтение, запись. См. таблицу 1.1.

17

.RD .

 

.

 

.RD .

 

.

 

 

.

 

 

.

 

.WR

 

 

.WR

 

 

 

.

 

 

.

 

.

 

 

.

 

 

.ACK

 

.

 

.ACK

 

.

 

.A

.

.

.A

.

.

 

26.

 

 

11.

 

.D3 .

5..

.

.D .

. 13. .

а) Цикл записи

 

б) Цикл чтения

 

Рис. 1.3: Диаграмма сигналов гипотетического процессора при выполнении чтения и записи в память и подтверждения

зованием сигнала подтверждения ACK. Для сокращения диаграммы отдельные сигналы Ai и Dj были заменены общим псевдосигналом, представляющим все линии, составляющие эти сигналы.

Обозначение . . соответствует псевдосостоянию сигналов, когда не все из их составляющих «определились» со значением, а . .4. соответствует состоянию, когда сигналы установились и в совокупности образовали число 4.

Рассмотрим последовательности действий ещё раз.

Запись с сигналом подтверждения мало чем отличается от записи без подтверждения. Соответствующие диаграммы приведены на рисун-

ке 1.3а.

Перед циклом процессор готовит линии адреса и данных для того, чтобы в течении всего цикла их сигналы были бы неизменны. Затем сигнал WR устанавливается в единицу, что означает собственно начало процедуры записи.

Как только память видит, что сигнал записи WR установлен в единицу, она начинает процедуру записи. Эта процедура занимает какое-то время т.к. память должна подключить соответствующую ячейку и, собственно, произвести запись. Как только запись завершена память устанавливает сигнал подтверждения ACK (выдаёт процессору квитанцию).

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

В свою очередь память сбрасывает сигнал ACK только после того, как процессор сбросил сигнал WR. Как только сигнал ACK оказывается сбро-

18

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