Vous êtes sur la page 1sur 34

O Computador Neander

A Arquitetura: conjunto de instrues


cdigo 0000 instruo NOP comentrio Nenhuma operao

0001
0010 0011 0100 0101 0110 1000 1001 1010 1111

STA end
LDA end ADD end OR end AND end NOT JMP end JN end JZ end HLT

MEM(end) AC
AC MEM(end) AC MEM(end) + AC AC MEM(end) OR AC AC MEM(end) AND AC AC NOT AC PC end IF N=1 THEN PC end IF Z=1 THEN PC end pra processamento

O Computador Neander

A Arquitetura: formato das instrues


As instrues do Neander possuem um ou dois bytes (ocupam uma ou duas posies de memria)
Instrues com um byte: NOP, NOT
7 cdigo da oper. 4 3 dont care 0

Instrues com dois bytes: STA, LDA, ADD, OR, AND, JMP, JN, JZ

7 cdigo da oper.

4 3 dont care

endereo direto

O Computador Neander

A Arquitetura: caractersticas gerais


Largura de dados e endereos de 8 bits Dados representados em complemento de 2 1 acumulador de 8 bits (AC) 1 apontador de programa de 8 bits (PC) 1 registrador de estado com 2 cdigos de condio: negativo (N) e zero (Z)

O Computador Neander

A Organizao: alguns elementos necessrios


Um registrador de 8 bits para servir de acumulador
Um registrador de 8 bits para o PC (registradorcontador) Dois flip-flops: um para o cdigo de condio N e outro para Z Uma memria de 256 posies (endereos) x 8 bits

O Computador Neander

A Arquitetura: o ciclo de busca (fetch)

Busca instruo

Decodifica instruo

Executa/ Busca operandos

A Arquitetura: o ciclo de execuo

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


A fase de busca: igual para todas as instrues
RI MEM(PC)

PC PC + 1

Novo elemento necessrio: o registrador de instruo (RI)


MEM(PC) corresponde a um acesso memria, usando o contedo do PC como fonte do endereo

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo NOP (nenhuma operao)
Simblico: NOP RT: Passos no nvel RT:
Busca: Execuo: RI MEM(PC) PC PC + 1 nenhuma operao
7 4 3 0

NOP

Dont care

As transferncias indicam quais caminhos de dados devem existir, mas no indicam os caminhos fsicos reais entre os elementos (registradores e ULA)

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo STA (armazena acumulador)
Simblico: STA end RT: MEM(end) AC Passos no nvel RT:
Busca: Execuo: RI MEM(PC) PC PC + 1 end MEM(PC) PC PC + 1 MEM(end) AC
7 4 3 0

STA

Dont care end

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo LDA (carrega acumulador)
Simblico: LDA end RT: AC MEM(end) Passos no nvel RT:
Busca: RI MEM(PC) PC PC + 1
7 4 3 0

LDA

Dont care end

Execuo:

end MEM(PC)
PC PC + 1 AC MEM(end); atualiza N e Z

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo ADD (soma)
Simblico: ADD end RT: AC MEM(end) + AC Passos no nvel RT:
Busca: RI MEM(PC) PC PC + 1
7 4 3 0

ADD

Dont care end

Execuo:

end MEM(PC)
PC PC + 1 AC AC + MEM(end); atualiza N e Z

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo OR (ou lgico, bit a bit)
Simblico: OR end RT: AC MEM(end) OR AC Passos no nvel RT:
Busca: RI MEM(PC) PC PC + 1
7 4 3 0

OR

Dont care end

Execuo:

end MEM(PC)
PC PC + 1 AC AC OR MEM(end); atualiza N e Z

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo AND (e lgico, bit a bit)
Simblico: AND end RT: AC MEM(end) AND AC Passos no nvel RT:
Busca: RI MEM(PC) PC PC + 1
7 4 3 0

AND

Dont care end

Execuo:

end MEM(PC)
PC PC + 1 AC AC AND MEM(end); atualiza N e Z

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo NOT (complementa acumulador)
Simblico: NOT RT: AC NOT AC Passos no nvel RT:
Busca: Execuo: RI MEM(PC) PC PC + 1 AC NOT(AC); atualiza N e Z
7 4 3 0

NOT

Dont care

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo JMP (desvio incondicional - jump)
Simblico: JMP end RT: PC end Passos no nvel RT:
Busca: Execuo: RI MEM(PC) PC PC + 1 end MEM(PC) PC end
7 4 3 0

JMP

Dont care end

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo JN (desvio condicional - jump on negative)
Simblico: JN end RT: IF N = 1 THEN Passos no nvel RT:
7 4 3 0

PC end

JN

Dont care end

Se N=1 (desvio ocorre)


Busca: Execuo: RI MEM(PC) PC PC + 1 end MEM(PC) PC end

Se N=0 (desvio no ocorre)


Busca: Execuo: RI MEM(PC) PC PC + 1 end MEM(PC)

PC PC + 1
a rigor, desnecessrio

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo JZ (desvio condicional - jump on zero)
Simblico: JZ end RT: IF Z = 1 THEN Passos no nvel RT:
7 4 3 0

PC end

JZ

Dont care end

Se Z=1 (desvio ocorre)


Busca: Execuo: RI MEM(PC) PC PC + 1 end MEM(PC) PC end

Se Z=0 (desvio no ocorre)


Busca: Execuo: RI MEM(PC) PC PC + 1 end MEM(PC)

PC PC + 1
a rigor, desnecessrio

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo HLT (trmino de execuo - halt)
Simblico: HLT RT: -Passos no nvel RT:
Busca: Execuo: RI MEM(PC) PC PC + 1 parar o processamento
7 4 3 0

HLT

Dont care

O Computador Neander

Organizao do Sistema de Memria

R E M

read

MEM
write

RDM

O Computador Neander

Arquitetura/Organizao
Operaes com a memria
x MEM(y) descreve uma leitura da memria, que

realizada pelos seguintes passos:


1. REM y 2. Read 3. x RDM

copia y (que um endereo) para o REM ativao de uma operao de leitura da memria copia o contedo de RDM para x

REM o registrador de endereos da memria RDM o registrador de dados da memria

O Computador Neander

Arquitetura/Organizao
Operaes com a memria
MEM(y) x descreve uma escrita da memria, que

realizada pelos seguintes passos:


1. REM y 2. RDM x 3. write

copia y (que um endereo) para o REM copia x (que um dado) para o RDM ativao de uma operao de escrita na memria

O Computador Neander

Arquitetura/Organizao
Operaes com a memria
Observaes (1)
Aps a leitura do PC, seu contedo deve ser incrementado, para apontar para a prxima posio O incremento do PC pode ser feito a qualquer instante aps a transferncia do PC para o REM O incremento do PC pode ser feito em paralelo com outras operaes

O Computador Neander

Arquitetura/Organizao
Operaes com a memria
Observaes (2)
Um desvio condicional que no se realiza no necessita ler o valor do endereo de desvio Ou seja, basta incrementar o PC

O Computador Neander

Arquitetura/Organizao

Ento, detalhando mais as transferncias entre registradores

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo NOP (nenhuma operao)
Simblico: NOP RT: Passos no nvel RT:
Busca:
7 4 3 0

NOP

Dont care

Execuo:

REM PC Read; PC PC + 1 RI RDM nenhuma operao

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo STA (armazena acumulador)
Simblico: STA end RT: MEM(end) AC Passos no nvel RT:
Busca:
7 4 3 0

STA

Dont care end

Execuo:

REM PC Read; PC PC + 1 RI RDM REM PC Read; PC PC + 1 REM RDM RDM AC Write

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo LDA (carrega acumulador)
Simblico: LDA end RT: AC MEM(end) Passos no nvel RT:
Busca:
7 4 3 0

LDA

Dont care end

Execuo:

REM PC Read; PC PC + 1 RI RDM REM PC Read; PC PC + 1 REM RDM Read AC RDM; atualiza N e Z

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo ADD (soma)
Simblico: ADD end RT: AC MEM(end) + AC Passos no nvel RT:
Busca:
7 4 3 0

ADD

Dont care end

Execuo:

REM PC Read; PC PC + 1 RI RDM REM PC Read; PC PC + 1 REM RDM Read AC AC + RDM; atualiza N e Z

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo OR (ou lgico, bit a bit)
Simblico: OR end RT: AC MEM(end) OR AC Passos no nvel RT:
Busca:
7 4 3 0

OR

Dont care end

Execuo:

REM PC Read; PC PC + 1 RI RDM REM PC Read; PC PC + 1 REM RDM Read AC AC OR RDM; atualiza N e Z

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo AND (e lgico, bit a bit)
Simblico: AND end RT: AC MEM(end) AND AC Passos no nvel RT:
Busca:
7 4 3 0

AND

Dont care end

Execuo:

REM PC Read; PC PC + 1 RI RDM REM PC Read; PC PC + 1 REM RDM Read AC AC AND RDM; atualiza N e Z

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo NOT (complementa acumulador)
Simblico: NOT RT: AC NOT AC Passos no nvel RT:
Busca:
7 4 3 0

NOT

Dont care

Execuo:

REM PC Read; PC PC + 1 RI RDM AC NOT(AC); atualiza N e Z

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo JMP (desvio incondicional - jump)
Simblico: JMP end RT: PC end Passos no nvel RT:
Busca:
7 4 3 0

JMP

Dont care end

Execuo:

REM PC Read; PC PC + 1 RI RDM REM PC Read PC RDM

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo JN (desvio condicional - jump on negative)
Simblico: JN end RT: IF N = 1 THEN Passos no nvel RT:
7 4 3 0

PC end

JN

Dont care end

Se N=1 (desvio ocorre)


Busca: REM PC Read; PC PC + 1 RI RDM REM PC Read PC RDM

Se N=0 (desvio no ocorre)


Busca: REM PC Read; PC PC + 1 RI RDM PC PC + 1

Execuo:

Execuo:

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo JZ (desvio condicional - jump on zero)
Simblico: JZ end RT: IF Z = 1 THEN Passos no nvel RT:
7 4 3 0

PC end

JZ

Dont care end

Se Z=1 (desvio ocorre)


Busca: REM PC Read; PC PC + 1 RI RDM REM PC Read PC RDM

Se Z=0 (desvio no ocorre)


Busca: REM PC Read; PC PC + 1 RI RDM PC PC + 1

Execuo:

Execuo:

O Computador Neander

Arquitetura/Organizao: transferncias entre regs.


Instruo HLT (trmino de execuo - halt)
Simblico: HLT RT: -Passos no nvel RT:
Busca:
7 4 3 0

HLT

Dont care

Execuo:

REM PC Read; PC PC + 1 RI RDM parar o processamento

Vous aimerez peut-être aussi