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