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

   творожные шарики- Вкусно и Просто. |       

КАК МИКРОПРОЦЕССОР ВЫПОЛНЯЕТ КОМАНДУ?


В ПМ-ЭВМ используется микро­процессор КР580ИК80А, структурная схема которого приведе­на на рис. 4.4. Микропроцессор содержит 16-разрядную шину адреса и 8-разрядную шину данных, способную к передаче сообщений в двух возможных направлениях. Единовременно передаваемая порция информации соответствует одному байту (8 двоичных разрядов). В самом общем случае возможны сле­дующие передачи сообщений: 1) пересылка байта данных от устройства ввода; 2) пересылка байта данных к устройству вывода; 3) считывание байта данных из памяти или запись в память; 4) генерирование в шину данных специального байта, называемого управляющим словом и предназначенного для установления правильного схемного соединения.

Работа МП (или центрального процессорного элемента ЦПЭ) по реализации каждой команды программы пользователя осно­вана на принципе микропрограммного управления. Это озна­чает, что каждая команда реализуется как некоторая последо­вательность микрокоманд или микроопераций, приводящая к требуемому результату. Считываемая из памяти микропро­цессором команда, вернее, ее 8-разрядный двоичный код (код операции), поступает в регистр команд, где и хранится в тече­ние времени выполнения команды. По результату дешифриро­вания кода команды происходит формирование последователь­ности микрокоманд (микропрограммы), процесс выполнения которой и определяет все последующие операции, необходимые для выполнения считанной команды.

Таким образом, выполнение каждой считанной ЦПЭ команды программы пользователя осуществляется в строго определен­ной последовательности, задаваемой кодом команды. При этом выполнение отдельных микроопераций синхронизируется во времени сигналами Ф1 и Ф2 тактового генератора. Одним из важнейших понятий всего процесса выполнения команд про­граммы является понятие машинного цикла.

В микропроцессоре КР580ИК80А процесс выполнения каж­дой команды можно разбить на ряд основных операций. Время, отведенное на выполнение операции обращения к памяти или к устройству вывода, составляет машинный цикл.
Таким обра­зом, процесс выполнения команды состоит из стольких машин­ных циклов, сколько обращений к памяти или к устройствам ввода/вывода требуется для ее исполнения. Машинный цикл в свою очередь состоит из нескольких машинных тактов.

Каждая команда в зависимости от ее вида может занимать от одного до пяти машинных циклов. Микропроцессор КР580ИК80А имеет 10 типов машинных циклов, перечисленных в табл. 6.2, а каждый машинный цикл может состоять из 3 — 5 машинных тактов. Под машинным тактом подразумевается интервал времени, соответствующий одному периоду тактовых импульсов, подаваемых от синхрогенератора.



Рис. 4.5. Временная диаграмма для команды, требующей четыре машин­ных цикла

Для организации машинных циклов требуется формирование строго синхронизированной во времени последовательности управляющих сигналов, обеспечивающих правильные пути про­хождения данных в строго определенные моменты времени, и выполнение требуемых микроопераций. Как уже отмечалось, исходными данными для этого являются результаты дешифри­рования операционного кода команды. Выполнение команды всегда начинается с цикла обращения к памяти, в результате которого производится считывание кода, интерпретируемого МП как код операции. Будем обозначать машинные циклы од­ной команды символами Cl, C2 и т. д., а машинные такты од­ного цикла — символами Tl, T2 и т. д. Таким образом, машин­ный цикл С1 — это всегда цикл выборки команды. Его длитель­ность обычно — четыре или пять тактов. Последующие циклы С2 — С5 состоят обычно из трех тактов. Для простых операций, таких как арифметические, команды занимают четыре или пять тактов. Команды более сложных операций требуют для выполне­ния до 18 машинных тактов.

В качестве примера рассмотрим команду LDA (ЗАГРУЗИТЬ данные в аккумулятор), требующую для реализации четыре машинных цикла. На рис. 4.5 приведена временная диаграмма команды LDA. Эта команда переписывает в аккумулятор дан­ные, содержащиеся в определенной ячейке памяти.



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

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

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

В четвертом машинном цикле происходит окончательное вы­полнение команды: аккумулятор загружается данными из па­мяти по адресу, записанному в регистрах W и Z.

В первом такте четвертого машинного цикла содержимое регистров W и Z передается через буфер в шину адреса. Во вто­ром такте предоставляется время для ответа памяти. Наконец, в третьем такте содержимое шины данных пересылается через буфер в аккумулятор. Выполнение команды полностью завер­шено за 13 машинных тактов.

Перейдем теперь к рассмотрению системы команд микро­процессора КР580ИК80А и особенностей их работы.



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