Пример диаграммы выполнения команды пересылки
Рассмотрим временную диаграмму сигналов на шине адреса (линии ), шине данных (линии ) и линиях управления памятью #MemRи #MemW при выполнении некоторой обобщенной команды пересылки байта из регистра A процессора в память. Пусть команда имеет формат 3 байта, причем первый байт содержит код операции пересылки регистр-память, а второй и третий байты содержат адрес ячейки-получателя. Это значит, что в команде используется прямая адресация памяти. Условное изображение формата такой команды показано на рис. 4.2.
Рис. 4.2. Формат команды пересылки с прямой адресацией памяти.
1- код операции пересылки из регистра Aв память;
2- младший байт адреса ячейки-получателя;
3- старший байт адреса ячейки-получателя.
Любая команда реализуется как последовательность машинных циклов, причем в каждом машинном цикле выполняются действия по обращению к памяти (или к периферийному блоку). Соответствующая временная диаграмма изменения сигналов показана на рис. 4.3.
Рис. 4.3. Диаграмма сигналов при выполнении команды пересылки с прямой адресацией памяти
1- адрес очередного байта команды, выдаваемый из регистра PC процессора;
2- адрес ячейки-получателя, выдаваемый из регистров временного хранения;
3- первый байт кода команды (код операции), прочитанный из памяти в процессор и помещенный в регистр команды IR для последующей дешифрации;
4- младший байт адреса ячейки-получателя, прочитанный из памяти;
5- старший байт адреса ячейки-получателя, прочитанный из памяти;
6- содержимое регистра A, пересылаемое из процессора в ячейку-получатель.
Вертикальные линии на диаграмме соответствуют условным границам машинных циклов. В каждом цикле чтения очередного байта команды адрес, выдаваемый на шину адреса, обязательно берется из регистра PC. Обратим внимание, что после чтения из памяти очередного байта команды содержимое регистра PC автоматически увеличивается на единицу.
Информация на линии адреса всегда выдается из процессора, в то время как направление передачи по шине данных зависит от выполняемых действий и определяется текущим активным сигналом управления #MemRили #MemW. Эти сигналы формируются в инверсной логике, т.е. низкий уровень соответствует активному состоянию сигнала.
В конце первого машинного цикла при получении кода команды блок дешифрации команд в составе процессора анализирует полученный код. Действия в последующих машинных циклах определяются именно полученным кодом операции.
|