AOC- neander PDF

Title AOC- neander
Author Leonardo Picolloto
Course Arquitetura e Organização de Computadores
Institution Universidade do Estado de Mato Grosso
Pages 5
File Size 602.5 KB
File Type PDF
Total Downloads 59
Total Views 142

Summary

Download AOC- neander PDF


Description

INTRODUÇÃO O Neander é uma ferramenta de simulação muito útil para o ensino da disciplina de Arquitetura e Organização de Computadores, pois um dos problemas encontrados no ensino desta disciplina é fazer com que os alunos compreendam corretamente o funcionamento de um processador, proporcionando também uma visão comparativa sobre algumas possibilidades arquiteturais. Foi desenvolvido por docentes da UFRGS – Universidade Federal do Rio Grande do Sul. A versão inicial do software foi desenvolvida no ano de 1990 pelos professores da instituição Dr. Raul Fernando Weber e Dr.ª Taisy Silva Weber. Segundo Weber(2001, p.49), o nome Neander lhe foi atribuído fazendo uma analogia ao homem de Neanderthal, o antecessor do Homo Sapiens, já que se tratava de um software simulador muito simples. Ele também serviu de inspiração para outros softwares com o mesmo intuito, mas com capacidades mais avançadas. A primeira versão do Neander foi desenvolvida em modo texto. Com o avanço das tecnologias essa versão ficou inviável. Então em 2001, ainda com o auxilio de Raul e Taisy, mas com o desenvolvimento do professor Fábio Augusto Dal Castel(UFRGS) foi implementando o Neander em modo gráfico. Conforme a figura a seguir:

Segundo Weber(2001, p. 127), as principais características referentes ao funcionamento do Neander são: o Largura de dados e endereços de 8 bits. o Dados representados em complemento de dois. o 1 acumulador de 8 bits (AC). o 1 apontador de programa de 8 bits (PC). o 1 registrador de estado com 2 códigos de condição: negativo(N) e zero(Z). Assim os seguintes elementos são necessários: o Um registrador de 8 bits para o acumulador.

o Um registrador de 8 bits para o PC(e possivelmente um registrador contador) o Dois flip-flops: uma para o código de condição N e outro para Z. o Uma memória de 256 posições de 8 bits cada. O Neander só possui um modo de endereçamento, que é o modo direto, ou seja, 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. Assim na instrução de desvio, o endereço contido na instrução corresponde à posição de memória onde está uma instrução a ser executada.

Conjunto de instruções O conjunto de instruções do Neander compreende 11 instruçoes, codificadas através dos quatro bits mais significativos da palavra que contém o código da instrução.

Nesta tabela o end significa endereço direto. Nas instruções STA, LDA, ADD, OR e AND, end corresponde ao endereço de operando. Nas instruções JMP, JN, JZ, end corresponde ao endereçamento de desvio. Códigos de condição A ULA do Neander fornece os seguintes códigos que são usados pelas instruções JN e JZ: o N – (negativo) : sinal do resultado 1 – resultado é negativo 2 – resultado é positivo( ou não-negativo) o Z – (zero) : indica resultado igual a zero 1 – resultado é igual a zero 0 – resultado é diferente de zero As instruções lógicas e aritméticas (ADD, NOT, AND, OR) e a instrução de transferência LDA afetam os códigos de condição N e Z. As demais não alteram os códigos de condição. Formato das instruções As instruções do Neander são formadas por um ou dois bytes, ou seja, ocupam uma ou duas posições na memória.

Nas instruções de 1 byte, os 4 bits mais significativos contêm o código da instrução. Nas instruções de 2 bytes, o primeiro byte contêm o código( também nos 4 bits mais significativos), e o segundo byte contêm um endereço. Instruções de 2 bytes, no Neander, são aquelas instruções que fazem referência à memória. Registradores: • AC: um registrador de 8 bits; • PC: um registrador de 8 bits (registrador-contador); • RI: um registrador de 4 bits (ou 8); • RDM: um registrador de 8 bits (largura do dado); • REM: um registrador de 8 bits (largura do endereço); • N: um flip-flop para o código de condição N; • Z: um flip-flop para o código de condição Z; • Uma memória de 256 posições (endereços) x 8 bits.

OPERAÇÕES COM A MEMÓRIA: x  MEM(y) descreve uma leitura da memória, que é realizada pelos seguintes passos: 1. REM  y Copia y (que é um endereço) para o REM. 2. Read Ativação de uma operação de leitura da memória. 3. x  RDM Copia o conteúdo de RDM para x. MEM(y)  x descreve uma escrita da memória, que é realizada pelos seguintes passos: 1. REM  y Copia y (que é um endereço) para o REM. 2. RDM  x Copia x (que é um dado) para o RDM. 3. Write Ativação de uma operação de escrita na memória. 

REM é o registrador de endereços da memória;



RDM é o registrador de dados da memória....


Similar Free PDFs