Você está na página 1de 1

salta_in

inst_branch_in salta_out=salta
Detector de
Máquina de end_mul M11 uins.i Instruções

D_Lo
uins.whilo Tipo branch
Estados end_div inst_branch=inst_branch_out

i quociente
R1_in 0
uins.i
Detector de

Decodificação div 1
Lo Instruções
Tipo R(sub) inst_R_sub
CY1 wmdr rw
CY2
ce
bw
wreg rst_md
NPC_IN M9 Lo Detector de
walu wpc whilo
rst_muldiv uins.i Instruções
1 Tipo I(sub) inst_I_sub
RESULT_IN RESULT_OUT=result
R2_in uins.i
result 3
IR_IN[20:16] produto(31
0 MDR

11111
downto 0) 2
rst_muldiv
IR_IN[15:11] uins.rst_md
M10 rst_muldiv

D_Hi
rst
NPC=NPC_OUT uins.i uins.i
uins.i 1 0 2 1 0 RALU=d_address
mult 0
M4 RIN M2
resto
adD Hi uins.rw=rw
1
produto(63
NPC_IN M6 Hi
inc_pc AdWP DataWP NPC_IN
downto 32)
uins.whilo
uins.ce=ce uins.bw=bw
+4 NPC 1

adS
M3 uins.i x“000000” &
op1

MDR_int
CY1 IR_IN[20:16] data[7:0]
pc=i_address Memória de 1

de Dados
IR_IN[25:21] AdRP1 R1

Memória
Instruções IR=IR_OUT 0
DataRP1 R1 0 M8

ALU
R1_in
M1 uins.i Banco de outalu
0
MDR
0 dtpc uins.i
Registradores uins.CY2 RALU data
1
PC IR IR_IN

RALU=d_address
1
wpc
M7 uins.i uins.wmdr
CY1 IR_IN[20:16] R2 uins.walu
i / salta_in / AdRP2 DataRP2 R2 1

inst_branch_in R2_in op2


uins.wreg
0

instruction uins.i
pc=i_address M5 data
uins.i uins.i
IR_IN[15:0]
EXT_SINAL 0 R3 uins.rw
R1 uins.ce

Comparador
<< 2 3 R2
R3_in
R3 salta=salta_out
IR_IN[25:0] “0000” & 2
IR_IN[25:0] &”00"
uins.CY2
R2
IR_IN[15:0]
EXT_ZERO 1 R2

Você também pode gostar