Aula 9 - Hierarquia de Memoria

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 28

Aula 6 – Hierarquia de

Memória

Msc. Graçane Muhate


1. Introdução
Em um computador, a memória contém instruções (código) e
dados, a memória desempenha um papel importante no
desempenho do computador e o registro é um tipo de
memória com pequena capacidade. Existem dois tipos de
memória usados em um computador, e eles são classificados
como memória semicondutora e disco rígido. A memória
semicondutora pode ser memória volátil ou não volátil. A
memória volátil perde seu conteúdo quando a energia é
removida dela, enquanto a memória não volátil manterá seu
conteúdo sem energia.
2
2. Memória Semicondutora
• Existem dois tipos de memória semicondutora: memória de acesso
aleatório (RAM) e memória somente leitura (ROM).
• Os dados da RAM podem ser lidos ou gravados na memória de acesso
aleatório (RAM). A RAM pode armazenar os dados enquanto a
energia for fornecida a ela e é chamada de memória volátil. A Figura 1
mostra um diagrama de blocos geral de RAM que consiste em um
barramento de dados, barramento de endereço e sinais de leitura /
gravação.
2. Memória Semicondutora
• O barramento de dados transporta dados de ou para a RAM. O
barramento de endereço é usado para selecionar um local de
memória. O sinal de leitura torna-se ativo ao ler dados da RAM e a
linha de gravação torna-se ativa ao gravar na RAM. Lembre-se de que
a RAM só pode conter informações quando tem energia.
2.1. Memória Semicondutora - Tipos de RAM
• Existem muitos tipos de RAM, como RAM dinâmica (DRAM), DRAM síncrona
(SDRAM), RAM EDO, DDR SDRAM, RDRAM e RAM estática (SRAM).

• Dynamic RAM (DRAM) é usado na memória principal. DRAM usa menos


componentes para fazer um bit; portanto, ele pode projetar circuito integrado de
DRAM (IC) com grande capacidade de 4 GB por IC;
• O capacitor de célula pode ser carregado com lógica UM ou ZERO, mas precisa ser
atualizado (recarregado) a cada 1 ms aproximadamente. A CPU não pode ler ou
gravar na memória enquanto a DRAM está sendo atualizada; isso torna a DRAM a
memória de execução mais lenta.
• DRAM síncrona (SDRAM): a tecnologia SDRAM usa DRAM e adiciona uma
interface especial para sincronização. Ele pode ser executado em velocidades de
clock muito maiores do que o DRAM. SDRAM usa dois bancos de memória
independentes. Enquanto um banco está recarregando, a CPU pode ler e gravar
no outro banco.
2.1. Memória Semicondutora - Tipos de RAM
• Extended Data Out RAM (EDORAM) transfere blocos de dados de ou para a memória.

• SDRAM de taxa de dados dupla (DDR SDRAM) é um tipo de SDRAM que transfere dados na
borda de subida e na borda de descida do clock. Ele pode mover dados duas vezes mais rápido do
que SDRM; portanto, a memória pode funcionar na taxa de ½ clock. DDR2 e DDR3 são um avanço
na tecnologia DDR e aumentam ainda mais o número de transferências de dados por ciclo de
clock. A RAM DDR2 fornece 4 transferências de dados por ciclo e a DDR3 transfere 8 dados por
ciclo de clock. Para taxa de clock de 100 MHz e barramento de dados de 64 bits, as taxas de
transferência para DDR são:
• DDR = 100 * 2 * 8 = 1600 MB / s (MB / s)
• DDR2 = 100 * 4 * 8 = 3200 MB / s
• DDR3 = 100 * 8 * 8 = 6400 MB / s

• Rambus DRAM (RDRAM) foi desenvolvido pela Rambus Corporation. Ele usa vários bancos de
DRAM com uma nova interface que permite aos bancos de DRAM transferir várias palavras e
também transferir dados na borda de subida e na borda de queda do clock. A atualização do
RDRAM é feita pela interface. A segunda geração de RDAM é chamada de DRDRAM (Direct
RDRAM) e pode transferir dados a uma taxa de 1,6 Gbps. A Figura 3 mostra um módulo RDRAM.
2.1. Memória Semicondutora - Tipos de RAM

Fig 2. Diagrama de bloco de SDRAM

Fig. 3 – Modulo de Memoria Rambus


2.1.1. Embalagem DRAM
• A DRAM vem em diferentes tipos de embalagens, como SIMMs
(módulo de memória em linha único) e DIMM (módulo de memória
em linha dupla).
• A Figura 4 mostra o SIMM, que é uma pequena placa de circuito em
que um lado da placa contém vários chips. Possui um barramento de
dados de 32 bits.
2.1.1. Embalagem DRAM
• DIMM é uma placa de circuito em que os dois lados da placa contêm
vários chips de memória, mas tem um barramento de dados de 64
bits.
• A RAM estática (SRAM) é usada na memória cache. A SRAM é quase
20 vezes mais rápida que a DRAM e também é muito mais cara. D Flip
Flop é um bit de RAM estática.
2.2. ROM (memória somente leitura)
• Como o próprio nome sugere, as informações podem estar disponíveis apenas na
memória somente leitura (ROM). A ROM mantém as informações permanentemente,
mesmo quando não há alimentação para a ROM; esse tipo de memória é denominado
memória não volátil. Dois tipos de ROM estão listados abaixo:
• Memória programável somente leitura apagável (EPROM): a EPROM pode ser apagada
com luz ultravioleta e reprogramada com um dispositivo denominado programador
EPROM. Flash ROM é um tipo de EEPROM.
• PROM apagável eletricamente (EEPROM): a EEPROM pode ser apagada aplicando
tensão específica a um de seus pinos e pode ser reprogramada com um programador
EPROM.
• Memória Flash: a memória flash é uma memória não volátil que possui uma ampla
variedade de aplicativos, como unidade flash, unidade de estado sólido, cartão de
memória e sistema integrado. A memória Flash é um tipo de EEPROM que permite que
vários locais de memória sejam gravados ou apagados em uma operação. Existem dois
tipos de uso de tecnologia para memória flash, e são memórias flash NAND e NOR;
• A memória flash NAND tem tempo de acesso menor do que a memória flash NOR; a
maioria das memórias flash usa a tecnologia NAND.
2.3. Tempo de acesso à memória

• Tempo de acesso à memória


• O tempo que a CPU coloca o endereço no barramento de endereço e
os dados aparecem no barramento de dados ou grava os dados na
memória. A Tabela 1 mostra o tempo de acesso para diferentes tipos
de memória.
3. Disco rígido
Fig. 5 – Arquitectura Interna de Disco Rígido

• A Figura 5 mostra a
arquitetura interna do disco
rígido feito de vários pratos, e
os pratos contêm as
informações; as funções dos
cabeçotes são ler ou gravar
informações da superfície do
disco. A superfície do prato é
feita de várias trilhas, e cada
trilha é dividida em setores,
conforme mostrado na Fig. 6.
3. Disco rígido
Figura 6 – Superficie do prato
3.1. Características do disco
• Tempo de acesso: o tempo que leva para iniciar a transferência de
dados, e é a soma do tempo de busca e do atraso rotacional.
• Tempo de busca: o tempo que leva o cabeçote a se mover para a
trilha adequada.
• Atraso Rotacional: o tempo que leva para um setor ser posicionado
sob a cabeça de leitura / gravação e depende da velocidade de
rotação. A velocidade de rotação representada por revoluções por
minuto (RPM) assume que o setor está longe da metade da frente da
pista; portanto, o atraso de rotação é calculado por:
3.1. Características do disco

Atraso rotacional = Tempo para meia revolução = 60s / RPM ∗ 2

Capacidade do disco: Capacidade de um disco calculada por

Capacidade do disco = Número de superfícies ∗ Número de trilha /


Superfície ∗ Número de setores / trilha ∗ Número de bytes / Setor
3.1. Características do disco - Cluster
Cada setor de um disco tem 512 bytes (B), e o cluster é feito de um ou
mais setores; se um cluster tiver 1 kB, ele é feito de dois setores. O
cluster de 2 kB é composto por 4 setores. A Tabela 7.3 mostra os
valores padrão do tamanho do cluster.
Exemplo 1: Uma unidade de disco tem 8 superfícies, cada superfície
tem 1024 trilhas, cada trilha tem 64 setores e cada setor pode conter
512 B e velocidade de rotação de 6000 RPM.
• (a) Qual é a capacidade do disco?
• (b) Qual é o atraso rotacional?
3.1. Características do disco - Cluster

• Capacidade do disco = 8 * 1024 * 64 * 512 = 268.435.456 B


• Atraso de rotação = 60/6000 * 2 = 0,005 s

• Sistema de arquivo de disco


• Um sistema de arquivos define a organização das informações
armazenadas no disco rígido; o Windows OS (sistema operacional) oferece
FAT16 (tabela de alocação de arquivos) e FAT32 que são usados para os
primeiros sistemas operacionais Windows; atualmente, a maioria dos
sistemas operacionais Windows usa NTFS (New Technology File System). O
NTFS oferece melhor segurança, como permissão para restringir o acesso e
criptografia.
4. Unidade de estado sólido (SSD)
• O disco rígido é um dispositivo lento e pode ser substituído por SSD.
O SSD é feito de memória flash NAND não volátil. A Figura 7 mostra a
arquitetura do SSD e a Tabela 3 compara o SSD com o HDD.
5. Hierarquia de Memória Fig 8: Hierarquia de memória

• Os computadores vêm com três tipos


de memória, que são organizados de
forma hierárquica, conforme mostrado
na Fig. 8:
5. Hierarquia de Memória

1. Memória cache: A memória cache é o tipo de memória mais rápida e


mais frequentemente usada dentro da CPU chamada cache L1, e é mais
rápida que a memória principal e, portanto, mais cara do que a memória
principal.
2. Memória principal: A memória principal usa DRAM e SDRAM. O
programa a ser executado passa da memória secundária (disco ou fita)
para a memória principal.
3. Memória secundária: a memória secundária se refere à memória, como
disco rígido, SSD e CD-ROM.
5.1. Memória cache
• Cada localização da memória cache é chamada de linha de cache, que
pode conter um bloco de dados da memória principal. Para a maioria
dos processadores, a memória cache está localizada dentro da CPU e
é chamada de cache L1; existem dois tipos de cache em uma CPU:
• 1. Cache de dados (D-cache): O cache de dados contém os dados e
pode ser lido ou gravado pela CPU.
• 2. Cache de instruções (I-Cache): O cache de instruções mantém as
instruções e a CPU só lê a partir do I-cache.
5.1.1. Terminologia de Cache
• Perda: quando a CPU acessa a cache e os dados não estão na cache, é chamado de perda
de cache;
• Acerto: quando a CPU acessa a cache e os dados estão na cache, é chamado de acerto
de cache
• Taxa de acertos: número de acertos / número de erros + número de acertos (número
total de leituras)
• Bloco: vários dos locais da memória principal são chamados de bloco
• Endereço físico: endereço gerado pela CPU para acessar a memória principal
• Endereço virtual: endereço gerado pela CPU para acessar a memória virtual ou memória
secundária
• Linha de cache ou bloco de cache: cada linha ou bloco pode conter vários bytes ou
palavras; o tamanho da linha de cache é o mesmo bloco na memória principal
• Localidade temporal: uma vez que um local de memória referenciado, então há uma
grande probabilidade de ser referenciado novamente em um futuro próximo
• Localidade espacial: quando um local da memória é acessado, é muito provável que os
locais próximos sejam acessados em breve.
5.1.2. Métodos de mapeamento de memória
cache
• A Figura 9 mostra um cache com 4 locais e memória principal com 8 locais
de memória, e o cache pode conter apenas 4 locais de memória da
memória principal; A CPU primeiro acessa a cache se os dados não
estiverem na cache e então acessa a memória principal e move um bloco
de dados para a cache; a questão é onde os dados serão armazenados na
cache; isso traz o assunto dos métodos de mapeamento.
• Os métodos de mapeamento são usados para mapear um bloco de
memória principal na linha de cache (bloco de cache), e a seguir estão os
tipos de métodos usados para mapeamento:
1. Mapeamento direto
2. Mapeamento associativo
3. Set associative (Associativo de definição)
Exercícios
1. Faça a distinção entre memória volátil e não volátil.
2. O que significa RAM?
3. Liste três tipos diferentes de RAM.
4. Quais dos seguintes tipos de memória são usados para a memória principal?
(a) ROM e SDRAM
(b) SRAM e DRAM
(c) SDRAM e DRAM
(d) DRAM e EPROM
5. _________ mantém as informações permanentemente, mesmo quando não há energia.
(a) ROM
(b) DRAM
(c) RAM
(d) SRAM
6. O que significa ROM?
Exercícios
7. A memória flash é um tipo de RAM ou ROM?
8. Qual é a diferença entre EEPROM e EPROM?
9. Qual é a capacidade de uma memória com 10 linhas de endereço e
mantém um byte por local de memória?
10. Qual é a principal aplicação da SRAM?
11. Qual é a principal aplicação da DRAM?
12. Defina os seguintes termos:
(a) Trilha
(b) Setor
(c) Cluster
Exercícios
13. Um disco rígido consiste em 4 superfícies, cada superfície consiste em 80 trilhas e cada
trilha consiste em 32 setores. Cada setor contém 512 B. Qual é a capacidade deste disco?
14. Qual é a função da tabela de alocação de arquivos (FAT)?
15. Liste os tipos de memória em um computador, do mais rápido ao mais lento.
16. Quais são os tipos de cache?
17. Que tipo de memória é usada para a memória cache?
18. O que é memória virtual?
19. Faça a distinção entre um endereço virtual e um endereço físico.
20. O endereço físico determina o tamanho do
(a) Memória virtual
(b) Memória física
(c) Memória cache
21. Mostre o formato de um endereço virtual.
Exercícios
22. O que é taxa de acerto?
23. Explique a localidade temporal.
24. Explique a localidade espacial.
25. Liste os métodos de mapeamento de cache.
26. Mostra o formato do endereço visto pelo cache para mapeamento direto.
27. Liste os métodos de mapeamento de cache.
28. Mostra o formato do endereço visto pelo cache para o mapeamento associativo do conjunto.
29. Qual é a função de um número de página em um endereço virtual?
30. Quantos bits é o deslocamento da página se cada página contém 8 kB?
31. Qual é a função da tabela de páginas?
32. Quais informações são armazenadas no TLB? Onde o TLB está armazenado?
33. Listar métodos de mapeamento de cache.
34. Qual é a vantagem de definir mapeamento associativo versus direto de caches?
35. Quais são as três políticas de gravação usadas para memória?
36. __________ é o tipo de memória mais rápido.
(a) Memória cache
(b) Memória principal
(c) Memória secundária
(d) Disco rígido

Você também pode gostar