You are on page 1of 6

Memria

Em um sistema de computao temos a UCP se comunicando com a memria e os


dispositivos de E/S.
Podemos fazer um paralelo do acesso memria com um carteiro entregando cartas ou
um acesso biblioteca.

Duas aes bsicas podem ser executadas:

armazenamento (escrita ou gravao (write))


recuperao (leitura (read))

Em sistemas de computao a unidade bsica o bit que pode ter 2 valores (0 ou 1).
Mas precisamos de mais valores para representar informao: nmeros, letras do
alfabeto, smbolos.
Para isso, os bits so agrupados em grupos de bits que so armazenados na memria e
so acessados sempre em grupo.
Para acessar um grupo de bits, utiliza-se um endereo que varia de 0 a (N-1) onde N o
nmero total de grupos existentes.

Exemplo: Ler o endereo 0


Escrever no endereo 4 o grupo 0101
|--------------|
end 0 | M bits |
|--------------|
end 1 | M bits |
|--------------|
end 2 | M bits |
|--------------|
| . |
|--------------|
end N-1 |bm-1|bm-2|...|b0|
|--------------|

Operao de escrita

Escreve no endereo 4

UCP Memria
|-------------| |--------------|
| | end 0 | |
| |------| | |--------------|
| | 1110 | | end 1 | 1000 |
| |------| | |--------------|
| | end 2 | 1100 |
|-------------| |--------------|
| end 3 | |
| |--------------|
| end 4 |0001 -> 1110 | (substitui o valor antigo
| |--------------| pelo novo valor)
| |
|------------------------|
Operao de leitura

L do endereo 1

UCP Memria
|-------------| |--------------|
| | end 0 | |
| |------| | |--------------|
| | 1110 | | end 1 | 1000 | (l o valor que est no end 1
| | | | | |--------------| no altera o valor)
| | 1000 | | end 2 | 1100 |
| |------| | |--------------|
|----------- | end 3 | |
| |--------------|
| end 4 | 1110 |
| |--------------|
| |
| |
|------------------------|

Memria

Dados e instrues so armazenados na memria, lidos e escritos pela UCP. a


UCP que manipula a memria, lendo ou escrevendo dados. Os dados trafegam
no barramento de dados.
Instrues so armazenadas de forma seqencial (mas podem no ser executadas
da mesma forma).
Memria organizada em grupos de bits chamados clulas, onde cada clula pode
ter de M bits.
Cada clula (ou grupo de bits) possui um endereo associado.
O grupo de bits transferido na leitura e na escrita entre a memria e a UCP se
chama palavra. O barramento de dados deve ser capaz de transportar uma
palavra.
O acesso (leitura e escrita) no depende do tamanho da clula mas do tamanho
da palavra. O tamanho da palavra a quantidade de bits transferida na leitura e
na escrita.
Organizao utilizada atualmente: cada clula possui 8 bits e o tamanho da
palavra varia entre 16, 32 e 64 bits, isto , possvel ler mais de uma clula por
vez.

Exemplo de organizao de memria: Memria com 1Kbytes=210=1024 bytes,


cada clula possui 8 bits.

|--------------|
end | |
|--------------|
end 257 | 2A | 0010 1010
|--------------|
end 258 | F1 |
|--------------|
| . |
|--------------|
end 1023| |
|--------------|
Organizao da Memria

Parmetros a serem definidos na organizao da memria

Quantidade de bits de uma clula: geralmente utiliza-se um byte = 8 bits

Exemplo de organizao de memria: Memria com 256 clulas = 28


e cada clula pode ter M = 12, 16 ou 8 bits (tamanho da clula)

|--------------|
end 0 | M bits |
|--------------|
end 1 | M bits |
|--------------|
end 2 | M bits |
|--------------|
| . |
|--------------|
end 255 | M bits |
|--------------|

Quantidade de clulas X endereamento


Endereo utilizado para enderear uma clula e formado por um grupo de
bits.
Podemos ter mquinas com mesmo tamanho de clula e quantidade diferente de
clulas.
Exemplo 1:
Memria com 8K clulas de 8 bits cada uma.
Qual a capacidade da memria? 23K x 8 bits
213 x 23 bits = 216 bits = 64 K bits
(se utilizarmos bytes como medida de capacidade) = 26 K / 23 = 23 K bytes

Exemplo 2:
Memria com 128K clulas = 27 clulas de 8 bits cada uma.
Qual a capacidade da memria? 128K x 1 = 128K bytes

Capacidade da memria T = N x M, onde N o nmero de clulas e M o nmero de bits


de cada clula.
Exemplo: N=1024 e M=4bits
T=1024*4 = 4096 bits = 210 x 4 bits = 4K bits = 512 bytes (4096 / 8)

1K=210=1024, 1M=220=1.048.576, 1G=230=1.073.741.824

Exemplo: Se cada clula da memria pode armazenar 8 bits e um int em C possui 4


bytes (i.e., 4 x 8 bits), ento cada acesso memria traz 4 clulas para a UCP (so
necessrias 4 clulas para armazenar um inteiro).

Se M (tamanho da clula) = 4 bits, quantos valores diferentes podemos ter


armazenados? 24 valores
Tamanho do endereo:
Cada endereo da memria obtido por E bits que representa o tamanho do endereo.
Ento, para armazenar N endereos no REM (registrador de endereos de memria)
gastamos E bits (ou linhas de endereo), logo N=2E.

Exemplo: Se o nmero total de clulas N=1024, quantas bits usamos para


endereamento?
1024 = 210, ento E=10. So necessrios 10 bits para armazenar (ou linhas de endereo)

Exemplos:
1. Espao de endereamento = 8K clulas e cada clula pode armazenar 8 bits.
Qual a capacidade da Memria e quantas linhas de endereo devem ser
utilizadas ? N = 8K = 23 x 210 = 213 e M = 23
(capacidade) T = N x M = 213 x 23=216=64K bits
(linhas de endereo) N = 2 13, logo teremos que ter 13 linhas para endereo

2. Uma memria pode armazenar no mximo 512K bits e cada clula possui 8 bits.
Qual o nmero mximo de clulas possveis e quantos bits devem ser
utilizados para enderear este nmero de clulas?
(clulas) T = N x M => N = T/M = 512 x 210/8 = 29x210/23 = 216 = 26x210=64K
clulas.
(Bits para endereamento) N = 64K = 216, logo precisaremos de 16 bits

3. Um computador possui capacidade mxima de armazenamento de 512K clulas,


cada uma de 16 bits.
a) Qual o nmero mnimo de bits que o barramento de endereos deve ter?
Se temos 512 K clulas=29x210=219, teremos 19 bits para o barramento de
endereos.

b) E qual o nmero mnimo de bits que o barramento de dados deve ter,


supondo que duas clulas so acessadas em cada operao de leitura/ou escrita?
Se em cada acesso memria, duas clulas so transferidas, ento o barramento
de dados deve ter o tamanho igual a 2 x o tamanho de cada clula: (2x16) 32
bits.

c) Qual o maior endereo da Memria e qual a capacidade da Memria?


O maior endereo da Memria N-1=219-1=524.287
Capacidade da Memria: T = NxM=219x16=223bits=220bytes=1M bytes

4. Suponha que uma mquina possui um barramento de dados de 64 bits e um


barramento de endereos de 24 bits. Sabe-se que em cada acesso so lidas duas
clulas da memria.
1. Qual a capacidade mxima de endereamento da mquina?
Se temos 24 bits para endereo, podemos enderear 224 clulas=16 M
clulas ou 16M endereos
2. Qual o tamanho de clula da mquina? Em cada acesso so lidas 2
clulas, e como o barramento de dados de 64 bits, temos que cada
clula possui 32 bits.
3. Qual a capacidade mxima de armazenamento da memria em bits ?
Capacidade = 32 x 16 M = 512 Mbits
Hierarquia de memria

Vrios tipos de memria:


Mais rpida, mais cara e menor capacidade
Mais lenta, mais barata e maior capacidade

custo mais alto /\


vel. alta / \ Registradores
baixa capacidade ------
/ \
/ \ Cache
------------
/ \
/ \ Memria principal
------------------
/ \
/ discos \ Memria secundria
maior capacidade /----------------------\
vel. baixa / CD-ROM \
custo baixo /--------------------------\

Parmetros de memria

Tempo de acesso: tempo decorrido entre o pedido de dado memria (endereo)


e a disponibilizao do dado pela memria.
Ex: RAM (Random Access Memory) neste tipo de memria o tempo
independe da posio do dado, ento possvel escolher o endereo
aleatoriamente (random)
Disco e CD-ROM o tempo depende da posio do dado ento o endereo
seqencial.
Capacidade: medida em bytes (8 bits)
1K=210, 1M=220, 1G=230, 1T=240
Volatilidade: diz respeito capacidade de manter dados sem energia eltrica
o Memria voltil: no consegue manter os dados sem energia eltrica
Tecnologia: semicondutores, magnticos, ticos

Registradores

Unidade de memria que fica dentro da UCP e que armazena dados e instrues.
Exemplos: registrador de instruo, registrador de dados

Tempo de acesso: tecnologia igual a UCP, muito rpido. Um ciclo de mquina,


1GHZ, 1ns
Capacidade: 1 nico dado ou instruo, endereo, por registrador (pouca
capacidade.)
Exemplo: Intel: 10 registradores de 32 bits
MIPS (Silicon Graphics): 32 registradores de 32 bits
Volteis e caros
Memria principal

Memria utilizada para armazenar o programa a ser executado. A UCP acessa a


memria para ler as instrues que sero executadas e os dados que ir manipular.

Tempo de acesso: grande, pode variar de 50 a 150 ns.


Capacidade: bem grande: 64 MB, 128 MB, 256 MB, 1GB
Volteis e baratas
Tecnologia DRAM (Dynamic RAM)

RAM dinmica x RAM esttica: RAM esttica a informao permanece armazena


enquanto tiver informao e a RAM dinmica a informao precisa ser restabelecida
de tempos em tempos.

Memria Cache

O ciclo de instruo composto do ciclo de memria mais o ciclo de execuo, isto ,


necessrio buscar os dados na memria e depois executar a instruo.

A tecnologia possibilitou um aumento de velocidade muito maior para UCP (onde os


dados so executados) do que para memria principal (de onde os dados so lidos),
causando um gargalo.

Soluo: colocar uma memria intermediria conhecida como cache. A cach tem uma
velocidade maior que a memria principal porm mais cara.
A cach pode estar tipicamente em dois nveis:
Nvel L1: dentro do processador.
Nvel L2: fora do processador na placa me

Tempo de acesso: menor que memria principal, maior que registradores, 10ns.
Capacidade: se muito grande, muito cara. Se muito pouca, baixo desempenho
pois tem que ficar buscando na memria principal toda a informao.
Valores tpicos: 16K para L1 e 64K a 2MB para L2.
Volteis e caras
Tecnologia SRAM (Static RAM)

Memria secundria

Memria que permite o armazenamento permanente de dados e instrues.


Pode ser constituda de vrios dispositivos: discos rgidos, disquetes, fitas, CD-ROMs.

Tempo de acesso: dispositivos eletromecnicos possuem tempo maior que


dispositivos semicondutores.
Discos rgidos: 8 a 15ms
CD-ROMs: 120 a 300ms
Fitas: ordem de segundos
Capacidade: bem maior que a memria principal: 100GBytes, 1 Terabyte
NO Volteis e mais baratas
Magntico e tico

You might also like