Hierarquia de Memória
Arquitetura de Computadores
Aula 4 – Memória
23/08/2012
Bruno Iran Ferreira Maciel
Mestrando em Ciências da Computação – Cin/UFPE
Revisão da aula passada
Memória secundária (memória de massa)

Não é acessada diretamente pela CPU
 acesso é feito através de interfaces ou controladoras especiais

Memória do tipo permanente
 não se apaga quando o computador está desligado
 para armazenamento de programas e dados por um longo
período


Tem alta capacidade de armazenamento
Custo muito mais baixo que o da memória principal
 1GB de RAM custa cerca de R$ 90,00
 disco rígido de 500 GB custa cerca de R$ 300
Revisão da aula passada
Não é formada por chips


Formada por dispositivos que utilizam
outras tecnologias de armazenamento
Exemplos de memória secundária
 disco rígido, disquetes, CD-ROM e fita
magnética
Revisão da aula passada
Aula de hoje
Hoje vamos ver
Memória principal e cache
Memória principal
Memória principal
Definição: “Parte do computador onde programas e dados são
armazenados”.
Bit (Binary Digit): Unidade básica de memória. 1 Bit pode
armazenar os valores 0 ou 1.
É possível realizar duas operações em uma MP: escrita e leitura.
Memória principal
Endereços de memória




Memórias são organizadas em células
Cada célula possui um número associado: endereço
Programas referenciam uma célula a partir deste endereço
Se uma memória possui n células, tais células possuirão os
endereços 0 à n – 1.
Memória principal
Endereços de memória

Todas as células de uma memória
possuem o mesmo número de bits.
Memória principal
Endereços de memória


A quantidade de bits de endereçamento está
relacionado com o número de células e não com o
tamanho das mesmas
Três organizações possíveis para uma memória de
96 bits:
 12 palavras de 8 bits → 4 bits de endereçamento
 8 palavras de 12 bits → 3 bits de endereçamento
 6 palavras de 16 bits → 3 bits de endereçamento
Memória principal
Memória principal
Endereços de memória


Células adjacentes tem endereços consecutivos
Computadores que utilizam sistemas de
numeração binária expressam endereços de
memória como número binário
Memória principal
Capacidade


As memórias são organizadas em conjunto de
células, cada uma podendo armazenar uma
quantidade de bits: instruções ou dados.
Capacidade de memória é a quantidade de
informações que nela podem ser armazenadas em
um instante de tempo. A unidade básica de
representação de informação é o bit.
Memória principal
Memória principal
A quantidade de bits que pode ser
armazenada em cada célula (valor M da
figura anterior) é um requisito definido pelo
fabricante.
A quantidade de bits do número que
representa um determinado endereço, define
a quantidade máxima de endereços que uma
MP pode ter, bem como o seu espaço de
endereçamento.
Memória principal
Capacidade
 Conjunto de 8 bits → byte
 Os bytes são agrupados em palavras
 Um computador com palavras de 32 bits tem 4
bytes/palavra
 64 bits implicam em 8 bytes/palavra

A maioria da instruções operam sobre
palavras
Memória principal
Endereços de memória




Uma memória com 212 células de 8 bits cada e uma
memória de 212 células de 64 bits cada, precisam de
endereços de 12 bits.
MP com endereços de 0 a (N – 1). X representa número de
linhas de endereço:
N = 2X
X=log2 N
Memória principal
Cálculos com a Capacidade de Memória
• Como 1 bit representa apenas um entre dois
valores (base binária), então podemos concluir que:

Pode-se armazenar em cada célula um valor entre 0 e (2M–
1), porém um de cada vez. São 2M combinações possíveis.
 Por exemplo, se M = 8 bits, temos 28= 256.
 Seriam armazenados valores entre:
 00000000 (010 ou 016) e 11111111 (25510 ou FF16).
Memória principal
Cálculos com a Capacidade de Memória
 A memória tem N endereços:
 N = 2E, sendo E = quantidade de bits dos números que
representam cada um dos N endereços.
 Por exemplo, se N=512 (512 células), então, 512 = 2E,
ou E=9, pois 29 =512
Memória principal
Cálculos com a Capacidade de Memória

O total de bits que podem ser armazenados na
referida memória é T, sendo:
 T = N x M ou T = 2Ex M
 Do exemplo anterior temos:
 N = 512 células, M = 8 bits, E = 9 bits, T = 4096 bits
 N = 2E ->512 = 29
 T = N x M = 2Ex M = 4096 bits = 4K bits
Memória principal
Exemplo 1
Uma memória RAM tem um espaço máximo de endereçamento
de 16K. Cada célula pode armazenar 16 bits. Qual o valor total
de bits que podem ser armazenados nesta memória e qual o
tamanho de cada endereço?






Se o espaço máximo endereçável é 2K, então N = 2K
1 célula = 16 bits. Então: M = 16 bits = 24 bits
N=2E, N=16K=21x1024=21x210=211
Se N=2E e 211,então: 2E=211 e E=11
E = quantidade de bits de cada número que expressa um endereçamento,
ou seja: os endereços de cada célula são números que têm 11 bits.
T= N x M=211x16=215=32Kbit
Memória principal
Exemplo 2
Uma memória RAM é fabricada com a possibilidade de
armazenar um máximo de 256kbits. Cada célula pode
armazenar 8 bits. Qual é o tamanho de cada endereço e qual é
o total de células que podem ser utilizadas na RAM?





Total de bits = T = 256K = 28x210= 218
1 célula=8bits=M=23
Sendo T=NxM ,então:N=T/M=218/23=215
Se N=2E,então:215=2E, E=15
N = 215= 25x210= 32k
Memória cache
Memória cache
Significado da palavra cache – Lugar seguro para
guardar (esconder coisas)
Considerando que a cache só pode ter parte dos
dados do nível mais abaixo, por causa do menor
tamanho, temos dois problemas:


Como identificar se o dado procurado está na cache e
Se ele estiver na cache, como acessá-lo de forma rápida
Memória cache
Memória cache
Memória cache
O processador não sabe que está sendo enganado e
gera um endereço para um espaço de
endereçamento que não necessariamente existe
fisicamente
Endereçar a cache com este endereço não faz
nenhum sentido (na maioria dos casos a cache nem
teria essa posição gerada por ser muito menor)
Uma varredura seqüencial também não é uma
solução aceitável, pelo tempo que levaria (não
esquecer que o objetivo é acelerar o acesso)
Memória cache
Problema: CPUs são mais rápidas que
memórias do sistema
CPUs devem esperar vários ciclos p/ que o
dado requerido seja carregado
Problema de custo e não de engenharia: é
possível construir memórias tão rápidas
quanto a CPU (Precisam ficar dentro do chip
da CPU). CUSTO MUITO ALTO
Organização da memória
Organização da memória
Perguntas
?
Exercício
Hoje tem exercício em aula e p/ entregar na próxima aula
Download

Hipertexto e Hipermídia