Sei sulla pagina 1di 55

Componentes

Mecanismo de acesso do processador


Dispositivos de memria
principais tipos
caractersticas
Conceitos de memria
principal
cache
virtual
Programas acessam uma parte relativamente
pequena do seu espao de endereamento em
um dado instante de tempo
Dois tipos
temporal
espacial

Princcio da localidade hierarquia de
memria


Vrios nveis
capacidade de armazenamento
velocidade de acesso
custo por bit
+
. . .
custo
por bit
velocidade de
acesso
_
+
nvel
superior
nvel
inferior
capacidade de
armazenamento
_
Unidade mnima de transferncia bloco
Falha (miss) x Acerto (hit)
Desempenho taxa de acerto
Falha penalidade
Memria
Cache
Memria
Principal
Memria
Secundria
linha de cache
pgina
Polticas ou regras depende suporte de HW
busca quando um bloco de informao
deve ser transferido de um nvel de memria
inferior para um nvel de memria superior
armazenamento onde o bloco de
informao deve ser colocado naquele nvel de
memria
substituio qual bloco de informao deve
ser substitudo por um novo bloco.
Componente bsico clula de bit,
armazena um bit de informao
Acesso do processador conjunto de
clulas de bit
Menor conjunto de clulas de bit
acessado pelo processador locao
de memria
Byte de memria 8 clulas de bit ou
byte
Acesso processador deve fornecer
identificao da locao, onde ser
feito o acesso endereo de memria
sentido do acesso leitura ou escrita
Interao 3 barramentos distintos
endereo
dado
controle

Processador
Endereo
Dados
Controle
Sub-sistema de Memria
Memria
Principal
Largura do barramento em nmero de
bits determinado pelo processador
barramento de endereo = n bits, pode
enderear at 2
n
locaes de memria
distintas
no necessariamente a memria toda
instalada, depende da relao
custo/benefcio.
Seqncia de eventos acesso do
processador memria
definio da locao de memria
ativao de sinais de controle
troca de informaes entre o
processador e a memria principal

Representao grfica diagrama de tempo

Clock
Endereo
Dados
Controle
1
2
3
4
Leitura
Representao grfica diagrama de tempo

Escrita
Clock
Endereo
1
Controle
2
Dados
4
3
Tempo de acesso ciclo de barramento padro

Clock
Endereo
Controle
Dados invlido
Clock
Endereo
Controle
Dados invlido
estados de espera
vlido
Leitura
ROM (Read Only memory)
PROM (Programmable ROM)
EPROM (Erasable Programmable ROM)
EEPROM (Eletric Erasable Programmable ROM)
RAM (Random Access Memory)
SRAM (Static RAM)
DRAM (Dynamic RAM)
Implementao SRAM
Capacidade de armazenamento
256 KBytes a 1 MByte
Cache
hit acerto
miss falha
Propriedade da localidade de referncia
taxa de acerto 90% a 98%
Processador
Memria
Cache
Memria
Principal
Endereo
Dados
Controle
sub-sistema de memria
Localizao da memria cache

Cache
RAM linhas
Diretrio
Mapeamento
Direto
Por associatividade

Organizao mais simples
Bloco tamanho de uma palavra
Palavra s pode ocupar uma nica posio na
cache
Processo de mapeamento
(endereo do bloco) % (num. de blocos da cache)
Nmero de comparaes uma

Rtulo
Informao
Pesquisa
12
1
0
ndice
0
0
1
32 Palavras
Memria Principal
0
1
31
30
29
.
.
.
0 0 0 0 0
0 0 0 0 1
..............
1 1 1 1 1
Faixa de endereos
12 % 8 = 4
0 1 1 0 0
Vantagens
no h necessidade de algoritmo de substituio
hardware simples e de baixo custo
alta velocidade de operao
Desvantagens
reduo no desempenho se acessos consecutivos
so feitos a palavras com mesmo ndice
hit ratio inferior ao de caches com mapeamento
associativo
Hit ratio aumenta com o aumento da cache,
aproxima-se de caches com mapeamento associativo
tendncia atual de uso de caches grandes
Aproveita melhor as localidades de referncia
Bloco tamanho maior do que uma palavra
Blocos maiores diminui a taxa de falhas
Processo de mapeamento
(endereo do bloco) % (num. de conjuntos da cache)
Nmero de comparaes quantidade de
linhas por conjunto
Palavra pode estar em qualquer linha do
conjunto
Classificao
por conjunto
completamente associativa
Nmero de rtulos e bits de validade menor
uso mais eficiente da cache
Endereo com trs campos
byte - bits menos significativos
conjunto - n bits seguintes
rtulo - m bits mais significativos
12 % 4 = 0
0 1 1 0 0
4 conjuntos
2 linhas por conjunto
N. do Conjunto # 0 1 2 3
Informao
Rtulo
Pesquisa
12
1
1
0
ndice
0
0
1
0
0
1
1
1
Endereo
Rtulo Conjunto Byte
Vantagem em relao ao
mapeamento completamente
associativo
comparadores so
compartilhados por todos os
conjuntos
algoritmo de substituio s
precisa considerar linhas dentro
de um conjunto
Desvantagens em relao ao n-way
associativa por conjunto X mapeamento
direto
dado tem atraso extra do multiplexador
dado vem DEPOIS da deciso Hit/Miss e
da seleo do conjunto
numa cache com mapeamento direto,
linha da cache est disponvel ANTES da
deciso Hit/Miss
possvel assumir um hit e continuar e
recuperar depois se for um miss

Pode ser vista como tendo um nico
conjunto
Processo de mapeamento
palavra pode ser colocada em
qualquer bloco do conjunto
Informao
Rtulo
Pesquisa
12
1 conjunto
8 linhas no conjunto
Palavra pode estar em qualquer linha
Vantagem
mxima flexibilidade no posicionamento de
qualquer palavra (ou linha) da memria principal
em qualquer palavra (ou linha) da cache
Desvantagens
custo em hardware da comparao simultnea
de todos os endereos armazenados na cache
algoritmo de substituio (em hardware) para
selecionar uma linha da cache na ocorrncia um
miss
Utilizado apenas em memrias associativas de
tamanho pequeno
tabelas
Esquemas
write-through a cada escrita na cache,
escreve, tambm, na memria principal
write-back s escreve na memria
principal quando um bloco for substitudo
ou no trmino da aplicao
necessita de um bit de controle

Polticas
LRU o bloco a ser substitudo
aquele que no acessado a mais
tempo
aleatria qualquer bloco pode
ser escolhido para ser substitudo

Tcnica originalmente criada para
permitir a execuo de programas
cujas exigncias quanto ao tamanho
da memria sejam maiores do que a
capacidade de memria principal
instalada no sistema

Endereo gerado pelo programa endereo
virtual
Endereo real usado para acessar a
memria principal
Endereos virtuais espao de
endereamento virtual
Endereos de memria principal espao
de endereamento real
Ponto de vista de um programa a memria
disponvel aquela representada pelo
espao de endereamento virtual
Espao de endereamento virtual uma
abstrao
Distino entre endereos e espaos de
endereamento exige um mecanismo de
correspondncia entre o endereo virtual e o
endereo real
Tcnica de memria virtual
permite que instrues e dados no
estejam na memria principal at que
sejam referenciados
Necessidade de um mecanismo para o
carregamento automtico das instrues e
dados na memria principal
Processador
Memria
Principal
sub-sistema de memria
DAT
Endereo Virtual
Endereo Real
Endereo
Dados
Controle
Mapeamento realizado pelo
DAT - Dynamic Address Translator
mapeia o endereo virtual em endereo real
Mapeamento Tabela de Mapeamento
Tabela localiza-se na memria principal
durante toda a execuo do processo
Para manter um tamanho de tabela aceitvel o
mapeamento feito no nvel de blocos
Espao de endereamento virtual logicamente
dividido em blocos, que so mapeados para o
espao de endereamento real pelo DAT
Cada entrada na tabela de mapeamento
endereo-base de um bloco
Memria virtual pode ser
Segmentada os blocos so chamados
segmentos, e podem ter tamanhos variveis
Paginada os blocos so chamados pginas e
possuem tamanho fixo
~
~
Bloco 0
Bloco 1
Bloco 2
Bloco n
Espao Virtual
~
~
Bloco 0
Bloco 1
Bloco 2
Espao Real
(a)
base
b'
base
+
+
endereo real
b d
endereo virtual
tabela de
mapeamento
b
(b)
Endereo virtual poder visto como
constitudo por dois campos
campo b - bits mais significativos
indica o nmero do bloco onde se
encontra a locao de memria
referenciada
campo d - bits menos significativos
indica o deslocamento da locao de
memria em relao ao incio do bloco
DAT: valor do campo b + endereo-base da
tabela de mapeamento endereo de uma
entrada da tabela
Endereo-base da tabela mantido
internamente no prprio DAT TBR (Table
Base Register)
DAT acessa a tabela de mapeamento e
obtm o endereo-base do bloco
Obteno do endereo real da locao de
memria referenciada valor do campo d +
endereo-base do bloco
A cada referncia dois acessos
memria
compromete o desempenho
Soluo TLB (Translation Lookaside
Buffer)
TLB comporta-se como uma cache
TLB armazena os pares de endereo
virtual/real, que foram usados nos acessos
mais recentes
TLB num acerto reduz o tempo de
mapeamento
Blocos de instrues e de dados de um
programa em execuo ficam armazenados
na memria secundria
unidade de disco
A ausncia de um bloco referenciado pelo
programa detectada pelo DAT no momento
do mapeamento
O bloco ento carregado da memria
secundria para a memria principal
2. tabela de mapeamento e TLB no mapeiam o bloco b:
o bloco referenciado no se encontra na memria principal
b n
1. programa referencia locao n
no bloco de nmero b
b
memria secundria
3. o bloco de nmero b transferido
da memria secundria para a memria principal
controlado pelo sistema operacional
memria principal
4. tabela de mapeamento e TLB
so atualizadas
b'
TLB
b b' b' b
tabela de
mapeamento
TLB
xx xx xxxx b
tabela de
mapeamento
5. acesso locao n
memria fsica
n
b'
Aspectos operacionais comuns aos
sistemas hierrquicos da memria
Quatro questes para tratar um bloco
onde colocar
como localizar
como substituir
como modificar
Diversos esquemas
mapeamento direto
mapeamento associativo
por conjunto
completamente associativo
Podem ser expressos com a variao do nmero de
conjunto (NC)
conjuntos por bloco (NB)
Esquema NC NB
Direto Nmero de
blocos
1
Associativo
por conjunto
Nmero de
blocos
associatividade
Associatividade
Totalmente
associativo
1 Nmero de
blocos
Vantagem de aumentar associatividade
melhora a localidade espacial
reduz a taxa de falhas
Desvantagem
Maior custo com falhas
Falhas reduz tempo de acesso
Cache associatividade por conjunto 2, 4, 8
Memria Virtual totalmente associativa
Depende do esquema utilizado para
colocao do bloco
Escolha do mapeamento
custo de uma falha
custo da associatividade
Caches e TLBs
Direto
Associativo por conjunto
Esquema Mtodo de Localizao Nmero de
Comparaes
Direto ndice 1
Associativo
por conjunto
indexar o conjunto,
pesquisar entre os
elementos

grau de
associatividade
Totalmente
associativo
pesquisar todas as entradas
tabela separada para busca
igual ao tamanho
0
Totalmente associativo
proibido
exceto para caches e TLBs
muito pequenas
Memria Virtual
Totalmente associativo

Motivado por quatro fatores
por causa do alto custo a associatividade
benfica
associativiade total algoritmos de
substituio de pginas mais sofisticados
reduzir taxa de falhas
mapeamento completo facilidade de
indexao
no necessita de hardware extra
Quanto maior o tamanho da pgina menor o
overhead relativo ao tamanho da tabela de
pginas
Quando no h mais espao livre
substituio de um bloco
Bloco candidato mapeamento
direto no h escolha
associativo por conjunto um dos
blocos do conjunto
totalmente associativo qualquer bloco
Estratgias de substituio mais comuns
Aleatria cache
LRU cache e memria virtual
Duas opes bsicas
Write-through cache
Write-back cache e
memria virtual
Explica as fontes de falhas
compulsrias
capacidade
conflitos ou coliso

Potrebbero piacerti anche