Микропроцессорный комплект больших интегральных схем, страница 17

          Если данные на вводе МП не готовы, то ВУ или устройство памяти сигнализирует ему об этом выдачей сигнала READY-0 (не готово) и МП переходит в состояние ожидания ТW, которое может длиться неограниченно большое, но целое число тактов, пока сигнал READY не примет значение логической единицы. После этого МП переходит в такт Т3. Все время, пока МП находится в состоянии ТW (ожидание) на выходе WAIT сигнал равен логической 1. Этот сигнал указывает ВУ, что МП находится в режиме ожидания.

          Сигнал READY позволяет  синхронизировать работу МП с памятью и ВУ малого быстродействия. Его можно использовать также для организации пошагового режима работы МП. Каждый шаг равен одному машинному циклу. Наличие останова ТW не является обязательным. Например, если после окончания такта Т2 данные от ВУ или памяти готовы (READY=1), захват шин ВУ отсутствует (HOLD=0)  и сигнал HLTA=0, т.е. режима останова нет, то МП непосредственно из такта Т2 переходит в такт Т3 и время ожидания ТW не используется.

          В такте Т3 в режиме чтения данные, поступающие из памяти или устройства вв-вы на шины данных, становятся активными и передаются в регистр команд (если выполняется цикл М1) или на внутренние регистры МП (если выполняются другие циклы). Сигнал DBIN подтверждает, что МП готов принять информацию по шине данных, т.е. шина данных МП находится в режиме ввода. На рис. показано взаимодействие сигнала DBIN и шины данных в режиме чтения МП. В режиме записи шина данных МП работает на выход.

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

          В тактах Т4 и т5 (если они необходимы при выполнении команды) происходит завершение машинного цикла. После этого МП вновь переходит к такту Т1 и, если выполнение команды не ограничивается, входит в следующий машинный цикл. Если же команда состоит всего лишь из одного машинного цикла (однобайтная) или же выполняется последний машинный цикл команды, то начинается первый машинный цикл (М1) следующей команды. Во время пребывания в последнем цикле команды по сигналу Ф2 производится опрос сигнала INI и, если есть запрос на прерывание и сигнал INTE (прерывание разрешено) находится в состоянии логической 1, то в течение цикла М1 приращение содержимого программного счетчика не производится и выдается единичный сигнал INTA (бит D0 слова состояния).  Он подтверждает, что МП находится в режиме прерывания. Сигнал INTE при этом сбрасывается в нулевое состояние.

          Если в результате выполнения команды останова МП окажется в режиме ожидания, то об этом свидетельствует единичный сигнал HLTA (разряд D3 слова состояния). В режиме останова МП будет оставаться до тех пор, пока не поступит запрос на прерывание (при единичном значении сигнала INTE, разрешающем прерывание). В состоянии останова (HALN) шины адреса и данных МП находятся  в высокоимпедансном состоянии и их захват другими устройствами может происходить в любое время. Если же останова нет, то сигнал HALT = 0 и захват шин может происходить лишь в такте Т3 в режиме чтения либо в такте, следующем за Т3 в режиме записи.

          Таким образом, операции,  выполняемые в такте Т3, определяются видом машинного цикла. Например, в машинном цикле выбора команд (М1) данные воспринимаются как код команды и помещаются в регистр команд. В цикле чтения из памяти или стека данные воспринимаются как слово информации.

          В машинном цикле, предусматривающем запись в память, на шинах данных появляется информация для вывода в память. При выполнении операций вв-вы МП либо воспринимает информацию от ВУ, либо выдает ее на  В.У.