Professor: Vilson Heck Junior (Material: Douglas Juliani)
Agenda • • • •
Conceitos Componentes Funcionamento ou tarefas Otimização e desempenho
Processador
Conceitos
• Componente de Hardware que executa um fluxo de instruções em linguagem de máquina • Busca as instruções na memória e as executa • Existem processadores com diferentes arquiteturas • Possuem registradores internos para armazenar variáveis importantes e resultados temporários
Processador
Instruções
Tratam-se de um conjunto limitado de operações bem definidas existentes na CPU utilizando-se de códigos numéricos;
SOMA a b Obs: o comprimento da instrução depende da arquitetura do processador. Ex: um processador de 32 bits manipula dados de 32 bits.
Processador
Componentes
- Unidade de busca de instrução: carrega as instruções na memória de alta velocidade denominada registradores de instruções, para que o processador possa executá-la rapidamente; - Unidade de decodificação de instrução: interpreta a instrução e passa à unidade de execução;
Processador
Componentes
-Unidade lógica e aritmética – ULA (ALU – Arithmetic and Logic Unit) que executa operações básicas de aritmética e lógica; -Interface de barramento: permite que o processador interaja com a memória e com outros dispositivos do sistema;
Processador
Componentes
- Cache: memória de alta velocidade;
- Registradores: memórias de altas velocidades que guardam dados de uso imediato do processador.
Processador
Componentes ULA
Unidade de busca / decodificação
Registradores
Cache de instrução L1
Cache de dados L1
Cache L2 Interface de Barramento
Processador
Tarefas
Processador
Tarefas
Processador
Tarefas
Processador
Tarefas
Processador
Tarefas
Ex: – Linguagem de alto nível A = A + B; – Linguagem de maquina Carregue um registrador com o conteúdo da posição de memória A; Adicionar o conteúdo da posição de memória B ao registrador; Armazenar o conteúdo do registrador na posição de memória A
Processador
Tarefas
Processador
Tarefas
•A execução de uma instrução pode requerer leitura de dados da memória ou de um modulo de entrada e saída
•Ex: •Carregue um registrador com o conteúdo da posição de memória A; •Adicionar o conteúdo da posição de memória B ao registrador;
Processador
Tarefas
Processador
Tarefas
•A execução de uma instrução pode requerer efetuar operações aritméticas ou lógicas •Etapa realizada pela ULA
Processador
Tarefas
•Circuito lógico combinacional que realiza operações booleanas •Os dados para essas execuções devem estar nos registradores da CPU • Depois de calculado ela armazena o resultado nesses registradores
Processador
Tarefas
Operadores aritméticos e sua ordem de prioridade Operador Tipo Operação Prioridade + Binário Adição 4 * /
Binário Binário Binário
Subtração Multiplicação Divisão
4 3 3
** + -
Binário Unário Unário
Exponenciação Manuten. do sinal Inversão do sinal
2 1 1
Processador
Tarefas
Operadores lógicos e suas relações de prioridade Operador Tipo Operação Prioridade OU Binário Disjunção 3 E NÃO
Binário Unário
Conjunção Negação
2 1
Processador
Tarefas
Processador
Tarefas
• Os resultados da execução podem requerer escrever dados na memória ou no modulo E/S • EX: • Armazenar o conteúdo do registrador na posição de memória A • Exibir o resultado da operação A = A + B na tela.
Processador
Tarefas
Componentes da UCP
Processador
Componentes
Processador
Tarefas
• Circuito lógico seqüencial • Responsável pela geração dos sinais de controle do Caminho de Dados • Deve gerar sinais na seqüência adequada para implementar interpretação de instruções
Processador
Tarefas
• Tarefas desempenhadas: • Transferir dados: • de um registrador para outro • de um registrador para fora da CPU • externos para os registradores • Coordenar a execução das operações lógicas e aritméticas
Processador
Tarefas
• As tarefas anteriormente citadas podem ser resumidas e duas:
• Sequenciar •Onde a unidade de controle define a seqüência lógica de realização das tarefas •Isso envolve a movimentação de dados entre os registradores e componentes externos • Executar •Onde a unidade de controle ordena que a ULA execute as tarefas
Processador
Tarefas
Processador
Componentes
São áreas de trabalho (memórias) especiais dentro do processador que são mais rápidos que os operandos de memória. São projetados para trabalhar com códigos operacionais.
Processador
Componentes
•Conjunto de unidades de armazenamento; •Funcionam num nível de hierarquia acima da memória principal e da memória cache; •Também conhecida como memória de rascunho;
Processador
Componentes
Parte destes registradores armazenam valores de dados e ponteiros durante a execução (registradores de propósito geral),
os outros (registradores de controle) armazenam informações específicas de sistema, como por exemplo o contador de programa.
Processador
Componentes
•Podem ser acessados pelo usuário através das linguagens de maquina ou de montagem; •Minimizam as referencias a memória principal; •São classificados em: •Registrador de Propósito geral •Registrador de dados; •Registrador de endereço; •Registrador de código de condição;
Processador
Tarefas
Processador Ciclo de busca
Ciclo de instruções
Ciclo de execução
Processador
Ciclo de instruções
– Lê a próxima instrução da memória – Essa instrução esta armazenada no Contador de Programas (PC) – O processador incrementa o valor de PC – A instrução buscada é armazenada no registrador de instruções (IR) – Isso envolve um tráfego de dados comandado pela Unidade de Controle
Processador
Ciclo de instruções
– Para realizar a busca o processador utiliza o barramento: - Interno (interliga os componentes da CPU) - Principal (do sistema) -Os dados trafegam entre os registradores através do barramento interno - Eles trafegam entre a memória principal e os registradores através do barramento do sistema
Processador
Ciclo de instruções
Ciclo de execução • Interpreta o código da operação e efetua a mesma; • As ações efetuadas podem ser: • Processador-memória • Processador-E/S • Processamento de dados • Controle
Processador
Ciclo de instruções
Exemplo: • Ciclo de instruções para o código A = A + B; • São necessárias 3 instruções: •Carregar o valor de A •Carregar e Somar o valor de B com valor de A •Guardar o resultado em A e armazenar na memória • Será realizado é 3 ciclos de busca e execução totalizando 6 passos;
Processador
Ciclo de instruções
Exemplo:
Lista de operações – 0001 (1) – Carregar o valor em AC – 0010 (2) – Armazenar o valor de AC na memória – 0101 (5) – Somar o valor de AC com o valor de um endereço
Processador
Ciclo de instruções
Processador
Ciclo de instruções
Processador
Ciclo de instruções
Processador
Ciclo de instruções
Processador
Ciclo de instruções
Processador
Ciclo de instruções
Processador
Tarefas
Processador
desempenho
Atualmente as CPUs executam mais que uma instrução por vez; Objetiva o aumento do desempenho nas arquiteturas dos processadores
Processador
melhorias
- Utiliza a organização pipeline com a intenção de executar mais que uma instrução ao mesmo tempo: unidade de busca -> unidade de decodificação -> unidade de execução. Iniciar uma nova instrução antes que a instrução corrente termine
Processador
Pipeline
•Suponha que existe uma lavanderia, que divide seu processo de trabalhos em 3 etapas: – Colocar a roupa na maquina de lavar – Depois de lavada colocar na secadora – Depois de secada passar o ferro e dobrar
•Suponha que cada etapa possa ser realizada em 30 minutos:
Processador
Pipeline
Processador
Pipeline
Processador
Pipeline
• Aumenta o número de instruções executadas simultaneamente • Aumenta taxa de instruções iniciadas e terminadas por unidade de tempo • Melhora o desempenho do processo (throughput) • Não reduz o tempo gasto para completar cada instrução individualmente.