Buscar

Slides Aula 0 (R. F. Weber) - Organização do NEANDER (Arquitetura de Von Neumann)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 89 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 89 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 89 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

NEANDER 
Um processador com 
Arquitetura de Von Neumann 
A Arquitetura: formato das instruções 
As instruções do Neander possuem um ou dois bytes 
(ocupam uma ou duas posições de memória) 
código da oper. don’t care 
7 4 3 0 
endereço direto 
código da oper. don’t care 
7 4 3 0 
Instruções com um byte: 
NOP, NOT, HLT 
Instruções com dois bytes: 
STA, LDA, ADD, OR, AND, 
JMP, JN, JZ 
O Computador Neander 
A Arquitetura: conjunto de instruções 
código instrução comentário 
0000 NOP Nenhuma operação 
0001 STA end MEM(end) ← AC 
0010 LDA end AC ← MEM(end) 
0011 ADD end AC ← MEM(end) + AC 
0100 OR end AC ← MEM(end) OR AC 
0101 AND end AC ← MEM(end) AND AC 
0110 NOT AC ← NOT AC 
1000 JMP end PC ← end 
1001 JN end IF N=1 THEN PC ← end 
1010 JZ end IF Z=1 THEN PC ← end 
1111 HLT parar processamento 
O Computador Neander 
A Arquitetura: características gerais 
• Largura de dados e endereços de 8 bits 
• Dados representados em complemento de 2 
• 1 acumulador de 8 bits (AC) 
• 1 apontador de programa de 8 bits (PC) 
• 2 códigos de condição: negativo (N) e zero (Z), 
implementados como um registrador de estado com 
2 bits 
O Computador Neander 
A Organização: elementos necessários 
• Um registrador de 8 bits para servir de acumulador (AC) 
• Um registrador de 8 bits para o PC (registrador 
contador) 
• Dois flip-flops: um para o código de condição N e outro 
para o Z 
• Uma memória com 256 posições (palavras) de 8 bits, 
endereçadas de 0 a 255 
O Computador Neander 
Elementos da organização do NEANDER 
1) Memória 
• Memória de 256 palavras de 8 bits, com 
endereços de 0 a 255 
• Registrador de endereços da memória (REM) 
de 8 bits, para armazenar endereços 
• Registrador de dados da memória (RDM) de 
8 bits para armazenar o dado lido ou a ser 
escrito 
• Sinais de controle: 
• Read – ler palavra apontada pelo REM e 
carregar no RDM 
• Write – escrever o conteúdo do RDM na 
palavra apontada pelo REM 
• Carga RDM/REM – carregar no registrador 
os dados que estão na sua entrada 
REM 
RDM 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA 
REM 
CARGA RDM 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
 ... 
254 
255 
Elementos da organização do 
NEANDER 
2) Unidade de Aritmética e Lógica 
(UAL) 
• 1 acumulador de 8 bits (AC) para 
armazenar resultados das 
operações 
• 2 registradores de 1 bit para 
armazenar os códigos de condição 
(N e Z) após a execução de uma 
operação pela UAL 
• Circuitos lógicos para executar 
cada operação da UAL 
• Sinais de controle: 
• ADD: S ← X + Y; AC ← S; ajusta N e Z 
• AND: S ← X AND Y; AC ← S; ajusta N Z 
• OR: S ← X OR Y; AC ← S; ajusta N e Z 
• NOT: S ← NOT X; AC ← S; ajusta N e Z 
• LOAD: S ← Y; AC ← S; ajusta N e Z 
• Carga AC e NZ – carregar no registrador 
os dados que estão na sua entrada 
U 
A 
L 
AC 
N Z 
0 7 
LOAD 
NOT 
ADD 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
AND 
OR 
Elementos da organização do 
NEANDER 
3) Unidade de Controle (UC) 
• 1 registrador contador de 8 bits (PC) 
para armazenar o endereço da próxima 
instrução a ler da memória 
• 1 registrador de 4 (ou 8 ?) bits para 
armazenar a instrução lida da memó-
ria na fase de busca 
• Circuitos lógicos para ativar, no 
momento certo, os sinais de controle 
necessários à execução de cada 
instrução 
• Decodificador para ativar a linha corres-
pondente à instrução que está no RI 
• Sinais de controle: 
• INC PC: incrementar o conteúdo do PC 
(somar 1) 
• Carga RI/PC – carregar no registrador os 
dados que estão na sua entrada 
• Outros – enviados para comandar os 
demais componentes do processador 
PC 
Cód. Op. RI 
N Z 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC CARGA PC 
0 3 
? ? ? ? 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
Já vimos como funcionam UAL, UC, memória, 
registradores e decodificadores 
Mas como integrá-los e sincronizá-los para 
executar um programa? 
Já sabemos que a parte de controle do processador 
coordena o ciclo de instrução: 
Busca – Decodificação - Execução 
Vamos ver uma alternativa de implementação deste ciclo! 
O Computador Neander 
A Arquitetura: o ciclo de execução 
Decodifica 
instrução 
Busca 
instrução 
Busca operandos 
e executa instrução 
A Arquitetura: a fase de busca (fetch) 
O Computador Neander 
Arquitetura/Organização 
Transferências entre registradores 
• Novo elemento é necessário: o registrador de instrução (RI) 
• MEM(PC) corresponde a um acesso à memória, usando o 
conteúdo do PC como fonte do endereço 
• Quais são os barramentos necessários ? 
• Que sinais de controle são usados ? 
A fase de busca: é igual para todas as instruções 
RI ← MEM(PC) 
PC ← PC + 1 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução NOP (nenhuma operação) 
Simbólico: NOP 
RT: - 
Passos no nível RT: 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: nenhuma operação 
NOP Don’t care 
7 4 3 0 
As transferências indicam quais caminhos de dados devem 
existir, mas não indicam os caminhos físicos reais entre os 
elementos (registradores e UAL) 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução STA (armazena acumulador) 
Simbólico: STA end 
RT: MEM(end) ← AC 
Passos no nível RT: 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← PC + 1 
 MEM(R_end) ← AC 
STA Don’t care 
end 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução LDA (carrega acumulador) 
Simbólico: LDA end 
RT: AC ← MEM(end) 
Passos no nível RT: 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← PC + 1 
 AC ← MEM(R_end); atualiza N e Z 
LDA Don’t care 
end 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução ADD (soma) 
Simbólico: ADD end 
RT: AC ← MEM(end) + AC 
Passos no nível RT: 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← PC + 1 
 AC ← AC + MEM(R_end); atualiza N e Z 
ADD Don’t care 
end 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução OR (“ou” lógico, bit a bit) 
Simbólico: OR end 
RT: AC ← MEM(end) OR AC 
Passos no nível RT: 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← PC + 1 
 AC ← AC OR MEM(R_end); atualiza N e Z 
OR Don’t care 
end 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução AND (“e” lógico, bit a bit) 
Simbólico: AND end 
RT: AC ← MEM(end) AND AC 
Passos no nível RT: 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← PC + 1 
 AC ← AC AND MEM(R_end); atualiza N e Z 
AND Don’t care 
end 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução NOT (complementa acumulador) 
Simbólico: NOT 
RT: AC ← NOT AC 
Passos no nível RT: 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: AC ← NOT(AC); atualiza N e Z 
NOT Don’t care 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução JMP (desvio incondicional - jump) 
Simbólico: JMP end 
RT: PC ← end 
Passos no nível RT: 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← PC + 1 
 PC ← R_end 
JMP Don’t care 
end 
7 4 3 0 
O Computador Neander 
desnecessário 
Arquitetura/Organização: transferências entre regs. 
Instrução JN (desviocondicional - jump on negative) 
Simbólico: JN end 
RT: IF N = 1 THEN PC ← end 
Passos no nível RT: 
Se N=1 (desvio ocorre) 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← R_end 
JN Don’t care 
end 
7 4 3 0 
Se N=0 (desvio não ocorre) 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← PC + 1 
a rigor, desnecessário 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução JZ (desvio condicional - jump on zero) 
Simbólico: JZ end 
RT: IF Z = 1 THEN PC ← end 
Passos no nível RT: 
Se Z=1 (desvio ocorre) 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← R_end 
JZ Don’t care 
end 
7 4 3 0 
Se Z=0 (desvio não ocorre) 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: R_end ← MEM(PC) 
 PC ← PC + 1 
a rigor, desnecessário 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução HLT (término de execução - halt) 
Simbólico: HLT 
RT: -- 
Passos no nível RT: 
Busca: RI ← MEM(PC) 
 PC ← PC + 1 
Execução: parar o processamento 
HLT Don’t care 
7 4 3 0 
O Computador Neander 
Execução STA: R_end ← MEM(PC) 
 PC ← PC + 1 
 MEM(R_end) ← AC 
Execução LDA: R_end ← MEM(PC) 
 PC ← PC + 1 
 AC ← MEM(R_end); atualiza N e Z 
Execução ADD: R_end ← MEM(PC) 
 PC ← PC + 1 
 AC ← AC + MEM(R_end); atualiza N e Z 
Execução OR: R_end ← MEM(PC) 
 PC ← PC + 1 
 AC ← AC OR MEM(R_end); atualiza N e Z 
O Computador Neander 
Instruções que envolvem acessos à memória 
Execução AND: R_end ← MEM(PC) 
 PC ← PC + 1 
 AC ← AC AND MEM(R_end); atualiza N e Z 
Execução JMP: R_end ← MEM(PC) 
 PC ← R_end 
Execução JN: R_end ← MEM(PC) 
 PC ← R_end 
Execução JZ: R_end ← MEM(PC)
 PC ← R_end 
O Computador Neander 
Instruções que envolvem acessos à memória 
Organização do 
Sistema de Memória 
 
 
Operações com a 
memória: 
 
- Leitura (READ) 
 
- Escrita (WRITE) 
REM 
RDM 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA 
REM 
CARGA 
RDM 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
●●● 
255 
O Computador Neander 
Arquitetura/Organização 
Operações com a memória 
x ← MEM(y) descreve uma leitura da memória, que é 
realizada pelos seguintes passos: 
1. REM ← y copia y (que é um endereço) para o REM 
2. Read ativa uma operação de leitura da memória 
3. x ← RDM copia o conteúdo de RDM para x 
• REM é o registrador de endereços da memória 
• RDM é o registrador de dados da memória 
O Computador Neander 
Arquitetura/Organização 
Operações com a memória 
MEM(y) ← x descreve uma escrita na memória, que é 
realizada pelos seguintes passos: 
1. REM ← y copia y (que é um endereço) para o REM 
2. RDM ← x copia x (que é um dado) para o RDM 
3. Write ativa uma operação de escrita na memória 
O Computador Neander 
Arquitetura/Organização 
Operações com a memória 
Observações (1) 
• Após a leitura do PC, seu conteúdo deve ser incrementado, 
para apontar para a próxima posição 
• O incremento do PC pode ser feito a qualquer instante após 
a transferência do PC para o REM 
• O incremento do PC pode ser feito em paralelo com outras 
operações 
O Computador Neander 
Arquitetura/Organização 
Operações com a memória 
Observações (2) 
• Quando um desvio condicional não se realiza (o código de 
condição testado está igual a 0), não é necessário ler o 
valor do endereço de desvio (operação que requer um 
acesso à memória) 
• Neste caso, basta incrementar o PC 
O Computador Neander 
Arquitetura/Organização 
Então, detalhando mais as transferências 
entre registradores… 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução NOP (nenhuma operação) 
Simbólico: NOP 
RT: - 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: nenhuma operação 
NOP Don’t care 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução STA (armazena acumulador) 
Simbólico: STA end 
RT: MEM(end) ← AC 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 RDM ← AC 
 Write 
STA Don’t care 
end 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução LDA (carrega acumulador) 
Simbólico: LDA end 
RT: AC ← MEM(end) 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 Read 
 AC ← RDM; atualiza N e Z 
LDA Don’t care 
end 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução ADD (soma) 
Simbólico: ADD end 
RT: AC ← MEM(end) + AC 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 Read 
 AC ← AC + RDM; atualiza N e Z 
ADD Don’t care 
end 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução OR (“ou” lógico, bit a bit) 
Simbólico: OR end 
RT: AC ← MEM(end) OR AC 
Passos no nível RT: 
OR Don’t care 
end 
7 4 3 0 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 Read 
 AC ← AC OR RDM; atualiza N e Z 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução AND (“e” lógico, bit a bit) 
Simbólico: AND end 
RT: AC ← MEM(end) AND AC 
Passos no nível RT: 
AND Don’t care 
end 
7 4 3 0 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 Read 
 AC ← AC AND RDM; atualiza N e Z 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução NOT (complementa acumulador) 
Simbólico: NOT 
RT: AC ← NOT AC 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: AC ← NOT(AC); atualiza N e Z 
NOT Don’t care 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução JMP (desvio incondicional - jump) 
Simbólico: JMP end 
RT: PC ← end 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read 
 PC ← RDM 
JMP Don’t care 
end 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução JN (desvio condicional - jump on negative) 
Simbólico: JN end 
RT: IF N = 1 THEN PC ← end 
Passos no nível RT: 
Se N=1 (desvio ocorre) 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read 
 PC ← RDM 
JN Don’t care 
end 
7 4 3 0 
Se N=0 (desvio não ocorre) 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: PC ← PC + 1 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução JZ (desvio condicional - jump on zero) 
Simbólico: JZ end 
RT: IF Z = 1 THEN PC ← end 
Passos no nível RT: 
JZ Don’t care 
end 
7 4 3 0 
Se Z=1 (desvio ocorre) 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read 
 PC ← RDM 
Se Z=0 (desvio não ocorre) 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: PC ← PC + 1 
O Computador Neander 
Arquitetura/Organização: transferências entre regs. 
Instrução HLT (término de execução - halt) 
Simbólico: HLT 
RT: -- 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC +1 
 RI ← RDM 
Execução: parar o processamento 
HLT Don’t care 
7 4 3 0 
O Computador Neander 
Arquitetura/Organização 
• Já sabemos quais são os componentes necessários 
para implementar o Neander: uma memória, uma UAL, 
uma Unidade de Controle e barramentos 
 
• Agora vamos detalhar um pouco mais as transferências 
entre registradores para ver o que falta (componentes e 
sinais de controle) para completar a organização 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
U 
A 
L 
AC 
N Z 
0 7 
X 
Y 
S 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
0 7 
0 7 
Memória 
Arquitetura/Organização 
Busca da Instrução 
•É uma operação de leitura da memória 
•O endereço a ser lido está no PC 
•O valor lido deve ser carregado no RI 
•Passos no nível RT: 
 REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Que elementos precisamos acrescentar na organização 
para fazer a busca ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
X 
Y 
S 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 0 7 
0 7 
Memória 
READ 
CARGA REM 
Arquitetura/Organização: transferências entre regs. 
Instrução NOP (nenhuma operação) 
Simbólico: NOP 
RT: - 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: nenhuma operação 
NOP Don’t care 
7 4 3 0 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
X 
Y 
S 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 0 7 
0 7 
Memória 
READ 
CARGA REM 
Arquitetura/Organização: transferências entre regs. 
Instrução STA (armazena acumulador) 
Simbólico: STA end 
RT: MEM(end) ← AC 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 RDM ← AC 
 Write 
STA Don’t care 
end 
7 4 3 0 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
X 
Y 
S 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
CARGA REM 
? 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
X 
Y 
S 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
CARGA REM 
? 
? 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
X 
Y 
S 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
CARGA REM 
? 
? 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
X 
Y 
S 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
CARGA REM 
? 
SEL 
0 
1 
S 
M 
U 
X 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
X 
Y 
S 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
X 
Y 
S 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
Arquitetura/Organização: transferências entre regs. 
Instrução LDA (carrega acumulador) 
Simbólico: LDA end 
RT: AC ← MEM(end) 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 Read 
 AC ← RDM; atualiza N e Z 
LDA Don’t care 
end 
7 4 3 0 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
1 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
1 
LOAD 
Arquitetura/Organização: transferências entre regs. 
Instrução ADD (soma) 
Simbólico: ADD end 
RT: AC ← MEM(end) + AC 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 Read 
 AC ← AC + RDM; atualiza N e Z 
ADD Don’t care 
end 
7 4 3 0 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
LOAD 
ADD 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
1 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
1 
Arquitetura/Organização: transferências entre regs. 
Instrução OR (“ou” lógico, bit a bit) 
Simbólico: OR end 
RT: AC ← MEM(end) OR AC 
Passos no nível RT: 
OR Don’t care 
end 
7 4 3 0 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 Read 
 AC ← AC OR RDM; atualiza N e Z 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
DecodificadorNOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
LOAD 
ADD 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
OR 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
1 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
1 
Arquitetura/Organização: transferências entre regs. 
Instrução AND (“e” lógico, bit a bit) 
Simbólico: AND end 
RT: AC ← MEM(end) AND AC 
Passos no nível RT: 
AND Don’t care 
end 
7 4 3 0 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read; PC ← PC + 1 
 REM ← RDM 
 Read 
 AC ← AC AND RDM; atualiza N e Z 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
LOAD 
ADD 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
AND 
OR 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
1 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
1 
Arquitetura/Organização: transferências entre regs. 
Instrução NOT (complementa acumulador) 
Simbólico: NOT 
RT: AC ← NOT AC 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: AC ← NOT(AC); atualiza N e Z 
NOT Don’t care 
7 4 3 0 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
LOAD 
NOT 
ADD 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
AND 
OR 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
1 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
1 
Arquitetura/Organização: transferências entre regs. 
Instrução JMP (desvio incondicional - jump) 
Simbólico: JMP end 
RT: PC ← end 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read 
 PC ← RDM 
JMP Don’t care 
end 
7 4 3 0 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC CARGA PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
LOAD 
NOT 
ADD 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
AND 
OR 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
1 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
1 
Arquitetura/Organização: transferências entre regs. 
Instrução JN (desvio condicional - jump on negative) 
Simbólico: JN end 
RT: IF N = 1 THEN PC ← end 
Passos no nível RT: 
Se N=1 (desvio ocorre) 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read 
 PC ← RDM 
JN Don’t care 
end 
7 4 3 0 
Se N=0 (desvio não ocorre) 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: PC ← PC + 1 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC CARGA PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
LOAD 
NOT 
ADD 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
AND 
OR 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
1 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
1 
Arquitetura/Organização: transferências entre regs. 
Instrução JZ (desvio condicional - jump on zero) 
Simbólico: JZ end 
RT: IF Z = 1 THEN PC ← end 
Passos no nível RT: 
JZ Don’t care 
end 
7 4 3 0 
Se Z=1 (desvio ocorre) 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: REM ← PC 
 Read 
 PC ← RDM 
Se Z=0 (desvio não ocorre) 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: PC ← PC + 1 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC CARGA PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
LOAD 
NOT 
ADD 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
AND 
OR 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
1 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
1 
Arquitetura/Organização: transferências entre regs. 
Instrução HLT (término de execução - halt) 
Simbólico: HLT 
RT: -- 
Passos no nível RT: 
Busca: REM ← PC 
 Read; PC ← PC + 1 
 RI ← RDM 
Execução: parar o processamento 
HLT Don’t care 
7 4 3 0 
Precisamos acrescentar algum elemento à organização 
para executar esta instrução ? Qual(is) ? 
O Computador Neander 
PC 
Cód. Op. RI 
Unidade de Controle (UC) 
7 0 
4 7 
INC PC CARGA PC 
Decodificador 
NOP STA LDA . . . HLT 
0 1 2 . . . 15 
CARGA RI 
U 
A 
L 
AC 
N Z 
0 7 
LOAD 
NOT 
ADD 
CARGA 
NZ 
X 
Y 
S 
CARGA 
AC 
AND 
OR 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
... 
254 
255 
REM 
RDM 
4 (bits 7 a 4) 
8 
1 
8 
(bits 7 a 0) 
0 7 
0 7 
Memória 
READ 
WRITE 
CARGA REM 
CARGA RDM 
SEL 
0 
1 
1 
HLT 
A Organização: sinais de controle para 
cada transferência 
Transferência Sinais de controle 
REM ← PC sel=0, cargaREM 
PC ← PC + 1 incrementaPC 
RI ← RDM cargaRI 
REM ← RDM sel=1, cargaREM 
RDM ← AC cargaRDM 
AC ← RDM; atualiza N e Z UAL(LOAD), cargaAC, cargaNZ 
AC ← AC + RDM; atualiza N e Z UAL(ADD), cargaAC, cargaNZ 
AC ← AC AND RDM; atualiza N e Z UAL(AND), cargaAC, cargaNZ 
AC ← AC OR RDM; atualiza N e Z UAL(OR), cargaAC, cargaNZ 
AC ← NOT(AC); atualiza N e Z UAL(NOT), cargaAC, cargaNZ 
PC ← RDM cargaPC 
Leitura da memória read 
Escrita na memória write 
O Computador Neander 
tempo STA LDA ADD OR AND NOT 
t0 sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
t1 Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
t2 carga RI carga RI carga RI carga RI carga RI carga RI 
t3 sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
UAL(NOT), 
carga AC, 
carga NZ, 
goto t0 
t4 Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
 
t5 sel=1, 
cargaREM 
sel=1, 
carga REM 
sel=1, 
carga REM 
sel=1, 
carga REM 
sel=1, 
carga REM 
 
t6 carga RDM Read Read Read Read 
t7 Write, 
goto t0 
UAL(LOAD), 
carga AC, 
carga NZ, 
goto t0 
UAL(ADD), 
carga AC, 
carga NZ, 
goto t0 
UAL(OR), 
carga AC, 
carga NZ, 
goto t0 
UAL(AND, 
carga AC, 
carga NZ, 
goto t0 
 
 
Temporização dos sinais de controle (parte 1) 
O Computador Neander 
Obs: t0 … t7 são denominados “ciclos do processador” e têm 
todos a mesma duração, que é igual ao tempo de acesso à memória 
tempo JMP JN, N=1 JN, N=0 JZ, Z=1 JZ, Z=0 NOP HLT 
t0 sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
sel=0, 
carga REM 
t1 Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
Read, 
incrementa 
PC 
t2 carga RI carga RI carga RI carga RI carga RI carga RI carga RI 
t3 sel=0, 
carga REM 
sel=0, 
carga REM 
incrementa 
PC, 
goto t0 
sel=0, 
carga REM 
incrementa 
PC, 
goto t0 
goto t0 Halt 
t4 Read 
 
Read 
 
 Read 
 
 
 
 
t5 carga PC, 
goto t0 
carga PC, 
goto t0 
 carga PC, 
goto t0 
 
t6 
t7 
 
Temporização dos sinais de controle (parte 2) 
O Computador Neander 
Obs: t0 … t7 são denominados “ciclos do processador” e têm 
todos a mesma duração, que é igual ao tempo de acesso à memória 
t0 
t1 
t2 
t3 
t4 
t5 
t6 
t7 
Clock HLT goto t0 
contador 
Gerador dos sinais de temporização - exemplo 
O Computador Neander 
Unidade de Controle 
carga REM 
incrementa PC 
carga RI 
sel 
carga RDM 
Read 
Write 
UAL(Y) 
UAL(ADD) 
UAL(OR) 
UAL(AND) 
UAL(NOT) 
carga AC 
carga NZ 
carga PC 
t0 t1 t2 t3 
Tempo-
rizador 
t4 t5 t6 t7 
N 
Z 
 
NOP 
LDA 
STA 
ADD 
OR 
AND 
NOT 
JMP 
JN 
JZ 
HLT 
 
CLK 
Vdd 
GND 
goto t0 
O Computador Neander 
carga REM = t0 + t3.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t5.(STA+LDA+ADD+OR+AND) 
 
incrementa PC = t1 + t4.(STA+LDA+ADD+OR+AND) + t3.(JN.N’ + JZ.Z’) 
 
carga RI = t2 
 
sel = t5.(STA+LDA+ADD+OR+AND) 
 
carga RDM = t6.STA 
 
Read = t1 + t4.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t6.(LDA+ADD+OR+AND) 
 
Write = t7.STA 
 
UAL(Y) = t7.LDA 
 
UAL(ADD) = t7.ADD 
 
UAL(OR) = t7.OR 
 
UAL(AND) = t7.AND 
 
UAL(NOT) = t3.NOT 
 
carga AC = t7.(LDA+ADD+OR+AND) + t3.NOT 
 
carga NZ = t7.(LDA+ADD+OR+AND) + t3.NOT (= carga AC) 
 
carga PC = t5.(JMP+JN.N+JZ.Z) 
 
goto t0 = t7.(STA+LDA+ADD+OR+AND) + t3.(NOP+NOT+JN.N’+JZ.Z’) + t5.(JMP+JN.N+JZ.Z) 
 
Expressões booleanas dos sinais de controle 
O Computador Neander 
Exemplos: circuitos para gerar os sinais de controle 
Carga RI t2 
O Computador Neander 
carga REM = t0 + t3.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t5.(STA+LDA+ADD+OR+AND) 
 
incrementa PC = t1 + t4.(STA+LDA+ADD+OR+AND) + t3.(JN.N’ + JZ.Z’) 
 
carga RI = t2 
 
sel = t5.(STA+LDA+ADD+OR+AND) 
 
carga RDM = t6.STA 
 
Read = t1 + t4.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t6.(LDA+ADD+OR+AND) 
 
Write = t7.STA 
 
UAL(Y) = t7.LDA 
 
UAL(ADD) = t7.ADD 
 
UAL(OR) = t7.OR 
 
UAL(AND) = t7.AND 
 
UAL(NOT) = t3.NOT 
 
carga AC = t7.(LDA+ADD+OR+AND) + t3.NOT 
 
carga NZ = t7.(LDA+ADD+OR+AND) + t3.NOT (= carga AC) 
 
carga PC = t5.(JMP+JN.N+JZ.Z) 
 
goto t0 = t7.(STA+LDA+ADD+OR+AND) + t3.(NOP+NOT+JN.N’+JZ.Z’) + t5.(JMP+JN.N+JZ.Z) 
 
Expressões booleanas dos sinais de controle 
O Computador Neander 
Exemplos: circuitos para gerar os sinais de controle 
Carga RI t2 
t6 
STA 
Carga RDM 
O Computador Neander 
carga REM = t0 + t3.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t5.(STA+LDA+ADD+OR+AND) 
 
incrementa PC = t1 + t4.(STA+LDA+ADD+OR+AND) + t3.(JN.N’ + JZ.Z’) 
 
carga RI = t2 
 
sel = t5.(STA+LDA+ADD+OR+AND) 
 
carga RDM = t6.STA 
 
Read = t1 + t4.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t6.(LDA+ADD+OR+AND) 
 
Write = t7.STA 
 
UAL(Y) = t7.LDA 
 
UAL(ADD) = t7.ADD 
 
UAL(OR) = t7.OR 
 
UAL(AND) = t7.AND 
 
UAL(NOT) = t3.NOT 
 
carga AC = t7.(LDA+ADD+OR+AND) + t3.NOT 
 
carga NZ = t7.(LDA+ADD+OR+AND) + t3.NOT (= carga AC) 
 
carga PC = t5.(JMP+JN.N+JZ.Z) 
 
goto t0 = t7.(STA+LDA+ADD+OR+AND) + t3.(NOP+NOT+JN.N’+JZ.Z’) + t5.(JMP+JN.N+JZ.Z) 
 
Expressões booleanas dos sinais de controle 
O Computador Neander 
Exemplos: circuitos para gerar os sinais de controle 
Carga RI t2 
t3 
NOT 
UAL(NOT) 
t6 
STA 
Carga RDM 
O Computador Neander 
carga REM = t0 + t3.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t5.(STA+LDA+ADD+OR+AND) 
 
incrementa PC = t1 + t4.(STA+LDA+ADD+OR+AND) + t3.(JN.N’ + JZ.Z’) 
 
carga RI = t2 
 
sel = t5.(STA+LDA+ADD+OR+AND) 
 
carga RDM = t6.STA 
 
Read = t1 + t4.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t6.(LDA+ADD+OR+AND) 
 
Write = t7.STA 
 
UAL(Y) = t7.LDA 
 
UAL(ADD) = t7.ADD 
 
UAL(OR) = t7.OR 
 
UAL(AND) = t7.AND 
 
UAL(NOT) = t3.NOT 
 
carga AC = t7.(LDA+ADD+OR+AND) + t3.NOT 
 
carga NZ = t7.(LDA+ADD+OR+AND) + t3.NOT (= carga AC) 
 
carga PC = t5.(JMP+JN.N+JZ.Z) 
 
goto t0 = t7.(STA+LDA+ADD+OR+AND) + t3.(NOP+NOT+JN.N’+JZ.Z’) + t5.(JMP+JN.N+JZ.Z) 
 
Expressões booleanas dos sinais de controle 
O Computador Neander 
Exemplos: circuitos para gerar os sinais de controle 
Carga RI t2 
t3 
NOT 
UAL(NOT) 
t6 
STA 
Carga RDM 
t7 
LDA 
UAL(Y) 
O Computador Neander 
carga REM = t0 + t3.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t5.(STA+LDA+ADD+OR+AND) 
 
incrementa PC = t1 + t4.(STA+LDA+ADD+OR+AND) + t3.(JN.N’ + JZ.Z’) 
 
carga RI = t2 
 
sel = t5.(STA+LDA+ADD+OR+AND) 
 
carga RDM = t6.STA 
 
Read = t1 + t4.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t6.(LDA+ADD+OR+AND) 
 
Write = t7.STA 
 
UAL(Y) = t7.LDA 
 
UAL(ADD) = t7.ADD 
 
UAL(OR) = t7.OR 
 
UAL(AND) = t7.AND 
 
UAL(NOT) = t3.NOT 
 
carga AC = t7.(LDA+ADD+OR+AND) + t3.NOT 
 
carga NZ = t7.(LDA+ADD+OR+AND) + t3.NOT (= carga AC) 
 
carga PC = t5.(JMP+JN.N+JZ.Z) 
 
goto t0 = t7.(STA+LDA+ADD+OR+AND) + t3.(NOP+NOT+JN.N’+JZ.Z’) + t5.(JMP+JN.N+JZ.Z) 
 
Expressões booleanas dos sinais de controle 
O Computador Neander 
Exemplos: circuitos para gerar os sinais de controle 
Carga RI t2 
t3 
NOT 
UAL(NOT) 
t6 
STA 
Carga RDM 
t7 
LDA 
UAL(Y) 
t5 
Carga PC 
JN 
JZ 
N 
Z 
JMP 
O Computador Neander 
carga REM = t0 + t3.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t5.(STA+LDA+ADD+OR+AND) 
 
incrementa PC = t1 + t4.(STA+LDA+ADD+OR+AND) + t3.(JN.N’ + JZ.Z’) 
 
carga RI = t2 
 
sel = t5.(STA+LDA+ADD+OR+AND) 
 
carga RDM = t6.STA 
 
Read = t1 + t4.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t6.(LDA+ADD+OR+AND) 
 
Write = t7.STA 
 
UAL(Y) = t7.LDA 
 
UAL(ADD) = t7.ADD 
 
UAL(OR) = t7.OR 
 
UAL(AND) = t7.AND 
 
UAL(NOT) = t3.NOT 
 
carga AC = t7.(LDA+ADD+OR+AND) + t3.NOT 
 
carga NZ = t7.(LDA+ADD+OR+AND) + t3.NOT (= carga AC) 
 
carga PC = t5.(JMP+JN.N+JZ.Z) 
 
goto t0 = t7.(STA+LDA+ADD+OR+AND) + t3.(NOP+NOT+JN.N’+JZ.Z’) + t5.(JMP+JN.N+JZ.Z) 
 
Expressões booleanas dos sinais de controle 
O Computador Neander 
Combinando circuitos para gerar vários sinais de controle 
t3 
NOT 
UAL(NOT) 
Carga NZ 
Carga AC 
AND 
t7 
LDA 
OR 
ADD 
O Computador Neander 
	NEANDER
	Slide Number 2
	Slide Number 3
	Slide Number 4
	Slide Number 5
	Slide Number 6
	Slide Number 7
	Slide Number 8
	Slide Number 9
	Slide Number 10
	Slide Number 11
	Slide Number 12
	Slide Number 13
	Slide Number 14
	Slide Number 15
	Slide Number 16
	Slide Number 17
	Slide Number 18
	Slide Number 19
	Slide Number 20
	Slide Number 21
	Slide Number 22
	Slide Number 23
	Slide Number 24
	Slide Number 25
	Slide Number26
	Slide Number 27
	Slide Number 28
	Slide Number 29
	Slide Number 30
	Slide Number 31
	Slide Number 32
	Slide Number 33
	Slide Number 34
	Slide Number 35
	Slide Number 36
	Slide Number 37
	Slide Number 38
	Slide Number 39
	Slide Number 40
	Slide Number 41
	Slide Number 42
	Slide Number 43
	Slide Number 44
	Slide Number 45
	Slide Number 46
	Slide Number 47
	Slide Number 48
	Slide Number 49
	Slide Number 50
	Slide Number 51
	Slide Number 52
	Slide Number 53
	Slide Number 54
	Slide Number 55
	Slide Number 56
	Slide Number 57
	Slide Number 58
	Slide Number 59
	Slide Number 60
	Slide Number 61
	Slide Number 62
	Slide Number 63
	Slide Number 64
	Slide Number 65
	Slide Number 66
	Slide Number 67
	Slide Number 68
	Slide Number 69
	Slide Number 70
	Slide Number 71
	Slide Number 72
	Slide Number 73
	Slide Number 74
	Slide Number 75
	Slide Number 76
	Slide Number 77
	Slide Number 78
	Slide Number 79
	Slide Number 80
	Slide Number 81
	Slide Number 82
	Slide Number 83
	Slide Number 84
	Slide Number 85
	Slide Number 86
	Slide Number 87
	Slide Number 88
	Slide Number 89

Continue navegando