Arquitetura de Computadores CI-Conjunto de Instruções CPU executa operações compostas instruções básicas pré-definidas, denominadas Instruções de Máquina A coleção dessas instruções é denominada Conjunto de Instruções Conjunto de Instruções Instruções de Linguagem de Alto Nível por Instruções de Linguagem de Máquina Prof. Dr. Edward David Moreno Arquitetura - Edward Moreno 1 Conjunto de Instruções Arquitetura - Edward Moreno Visão do Projetista de Hardware Conjunto de Instrução: Interface entre projetista de software e projetista de hardware O Conjunto de Instruções do Ponto de Vista do Projetista de Hardware Linguagens de Alto Nível 3 Ponto de Vista do Projetista de Software Arquitetura - Edward Moreno Cada instrução deve conter informações requeridas pela CPU para sua execução: FORNECE CONSCISTÊNCIA SOBRE A ESTRUTURA DOS REGISTRADORES, MEMÓRIA, TIPOS DE DADOS SUPORTADOS PELA MÁQUINA Arquitetura - Edward Moreno 4 Elementos das Instruções de Máquina Do Ponto de Vista do Projetista de Software, o conjunto de Instruções: FORNECE REQUISITOS FUNCIONAIS PARA A CPU A CPU É IMPEMENTADA DO CONJUNTO DE INSTRUÇÕES Instruções de Máquina Arquitetura - Edward Moreno 2 5 CÓDIGO DA OPERAÇÃO (OpCode Add 1011) ENDEREÇO DOS OPERANDOS ENDEREÇO DO RESULTADO ENDEREÇO DA PRÓXIMA INSTRUÇÃO (Quando for instrução imediatamente seguinte, não há endereçamento Explícito) Arquitetura - Edward Moreno 6 1 Elementos das Instruções de Máquina Fonte ou Resultado dos Operandos Execução de Instruções Operandos (Fonte ou Resultado): Memória principal ou virtual Registradores Dispositivos de E/S Busca de Instrução Busca Operando Armazena Resultado Múltiplos Operados Cál. End Instrução Decodifica Instrução Cál. End Operando Múltiplos Resultados Executa Cál. End Resultado Próxima Instrução Arquitetura - Edward Moreno 7 Representação de Instruções Arquitetura - Edward Moreno Organização de Registradores Dentro do computador cada instrução é representada por uma seqüência de bits 6 A Memória é Organizada de forma Hierárquica Este layout da instrução é conhecido como formato da instrução 4 6 Opcode End. Operando End. Operando Em um mesmo conjunto de instruções pode haver instruções com formatos diferentes Arquitetura - Edward Moreno 9 Registradores de Dados • TIPOS DE REGISTRADORES: Visíveis ao Usuário: minimizam os acessos à memória principal Status e Controle: usados para controlar a CPU e por programas privilegiados (Sist. Operacional) Arquitetura - Edward Moreno Armazenamento de operandos Endereçamento indireto ou por deslocamento Podem ser dedicados a operações ponto-flutuante Podemos separar ainda os Registradores de Propósito Geral em: REGISTRADORES são o topo desta Hierarquia 10 Registradores de Propósito Geral Registradores de Propósito Geral NÍVEL MAIS ALTO DA HIERARQUIA Memória mais Rápida, menor e mais cara Registradores de Endereço Registradores Visíveis ao Usuário 8 Armazenam apenas Operandos das Instruções Usados para diferentes tipos de Endereçamento Apontador para Segmento: Endereço Base do Segmento Registrador de Índice: Endereçamento Indexado Apontador para Pilha: Endereço de topo da Pilha Registradores de Endereço. Arquitetura - Edward Moreno 11 Arquitetura - Edward Moreno 12 2 Critérios para Projeto de Registradores Registradores de Controle Registrador dedicado para Controle da CPU Visíveis apenas pelas instruções de Controle e Instruções executadas pelo SO Quatro Registradores Essenciais: PROGRAM COUTER (PC) : Endereço da Próxima Instrução INSTRUCTION REGISTER (IR): Última Instrução Lida MEMORY ADDRESS REGISTER (MAR): Endereço de Localização de memória MEMORY BUFFER REGISTER (MBR): Palavra a ser escrita na memória ou última palavra lida Arquitetura - Edward Moreno 13 Quanto ao Número de Registradores ? Arquitetura - Edward Moreno 15 14 Critérios para Projeto de Registradores Grande Nº de Registradores requer MAIS bits nas instruções Pequeno Nº de Registradores gera MAIS referências à Memória Tendência é usar MUITOS REGISTRADORES Registrador Especializado pode ser Referenciado Implicitamente pela Instrução Especialização Limita Flexibilidade do Programador Arquitetura - Edward Moreno Critérios para Projeto de Registradores Quanto a serem Registradores Especializados ou Gerais ? Quanto ao Tamanho dos Registradores ? Registradores de Endereço devem ser grandes bastante para endereçar toda a Memória Registradores de Dados devem ser capazes de Armazenar Vários tipos de Dados É possível agrupar dois registradores para armazenar valores muito grandes Arquitetura - Edward Moreno 16 Referências Para Saber Mais: TANENBAUM, ANDREW S. Organização Estruturada de Computadores Prentice/Hall do Brasil Rio de Janeiro , 1992. – Cap 5 Hennessy, John L., Patterson, David A. Organização e Projeto de Computadores A Interface Hardware/Software, Morgan Kaufmann Publishers, Inc, Rio de Janeiro 2000 Arquitetura - Edward Moreno 17 3