Baixe o app para aproveitar ainda mais
Prévia do material em texto
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES - CCT0307 Título Estudo do Processador Neander-X Objetivo 1) Estudar o processador Neander-X 2) Pesquisar o que são simuladores 3) Utilizar o simulador NeanderWin 4) Escrever e executar um programa neste simulador Competências / Habilidades Conhecer a composição básica de um processador. Conhecer o formato e endereçamento de instruções Desenvolvimento PARTE I SEMANA 1 e 2: 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? 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 NUMEROS NEGATIVOS SÃO REPRESENTADOS COMO COMO N(NEGATIVO),1-RESULTADO NEGATIVO,0-RESULTADO NÃO E NEGATIVO. d) Quantas instruções podem existir? PODEM EXISTIR 15 INSTRUÇOES. e) Qual o tamanho máximo de memória endereçável? O NEANDER USA UMA MEMORIA DE 256 POSIÇOES(ENDEREÇOS) X 8 BITS PARA ENDEREÇAR(=LARGURA DE ENDEREÇO DE 08 BITS),LOGO ELE,COMSEGUE ACESSAR QUALQUER ENDEREÇO DO INTERVALO. f) Quais são os registradores disponíveis? 1 REGISTRADOR DE ESTADO COM 2 CODIGOS DE CONDIÇAO:NEGATIVO(N)E ZERO (Z) g) Qual o formato de uma instrução? UM ROTULO,UM OPERADOR OU UMA PSEUDO-INSTRUÇAO,UM OPERANDO OPCIONAL E COMENTARIOS.SAO PERMITIDAS LINHAS VAZIAS INSTRUÇOES COM 1 BYTE(NOP,NOT) INSTRUÇOES COM 2 BYTE(STA,LDA,ADD,OR,AND,JMP,JN,JZ) SEMANA 3 E 4: Pesquisar a função dos simuladores e comparar o simulador NeanderWin (simulador do processador Neander-X) com outro a sua escolha. PARTE II A atividade tem duração de 4 semanas. Iniciar atividade após a aula de número 7. Continuando a atividade estruturada anterior, iremos aprender a utilizar o simulador PARTE II A atividade tem duração de 4 semanas. Iniciar atividade após a aula de número 7. Continuando a atividade estruturada anterior, iremos aprender a utilizar o simulador NeanderWin escrevendo e executando um programa neste simulador. Nota importante: Lembre-se sempre de citar todas as referências utilizadas. SEMANA 1 e 2 desta prática: Ambientação a) Executar o download do simulador b) Identificar as partes do simulador descrevendo um breve roteiro de como gerar e executar um programa c) Listar as instruções disponíveis com o respectivo formato e descrição O NeanderWin trata-se de um simulador para uso didático que trabalha em um ambiente integrado de desenvolvimento, possibilitando ao usuário a edição do código em linguagem de montagem, compilar e receber imediatamente mensagens relativas a erros de sintaxe, carregar na memória e, ainda, simular a execução do programa com visualização imediata e interativa. Pode-se citar as seguintes partes que compõem o simulador: • 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ão de bases; • Simulador de visor e painel de chaves; • Gerador/carregador de imagem da memória simulada. O programa disponibiliza ainda um conversor de bases, onde o usuário poderá inserir números em binário, decimal e hexadecimal e verificar a sua conversão. Ao abrir o simulador, o usuário depara-se inicialmente com dois dispositivos de entrada e saída e um visor em formato hexadecimal. Na parte superior do simulador, têm-se as opções como arquivo, editar, tutor de programação, compilar, conversor de bases e ajuda. Logo abaixo, estão disponíveis as opções para salvar, recortar e comentar. Logo abaixo dos dispositivos de entrada e saída à esquerda tem o editor de textos, onde o usuário pode digitar ou criar interativamente por meio de uma função para criação tutorada de programas. À direita da tela estão os verificadores de registros e “flags” principais da CPU, os tipos ACC, PC, Zero Negativo, e abaixo dos verificadores existe o visualizador de memórias disponibilizando controles para alteração de conteúdo. Após a inserção dos dados do programa, o usuário poderá executá-lo, em um botão específico para isso, podendo pausá-lo e “resetar” (reiniciar) o mesmo sempre que desejar. Após criar o programa, o usuário poderá optar por compilar o mesmo, aparecendo em uma janela a listagem onde são indicados também os possíveis erros de compilação. Ressalta-se que a compilação é disponibilizada em um formata semelhante à maioria dos montadores profissionais. Caso o usuário deseje, ele poderá copiar a listagem para algum editor como o Word, o que possibilitará sua edição e impressão. A imagem a seguir demonstra a tela inicial do NeanderWin: PARTES DO SIMULADOR NEANDER: Verificadores dos registros e “flags” principais da CPU (ACC, PC, Zero e Negativo) Visualizador da memória, com controles para alteração de conteúdo. Editor de testos onde o programa digitado para compilação e execução ROTEIRO DE COMO GERAR E EXECUTAR UM PROGAMA: Depois de digitado o programa na área destinada, basta clicar no menu compilar que fará aparecer uma janela com o código. Depois de compilado o programa é adicionado na memória quando é possível efetuar a sua execução. LISTA DO PROCESSADOR NEANDER: Instruções Descrições NOP Usado apenas para gastar tempo. STA Transfere o valor do acumulador para a memória. LDA Atribui ao acumulador o conteúdo da memória. ADD Soma ao acumulador o conteúdo da memória. OR Operador lógico “ou”. AND Operador lógico “e”. NOT Comando de negação. SUB Subtrai do acumulador o conteúdo da memória. JUMP Faz um desvio da execução para o endereço indicado. JN Faz um desvio da execução para o endereço indicado apenas quando o valor for negativo. JZ Faz um desvio da execução quando o valor for um zero. JNZ Faz um desvio da execução quando o valor for diferente de zero. IN Carrega o acumulador com informações de um dispositivo de entrada. OUT Exibe os dados do acumulador em um dispositivo de saída. LDI Carrega o acumulador. HLT Para a máquina. ORG Inicia o programa na posição de memória indicada. EQU Atribui a variável a uma posição de memória indicada. END Indica o fim do programa. DS Reserva um número de palavras na memória. DB Carrega nesta palavra de memória o valor definido. ; Indica que são comentários. SEMANA 3 e 4: Elabore um programa que execute a soma de duas variáveis de 8 bits representadas em complemento a dois. Considere as posições (em decimal) a seguir: INICIO DO PROGRAMA: 0 INICIO DA ÁREA DE DADOS: 128 POSIÇÃO DA 1ª VARIÁVEL: 128 POSIÇÃO DA 2ª VARIÁVEL: 129 POSIÇÃO DO RESULTDO: 130 PROGAMA ESCRITO: ORG 0 x EQU 128 y EQU 129 z EQU 130 LDA x ADD y STA z HLT PROGAMA COMPILADO: 1 ORG 0 2 x EQU 128 3 y EQU 129 4 z EQU 130 5 00 20 80 LDA x 6 02 30 81 ADD y 7 04 10 82 STA z 8 06 F0 HLT LISTAGEM DA TABELA DE SÍMBOLOS: Símbolo Linha Endereço X 1 080 Y 2 081 Z 3 082 PROGRAMA CARREGADO NA MEMÓRIA: PRIMEIRO PASSO: SEGUNDO PASSO: TERCEIRO PASSO: QUARTO PASSO:
Compartilhar