Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Процессоры ARC.doc
Скачиваний:
24
Добавлен:
11.04.2014
Размер:
2.1 Mб
Скачать

1: Decode.

A=0

B=0

C=0

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU=AND

COND=DECODE

JUMP ADDR=*

//В процессоре при исполнении команды DECODE блокируется запись в блок регистров, поэтому команда АЛУ не играет роли.

Или может происходить следующее: Rg0=and(Rg0, Rg0), т.е. фактически значение в регистре Rg0 не изменяется.

1088: Jump 2.

A=0

B=0

C=0

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU=AND

COND=JUMP

JUMP ADDR=2

2: temp0=LSHIFT10(IR).

A=IR

B= *

C=temp0

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU= LSHIFT10

COND=NEXT

JUMP ADDR=*

3: temp0=RSHIFT5(temp0).

A= temp0

B= *

C= temp0

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU= RSHIFT5

COND=NEXT

JUMP ADDR=*

4: temp0=RSHIFT5(temp0).

A= temp0

B= *

C= temp0

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU= RSHIFT5

COND=NEXT

JUMP ADDR=*

5: IR=RSHIFT5(IR).

A= IR

B= *

C= IR

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU= RSHIFT5

COND=NEXT

JUMP ADDR=*

6: IR=RSHIFT5(IR).

A= IR

B= *

C= IR

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU= RSHIFT5

COND=NEXT

JUMP ADDR=*

7: IR=RSHIFT5(IR).

A= IR

B= *

C= IR

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU= RSHIFT5

COND=NEXT

JUMP ADDR=*

8: JIMM 12; IR=ADD(IR, IR).

A= IR

B= IR

C=IR

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU=ADD

COND=JIMM

//перейти по адресу(в микрокоде) в поле JUMP ADDR, если IR[13]=1.

JUMP ADDR=12

9: JIMM 13; IR=ADD(IR, IR).

A= IR

B= IR

C= IR

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU=ADD

COND=JIMM

JUMP ADDR=13

13: JIMM 16; IR=ADD(IR, IR).

A= IR

B= IR

C= IR

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU=ADD

COND=JIMM

JUMP ADDR=16

16: JIMM 19; IR=ADD(IR, IR).

A= IR

B= IR

C= IR

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU=ADD

COND=JIMM

JUMP ADDR=19

17: JN 12.

A=0

B=0

C=0

AMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

BMUX=0 (код регистра-источника берётся из регистра микрокоманд (MIR))

CMUX=0 (код регистра-приёмника берётся из регистра микрокоманд (MIR))

RD=0

WR=0

ALU=AND

COND=JN

//перейти по адресу (в микрокоде) в поле JUMP ADDR, если флаг n=1.

JUMP ADDR=12