A ORGANIZAÇÃO DE COMPUTADORES
Por: tiagofenon • 21/5/2015 • Trabalho acadêmico • 1.359 Palavras (6 Páginas) • 128 Visualizações
ORGANIZAÇÃO DE COMPUTADORES
Processador Neander-X
O processador Neander-x se caracteriza por ser um processador simples e utilizado para fins acadêmicos, pelo fato dos processadores modernos serem mais complexos e assim seria mais difícil a compreensão dos alunos. No entanto, todo processador tem toda a base conceitual do Neander.
O Neander possui o modo de endereçamento direto, que também é chamado de absoluto. Nesse modo, 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.
QUESTÕES:
A) Quantos bits são utilizados para representar uma instrução?
Utiliza 8 bits para representar uma instrução.
B) Quantos bits são utilizados para representar um endereço?
Utiliza 8 bits para representar um endereço.
C) Como são representados os números inteiros negativos?
Os números negativos são representados como Flag N (negativo) em complemento de 2. SE valer 1,o inteiro é negativo, se valer 0, o inteiro é positivo.
D) Quantas instruções podem existir?
Em 8 bits podem ser representadas até 256 instruções. O Neander-X tem 10 instruções e uma 11º que representa “nenhuma operação”.
E) Qual o tamanho máximo de memória endereçável?
256 posições (palavras de 8 bits) e apenas endereçamento direto.
F) Quais são os registradores disponíveis?
1 acumulador de 8 bits (AC), 1 apontador de programa de 8 bits (PC), 1 registrador de estado com 2 códigos de condição: negativo (N) e zero (Z), o REM, que é o registrador de endereços da memória e o RDM, que é o registrador de dados da memória.
G) Qual o formato de uma instrução?
8 bits para opcode (código da operação) e os 8 bits seguintes para o operando. Há Instruções que ocupam apenas 1 byte (NOP, NOT) e instruções que usam 2 bytes (STA, LDA, ADD, OR, AND, JMP, JN, JZ).
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 | pára processamento |
TESTE NO SIMULADOR NEANDER
[pic 1]
DESCRIÇÃO DO PROCESSO DE SOMA:
Para somar dois valores é utilizado o comando ADD, neste caso vamos somar dois argumentos que estão nas posições 128 e 129, mas pode-se verificar q o comando ADD possui somente um argumento, assim o Neander irá somar o conteúdo do argumento fornecido com o valor que está no acumulador (AC),então é necessário carregar um dos valores de forma previa para não ocorrer erro, e posteriormente realizar a função ADD, para carregar o primeiro argumento que está na posição 128, vamos usar o comando LDA e fornecer o valor 128 como argumento, isso significa que o conteúdo de memória da posição 128 será carregado para o acumulador, então para carregar o comando LDA devemos usar o número 32, logo em seguida devemos informar o endereço de memória que deve ser carregado para o acumulador, no nosso caso o valor é 128, agora que o primeiro argumento está armazenado no acumulador vamos usar o comando ADD e como argumento o valor 129 afim de fazer com que o conteúdo da posição 129 seja adicionado ao valor que já está no acumulador que é o conteúdo da posição 128, neste momento o programa já somou os valores dos argumentos e salvou no acumulador. Então para se realizar a operação de adição devemos usar o número 48 referente a ADD e logo no endereço seguinte fornecer o endereço de memória que deve ser adicionado no caso 129. Para finalizar o que se foi pedido na questão, devemos armazenar o valor da soma de 128 e 129 na posição 130, nesta situação devemos usar o comando STA (store) que é dado pelo número 16 e o endereço de memória onde o valor deve ser armazenado é 130, realizado todo as a operações usamos o comando HLT para encerrar o programa, caso não o utilize o comando, o programa será executado indefinitivamente.
Valores de referência:
[pic 2]
Simuladores
Para facilitar ao máximo as atividades didáticas do professor e tendo um apoio mais completo para possível dificuldades comuns dos alunos.
Sendo criado um ambiente integrado para desenvolvimento, que executa em Windows e Linux incluindo:
- Editor de textos;
- Montador (assembler);
- Simulador da arquitetura;
- Visualizador da memória simulada;
- Ferramenta de apoio ao aprendizado de instruções;
- Utilitário para conversões de bases;
- Simulador de visor painel de chaves;
- Gerador /carregador de imagem da memória simulada.
Com isso os alunos têm diversas experiência práticas como simulador, buscando nesse processo muito mais que apresentar conceito teóricos e nomenclatura, mas o conduzir a uma visão abrangente e em pequena medida, criticar sobre a estrutura e o conjunto de instruções, que permita gerar a curiosidade para estudos futuros mais aprofundados.
...