2

Рассмотрим следующую последовательность микроопераций.Последовательность микроопераций для операций?

MBR ← PC 
    MAR ← X 
    PC ← Y 
    Memory ← MBR 

Какая из приведенных ниже операций возможна в результате этой последовательности?

  1. Инструкция выборки
  2. Операнд выборки
  3. Условный филиал
  4. Инициирование прерывания обслуживания

Ответ вариант (4).

Моя попытка:

  1. Инструкция выборки: Выборка инструкции: Прочитайте код инструкции от адреса в ПК и место в ИК. (IR ← Память [ПК])
  2. Операнд выборки: выбор операндов из памяти, если необходимо: если какие-либо операнды являются адресами памяти, инициируйте циклы чтения памяти, чтобы прочитать их в регистры CPU. Если операнд находится в памяти, а не в регистре, то адрес памяти операнда известен как эффективный адрес или советник для краткости. Поэтому выборка операнда может быть обозначена как Register ← Memory [EA]. На современных компьютерах процессоры намного быстрее, чем память, поэтому выборка из операндов обычно требует нескольких циклов процессора.
  3. Инструкция условного перехода приводит к тому, что счетчик местоположения в PSW должен быть установлен на адрес, указанный в регистре или регистре плюс 12-битное смещение, если условие выполнено (а регистр не равен 0)
  4. Процедура обслуживания прерываний (ISR) - это программная подпрограмма, которую аппаратное средство вызывает в ответ на прерывание. ISR исследуют прерывание и определяют, как его обрабатывать. ISR обрабатывают прерывание, а затем возвращают значение логического прерывания.

Можете ли вы объяснить, в последовательности микроопераций для операций, указанных в опции?

+0

есть вопросы? – arduic

+0

Я прошу использовать микрооперации, такие как «MBR ← PC MAR ← X ПК ← Y Память ← MBR' для _Интерация службы прерываний_. Аналогично, если вы можете дать такие правильные «коды» для других опций (1), (2) и (3) _? –

+1

Я немного озадачен, это не 'память <- MBR' запись в память? Ни одна из перечисленных операций не записывает память. – Jester

ответ

3

Этот вопрос использует обозначения из одного из учебников Уильяма Сталлинга Computer Organization and Architecture. Сам вопрос не содержит достаточного фонового материала для кого-то, незнакомого с учебником Сталлинга, чтобы ответить на него (я не владею учебником Stalling или не знаю, к какой версии относится этот вопрос).

Однако, увидев комментарий, который указал на ответ на another site, я googled для «правил группировки тактовых циклов». Это привело к множеству ссылок, которые указывали на различные различные слайды.

Третья ссылка для меня была powerpoint presentation которая включала слайд, который я скопировал ниже как изображение.Был слайд, который объяснил, что MAR и MBR стоять:

памяти Адрес регистра (САХ)

  • Подключен к адресной шине

  • Определяет адрес для чтения или записи оп

Регистр буфера памяти (MBR)

  • Подключение к шине данных

  • Содержит данные для записи или последние данные, считываемые

screenshot

Так кажется, что то, что происходит в том, что сначала PC помещается в MBR. Затем будет сохранен адрес, где будет сохранен код PC, от X до MAR. В том же цикле PC устанавливается в начало процедуры обслуживания прерывания, которая доступна в Y. Наконец, данные в MBR передаются на шину в память.

+0

Спасибо за объяснение. –

+0

Я не мог понять, как два разных адреса могут проходить одновременно за один такт (тактовый цикл t2), чтобы регистрировать MAR и PC через одну адресную шину. – Zephyr