Arquitetura de Computadores
2013.1
Subsistemas de Memória
(CAP. 5 ou 4)
Faculdade Lourenço Filho
REDES DE COMPUTADORES
Prof. Antonio Filho
TÓPICOS
 MEMÓRIA
 HIERARQUIA DE MEMÓRIA
 REGISTRADORES
 MEMÓRIA CACHE
 MEMÓRIA PRINCIPAL
 ESTRUTURA DA MEMÓRIA PRINCIPAL
 CÉLULA
 CAPACIDADE DA MEMÓRIA PRINCIPAL
 MEMÓRIAS AUXILIARES
 EXERCÍCIOS
MEMÓRIA
 O que são memórias?
É um componente de um sistema de computação
cuja a função é armazenar as informações que
são (ou serão) manipuladas por esse sistema, para
que elas (informações) possam ser prontamente
recuperadas, quando necessário.
MEMÓRIA
 Tecnologias
As primeiras tecnologias utilizadas em memórias foram as
memórias de núcleos magnéticos, hoje apenas uma
curiosidade. As memórias modernas são compostas por
circuitos semicondutores, com novas tecnologias sendo
criadas a cada ano permitindo que grandes quantidades de
células de memória sejam encapsuladas em pequenas
pastilhas.
HIERARQUIA DE MEMÓRIA
A memória principal – MP, não é o único dispositivo de
armazenamento de um computador. Em função de
características como tempo de acesso, capacidade de
armazenamento, custo, etc., podemos estabelecer uma
hierarquia de dispositivos de armazenamento em
computadores.
HIERARQUIA DE MEMÓRIA
HIERARQUIA DE MEMÓRIA
A UCP (unidade central de processamento) vê nesta ordem e acessa
primeiro a que está mais próxima. Subindo na hierarquia, quanto
mais próximo da UCP, maior velocidade, maior custo, porém
menor capacidade de armazenamento.
CAPACIDADE
VELOCIDADE
Tipo
Capacidade
Velocidade
Custo
Localização
Volatilidade
Registrador
KBytes
muito alta
muito alto
UCP
Volátil
Memória Cache
Mbytes
alta
alto
UCP/placa
Volátil
Memória Principal
Gbytes
média
médio
Placa
Volátil
Memória Auxiliar
Tbytes
baixa
baixo
Externa
Não Volátil
REGISTRADORES
 Registradores
são dispositivos de armazenamento
temporário, localizados na UCP, extremamente rápidos,
com capacidade para apenas um dado (uma palavra).
 Devido a sua tecnologia de construção e por estar
localizado como parte da própria pastilha ("chip") da UCP,
é muito caro.
REGISTRADORES -características
 Tempo de acesso – Possuem o menor tempo de acesso de
memória do sistema. 1 a 5ns
 Capacidade – armazena um único dado, uma única
instrução ou único endereço ( de 8 a 64 bits cada)
 É um dispositivo volátil
 Devido sua tecnologia avançada encontra-se no topo dos
custos.
MEMÓRIA CACHE
 Com o desenvolvimento da tecnologia de construção da UCP,
as velocidades foram ficando muito mais altas que as das
memórias, que não tiveram a mesma evolução de velocidade.
 Desta forma, os tempos de acesso às memórias foram ficando
insatisfatórios, e a UCP ao buscar um dado na memória
precisa ficar esperando muitos ciclos até que a memória
retorne o dado buscado ("wait states"), configurando um
gargalo ("bottleneck") ao desempenho do sistema
Níveis da Cache
Por esse motivo, desenvolveram-se outras arquiteturas de
memória privilegiando a velocidade de acesso “As
Memórias Cache”.
Cache de nível 1 (L1)
– Geralmente é dividida para instruções e dados
– Fica localizada no mesmo chip do processador
– Tamanho variando entre: 16 kB à 64 kB
Cache de nível 2 (L2)
– “Fica num chip separado do processador”, mas no mesmo
encapsulamento
– Tamanho variando entre: 64 kB à 2 MB
Cache de nível 3 (L3)
– Fica localizada na placa mãe (em alguns computadores)
– Contém alguns MBytes
– Construída com tecnologia SRAM
MEMÓRIA CACHE
 A arquitetura da memória cache é muito diferente
da arquitetura da memória principal e o acesso a
ela é muitas vezes mais rápido
 (Por exemplo: 5 ns contra 70 ns).
MEMÓRIA CACHE
 No entanto
 O custo de fabricação da memória cache é muito maior que
o da memória principal - MP.
 Não é econômico construir um computador somente com
tecnologia de memória cache.
 Criou-se então um artifício, incorporando-se ao computador
uma pequena porção de memória cache, localizada entre a
UCP e a MP.
Memória Cache - Tecnologia
SRAM: memórias estáticas
– Construída com Flip-flop´s tipo D
– Muito rápida, mas ocupa mais espaço no chip do que
a memória DRAM :
DRAM: memórias dinâmicas
– Valor é armazenado como uma carga de capacitor –
“bateria”
(deve ser refrescada)
– Ocupa pouco espaço porém é mais lenta do que a
memória SRAM
MEMÓRIA CACHE
 Quando a UCP busca um determinado dado e o encontra
na cache, dá-se um "cache hit" .
 Enquanto se o dado não estiver presente na cache será
necessário requisitar o mesmo à MP, acarretando atraso no
processamento e dá-se um "cache miss - falta" ou "cache
fault – perder tempo".
O índice de cache hit ou taxa de acerto da cache é geralmente
acima de 99%.
MEMÓRIA CACHE
Os processadores atuais usam controladores de cache bastante avançados,
o que permite que os caches trabalhem com percentagens de acerto
surpreendentemente boas considerando o tamanho..
MEMÓRIA CACHE
 A memória cache é formada por células de memória SRAM, que são
tipicamente formadas por conjuntos de 6 transistores, onde 4 deles
formam a estrutura que mantém o dado gravados e os outros dois
controlam o acesso os valores de tensão.
 Se você pudesse olhar um chip de memória SRAM com um
microscópio de elétrons, veria uma estrutura similar a essa:
mais caras: necessários 6
transistores para cada bit de
dados e mais um grande
número de trilhas e circuitos
adicionais
MEMÓRIA CACHE
 Esta é uma foto do núcleo de um Pentium III com seus 256 KB de cache L2
integrado, que são representados pelos 16 retângulos na parte inferior do
processador. Você pode notar que o cache L2 ocupa uma área significativa do
núcleo do processador, o que explica o fato de serem usados apenas 256 KB
Bom Exemplo – core i7 - 975
Core i7 , que usa 64 KB de
cache L1 e 256 KB de cache L2
por núcleo e usa um grande
cache L3 de 8 MB compartilhado
entre todos. Dentro do
processador, ele corresponde à
área sombreada.
core i7 – 980X
Com 12M de cache L3 e quatro núcleos
virtuais a mais, é de se esperar um ganho de
desempenho significativo.
MEMÓRIA PRINCIPAL
 Memória Principal é a parte do computador onde
programas e dados são armazenados para processamento.
 A informação permanece na memória principal apenas
enquanto for necessário para seu emprego pela UCP, sendo
então a área de MP ocupada pela informação pode ser
liberada para ser posteriormente sobregravada por outra
informação.
 Quem controla a utilização da memória principal é o
Sistema Operacional.
MEMÓRIA PRINCIPAL
 Tempo de acesso – Possue velocidade de transferência
abaixo das memórias cache Atualmente possuem tempos
de acesso entre 15 e 70ns.
 Capacidade – embora ainda oscilem na casa de MEGA, há
no mercado MP da ordem de GBytes.
 É um dispositivo volátil de baixo custo.
ESTRUTURA DA MEMÓRIA PRINCIPAL
 A memória precisa ter uma organização que permita ao
computador guardar e recuperar informações quando
necessário.
 Não teria nenhum sentido armazenar informações que não
fosse possível recuperar depois.
ESTRUTURA DA MEMÓRIA PRINCIPAL
 Portanto, não basta transferir informações para a
memória. É preciso ter como encontrar essa informação
mais tarde, quando ela for necessária, e para isso é
preciso haver um mecanismo que registre exatamente
onde a informação foi armazenada.
CÉLULA
 Célula - é a unidade de armazenamento da MP do
computador. A memória principal é organizada em células.
Célula é a menor unidade da memória que pode ser
endereçada
 As memórias são compostas de um determinado número
de células ou posições. Cada célula é composta de um
determinado número de bits. Todas as células de um dado
computador tem o mesmo tamanho, isto é, todas as células
daquele computador terão o mesmo número de bits.
CÉLULA
 Cada célula é identificada por um endereço único, pela
qual é referenciada pelo sistema e pelos programas.
 As células são numeradas seqüencialmente, uma a uma, de
0 a (N-1), chamado o endereço da célula. (N é um inteiro
positivo
 Endereço é o localizador da célula, que permite identificar
univocamente uma célula. Assim, cada célula pode ser
identificada pelo seu endereço.
CÉLULA
 A estrutura da memória principal é um problema do projeto de
hardware:
- mais endereços com células menores ou
-menos endereços com células maiores?
O tamanho mais comum de célula era 8 bits (1 byte); hoje já são
comuns células contendo vários bytes.
Número de bits para representar um endereço
Expressão geral: MP com endereços de 0 a (N-1)
N = 2x logo:
x = log2 N
sendo x = nº de bits para representar um endereço e
N o número de endereços
CAPACIDADE DA MEMÓRIA PRINCIPAL
 A memória principal RAM é um conjunto de N
células, cada uma armazena um valor com M bits.
Então, a quantidade de endereços contida no espaço
endereçável da RAM é também igual a N, visto que
cada conteúdo da célula está associado com um
número que o seu endereço.
 O valor N – Representa a quantidade de endereços da
memória
 O valor M – Indica a quantidades de bits que pode ser
armazenado em cada célula. Logo temos 2M
combinações possíveis
CAPACIDADE DA MEMÓRIA PRINCIPAL
T = N x M – capacidade da memória
CAPACIDADE DA MEMÓRIA PRINCIPAL
 A MP tendo endereços e sendo x =quantidades de
bits dos números que representa cada um dos N
endereços então:
N=2X
Por ex.: se N=512, então 512=2X e x = 910 = 10012
O total de bits que podem ser armazenados na MP é
denominado T, sendo:
T=N x M
CAPACIDADE DA MEMÓRIA PRINCIPAL
 A capacidade da MP em bits é igual ao produto do
nº de células pelo total de bits por célula.
T = N x M;
T = capacidade da memória em bits;
N = nº de endereços ( como vimos anteriormente);
N=2x sendo x = nº de bits do endereço;
M = nº de bits de cada célula;
CAPACIDADE DA MEMÓRIA PRINCIPAL
 Para encontrar a capacidade em bytes, basta encontrar a
capacidade em bits e depois dividir por 8 (cada byte
contém 8 bits) ou então converter o tamanho da célula
para bytes e depois multiplicar pelo número de células.
 O último endereço na memória é o endereço N-1 ( os
endereços começam em zero e vão até N-1).
Exemplo
 Uma memória RAM(MP) tem um espaço máximo de
endereçamento 2K. Cada célula pode armazenar 16bits.
Qual o valor total de bits que pode ser armazenado nessa
memória e qual tamanho de cada endereço.
Se o espaço máximo de endereços é 2K, então:
N=2K, 1 célula = 16bits então M=16, Logo temos.
N=2x : N = 2K = 2*1024 = 21*210 = 211: x=11bits
A capacidade (valor total de bits)
T = N*M = 211*16 = 211*24 = 215
1K=210 logo T = 25*210 = 32Kbits
MEMÓRIA - EXERCÍCIOS
1) Numa MP com 1kbyte de capacidade, onde cada célula tem 8
bits:
a) quantas células tem a MP?
b) quantos bits são necessários para representar um endereço de
memória?
2) Um computador endereça 1k células de 16 bits cada uma.
Pede-se:
a) sua capacidade de memória;
b) o maior endereço que o computador pode endereçar;
3) A memória de um computador tem capacidade de armazenar
256 bits cada célula pode armazenar 16 bits. Pede-se:
a) Qual o número de endereço?
b) Qual o tamanho de cada endereço?
MEMÓRIA - EXERCÍCIOS
04) Uma memória RAM (MP) é fabricada com a
possibilidade de armazenar um máximo de 256Kbits.Cada
célula pode armazenar 8bits. Qual o tamanho de cada
endereço e qual total de células que podem ser utilizadas
naquela RAM?
MEMÓRIA - EXERCÍCIOS
4) Calcular e completar os campos
M - Tamanho da
célula
x - nº de bits do
endereço
N - nº de
endereços
8 bits
1 K endereços
4 bits
256 bits
4 Gbytes
1 Mbyte
64 bits
0 a (N-1) - Faixa
de endereços
1 K byte
16 bits
4 bytes
T - Capac. da
memória
0 a 65.535
0 a 262.143
FUNCIONAMENTO DA MEMÓRIA PRINCIPAL
 Toda memória, seja Secundária ou Principal, “pode”
permiti a realização de dois tipos de operações: escrita e
leitura.
 Entende-se por leitura a recuperação da informação
armazenada e a escrita é a gravação (ou armazenamento)
da informação na memória.
 No caso da Memória Principal (MP), essas operações são
realizadas pela UCP e efetuada por células, não sendo
possível trabalhar com parte dela.
FUNCIONAMENTO DA MEMÓRIA PRINCIPAL
 A leitura não é uma operação destrutiva, pois ela
consiste em copiar a informação contida em uma
célula da MP para a UCP, através de um comando
desta.
 Pelo contrário a escrita é uma operação destrutiva,
por que toda vez que se grava uma informação em
uma célula da MP, o seu contudo anterior de
eliminado.
OPERAÇÕES DE I/O NA MEMÓRIA
A ligação entre MP e UCP é realizada através de dois
registradores: o REM (Registrador de endereço de memória)
e o RDM (Registrador de dados de memória) e suas
respectivas vias. É “feito apenas um acesso por vez”
Operação de escrita
A UC unidade de controle da UCP
envia para o REM o endereço da
memória onde o dado será gravado,
e coloca o sinal de escrita no
barramento de controle para indicar
ao circuitos de controle da MP o que
fazer em seguida
A UCP através do barramento de dados envia os dados
para o RDM, então a informação desejada é gravada para a
Memória Principal que é o destinatário final
Operação de escrita
 A realização completa desse processo gasta um
certo tempo (tempo de acesso), mas não garante
que a MP possa realizar em seguida uma nova
operação.
 Esta pronta ou não pra realizar uma nova operação
depende do tipo de RAM
 Memórias Estáticas (SRAM) – Permitem,
 Memórias Dinâmicas (DRAM) – Não permitem
Operação de leitura
 A realização de uma operação de leitura segue
procedimento semelhante ao da operação de
escrita, exceto é claro pelo sentido da cópia que é
inverso.
Operação de leitura
 A UCP armazena no REM o endereço da posição, onde a informação a
ser lida está localizada.
 A UCP comanda uma leitura (sinal de controle para memória -
READ).
 O conteúdo (palavra) da posição identificada pelo endereço contido no
REM é, então, transferido para o RDM; deste, é enviado para a UCP,
pela barra de dados.
Operação de leitura
 Conforme já foi explicado para a operação de
escrita, a realização dos processo à efetivação de
uma operação de leitura gasta um tempo de acesso
e a MP pode ou não está preparada para realizar
uma nova operação.
ERROS
 Em
sistemas de transmissão de informação a
distância (telecomunicações) há sempre a
possibilidade de ocorrerem deformação ou até
mesmo destruição de parte da informação
transmitida. Isso ocorre devido a interferência no
meio transmitido
ERROS
 A MP (ou qualquer outro tipo de memória) utiliza
de um meio de transmissão (barramentos de
dado) para o trânsito de informação. Esse trânsito
sofre interferência que pode alterar o valor de 1 ou
mais bits (de 0 para 1 ou de 1 para 0) ou até
mesmo destruí-lo
É importante sabermos que os atuais sistemas de
memórias possuem mecanismo capazes de detectar e
corrigir tais erros
ERROS
Grupo de Mbits que
serão gravados na MP
sofrem um
processamento
específico em um
dispositivo próprio de
detecção de erros
Esse processamento é realizado segundo as etapas de um algoritmo A e
produz como resultado um conjunto de K bits. Serão gravados nas células da
MP, M+K1bits e não apenas M bits de informação
ERROS
 No processo de leitura (recuperar um dado) o sistema de
detecção é acionado, o mesmo algoritmo A é executado
sobre os M+K1bits, obtendo um novo conjunto k2 bits
ERROS
 Os k1bits armazenados são comparados com k2bits
obtendo-se
 1 – Ambos os conjuntos de K tem o mesmo valor
ausência de erros, logo M bits são transmitidos
 2 – Os conjuntos são diferentes conclui-se
existência de erros no bloco de M bits
ERROS
 O processo de correção de erros, denominado comumente
ECC ( código de correção de erro), baseia-se no código
utilizado para construir os K bits adicionais de cada célula
da MP.
 Eles podem detectar a ocorrência de erro em 1 ou mais bits
e corrigir o errado. Ou seja se for detectada a ocorrência de
erro em 1 bit é fácil corrigir pelo código; porém se forem
detectados mais bits errados O ECC somente indica que há
erro sem poder identificar os bits errados
TIPOS DE MEMÓRIA
 Memória RAM– É um tipo de memória essencial para o
computador, sendo usada para guardar dados e instruções
de um programa. Tem como características fundamentais,
a volatilidade, ou seja, o seu conteúdo é perdido quando o
computador é desligado; o acesso aleatório aos dados e o
suporte à leitura e gravação de dados, sendo o processo de
gravação um processo destrutivo e a leitura um processo
não destrutivo. Existem dois tipos básicos de memória
RAM, RAM Dinâmica e RAM Estática.
TIPOS DE MEMÓRIA
 Dinâmica - Esta é uma memória baseada na tecnologia de capacitores
e requer a atualização periódica do conteúdo de cada célula do chip
consumindo assim pequenas quantidades de energia, no entanto possui
um acesso lento aos dados. Uma importante vantagem é a grande
capacidade de armazenamento oferecida por este tipo de tecnologia.
 Estática - É uma memória baseada na tecnologia de transistores e não
requer atualização dos dados. Consome mais energia (o que gera mais
calor) comparando-se com a memória dinâmica sendo
significativamente mais rápida. É freqüentemente usada em
computadores rápidos. Possui uma capacidade de armazenamento bem
menor que a memória dinâmica.
TIPOS DE MEMÓRIA
 Memória ROM- É um tipo de memória que
contém instruções imutáveis, nela estão
localizadas rotinas que inicializam o computador
quando este é ligado; É não-volátil, ou seja, os
dados não são perdidos com a ausência de energia;
É também de acesso aleatório. Alguns dos tipos de
memória ROM são: EPROM e EEPROM.
TIPOS DE MEMÓRIA
 EPROM- É um tipo de ROM especial que pode
ser programada pelo usuário. Seu conteúdo pode
ser apagado pela exposição a raios ultravioletas.
 EEPROM- É também um tipo especial de ROM
muito semelhante á EPROM, tendo como
diferença apenas o fato de que seu conteúdo é
apagado aplicando-se uma voltagem específica em
um dos seus pinos de entrada.
Fim de aula
Download

Subsistema de Memória