55
Professor: Vilson Heck Junior (Material: Douglas Juliani) Arquitetura de Computadores

Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Professor:

Vilson Heck Junior

(Material: Douglas Juliani)

Arquitetura de Computadores

Page 2: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Agenda

• Conceitos

• Componentes

• Funcionamento ou tarefas

• Otimização e desempenho

Page 3: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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

Page 4: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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.

Page 5: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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;

Page 6: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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;

Page 7: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Componentes

- Cache: memória de alta velocidade;

- Registradores: memórias de altas velocidades que guardam dados de uso imediato do processador.

Page 8: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Componentes

Interface de Barramento

Cache L2

Cache de

instrução L1

Cache de

dados L1

Unidade de busca /

decodificação

ULA

Registradores

Page 9: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 10: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 11: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 12: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 13: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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

Page 14: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 15: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

•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

Page 16: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 17: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

•A execução de uma instrução pode requerer efetuar operações aritméticas ou lógicas

•Etapa realizada pela ULA

Processador Tarefas

Page 18: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

•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

Page 19: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Operadores aritméticos e sua ordem de prioridade

Operador Tipo Operação Prioridade

+ Binário Adição 4

- Binário Subtração 4

* Binário Multiplicação 3

/ Binário Divisão 3

** Binário Exponenciação 2

+ Unário Manuten. do sinal 1

- Unário Inversão do sinal 1

Page 20: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Operadores lógicos e suas relações de prioridade

Operador Tipo Operação Prioridade

OU Binário Disjunção 3

E Binário Conjunção 2

NÃO Unário Negação 1

Page 21: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 22: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

• 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

Page 23: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 24: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Componentes da UCP

Page 25: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Componentes

Page 26: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da
Page 27: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

• 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

Page 28: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

• 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

Page 29: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

• 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

Page 30: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 31: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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.

Page 32: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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;

Page 33: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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.

Page 34: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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;

Page 35: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 36: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Ciclo de instruções

Ciclo de busca Ciclo de execução

Page 37: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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

Page 38: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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ésdo barramento interno- Eles trafegam entre a memória principal e osregistradores através do barramento do sistema

Page 39: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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

Page 40: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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;

Page 41: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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

Page 42: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Ciclo de instruções

Page 43: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Ciclo de instruções

Page 44: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Ciclo de instruções

Page 45: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Ciclo de instruções

Page 46: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Ciclo de instruções

Page 47: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Ciclo de instruções

Page 48: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Tarefas

Page 49: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador desempenho

Atualmente as CPUs executam mais que uma instrução por vez;

Objetiva o aumento do desempenho nas arquiteturas dos processadores

Page 50: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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

Page 51: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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:

Page 52: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Pipeline

Page 53: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

Processador Pipeline

Page 54: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da

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.

Page 55: Arquitetura de Computadoresdocente.ifsc.edu.br/vilson.junior/ac/06_CPU.pdf · bem definidas existentes na CPU utilizando-se de códigos numéricos; SOMA a b Obs: o comprimento da