Arquitetura e organização
− Nível acima da lógica digital − Função: Implementar a ISA (Instruction Set Architecture) − O projeto da microarquitetura depende diretamente da ISA, além dos objetivos de custo e performance 4.1 Exemplo de Microarquitetura − Cada microarquitetura é única => não existe fórmula − Exemplo: Subconjunto da JVM => Apenas instruções com inteiros (IJVM) − Microprograma (ROM): Busca, decodificação e execução das instruções IJVM − Cada instrução IJVM é uma função a ser chamada pelo programa principal − Programa principal: Loop simples, sem fim => determina a próxima função chamada, executa a função, determina a próxima função, executa a função,... − Instruções IJVM: curtas, normalmente um ou dois campos. O primeiro campo é sempre o OPCODE. − Microprograma: possui um conjunto de variáveis, acessadas por todas as funções => estado do computador MAR (Memory Address Register): Porta de endereçamento de memória (32 bits) MDR (Memory Data Register): Porta de dados de memória (32 bits), leitura ou escrita na memória. PC (Program Counter): indica a posição de memória(endereço) que contém a próxima instrução a ser executada. MBR (Memory Byte Register) : Porta de dados da memória (8 bits), apenas leitura da memória SP (Stack Pointer): Aponta para o topo da pilha LV (Local Variable): Aponta para a base das variáveis locais dentro da pilha CPP (Constant Pool Pointer): Aponta para a base da área de constantes. TOS OPC H (Holding Register)
79
4.1.1 Data Path
− Possui a ULA, suas entradas e saídas. − Conjunto de registradores de 32 bits (arquivo de registradores) => acessíveis apenas no nível da microarquitetura (pelo microprograma) − 6 linhas de seleção da função da ULA => apenas 16 funções úteis − Número negativo: Complemento de dois − Argumentos da ULA: − 1º argumento: sempre do registrador H (Holding) − 2º argumento: Qualquer um dos outros registradores, excluindo o H e MAR
80
− Saída da ULA: Alimenta o deslocador − Deslocador: