Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Unidade curricular:
(Nome da disciplina) Organização e Arquitetura de Computadores I Turma: 140-0146SEGNT
Professor: João Luís Tavares da Silva Ano/semestre: 2017/2 02/10/2017
COMPUTADOR HIPOTÉTICO NEANDER
Introdução
O NEANDER é um computador hipotético muito simples, desenvolvido apenas para fins
didáticos, contendo os principais componentes de uma UCP, realizando operações
básicas e movimentos de memória. Sua arquitetura é ilustrada pelo diagrama a seguir:
Características da Arquitetura
 Largura de dados e endereços de 8 bits
 Dados representados em complemento de 2 (C’2)
 1 acumulador de 8 bits (AC)
 1 apontador de programa (PC) de 8 bits
 1 registrador de estado com 2 códigos de condição: 
o negativo (N)
o zero (Z) 
João Luís Tavares Silvaᄉ
João Luís Tavares Silva瑰
Organização e Arquitetura de Computadores I�
Conjunto de Instruções
Código Instrução Operação
0000 NOP Nenhuma operação
0001 STA end Armazena acumulador no endereço “end” da memória
0010 LDA end Carrega o acumulador com o conteúdo do endereço
“end” da memória
0011 ADD end Soma o conteúdo do endereço “end” da memória ao
acumulador
0100 OR end Efetua operação lógica “OU” do conteúdo do endereço
“end” da memória ao acumulador
0101 AND end Efetua operação lógica “E” do conteúdo do endereço
“end” da memória ao acumulador
0110 NOT Inverte todos os bits do acumulador
1000 JMP end Desvio incondicional para o endereço “end” da
memória
1001 JN end Desvio condicional, se “N=1”, para o endereço “end”
da memória
1010 JZ end Desvio condicional, se “Z=1”, para o endereço “end”
da memória
1010 JNZ end Desvio condicional, se “Z=0”, para o endereço “end”
da memória
1111 HLT Para o ciclo de busca-decodificação-execução
Códigos de Condição
O NEANDER possui um Registrador de Flags com 2 bits:
 Bit N: Negativo – Sinal do resultado do acumulador
o 0 – resultado é positivo ou zero
o 1 – resultado é negativo
 Bit Z: Zero – Indica resultado igual a zero
o 0 – resultado é diferente de zero
o 1 – resultado é igual a zero
As instruções lógicas e aritméticas (ADD, NOT, AND, OR) e a instrução de
transferência LDA afetam os códigos de condição N e Z. As demais instruções (STA,
JMP, JN, JZ, JNZ, IN, OUT, LDI, NOP e HLT) não alteram os códigos de condição. 
Formato da Instrução
O NEANDER só possui um modo de endereçamento: o modo direto (muitas vezes
também chamado de absoluto). No modo de endereçamento direto, a palavra que segue
o código da instrução contém, nas instruções de manipulação de dados, o endereço de
memória do operando. Nas instruções de desvio, esse endereço corresponde à posição
de memória onde está a próxima instrução a ser executada. 
O formato da instrução pode ser composto por um ou dois endereços de memória:
Para as instruções que não acessam memória, é usado um endereço para armazenar a
instrução. Para as demais instruções, são usados dois endereços de memória como
segue:
Execução das Instruções
Ciclo de busca da instrução: 
RI ← MEM(PC) 
PC ← PC + 1 
Sequência de operações para execução da instrução:
 
Instrução: Ciclo operações 
NOP 
Busca 
RI ← MEM(PC)
PC ← PC + 1 
Execução nenhuma 
STA 
Busca 
RI ← MEM(PC) 
PC ← PC + 1 
Execução ender ← MEM(PC) 
PC ← PC + 1 
MEM(ender) ← AC 
LDA 
Busca 
RI ← MEM(PC) 
PC ← PC + 1 
Execução ender ← MEM(PC) 
PC ← PC + 1
AC ← MEM(ender) 
ADD 
Busca 
RI ← MEM(PC) 
PC ← PC + 1 
Execução ender ← MEM(PC)
PC ← PC + 1
AC ← AC + MEM(ender) 
Endereço n+1
Endereço n
0347
DON´T CAREOPCODE
ENDEREÇO DIRETO
OR 
Busca 
RI ← MEM(PC) 
PC ← PC + 1 
Execução 
ender ← MEM(PC)
PC ← PC + 1
AC ← AC or MEM(ender) 
AND 
Busca 
RI ← MEM(PC) 
PC ← PC + 1 
Execução 
ender ← MEM(PC)
PC ← PC + 1
AC ← AC and MEM(ender) 
NOT 
Busca 
RI ← MEM(PC) 
PC ← PC + 1 
Execução AC ← not AC 
JMP Busca 
RI ← MEM(PC) 
PC ← PC + 1 
Execução 
ender ← MEM(PC) 
PC ← ender 
JN caso N=1 
Busca 
RI ← MEM(PC) 
PC ← PC + 1 
Execução 
ender ← MEM(PC) 
PC ← ender 
JN caso N=0 
Busca 
RI ← MEM(PC) 
PC ← PC + 1 
Execução 
ender ← MEM(PC) 
PC ← PC + 1 
Referências
WEBER, R. F. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: Bookman, 2012.
424 p. (Série Livros Didáticos Informática UFRGS, v. 8).
Acesso ao código do simulador:
- http://www.inf.ufrgs.br/arq/wiki/doku.php?id=neander 
Simulador online:
- http://inf.ufrgs.br/~vbuaraujo/sw/neander/ 
- http://inf.ufrgs.br/~vbuaraujo/sw/neander/ahmes.html 
 
http://www.inf.ufrgs.br/arq/wiki/doku.php?id=neander
http://inf.ufrgs.br/~vbuaraujo/sw/neander/ahmes.html
http://inf.ufrgs.br/~vbuaraujo/sw/neander/

Mais conteúdos dessa disciplina