Prévia do material em texto
ORGANIZAÇÃO DE COMPUTADORES CONHECENDO O PROCESSADOR NEANDER-X Diciplina :ORGANIZAÇÃO DE COMPUTADORES (CCT0748) Professor: SERGIO RODRIGUES AFFONSO FRANCO Aluna : Jéssica Luana Nonato Matricula : 202001347836 Turma : 9001 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? As instruções podem ter 1 (um) ou 2 (dois) bytes, o que remete a 8 ou 16 bits. b) Quantos bits são utilizados para representar um endereço? A largura de endereço corresponde a 8 bits. c) Como são representados os números inteiros negativos? Representados pela “flag” (N). d) Quantas instruções podem existir? O número de instruções no Neander-X é pequeno, apenas 16 instruções, são elas: 1- NOP 9- JMP ender 2- STA ender 10- JN ender 3- LDA ender 11- JZ ender 4- ADD ender 12- JNZ ender 5- OR ender 13- IN ender 6- AND ender 14- OUT ender 7- NOT ender 15- LDI imed 8- SUB ender 16- HLT. e) Qual o tamanho máximo de memória endereçável? 256 posições (endereços) x 8 bits. f) Quais são os registradores disponíveis? · AC: 1 registrador de 8 bits; · PC: 1 registrador de 8 bits (registrador – contador) · RI : 1 registrador de 4 ou 8 bits; · RDM: 1 registrador de 8 bits (largura do dado); · REM: 1 registrador de 8 bits (largura do endereço). g) Qual o formato de uma instrução? Há instruções de 1 (um) byte (NOP,NOT) e instruções com 2 (dois) bytes (STA,LDA,ADD,OR,AND,JMP,JN,JZ. ). Nas instruções com apenas um byte, os 4 bits mais significativos contêm o código da operação. As instruções com dois bytes, são aquelas que fazem referência a um dado imediato ou operando na memória. Os 4 bits de mais baixa ordem do primeiro byte são reservados para futuras expansões. Uma linha pode conter alguns elementos: um rótulo, um operador ou uma pseudo-instrução, um operando opcional e comentários. São permitidas linhas vazias. PARTE II Vamos aprender a utilizar o simulador NeanderWin escrevendo e executando um programa neste simulador. 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 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: Início do programa: 0 início da área de dados: 128 Posição da 1ª variável: 128 Posição da 2ª variável: 129 posição do resultado: 130 b) Partes do simulador: Lado esquerdo : Quadro de Comandos de programação (onde a estrutura do algoritmo fica armazenada). Centro : Parte superior aparece o MENU de opções ARQUIVO (opções Carregar, Salvar, Salvar texto),EDITAR (opções Ir para, copiar, colar, recortar, apagar, Decimal e hexadecimal),VISUALIZAR (opções Memória – Programa, Memória Dados, Memória – Dados mnemônicos e Mnemônicos relativos),EXECUTAR (Rodar passo a passo, Rodar Programa, Alterar AC, Alterar PC, Zerar). Logo abaixo temos as opções Acumulador (onde aparece o resultado do algoritmo criado) e processador, logo abaixo ícone Rodar Programa (executa todos os comandos inseridos de uma só vez),rodar passo a passo (executa os comandos em etapas),abaixo desses ícones aparece o quadro de comandos (com suas respectivas legendas) . Direita : Quadro de dados/valores (onde se insere os dados e/ou valores para simular a execução do programa(os valores das variáveis). Para criar um programa deve inicialmente montar a estrutura (algoritmos a serem executados), exibida no quadro de comandos de programação, onde se deve inserir os comandos (ADD,NOPP etc...) e as posições das variáveis, definida a estrutura deve-se ir na opção Zerar no menu EXECUTAR, após isso é só informar valores ás variáveis no quadro esquerdo e ir no menu Executar podendo “rodar passo a passo” se quiser executar uma etapa de cada vez ou opção “rodar programa” para executar toda a instrução de uma só vez. c) Abaixo os comandos para programação: Código Instrução Descrição · 00 NOP nenhuma operação · 16 STA ender armazena acumulador (store) · 32 LDA ender carrega acumulador (load) · 48 ADD ender soma · 64 OR ender operação lógica “ou” · 80 AND ender operação lógica “e” · 96 NOT inverte (complementa) acumulador · 128 JMP ender desvio incondicional (jump) · 144 JN ender desvio condicional (jump on negative) · 160 JZ ender desvio condicional (jump on zero) · 240 HLT término da execução (halt) Segue abaixo os Print Scream das telas do Neander com o resultado do exercício proposto: 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: Parte III Processador Neander-X - Parte III O processador Neander-X não é utilizado comercialmente. Escreva um relatório que compare o Neander a um processador comercial demonstrando o porquê do uso apenas acadêmico deste processador. Arquitetura do processador Neander-X Largura de dados e endereços de 8 bits; Dados representados em complemento a dois; 1 acumulador de 8 bits (AC); 1 apontador de instruções de 8 bits (PC); 1 registrador de código de condição com 2 bits: negativo (N) e zero (Z). Arquitetura do processador Intel Core i3-2350M Velocidade do clock: 2.3Ghz Núcleos: Dual core, dois núcleos Cache de memória: 3Mb Arquitetura: 32/64 bits Processador gráfico integrado Conclusão Processadores são extremamente complexo, mesmo se tratando do processador Neander-X, onde sua concepção veio para facilitar no aprendizado e partindo de um periférico mais simples com funcionalidades mais básicas, poderemos nos aprofundar e compreender o funcionamento dos processadores comerciais mais modernos no mercado. Referências bibliográficas Site oficial da Intel. Disponível em < http://ark.intel.com/ptbr/products/53438/Intel-Core-i3-2350M-Processor-3M-Cache-2_30-GHz> Site Wikipédia. Disponível em < http://pt.wikipedia.org/wiki/M%C3%A1quinas_hipot%C3%A9ticas_da_Universidade_Fe deral_do_Rio_Grande_do_Sul. Site UFRJ Gabriel P. Silva. Disponível em < http://www.dcc.ufrj.br/~gabriel/neander.php>.br/~gabriel/neander.php>