You are on page 1of 8

John von Neumann (1903-1957)

Linguagem de Máquina – Computador IAS

Palavra de 40 bits, 2 instruções de máquina por palavra

Instrução esquerda Instrução direita

bit 0 7 8 19 20 27 28 39

8 bits opcode 12 bits endereço de memória


(operando)

Ref. W. Stallings, Computer Organization & Architecture, Sixth Edition,


Prentice-Hall, 2003, page 23.
2
Instruções de Transferência de Dados
Computador IAS

Instrução Opcode Descrição


 LOAD MQ 00001010 AC ← MQ
 LOAD MQ, M(X) 00001001 MQ ← M(X)
 STOR M(X) 00100001 M(X) ← AC
 LOAD M(X) 00000001 AC ← M(X)
 LOAD – M(X) 00000010 AC ← – M(X)
 LOAD |M(X)| 00000011 AC ← |M(X)|
 LOAD – |M(X)| 00000100 AC ← – |M(X)|

Ref. W. Stallings, Computer Organization & Architecture, Sixth Edition,


Prentice-Hall, 2003, page 23.
3

Instruções de Desvio Incondicional


Computador IAS

Instrução Opcode Descrição


 JUMP M(X,0:19) 00001101 próxima instrução
M(X,0:19)
 JUMP M(X,20:39) 00001110 próxima instrução
M(X,20:39)

4
Instruções de Desvio Condicional
Computador IAS

Instrução Opcode Descrição


 JUMP +M(X,0:19) 00001111 Se AC ≥ 0,
então próxima
instrução
M(X,0:19)

 JUMP +M(X,20:39) 00010000 Se AC ≥ 0,


então próxima
instrução
M(X,20:39)

Instruções Aritméticas
Computador IAS

Instrução Opcode Descrição


 ADD M(X) 00000101 AC ← AC+M(X)
 ADD |M(X)| 00000111 AC ← AC+|M(X)|
 SUB M(X) 00000110 AC ← AC─M(X)
 SUB |M(X)| 00001000 AC ← AC ─ |M(X)|
 MUL M(X) 00001011 AC, MQ ← MQ×M(X)
 DIV M(X) 00001100 MQ, AC ← MQ/M(X)
 LSH 00010100 AC ← AC x 2
 RSH 00010101 AC ← AC / 2
6
Instruções de Alteração de Endereço
Computador IAS

Instrução Opcode Descrição


 STOR M(X,8:19) 00010010 M(X,8:19) ←
AC(28:39)

 STOR M(X,28:39) 00010011 M(X,28:39) ←


AC(28:39)

Como o Computador IAS soma 2 números

 Supondo os números armazenados em


memória nas posições (endereços) 100 e 101
 O resultado da soma deve ser armazenado em
memória na posição 102

Instrução Opcode Descrição


LOAD M(100) 00000001 AC ← M(100)
ADD M(101) 00000101 AC ← AC+M(101)
STOR M(102) 00100001 M(102) ← AC
8
Código de Máquina do Computador IAS

00000001 000001100100 00000101 000001100101


Load 100 Add 101

00100001 000001100110 00000000 000000000000


Stor 102 Stop

Programa Armzenado em Memória

Endereço 0

1a Instrução programa
2a Instrução programa
Memória

Endereço
Carrega Contador
de Programa, PC Palavra Endereço 100
Palavra Endereço 101
Palavra Endereço 102

Endereço max

10
Programa Armzenado em Memória

Instrução (em Hexadecimal)


Endereço Inst. Esquerda Inst. Direita
000 01064 05065
001 21066 00000
002 00000 00000
...
100 000000001F
101 0000000011
102 0000000030
FFF
11

Executando um Programa
Via de Dados
Registrador AC Registrador MQ
Dispositivos
E/S
Circuitos Lógicos e Aritméticos

Registrador de Buffer de Memória (MBR)

Registrador IBR Registrador PC Memória Principal


(MP)

Reg. Instrução (IR) Reg. Endereço Memória (MAR) 212 x 40 bits

Circuito de Sinais de
Controle Controle
Unidade de Controle
12
Ciclo de Instrução do IAS

 Armazena as instruções em liguagem de máquina em


posições contíguas da memória.
 Coloca o endereço da primeira instrução do programa no
contador de programa (PC).
 Inicia a execução do programa: MAR ← PC
 Leitura da memória: IBR ← MBR ← M(MAR), Busca
 Coloca a instrução esquerda (Load) em IR e operando
(endereço) 100 em MAR, Decodifica
 Leitura da memória: AC ← M(100), Executa
 Coloca a instrução direita (Add) em IR e operando
(endereço) 101 em MAR, Decodifica
 Lê a memória e soma: AC ← AC + M(101), Executa
 Aponta próxima instrução: PC ← PC + 1

13

Ciclo de Instrução do IAS (cont.)

 MAR ← PC
 Leitura da memória: IBR ← MBR ← M(MAR), Busca
 Coloca instrução esquerda (Stor) em IR e operando
(endereço) 102 em MAR, Decodifica
 MBR ← AC, Executa
 Escrita na memória
 Coloca instrução direita (Stop) em IR e operando 000
em MAR, Decodifica
 Stop, Executa

14
Hardware Contém

 Dispositivos de Armazenamento de Dados


 Memória
 Registradores

 Dispositivos de Decodificação e Execução


 Unidade de Execução (arithmetic logic unit, ALU)
 Barramentos de Transferência de Dados
 Unidade de Controle

15

Registradores do Computador IAS

Size
Registrador Função
(bits)
Armazena endereço da próxima
Contador de Programa (PC) 12
instrução
Acumulador (AC) 40 Armazenamento temporário de dados

Multiplier quotient (MQ) 40 Armazenamento temporário de dados


Buffer de dados/instrução
40 Dados de leitura/escrita de memória
(MBR)
Buffer de instrução (IBR) 20 Armazena instrução direita (bits 20-39)

Register de instrução (IR) 8 Armazena opcode de uma instrução


Armazena endereço de memória de
Endereço de memória (MAR) 12
uma instrução

16

You might also like