Você está na página 1de 9

http://www.inf.ufes.br/~rgomes/sp1.

htm

Hierarquia de Memria
Organizao de Computadores

(1)

Velocidade e custo

(Aula 4)
Capacidade de
armazenamento

Memria

Flash memory
Magnetic disk

Roberta Lima Gomes - LPRM/DI/UFES


Sistemas de Programao I Eng. Eltrica
2007/2
Agradecimentos: Camilo Calvi - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Hierarquia de Memria



Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Registradores

(2)

A memria cache geralmente controlada por hardware


A memria principal (RAM) e a secundria que o usurio
tem acesso.
O sistema operacional atravs de um mecanismo de
Memria Virtual (Segmentao e/ou Paginao) cria
a iluso ao usurio que a memria total do tamanho da
memria principal + memria secundria.
A tcnica de memria virtual realiza transferncia de blocos
de informao entre a memria primria e secundria
automaticamente sem a interveno do usurio comum.

Sistemas de Programao I 2007/2

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

So dispositivos (elementos computacionais)


capazes de receber dados, mant-los armazenados
por uma curto perodo de tempo e transferi-los
para outro dispositivo.





So, portanto, elementos de armazenamento


temporrio.

Os registradores fazem parte da CPU.


So extremamente rpidos e armazenam grupos
reduzidos de bits.

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Principal


http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Principal

(1)

A memria a parte do computador em que os


programas e os dados so armazenados.
A memria principal (MP) armazena programas em
execuo e os dados utilizados por eles.
Sem uma memria na qual processadores possam
ler ou escrever informaes, o conceito de
computador digital com programa armazenado
no pode ser implementado.

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

Todas as clulas de uma dada memria tm o mesmo nmero de


bits

Os nmeros que identificam (referenciam) a posio da


clula na memria so chamados de Endereos.


Abstrao de valores 0 ou 1
Fisicamente mais fcil distinguir entre dois valores distintos do
que de mais valores. Tenso, corrente, ...

A memria formada por um conjunto de clulas (ou


posies), cada uma das quais podendo guardar uma
informao.


A CPU processa instrues que so obtidas na MP e os


resultados so retornados MP.

A unidade bsica de memria o bit (binary digit)




A clula a menor unidade enderevel da memria

Endereos so indexadores pelos quais os programas


podem referenciar dados na memria.

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

(3)

A memria formada por um conjunto de clulas




Sistemas de Programao I 2007/2

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Principal

(2)

Todas as clulas de uma memria tm o mesmo

no

Memria Principal

(4)

de bits

Cada clula tem um endereo


Como
organizar uma
memria de
96 bits?


Sistemas de Programao I 2007/2

Se a memria tiver n clulas, elas


tero endereos de 0 a (n 1).
Se uma clula tiver k bits, ela
poder armazenar qualquer uma
das 2k combinaes possveis
para os bits.
Se um determinado endereo tem
m bits, o nmero mximo de
clulas endereveis de 2m.

Tamanho de clula padro: 8 bits ... 1 byte


7

Profa Roberta L.G. - LPRM/DI/UFES

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Principal


Memria Principal

(5)

Os computadores modernos agrupam as clulas (ou bytes) em


Palavras (word)


http://www.inf.ufes.br/~rgomes/sp1.htm

Ex: uma palavra de 32 bits tem 4 bytes (ou 4 clulas)

Processadores de 32 bits tm palavras de 32


bits


Nesses computadores, a Palavra a parte mnima de dados que


podem ser transferidos de/para a memria (MP)
A informao na palavra pode ser um dado ou uma instruo

As instrues so (em geral) de 32 bits

Cada instruo deve tratar palavras de 32 bits

Barramento de Dados

MAR

no de bits do barramento de endereos em geral (mas no


obrigatoriamente) igual ao n de bits dos registradores (ex:
Memory Address Register - MAR)

CPU
tamanho
do endereo =
tamanho da palavra

Os registradores so de 32 bits


(1x,2x,...)
tamanho
da palavra

(4)

movimentar, somar subtrair... dados armazenados em


registradores de 32 bits

RAM

Barramento de
Endereos

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Principal





Big Endian: Os bytes mais significativos primeiro (Mac)


Little Endian: Os bytes menos significativos primeiro (Intel)

tamanho do barramento de endereos = tamanho da palavra




No projeto de cada computador definida a organizao da memria


(tamanho do barramento de endereos, tamanho da palavra e da
clula de memria, etc.)
Exemplos de memria:




64K (216) X 8 bits (65 536 posies de 8 bits = 64 kilobytes)


4 Giga (232) X 8 bits (4 294 967 296 posies de 8 bits)
1 Mega (220) X 16 bits (1 048 576 posies de 16 bits)

Qual o mximo de memria enderevel de um computador de 64bits?




Profa Roberta L.G. - LPRM/DI/UFES

(6)

O endereo identifica a palavra na memria, e usado tanto para


armazenar (store) como para carregar (load).
Em geral, registradores so usados para enderear a memria

11

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Principal

(5)

Os bytes de uma palavra podem ser ordenados na


memria da esquerda para a direita OU da direita para
a esquerda

Sistemas de Programao I 2007/2

10

Sistemas de Programao I 2007/2

clula = 1 byte

Sistemas de Programao I 2007/2

12

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Principal

Memria Principal

(7)

Leitura: Quando um valor recuperado da memria, o


contedo da palavra no alterado. Apenas uma cpia
ser enviada pela memria.

http://www.inf.ufes.br/~rgomes/sp1.htm

(8)

Diagrama esquemtico da organizao da memria




Para simplificar: 1 palavra = 1 clula

Escrita: A gravao de um novo contedo em uma palavra


se d com a destruio do contedo anterior.

Barramento de
Controle

CPU

Barramento de Dados

2 -1

RAM

Barramento de
Endereos
13

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Principal



Tipos de Memria

(9)

As linhas de endereos (n bits) permitem enderear 2n diferentes


clulas de memria.

O tamanho do dado, contido em cada clula de memria de m


bits.

Cada cdigo de endereo de n bits seleciona, atravs do


decodificador de endereos, apenas uma nica clula na memria.
O sentido do fluxo de dados depender do sinal de controle
R/W.

Memria Endereada Seqencialmente: Para se obter a


informao de um endereo, necessrio percorrer os endereos
anteriores.


(1)

Memria Voltil: aquela cuja informao original perdida se a


energia for desligada.
Memria No-voltil: aquela que retm o padro de bits original
mesmo que a energia seja desligada.

Ex.: Fita Magntica

Memria de Acesso Randmico (RAM Random Access

Memory):


Se R/W = 1, a operao de READ, ou seja, leitura na memria e o


dado sair da memria

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Uma memria com n linhas de endereos e m linhas de dados.

14

Sistemas de Programao I 2007/2




A clula pode ser acessada sem ter que percorrer os endereos anteriores.
O tempo de acesso praticamente o mesmo para todas as clulas
Voltil

Se R/W = 0, a operao ser de escrita (WRITE) e o dado entrar na


memria.

Sistemas de Programao I 2007/2

15

Profa Roberta L.G. - LPRM/DI/UFES

Sistemas de Programao I 2007/2

16

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Tipos de Memria

http://www.inf.ufes.br/~rgomes/sp1.htm

Tipos de Memria

(2)

RAMs Estticas (SRAM)











Baseadas em capacitores
Carga deve ser restaurada periodicamente, pois suas informaes
vo desaparecer aps um certo intervalo de tempo
Menores,consomem menos potncia, mais baratas
SDRAM (Synchronous Dynamic Random Access Memory)



Mdulo DDR (Double Data Rate) : trfego de dois dados por pulso de
clock (transfere dados tanto na subida quanto na descida do sinal de clock)

DDR-II: melhorias no padro

17

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

Podem ser apagadas e reutilizadas pelo uso de radiao ultravioleta.


Antigos chips de BIOS (Basic Input/Output System) de PC

EEPROM (Electrically Erasable PROM)

Mdulo SDR (Single Data Rate): transfere um dado por pulso de clock

Contedo escrito com um queimador de PROMs. Podem ser escritas com


dispositivos especiais mas no podem mais ser apagadas.

EPROM (Erasable PROM)




Simples: decodificador, linhas de sada e portas lgicas


Aplicaes de alto volume

PROM (Programmable ROM)




RAMs Dinmicas (DRAM)

ROM (Read-Only Memory)




Baseadas em flip-flops
Contedo persiste enquanto circuito alimentado
Mais rpidas (geralmente usadas como memria cache)

Contedo pode ser modificado eletricamente


Pode ser lida um nmero ilimitado de vezes, mas s pode ser apagada e
programada um nmero limitado de vezes (entre 100.000 e 1 milho).
Pelo menos 64 vezes menores que uma EPROM
Armazenam a BIOS em PC atuais

Sistemas de Programao I 2007/2

http://www.inf.ufes.br/~rgomes/sp1.htm

Tipos de Memria


(4)

Como a EEPROM, mas que permite que mltiplos endereos (blocos)


sejam apagados ou escritos numa s operao.
Players MP3, celulares, cmeras digitais, HD p/ Laptops!?!

Uma linha (em apenas um lado) de


conectores da unidade de memria para a
placa de circuito impresso
Adequadas p/ barramento de dados de 32
bits

SIMM (72 pinos)

DIMM Dual Inline Memory Module




Uma linha de conectores da unidade de


memria para a placa de circuito impresso,
em ambos os lados da placa (pente) de
memria
Muito usadas c/ Pentiums (64 bits no
barramento de dados)

Sistemas de Programao I 2007/2

19

(1)

Os dados armazenados na memria dos computadores


podem ocasionalmente serem alterados (modificados)


SIMM Single Inline Memory Module




Profa Roberta L.G. - LPRM/DI/UFES

Cdigos com Correo/Deteco de Erros

Encapsulamento de Memria Principal




18

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Flash


(3)

Oscilaes de tenso de alimentao, etc.

Para a preveno desses erros, algumas memrias


armazenam informaes extras, usando cdigos e
mecanismos que permitam a deteco e/ou correo de
erros.
Palavra de Cdigo:
uma unidade de n bits = m bits de dados
+
Informao referente
r de redundncia deteco/ correo
de erro

DIMM DDR 1GB 400 MHz (184-pinos)


Profa Roberta L.G. - LPRM/DI/UFES

Sistemas de Programao I 2007/2

20

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

http://www.inf.ufes.br/~rgomes/sp1.htm

Cdigos com Correo/Deteco de Erros


EXEMPLO


Bit de Paridade: bit configurado em 0 ou 1 para


assegurar que o nmero total de bits 1 no campo de dados
par (ou mpar).



Cdigos com Correo/Deteco de Erros

(2)

Distncia de Hamming: nmero de bits que


diferem em duas palavras de um cdigo qualquer.
10001001
10110001
00111000

Paridade refere-se ao nmero de bits '1 no nmero binrio.


Ex: 1 10010010

bit de paridade dado

0 00011000
bit de paridade dado

21

Sistemas de Programao I 2007/2

Profa Roberta

L.G. - LPRM/DI/UFES

Tabela de palavras
de cdigo vlidas
(bit de paridade)

Se um cdigo possui distncia de Hamming de d, ele


capaz de


detectar d-1 erros

corrigir mod [(d-1)/2] erros

(4)

00000
01011
10110
11101

Memria Cache


Cdigo capaz de detectar 2 erros


Capaz de corrigir 1 erro


Profa Roberta L.G. - LPRM/DI/UFES

Muitos comandos presentes em loops.


Manipulao de matrizes

Cache um dispositivo interno a um sistema que serve de


intermedirio entre uma CPU e o dispositivo principal de
armazenamento (MP).
A idia principal que o acesso a MP pode ser demorado e vale a pena
armazenar as informaes mais procuradas em meio mais rpido.
Memria Cache: memria pequena (capacidade de armazenamento)
e rpida


23

(1)

Na execuo de um programa de computador, muitas das


referncias so a um pequeno conjunto de posies de memria.


Cdigo capaz de detectar 1 erro


Capaz de corrigir 0 erros

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

Princpio bsico


Distncia de Hamming do cdigo = 3

Distncia de Hamming do cdigo = 2

22

Sistemas de Programao I 2007/2

http://www.inf.ufes.br/~rgomes/sp1.htm

Tabela de palavras
de cdigo vlidas
(cdigo hipottico)

0 000
1 001
1 010
0 011
1 100
0 101
0 110
1 111

XOR

Distncia de Hamming do cdigo = menor distncia de


Hamming entre duas palavras

http://www.inf.ufes.br/~rgomes/sp1.htm

Cdigos com Correo/Deteco de Erros

(3)

Contm os dados e/ou instrues mais recentemente referenciados pelo


processador.

Sistemas de Programao I 2007/2

24

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Cache

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Cache

(2)

Quando um processador precisar de uma palavra de memria, ele


primeiro busca essa palavra na cache.
Somente no caso de ela no estar armazenada na cache que a
busca se dar na memria principal.

Princpio da Localidade


Localidade Temporal


Se uma parte substancial dos acessos


for satisfeita pela cache, o tempo
mdio de acesso a uma palavra em
memria ser pequeno, prximo ao
tempo de acesso cache.
Em alguns computadores podem
existir diversos nveis de cache

Uma posio de memria referenciada recentemente tem boas chances


de ser referenciada novamente em um futuro prximo
Iteraes e recursividade

Localidade Espacial


Uma posio de memria vizinha de uma posio referenciada


recentemente tem boas chances de tambm ser referenciada
Dados tendem a ser armazenados em posies contguas

Como explorar o princpio de localidade?




Localidade Temporal

Localidade Espacial

Ex: nvel 1 implementado dentro do


chip ; nvel 2 implementado na placame

25

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

Mantenha palavras mais recentemente acessados na cache


A leitura na memria, geralmente, feita com mais de uma palavra ao
mesmo tempo (blocos ou linhas de cache)
Mova blocos de palavras contguas para a cache

Memria Cache

(4)

Bloco ou Linhas de Cache




Menor unidade de informao transferida entre os nveis da hierarquia de


memria

Exemplo
Se uma cache tiver uma linha com 64 bytes, uma referncia
ao endereo 260 que no est na cache (falha) vai trazer
da memria principal p/ a cache a linha composta pelos
bytes 256 a 319:

Bloco

63
127
191
255
319
64 bytes

Sistemas de Programao I 2007/2

27

Profa Roberta L.G. - LPRM/DI/UFES

referenciar uma nica vez a memria principal (lenta)


e k 1 vezes a memria rpida.

c: tempo de acesso cache


m: tempo de acesso memria principal
h: Taxa de acertos frao de todas as referncias que
puderam ser satisfeitas pela cache.

Memria Principal

Posicionamento lgico da
memria cache

(5)

Se determinada palavra for lida ou escrita k vezes em um curto


intervalo de tempo, o processador precisar


Um bloco transferido num nico acesso entre a memria principal e a


cache, atravs de um largo barramento de dados

0
64
128
192
256

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Princpio da Localidade (cont.)




26

Sistemas de Programao I 2007/2

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Cache

(3)

h = (k - 1)/k

Taxa de Falhas = 1 h


Tempo mdio de acesso = c + (1 - h)m

Sistemas de Programao I 2007/2

28

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Cache


Posio acessada est na cache


Velocidade e custo

Erro (miss)


Hierarquia de Memria

(6)

Acerto (hit)


http://www.inf.ufes.br/~rgomes/sp1.htm

Posio acessada ausente da cache


Buscada da memria principal

Capacidade de
armazenamento

Cache Unificada (instrues e dados juntos) x Cache Dividida (uma


cache para cada)
Questes a discutir:
 Qual o melhor tamanho da cache?
 Qual o tamanho da linha da cache?



Em geral, uma linha maior aproveita melhor a localidade espacial


MAS linha maior significa maior tempo para preencher a linha
29

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Secundria


Necessrio pois o contedo da MP apagado quando o computador


desligado. Desta forma, tem-se um meio de executar novamente
programas e carregar arquivos contendo os dados da prxima vez em
que o computador for ligado.
So geralmente no-volteis, permitindo guardar os dados
permanentemente.




Sistemas de Programao I 2007/2

31

Profa Roberta L.G. - LPRM/DI/UFES

(2)

Disco Rgido (HD - Hard Disk)


a parte do computador onde so armazenadas as
informaes que no se apagam" (Aquivos)
 Caracterizado como memria fsica, no-voltil.





Discos Rgidos (HDs)


CDs
DVDs
Disquetes, etc.

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Secundria

(1)

Memrias que no podem ser endereadas diretamente, isto , a


informao precisa ser carregada em memria primria antes de poder
ser tratada pelo processador.

30

Sistemas de Programao I 2007/2

O disco rgido um sistema lacrado contendo discos de metal


recobertos por material magntico onde os dados so gravados
atravs de cabeas, e revestido externamente por uma proteo metlica
que presa ao gabinete do computador por parafusos.
Tambm chamado Winchester. (Rifles Winchester 30-30)
Nos Sistemas Operacionais mais recentes, o disco rgido
tambm utilizado para expandir a memria principal, atravs de
mecanismos de Memria Virtual.

Sistemas de Programao I 2007/2

32

Profa Roberta L.G. - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/sp1.htm

Memria Secundria


Memria Secundria

(6)

Setor de Boot Disco Rgido




http://www.inf.ufes.br/~rgomes/sp1.htm

Nele registrado qual sistema operacional est instalado no


computador, com qual sistema de arquivos o disco foi formatado
e quais arquivos devem ser lidos para inicializar o computador.
Tambm conhecido como Trilha MBR ou Trilha 0.
MBR (Master Boot Record) - Registro de Inicializao Mestre
 Contm a tabela de partio do disco que dar boot.


O MBR lido pela BIOS (Basic Input Output System), que


interpreta a tabela de partio e em seguida carrega um
programa chamado bootstrap, que o responsvel pelo
carregamento do Sistema Operacional.
33

Sistemas de Programao I 2007/2

Profa Roberta L.G. - LPRM/DI/UFES

Controlador de Disco





(7)

Controlador(a) um dispositivo de hardware que realiza a interface entre


o exterior de um dispositivo e o seu funcionamento interno.
Processador envia o endereo fsico de dados para um HD e o controlador
traduz esse endereo e aciona os dispositivos mecnicos especficos do
disco para que os dados possam ser lidos e enviados.

Padres





IDE - Integrated Drive Electronics


(E)IDE - (Extended) Integrated Drive Electronics
ATAPI - Advanced Technology Attachment Packet Interface
SCSI (Small Computer System Interface).
 Permite aconexo de uma larga gama de perifricos (HDs, CD-ROMs,
impressoras, scanners, etc.)

Sistemas de Programao I 2007/2

34

Profa Roberta L.G. - LPRM/DI/UFES

ANEXO 1

http://www.inf.ufes.br/~rgomes/sp1.htm

http://www.inf.ufes.br/~rgomes/sp1.htm

Referncias


Andrew S. Tanenbaum, Organizao Estruturada de Computadores, 5 edio,


Prentice-Hall do Brasil, 2007. Captulo 2

Lcia Helena M. Pacheco, Viso Geral de Organizao Estruturada de


Computadores e Linguagem de Montagem. Universidade Federal de
Santa Catarina. Centro Tecnolgico, Departamento de Informtica e de
Estatstica.
Artigo sobre correo e deteco de erros

http://www.wikipedia.org

http://www.dcc.ufla.br/infocomp/artigos/v1.1/cce.pdf

Sistemas de Programao I 2007/2

35

Profa Roberta L.G. - LPRM/DI/UFES

Sistemas de Programao I 2007/2

36

...

Profa Roberta L.G. - LPRM/DI/UFES

Você também pode gostar