CPU e Memórias 2015

Embed Size (px)

DESCRIPTION

unidade de processamento, ULA e outros assuntos.

Citation preview

  • Memrias

    CPU e Memrias

    Parte final

  • Agora que vocs j esto craques

    em binrios...

  • Lembrando ...

  • Diagrama da CPU

  • 5

    As atividades

    realizadas por um

    processador (suas

    funes) podem ser

    divididas em duas

    grandes categorias:

    Funo Processamento

    Funo Controle

  • 6

    Funo Processamento Vejam os esquema

    ao lado. Em

    destaque, esto os

    elementos da CPU

    que iremos

    abordar em

    seguida.

  • 7

    Sobre a ULA (1)

    Soma

    Subtrao

    Multiplicao

    Diviso

    Operao lgica AND

    Operao lgica OR

    Incremento /

    decremento de 1 a um

    valor

    o dispositivo principal da

    funo processamento,

    realizando efetivamente as

    operaes primitivas da

    mquina, envolvendo as

    operaes matemticas e

    lgicas com os dados.

  • 8

    Sobre a ULA (2)

    Geralmente as operaes da ULA utilizam dois valores (op. Aritmticas), por isso ela possui duas entradas de dados, sendo que ambas as entradas se conectam sada (resultado da operao efetuada) pelo barramento interno de dados.

    X = 1

    Y = 1

    Circuito

    Somador

    Entrada

    Sada

    Z = 0

    ULA

    C = 1

    Para ACC

    X = 1

    Y = 1

    Circuito

    Somador

    Entrada

    Sada

    Z = 0

    ULA

    C = 1

    Para ACC

    X e Y valores que sero somados (1 + 1 = 0 e vai 1) Z resultado da operao C bit de vai 1 = 1 (vai para um registrador especial para ser utilizado mais tarde pela CPU)

  • 9

    Registradores

    Servem para armazenar dados (ou para guardar resultados), que sero usados pela ULA, ou resultados parciais das operaes, de modo que possam ser reutilizados mais adiante (por outra instruo), ou apenas para ser, em seguida, transferidos para a memria (cache ou ram);

    Os processadores so fabricados contendo certa quantidade de registradores, destinados ao armazenamento de dados;

  • 10

    Exemplo: CPU Intel

    8 registradores de

    mesmo tamanho,

    denominados de

    emprego geral (dados);

    6 registradores de 16 bits

    denominados

    registradores de

    segmento, que

    funcionam para o clculo

    dos endereos de acesso

    memria na execuo

    de programas.

    Os 8 registradores

  • Funo de Controle

    Exercida pelos componentes do processador que

    se encarregam das atividades de busca,

    interpretao e controle da execuo das

    instrues, bem como do controle da ao dos

    demais componentes do sistema de computao

    (memrias, entrada/sada).

  • 12

    Funo de controle ... Nos prximos

    slides veremos os

    elementos que

    fazem parte da

    funo de controle,

    assinalados em

    amarelo no

    esquema da CPU

  • 13

    Funo de controle (2)

    Unidade de controle UC

    Relgio ou clock

    Registrador de instruo RI

    Contador de instruo CI

    Decodificador de instruo

    Registrador de dados da

    memria RDM (MBR) e registrador de endereo de

    memria REM (MAR).

    Dispositivos bsicos da rea de controle

  • 14

    Funcionamento bsico do

    processo (3) 1. Busca da instruo na memria a instruo armazenada na memria, no

    endereo armazenado no contador de

    instrues (CI), transferida (uma cpia)

    para o registrador de instruo (RI);

    2. O CI incrementado, passando a

    armazenar o endereo da prxima

    instruo;

    3. Decodificao da operao;

    4. Busca do operando decorrente da decodificao e, consequentemente, a

    ativao da sequncia apropriada para a

    instruo especificada, ser efetuada a

    operao de leitura do dado, seja na

    memria (RAM ou cache), seja em um

    registrador;

    5. Execuo da operao;

    6. Escrita do resultado na memria.

  • 15

    Unidade de controle (UC)

    o dispositivo mais complexo do processador, possuindo a lgica necessria para realizar a movimentao de dados e de instrues de e para o processador.

    A UC possui uma programao especfica para a execuo de cada uma das diversas instrues de mquina que cada processador possui implementado. A sequncia de microoperaes para completar uma operao de soma diferente da sequncia para executar uma operao de desvio, e assim por diante.

    Por exemplo, antes da instruo ser executada pela ULA, ela deve ser previamente decodificada pela UC, os operandos previamente escritos nos registradores e se os sinais de controle necessrios para ativar os componentes auxiliares no tivessem sido emitidos.

    Os sinais de controle emitidos pela UC ocorrem em vrios instantes durante o perodo de realizao de um ciclo de instruo e, de modo geral, todos possuem uma durao fixa e igual, originada em um gerador de sinais denominado relgio (clock).

  • 16

    Clock (relgio) A funo do relgio (clock) gerar pulsos de tenso de

    durao fixa e em um ritmo constante. Em geral isso feito

    atravs do emprego de um cristal de quartzo, um componente

    capaz de emitir pulsos de tenso a intervalos notavelmente

    precisos.

    O intervalo de tempo decorrido entre o incio de um pulso e o

    incio do pulso seguinte denomina-se ciclo de relgio ou ciclo

    de maquina.

    Por exemplo, temos um exemplo de microoperaes

    realizadas para completar a busca de uma instruo da MP

    para o Registrador de Instruo (RI). Cada microoperao

    realizada em um instante de tempo Tn, sendo tais instantes

    gerados pelo relgio.

    Por exemplo, uma CPU de 800 MHz capaz de executar 800 milhes de

    ciclos em um nico segundo, enquanto uma CPU de 2,5 GHz capaz de

    executar 2,5 bilhes de ciclos de CPU em um segundo.

  • 17

    Agora, vamos ver

    os outros

    componentes

    destacados em

    amarelo no slide

    12. So eles:

    Registrador de instruo RI

    Contador de instruo CI

    Decodificador de instruo

    Registrador de dados da

    memria RDM (MBR) e registrador de endereo de

    memria REM (MAR).

  • 18

    Registrador de Instrues (RI)

    o registrador que tem a funo especfica de armazenar

    a instruo a ser executada pelo processador. Ao se

    iniciar o ciclo de instruo, a UC emite sinais de controle

    em seqncia no tempo, de modo que se processe a

    realizao de um ciclo de leitura para busca a instruo na

    memria (cpia). Ao final deste ciclo de leitura a instruo

    desejada ser armazenada no RI.

  • 19

    Contador de Instrues (CI)

    O contador de instrues (Program Counter PC) quem armazena o endereo da (aponta para a) prxima instruo

    a ser executada. Determina a sequncia (fluxo) de execuo de

    um programa, endereando instruo por instruo.

    To logo a instruo que vai ser executada seja lida da memria

    para o processador, o sistema automaticamente efetiva a

    modificao do contedo do CI de modo que ele passe a

    armazenar o endereo da prxima instruo na sequncia.

    O CI um registrador crucial para o processamento de controle

    e de sequenciamento da execuo dos programas.

  • 20

    Decodificador de Instruo

    um dispositivo utilizado para identificar qual operao ser

    realizada, correlacionada instruo cujo cdigo de operao foi

    decodificado, ou seja, cada instruo uma ordem para que

    o processador realize uma determinada operao. Como so

    muitas instrues, necessrio que cada uma possua uma

    identificao prpria e nica.

    A UC est preparada para sinalizar adequadamente aos

    diversos dispositivos do processador, conforme ela tenha

    identificado a instruo a ser executada.

    O decodificador recebe em sua entrada um conjunto de bits

    previamente escolhido e especfico para identificar uma

    instruo de mquina, denominado cdigo de operao.

  • 21

    Por fim, dois registradores

    muito importantes ...

    Registrador de Dados de

    Memria (RDM)

    Registrador de Endereos de

    Memria (REM)

  • 22

    Consideraes iniciais:

    So os registradores utilizados pelo processador e pela

    memria para comunicao e transferncia de

    informaes. O RDM (ou MBR Memory Buffer Register) possui tamanho igual ao do barramento de dados. Nos

    processadores mais recentes o barramento de 64 bits

    ou de 128 bits.

    O REM (ou MAR Memory Address Register) possui tamanho igual ao dos endereos da memria (tambm do

    BE). Pelo tamanho em bits do REM podemos calcular o

    espao mximo de endereamento da memria de um

    computador.

    Por exemplo, para processador de REM = 32 bits, temos

    232 = 4 GB de endereos.

  • 23

    Continuando ...

    Portanto, o CI e o RI so registradores especficos para

    armazenamento, respectivamente, do endereo e da

    instruo.

    Enquanto o REM e o RDM so registradores de acesso

    memria, ou seja para instruo ou dados.

    Portanto, qualquer acesso memria deve ser efetuado por

    meio do REM (para colocar o endereo no BE) e do RDM

    (receber ou enviar o dado/instruo para o BD).

  • Principal RAM

    Cache

    Memrias

  • RAM

    Disco rgido Winchester / HD

    Memria Principal

    Tipos de memria

    Memrias Secundrias Fita magntica

    Pen drive

  • Hierarquia de memria

    Registradores

    Memria Cache

    Memria Principal

    Memria Secundria

    Maior

    Capacidade de

    Armazenamento

    Maior Custo

    Maior Velo-

    cidade de

    Acesso

  • Memria Principal

    RAM (Random Access

    Memory)

  • Endereos de memria (1)

    Acesso a memria feito atravs do

    endereo de cada informao (a ser)

    armazenada;

    Cada clula identificada por um

    endereo;

    Memria organizada sequencialmente a

    partir do endereo (0) at o endereo (N-

    1).

  • Endereos de memria (2)

  • Endereos de memria (3)

  • Operaes possveis So duas as operaes possveis:

    Armazenar

    Operao de escrita ou gravao (write)

    Recuperar

    Operaao de leitura (read)

  • Tipos de memria As memria eletrnicas que empregam acesso aleatrio

    podem ser fabricadas de modo a permitir dois tipos de aplicao:

    memria ROM (read only memory) memria acessada apenas para leitura, no sendo possvel operaes de escrita. Portanto, a memria ROM um tipo de RAM que s permite leitura. Os dados so gravados fisicamente no chip como parte do processo de fabricao.

    memria RAM possibilita operaes de leitura/escrita (L/E) ou R/W.

    a memria RAM pode ser de dois tipos:

    SRAM (static random access memory, ou RAM esttica) e,

    DRAM (dynamic random access memory, ou RAM dinmica).

  • Memria

    Memria Cache

  • Vimos at agora ...

    Problema origem da mem. cache;

    Tipo de memria utilizado na construo

    da cache;

    Funcionamento

    Ciclo de processamento com cache

  • Funcionamento da Cache (1) A idia bsica de uma cache

    simples: os dados e/ou

    instrues usados com mais

    freqncia so mantidos na

    Memria Cache (MC). Quando a

    CPU precisa dos dados e /ou

    instrues, ela examina em

    primeiro lugar na MC. Se

    estiver, este fato denominado

    acerto (ou hit). O dado (cpia)

    transferido, pelo BD, da MC

    para o processador em uma

    velocidade muito maior que a

    relao entre memria principal

    e CPU.

  • Se os dados no estiverem na MC este fato

    denominado falta (ou miss);

    Nesse caso, os dados e/ou instrues so

    transferidos da memria para os registradores,

    mas, ao mesmo tempo tambm carregar (cpia)

    dos dados e/ou instrues para a MC;

    Da prxima vez que ela precisar dos mesmos dados

    e/ou instrues, eles sero encontrados na cache,

    economizando tempo.

    Funcionamento da Cache (2)

  • Conceito de localidade Programa executvel instrues executadas

    sequencialmente;

    O programa executado sequencialmente, com as instrues sendo buscadas na MP para interpretao e execuo e, naturalmente, os endereos vo se sucedendo no contador de instrues (CI) sequencialmente, exceto quando ocorre algum loop ou comando de desvio;

    Os programas em geral so, em mdia, executados de forma semelhante, isto , em blocos de instrues sequenciais, sendo algumas delas executadas mais de uma vez em curtos intervalos de tempo, sendo que a este comportamento dos programas em execuo, chamou-se de princpio da localidade.

    Programas tendem a usar o mesmo endereo em um curto espao de tempo (loops)

  • Conceito de localidade (2)

    Por este princpio, se um programa acessa uma instruo e/ou dado na memria, h uma boa probabilidade de que o acesso seguinte seja um dado e/ou instruo subseqente.

    Considere o seguinte trecho de um programa:

    indice = 1000

    Enquanto indice diferente de zero

    Iniciar

    X(ndice) = A(Indice) + B(Indice)

    ndice = ndice 1 Terminar

    Neste exemplo, consideremos que a memria cache capaz de armazenar este simples trecho do programa. Isto significa que em 999 das 1000 o sistema obter um acerto, ou seja, a taxa de acerto da ordem de 99,9%.

  • Nveis de cache

    No incio nica cache

    Caches multinvel com a evoluo das arquiteturas, torna-se

    possvel uma cache no mesmo chip que o processador.

    em comparao com uma cache conectada por meio de um barramento externo, a cache no chip reduz a atividade do barramento externo do processador e, portanto, agiliza o tempo de execuo e aumenta o desempenho geral do sistema, pois quando a leitura dos dados efetuada na cache do chip, no existe acesso ao barramento.

  • Nveis de cache (2)

    Quando existem dois nveis de cache, a cache interna

    designada de L1 (level 1) e a cache externa designada

    com o nvel L2 (level 2). Processadores mais recentes

    incorporaram a cache L3

  • Exemplo: Intel Core i7 O Intel Core i7, introduzido em novembro de 2008, implementa

    04 processadores (ncleos), cada um com caches L1 e L2 dedicadas e com uma cache L3 compartilhada.

  • Continuando...

    O acesso tem incio pela cache L1, tambm denominada cache primria e sendo constituda de elementos com tecnologia SRAM e com velocidade de acesso igual do processador, acelerando bastante o processamento. Portanto, a memria de nvel mais baixo (L1) a que tem maior velocidade (e tambm maior custo) e menor capacidade;

    O processador sempre procura o dado e/ou instruo na memria de menor nvel;

    No encontrando na L1, buscar na L2...

    Desta para a memria RAM e, finalmente, no encontrando na RAM ir buscar o dado e/ou instruo no disco.

  • Algoritmos para substituio de

    dados na cache

    Em um dado momento a memria cache pode estar sem

    espao. O que fazer?

    O problema se resume em definir qual dos dados e/ou

    instrues armazenados na cache devem ser retirados

    para dar lugar a um dado e/ou instruo que est sendo

    transferido.

    Por exemplo, os seguintes algoritmos poderiam ser

    utilizados:

  • LRU (last recently used) o sistema escolhe para ser substitudo o dado e/ou instruo que estiver mais tempo sem ser utilizado, ou seja, os dados e/ou instrues que o processador no acessa h mais tempo;

    FIFO (first-in, first-out) o sistema escolhe os dados e/ou instrues que esto h mais tempo na Cache, independentemente de estar sendo usado ou no pelo processador;

    LFU (least frequently used) o sistema de controle escolhe o bloco que tem tido menos acessos por parte do processador (menos referncias).

    Algoritmos para substituio de dados

    na cache (2)