Система команд


Рассмотрим двухоперандные команды:

Двухоперандная команда

Рис. 2.12. Двухоперандная команда

Закодируем следующим образом:

00 – команда сложения (ADD), которая работает следующим образом Rb¬Ra+Rb

01 – LOAD (чтение из памяти), которая работает следующим образом: в регистр Rb заносится содержимое ячейки памяти по адресу Ra: Rb¬M[Ra]

10 – STORE (сохранение, запись), алгоритм: M[Ra]¬Rb

11 – признак однооперандной команды.

Однооперандная команда

Рис. 2.13. Однооперандная команда

Понятно что для однооперандной команды у нас требуется наличие какого-то одного регистра в качестве хранителя этого операнда регистр В, а 3 освободившихся разряда будем использовать для кодирования кода операции однооперандной команды, где

000 – CLR(команда очистки), алгоритм: Rb¬0

001 – NOT(инверсия разряда),алгоритм выполнения: Rb¬~Rb

010 – INC(команда увеличения на 1) алгоритм: Rb¬Rb+1

011 – LOADI (загрузка непосредственно) за командой непосредственно следуют 4 байта загружаемых данных. Алгоритм: Rb¬M[PC+1], PC ¬ PC+n/8

100 – SHL (сдвиг влево) алгоритм: Rb¬Rb<<1

101 – SHR алгоритм: Rb¬Rb>>1

110 – JC(переход, если установлен флаг переноса) алгоритм: PC¬CF?Rb:PC+1

111 – префикс нульместной операции

Нульоперандная команда:

Нульоперандная команда

Рис. 2.14. Нульоперандная команда

У нас есть операции только условного перехода. Для того чтобы сделать безусловный переход мы должны установить операции сброса установки флага. Если мы сбросим флаг, а потом выполним JC, то понятно, что у нас будет переход по содержимому регистра В, а если мы сбросим, то эта команда будет называться «нет операции», состоящая из 2 байт.

000 – STC(установка флага переноса) алгоритм: CF¬1

001 – CLC(сброс флага переноса) алгоритм: CF¬0

010 – STI(установка флага прерывания)

011 – CLI(сброс флага прерывания)

100 – CPO флаг переполнения

101 – CPZ флаг нуля

110 – CPS флаг знака


Функциональная схема

Функциональная схема RISC процессора

Рис. 2.15. Функциональная схема RISC процессора

Недостатки:

  1. Значительная загрузка логического интерфейса процессора.

· Двунаправленность ШД, ША, ШУ.

  1. Сложность программирования.
  2. Значительная доля времени тратится на дешифрацию команд.
Загрузка...