Arquitetura e Organização de Computadores Estrutura e Função do Processador Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Organização do Processador Requisitos do processador: Buscar instrução Interpretar a instrução Obter os dados Processar os dados Gravar os dados Organização do Processador ULA Faz os cálculos ou processamento de dados Unidade de Controle Controla a movimentação de dados e das instruções que entram e saem do processador e controla operação da ULA Registradores Memória temporária da CPU Registradores CPU precisa de espaço para armazenar alguns dados enquanto trabalha (armazenamento temporário) Chamado registradores Quantidade e funções variam entre os designs de cada processador Uma das maiores decisões no design de um processador Nível mais alto na hierarquia das memórias Papéis dos Registradores Registradores visíveis ao usuário Possibilitam minimizar o acesso à memória através do uso de linguagem de máquina ou assembly Registradores de controle e estado Usados pela unidade de controle para controlar a operação do processador e por programas do SO para controlar a execução de programas Registradores Visíveis ao Usuário - Divisões Uso geral Podem ser para uma variedade de funções Dados Usados apenas para guardar dados Endereços Podem ser usados para um modo de endereçamento em particular (ponteiros de segmento, registradores de índice, ponteiros de pilha) Códigos condicionais Bits definidos pelo hardware do processador como resultado das operações. Ex: operações aritméticas podem resultar resultados positivos, negativos, zero ou fora de capacidade Registradores de Controle e Estado Contador de Programas (PC) Contém o endereço de uma instrução a ser lida Registrador da Instrução (RI) Contém a instrução lida mais recentemente Registrador de Endereço de Memória (MAR) Contém o endereço de uma posição de memória Registrador de Buffer de Memória(MBR) Contém uma palavra de dados para ser escrita na memória ou a palavra lida mais recentemente PSW - Palavra de Estado do Programa (1) Um grupo de bits Contém códigos condicionais Composto por: Sinal do último resultado Zero Marcado se resultado for zero Carry Operações matemáticas Igual Marcado se operação lógica resultou em igualdade PSW - Palavra de Estado do Programa (2) Composto por: (continuação…) Overflow Indica sobrecarga aritmética Habilitar/desabilitar Interrupção Habilita ou desabilita interrupções Supervisor Indica se processador no modo supervisor ou usuário Ciclo de Instrução Estágios Buscar Executar Interromper Ciclo Indireto Requerem acesso a memória para buscar operandos Endereçamento indireto requer mais acessos a memória Pode ser visto como um subciclo adicional de instrução Diagrama de Estado do Ciclo de Instrução Fluxo de Dados (Busca de Instrução) Depende do modelo do processador. Em geral: Durante o ciclo de leitura PC contém o endereço da próxima instrução Endereço é movido para MAR Endereço é colocado no barramento de endereço Unidade de Controle requer uma leitura de memória Resultado é colocado no barramento e copiado para MBR e depois movido para IR Enquanto isso, o PC é incrementado em 1 Fluxo de Dados do Ciclo de Busca Fluxo de Dados (Busca de Dados) IR é examinado Se for encontrado um especificador de operando que indique endereçamento indireto, um ciclo indireto é efetuado Os N bits da extrema direita de MBR são transferidos para MAR Unidade de Controle requisita uma leitura de memória Resultado (endereço do operando) é movido para MBR Fluxo de Dados do Ciclo Indireto Fluxo de Dados (Execução) Assume muitas formas Depende de qual instrução está sendo executada Pode envolver Transferência de Dados entre registradores Leitura/Escrita na memória E/S Utilização da ALU Fluxo de Dados (Interrupção) Simples e Previsível O conteúdo atual de PC deve ser salvo para permitir que a CPU retome a atividade após a interrupção Conteúdo de PC é copiado para MBR Posição especial de memória (Ex: ponteiro de pilha) é carregada em MAR MBR escrito na memória PC preenchido com o endereço da rotina de interrupção Próxima instrução (primeira da interrupção) pode ser buscada Fluxo de Dados do Ciclo de Interrupção Exercícios 1. Quais os 3 principais componentes de uma CPU. Comente. 2. Qual(is) o(s) papel(is) do(s) registrador(es). 3. Quais os estágios de um ciclo de instrução? Comente. 4. Descreva o fluxo de dados em um ciclo de instrução. 5. Descreva o fluxo de dados em um ciclo de interrupção.