OC - 06 - Ciclo de instrucoes (1).pdf

download OC - 06 - Ciclo de instrucoes (1).pdf

of 42

Transcript of OC - 06 - Ciclo de instrucoes (1).pdf

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    1/42

    OrganizaçãoProf. Moisés Souto

    de computadores

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    2/42

    Moisés Soutodocente.ifrn.edu.br/moisessouto

    professor.moisessouto.com.br moises,[email protected] 

     @moises_souto

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    3/42

    CICLO DE INSTRUÇÕESAula 06

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    4/42

    © 2007 by Pearson Education

    Unidade Central de Processamento

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    5/42

    © 2007 by Pearson Education

    Organização da CPU

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    6/42

    Conceito de Programa

    ! Sistemas baseados em hardware são inflexíveis! Um hardware de uso geral pode executar

    diferentes tarefas de acordo com sinais decontrole

    !  Ao invés de alterar o hardware, altera-se apenaso conjunto de sinais de controle

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    7/42

    Unidade Lógica e Aritmética

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    8/42

    O que é um programa?

    ! Uma seqüência de passos! Para cada passo, uma operação lógica ou

    aritmética é realizada! Para cada operação um diferente conjunto de

    sinais de controle é utilizado

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    9/42

    Função da Unidade de Controle

    ! Para cada operação um código único é fornecido" ex.: ADD, MOVE

    ! Um circuito de hardware aceita o código e emiteos sinais de controle

    ! Pronto: Temos um Computador!

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    10/42

    Componentes

    !  A Unidade de Controle e a Unidade Lógica e Aritmética constituem a Unidade Central deProcessamento – CPU.

    ! Dados e instruções precisam chegar ao sistemae resultados precisam sair." Entrada/Saída

    ! É necessário armazenamento temporário do

    código, dados e resultado." Memória

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    11/42

    Componentes do Computador:

    Visão de Alto Nível

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    12/42

    Ciclo de Instrução

    ! Dois Passos:" Busca, Captura - Fetch" Execução - Execute

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    13/42

    © 2007 by Pearson Education

    Execução de instrução

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    14/42

    Ciclo de Captura

    ! O Contador de Programa (PC) tem o endereço dapróxima instrução a executar.

    ! O Processador captura a instrução da memória na

    posição apontada pelo PC!  A UC incrementa o PC

    "  A menos que seja instruído ao contrário

    !  A instrução é colocada no Registrador de Instruções (IR)! O Processador interpreta a instrução e executa as ações

    requisitadas

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    15/42

    Ciclo de Execução

    ! Processador -> Memória" Transferência de dados entre CPU e Memoria

    ! Processador -> I/O"

    Transferência de dados entre CPU e I/O! Processamento de dado

    " Operações lógicas ou aritméticas

    ! Controle"  Alteração da seqüência de operações" ex.: jump (desvio)

    ! Combinações das tarefas acima

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    16/42

    Exemplo de Execução de

    Programa

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    17/42

    Diagrama de Estados

    do Ciclo de Instrução

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    18/42

    Interrupções

    ! Mecanismo pelo qual outros módulos (ex.: I/O) podeminterromper a seqüência normal do processamento.

    ! Programa" ex.: overflow, divisão por zero

    ! Timer" Gerado pelo temporizador interno do processador" Usado em sistemas multi-tarefa pre-emptivos

    ! I/O" Do controlador de I/O

    ! Falha de Hardware" ex.: erro de paridade de memória

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    19/42

    Controle do Fluxo do Programa

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    20/42

    Ciclo de Interrupção

    !  Adicionado ao Ciclo de Instrução! O Processador verifica se houve pedido de interrupção.

    " Indicado por um bit sinalizador

    ! Se não houve interrupção captura a próxima instrução.! Se existe interrupção pendente:

    " Suspende a execução do programa em andamento" Salva o contexto" Carrega o PC com o start address da rotina de interrupção"

    Processa a interrupção" Restaura o contexto e continua o programa interrompido

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    21/42

    Diagrama de Estados do Ciclo

    de Instrução (com interrupções)

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    22/42

    Interrupções Múltiplas

    ! Com Desabilitação Interrupções" O processador irá ignorar outras interrupções enquanto estiver

    processando uma interrupção"  As interrupções ficarão pendentes e serão atendidas após o

    término da interrupção em curso" Interrupções pendentes são atendidas na seqüência em que

    ocorreram

    ! Com Definição Prioridades" Interrupções de menor prioridade podem ser interrompidas por

    interrupções de maior prioridade" Quando uma interrupção de maior prioridade acaba de ser

    processada o processador retorna à interrupção anterior

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    23/42

    Interrupções Múltiplas

    Seqüenciadas

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    24/42

    Interrupções Múltiplas

    Aninhadas

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    25/42

    © 2007 by Pearson Education

    Interpretador (1)

    ////

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    26/42

    © 2007 by Pearson Education

    Interpretador (2)

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    27/42

    © 2007 by Pearson Education

    Princípios de Projeto para ComputadoresModernos

    • Todas as instruções são diretamente executadas pelo hardware

    • Maximiza a taxa na qual as instruções são executadas

    • Instruções devem ser fáceis de decodificar 

    • Somente leituras e armazenamentos devem referenciar a

    memória

    • Fornece vários registradores

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    28/42

    © 2007 by Pearson Education

    Paralelismo no Nível de Instrução

    a) Pipeline de cinco estágios.

    b) Estado de cada estágio em função do tempo. São ilustrados nove ciclosde relógio.

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    29/42

    © 2007 by Pearson Education

     Arquiteturas Superescalares (1)

    Pipelines duplos de cinco estágios com uma unidade debusca de instrução em comum.

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    30/42

    © 2007 by Pearson Education

     Arquiteturas Superescalares (2)

    Processador superescalar com cinco unidades funcionais.

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    31/42

    © 2007 by Pearson Education

    Paralelismo de Processador (1)

    Processador matricial do tipo ILLIAC IV.

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    32/42

    © 2007 by Pearson Education

    Paralelismo de Processador (2)

    a) Multiprocessador com barramento único.b) Multicomputador com memórias locais.

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    33/42

    Considerações sobre acesso a memória

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    34/42

    © 2007 by Pearson Education

    Memória PrimáriaEndereços de Memória (1)

    Três maneiras de organizar uma memória de 96 bits.

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    35/42

    © 2007 by Pearson Education

    Memória PrimáriaEndereços de Memória (2)

    Número de bits por célula para alguns computadorescomerciais historicamente interessantes.

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    36/42

    © 2007 by Pearson Education

    Ordenação de bytes (1)

    (a) Memória big endian  (b) Memória little endian

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    37/42

    © 2007 by Pearson Education

    Ordenação de Byte (2)

    (a) Registro pessoal para uma máquina big endian.

    (b) O mesmo registro para uma máquina little endian.

    (c) Resultado da transferência de big endian para little endian.

    (d) Resultado do deslocamento de bytes (c).

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    38/42

    © 2007 by Pearson Education

    Memória Cache

      O cache localiza-se logicamente entre a CPU e a memória principal.

      Fisicamente há vários locais onde ela pode ser colocada.

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    39/42

    © 2007 by Pearson Education

    Conjunto de Caracteres ASCII (1)

    Conjunto de caracteres ASCII: caracteres 0 – 31.

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    40/42

    © 2007 by Pearson Education

    Conjunto de caracteres ASCII: caracteres 32 – 127.

    Conjunto de Caracteres ASCII (2)

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    41/42

    REFERÊNCIAS

    Notas de aula. Arquitetura e organização de computadores. GlaucusBrelaz.

    Slides do livro Organização Estruturada de ComputadoresAndrew S. Tanenbaum

    Arquitetura e Organização de Computadores.William Stallings

    Organização Estruturada de ComputadoresAndrew S. Tanenbaum

  • 8/18/2019 OC - 06 - Ciclo de instrucoes (1).pdf

    42/42

    ObrigadoMoisés Souto

    professor.moisessouto.com.br 

    [email protected]