Você está na página 1de 45

Memria

Organizao de Computadores
Faculdade de Tecnologia Senac Gois

Introduo
Memria um termo genrico usado para designar as partes do computador ou dos dispositivos perifricos onde os dados e programas so armazenados. Pode ser categorizada (hierarquia) em: registradores, cache, memria principal e memria secundria. Toda memria permite a realizao de operaes de:
Escrita: a gravao (ou armazenamento) da informao na memria. Leitura: a recuperao da informao armazenada. A quantidade de instrues executadas por segundo por um processador tem dobrado a cada 18 meses. A velocidade de acesso das memrias tem aumentado cerca de 10% ao ano (embora sua capacidade de armazenamento venha quadruplicando a cada 36 meses).

Problema: processamento x memria

OBSERVAO Nesse captulo ser tratada somente a memria principal e memria cache. Memria secundria ser discutida futuramente.

Analogia: memria x escaninho


A memria dos computadores pode ser vista como uma longa sequncia de chaves, botes liga-desliga ou interruptores. Cada chave tem duas posies possveis: desligada ou ligada;

Podemos imaginar a memria do computador como uma sequncia de escaninhos de correspondncia, cada um com um nmero (endereo) e a capacidade de guardar 8 bits de informao.

Como as informaes so representadas nas memrias


O modo pelo qual cada bit identificado na memria variado: Sinal eltrico; Carga eltrica; Campo magntico; Presena/ausncia de um ponto de luz Um bit pode indicar apenas dois valores distintos. Logo, sua utilidade individual bastante restrita. Para representarmos todos os smbolos utilizados no dia-a-dia necessitamos mais do que um bit. Os sistemas de computao agrupam uma determinada quantidade de bits, identificando este grupo como uma unidade de armazenamento, denominada clula (termo usado para identificar a unidade de armazenamento da memria principal). Esse grupo processado/movido em bloco como sendo um nico elemento.

Como localizar uma informao nas memrias


As clulas so identificadas, uma a uma, por um nmero (endereo). A memria organizada em grupos de bits, sequencialmente dispostos, a partir do grupo de endereo 0 (zero) at o ltimo grupo, de endereo N 1, sendo N a quantidade total de grupos.

Hierarquia de memria

Parmetros
Tempo de acesso
O perodo de tempo decorrido desde o instante em que foi iniciada a operao de acesso at que a informao requerida tenha sido efetivamente transferida. O seu valor depende da tecnologia de construo e da velocidade de seus circuitos (desde poucos ns at centenas de ms). O tempo de acesso de memrias eletrnicas o mesmo, independentemente da distncia fsica entre o local de um acesso e o local do prximo acesso.

Ciclo de tempo do sistema de memria (memory systems cycle time)


Perodo de tempo decorrido entre duas operaes sucessivas de acesso memria. Fatores podem impedir, por um pequeno intervalo de tempo, o uso do sistema de memria para um novo acesso, logo aps a concluso do acesso anterior.

Parmetros
Capacidade
Quantidade de informao que pode ser armazenada em uma memria. Indica se a memria retm ou no a informao armazenada quando a energia eltrica desligada. possvel manter a energia em uma memria no-voltil com o emprego de baterias.
Volteis: registradores, RAM No-volteis: ROM, EPROM, HD, CD

Volatilidade

Parmetros
Tecnologia de fabricao
Memrias Memrias Memrias Memrias de semicondutores. capacitivas. de meio magntico. de meio ptico.

Temporariedade
Indica o conceito de tempo de permanncia da informao em um dado tipo de memria.
Permanente: fitas, CDs, disquetes Transitria: registradores, RAM, cache

Custo
Custo de fabricao bastante variado em funo de diversos fatores, principalmente a tecnologia de fabricao. Uma boa unidade de medida de custo o preo por byte armazenado, em vez do custo total da memria em si.

Registradores
Antes que uma instruo ou dado seja processado, o processador necessita busc-lo na memria e armazen-lo em seu prprio interior, em um dispositivo de memria denominado registrador. Parmetros:
Tempo de acesso: 1 a 5 ns. Capacidade: um nico dado, instruo ou endereo. Volatilidade: volteis. Tecnologia: semicondutores (MOS). Temporariedade: apenas o tempo necessrio para a utilizao do dado na ULA. Custo: topo da pirmide em termos de custo.

Registradores

Registradores

Memria cache
Em toda execuo de uma instruo, a CPU acessa a memria principal (sem cache), pelo menos uma vez, para buscar a instruo (uma cpia) e transferi-la para um registrador. Considerando que um ciclo de memria bem mais demorado que o ciclo da CPU, o processador necessita esperar at que a instruo/dados cheguem. Na busca de uma soluo, foi desenvolvida uma tcnica que consiste na incluso de um dispositivo de memria entre a CPU e a MP, denominado memria cache, cuja funo acelerar a velocidade de transferncia das informaes entre a CPU e a MP. Esse tipo de memria fabricado com tecnologia semelhante da CPU. As memrias cache RAM podem ser inseridas em at quatro nveis, denominados L1, L2, L3 e L4.

Memria cache

Princpio da localidade (espacial e temporal): referncias mem ria feitas em qualquer intervalo de tempo curto tendem a usar apenas uma pequena frao da memria total (instrues e dados). Memrias so divididas em blocos de tamanho fixo (linhas de cache). Toda a linha carregada da memria principal para a cache. Operaes: miss e hit.

Memria cache
Cache primrio (L1): embutido no prprio processador e rpido o bastante para acompanh-lo em velocidade. Cache secundrio (L2): um tipo de memria cache pouco mais lento, que por ser muito mais barato, permite que seja usada uma quantidade muito maior. Embutido no chip do processador. Funcionamento da memria cache
Sempre que o processador precisar ler dados/instrues, os procurar primeiro no cache L1. Caso o dado seja encontrado (cache hit), o processador no perder tempo, j que o cache primrio funciona na mesma frequncia que ele. Caso o dado no esteja no cache L1 (cache miss), ento o prximo a ser indagado ser o cache L2. Encontrando o que procura no cache secundrio, o processador j perder algum tempo, mas no tanto quanto perderia caso precisasse acessar diretamente a memria RAM. Caso os dados no estejam em nenhum dos dois caches, no restar outra sada seno perder vrios ciclos de processamento esperando que eles sejam entregues pela lenta memria RAM. Nesse caso, alm da informao requerida, informaes vizinhas tambm so retornadas e armazenadas nas memrias cache.

Memria cache
Parmetros:
Tempo de acesso: poucos ns. Capacidade: geralmente, de 512KB a 2MB (existem processadores com mais). Volatilidade: volteis. Tecnologia: circuitos eletrnicos de alta velocidade. Em geral, so memrias estticas (no necessita ser analisada ou recarregada a cada momento, guardam a informao por todo o tempo em que estiver a receber alimentao), denominadas SRAM. Temporariedade: menor que a durao da execuo do programa, pois ela precisa ser utilizada por todos os programas em execuo (depende do tipo de poltica de substituio de informao na cache). Custo: alto.

Memria principal
Arquitetura de von Neumann
Mquina de programa armazenado O fato das instrues, uma aps a outra, poderem ser imediatamente acessadas pela CPU que garante o automatismo do sistema e aumenta a velocidade de execuo dos programas. Essas instrues podem ser acessadas imediatamente porque elas esto armazenadas internamente no computador (e os seus dados), na memria principal.

MP: memria bsica de um sistema de computao. Tambm chamada de memria RAM (random access memory)

Memria principal RAM


Parmetros
Tempo de acesso: pode chegar a alguns s. Capacidade: poucos GB Volatilidade: voltil Tecnologia: elementos dinmicos (DRAM), geralmente capacitivos. Temporariedade:
Armazena parte do programa a ser executado e seus dados; obrigatoriamente, a instruo que ser executada e os dados associados essa instruo. Depende do tamanho do programa e sua durao, quantidade de programas que esto sendo processados juntos, ...

Custo: bem mais baratas que as memrias cache.

Memria principal RAM

Pentes de memria de diferentes tipos: (A) DDR2; (B) DIMM; (C) SIMM.

Memria principal RAM


Quanto tecnologia usada na sua construo, existem dois tipos bsicos de memria RAM:
Dinmica: memria baseada na tecnologia de capacitores e requer a atualizao peridica do contedo de cada clula do chip consumindo assim pequenas quantidades de energia. (EDO, DRAM, BEDO, DRAM, SDRAM, RDRAM, ...) Esttica: memria baseada na tecnologia de transistores e no requer atualizao dos dados.

Quadro comparativo:
Tipo de Memria RAM Dinmica Vantagens Barata Baixo Consumo Alta Densidade Rpida No necessita de atualizao Desvantagens Necessita de Atualizao Lenta Mais cara Consome Mais Energia Baixa Densidade

RAM Esttica

Memria principal ROM


A memria ROM (read only memory) um tipo de memria que possui informaes pr-escritas (rotinas que inicializam o computador quando este ligado), que so gravadas pelo fabricante uma nica vez. Os dados nela gravados so no-volteis. Depois de gravados, os dados no podem ser alterados ou apagados, ou seja, eles so gravados permanentemente. Geralmente, esta memria est gravada em um circuito integrado que soldado diretamente na placa-me. As informaes gravadas nesta memria so denominadas de firmware. Nela, esto gravados trs tipos de programas que so executados quando o computador ligado: Bios, Setup e Post.

Memria principal ROM


Bios (basic input output system sistema bsico de entrada e sada)
Este programa encarregado de reconhecer os componentes de hardware instalados, realizar o boot e prover informaes bsicas para o funcionamento do micro. Cada modelo de placa-me possui a sua prpria Bios, sendo que a Bios de um determinado modelo de placa no ir funcionar corretamente em outro modelo. Quando o computador ligado, certa parte do circuito do computador ativa o programa Bios que verificar todo o funcionamento do circuito, analisando a memria e se as conexes dos perifricos esto corretas. Por exemplo, se o teclado no estiver corretamente conectado, a Bios ir mostrar uma mensagem de erro na tela.

Memria principal ROM


Setup
Programa que permite configurar o computador. Durante a execuo do programa Bios, se o usurio pressionar uma seqncia de teclas, ser carregado um programa que permitir que o usurio configure alguns parmetros internos do computador. Recomenda-se que este programa no seja ativado por nenhum usurio leigo, uma vez que, caso seja incorretamente configurado, o computador pode no funcionar mais (at que algum corrija esta configurao). Para que estas configuraes no se percam, elas so gravadas em uma memria voltil (denominada CMOS complementary metal oxide semicondutor). Existe uma bateria na placa-me que responsvel por manter os dados existentes nesta memria, de forma que, toda vez que o computador iniciado, a Bios l estes valores e opera de acordo com eles. Se a bateria falhar ou estiver fraca, ao ligar o computador, voc dever informar manualmente alguns dos parmetros de configurao.

Memria principal ROM


Post (power-on self-test)
Durante o boot (carga do sistema) a Bios realiza uma srie de testes denominados Post. Os dados do Post so mostrados durante a inicializao, indicando a quantidade de memria instalada, discos, portas seriais e outros dispositivos de E/S. Quando o Post termina, a Bios gera um relatrio (uma tabela) informando alguns detalhes sobre o hardware instalado, permitindo que o usurio saiba alguns detalhes sobre a sua configurao. Principais funes do Post:
Inicializao do vdeo Identificao da configurao instalada Testa a memria Inicializa todos os perifricos de apoio da placa-me Testa o teclado.

Somente aps o Post que a Bios entrega o controle do microprocessador ao sistema operacional.

Memria principal ROM

Memria principal ROM


A fabricao de memrias ROM evoluiu com o tempo, surgindo diversos tipos de memrias:
PROM (programmable read-only memory): memria pode ser programada pelo usurio s uma vez depois da sua fabricao. A programao feita pela aplicao de pulsos de alta voltagem que no so encontrados durante a operao normal. EPROM (erasable programmable ready-only memory): programada eletronicamente, assim como as PROMs. Entretanto, elas podem ser apagadas atravs da exposio em uma forte luz ultravioleta. as EPROMs so facilmente reconhecveis pela janela transparente no topo do dispositivo que protege a memria. Uma EPROM programada mantm os seus dados por at vinte anos e pode ser lida um nmero de vezes ilimitado. EEPROM (eletrically erasable programmable ready-only memory): pode ser programada e apagada vrias vezes, eletricamente. Embora ela possa ser lida um nmero ilimitado de vezes, ela pode ser apagada e programada um nmero limitado de vezes de 100 mil at um milho de vezes. Memria Flash: uma memria do tipo EEPROM que permite que mltiplos endereos sejam apagados ou escritos em uma s operao. Esta memria usada em cartes de memria e em drives flash USB.

Memria secundria
Tem por objetivo garantir um armazenamento mais permanente aos dados e programas do usurio. Pode ser constituda por diferentes tipos de dispositivos: HD, disquetes, fitas, CD, DVD.

Memria secundria
Parmetros
Tempo de acesso: depende do dispositivo (eletromecnico, eletrnico, ...). Pode chegar dezenas de ms. Capacidade: grande capacidade de armazenamento. Virtualmente ilimitado. Volatilidade:: no-voltil. Tecnologia: imensa variedade ptica, magntica, ... Temporariedade: permanente. Custo: baixo custo.

Memria virtual
Memria extra conseguida armazenando dados e pedaos de programas em outros dispositivos de armazenamento. Os dados so guardados temporariamente nos discos liberando memria RAM para que seja utilizada por outros programas. O processo de movimentao dentre a memria RAM e este arquivo em disco chamado swap. Os sistemas operacionais modernos controlam o tamanho do arquivo de troca automaticamente, aumentando e diminuindo o seu tamanho medida que for necessrio. Quando h ocorrncia freqente de swap, aumentar a quantidade de memria RAM em um computador o torna mais rpido.

Operaes com a MP
possvel realizar duas operaes em uma memria:
Escrita: armazenar informaes. Leitura:
Recuperar uma informao previamente armazenada. No destri o contedo da memria. Transfere uma cpia do que est armazenado.

Como se desenrola uma operao de leitura e escrita na MP?

Operaes com a MP

Estrutura CPU/MP

Operaes com a MP
Barramento de dados
Interliga o RDM MP para transferncia de dados/instrues entre a MP e a CPU. bidirecional MBR memory buffer register Armazena temporariamente a informao que est sendo transferida entre a MP e a CPU. Interliga o REM MP unidirecional somente a CPU aciona a MP MAR memory address register Armazena temporariamente o endereo de acesso a uma posio de memria. Interliga a MP e a CPU para passagem de sinais de controle durante uma operao de leitura ou escrita.

RDM Registrador de dados da memria

Barramento de endereo

REM Registrador de endereos da memria

Barramento de controle

Operaes com a MP - leitura


1. 2.

3.

4. 5.

(REM) (outro reg.) O endereo colocado no barramento de endereos Sinal de leitura no barramento de controle (decodificao) (RDM) (MP(REM)) (outro reg.) (RDM)

Operaes com a MP - escrita


1. 2.

3. 4.

5.

(REM) (outro reg.) O endereo colocado no barramento de endereos (RDM) (outro reg.) Sinal de escrita colocado no barramento de controle (MP(REM)) (RDM)

Capacidade da MP
Capacidade de memria refere-se genericamente quantidade de informaes que nela podem ser armazenadas em um instante de tempo. O elemento mais importante para determinar a capacidade de uma memria a quantidade de endereos que poderemos criar e manipular. comum um dado ocupar vrias clulas e, consequentemente, vrios endereos. Na prtica, usa-se a quantidade de clulas para representar a capacidade de memria (clulas de 8 bits).

Organizao da MP

Organizao da MP

Clculos com capacidade da MP


A RAM um conjunto de N clulas, cada uma armazenando um valor com M bits. N representa a capacidade da memria Pode-se armazenar em cada clula um valor entre 0 e 2M 1 (so 2M combinaes possveis). A MP tendo N endereos e sendo E a quantidade de bits dos nmeros que representam cada um dos N endereos, ento N = 2E. O total de bits que podem ser armazenados na MP : T = N x M = 2E x M

Clculos com capacidade da MP


Exemplo 1:
Uma memria RAM tem um espao mximo de endereamento de 2K. Cada clula pode armazenar 16 bits. Qual o valor total de bits que pode ser armazenado nesta memria e qual o tamanho de cada endereo?
RESPOSTA: Total de bits da MP: 32K Tamanho de cada endereo: 11 bits

Clculos com capacidade da MP


Exemplo 2:
Uma memria RAM fabricada com a possibilidade de armazenar um mximo de 256K bits. Cada clula pode armazenar 8 bits. Qual o tamanho de cada endereo e qual o total de clulas que podem ser utilizadas naquela RAM? RESPOSTA: Tamanho de cada endereo: 15 bits Total de clulas: 32K

Clculos com capacidade da MP


Exemplo 3:
Um computador, cuja memria RAM tem uma capacidade mxima de armazenamento de 2K palavras de 16 bits cada, possui um REM e um RDM. Qual o tamanho destes registradores? Qual o valor do maior endereo dessa MP e qual a quantidade total de bits que nela pode ser armazenada?
RESPOSTA: REM: 11 bits RDM: 16 bits Total de bits: 32K bits Maior endereo: 111111111112 = 204710 = 7FF16

Deteco de erros
O contedo da memria pode ser alterado erroneamente devido a algum problema (ex.: erro transmisso ou falha de energia eltrica) Bits extras so adicionados a cada palavra de memria para resguardar contra eventuais erros que possam ocorrer nos dados armazenados em memria. Palavra de cdigo: uma unidade de n bits que contm dados e bits de verificao.
Palavra de memria: m bits Bits de verificao: r bits Comprimento total: n = m + r

Exemplos de deteco de erro:


Bit de paridade (exemplo mais simples) CRC

Correo de erros
Desejamos projetar um cdigo com m bits de dados e r bits de verificao que permitir que todos os erros de bits nicos sejam corrigidos. Nmero de bits de verificao para um cdigo que pode corrigir um nico erro: (m + r + 1) <= 2r

Correo de erros
Algoritmo de Hamming (ou cdigo de Hamming):
Os bits so numerados comeando com 1, a partir da esquerda. Os bits cujo nmero de bit for uma potncia de 2 so bits de paridade; os bits restantes so bits de dados. Cada bit de paridade verifica posies especficas de bits Em geral o bit b verificado pelos bits b1, b2, ..., bj tais que: b1 + b2 + ... + bj = b O bit de paridade estabelecido de modo que o nmero de 1s na posies verificadas seja par. Exemplo: palavra de 16 bits; so adicionados 5 bits de paridade
Bit Bit Bit Bit Bit 1 verifica os bits 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21. 2 verifica os bits 2, 3, 6, 7, 10, 11, 14, 15, 18, 19. 4 verifica os bits 4, 5, 6, 7, 12, 13, 14, 15, 20, 21. 8 verifica os bits 8, 9, 10, 11, 12, 13, 14, 15. 16 verifica os bits 16, 17, 18, 19, 20, 21.

Correo de erros
Exemplo: Construo do cdigo de Hamming para a palavra de memria 11110000010101110 (adicionando 5 bits de verificao aos 16 bits de dados):

Se o bit 5 fosse invertido por uma sobrecarga eltrica, a nova palavra de cdigo seria oo1001100000101101110, invalidando os bits de paridade 1 e 4. Uma vez detectado o erro, todos os demais bits de paridade so verificados. Atravs desta anlise, poderamos facilmente descobrir que o bit 5 est incorreto. Desta forma, o bit 5 pode ser corrigido automaticamente.