Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de computadores Prof. Fábbio Anderson Silva Borges [Material 04] - Arquitetura de Von Neuman Funções Estrutura interna do computador • Existem quatro componentes estruturais principais: • Memória • Barramento • Entrada/saída • Unidade Central de Processamento (CPU) Componentes básicos de um computador 1 Estrutura interna do computador • Existem quatro componentes estruturais principais: - Memória - Conjunto de circuitos capazes de armazenar os dados e os programas a serem executados pela máquina. - Barramento - Mecanismo que oferece comunicação entre CPU, memória principal e E/S. - O tamanho de um barramento determina quantos dados podem ser transmitidos por vez. - Entrada/saída - São equipamentos utilizados como portadores das informação que o computador irá processar - Unidade Central de Processamento (CPU) - Busca e executa as instruções existentes na memória. Arquitetura de Von Neumann • A tarefa de alterar programas para o ENIAC era extremamente enfadonha. • Conceito de programa armazenado - Processo de programação poderia ser facilitado - Programa armazenamento na memória junto com os dados. - Computador iria obter suas instruções lendo na memória. • IAS – computador com programa armazenado Máquina de Von Neumann 2 Lenovo Realce Lenovo Realce Lenovo Realce Lenovo Realce Lenovo Sublinhado Lenovo Sublinhado Lenovo Chamada tamanho = capacidade de transmissão de dados Lenovo Sublinhado Lenovo Sublinhado Lenovo Realce Lenovo Sublinhado Lenovo Sublinhado Lenovo Sublinhado 1. Executar operações elementares de computação. - Multiplicação, divisão, subtração e adição. 2. Executar o controle lógico do dispositivo, ou seja, a ordem como as instruções serão executadas. 3. Para executar sequências de instruções é necessário ter memória para armazenar. 4. Unidades para transferir informações do meio exterior para as partes específicas. 5. Unidades para transferir informações das partes específicas para o meio exterior. 1. CA: Executar operações elementares de computação. - Multiplicação, divisão, subtração e adição 2. CC: Executar o controle lógico do dispositivo, ou seja, a ordem como as instruções serão executadas. 3. M: Para executar sequências de instruções é necessário ter memória para armazenar. 4. E: Unidades para transferir informações do meio exterior para as partes específicas. 5. S: Unidades para transferir informações das partes específicas para o meio exterior. Estrutura expandida do computador IAS • CPU - Unidade de controle - Busca instruções da memória e executando-as uma de cada vez. - ULA: Unidade lógica aritmética - Executa operações lógicas (AND, OR e NOT) - Executa operações aritméticas - Contém registradores: pequena unidade de memória que são utilizados para guardar instruções, endereços ou dados. Ciclo de instrução 3 Lenovo Retângulo Unidade de controle 4 Computador IAS O computador IAS foi o primeiro computador eletrônico construído pelo Instituto de Estudos Avançados de Princeton (IAS). Estrutura expandida do computador IAS • Memória - 4096 locais de armazenamento - Chamados palavras: unidade básica de transferência da/para memória - 40 dígitos binários (bits) - Número - Duas instruções 5 Instrução IAS • O computador IAS tinha um total de 21 instruções. • Agrupadas da seguinte forma: - Transferência de dados - Desvio incondicional - Desvio condicional - Aritméticas - Modificação de endereço Estrutura expandida do computador IAS • CPU - Registrador de buffer de memória - mBR: recebe ou armazena uma palavra da memória ou da unidade de E/S - Registrador de endereço de memória - mAR: especifica o endereço na memória da palavra a ser escrita ou lida no MBR. - Registrador de instrução - IR: contém o opcode de 8 bits da instrução que está sendo executada. 6 - Registrador de buffer de instrução - IBR: mantém temporariamente a próxima instrução a ser executada. - Contador de programa - pc: contém o endereço do próximo par de instruções a ser apanhado da memória. - Acumulador (Ac) e quociente multiplicador (mq): mantém temporariamente operandos e resultados de operações da ALU. - O resultado de multiplicar dois números de 40 bits é um número de 80 bits. Exemplo de Instruções • Algoritmo Alto nível ➭ A = B + C • Algoritmo baixo nível ➭ Load |M(B)| - Transfere o valor absoluto de M(B) para o AC. ➭ ADD |M(C)| - Soma |M(C)| a AC; coloca o resultado em AC. ➭ STOR M(A) - Transfere o conteúdo de AC para o local de memória A. Execução de um programa IAS • As instruções do computador do IAS são executadas uma a uma através de uma sequência de operações; • Quando ligado, o computador executa a instrução à esquerda da primeira palavra da memória (endereço 0); • Depois a instrução à direita da primeira palavra da memória. Ciclo de instrução IAS • IAS opera realizando repetidamente um ciclo de instrução. • Cada ciclo de instrução consiste em dois subciclos. Execução de um programa IAS • Busca da instrução (fetch): buscar a instrução da memória (ou do registrador IBR) e armazenar no IR; • Execução da instrução: Unidade de controle interpretar a instrução armazenada no registrador IR e realizar as operações necessárias; 7 Passos do Ciclo de busca IAS • A UC move o endereço em PC para MAR; • A UC envia um sinal de controle para a memória fazer uma operação de leitura; • A memória lê a palavra de memória e transfere o conteúdo para o registrador MBR; • A UC copia a segunda metade (bits 20 a 39) do registrador MBR e salva no registrador IBR. • A UC copia os 8 bits à esquerda do registrador MBR para o registrador IR. • A UC copia os 12 bits subsequentes ao campo de operação (bits 8 a 19) e os transfere para o registrador MAR. • Atualiza o PC. Ciclo de busca IAS 1. O endereço da palavra a ser lida é escrito no registrador MAR; 2. Os circuitos de controle da unidade de controle (UC) enviam um sinal de controle à memória principal, solicitando a leitura do dado; 3. A memória principal lê o endereço do registrador MAR e fornece o valor armazenado da palavra; 4. A memória principal grava o valor lido no registrador MBR; 5. A UC copia a segunda metade (bits 20 a 39) do registrador MBR e salva no registrador IBR; 6. A UC copia os 8 bits à esquerda do registrador MBR para o registrador IR; 7. A UC copia os 12 bits subsequentes ao campo de operação (bits 8 a 19) e os transfere para o registrador MAR; 8. Atualiza o PC. Passos do Ciclo de Execução • Interpretação dos bits do campo operação da instrução, armazenados em IR. • Dependendo da instrução os passos são diferentes. - UC verifica se a instrução requer a busca de operandos da memória - Se a instrução envolve a realização de uma operação lógica ou aritmética: • Passos para realizar a leitura de operandos: - UC envia um sinal para a memória realizar uma operação de leitura - Endereço do operando já foi transferido para o registrador MAR no ciclo de busca. - A memória lê a palavra de memória e transfere o conteúdo para o registrador MBR; 8 • Passos para realizar uma operação lógica ou aritmética: - A UC envia sinais de controle para a unidade lógica aritmética realizar a operação associada com a instrução; - Operando já devem está nos registradores – AC ou MBR. - A ULA realiza a operação lógica ou aritmética de acordo com os sinais enviados pela UC; - A ULA grava o resultado da operação em seus registradores: AC, MQ ou MBR. • Passos para realizar uma gravação do resultado na memória: - A UC envia um sinal para a memória realizar uma operação de escrita. - Endereço do operando já foi transferido para o registrador MAR no ciclo de busca. - A memória lê o dado de MBR e o grava na palavra dememória associada ao endereço lido de MAR. Gargalo de Von Neumann • Tráfego no barramento: - Instruções e dados utilizam o mesmo barramento; - A cada ciclo do computador somente uma instrução trafega no barramento. • Soluções para eliminar o gargalo: - Manter informações na CPU; - Diminuir o tamanho das informações. Noções de Desempenho • Ciclo de Relógio (clock): - É um circuito oscilador que tem a função de sincronizar o processamento. - Intervalos básicos de tempo nos quais são executadas as operações elementares de uma instrução. - Transferências de valores entre registradores; - Operações aritméticas na ALU. • Frequência é medida em ciclos por segundo (Hertz). •Um processador é controlado por um clock com uma frequência constante. • Período do relógio (T): Tempo de duração de um ciclo do relógio. • Frequência do relógio (f): Frequência de repetição de ciclos de clock por segundo. • Exemplo: Se o período do relógio é de T = 4 ns = 4x10-9 f = 1/T = ¼ x 10^-9 = 250 MHz *Para um período de 4ns a máquina pode executar 250 milhões de operações por segundo. 9 Lenovo Realce Lenovo Sublinhado Os componentes do computador trocam informações: 10 Estrutura de interconexão • A coleção de caminhos, conectando os diversos módulos do computador. • A estrutura de interconexão deve admitir os seguintes tipos de transferências: - memória para processador - processador para memória - e/s para processador - processador para e/s - e/s de ou para a memória • Denominada Barramento Barramento • Caminho de comunicação que conecta dois ou mais dispositivos. • Meio de transmissão compartilhado - Múltiplos dispositivos se conectam ao barramento - Sinal transmitido por qualquer dispositivo está disponível para todos - Somente um dispositivo de cada vez pode transmitir com sucesso. • Sistemas de computação contêm diversos barramentos diferentes - Barramento do sistema: conecta os componentes do PC. Estrutura de barramento • Conjunto de linhas interconectadas. - Cada linha trafega um bit 0 ou 1. • As linhas podem ser classificadas em três grupos funcionais: • Barramento de dados - Oferecem um caminho para movimentação de dados entre os módulos do sistema. - A largura do barramento de dados é um fator chave para determinar o desempenho geral do sistema. - Se o barramento de dados tiver 32 bits de largura e cada instrução tiver 64 bits de extensão, então é necessário acessar o módulo duas vezes. • Barramento de endereço - Designar a origem ou o destino dos dados no barramento de dados. - A largura do barramento de endereço determina a capacidade de memória máxima possível do sistema. - 8, 16, 32 ou 64 bits • Barramento de controle - Controlar o acesso e o uso das linhas de dados e endereço 11 Lenovo Sublinhado Lenovo Sublinhado Lenovo Realce - Transmitem informações de comando e sincronização entre os módulos do sistema: - Escrita ou Leitura de memória; - Escrita ou leitura de e/s; - AcK de transferência; - Solicitação de barramento; - Concessão de barramento; - Requisição de interrupção; - AcK de interrupção; - Clock. Operação do barramento • Módulo deseja enviar dados para outro: 1. Obter o uso do barramento; 2. Transferir dados por meio do barramento. • Módulo deseja requisitar dados de outro módulo: 1. Obter o uso do barramento; 2. Transferir uma requisição ao outro módulo; 3. Esperar que o segundo módulo envie dados. Configuração de Barramento • Arquitetura de barramento tradicional: • Arquitetura de barramento de alto desempenho: 12 Interrupções: • Mecanismo por meio do qual outros módulos (E/S, memória) podem interromper o processamento normal do processador. • As interrupções são fornecidas primeiramente como um modo de melhorar a eficiência do processamento. Por exemplo, a maioria dos dispositivos externos é muito mais lenta do que o processador. Suponha que o processador esteja transferindo dados a uma impressora usando o esquema de ciclo de instrução da Figura 3.3. Após cada operação de escrita, o processador deve parar e permanecer ocioso até que a impressora o alcance. A extensão dessa pausa pode estar na ordem de muitas centenas ou mesmo milhares de ciclos de instrução que não envolvem memória. Claramente, esse é um grande desperdício de uso do processador. A Figura 3.7a ilustra esse estado de coisas. O programa do usuário realiza uma série de chamadas WRITE intercaladas com processamento. Os segmentos de código 1, 2 e 3 referem-se às sequências de instruções que não envolvem E/S. As chamadas WRITE são para um programa de E/S que é um utilitário do sistema e que realizará a operação de E/S real. O programa de E/S consiste em três seções: - Uma sequência de instruções, rotuladas como 4 na figura, para preparar para a operação de E/S real. Isso pode incluir a cópia dos dados para a saída em um buffer especial e a preparação dos parâmetros para um comando de dispositivo. - O comando de E/S real. Sem o uso de interrupções, quando esse comando é emitido, o programa precisa esperar pelo dispositivo de E/S para realizar a função solicitada (ou sondar o dispositivo periodicamente). O programa poderia esperar simplesmente realizando uma operação de teste repetidamente, para determinar se a operação de E/S terminou. - Uma sequência de instruções, rotulada como 5 na figura, para completar a operação. Isso pode incluir a marcação de um flag, indicando o sucesso ou a falha da operação. Como a operação de E/S pode levar um tempo relativamente longo para terminar, o programa de E/S fica preso, esperando que a operação termine; daí o programa de E/S ser interrompido no ponto da chamada WRITE por algum período considerável. INTERRUPÇÕES E O CICLO DE INSTRUÇÃO Com as interrupções, o processador pode estar engajado na execução de outras instruções enquanto uma operação de E/S está em andamento. Considere o fluxo de controle na Figura 3.7b. Como antes, o programa do usuário alcança um ponto em que faz uma chamada do sistema na forma de uma chamada WRITE. O programa de E/S que é invocado, nesse caso, consiste apenas no código de preparação e o comando de E/S real. Depois que essas poucas instruções tiverem sido executadas, o controle retorna ao programa do usuário. Enquanto isso, o dispositivo externo está ocupado aceitando e imprimindo dados vindos da memória do computador. Essa operação de E/S é realizada simultaneamente com a execução de instruções no programa do usuário. Quando o dispositivo externo estiver pronto para ser atendido ou seja, quando estiver pronto para aceitar mais dados do processador , o módulo de E/S para o dispositivo externo envia um sinal de requisição de interrupção ao processador. O processador responde suspendendo a operação do programa atual, desviando para um programa para atender a esse dispositivo de E/S em particular, conhecido como tratador de interrupção, e retomando a execução original depois que o dispositivo for atendido. Os pontos em que essas interrupções ocorrem são indicados por um asterisco na Figura 3.7b. 13 Lenovo Realce 14 Ciclo de instrução com tratamento de interrupção: Interrupções múltiplas • Processamento de interrupção sequencial: • Processamento de interrupção aninhado: 15
Compartilhar