Redes do Computadores 2013.1 Unidade Central de Processamento UCP Cap. 06 Faculdade Lourenço Filho Prof. Antonio Filho Faculdade Lourenço Filho Informática Faculdade Lourenço Filho Informática -Eletrônica Faculdade Lourenço Filho Arquitetura de Computadores Evolução Faculdade Lourenço Filho UCP O processado é o componente vital do sistema de computação, é responsável pela realização de qualquer operação realizada pelo computador Efetua ações Internas Em decorrência da interpretação de uma instrução emite sinais de controle para os demais componentes. Faculdade Lourenço Filho Função do Processador Consiste nas seguistes etapas: 1º Buscar uma instrução na memória; 2º Interpretar que operação a instrução esta explicitando (soma de 2 números por ex.; 3º Buscar os dados onde estiverem armazenados; 4º executar efetivamente a operação com os dados, guardar o resultado 5º reiniciar o processo buscando uma nova instrução Faculdade Lourenço Filho UNIDADE CENTRAL DE PROCESSAMENTO UCP A Unidade Central de Processamento - UCP (Central Processing Unity - CPU) é a responsável pelo processamento e execução dos programas armazenados na MP. As funções da UCP são: Executar as instruções e controlar as operações no computador (hardwares da máquina). Faculdade Lourenço Filho Unidade Central de Processamento -UCP Os registradores são utilizados como locais de armazenamento temporário de dados provenientes da memória destinados à UAL, ou vice-versa. Os principais registradores utilizados na arquitetura de Von Neumann e suas respectivas funções são os seguintes... Contador de Instruções (CI, do inglês ``Instruction Counter'') : contém o endereço da memória cujo conteúdo deve ser interpretado como a próxima instrução. Registrador de Instrução (IR, do inglês ``Instruction Register'') : contém a próxima instrução a ser executada. Registrador de Endereço da Memória - REM (MAR, do inglês ``Memory Address Register'') : contém o endereço da posição da memória a ser lida ou escrita. Registrador de Dados da Memória - RDM (MDR, do inglês ``Memory Data Register'') : contém o dado a ser lido ou escrito na memória. Faculdade Lourenço Filho UNIDADE CENTRAL DE PROCESSAMENTO A UCP é composta de duas partes: ULA – Unidade Lógica e Aritmética - tem por função a efetiva execução das instruções de operações matemáticas: Soma; Subtração, Multiplicação,divisão, operações lógicas OR,AND,NOT,XOR e etc. UC - Unidade de Controle -É o dispositivo mais complexo da UCP. Ele possui a lógica necessária para realizar a movimentação de dados e de instruções de e para a UCP, através dos sinais de controle que emite em instantes de tempo programados. Faculdade Lourenço Filho Diagrama esquemático de uma UCP - II Dados e Endereços Controle Faculdade Lourenço Filho Registradores Importantes na UCP Na UC - CI Contador de Instruções - armazena o endereço da próxima instrução a ser executada. Na UC – RI Registrador de Instrução - armazena a próxima instrução a ser executada. Na ULA - ACC Acumulador - armazena os dados (de entrada e resultados) para as operações na ULA; o acumulador é um dos principais elementos que definem o tamanho da palavra do computador - o tamanho da palavra é igual ao tamanho do acumulador. Faculdade Lourenço Filho O que é uma Instrução de Máquina? • Instruções São comandos fornecidos ao processador para que ele execute uma tarefa específica (soma, teste, desvio, etc.). Uma série dessas instruções constituem um programa. Cada computador (leia-se processador) tem um repertório particular de instruções, cuja rapidez de execução é um fator determinante na “potência de computação” (desempenho /performance) da máquina. Faculdade Lourenço Filho Instruções Para que um programa possa ser executado por um computador. Ser constituído de uma série de instruções de máquina e estar armazenado em células da memória principal. A UCP é responsável pela execução das instruções que estão na “memória”. Faculdade Lourenço Filho Exemplo de instrução Se instruída uma máquina pode executar tarefas complicadas e sucessivas. Ex.: “Trazer a pasta da funcionária Marta” Se essa tarefa fosse dada a máquina ( e ela não tivesse qualquer orientação prévia armazenada) ela não conseguiria realizar essa tarefa Faculdade Lourenço Filho Exemplo de instrução No exemplo em questão a máquina deveria receber um conjunto de instruções da seguinte forma: 1. Achar arquivo (EX.: arquivo 10) . Se não houver arquivo vá p/3; senão, prosseguir * Comparar nº arquivo com nº arquivo que contém a pasta da funcionária * Se os números iguais, então prosseguir; senão, voltar p/1. 2. Achar uma pasta. Se não houver mais pastas, vá p/3; se não prosseguir * Comparar o nome da pasta com nome dado * Se forem iguais então prosseguir; senão voltar p/2 * retirar a pasta * Entregar a pasta para quem pedir 3. Parar Faculdade Lourenço Filho Exemplo de instrução Podemos , por exemplo fabricar um processador cuja a ULA possa executar operações de soma e de multiplicação. Mas não do tipo. X = A + B*C A ULA tem que ser instruída para executar T = B*C, em seguida ela realizará a informação, X=A+T Faculdade Lourenço Filho Instruções – do ponto de vista Físico Quem executa um programa é o hardware e o que ele espera encontrar é um programa em linguagem de máquina. Ou seja, seqüência de instruções de máquina em código binário. A linguagem de máquina é composta de códigos binários, representando instruções, endereços e dados e está totalmente vinculada ao conjunto de instruções da máquina. Faculdade Lourenço Filho Formato geral de uma Instrução 1. 2. Podemos separar o grupo de bits de uma instrução em duas partes Indica o que é a instrução e como será executada. Refere-se aos destinos dos dados que serão manipulados É um processo realizado através de dois códigos Código de Operação ou OPCODE – Tipo de operação Operando(s) - dados Faculdade Lourenço Filho Formato geral de uma Instrução Código de Operação ou OPCODE Identifica a operação a ser realizada pelo processador. É o campo da instrução cuja valor binário (código binário) identifica a operação a ser realizada Operando(s) Em geral, um operando é o campo da instrução que indica o endereço de memória onde está contido a informação que será manipulada, ou pode conter o endereço onde o resultado da operação será armazenado. Faculdade Lourenço Filho Arquitetura de Computadores Formato geral de uma Instrução Op COD. – Tem apenas um campo de bits Operando - dependendo da instrução pode ter mais campos Faculdade Lourenço Filho Em linguagens de programação de computador, as definições de operador e operando são quase as mesmas da matemática. MOV DS, AX onde o valor no operando registrador AX deve ser movido para o registrador DS. Dependendo da instrução, pode haver , um, dois ou mais operandos. Faculdade Lourenço Filho Critérios para Determinação do Formato de Instruções Em geral as instruções pequenas são mais atraentes do que as grandes. Por que? A banda passante (número de bits por segundo que a memória é capaz de liberar) da memória tem crescido menos que a velocidade dos processadores. As memórias atuais não têm a capacidade de suprir instruções na velocidade que o processador pode consumi-las. EX.: Um programa feito com instruções de 16 bits gasta metade do espaço de memória de um programa com instruções de 32 bits. Código Operação Operando 8 bits 8 bits Tamanho da instrução 16 bits Deve-se considerar, também, a taxa de crescimento do preço de memória e a taxa de crescimento do tamanho dos programas. Faculdade Lourenço Filho Critérios para Determinação do Formato de Instruções Por outro lado, a minimização do tamanho das instruções pode dificultar muito a sua decodificação. O projetista é obrigado a usar um conjunto restrito de códigos para as instruções e o projeto pode não ser flexível. Faculdade Lourenço Filho Conjunto de Instruções Quando se projeta um hardware: Define-se o seu conjunto instruções elementares que o hardware é capaz de executar. O projeto de um processador esta diretamente ligado nesse conjunto de instruções. Quanto menor e mais simples for este conjunto de instruções, mais rápido pode ser o tempo de acesso do processador. Faculdade Lourenço Filho Conjunto de Instruções Funcionalmente, um processador precisa possuir instruções para realizar operações como: aritméticas: +, - , × , ÷ ... lógicas: and, or, xor, ... operações de movimentação de dados (memória,UCP,reg.) operações de entrada e saida (leitura e escrita em dispositivos de E/S) operações de controle (desvio de seqüência de execução, parada) Faculdade Lourenço Filho Representação simbólica - mnemônicos para representar os opcodes Transferência de dados. Faculdade Lourenço Filho Representação simbólica - mnemônicos para representar os opcodes Artiméticas Faculdade Lourenço Filho Representação simbólica - mnemônicos para representar os opcodes Lógicas Faculdade Lourenço Filho conversão Faculdade Lourenço Filho Arquitetura de Computadores Entrada/Saída Faculdade Lourenço Filho Arquitetura de Computadores Projetar um Processador O projeto de um processador poderia ser resumido em: Definir o conjunto de instruções (todas as possíveis instruções que o processador poderá executar) Definir formato e tamanho das instruções; Definir as operações elementares; Projetar os componentes do processador (ULA, UC, registradores, barramentos, ...) Faculdade Lourenço Filho Ciclo de Instrução Primeiramente, o programa a ser executado precisa ser carregado (armazenado) na MP, tarefa do Sistema Operacional, que também se encarrega de informar à UCP onde o programa começa. O Sistema Operacional faz isto "setando" o Contador de Instruções (isto é, colocando no CI o endereço da MP onde está localizada a primeira instrução daquele programa). A partir daí se realiza o processamento automático, executando-se as instruções seqüencialmente uma a uma, o que é obtido através do incremento automático do CI. Faculdade Lourenço Filho Ciclo de Instrução As instruções são executadas sequencialmente, uma a uma. O contador de instruções - CI indica a seqüência de execução, isto é, o CI controla o fluxo de execução das instruções. Descrição do processamento de uma instrução na UCP: - a UC lê o endereço da próxima instrução no CI; - a UC transfere o endereço da próxima instrução, através do barramento interno, para o REM; Faculdade Lourenço Filho Ciclo de Instrução- pouco mais de detalhe 1 - A UCP busca o código de operação na MP e armazena no Registrador de Instrução CI - A UC lê o conteúdo do CI (endereço da próxima instrução ) e coloca o endereço no REM; - a UC envia um sinal à memória de operação de leitura (memory read), via barramento de controle; - a memória lê o endereço que está no REM, via barramento de endereços, e busca o conteúdo da célula referenciada; - a memória coloca no RDM, via barramento de dados, o conteúdo da célula lida; - a memória envia à UC, via barramento de controle, um sinal de "leitura concluída"; - a UC transfere o código de operação (o conteúdo do RDM) ao RI Finaliza um ciclo. Faculdade Lourenço Filho Fim de aula Faculdade Lourenço Filho