You are on page 1of 3

Instruction Set Architecture do micro3

Instrução Descrição

mov rx, imm4 Carrega o valor imediato imm4 no registo rx. rx = imm4
Transfere para o registo rx o conteúdo da posição de memória
ld rx, [ry] rx = mem[ry]
cujo endereço é definido em ry.
Transfere o conteúdo do registo rx para a posição de memória
st rx, [ry] mem[ry] = rx
cujo endereço está definido em ry.
sub rx, ry, rz Subtrai rz a ry e coloca o resultado em rx. rx = ry - rz

add rx, ry, rz Adiciona rz a ry e coloca o resultado em rx. rx = ry + rz


Quando a flag C apresenta o valor 1, muda a execução para o PC = PC + offset5 se
jnc offset5
endereço resultante da adição ao PC do deslocamento offset5. C == 0
Muda a execução para o endereço resultante da adição ao PC PC = PC + offset5
jmp offset5
do deslocamento offset5. se C == 0
Subtrai ry de rx e atualiza a flag C em conformidade
cmp rx, ry rx - ry
com o resultado, que é descartado.
Tabela 1 – Instruction Set Architecture

OPCODE AD AA AB
ISA
7 6 5 4 3 2 1 0
mov rx, immediate4 0 0 0 rx imm3 imm2 imm1 imm0
ld rx, [ry] 0 0 1 rx - ry - -
st rx, [ry] 0 1 0 - rx ry - -
sub rx, ry, rz 0 1 1 rx ry rz - -
add rx, ry, rz 1 0 0 rx ry rz - -
jnc offset4 1 0 1 Off4 Off3 Off2 Off1 Off0
jmp offset4 1 1 0 Off4 Off3 Off2 Off1 Off0
cmp rx, ry 1 1 1 - rx ry - -
Tabela 2 – Codificação do ISA

Descodificador do micro3
Instruction OPCODE C SD1 SD0 ER EP SnA SO WR RD
HEX PRG
Decoder 3 2 1 0 7 6 5 4 3 2 1 0
mov rx, immediate4 0 0 0 - 0 0 1 0 - 0 0 - 20 2*20
ld rx, [ry] 0 0 1 - 0 1 1 0 - 0 0 1 61 2*61
st rx, [ry] 0 1 0 - - - 0 0 - 0 1 0 02 2*02
sub rx, ry, rz 0 1 1 - 1 0 1 1 1 0 0 - B8 2*B8
add rx, ry, rz 1 0 0 - 1 0 1 1 0 0 0 - B0 2*B0
jnc offset4 1 0 1 0 - - 0 0 - 1 0 - 04 04
jnc offset4 1 0 1 1 - - 0 0 - 0 0 - 00 00
jmp offset4 1 1 0 - - - 0 0 - 1 0 - 04 2*04
cmp rx, ry 1 1 1 - - - 0 1 1 0 0 - 18 2*18
Tabela 3 - Descodificador

Arquitetura de Computadores 1
Jorge Fonseca
Esquema do micro3

Figura 1 – Esquema interno do processador

Descodificador de Instruções

Figura 2 – Descodificador de instruções

Arquitetura de Computadores 2
Jorge Fonseca
Programas para o micro3
Exercicio 1

Code OPCODE AD AA AB RAM


HEX
Address
7 6 5 4 3 2 1 0 ADDR
MOV RB,0 00 0 0 0 1 0 0 0 0 10 0 A
LD RA, [RB] 01 0 0 1 0 0 1 0 0 24 1 B
MOV RB,1 02 0 0 0 1 0 0 0 1 11 2 C
LD RB, [RB] 03 0 0 1 1 0 1 0 0 34 3 R
ADD RA, RA, RB 04 1 0 0 0 0 1 0 0 84
MOV RB,2 05 0 0 0 1 0 0 1 0 12
LD RB, [RB] 06 0 0 1 1 0 1 0 0 34
SUB RA, RA, RB 07 0 1 1 0 0 1 0 0 64
MOV RB,3 08 0 0 0 1 0 0 1 1 13
ST RA, [RB] 09 0 1 0 0 0 1 0 0 44
JMP 0 10 1 1 0 0 0 0 0 0 C0
Exercicio 2

Code OPCODE AD AA AB RAM


HEX
Address
7 6 5 4 3 2 1 0 ADDR
MOV RB, 0A 00 0 0 0 1 1 0 1 0 1A 0A A
LD RA, [RB] 01 0 0 1 0 0 1 0 0 24 0B B
MOV RB, 0B 02 0 0 0 1 1 0 1 1 1B 0C M
LD RB, [RB] 03 0 0 1 1 0 1 0 0 34
CMP RA, RB 04 1 1 1 0 0 1 0 0 E4
JNC +3 05 1 0 1 0 0 0 1 1 A3 Algoritmo
MOV RA, 0 06 0 0 0 0 0 0 0 0 00 IF (0A)>=(0B) {
ADD RA, RA, RB 07 1 0 0 0 0 1 0 0 84 M = (0A)
MOV RB, 0C 08 0 0 0 1 1 1 0 0 1C } ELSE {
ST RA, [RB] 09 0 1 0 0 0 1 0 0 44 M = (0B)
JMP 0 0A 1 1 0 0 0 0 0 0 C0 }

Arquitetura de Computadores 3
Jorge Fonseca

You might also like