Компьютерная архитектура домашнее задание - инструкция операндов - PullRequest
1 голос
/ 12 марта 2012

Цифровой компьютер имеет блок памяти с 32 битами на слово.Набор команд состоит из 150 различных операций.Все инструкции имеют часть кода операции (код операции), часть операнда регистра (задает один из 10 различных регистров) и часть адреса операнда памяти.Каждая инструкция хранится в одном слове памяти.

(d) Может ли инструкция для этого компьютера использовать (i) два операнда памяти и (ii) два операнда регистра?Если это возможно, объясните как;если нет, объясните, почему нет.

Я действительно не уверен в этом вопросе.Я думаю, что ответ на первую часть состоит в том, что инструкция использует два операнда памяти, если указанный регистр содержит адрес памяти, а инструкция - что-то вроде ADD?Или я не понимаю вопроса?

Что касается (ii), я чувствую, что ответ должен быть, что это возможно, но я не уверен, как это делается, и не знаю, как искатьответ.редактировать: ответ просто, что операнд регистра может быть помещен в часть операнда памяти инструкции?

1 Ответ

2 голосов
/ 12 марта 2012

Из кодирования инструкции следует, что из 32 битов, которые занимает каждая инструкция, 8 используются для кодирования инструкции / операции, 4 используются для кодирования регистра, а остальные 20 используются для кодирования адреса в памяти.

Учитывая вышесказанное, я не вижу причин, по которым не может быть такой инструкции, как ADD, OR, MOV, XCHG и т. Д., Которая могла бы манипулировать двумя операндами памяти, адреса которых находятся в этих 20 битах, а регистр выбран эти остальные 4 бита.

Аналогичным образом, я не вижу причин, по которым регистры не могут находиться в основной памяти и выбираться либо 4-битным полем инструкции, либо соответствующим адресом в 20-битном поле инструкции. Существует много процессоров, регистры которых не имеют хранилища отдельно от основной памяти и являются просто фиксированными ячейками основной памяти.

Как указывалось выше, проблема дает возможность ответить на оба вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...