Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aluno: Josias Oliveira Neves Matrícula: 2011.02.28578-1 O processador Neander-X Primeiro, explico o que venha ser um processador. O processador consiste, em um executor de uma função exclusivamente, pode interpretar e executar sequencialmente diferentes funções de acordo com instruções que lhes são fornecidas. Ou seja: executar um programa. É neste conjunto de instruções, concebido por um programador humano, que reside a suposta inteligência do processador. Se tratando do Neander-X, consiste em um processador simples baseado em no sistema escrito por professores de uma faculdade brasileira, e é utilizado totalmente para fins acadêmicos pelo fato de ser muito simples, ao contrário dos processadores atuais que são muito complexos. No entanto, esses processadores atuais em toda a sua complexidade têm a base do Neander. O Neander X possui um modo direto de endereçamento, também denominado de ABSOLUTO. Nesse modo absoluto, a palavra contém nas instruções de manipulação de dados, o endereço de memória do operando. Nas instruções de desvio, esse endereço corresponde à posição de memória onde está a próxima instrução a ser executada. Quantos bits são utilizados para representar uma instrução? 8 bits Quantos bits são utilizados para representar um endereço? 8 bits Como são representados os números inteiros negativos? Como FLAG N em complemento de 2. Se valer 1, o inteiro é negativo, se valer 0, o inteiro é positivo. Quantas instruções podem existir? O Neander-X tem 10 instruções e uma 11º que representa “nenhuma operação”. Qual o tamanho máximo de memória endereçável? 256 posições, o que se equivale a uma palavra de 8 bits. Quais são os registradores disponíveis? 1 acumulador de 8 bits (AC), 1 apontador de programa de 8 bits (PC), 1 registrador de estado com 2 códigos de condição: negativo (N) e zero (Z), o REM, que é o registrador de endereços da memória e o RDM, que é o registrador de dados da memória. Qual o formato de uma instrução? 8 bits para opcode e os 8 bits seguintes para o operando. Simuladores Foram criados para auxiliar ao máximo as atividades didáticas do professor, e os alunos nas execuções dos programas. Comparação de Simuladores: Neanderwin VS Ramses Neander - características • Largura de dados e endereços de 8 bits • Dados representados em complemento de dois • 1 acumulador de 8 bits (AC) • 1 apontador de programa de 8 bits (PC) • 1 registrador de estado com 2 códigos de condição: negativo (N) e zero (Z) 24/08/2010 Instruções do Neander Código Instrução Comentário 0000 NOP Nenhuma operação 0001 STA end Armazena acumulador - (store) 0010 LDA end Carrega acumulador - (load) 0011 ADD end Soma 0100 OR end “Ou” lógico 0101 AND end “E” lógico 0110 NOT Inverte (complementa) acumulador 1000 JMP end Desvio incondicional - (jump) 1001 JN end Desvio condicional - (jump on negative) 1010 JZ end Desvio condicional - (jump on zero) 1111 HLT Término de execução - (halt). Ramses - características • Quatro modos de endereçamento, • Dois registradores de uso geral, • Um registrador de índice, • Indicadores de Carry, Negativo e Zero, • instruções adicionais (chamada de sub-rotina, negação e deslocamento de bits, etc ...) Instruções do Ramses Código Instrução Operação Executada 0000 NOP Nenhuma operação 0001 STR r end Armazena registrador na memória - (store) 0010 LDR r end Carrega registrador da memória - (load) 0011 ADD r end Adição - soma memória ao registrador 0100 OR r end "Ou" (adição lógica) - resultado no registrador 0101 AND r end "E" (multiplicação lógica) - resultado no registrador 0110 NOT r Inverte (complementa para 1) registrador 0111 SUB r end Subtração - subtrai memória do registrador 1000 JMP end Desvio incondicional - (jump) 1001 JN end Desvio condicional se < Ø - (jump on negative) 1010 JZ end Desvio condicional se = Ø - (jump on zero) 1011 JC end Desvio condicional se carry = 1 - (jump on carry) 1100 JSR end Desvio para subrotina - (jump subroutine) 1101 NEG r Troca de sinal - (negate) 1110 SHR r Deslocamento para a direita - (shift right) 1111 HLT Parada - (halt) Registradores e Modos de endereçamento • 00 = A (registrador RA) • 01 = B (registrador RB) • 10 = X (registrador de índice) • 11 = nenhum registrador • 00 = direto • 01 = indireto • 10 = imediato • 11 = indexado Comparação • Neander – Instruções: 11*n + 8 – Leituras: 27*n + 18 – Escritas: 4*n + 3 • Ramses – Instruções: 5*n + 6 – Leituras: 10*n + 1 Referências http://www.dcc.ufrj.br/~gabriel/neander.php http://www.ppgee.pucminas.br/weac/2006/PDF/WEAC-2006-Artigo-03.pdf http://equipe.nce.ufrj.br/gabriel/estacio/Neander3.pdf http://www.ulbra.inf.br/joomla/images/documentos/TCCs/2011_01/TCCII_CC_F rancisSherer.pdf
Compartilhar