Скачиваний:
46
Добавлен:
03.06.2014
Размер:
676.35 Кб
Скачать

4. Формат команд.

Длина всех команд – 32 бита. Такой подход (команды одинаковой длины) является особенностью RISC-архитектуры и призван упростить аппаратную реализацию процессора. Существует также понятие максимальной адресности команды. В случае это значение равно двум. Это значит, что в команде можно ссылаться не более чем на два регистра, с которыми можно производить те или иные действия. Если для исполнения команды требуется большее их число, то приходится либо вводить дополнительные специализированные регистры, либо использовать регистры с номером, следующим за указанным. Получается следующий формат команды:

Используемые части по битам:

а) ОС (10 разрядов) – код операции, определяет по сути перечень выполняемых процессором действий на очередном этапе работы;

б) F-1 (3 разряда) – номер регистра-приемника, в регистр с этим номером записывается результат выполнения операции, иногда он же является и регистром-источником, если в операции нужны два операнда или происходит запись в память;

в) F-2 (3 разряда) – номер регистра-источника, а также базового регистра при обращении к памяти (даже при записи, когда приемником будет память);

г) CONST (16 разрядов) – поле используется для хранения констант, которые могут понадобится в команде.

Поле OCвсегда должно быть заполнено. А остальные – только если они учитываются в данной команде, в противном случае их значение может быть произвольным. Если в команде нужны два или три регистра, то соответствующие поля будет заполнены, а вот при наличии только одного регистра все зависит от его назначения, если команда его модифицирует, он записывается в первом поле, иначе – во втором. Если происходит обращение к памяти, то используется второе поле и константа. Константы используются по необходимости и в других ситуациях. В любом случае, точную информацию можно будет найти для каждой конкретной команды в списке команд.

5. Методы адресации:

Адресация нужна для того, чтобы указать процессору, где находятся данные, подлежащие обработке. Существует несколько методов адресации, у разных производителей они могут называться по-разному. Но можно выделить следующие четыре способа адресации: непосредственная (Н), относительная (О), прямая (П) и косвенная (К). Реализация механизмов непосредственной адресации для данного варианта, в котором это не предусмотрено заданием, необходима в том случае, когда нужно обеспечить функциональную полноту системы команд. Понятно, что прежде чем использовать регистры при выполнении разных операций, нужно туда что-либо занести. И даже при косвенной адресации (когда содержимое регистра рассматривается как адрес нужного операнда) регистр с адресом должен был предварительно им заполнен. Поэтому непосредственная адресация используется, но только при загрузке регистров. Далее об относительной адресации. Она выполняется относительно счетчика команд PCR(название регистра, смотри ниже), и используется в общем, только в командах условных и безусловных переходов. Для этого нужно как-то задать смещение, для чего применяется поле констант в команде. Прямая адресация в данной работе используется только как регистровая, так как адрес в памяти нельзя "втиснуть" в 32-х разрядную команду, то есть используется как бы адрес регистра – его номер. Косвенная адресация вполне традиционна – содержимое регистра используется как адрес операнда в памяти.

Поскольку адресность команд равна двум, то один регистр будет приемником, другой – источником. Останется поле констант. Его можно прибавлять к регистру – источнику адреса.

Поскольку разрядность регистров равна 64, а шины адреса – 32, то при косвенной (по базе со сдвигом) адресации используется только младшая половина регистра, а старшая никакого влияния на результат оказывать не будет

Соседние файлы в папке kurs