Программирование на JAVA

Мы будем считать, что для этой цели используется управляющий сигнал MFC (Memory Function Complete). Адресуемое устройство устанавливает значение этого сигнала в 1, указывая тем самым, что содержимое заданного адреса прочи­тано и помещено на линии данных шины памяти. Такими сигналами, в частности, могут быть сигналы Slave-ready.


Рис. 8.4. Соединения и управляющие сигналы регистра MDR

Ниже показано, как можно выполнить операцию чтения данных из памяти с по­мощью команды Move R2,(R1). Ее реализацию можно разбить на пять этапов.

1. Запись MAR ← [Rl].

2. Начало операции чтения с шины памяти.

3. Ожидание сигнала MFC на шине памяти.

4. Загрузка в MDR данных на шине памяти.

5. Запись R2 ← [MDR].

Эти действия выполняются последовательно, но некоторые из них допускают объединение в один шаг. Каждое из указанных действий может быть завершено за один такт. Исключение составляет лишь действие 3, время выполнения кото­рого зависит от скорости адресуемого устройства.

Для простоты изложения материала мы предполагаем, что выход регистра MAR доступен всегда. Следовательно, его содержимое всегда доступно на адрес­ных линиях шины. Это случай, когда процессор является хозяином шины. Когда в MAR загружается новый адрес, он появляется на шине памяти в начале следую­щего такта, как показано на рис. 8.5. Управляющий сигнал считывания активизи­руется одновременно с загрузкой регистра. В ответ на этот сигнал схема интер­фейса шины помещает на шину команду чтения MR. При такой организации действия 1 и 2 можно объединить в один управляющий шаг. Действия 3 и 4 тоже можно объединить, если активизировать управляющий сигнал MDRinE во время ожидания ответа основной памяти. Полученные из памяти данные будут загруже­ны в MDR в конце того такта, на котором получен сигнал MFC. На следующем такте для пересылки данных в регистр R2 активизируется линия MDRout Это оз­начает, что операция чтения данных из памяти может быть выполнена за три шага.

1. R1out, MARin, Read.

2. MDRinE,WMFC.

3. MDRout, R2in.

Здесь WMFC — это управляющий сигнал, сообщающий управляющим схе­мам процессора, что они должны ждать поступления сигнала MFC.

Т.к. сигнал MDRinE устанавливается в 1 на время действия команды чтения MR, то в дальнейшем мы не будем явно указывать значение MDRinE, поскольку оно всегда совпадает с длительностью выполнения команды MR.

Сохранение слова в памяти

Запись слова по заданному адресу памяти производится похожим образом. Адрес загружается в регистр MAR. Затем данные, подлежащие записи в память, загружа­ются в MDR и выдается команда записи. Команда Move (R1),R2 выполняется так:

1. R1out, MARin.

2. R2out, MDRin, Write.

3. MDRout, WMFC.

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


<< назад вперед >>