Atividade estruturada
ORGANIZAÇÃO DE COMPUTADORES
Aluno:
|
|
Matricula:
|
|
|
|
TÍTULO
|
CONHECENDO O
PROCESSADOR NEANDER-X
|
DESCRIÇÃO WEB AULA
|
Vamos estudar as
características de um processador não comercial.
|
OBJETIVO
|
|
COMPETÊNCIA/HABILIDADE
|
· Identificar as características
de um processador a partir da especificação do mesmo.
· Elaborar um programa utilizando
as instruções do processador.
|
Parte I.
Pesquisar as características do processador Neander-X e responda as seguintes questões:
a)
Quantos bits são utilizados para representar uma instrução?
R.: Uma instrução é representada por 8 bits.
b)
Quantos bits são utilizados para representar um endereço?
R.: Um endereço é representado por 8
bits.
c)
Como são representados os números inteiros negativos?
R.: 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?
R.: Em 8 bits podem ser representadas até 256 posições.
O Neander-X tem 15 instruções .
e) Qual
o tamanho máximo de memória endereçável?
R.: uma memória de 256 endereços X 8
bits.
f)
Quais são os registradores disponíveis?
Os
registrados disponíveis são: 1 registrador de estado com 2códigos de
condição:negativo(N) e zero (Z).
g) Qual
o formato de uma instrução?
Os
formatos são: uma linha pode conter alguns dos seguintes elementos:um rótulo,
um operador ou uma pseudo-instrução,um operando opcional e comentários. São
permitidas linhas vazias.Instruções com 1 byte (NOP,NOT)Instruções com 2 byte
(STA,LDA,ADD,OR,AND,JMP,JN,JZ)
Parte
II
Identificar as partes do simulador descrevendo um breve roteiro
de como gerar e executar um programa
Esta
é a aparência do Neander X.
Para
criação de um programa e execução devemos primeiro ter a certeza que o programa
esta zerado e a memória esta limpa para não haver nenhum problema.
Podemos
voltar à memória ao inicio clicando em reset na parte de controle de execução ou
para não perder tempo podemos ,simplesmente ir em arquivo e clicar em novo.
Ira perguntar “tudo foi salvo ?” pode clicar em sim .pronto tudo estando
zerado ou limpo como queira vamos a nossa programação. No simulador esta
dividido em três partes.
Em
cima na parte esquerda esta a parte binária onde podemos inserir entradas de
valores nos endereços do simulador. Podemos limpar nosso código ou entrar com
nosso código binário. Próximo a ele na cor de fundo lilás está a parte de “controle
de execução” aonde podemos iniciar nosso aplicativo
quando já se encontra compilado. Neste local nos temos a opção de executar
nosso aplicativo normal, clicando em executar. Rápido marcando uma caixa que
se se encontra ao lado deste ou passo a passo, verificando assim tudo que
esta sendo executado gradativamente.
Também
neste local há dois botões chamados parar que obviamente serve para parar a
execução do aplicativo e reset para voltar à memória para o inicio da
execução.
No lado direito esta a “próxima
instrução e registradores”. Nela estão contidas as casas decimais e os
valores que são inseridos a cada um. Podemos
acessar as casas decimais de duas formas:
1. Clicando diretamente
sobre e inserindo o valor desejado.
2. Inserindo na parte
inferior o endereço da casa decimal e abaixo o valor desejado.
Para criação de um programa vou descrever a forma fácil, que eu
acho.
Vamos na área branca que esta a sua esquerda, conforme a imagem
abaixo.
Neste local é onde iremos inserir os códigos como
descritos.
Aqui estarei descrevendo algumas instruções para
uso.
Vamos considerar, como exemplo, um programa que realiza a soma de 2
posições consecutivas da memória e armazena o resultado numa terceira
posição. Inicialmente, devem ser escolhidas a área de dados e a área de
programa, ou seja, a localização das instruções e dados na memória. Não
existem critérios para essa escolha, mas deve ser observado que área de
programa não pode invadir a área de dados e vice-versa. Ou seja, para esse
programa, foi escolhida uma alocação de memória de tal forma que o programa
ocupe a metade inferior da memória e os dados a metade superior, como segue:
Área de programa início do programa posição 0 (0H)
Área de dados primeira parcela posição 128 (80H)
segunda parcela posição 129 (81H)
resultado posição 130 (82H)
O programa seria: Simbólico
Comentários
X EQU 128 ; Endereço da variável X definido como 128
Y EQU 129 ; Endereço da variável Y definido como 129
W EQU 130 ; Endereço da variável W definido como 130
ORG 0
LDA X ; acumulador A recebe conteúdo de X
ADD Y ; conteúdo de A é somado ao conteúdo de Y
STA W ; conteúdo de A é copiado para W
HLT ; processador pára
Esse programa pode ser editado em linguagem de montagem, depurado e
executado usando o simulador/depurador NEANDERWIN, cujos comandos foram
apresentados anteriormente.
é um computador muito simples,
desenvolvido apenas para fins didáticos. Existem processadores modernos
muito mais complexos que Neander. Entretanto, mesmo processadores
utilizados nas mais sofisticadas estações de trabalho são baseados nos
conceitos elementares do Neander, cujas principais características são:
• Apontador de instruções de 8 bits (PC); • Largura de dados e endereços de 8 bits; • Registrador de código de condição com 2 bits: negativo (N) e zero (Z). • Dados representados em complemento a dois; • Acumulador de 8 bits (AC); A arquitetura e o conjunto de instruções do NEANDER-X, não permite comparação razoável com processadores comerciais, que são muito mais complexos que ele. Entretanto, seu uso didático é plenamente justificado não só pela sua simplicidade e rapidez de ensino, mas especialmente porque mesmo os processadores utilizados nas mais sofisticadas estações de trabalho são baseados nos mesmos conceitos elementares que são facilmente assimilados com o estudo do NEANDER-X. Nota importante: Lembre-se sempre de citar todas as referências utilizadas.
Print screen do resultado do programa criado
no neander X.
|
Nenhum comentário:
Postar um comentário