ARQUITETURA DE COMPUTADORES Aula 08: UCP
Características dos elementos internos da UCP: registradores, unidade de controle, decodificador de instruções, relógio do sistema. Funções do processador: controle e processamento O ciclo da instrução: microinstruções, subdivisão de uma instrução de máquina em microinstruções;mudanças de estado dos registradores da UCP ao longo da execução das instruções; Diferenças no processamento das instruções segundo suas características
UCP ou microprocessador: Circuito Integrado inteligente (capaz de cumprir diferentes funções determinadas por instruções ) CI capaz de efetuar todas as operações necessárias ao processamento de dados. Componente mais importante, em geral identifica o computador (Pentium 4; Athlon 3000, Core i7, Phenom, etc.)
A UCP é um CI Principal diferença entre CI e processador: CI: circuito dedicado (cumpre uma única função). Processador: é um CI que cumpre múltiplas funções (cada uma determinada por uma instrução)
Recebe dados e instruções (pulsos elétricos que representam números expressos em binário); Processa dados de acordo com as instruções; Devolve dados processados ao meio exterior.
Resumindo: Executa programas (instruções encadeadas, convenientemente escolhidas, executadas em uma dada sequência com um determinado objetivo). Instrução: número expresso em binário ( linguagem de máquina ) que faz a UCP executar uma ação como: Ler o número contido em uma posição da MP; Escrever um número em uma posição da MP; Ler/escrever números em dispositivo de entrada/saída; Somar números contidos em Regs, pôr resultado em Reg Comparar números e agir de acordo com o resultado.
Histórico: Em 1967 NCM (Nippon Calculating Machine) solicitou à Intel 16 CIs para equipar sua calculadora Busicom ; Os responsáveis (Ted Hof, Stan Mazor e Fred Fagin) constataram que os CIs seriam muito semelhantes.
Histórico: Em 1967 NCM (Nippon Calculating Machine) solicitou à Intel 16 CIs para equipar sua calculadora Busicom ; Os responsáveis (Ted Hof, Stan Mazor e Fred Fagin) constataram que os CIs seriam muito semelhantes. Então: Por que não integrar algumas funções nos mesmos CI?
Histórico: Em 1967 NCM (Nippon Calculating Machine) solicitou à Intel 16 CIs para equipar sua calculadora Busicom ; Os responsáveis (Ted Hof, Stan Mazor e Fred Fagin) constataram que os CIs seriam muito semelhantes. Então: Por que não integrar algumas funções nos mesmos CI? Problema: Como fazer o CI saber que função executar?
Histórico: Em 1967 NCM (Nippon Calculating Machine) solicitou à Intel 16 CIs para equipar sua calculadora Busicom ; Os responsáveis (Ted Hof, Stan Mazor e Fred Fagin) constataram que os CIs seriam muito semelhantes. Então: Por que não integrar algumas funções nos mesmos CI? Problema: Como fazer o CI saber que função executar? Decodificar instruções. Solução:
Circuito Decodificador: O valor (número binário) aplicado aos terminais de controle energiza o terminal de saída correspondente.
Instruções : Cada tarefa (antes executada por um CI dedicado) teria um circuito lógico no interior do processador capaz de executá-la, identificado por um número; Todos estes circuitos são precedidos por um único circuito decodificador; Fornecendo ao decodificador o número do circuito capaz de executar determinada tarefa, este circuito é energizado e a tarefa é executada. Este número (que identifica uma tarefa) recebeu o nome de Instrução.
Decodificando instruções: Entra-se com a instrução em linguagem de máquina (binário) e o circuito correspondente é acionado.
Calculadora Busicom: Continha apenas 4 CIs: i4001: Memória ROM com a programação i4002: Memória RAM para armazenar resultados intermediários i4003: Controlador de E/S para receber e dados e exibir resultados E o primeiro microprocessador.
O Intel 4004 (i4004): Fabricado em nov. 1971 Publicidade anunciava nova era da eletrônica integrada e mencionava pela primeira vez a expressão computer on a chip (computador em um único chip) Registradores: 4 bits; Frequência: 108 KHz; Preço: US$ 1.000
Componentes da UCP: UAL (Unidade Aritmética e Lógica); Registradores; Unidade de Controle; Unidade de E/S.
Componentes da UCP: UAL UAL (Unidade Aritmética e Lógica).
Componentes da UCP: a UAL UAL: Unidade Aritmética e Lógica - combinação de componentes eletrônicos (portas lógicas) capaz de executar operações aritméticas e lógicas como: Somar, subtrair, multiplicar e dividir dois operandos; Executar operações lógicas (AND; OR; XOR e suas derivadas) com um ou dois operandos; Executar: complemento, incremento, decremento, NOT, deslocamento (à direita ou esquerda) com um operando. UAL: duas entradas (dois operandos), uma saída, circuitos internos formados por combinações (por vezes complexas) de portas lógicas (sempre simples).
Componentes da UCP: Regs Registradores.
Registradores: UAL não enxerga MP, só tem acesso à própria UCP (só pode ler dados e escrever resultados dentro da UCP) Portanto: precisa de posições de memórias internas. Registradores: põem dados ao alcance da UAL e UCtrl e funcionam como memória auxiliar ( rascunho ) da UCP recebendo operandos e resultados intermediários; Não têm endereços, mas nomes. Alguns têm funções específicas (PI; RI), outros são de uso geral (ACC, etc); Número de Regs e sua largura (em bits): dependem da arquitetura da UCP; decisão do projetista.
Registradores: Importância da largura (em bits) ou tamanho dos Regs: Em geral todos os registradores têm a mesma largura; Tão importante que é usada para identificar o tipo ou classe da CPU: de 16 bits, de 32 bits, de 64 bits... Um dos fatores que definem o tamanho da Palavra Importância do tamanho da PALAVRA (largura dos Regs ou tamanho dos operandos da UAL, o que for menor): Quanto maior, menor o tempo gasto para executar instruções com operandos; Quanto maior, maior o número de bits transferido em cada operação de leitura/escrita na MP; Quanto maior, maior o limite da capacidade da MP.
Componentes da UCP: Ctrl Unidade de controle.
Componentes da UCP: Controle. Para que a ULA execute suas funções é preciso: Decodificar a instrução Escrever operandos nos registradores Emitir sinais de ctrl para ativar componentes auxiliares... Tudo isto é feito pela Unidade de Controle, o cérebro que comanda o restante da UCP. Nela estão (entre outros): Cristal (freqüência de operação). Decodificador Circuitos que executam cada instrução (MicroOps; Há tantos circuitos quantas são as instruções do Conjunto de Instruções).
Componentes da UCP: Controle. Decodificação das microoperações (mops)
Processadores CISC e RISC. Conjunto de Instruções (Instruction set): repertório de ações que cada UCP é capaz de executar. Cada uma identificada por um número (ling. de máquina). Para executar uma instrução ativa-se o circuito lógico a ela correspondente (há um para cada instrução). CISC: Complex Instruction Set Computer Conjuntos nos quais algumas instruções simples são agrupadas em uma única, mais complexa, para facilitar tarefa dos programadores (exemplo: movimentar grandes trechos de dados na MP) RISC: Reduced Instruction Set Computer Conjunto menor de instruções simples executadas repetidamente que produzem o mesmo resultado que uma única mais complexa (o programa é otimizado pelos compiladores e fica mais rápido)
Cristal, relógio ou clock. Faz parte da Unidade de Controle; É um cristal de quartzo que dita o ritmo, cadência ou freqüência de operação F da UCP gerando pulsos de tensão de mesma duração em intervalos constantes. Ciclo de máquina T: intervalo decorrido entre o início de dois pulsos sucessivos.
Componentes da UCP: E/S (ou I/O) Unidade de Entrada e Saída.
Componentes da UCP: Unidade de E/S Elo de ligação entre CPU e os demais componentes da placa mãe (inclusive MP e dispositivos de E/S do computador); Ligada ao mundo exterior pelos barramentos de Dados, Endereços e Controle: Barramento de Controle: ligado à Unidade de Controle Barramento de dados: ligado ao RDM Barramento de endereços: ligado ao REM. Responsável por troca de dados e adequação dos sinais de controle e transporte de dados (tensão e frequência) Pode ser muito simples ou muito complexa (cache)
O que faz a UCP? Executa instruções ininterruptamente (jamais pára). Como funciona? Sucessivos ciclos de busca e execução: busca instrução na MP, transfere para registrador de instrução, executa, busca nova instrução e assim por diante. Em que consiste a execução de instruções? Controle: busca de dados e instruções na MP, decodificação, comunicação com o exterior (MP e E/S) Processamento: execução de operações aritméticas e lógicas, desvios no fluxo do programa, movimentação de dados (MP -> UCP / UCP -> MP / Reg -> Reg).
Onde estão as instruções? Instruções somente podem ser executadas da MP!!!
Em que ritmo são executadas? No ritmo estabelecido pelo cristal da U. de Controle. Divisor de frequência
Lógica temporizada. No tempo das galeras...
Lógica temporizada. Usando a lâmpada do poste como sinalizador
Ciclo de Busca e Execução I 1 Busca: apontar para o endereço e copiar instrução no RI
Ciclo de Busca e Execução II 2 incrementar endereço ( apontar para a próxima instr.)
Ciclo de Busca e Execução III 2 Execução: (introduzir na U. Ctrl., decodificar, executar)
ARQUITETURA DE COMPUTADORES Aula 09: UCP