Você está na página 1de 30

Introduo Organizao de Computadores Memria Principal

Sistemas da Computao
Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Tpicos

Processadores Memria Principal (seo 2.2) Memria Secundria Entrada e Sada

Copyleft Rossano Pablo Pinto

Memria Principal

Copyleft Rossano Pablo Pinto

Memria Principal
Memria Principal (Main Memory) (RAM)

Copyleft Rossano Pablo Pinto

Memria Principal

Definio: Parte do computador onde programas e dados so armazenados. Bit (Binary Digit): Unidade bsica de memria. 1 Bit pode armazenar os valores 0 ou 1. a unidade mais simples possvel - Um dispositivo que pode armazenar apenas ZERO no seria de muita utilidade SO NECESSRIOS PELO MENOS 2 VALORES.
Copyleft Rossano Pablo Pinto 5

Memria Principal

correto dizer que um computador que utiliza aritmtica binria mais eficiente que um computador que utiliza aritmtica decimal? Eficiente em termos do qu? Velocidade? Capacidade de armazenamento?

Copyleft Rossano Pablo Pinto

Memria Principal

Informao digital pode ser armazenada por meio da distino entre valores de algumas quantidades fsicas contnuas.

Ex.: voltagem ou corrente.

Quanto MAIOR O NMERO DE ELEMENTOS para distinguir, MENOR A SEPARAO entre valores adjacentes, e MENOS CONFIVEL a memria.

Copyleft Rossano Pablo Pinto

Memria Principal

Sistema de nmeros binrios requer apenas a distino entre dois valores. Conseqentemente, o sistema de numerao binria o sistema com maior confiabilidade para armazenar informao digital.

Copyleft Rossano Pablo Pinto

Memria Principal

Mainframes IBM possuem aritmtica decimal e binria !!!! Como?:

Representao decimal em BCD (Binary Coded Decimal) Cada 4 bits armazenam os dgitos de 0 a 9:

0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001. 6 de 16 combinaes no utilizadas!!!

Copyleft Rossano Pablo Pinto

Memria Principal

Suponha que inventem um dispositivo EXTREMAMENTE CONFIVEL que possa armazenar diretamente os dgitos de 0 9 por meio da diviso da regio de 0 10 volts em 10 intervalos:

4 dispositivos deste tipo poderiam armazenar qualquer nmero decimal de 0 a 9999 (10.000 combinaes)!!!

Copyleft Rossano Pablo Pinto

10

Memria Principal

Endereos de memria

Memrias so organizadas em clulas Cada clula possui um nmero associado: endereo Programas referenciam uma clula a partir deste endereo Se uma memria possui n clulas, tais clulas possuiro os endereos 0 n 1.

Copyleft Rossano Pablo Pinto

11

Memria Principal

Endereos de memria

Todas as clulas de uma memria possuem o mesmo nmero de bits. Se uma clula constituda de x bits, ela pode armazenar qualquer uma das 2x diferentes combinaes de bits.

Copyleft Rossano Pablo Pinto

12

Memria Principal

Endereos de memria

Ex.: memria de 96 bits organizada em 3 maneiras distintas.

Copyleft Rossano Pablo Pinto

13

Memria Principal

Endereos de memria

Clulas adjacentes tem endereos consecutivos Computadores que utilizam sistemas de numerao binria expressam endereos de memria como nmero binrio Se um endereo possui m bits, o nmero mximo de clulas endereveis 2m. Ex.: Fig. anterior: (a) precisa de pelo menos 4 bits, (b) e (c) apenas 3 bits.
Copyleft Rossano Pablo Pinto 14

Memria Principal

Endereos de memria

Uma memria com 212 clulas de 8 bits cada e uma memria de 212 clulas de 64 bits cada, precisam de endereos de 12 bits. MP com endereos de 0 a (N 1). X representa nmero de linhas de endereo:

N = 2X X = log2 N

Copyleft Rossano Pablo Pinto

15

Memria Principal

Endereos de memria

Tamanho das clulas utilizadas no IBM-PC so de 8 bits. Bytes so agrupados em palavras (words):

computador de 32 bits 4 bytes/palavra computador de 64 bits 8 bytes/palavra

Copyleft Rossano Pablo Pinto

16

Memria Principal

Endereos de memria: capacidade da memria principal


T=NxM T -> capacidade da memria em bits N -> nmero de endereos M -> nmero de bits por clula C=T/8 C -> capacidade da memria em bytes
Copyleft Rossano Pablo Pinto 17

Memria Principal

Endereos de memria

1) Numa MP com 1kbyte de capacidade, onde cada clula tem 8 bits: a) quantas clulas tem a MP? b) quantos bits so necessrios para representar um endereo de memria? 2) Um computador enderea 1k clulas de 16 bits cada uma. Pede-se: a) sua capacidade de memria; b) o maior endereo que o computador pode enderear; 3) A memria de um computador tem capacidade de armazenar 216 bits e possui um barramento de dados de 16 bits. Pede-se: a) o tamanho da clula de memria;
Copyleft Rossano Pablo Pinto 18

Memria Principal

Endereos de memria: ordenao de bytes (byte ordering)

Os bytes em uma palavra podem ser ordenados da-esquerda-p-direita ou dadireita-p-esquerda. IMPORTANTE !!! SPARC big-endian (byte 0 da palavra na posio mais significativa) Intel litlle-endian (byte 0 da palavra na posio menos significativa)
Copyleft Rossano Pablo Pinto 19

Memria Principal

Endereos de memria: ordenao de bytes (byte ordering)

Copyleft Rossano Pablo Pinto

20

Memria Principal

Endereos de memria: ordenao de bytes (byte ordering)

Copyleft Rossano Pablo Pinto

21

Memria Principal

Memria Cache

Problema: CPUs so mais rpidas que memrias do sistema CPUs devem esperar vrios ciclos p/ que o dado requerido seja carregado Problema de custo e no de engenharia: possvel construir memrias to rpidas quanto a CPU (Precisam ficar dentro do chip da CPU). CUSTO MUITO ALTO
Copyleft Rossano Pablo Pinto 22

Memria Principal

Memria Cache

Soluo: um pouco de memria rpida e muita memria lenta combinao do uso das duas + algumas tcnicas de uso = desempenho da memria mais rpida Memria cache: memria mais rpida, interna ao chip da CPU

Copyleft Rossano Pablo Pinto

23

Memria Principal

Memria Cache

Idia bsica da memria cache:

palavras de memria altamente usadas so mantidas em cache CPU sempre verifica cache antes de buscar dado na memria principal

A tcnica funciona ? Sim, graas ao princpio da localidade.

Copyleft Rossano Pablo Pinto

24

Memria Principal

Memria Cache

Princpio da localidade

referncias de memria em um perodo de tempo curto tendem a acessar regies de memria vizinhas. cada referncia memria principal traz memria cache os vizinhos anteriores e posteriores ao endereo referenciado

Base para todos os sistemas de cache:

Copyleft Rossano Pablo Pinto

25

Memria Principal

Memria Cache

Copyleft Rossano Pablo Pinto

26

Memria Principal

Memria Cache

Medidas de desempenho

c = tempo de acesso ao cache m = tempo de acesso memria principal h = hit ratio (taxa de acerto) (miss ratio = 1 h)

frao de todas as referncias que puderam ser satisfeitas pelo cache

k = nmero de vezes que a palavra acessada h = (k 1)/k tempo mdio de acesso: c + (1 h) m


Copyleft Rossano Pablo Pinto 27

Memria Principal

Memria Cache

Concluses:

Se h = 1, todas as referncias so satisfeitas pelo cache Se h = 0, todas as referncias so satisfeitas pela memria principal e tempo de acesso = c + m

tempo de acesso ao cache (sem sucesso) + tempo de acesso memria principal

Copyleft Rossano Pablo Pinto

28

Memria Principal

Memria Cache

Influncia do Princpio da Localidade

memria cache e principal so divididas em blocos de tamanho fixo linhas de cache (cache lines) quando ocorre um miss a linha de cache inteira carregada no cache referncia ao endereo 260 linha de cache: endereos 256 319
Copyleft Rossano Pablo Pinto 29

Ex.: linha de 64-bytes


Memria Principal

Memria Cache

Princpios de Projeto de cache

tamanho, tamanho da linha de cache, organizao, unificado x dividido, nmero de caches (L1, L2, L3?) unificado: dados + instrues dividido: cache separados para dados e instrues (arquitetura de Harvard utilizado no computador Mark III de Howard Aiken)
Copyleft Rossano Pablo Pinto 30

Cache unificado x dividido (split cache)