Trabalho Neander

Disciplina: Organização de Computadores Ana Paula Viana Lopes Estudo do Processador Neander-X a. Quantos bits são utiliz

Views 72 Downloads 3 File size 286KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Disciplina: Organização de Computadores Ana Paula Viana Lopes Estudo do Processador Neander-X a. Quantos bits são utilizados para representar uma instrução? São utilizados 08 bits. b. Quantos bits são utilizados para representar um endereço? São utilizados 08 bits. c. Como são representados os números inteiros negativos? Os números negativos são representados como N(negativo),1- resultado negativo, 0- resultado não é negativo. d. Quantas instruções podem existir? Podem existir 15 instruções. e. Qual o tamanho máximo de memória endereçável? O Neander usa uma memória de 256 posições (endereços) x 8 bits para endereçar (= largura de endereço de 08 bits), logo, ele consegue acessar qualquer endereço do intervalo: - 00000000 a 11111111 (em binário) - 0 a 255 (em decimal) - 0 M a FFH (em hexadecimal) Com isso temos a seguinte divisão de memória: - Área programada – posição 0M até 7FH - Área de dados – posição 80H até FFH f. Quais são os registradores disponíveis? Os registrados disponíveis são: 1 registrador de estado com 2 có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) Função dos Simuladores Facilitar ao máximo as atividades didáticas do professor e o apoio mais completo possível para as dificuldades comuns do aluno. 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. Portanto, é possível ter diversas experiências práticas com o simulador, buscando nesse processo muito mais que apresentar conceito teóricos e nomenclatura, mas conduzir todos a terem 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.

NEANDER A)

Executar o download do simulador.

Neander

B) Identificar as partes do simulador descrevendo um breve roteiro de como gerar e executar um programa. Na imagem abaixo temos a tela principal do simulador de máquina Neander.

No menu arquivo temos as opções de carregar, salvar, salvar texto e sair. Na opção editar, temos a opção de decimal e hexadecimal, geralmente deixamos a decimal marcada que e a representação de nossos números no neander.Abaixo do acumulador (AC) temos 2 botoes, 0..9 e o 0..F. O 0..9 significa representação em decimal e 0..F significa representação em hexadecimal, como mostra a imagem

Representação e decimal e hexadecimal

No menu visualizar deixamos todas as opções marcadas pois desejamos visualizar todas as janelas do programa tais como a janela de programa, menu principal, dados e mnemônico como mostra na 2ª imagem. No menu executar temos as opções de rodar, passo, alterar ac, alterar pc, zerar pc. Quando terminar de escrever seu programa em neander você pode executar de duas formas. Primeiro você pode rodar todo o programa direto so exibindo os resultados finais das operações, ou executar passo a passo. Você executa uma instrução por vez ate o programa terminar. Antes de executarmos um programa devemos executar, zerar pc para que o programa comece do 0 da mémoria. Na janela principal do neander temos do lado esquerdo a mémoria do programa e a direita mémoria de dados do programa, abaixo temos todas as representações numericas do programa, ou seja se queremos efetuar somas de instrução entre números usamos a opção ADD nos representamos essa instrução com o numero 48, veja na imagem a seguir.

Representação instrução de soma.

da

Se queremos inserir um valor na memoria de dados basta selecionar a posição e digitar o valor desejado. O neander possui uma mémoria total de 255 bits de endereçamento para instruções e dados. Por isso e preciso tomar cuidado ao escrever programas em neander, pois a area de instruções nao deve invadir a area de dados, por isso usamos a seguinte convenção. Da posição 0 a posição 127 usamos a memoria para instruções. E da posição 128 ate a 255 usamos a memoria para dados. O neander tambem possui um acumulador de 8 bits representado pelo AC e um apontador de programa de 8 bits representado pelo PC. O acumulador recebe operandos que são carregados na memoria que também serve para armazenar valores na memoria e serve para guardar resultados de operações entre valores. Porem o acumulador so tem capacidade de armazenar um valor por vez de ate 8 bits, o apontador de programa simplismente aponta para posiçao de memoria onde esta sendo executado o programa, ele começa sempre da posição 0 de memoria para facilitar na correção e evitar na complexabilidade. C) Listar as instruções disponiveis com o respectivo formato e descrição. Listagem geral das instruções As instruções podem ter um ou dois bytes. Nas instruções com apenas um byte, os 4 bits mais significativos contém o código da operação.

Código binário 0000 0001 0010 0011 0100 0101 0110 1000 1001 1010 1011 1100 1101 1110 1111

Instrução NOP STA ender LDA ender ADD ender OR ender AND ender NOT JMP ender JN ender JZ ender JNZ ender IN ender OUT ender LDI imed HLT

Descrição nenhuma operação armazena acumulador (store) carrega acumulador (load) Soma operação lógica “ou” operação lógica “e” inverte (complementa) acumulador desvio incondicional (jump) desvio condicional (jump on negative) desvio condicional (jump on zero) desvio condicional (jump on not zero) operação de entrada no dispositivo “ender” operação de saída no dispositivo “ender” carrega o valor imediato imed no acumulador término da execução (halt)

Semana 3 e 4: Elabore um progama que execute a soma de duas variaveis de 8 bits representadas em complemento a dois. Considere as posições (em decimal) a seguir: Segue print da tela do simulador com os respectivos resultados.