Инструкция CALL
требует 5 машинных циклов, а именно OPCODE-FETCH, MEMORY READ, MEMORY READ, MEMORY WRITE, MEMORY WRITE
. Цикл OPCODE-FETCH команды CALL имеет 6 T-состояний для управления уменьшением указателя стека .
RET
Инструкция требует 3 машинных цикла , OPCODE-FETCH, MEMORY READ, MEMORY READ
даже здесь микропроцессор должен увеличить указатель стека дважды, как и раньше , чтобы вытолкнуть. Но цикл OPCODE-FETCH имеет только 4 T-состояния. Почему?
У меня есть смутное представление, почему; in CALL
и PUSH
SP должен быть сначала уменьшен, в отличие от RET
или POP
. Только это первое уменьшение выполняется в последних двух Т-состояниях цикла FETCH
. Но зачем для этого нужно два Т-состояния. Опять же, я действительно не уверен в этом. Пожалуйста, помогите.
CALL
Прежде чем говорить об обучении, было бы полезно еще раз проанализировать обучение RET
.
ПОЗВОНИТЕ ИНСТРУКЦИЮ ПО ТЕЛЕФОНУ 8085
Как вы сказали, он состоит из: Opcode Fetch
, Memory Read
, Memory Read
, Memory Write
,Memory Write
8085 следует методологии декремента и проталкивания при проталкивании в стек.
Opcode Fetch
в 8085 обычно 4 состояния T. Однако для CALL
обучения требуется 2 дополнительных состояния T. Это связано с тем, что после выборки и декодирования указатель стека должен быть уменьшен до первого Memory Write
цикла, который сохранит текущий старший разряд ПК в стеке.
Во время первого Memory Write
значение помещается внутрь, а указатель стека снова уменьшается процессором. Это делается параллельно, так что следующий Memory Write
цикл может начаться немедленно без потери дополнительных T-состояний. Во втором Memory Write
LSB ПК помещается в стек, но указатель стека не нужно уменьшать, так как дальнейших операций записи не происходит.
Memory Read
цикл, где адрес ветвления хранится во внутренних регистрах WZ.
Каждый из них Memory Write
имеет 3 Т-состояния, а каждый Memory Read
также имеет 3 Т-состояния.
Таким образом, всего T состояний = 4 + 2 + 3 + 3 + 3 + 3 = 18.
ИНСТРУКЦИЯ RET В 8085
Он состоит из: Opcode Fetch
, Memory Read
,Memory Read
Опять же, Opcode Fetch
это 4 Т-состояния. Однако 8085 следует методологии извлечения и увеличения при извлечении из стека. Указатель стека уже указывает на младший бит адреса возврата, поэтому нет необходимости заранее увеличивать указатель.
Во время первого Memory Read
считывается указанное значение, и указатель стека также увеличивается процессором параллельно. Во время следующего Memory Read
считывается старший бит адреса возврата, и указатель стека снова увеличивается параллельно.
Таким образом, всего T состояний = 4 + 3 + 3 = 10.
Таким образом RET
, в , в отличие от , в Opcode Fetch
отличие от , в CALL
.
Аравинд Васу
Миту Радж
придурок