• Nenhum resultado encontrado

Sistemas de Memória IEC - ITA. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas de Memória IEC - ITA. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro"

Copied!
72
0
0

Texto

(1)

Sistemas de Memória

Paulo André Castro CES-25 IEC - ITA

CES-25 – Arquiteturas para Alto Desmpenho Prof. Paulo André Castro

pauloac@ita.br

Sala 110 – Prédio da Computação www.comp.ita.br/~pauloac

(2)

Conceitos Úteis

• A cache é divida em blocos com um número fixo de palavras de memória (nível mais alto)

• O endereço de memória é então divido em duas partes:

– O endereço do bloco (às vezes, chamado de título, ou tag)

Paulo André Castro CES-25 IEC - ITA

– O endereço do bloco (às vezes, chamado de título, ou tag) – A posição da palavra dentro do bloco (offset)

• Bits de offset = log2 (Tamanho do Bloco)

(3)

Organização da Cache

(4)

Acessando a cache

• Exemplo:

– Endereço 01173  título 0117  Sucesso 

DR12

– Endereço 01163  título 0116  Falta 

Paulo André Castro CES-25 IEC - ITA

– Endereço 01163  título 0116  Falta 

Procura na memória principal

(5)

P2: Como um bloco é encontrado na

cache ?

•O Tag marca o endereço de memória ao qual

corresponde o bloco de cache e também se utiliza um bit para marcar a validade ou não do bloco (bit de validade)

• Tags sempre são pesquisadas em paralelo

Paulo André Castro CES-25 IEC - ITA

(6)

P3: Substituição do Bloco

• Que bloco pode ser substituído ao ocorrer uma falha?

•Mapeamento direto: Não há decisão a ser feita, pois cada bloco é direcionado para um bloco de cache

•Mapeamento Completamente associativo ou de conjunto: várias opções

Paulo André Castro CES-25 IEC - ITA

conjunto: várias opções

•Aleatória: Escolhe-se aleatoriamente um bloco para a substituição

•Menos recentemente usado(Least Recently Used): Registra-se os acessos aos blocos e se retira do cache o menos usado recentemente. Baseia-se no passado para prever o futuro

(7)

Implementação do LRU

• Implementação com Contador

– Guardar para cada bloco, em um campo contador o número do último acesso (em clocks)

– Substitui-se o bloco com menor clock

Paulo André Castro CES-25 IEC - ITA

• Implementação com Pilha

– Manter em uma pilha os números de cada bloco

– Ao ser realizada acesso a um bloco X, este passaria ao topo da pilha

– Substitui-se o bloco cujo número está na base da pilha

(8)

Implementação Aproximada de

LRU

• Exige bastante do hardware

• Criar um campo de referência com n bits

– Em cada acesso setar para 1 – Deslocar

Paulo André Castro CES-25 IEC - ITA

– Deslocar

• Primeiro a entrar, Primeiro a sair( First In First out, FIFO), Esta opção se aproxima ao substituir o mais antigo, no lugar do menos recentemente usado

(9)

P4: Estratégia de Gravação

• As leituras dominam as operações de memória, mas

também existem escritas. Segundo algumas estimativas, aproximadamente 10%

• Estratégias de Solução:

Paulo André Castro CES-25 IEC - ITA

• Estratégias de Solução:

– Write-Through: As informações são gravadas no cache e na memória inferior

– Write-Back: As informações são gravadas apenas no cache. A gravação na memória ocorrerá apenas quando houver

(10)

Estratégias de Gravação

• Write-Back

– Vantagens

• Usa menos largura de Banda da Memória (Multiprocessadores)

Paulo André Castro CES-25 IEC - ITA

(Multiprocessadores)

• Poupa Energia por usar menos hardware

– Desvantagens

• Precisa controlar atualização da Memória • Falha de leitura pode causar gravação • Memória fica inconsistente com a cache

(11)

Estratégias de Gravação

• Write-Through

– Vantagens

• Mais fácil de Implementar

• Falha de leitura não causa gravação

Paulo André Castro CES-25 IEC - ITA

• Falha de leitura não causa gravação • Nível Inferior sempre coerente

(multiprocessadores)

– Desvantagem

• Gravações sempre demoram o tempo do nível inferior, mesmo em caso de acerto

(12)

Buffer de Gravação

• Write-Through

Paulo André Castro CES-25 IEC - ITA

• Write-Through

– Buffer de Gravação para evitar atrasar a CPU – FIFO (First In, First Out)

– Tipicamente em torno de 4 entradas

• Problema: Frequência de Instruções de Gravação maior que frequência da DRAM (Saturação do Buffer)

(13)

Buffer de Gravação 2

• Problema: Freqüência de Instruções de Gravação maior que

Paulo André Castro CES-25 IEC - ITA

• Problema: Freqüência de Instruções de Gravação maior que capacidade de atendimento da DRAM (Saturação do Buffer)

• Solução: Aumentar o desempenho das gravações através da introdução de outro nível de cache

(14)

Falha de Gravação

• Ao tentar gravar um dado que não está na cache há duas opções:

• Write Allocate (Gravação com Alocação) :

– Traz o bloco que contém o endereço para a cache

Paulo André Castro CES-25 IEC - ITA

– Traz o bloco que contém o endereço para a cache

• Write Not Allocate (Gravação sem Alocação):

(15)

Quatro perguntas sobre

Organização da Cache

• P1: Onde um bloco pode ser inserido no nível superior (posicionamento do bloco) ?

• P2: Como um bloco é encontrado se está no nível superior da hierarquia (cache) ?

Paulo André Castro CES-25 IEC - ITA

superior da hierarquia (cache) ?

• P3: Que bloco deve ser substituído ao ocorrer uma falha (substituição do bloco) ?

• P4: O que acontece em uma gravação (estratégia de gravação) ?

(16)

Como melhorar o desempenho

da Memória?

• Reduzir o ciclo de memória

– usando memória cache – Melhorar taxa de acerto

Paulo André Castro CES-25 IEC - ITA

• Aumentar o tamanho da palavra

– Acessar várias palavras em paralelo (usando memória entrelaçada).

(17)

Definições

• Ciclo de Memória: tempo para devolver a CPU

uma palavra

• Palavra de Memória: conjunto de bytes que

pode ser entregue a CPU a cada requisição.

• Taxa de Transferência: número de bytes por

Paulo André Castro CES-25 IEC - ITA

• Taxa de Transferência: número de bytes por

unidade de tempo entregues pela memória.

• Exemplo:

– palavra de 32 bits ou 4 bytes – ciclo de memória = 50 ns;

(18)

Desempenho da Memória

•Nem todo acesso à memória é atendido pela cache; •Quando é atendido  Sucesso na cache

•Quando não  Falha na cache

•Grandeza Fundamental para o desempenho do sistema de Memória com Cache:

Paulo André Castro CES-25 IEC - ITA

Memória com Cache:

(19)

Desempenho da Memória

• O tempo efetivo de um sistema com cache é um valor intermediário entre os tempos da cache e da memória principal.

– Tef = h * Tc + (1 – h) * Tm (0  h  1)

Paulo André Castro CES-25 IEC - ITA

• Taxa de sucesso h: probabilidade de sucesso na cache • Taxa de falha (1-h): probabilidade de falha na cache

(20)

Desempenho da Memória

• Taxa de Erro e Penalidade

– Tef = Tc + (Tx. Erro)* Penalidade – Tx. Erro = (1-h)

– Penalidade = Tm-Tc

Paulo André Castro CES-25 IEC - ITA

– Penalidade = Tm-Tc

• Qual o tempo efetivo considerando dois níveis

de caches ?

– Tef = h * Tc + (1 – h) * [ h2 * Tc2 + (1-h2)*Tm]

(21)

Taxa de Acerto na Cache

• É comum a obtenção de valores altos para h;

desse modo, o ciclo efetivo fica sensível a

pequenas mudanças de h:

– Caso Tc = Tm / 10 e h caia de 0.99 para 0.98 (1%) então Tef sobe 8.3% (quase 10%).

Paulo André Castro CES-25 IEC - ITA

então Tef sobe 8.3% (quase 10%).

– Caso Tc = Tm / 10 e h caia de 0.99 para 0.89 (~10%) então Tef sobe 82.5% (quase dobra). – Caso Tc = Tm / 20 e h caia de 0.99 para 0.89

(22)

Desempenho de Memória

• Pequenas melhorias em h podem resultar em

substancial aumento de desempenho no sistema de memória.

• Fatores que variam a razão de sucesso h

Paulo André Castro CES-25 IEC - ITA

• Fatores que variam a razão de sucesso h

– Número de palavras dos blocos e número de blocos;

– Critério de escolha do bloco que dará lugar a um novo bloco vindo da memória principal, na ocorrência de uma falta (Política de substituição de blocos).

(23)

Exercício

• Considere um computador com

– CPI(Clock por Instrução) = 1,0 – Penalidade por erro = 25 ciclos – Taxa de erros = 2%

– Acessos a memória representam 50% do total de instruções em média.

Paulo André Castro CES-25 IEC - ITA

média.

• Quão mais rápido seria este computador se não houvesse erro de cache?

(24)

Resposta

• Computador sem Erros:

– Tempo de Execução Ideal = IC *1,0* Tempo de Clock

• Computador Real

Paulo André Castro CES-25 IEC - ITA

• Computador Real

– Tempo de Execução Real= Tempo de Execução ideal + Tempo de Parada

– Tempo de Parada = IC * Acesso a memória/Instrução * Taxa de Erros * Penalidade de Erro * Tempo de

(25)

Resposta

• Tempo de Parada:

• TP= IC*(1+0,5)*0,02*25 = IC *0,75

• (1+0,5) – 1 para acesso de instrução e 0,5 para acesso de dados da instrução

Paulo André Castro CES-25 IEC - ITA

• Tempo de Execução Real

– Tempo de Parada : IC*0,75 * tempo de clock

– Tempo de Execução = 1,75*IC * tempo de clock

(26)

Medidas de Taxa de Erro de Cache

• Erro/Instrução

– Ex.:3 falhas/1000 instruções

• Taxa de Erro /acesso a memória

– Ex.: 2% dos acessos causam falha de cache

Paulo André Castro CES-25 IEC - ITA

– Ex.: 2% dos acessos causam falha de cache

• Erro/Instrução = (Taxa de Erro * Acessos

a Memória)/IC = Taxa de Erro *

(27)

No Exemplo, anterior

• Erro/Instrução = Taxa de Erros

*Acessos/Instrução

– Erro/Instrução = 0,02* (1+0,5) = 0,03

• Recalculando o Tempo de Parada para o

Paulo André Castro CES-25 IEC - ITA

• Recalculando o Tempo de Parada para o

exemplo, obtemos o mesmo resultado

– Tempo de Parada = IC * Erro/Instrução * Penalidade de Erro

(28)

Tecnologias de Construção de

Memórias

e Memórias RAM, entrelaçada e

Paulo André Castro CES-25 IEC - ITA

Virtual

CES-25 – Arquiteturas para Alto Desmpenho Prof. Paulo André Castro

pauloac@ita.br

Sala 110 – Prédio da Computação www.comp.ita.br/~pauloac

(29)

Técnicas para Melhorar o

Desempenho da Memória Principal

• Opções:

– Aumentar largura do dados

• Barramento mais largo • Intercalar memória

Paulo André Castro CES-25 IEC - ITA

– Melhor tempo de acesso

• tecnologia de construção: clock, latência,etc. • DDR (Double Data Rate), DDR2, etc.

(30)

Melhorando o Desempenho da

Memória Principal

(31)

Memória Entrelaçada

• Memória entrelaçada permite acesso simultâneo a tantas palavras quantos forem os seus módulos independentes.

• Com um número suficiente de módulos, é possível haver, num dado momento, várias instruções e vários operandos em fase de

recuperação e vários resultados em fase de armazenamento.

Paulo André Castro CES-25 IEC - ITA

recuperação e vários resultados em fase de armazenamento.

• É claro que, para ganho máximo, num dado momento, cada acesso à memória deve acessar módulos distintos.

(32)

Maior Largura do Barramento X

Memória Intercalada - Exemplo

• Considere o seguinte sistema:

– Envio de Endereço: 4 clocks da CPU – Acesso a palavra na Memória: 56 clocks

– Envio de uma palavra pelo barramento: 4 clocks

• Para Bloco = 1 palavra (64 bits) – Tx. De Erro: 3%

Paulo André Castro CES-25 IEC - ITA

– Tx. De Erro: 3%

– Penalidade : 64 clocks ( 4+ 56+4)

– Média de Ciclos por Instrução(s/erro de cache): 2 – Acesso a Memória/Instrução: 1,2

• Para bloco =2 palavras – Tx. De Erro: 2%

• Para bloco = 4 palavras – Tx. De Erro: 1,2%

(33)

Exemplo (Cont.)

• Qual a melhoria do sistema em relação ao original com barramento simples ao utilizar :

– intercalação de 2 ou 4 bancos

– sistema com barramento duplicado

• Em blocos de 1,2 e 4 palavras

Paulo André Castro CES-25 IEC - ITA

• Solução:

– TempoExecução+Penalidade*Tx.Erro

• CPI para sistema de memória de 1 palavra

(34)

Exemplo (Cont.)

• Bloco de duas palavras (128 bits)

– barramento de 64 bits, sem intercalação:

• 2+2%*(1,2*2*64) =5,07

– Barramento de 128 bits, sem intercalação:

• 2+2%*1,2*64 = 3,54

Paulo André Castro CES-25 IEC - ITA

• 2+2%*1,2*64 = 3,54

– barramento de 64 bits, com intercalação (2 bancos):

(35)

Efeitos da duplicação do bloco

• Diminuição do desempenho no sistema de

barramento de 64 bits, sem intercalação

– De 4,3 para 5,07

• Duplicação do Barramento mais rápido em 1,22

Paulo André Castro CES-25 IEC - ITA

• Duplicação do Barramento mais rápido em 1,22

vezes

• Speedup = 1,22 = (4,3/3,63)

• Intercalação de Memória mais rápida em 1,19

vezes

(36)

Efeito da quadruplicação do

bloco (Cont. )

• Bloco de 4 palavras (256 bits)

– barramento de 64 bits, sem intercalação:

• 2+1,2%*(1,2*4*64) =5,69

– Barramento de 128 bits, sem intercalação:

• 2+1,2%*1,2*2*64 = 3,84

Paulo André Castro CES-25 IEC - ITA

• 2+1,2%*1,2*2*64 = 3,84

– barramento de 64 bits, com intercalação (4 bancos):

(37)

Efeito da quadruplicação do bloco

• Diminuição do desempenho no sistema de barramento de 64 bits, sem intercalação : De 4,3 para 5,69

• A duplicação do Barramento é mais rápida apenas 1,12 vezes (4,30/3,84)

• Intercalação de Memória agora é a mais rápida 1,39 vezes (4,30/3,09)

Paulo André Castro CES-25 IEC - ITA

• Intercalação de Memória agora é a mais rápida 1,39 vezes (4,30/3,09)

• O custo de quadruplicar o barramento de memória pode se tornar proibitivo e não traria desempenho muito

melhor

– Barramento de 256 bits, sem intercalação:

(38)

Funcionamento e Tecnologia de

Construção da Memória RAM

Paulo André Castro CES-25 IEC - ITA

(39)

Tempos de Acesso e Tamanhos de Níveis de

memória - Servidor

(40)

Tempos de Acesso e Tamanhos de Níveis de

memória – Dispositivo Pessoal Móvel

(41)

Desempenho

Microprocessador vs Memória

(42)

Memória vs Disco

Custo/GB x Tempo de Acesso

(43)

Tecnologias de Construção de

Memórias

• ROM (Read Only Memory): Memória não volátil, gravada apenas uma vez no momento o processador não consegue modificá-las. Algumas podem ser apagadas eletricamente (EEPROM ).

• SRAM: Prioriza velocidade e capacidade

– Os dados não precisam ser gravados periodicamente – Linhas de endereço não multiplexadas.

– 8 a 16 vezes mais cara que DRAM

Paulo André Castro CES-25 IEC - ITA

– 8 a 16 vezes mais cara que DRAM

• DRAM: Prioriza custo por bit e capacidade

– Os dados precisam ser gravados novamente após uma leitura

– Periodicamente precisam ser gravados (atualizados) novamente mesmo sem leitura – Linhas de endereço multiplexadas.

(44)

Tecnologias de Construção de

Memórias

• DRAM: DRAMs tradicionalmente tinham uma interface assíncrona com seu controlador e com isso um overhead de sincronização.

– Introduziu-se um sinal de clock para os chips DRAM tornando-os síncronos. Batizou-se isto de DRAM síncrona (SDRAM).

• DDR SDRAM: Inovação onde se transfere dados da memória na borda crescente e decrescente do sinal de clock da SDRAM, com isso duplicando a taxa. Double Data

Paulo André Castro CES-25 IEC - ITA

decrescente do sinal de clock da SDRAM, com isso duplicando a taxa. Double Data Rate(DDR)

– DDR2 e DDR3: Evolução da tecnologia DDR com aumento de clock e redução de voltagem nos chips

• DIMM (Dual Inline Memory module): Memórias, em geral, são vendidas em pequenas placas DIMM de 4 a 16 chips DRAMs e geralmente organizadas de modo a fornecerem palavras de 8 bytes.

(45)

Organização de uma DRAM

(46)

Matriz de vários bits

(47)

Exemplo de organização de um

chip de 256KB

(48)

Funcionamento da DRAM

• Multiplexação do Endereço

– RAS (Row Access Strobe)

– CAS (Column Access Strobe) – Acesso ao Dado

Paulo André Castro CES-25 IEC - ITA

• Atualização Periódica de Dados

– Bits de uma linha podem ser atualizados simultaneamente

– Atualização é determinada pelo DRAM Controller e tipicamente demora um tempo de acesso a um dado por linha

(49)

Modos de Operação

• Modo Regular

– Cada acesso é definido por:

• RAS(Row Access Strobe)

• CAS (Column Access Strobe)

Paulo André Castro CES-25 IEC - ITA

• CAS (Column Access Strobe) • Carregamento do Dado

• Modo Rápido

– Dados na mesma linha são acessados

apenas mudando o CAS

(50)

Desempenho da DRAM

• Tempo de Acesso não uniforme devido a:

– Localização

– Atualização dos Dados

• Tipicamente o tempo é dividido em:

Paulo André Castro CES-25 IEC - ITA

• Tipicamente o tempo é dividido em:

– RAS precharge (tRP) : seleção de linha

– RAS-to-CAS delay (tRCD) : seleção de coluna – CAS latency (CL) : leitura/gravação do dado – Cycle Time (tRAS): tempo completo “médio”

(51)

• Tais valores podem ser determinados através de aplicativos específicos: •RAS precharge (tRP) •RAS-to-CAS delay (tRCD) •CAS latency (CL)

•Cycle Time (tRAS)

(52)

Memória vem em Módulos

• Para facilitar o manuseio e também explorar o entrelaçamento de memória, utiliza-se módulos de memória

– DIMM (Dual inline memory module) – 4 a 16 chips de memória

– Tipicamente largura de 8 bytes (64 bits)

– SDRAM : 168 pinos, DDR (184 pinos), DDR2 (240 pinos), DDR3 (240)

Paulo André Castro CES-25 IEC - ITA

– SDRAM : 168 pinos, DDR (184 pinos), DDR2 (240 pinos), DDR3 (240)

(53)

Dados de Módulos de DRAM

Standard name I/O Bus clock Data transfers per second Module name Peak transfer rate DDR-266 133 MHz 266 Million PC-2100 2100 MB/s DDR-300 150 MHz 300 Million PC-2400 2400 MB/s DDR-333 166 MHz 333 Million PC-2700 2700 MB/s DDR-400 200 MHz 400 Million PC-3200 3200 MB/s 266M/s*8B/tranfser=2128MB/s 300M/s*8B=2400MB/s

Paulo André Castro CES-25 IEC - ITA

DDR-400 200 MHz 400 Million PC-3200 3200 MB/s DDR2-533 266 MHz 533 Million PC-4300 4264 MB/s DDR2-667 333 MHz 667 Million PC-5300 5336 MB/s DDR2-800 400 MHz 800 Million PC-6400 6400 MB/s DDR3-1066 533 MHz 1066 Million PC-8500 8528 MB/s DDR3-1333 666 MHz 1333 Million PC-10700 10664 MB/s DDR3-1600 800 MHz 1600 Million PC-12800 12800 MB/s DD4- 3200 1600 MHz 3200 Million PC -25600 25600 MB/s

(54)

Memória Virtual

(55)

Memória Virtual

(56)

Perguntas

• Atualmente, memória principal é barata então

pode-se manter a memória física do mesmo

tamanho da memória virtual. Nessa situação,

porque utilizar sistema de memória virtual?

Paulo André Castro CES-25 IEC - ITA

– Simplicidade na Recolocação

(57)

O papel da Memória Virtual

• Generalidade

– Habilidade de executar programas maiores que a memória física

• Gerenciamento mais eficiente

– Alocação/Desalocação de blocos de tamanhos variáveis é onerosa e leva a fragmentação

• Proteção

– Regiões do espaço de endereço podem ser declaradas como: somente leitura, código executável,

• Flexibilidade

– partes de um programa podem ser colocadas em qualquer lugar na memória, sem relocação

Paulo André Castro CES-25 IEC - ITA

– partes de um programa podem ser colocadas em qualquer lugar na memória, sem relocação

• Eficência no Armazenamento

– Mantem na memória apenas as partes mais “importantes” do programa

• I/O Concorrente

– Executa outros processos, enquanto está carregando/descarregando uma página

• Expansiblilidade

– Possibilita deixar espaço no espaço virtual de endereços para que objetos/programas possam crescer

• Desempenho

(58)

Memória Virtual

• Endereços Virtuais V= {0,1,2,3,....n-1}

• Endereços Físicos P = {0,1,2,3,....m-1}. Onde m < n

• Para cada endereço a em V pode existir um endereço em P (a’), caso contrário falha de página(acesso ao disco)

• Dois endereços Virtuais podem apontar para o mesmo endereço físico

(59)

Memória Virtual e Cache

• A tradução de endereço virtual deve ser

feita antes ou depois da cache?

– Antes: Perda de desempenho por ter que

fazer um acesso adicional

Paulo André Castro CES-25 IEC - ITA

fazer um acesso adicional

– Depois: Cache trabalharia com endereços

virtuais e memória com endereços reais.

Problema?

(60)

Cache com Endereços Virtuais

• Dois endereços virtuais podem mapear o mesmo endereço físico! • Logo, duas entradas de cache podem conter os mesmos dados. • Perda de espaço útil na cache e Problema na Atualização

• Acontece quando dois programas (endereços virtuais distintos) compartilham

Paulo André Castro CES-25 IEC - ITA

• Acontece quando dois programas (endereços virtuais distintos) compartilham um mesmo objeto de dados. Freqüente?

(61)

Cache com Endereços Reais

• Problema de Desempenho!

– Colocar a Tabela de tradução em SRAM

• Qual o Tamanho da Tabela de Tradução?

– Endereço Virtual: 32 bits

Paulo André Castro CES-25 IEC - ITA

– Endereço Virtual: 32 bits – Endereço Real: 32 bits – Bloco: 4KB

– Memória virtual: 4GB

– Tamanho da Tabela de Páginas > 5 MB

(62)

Hierarquia de Memória com MV

(63)

O funcionamento da MV

(64)

Quatro perguntas sobre Funcionamento da

Memória Virtual (...Cache)

• P1: Onde um bloco pode ser inserido no

nível superior (posicionamento do bloco) ?

• P2: Como um bloco é encontrado se está

no nível superior da hierarquia ?

Paulo André Castro CES-25 IEC - ITA

no nível superior da hierarquia ?

• P3: Que bloco deve ser substituído ao

ocorrer uma falha (substituição do bloco) ?

• P4: O que acontece em uma gravação

(65)

Translation Look-aside Buffer (TLB)

Paulo André Castro CES-25 IEC - ITA

• TLBs são caches, tipicamente são completamente associativas para melhorar a taxa de sucesso

• Entre o disco e a memória principal, o esquema de atualização é sempre write-back!

• Associa-se ao sistema de memória Virtual, proteção de acesso (leitura, escrita, código, etc.)

(66)

Fragmentação e Realocação

(67)

Selecionando o Tamanho de Página

• Razões para páginas maiores

– O tamanho da Tabela de Páginas é inversamente proporcional ao tamanho da página, logo economiza-se memória.

– Transferir páginas maiores para ou do armazenamento secundário é eficiente

– Páginas maiores mapeiam mais memória logo tendem a reduzir as falhas no TLB

• Razões para páginas menores

– Não desperdiçar espaço, os dados devem ser contínuos dentro de

Paulo André Castro CES-25 IEC - ITA

– Não desperdiçar espaço, os dados devem ser contínuos dentro de uma página

– Processos pequenos tendem a ser mais rápidos?

• Soluções Híbridas: múltiplos tamanhos de páginas

– Alpha: 8KB, 64KB, 512 KB, 4 MB pages

(68)

Segmentação

• A segmentação, isto é, páginas de tamanho variável é usada por exemplo na arquitetura x86

• Os segmentos são alocados por cada programa e por terem tamanhos diferentes cada um deve ter campo identificando seu tamanho real.

• A unidade de transferência entre disco e memória física

Paulo André Castro CES-25 IEC - ITA

• A unidade de transferência entre disco e memória física (principal) é o segmento. Por isso, duas trocas podem ter tamanhos diferentes

(69)

Resumo

• Memória Virtual: introduzida inicialmente para

permitir a execução de programas que

precisavam de muita memória

• Hoje: MV é importante para proteção de

memória e permite que os programas usem

endereços falsos.

Paulo André Castro CES-25 IEC - ITA

memória e permite que os programas usem

endereços falsos.

• TLB são cache para a tabela de página e são

importantes para obter desempenho para a

máquina

• Caches tipicamente trabalham com endereços

físicos

(70)

Juntando Tudo: Intel Core i7

(71)

Core i7

(72)

Core i7

Sistema de

Memória

-Core i7

Referências

Documentos relacionados

Como o tratamento para a pressão arterial é sempre a longo prazo, fale com o seu médico antes de parar de tomar este medicamento. Caso ainda tenha dúvidas sobre a utilização

Contribuindo nomeadamente na elaboração e aplicação de inquéritos de avaliação da ingestão e da satisfação alimentar hospitalar para aplicação aos utentes

Os fanclipes e os inúmeros videoclipes feitos pelos fãs (recombinando imagens, ressignificando sonoridades) parecem ser a premissa para a criação neste período amplamente

A comissão do leiloeiro correspondente a 5% (cinco por cento), sobre o valor do arremate, a qual não está incluída no valor do lance, deverá ser paga em até 24 (vinte e

Estivo relacionado dende moi novo co movemento nacionalista; e a comezos dos anos 30 afiliouse ás Xuventudes Galeguistas para iniciar unha actividade política

Além disso, conta com uma sequencia de cinco grandes represas (Foz do Areia, Salto Segredo, Salto Santiago, Salto Osório e Salto Caxias) que juntos somam 515 km 2 de

Quando gravar na memória incorporada, pode escolher entre utilizar apenas o cartão de memória X para reencaminhar a gravação (f94), ou utilizar ambos os cartões de memória

[r]