of 66/66
Arquitectura de Computadores Unidade de Memória Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico

Arquitectura de Computadores - Técnico Lisboa · linhas de endereço da memoria. N. Horta, IST - UTL. Arquitectura de Computadores 2006/2007. 4. Arquitectura de Computadores Unidade

  • View
    215

  • Download
    0

Embed Size (px)

Text of Arquitectura de Computadores - Técnico Lisboa · linhas de endereço da memoria. N. Horta, IST -...

  • Arquitectura de Computadores

    Unidade de Memria

    Nuno Cavaco Gomes Horta

    Universidade Tcnica de Lisboa / Instituto Superior Tcnico

  • Arquitectura de ComputadoresUnidade de Memria

    Sumrio

    Introduo Unidade de Processamento Unidade de Controlo Conjunto de Instrues Unidade Central de Processamento (CPU) Unidade de Entrada/Sada (I/O) Unidade de Memria

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    2

  • Arquitectura de ComputadoresUnidade de Memria

    Arquitectura Genrica de um Computador

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    3

  • Arquitectura de ComputadoresUnidade de Memria

    Memria de acesso aleatrio

    Consistem numa srie de 2^k palavras Cada palavras representa um conjunto de bits que acedido em

    conjunto A cada palavra corresponde um endereo especificado pelas k

    linhas de endereo da memoria

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    4

  • Arquitectura de ComputadoresUnidade de Memria

    Os tempos de acesso memoria

    tem de ser arredondados para

    mltiplos do perodo de relgio

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    5

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Tipos de Memria, RAM Random Access MemorySRAM Static RAM:

    Contedo de memria mantido desde que o circuito esteja alimentado. Memria rpida utilizada para Memria Cache.

    DRAM Dynamic RAM: Contedo de memria mantido atravs de refrescamento.

    Estrutura de array de clulas com transistor e condensador. Grande capacidade mas velocidade menor que SRAM, utilizada para

    Memria Principal.SDRAM Synchronous DRAM:

    SRAM e DRAM so assncronas, na DRAM os tempos de operao tmde ser definidos pelo utilizador

    L linhas completas da memria e guarda-as numa pequena cacheinterna (precharge) de forma que os acessos mesma linha podem sermuito rpidos

    Utiliza vrios bancos de memria e uma arquitectura pipeline parapermitir esconder o tempo de pre-charge. O endereo da nova linha fornecido com alguma antecedncia ainda durante a leitura da linhaanterior.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    6

  • Arquitectura de ComputadoresUnidade de Memria

    SRAM chips

    Bit Slice ModelA leitura ou escrita de uma palavra consiste em aceder a n bit slices simultaneamente.

    Notar que estes so desenhados como um circuito electrnico, mas podem ser modelados usando um modelo lgico

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    7

  • Arquitectura de ComputadoresUnidade de Memria

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    8

  • Arquitectura de ComputadoresUnidade de Memria

    N. Horta e P. Lopes, IST - UTL

    Arquitectura de Computadores 2008/2009

    9

  • Arquitectura de ComputadoresUnidade de Memria

    N. Horta e P. Lopes, IST - UTL

    Arquitectura de Computadores 2008/2009

    10

  • Arquitectura de ComputadoresUnidade de Memria

    N. Horta e P. Lopes, IST - UTL

    Arquitectura de Computadores 2008/2009

    11

    Type Abbreviation Description

    Fast Page Mode DRAM

    FPM DRAM Takes advantage of the fact that when a row is accessed all of the values are available to be read out. By changing the column address, data from different addresses can be read out without reapplying the row address and waiting for the delay associated with reading the cells to pass if the row portion of the address match.

    Extended Data Output DRAM

    EDO DRAM Extends the length of time that the DRAM holds the data values on its output, permitting the CPU to perform other tasks during the access since it knows the data will still be available.

    Synchronous DRAM

    SDRAM Operates with a clock rather than being asynchronous. This permits a tighter interaction between memory and the CPU, since the CPU knows exactly when the data will be available. SDRAM also takes advantage of the row value availability and divides memory into distinct banks permitting overlapped accesses.

    Rambus DRAM RDRAM A proprietary technology that provides very high memoryaccess rates using a relatively narrow bus.

    Error-Correcting Code

    ECC May be applied to most of the DRAM types above to correct bit errors.

  • Arquitectura de ComputadoresUnidade de Memria

    N. Horta e P. Lopes, IST - UTL

    Arquitectura de Computadores 2008/2009

    12

  • Arquitectura de ComputadoresUnidade de Memria

    N. Horta e P. Lopes, IST - UTL

    Arquitectura de Computadores 2008/2009

    13

    CPU

    NorthBridge

    SouthBridge

    AGP RAM

    PCI

    USB ISA IDE

    Other

    PC FSB Chip Set

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Tipos de Memria

    ROM Read Only Memory

    PROM Programmable ROMEPROM Erasable PROMEEPROM Electrical Erasable PROMFLASH EEPROM (apagamento de blocos em vez de bytes)

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    14

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    15

  • Arquitectura de ComputadoresUnidade de Memria

    Memrias tpicas (2006) 4GB 10ns de tempo de acesso

    Requisitos de um processador RISC Memoria separada para dados e programa Tempos de acesso de 1ns

    Soluo: caches

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    16

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Estrutura

    Memria Cache:Acessos rpidos,Custo elevado.

    Memria Principal:Tempos de Acesso Intermdios,Custo mdio.

    Memria Secundria:Acessos lentos,Custo reduzido.

    Nota: Aquisio das Instrues e Operandos deve ser realizada na maioria dos casosda Cache, uma percentagem reduzida da memria principal e s ocasionalmenteda memria secundria (disco rgido).

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    17

  • Arquitectura de ComputadoresUnidade de Memria

    Com caches com tempos de acesso de 2ns hit rate de 95% Tempo mdio de acesso de

    0.92*2+0.05*10=2.4ns Com memoria virtual

    4.999995% da memria principal 5010-9 de acessos ao disco 13ms = 1.310-7ns

    Tempo mdio de acesso 0.952+ 0.0499999510+ 5010-91.310-7=3.05ns

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    18

  • Arquitectura de ComputadoresUnidade de Memria

    Localidade temporal e espacial Localidade temporal

    Relativa aos tempos em que instrues e operandos so acedidos

    Localidade espacial Relativa as posies me memria em que instrues e

    operandos so acedidos Um programa tpico associa localidade espacial com

    localidade temporal

    Exemplo: um ciclo de 8 instrues que executado 100 vezes, acede apenas a 8 posies na memria de programa Os primeiros acessos so efectuados memoria enquanto que

    os ltimos acessos provm da cache mais rpida.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    19

  • Arquitectura de ComputadoresUnidade de Memria

    Localidade temporal e espacial

    Exemplos Memria de programa

    Um clico de 8 instrues que executado 100 vezes faz 800 acessos a memoria de programa mas s acede a 8 posies distintas

    Memria de dados O processamento de um vector de nmeros faz mltiplos

    acessos a esse vector Os endereos seguintes aos acedidos so mais provveis

    de ser acedidos que os restantes, durante o progresso do clculo

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    20

  • Arquitectura de ComputadoresUnidade de Memria

    Localidade temporal e espacial

    A memria fsica funciona como uma cache para acessos ao disco

    Localidade espacial e temporal significa que depois um primeiro acesso ao disco os dados sero copiados para memoria, e os acessos seguintes passam a poder ser efectuados memoria principal ou cache.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    21

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Memria Cache

    A Memria Cache implementada com memrias rpidas e utilizada pelaCPU para armazenar as palavras de memria utilizadas com maiorfrequncia com o objectivo de tornar mais rpido todo o processamento.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    22

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Memria Principal

    SIMM Single Inline Memory ModuleDIMM Dual Inline Memory Module

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    23

    SIMM de 32 MB e 2 Circuitos de Controlo

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache:Exemplo: Na execuo da subrotina apresentada:

    (a) Determine a Hit Rate, considerando DELAYVALUE = 50.(b) Determine o tempo de acesso efectivo memria com e semCache, assumindo que a mem. Cache tem um tempo de acesso de8ns e a mem. Principal de 85ns.

    Soluo:(a) 94,2 %(b) c/ Cache 12,5ns; s/ Cache 85ns

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    24

    0029 Delay: PUSH R1

    002A MOV R1, DELAYVALUE

    002C DelayLoop: DEC R1

    002D BR.NZ DelayLoop

    002E POP R1

    002F RET

  • Arquitectura de ComputadoresUnidade de Memria

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    25

    Memria Cache: Mapeamento Directo

    Exemplo:Palavras de 32 BitsMem.Cache: 8 PalavrasMem. Principal: 1KB

    (256 Palavras)

    Endereo de Memria: 10 bitsEndereo da Cache: 3 bitsEtiqueta na Cache: 5 bits

    A etiqueta (Tag), guardada na Cache, associadaao endereo na Cache, permite determinara localizao da palavra em memria (principal)

    Mapeamento Directo Uma qualquer palavra da memria principalpode estar contida em apenas uma posio da Cache, e.g., a palavracom endereo 1010100100 apenas pode ser armazenada na Cachena posio 001.

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento DirectoExemplo: Para a sequncia de endereos apresentada determine a

    ocorrncia de misss e hits no acesso memria Cache.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    26

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 H58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 HF0 00 1111 0000 M64 00 0110 0100 H

    ETIQUETA INDEX BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    ETIQUETA DATA

    M. CACHE

    INDEX

    000

    001

    010

    011

    100

    101

    110

    111

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Directo

    Exemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    27

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 H58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 HF0 00 1111 0000 M64 00 0110 0100 H

    ETIQUETA INDEX BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    ETIQUETA DATA

    M. CACHE

    INDEX

    000

    001

    010

    011

    100

    101

    110

    111

    [54,55,56,57][F0,F1,F2,F3]

    [5C,5D,5E,5F][58,59,5A,5B]

    [104,105,106,107][60,61,62,63]

    [108,109,10A,10B]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Directo

    Exemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    28

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 H58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 HF0 00 1111 0000 M64 00 0110 0100 H

    ETIQUETA INDEX BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    ETIQUETA DATA

    M. CACHE

    INDEX

    000

    001

    010

    011

    100

    101

    110

    111

    [54,55,56,57][F0,F1,F2,F3]

    [5C,5D,5E,5F][58,59,5A,5B]

    [64,65,66,67][60,61,62,63]

    [108,109,10A,10B]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Directo

    Exemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    29

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 H58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 HF0 00 1111 0000 M64 00 0110 0100 H

    ETIQUETA INDEX BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    ETIQUETA DATA

    M. CACHE

    INDEX

    000

    001

    010

    011

    100

    101

    110

    111

    [54,55,56,57][F0,F1,F2,F3]

    [5C,5D,5E,5F][58,59,5A,5B]

    [64,65,66,67][60,61,62,63]

    [108,109,10A,10B]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Directo

    Exemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    30

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 H58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 HF0 00 1111 0000 M64 00 0110 0100 H

    ETIQUETA INDEX BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    ETIQUETA DATA

    M. CACHE

    INDEX

    000

    001

    010

    011

    100

    101

    110

    111

    [54,55,56,57][F0,F1,F2,F3]

    [5C,5D,5E,5F][58,59,5A,5B]

    [64,65,66,67][60,61,62,63]

    [108,109,10A,10B][10C,10D,10E,10F]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: MapeamentoAssociativo

    Mapeamento Associativo Uma qualquer palavra damemria principal podeestar contida em qualquerposio da Cache.Neste caso a etiqueta (Tag)deve ser de 8 em vez de 5 bits.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    31

    Caso seja necessrio localizar uma palavra as eqtiquetas daCache so pesquisadas em modo sequencial, causandouma degradao da eficincia. A utilizao de umamemoria associativa permite resolve este problema masaumenta muito o consumo.

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: MemriaAssociativa p/ Etiquetas de4 bits (TAG Memory)

    Poltica de Substituio dasTAGs e Dados na Cache:

    (1) Aleatria

    (2) FIFO First In First Out(basta ter um ndice quepercorre a memria)

    (3) LRU Least Recent Used... (solues simplificadas, por

    exemplo com um used bit)

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    32

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento AssociativoExemplo: Para a sequncia de endereos apresentada determine a

    ocorrncia de misss e hits no acesso memria Cache.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    33

    ETIQUETA DATA

    M. CACHE

    INDEX

    000

    001

    010

    011

    100

    101

    110

    111

    ETIQUETA BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 H58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 HF0 00 1111 0000 H64 00 0110 0100 H

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento AssociativoExemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    34

    ETIQUETA DATA

    M. CACHE

    INDEX

    000

    001

    010

    011

    100

    101

    110

    111

    ETIQUETA BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 H58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 HF0 00 1111 0000 H64 00 0110 0100 H

    [54,55,56,57]

    [F0,F1,F2,F3]

    [5C,5D,5E,5F]

    [58,59,5A,5B]

    [64,65,66,67]

    [60,61,62,63][108,109,10A,10B]

    [104,105,106,107]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento AssociativoExemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    35

    ETIQUETA DATA

    M. CACHE

    INDEX

    000

    001

    010

    011

    100

    101

    110

    111

    ETIQUETA BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 H58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 HF0 00 1111 0000 H64 00 0110 0100 H

    [54,55,56,57]

    [F0,F1,F2,F3]

    [5C,5D,5E,5F]

    [58,59,5A,5B]

    [64,65,66,67]

    [60,61,62,63][108,109,10A,10B]

    [10C,10D,10E,10F]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento AssociativoExemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    36

    ETIQUETA DATA

    M. CACHE

    INDEX

    000

    001

    010

    011

    100

    101

    110

    111

    ETIQUETA BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 H58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 HF0 00 1111 0000 H64 00 0110 0100 H

    [54,55,56,57]

    [F0,F1,F2,F3]

    [5C,5D,5E,5F]

    [58,59,5A,5B]

    [64,65,66,67]

    [60,61,62,63][110,111,112,113]

    [10C,10D,10E,10F]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Associativo-Directo (Set-associative Mapping)

    ndice utilizado no mesmo sentidodo mapeamento directo mas comum conjunto de localizaes paracada ndice, como no mapeamentoassociativo.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    37

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Associativo-DirectoExemplo: Para a sequncia de endereos apresentada determine a

    ocorrncia de misss e hits no acesso memria Cache.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    38

    ETIQUETA INDEX BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 M58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 H

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Associativo-DirectoExemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    39

    ETIQUETA INDEX BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    INDEX ETIQUETA DATA

    M. CACHE

    00

    01

    10

    11

    ETIQUETA DATA

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 M58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 H

    [54,55,56,57]

    [F0,F1,F2,F3]

    [5C,5D,5E,5F]

    [58,59,5A,5B]

    [60,61,62,63]

    [104,...,107]

    [108,...,10B]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Associativo-DirectoExemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    40

    ETIQUETA INDEX BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    INDEX ETIQUETA DATA

    M. CACHE

    00

    01

    10

    11

    ETIQUETA DATA

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 M58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 H

    [54,55,56,57]

    [F0,F1,F2,F3]

    [5C,5D,5E,5F]

    [58,59,5A,5B]

    [64,65,66,67]

    [60,61,62,63]

    [108,...,10B]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Associativo-DirectoExemplo:

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    41

    ETIQUETA INDEX BYTE

    9 8 7 6 5 4 3 2 1 0

    ENDEREO DE MEM.

    INDEX ETIQUETA DATA

    M. CACHE

    00

    01

    10

    11

    ETIQUETA DATA

    HEX Binrio MD54 00 0101 0100 M58 00 0101 1000 M

    104 01 0000 0100 M5C 00 0101 1100 M108 01 0000 1000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 M54 00 0101 0100 M58 00 0101 1000 H

    10C 01 0000 1100 M5C 00 0101 1100 H110 01 0001 0000 M60 00 0110 0000 MF0 00 1111 0000 M64 00 0110 0100 H

    [54,55,56,57]

    [F0,F1,F2,F3]

    [5C,5D,5E,5F]

    [58,59,5A,5B]

    [64,65,66,67]

    [60,61,62,63]

    [10C,...,10F]

    [108,...,10B]

    MISS - 1 EscritaMISS Escrita/SubstituioHIT Leitura da Cache

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Mapeamento Associativo-Directo (Set-associative Mapping)

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    42

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Set-associative Mapping c/ n Palavras por Etiqueta.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    43

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Carregamento e Mtodos de Escrita

    Aquisio de Dados da Cache p/ CPU:Considera-se um bit adicional para validao por cada etiqueta paraassegurar que no so carregados dados invlidos, em particular na faseinicial.

    Memria de Escrita: (p/ Resultados das Operaes)Memria PrincipalMemria CacheMemria Principal e Cache

    Mtodos de Escrita:Write ThroughWritw Back/ Copy Back

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    44

  • Arquitectura de ComputadoresUnidade de Memria

    Mtodos de Escrita:

    Write Through Resultado escrito sempre na memria principal.

    Write Buffer escritas so armazenadas num write buffer que guarda opedido at que a operao de escrita se concretize.

    Write Back/ Copy Back Resultado escrito na memria cache em casode um cache hit Write Allocate : no caso de um cache miss realizada uma

    escrita em memria principal ou, No Write Allocate : escrita em memria principal e na memria

    cache (futuras escritas no mesmo bloco no necessitam de aceder memria!).

    Desvantagens : aumenta a miss penalty, j que um miss passa aimplicar uma escrita para a memoria principal. Implica snopingem sistemas multiprocessador.

    N. Horta e P. Lopes, IST - UTL

    Arquitectura de Computadores 2008/2009

    45

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Exemplo (Diagrama de Blocos para Set-associativeMapping c/ n Palavras por Etiqueta)

    Mem. Cache de 256K

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    46

    128K

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache: Exemplo (Operaes de Escrita e Leitura para Set-associative Mapping c/ n Palavras por Etiqueta)

    Mem. Cache de 256K

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    47

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Cache:

    Cache de Instrues e Dadosvs

    Cache de Instrues e Cache de Dados

    Cache Multinvel: (Maior velocidade, controlo mais complexo)L1 (cache interna CPU)L2 (cache externa)

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    48

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Virtual

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    49

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Virtual: Endereos Fsicos, Endereos Virtuais e Mapeamento

    Memria Cache: Soluo quepermite aumentar a velocidadedos acessos memria semnecessitar de uma nica memriarpida e de elevada capacidade,o que seria uma soluo demasiadodispendiosa.

    Memria Virtual: Soluo paraaumentar a dimenso da memriaPrincipal com recurso ao disco rgido.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    50

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Virtual: Paginao

    Virtual Page: Blocos de endereos,semelhante a linhas na Cache masde maiores dimenses.

    Physical Page Frame: O espao deendereamento em memria estdividido em Page Frames de dimensoigual s Virtual Pages.

    Exemplo:Espao de Endereamento Virtual: 32 BitsPage: 4K bytes (1K words de 32 bits)N Pginas Virtuais: 220Memria Principal: 16 MbytesPage Frames: 212

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    51

  • Arquitectura de ComputadoresUnidade de Memria

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    52

    Memria Virtual: Paginao

    Page Table: Mapeamentode Pginas Virtuaisem Memria e em HD.

    Directory Page: Guardainformao sobre aspginas (page tables)de um programa.

    Exemplo:1 Mapeamento: 1 palavra de 32 bits1 Pgina (4KB): 1K ou 210 mapeamentos

    1 Programa de 4MB (222): mapeadocom recurso a uma pgina (page table).

  • Arquitectura de ComputadoresUnidade de Memria

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    53

    Memria Virtual: Paginao

    Validaty Bit: Valida Page Frameem memria.

    Dirty Bit: Indica se a pgina emmemria foi escrita desde o seucarregamento. Implica actualizaodo HD a quando de uma substituio.

    Used Bit: Indica se a pgina foiutilizada recentementepara efeito doalgoritmo de substituiode pginas.

    Directory Page Pointer:Indica a localizao de umaDirectory Page na memria principal.

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Virtual: Paginao

    Aquisio de Instruo ou Operando:Em 3 acessos mem. princinpal (!!?)(1) Directrio(2) Pgina(3) InstruoIntroduo de nova Cachepara traduzir directamenteos endereos viruais emendereos fsicos. Guardaa localizao das pginasmais recentemente acedidas.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    54

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Virtual:

    Exemplo: Mapeamento de um bloco de Memria Virtual emMemria Principal.

    Num computador com memria virtual dever ser executada aseguinte sequncia de passos:(1) Guardar o contedo de memria principal no disco.(2) Localizao das palavras 4096 a 8191 em disco.(3) Carregamento das palavras 4096 a 8191 para memriaprincipal.(4) Actualizao do mapa de endereos, i.e., as palavras 4096 a8191 esto agora nos endereos 0 a 4095 da mem. Principal.(5) Continuao da execuo.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    55

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Virtual:

    Exemplo: Paginao (Virtual Page vs Physical Page Frame)

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    56

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Virtual:Exemplo: Determinao do End. de Memria Principal tendo porbase End. Virtual.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    57

    Virtual Page AddressPhysical Page Frame AddressWord Offset

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Virtual:Exemplo: Mapeamento de Pginas Virtuais em Pginas da Memria

    Principal.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    58

  • Arquitectura de ComputadoresUnidade de Memria

    Memria Secundria (cont.): CDs, DVDs, etc.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    59

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Memria Secundria

    Disco Rgido ou Disco Magntico

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    60

    Disco Rgido com 4 pratos.

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Memria Secundria

    Disco Rgido ou Disco Magntico

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    61

    Ilustrao parcial de uma pista (Track) de disco com 2 sectores.

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Memria Secundria

    Discos IDE Integrated Drive Electronics Drives e Controlador na mesma unidade. Interface IBM PC Bus

    Discos SCSI Small Computer System Interface Diferentes interfaces e ritmos de transferncia mais elevados.

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    62

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Memria Secundria

    RAID Redundant Array ofIndependent Disks.

    SLED Single LargerExpensive Disk

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    63

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Memria Secundria

    CD-ROM Compact Disc Read Only Memory

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    64

    Organizao de dados num CD-ROMEstrutura de gravao num CD-ROM.

  • Arquitectura de ComputadoresUnidade de Memria

    Hierarquia de Memria: Memria Secundria

    CD R (Gravvel)

    CD RW (Regravvel)

    DVD Digital Versatile DiskSingle-Sided e Camada nica (4.7 GB)Single-Sided e Camada Dupla (8.5 GB)Double-Sided e Camada nica (9.4 GB)Double-Sided e Camada Dupla (17 GB)

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    65

    Disco CD-R e Laser

  • Arquitectura de ComputadoresUnidade de Memria

    BIBLIOGRAFIA

    [1] M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals, Prentice-Hall International, Inc. (Captulo 12)

    [2] A. S. Tanenbaum, Structured Computer Organization, Prentice-Hall International, Inc. (Captulo 6)

    N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

    66

    Slide Number 1Slide Number 2Slide Number 3Slide Number 4Slide Number 5Slide Number 6Slide Number 7Slide Number 8Slide Number 9Slide Number 10Slide Number 11Slide Number 12Slide Number 13Slide Number 14Slide Number 15Slide Number 16Slide Number 17Slide Number 18Slide Number 19Slide Number 20Slide Number 21Slide Number 22Slide Number 23Slide Number 24Slide Number 25Slide Number 26Slide Number 27Slide Number 28Slide Number 29Slide Number 30Slide Number 31Slide Number 32Slide Number 33Slide Number 34Slide Number 35Slide Number 36Slide Number 37Slide Number 38Slide Number 39Slide Number 40Slide Number 41Slide Number 42Slide Number 43Slide Number 44Slide Number 45Slide Number 46Slide Number 47Slide Number 48Slide Number 49Slide Number 50Slide Number 51Slide Number 52Slide Number 53Slide Number 54Slide Number 55Slide Number 56Slide Number 57Slide Number 58Slide Number 59Slide Number 60Slide Number 61Slide Number 62Slide Number 63Slide Number 64Slide Number 65Slide Number 66