Você está na página 1de 36

UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CINCIAS TECNOLGICAS CCT Departamento de Cincia da Computao

Professor Edino Mariano Lopes Fernandes

Nota importante: Existem materiais includos nesta apostila de outros autores e fontes bibliogrficas quase todas devidamente identificadas (algumas fontes no foi possvel de serem identificadas, trechos de textos, questes soltas, pinadas aqui e ali, etc. Caso o usurio conhea alguma fonte no identificada no texto, por favor, comunique para que se efetue os devidos crditos). Alguns tens foram retiradas de Web sites, sendo de uso livre. Para informaes mais completas, deve-se recorrer aos livros ou Web sites citados na bibliografia fornecida na apostila da disciplina.

Captulo VII Dispositivos de Armazenamento 7.1 A MEMRIA A principal vantagem dos sistemas digitais sobre os analgicos a capacidade de armazenar grandes quantidades de informaes. Esta capacidade que torna os sistemas digitais to versteis e adaptveis s diversas situaes. A memria o componente de um sistema de computao cuja funo armazenar as informaes que so (ou sero) manipuladas por esse sistema, para que elas (as informaes) possam ser prontamente recuperadas quando necessrio. Um dispositivo de memria conhecido o flip-flop. Grupos de flip-flops, chamados registradores, so elementos de memria de alto desempenho que so muito usados nas operaes internas de um computador. Um outro dispositivo de memria pode ser um capacitor onde os dados so armazenados como cargas. Funcionalmente, a memria pode conter dois tipos de informaes: programas e dados. Um programa uma seqncia de instrues que depois de codificada na forma binria pode residir numa memria eletrnica. Programas e dados so tratados de modos diferentes. O programa especifica a seqncia de passos a serem executados pelo computador. Sob a superviso da Unidade de Controle, cada uma das sucessivas instrues do programa acessada e depositada num registrador especial da Unidade de Controle, onde decodificada e executada. Um exemplo tpico de instruo seria "adicionar os contedos de dois registradores e armazenar num terceiro registrador". Os dados armazenados na memria so processados pela ULA. Os dados podem ter uma variedade de formatos. Em geral, dados so nmeros ou caracteres representados no sistema binrio. O termo Memria usualmente designa vrios tipos de memria e dois tipos so sempre mais usados: memria principal e memria secundria. A memria principal usada para armazenar o programa que est sendo executado e os dados requisitados ou gerados pela sua execuo. Este tipo de memria deve ser rpida (para no retardar a CPU) e relativamente cara. O ciclo de memria (tempo de resposta) medido na ordem de centenas de nanossegundos: 50 a 70 ns, onde 1 ns = 10-9 s. O tamanho mximo (capacidade) de uma memria principal limitada pelo custo e pela capacidade de endereamento da CPU; por isso, uma forma de memria de maior capacidade e mais econmica (memria de massa ou secundria) usualmente exigida. Definio de termos bsicos:
-

Clula de memria dispositivo ou circuito capaz de armazenar bits. Por exemplo, flipflops, capacitores, etc. Palavra de memria grupo de bits (clulas) em uma memria que representa instrues ou dados. Byte conjunto de 8 bits. Capacidade nmero de bits que podem ser armazenados em um dispositivo de memria. 7.1.1 Memria Principal

Uma das caractersticas definidas no projeto de arquitetura de von Neumann, consistia no fato de ser uma mquina de programa armazenado. O fato de as instrues, uma aps a outra, poderem ser imediatamente acessadas pela CPU que garante o automatismo do sistema de computao e aumenta a velocidade de execuo dos programas.

148

A Memria Principal MP - a memria bsica de um sistema de computao. o dispositivo onde o programa (e seus dados) que vai ser executado armazenado para que a CPU busque instruo por instruo, para execut-las. Apresenta-se a seguir alguns conceitos apresentados pela primeira vez: a) j expostos juntamente com outros

b)

c)
d)

a MP o depsito de trabalho da CPU, ou seja, a CPU e a MP trabalham juntos na execuo de um programa. As instrues e os dados do programa ficam armazenados na MP e a CPU vai buscando-os um a um medida que a execuo vai se desenrolando; os programas so organizados de modo que os comandos so descritos seqencialmente e o armazenamento das instrues se faz da mesma maneira, fisicamente seqencial (embora a execuo nem sempre se mantenha seqencial); palavra a unidade de informao do sistema CPU/MP que deve reepresentar o valor de um nmero (um dado) ou uma instruo de mquina. endereo, contedo e posio de MP em toda organizao composta de vrios elementos, que podem ser identificados e localizados individualmente para, com eles, ser realizado algum tipo de atividade, h necessidade de se estabelecer um tipo qualquer de identificao para cada elemento e associar a esta identificao um cdigo (ou coisa parecida) que defina sua localizao dentro da organizao, de modo que cada elemento possa ser facilmente identificado e localizado. Veja figura 7.1.

Figura 7.1 - Endereo e contedo na memria.

e)

f)

unidade de armazenamento consiste no grupo de bits que inequivocamente identificado e localizado por um endereo. A MP organizada em unidades de armazenamento, denominadas clulas, cada uma possuindo um nmero de identificao seu endereo e contendo em seu interior uma quantidade M de bits, que se constitui na informao propriamente dita. Unidade de transferncia de ou para a MP, consiste na quantidade de bits que transferida da memria em uma operao de leitura ou transferida para a memria em uma operao de escrita.

149

A memria principal de qualquer sistema de computao organizada como um conjunto de N clulas seqencialmente dispostas a partir da clula de endereo igual a N 1, conforme mostrado na figura 7.2.

Figura 7.2 -Organizao da Memria

Figura 17. Organizao da memria

Cada clula construda para armazenar um grupo de M bits, que representa a informao propriamente dita e que manipulado em conjunto (como se fosse uma nica unidade) em uma operao de leitura ou de escrita. Essencialmente, o espao de armazenamento da memria principal (genericamente chamada de RAM) um grupo de N clulas, cada uma podendo armazenar um grupo de M bits. Esta a memria de trabalho da CPU e, portanto, deve permitir o armazenamento de instrues e dados (operao de escrita) e tambm a leitura destas mesmas informaes e dados. Todo sistema precisa, para iniciar seu funcionamento regular, de um grupo de instrues (normalmente pequenos programas) que esteja permanentemente armazenado na MP de modo que, ao ser ligado, o computador inicie automaticamente o funcionamento do sistema. Essas instrues vm junto com o hardware e so gravadas em memrias ROM (Read Only memory). A quantidade de bits que pode ser armazenada em cada clula um requisito definido pelo fabricante da memria. Uma clula contendo M bits permite o armazenamento de 2M conbinaes de valores, uma de cada vez. Veja a figura 7.3.

Figura 7.3 - Memria com M bits e N clulas

150

A figura 7.4 mostra exemplos de memrias com diferentes tamanhos de clulas, porm com a mesma quantidade de clulas. J na figura 32, temos memrias com o mesmo tamanho de clula, porm com quantidades diferentes de clulas.

Figura 7.4 - Outras configuraes de memria

A quantidade de bits do nmero que representa um determinado endereo, por exemplo, 16 bits do nmero 1AC5 na figura 7.4, define a quantidade mxima de endereos que uma MP pode ter, bem como seu espao de endereamento. No exemplo citado, este espao de endereamento ou capacidade mxima da memria de 64K clulas, porque 2 16 = 26 . 210 = 64K. Como todas as clulas t6em o tamanho de 1 byte, a quantidade de clulas sempre igual quantidade de bytes. Conforme mencionado, possvel realizar duas operaes em uma memria: Escrita (Write) armazena informaes na memria; Leitura (Read) recupera uma informao armazenada na memria. Pode-se observar na figura 7.5 uma ilustrao dos elementos que compem a estrutura CPU/MP que so utilizadas nas operaes de leitura e escrita nas memrias.

Figura 7.5 Estrutura CPU/MP

151

Registrador de Dados da Memria - RDM ( Memory Buffer Register - MBR ): registrador que armazena temporariamente a informao (contedo de uma ou mais clulas) que est sendo transferida da MP para a CPU (em uma operao de leitura) ou da CPU para a MP (em uma operao de escrita). Permite armazenar a mesma quantidade de bits do barramento de dados. Barramento de Dados: interliga o RDM MP para transferncia de informaes entre a MP e a CPU (sejam instrues ou dados). bidirecional os sinais percorrem o barramento da CPU para MP (escrita) ou da MP para CPU (leitura). Registrador de Endereos da Memria - REM ( Memory Address Register MAR ): armazena temporariamente o endereo de acesso a uma posio de memria, ao se iniciar uma operao de leitura ou escrita. Em seguida o referido endereo encaminhado rea de controle da MP para decodificao e localizao da clula desejada. Permite armazenar a mesma quantidade de bits do baramento de endereos. Barramento de Endereos: interliga o REM MP para transferncia dos bits que representam um determinado endereo. unidirecional, visto que a CPU que aciona a MP para realizao de operaes de leitura ou escrita. Possui tantos fios (ou linhas de transmisso) quantos so os bits que representam o valor de um endereo. Barramento de Controle: interliga a CPU (unidade de controle) MP para passagem de sinais de controle durante uma operao de leitura ou escrita. bidirecional porque a CPU pode enviar sinais de controle para a MP, como sinal indicador de que a operao de leitura (READ) ou de escrita (WRITE), e a MP pode enviar sinais do tipo WAIT (aguarde o trmino da uma operao). Controlador: ou decodificador. Tem por funo gerara os sinais necessrios para controlar o processo de leitura ou escrita, alm de interligar a memria aos demais componentes do sistema de computao. ele que decodifica o endereo colocado no barramento de endereos, localizando a clula desejada. 7.1.2 Clculos com a Capacidade da MP (RAM). A memria principal (RAM) um conjunto de N clulas com seu respectivo endereo), cada qual armazenando um valor com M bits. O valor de N representa a capacidade da memria, atravs da quantidade de clulas ou de endereos. O valor de M indica a quantidade de bits que pode ser armazenada em uma clula individual (a informao propriamente dita).

152

Como 1 bit representa apenas um entre dois valores (base binria), podemos concluir que:
a)

pode-se armazenar em cada clula um valor entre 0 e (2M 1), um de cada vez. So 2M combinaes possveis.

Por exemplo, se M = 8 bits, temos 28 = 256. Seriam armazenados valores entre 0000 0000 e 1111 1111 (0 e 25510).
b)

a MP tendo N endereos e sendo E = quantidade de bits dos nmeros que representam cada um dos N endereos, ento: N = 2E

Por exemplo, se N = 512, ento 512 = 2E, e E = 9, pois 29 = 512. c) o total de bits que podem ser armazenados na MP denominado T, sendo: T= N x M = 2E x M No exemplo de uma RAM com 512 clulas, cada uma com 8 bits de tamanho, temos: T= 512 x 8 = 4096 bits = 4 x 1024 bits = 4K bits Exemplos: Uma determinada memria tem uma capacidade entrada/sada de dados ela tem? R: Oito, pois o tamanho da palavra oito bits. de 4K x 8. Quantas linhas de

Quantas linhas de endereo ela tem? R: A memria armazena 4K = 4 x 1024 = 4096 palavras. Tendo em vista que 4096 = 2 12, logo a memria tem 12 bits (linhas) de endereo. Qual a sua capacidade em bytes? R: Um byte tem oito bits, ento esta memria tem uma capacidade de 4096 bytes. Exemplos: Um certo chip de memria semicondutora especificado como 2K x 8. Quantas palavras podem ser armazenadas neste chip? Qual o tamanho da palavra? Quantos bits esse chip pode armazenar no total? R: A memria possui capacidade de 2K = 2 x 1024 = 2048 palavras. Cada palavra tem 8 bits (um byte). O nmero total de bits 2048 x 8 = 16384 bits. Qual das memrias armazena mais bits: uma memria de 5M x 8 ou uma memria que armazena 1M palavras com um tamanho de palavra de 16 bits? R: 5M x 8 = 5 x 1048576 x 8 = 41.943.040 bits 1M x 16 = 1048576 x 16 = 16.777.216 bits A memria de 5M x 8 armazena mais bits.

153

7.1.3 Ponteiro Ponteiro dentro da estrutura de dados, no nada mais que uma varivel. Varivel alocao de memria. Quando se declara uma varivel est-se informando ao computador que aloque uma quantidade de memria para que se possa guardar alguma informao nesse espao reservado. O tipo do da varivel o que vai definir o tamanho desse espao, pois conforme o tipo de dado a ser armazenado, este ocupa um espao diferente, como por exemplo valores de ponto flutuante ocupam mais espao que inteiros.

Figura 7.6 - Divises da memria de acordo com o tamanho da palavra

Este espao ocupa memria fsica do computador, toda memria de computador dividida em pequenas clulas. Na Figura 7.6 so apresentados 3 forma de diviso de uma memria de 96 Bits. A memria secundria usada para armazenar programas e dados, ou pores deles, que no so imediatamente solicitados pela CPU ou simplesmente no podem ser acomodados na memria principal. O acesso memria de massa torna mais lento o computador, especialmente se acessos freqentes so solicitados. Idealmente um programa armazenado na memria de massa para armazenamento permanente e carregado na memria principal para sua execuo. Exemplos tpicos de dispositivos de memria secundria, tambm chamados perifricos de armazenamentos, so os discos, cassetes e fitas magnticas. Cada chip de memria mantm suas informaes na forma de dgitos binrios, ou bits, codificados como cargas eltricas. Essas cargas so armazenadas em cada chip, em locaes particulares ou endereos. Cada endereo encontra-se tambm sob a forma binria. As instrues saem da CPU como uma srie de pulsos eltricos codificados para encontrar um determinado endereo; a informao a encontrada retorna - tambm sob a forma de pulsos codificados - CPU, para processamento. Os cdigos de endereo viajam
154

em fios paralelos, chamados barramento de endereos; a informao retorna CPU tambm por fios paralelos, chamados barramento de dados. O decodificador de endereos ajuda a dirigir os pulsos eltricos aos seus destinos. 7.2 Nmero de bits da memria Alm do nmero de bits internos do processador (nmero de bits que o microprocessador capaz de processar internamente em uma nica operao) deve-se mencionar o nmero de bits externos, ou seja, o nmero de bits que um microprocessador pode ler ou gravar na memria em nica operao.
Tabela 1 Os bits internos e externos dos processadores.

Microprocessador 8088 8086 80286 80386SX 80386DX 80486 Pentium II, III e 4, Athlon XP, Duron, etc. Athlon 64, Intel Core 2 duo, etc.

Bits Internos 16 16 16 32 32 32 32 64

Bits Externos 8 16 16 16 32 32 64 64

Quanto maior for o nmero externo de bits de um microprocessador, mais rpido poder ler e escrever dados na memria, o que contribui muito para o desempenho do computador.

7.3 Clock As freqncias com as quais os processadores trabalham so chamadas tambm de clock interno. Neste ponto, voc certamente j deve ter entendido que da que vem expresses como Pentium 4 de 3,2 GHz, por exemplo. Mas, os processadores tambm contam com o que chamamos de clock externo ou Front Side Bus (FSB) ou, ainda, barramento frontal. O FSB existe porque, devido a limitaes fsicas, os processadores no podem se comunicar com a memria (mais precisamente, como a ponte norte - ou northbridge - do chipset, que contm o controlador da memria) usando a mesma velocidade do clock interno. Assim, quando essa comunicao feita, o clock externo, de freqncia mais baixa, que usado. Note-se que, para obter o clock interno, o processador usa uma multiplicao do clock externo. Para entender melhor, suponha-se que um determinado processador tenha clock externo de 100 MHz. Como o seu fabricante indica que esse chip trabalha 1,6 GHz (ou seja, tem clock interno de 1,6 GHz), seu clock externo multiplicado por 16: 100 x 16 = 1600 MHz ou 1,6 GHz.

155

Figura 7.7 O clock e a transferncia de dados (Fonte: http://www.colinfahey.com)

7.4 Latncia

Latncia o tempo que a memria leva para fornecer um dado solicitado. Assim, quanto menor o valor da latncia, mais rpida a "entrega". No computador,
todas as medidas de tempo so feitas em termos de ciclos de clock. Por exemplo, uma memria RAM com latncia 5 significa que vai levar cinco ciclos de clock completos para comear a transferncia de dados. Dentro da CPU, todas as instrues precisam de um certo nmero de ciclos de clock para serem executadas. Por exemplo, uma determinada instruo pode levar sete ciclos de clock para ser completamente executada. Existem instrues que necessitam de apenas um ciclo para sua execuo. Outras instrues mais complexas podem levar 2, 3 ou mais ciclos. Obviamente, quanto maior o nmero de ciclos por segundo (ou seja, o clock), maior ser o nmero de instrues que podem ser executadas. Da mesma forma, os acessos memria tambm ocupam ciclos. Por exemplo, se cada acesso memria levar 2 ciclos, um microprocessador de 4 Ghz poder executar 2 bilhes de acessos memria a cada segundo.
Dois processadores diferentes - um da Intel e outro da AMD, por exemplo - tendo clock interno de mesmo valor - 2,8 GHz, para exemplificar -, no significa que ambos trabalham mesma velocidade. Cada processador tem um projeto distinto e conta com caractersticas que determinam o quanto rpido. Assim, um determinado processador pode levar, por exemplo, 2 ciclos de clock para executar uma instruo. Em outro processador, essa mesma instruo pode requerer 3 ciclos. Alm disso, muitos processadores - especialmente os mais recentes - transferem 2 ou mais dados por ciclo de clock, dando a entender que um processador que faz, por exemplo, transferncia de 2 dados por ciclo e que trabalha com clock externo de 133 MHz, o faz 266 MHz. Por esses e outros motivos, um erro considerar apenas o clock interno como parmetro de comparao entre processadores diferentes. O aumento de velocidade do sinal de clock do processador trouxe um problema. A placa-me onde o processador instalado no pode funcionar usando o mesmo sinal de clock, pois com taxas de clock muito altas altas, a fiao (trilhas) usadas nas motherboards comeam a funcionar como antenas, por isso o sinal, em vez de chegar outra extremidade do fio, simplesmente desaparece, sendo transmitido como onda de rdio. Os fabricantes de processadores comearam a usar, ento, um novo conceito, chamado multiplicao de clock, que comeou com o processador 486DX2. Com esse esquema, que usado em todos os processadores atualmente, o processador tem um clock externo, que usado quando dados so transferidos de e para a memria RAM (usando o chip da ponte norte), e um clock interno mais alto. Para darmos um exemplo real, em um Pentium 4 de 3,4 GHz, estes 3,4 GHz referem-se ao clock interno do processador, que obtido quando multiplicamos por 17 seu clock externo de 200 MHz. Veja esse exemplo na Figura 7.8.

156

Figura 7.8 - Clocks interno e externo em um Pentium 4 de 3,4 GHz. A grande diferena entre o clock interno e o clock externo em processadores modernos uma barreira a ser transposta visando aumentar o desempenho do computador. Continuando com o exemplo do Pentium 4 de 3,4 GHz, ele tem que reduzir sua velocidade em 17x quando tem que ler dados da memria RAM. Durante esse processo, ele funciona como se fosse um processador de 200 MHz. Diversas tcnicas so usadas para minimizar o impacto dessa diferena de clock. Um deles o uso de memria cache dentro do processador. Outra transferir mais de um dado por pulso de clock. Processadores tanto da AMD como da Intel usam esse recurso, mas enquanto os processadores da AMD transferem dois dados por ciclo de clock, os da Intel transferem quatro dados por ciclo de clock. Por causa disso, os processadores da AMD so listados como se tivessem o dobro de seus verdadeiros clocks externos. Por exemplo, um processador da AMD com clock externo de 200 MHz listado como tendo 400 MHz. O mesmo acontece com processadores da Intel com clock externo de 200 MHz, que so listados como se tivessem clock externo de 800 MHz.

Figura 7.9 - Transferindo mais de um dado por ciclo de clock. A tcnica de transferir dois dados por ciclo de clock chamada DDR (Dual Data Rate), enquanto que a tcnica de transferir quatro dados por ciclo de clock chamada QDR (Quad Data Rate).

7.5 Acesso Memria Uma memria logicamente organizada em palavras. Uma palavra uma unidade lgica de informao consistindo de um nmero de bits (digamos 4, 8, l6, 32 ou 64 bits; Um microprocessador pode requisitar dados de 8 bits. Nesse caso, o tamanho normal da palavra para um microprocessador de 8 bits , portanto, oito bits; isto , a memria para um microprocessador de 8 bits logicamente estruturada em palavras de 8 bits. H microprocessadores, como o Pentium, que podem requisitar dados de 64 bits e a, a memria para esse microprocessador deve ser logicamente organizada em palavras de 64 bits.

157

A organizao lgica de um mdulo de memria mostrada na Figura 36. A largura de uma memria um nmero de bits que podem ser acessados simultaneamente, isto , o tamanho da sua palavra (neste exemplo, de um byte). Os bits so normalmente numerados de 0 a n. No caso de um microprocessador de 8 bits (que usado como nosso microprocessador padro neste texto), a posio de um bit na memria ser, portanto, referenciado por um dgito de 0 a 7. Cada dgito de 0 a 7 representa a posio binria do bit na palavra. No sistema binrio, o dgito mais direita (bit 0) representa a potncia 0 de dois; o prximo bit esquerda, bit 1, representa a potncia l de 2, e assim por diante. Isto porque as posies dos bits so usualmente numeradas de 0 a 7 em vez de l a 8, e tambm porque eles so numerados da direita para a esquerda em vez de ser da esquerda para a direita. A capacidade, ou tamanho, de uma memria o nmero de palavras que ela contm. A posio de uma palavra dentro da memria tida como o seu endereo. A primeira palavra da memria tem o endereo 0, a prxima palavra tem o endereo l, e assim por diante. Por razes de eficincia na decodificao, o tamanho da memria normalmente uma potncia de dois, por exemplo, 256, 5l2, 1K, 2k, 4k ou mais palavras.

Figura 7.10 - Organizao Lgica da Memria Principal para um microprocessador de 8 bits.

Para ler o contedo de uma palavra de memria necessrio especificar o seu endereo. Cada mdulo de memria por isso conectado ao Barramento de Endereo. Um Barramento de Endereo tpico, formado por 16 linhas de tal modo que ele possa especificar at 64 K (2 elevado a potncia l6) posies de memria. Se a capacidade real da memria menor do que 64 K, menos linhas de endereamento podem ser usadas. Para referenciar uma palavra na memria, uma configurao de bits especificando o endereo da palavra desejada na memria enviada pelo Barramento de Endereo. Os bits vindos do Barramento de Endereo so ligados a um Decodificador dentro do chip de memria. O decodificador seleciona a palavra no endereo especificado na memria. Em resposta a um sinal de controle, tal como ESCREVA (WRITE) para uma operao de ESCRITA (GRAVAO), produzida a gravao do dado vindo do Barramento de Dados na palavra de memria selecionada. No caso de uma operao de LEITURA (READ), uma palavra de memria lida e o seu contedo colocado no Barramento de Dados. Aps um certo TEMPO DE ACESSO, o dado se torna disponvel nos oito pinos de sada do chip de memria (as palavras tm 8 bits de comprimento no nosso exemplo). Esses 8 pinos esto conectados ao Barramento de Dados.

158

No h nenhum relacionamento direto entre o nmero de bits vindos da memria com o dado e o nmero de bits de endereamento que chegam. Os bits de endereamento especificam uma posio na memria e so usados para selecionar locaes de uma palavra atravs de decodificadores especiais. A palavra de dado correspondendo posio selecionada pode ser de comprimento arbitrrio, de l a p bits. Por exemplo, um chip de pequena memria poderia conter 64 palavras x 8 bits. Neste caso, o Barramento de Endereo exigido para selecionar uma palavra nesta memria poderia ser formado por apenas 6 linhas (64 = 2 elevado potncia 6). Entretanto, para cada um dos 64 endereos especificados que poderiam vir neste Barramento de Endereo reduzido, poderia-se ter ainda dados de 8 bits saindo da memria durante uma operao de leitura. Se a memria tivesse uma capacidade bem maior, digamos 64 K locaes, l6 bits de endereamento seriam exigidos, apesar do dado a ser extrado do Barramento de Dados ou a ser para ele transferido, ser formado ainda por 8 bits no nosso exemplo. Seqncia para uma operao de ESCRITA (WRITE): Um endereo especificado no Barramento de Endereo e o dado colocado no Barramento de Dados. Uma ordem, ESCREVA (WRITE), enviada memria atravs do Barramento de Controle, e a memria escreve o dado que est no Barramento de Dados (8 bits no nosso exemplo) na locao de memria especificada. O tempo requerido para escrever o dado na memria chamado CICLO DE MEMRIA. Normalmente, esse tempo maior do que o tempo de acesso cerca de 20 a 50%.
-

Leitura ou busca operao na qual uma palavra binria localizada numa determinada posio (endereo) de memria detectada e transferida para outro dispositivo. Escrita ou armazenamento operao na qual uma nova palavra colocada numa determinada posio de memria. Tempo de acesso tempo necessrio entre a memria receber uma nova entrada de endereo e os dados se tornarem disponveis na sada da memria. Este parmetro usado para medio de desempenho da memria. Ciclo de Memria intervalo mnimo entre dois acessos sucessivos memria.

7.6 Hierarquia de Memrias Para o correto e eficaz funcionamento da manipulao das informaes (instrues de um programa e dados) de e para a memria de um computador, verifica-se a necessidade de se ter, em um mesmo computador, diferentes tipos de memria. Para certas atividades, por exemplo, fundamental que a transferncia de informaes seja a mais rpida possvel. o caso das atividades realizadas internamente no processador central, onde a velocidade primordial, porm a quantidade de bits a ser manipulada muito pequena (em geral, corresponde quantidade de bits necessria para representar um nico valor - um nico dado). Isso caracteriza um tipo de memria diferente, por exemplo, daquele em que a capacidade da memria (disponibilidade de espao para guardar informaes) mais importante que a sua velocidade de transferncia. Ainda em relao ao tipo de alta velocidade e pequena quantidade de bits armazenveis, que se usa na CPU, existem variaes decorrentes do tipo de tecnologia utilizada na fabricao da memria.

159

Figura 7.11 - Hierarquia de memrias.

Devido a essa grande variedade de tipos de memria, no possvel implementar um sistema de computao com uma nica memria. Na realidade, h muitas memrias no computador, as quais se interligam de forma bem estruturada, constituindo um sistema em si, parte do sistema global de computao, podendo ser denominado subsistema de memria. Esse subsistema projetado de modo que seus componentes sejam organizados hierarquicamente, conforme mostrado na estrutura em forma de pirmide da figura 7.11. A pirmide em questo projetada com uma base larga, que simboliza a elevada capacidade, o tempo de uso e o custo do componente que a representa. comum representar-se a hierarquia de memria de um computador por uma pirmide.

7.7 Princpios de Operao das Memrias Independente dos tipos de memrias existentes, o princpio bsico de operao o mesmo: - Selecionar o endereo a ser acessado (leitura ou escrita); - Selecionar o tipo de operao: leitura ou escrita; - Se a operao for escrita, fornecer os dados de entrada; - Se a operao for leitura, os dados estaro disponveis na sada; - Habilitar a memria para que a operao seja concluda e desabilitar a memria para que ela no responda s entradas de endereo e ao comando de leitura/escrita. -

160

Figura 7.12 - Diagrama de uma memria de 32 x 4

Entradas de Endereos Usando a memria mostrada na figura 42, podemos notar que ela possui 5 entradas de endereo (A0 a A4). Logo existem 32 posies (2 N, onde N o n de bits) de armazenamento que podem ser ocupadas por palavras de 4 bits (D0 a D3). A Entrada R / W Esta entrada controla a operao que deve ser realizada na memria: leitura (R Read) ou escrita (W Write). Quando esta entrada estiver em 1 ocorre a operao de leitura, quando em 0 ocorre a operao de escrita. Algumas memria usam os smbolos W (escrita) ou WE (habilitao de escrita) para identificar esta entrada. Habilitao da Memria (ME) A todo momento a memria possui nveis lgicos em suas entradas e o pino de habilitao de memria impede que ela responda a estes nveis lgicos, evitando assim um acesso errneo nesta memria. Esta entrada pode ser identificada como CE (chip enable) ou CS (chip select). Em resumo, h duas operaes principais que podem ser realizadas em uma memria. A primeira a ao de guardar um elemento (ou grupo de elementos) ao chamada de armazenar correspondente operao em si, que realizada para a consecuo desta ao de armazenamento, que chamada de escrita ou gravao (write). A segunda a ao de recuperao do elemento de informao guardado (ou grupo de elementos) para um uso qualquer ao chamada recuperar (retrieve) e a operao para realiz-la chama-se leitura (read). Como visto, os sistemas de computao costumam grupar uma determinada quantidade de bits, identificando este grupo como uma unidade de armazenamento, denominada clula. Uma clula , ento, um grupo de bits tratado em conjunto pelo sistema, isto , esse grupo movido em bloco como se fosse um nico elemento, sendo assim identificado para efeitos de armazenamento e transferncia, como uma unidade. As clulas so identificadas, uma a uma, por um nmero, tambm denominado endereo.

161

Endereo nmero que localiza a posio de uma palavra na memria. Endereo 000 001 010 011 100 101 110 111 Cada palavra tem um endereo binrio especfico. Contedo Palavra 0 Palavra 1 Palavra 2 Palavra 3 Palavra 4 Palavra 5 Palavra 6 Palavra 7

Densidade termo relativo capacidade. Se um dispositivo mais denso que outro ele tem capacidade de armazenar mais bits no mesmo espao.

7.8 Principais parmetros e caractersticas das memrias. Tempo de Acesso indica quanto tempo a memria gasta para colocar uma informao na barra de dados aps uma determinada posio ter sido endereada. Isto , o perodo de tempo decorrido desde o instante em que foi iniciada a operao de acesso (quando a origem- em geral a CPU- passa o endereo de acesso para o istema de memria) at que a informao requerida (instruo ou dado) tenha sido efetivamente transferida. Varia de acordo com o tipo de memria, desde alguns nanossegundos (RAM) at dezenas ou centenas de milissegundos (HDs, CD-ROMs, etc.). Ciclo de memria o perodo de tempo decorrido entre duas operaes sucessivas de acesso memria, sejam de escrita ou leitura. Ciclo de Leitura O ciclo de leitura mostrado na figura 7.13.

Figura 7.13 - Ciclo de leitura

Onde:
162

trc = intervalo de durao do ciclo de leitura; tacc = tempo de acesso RAM; tco = tempo que a sada da RAM leva para sair de alta impedncia e ter um dado vlido; tod = tempo decorrido entre a desabilitao da RAM e o instante que as sadas da RAM vo para alta impedncia. Durante o ciclo de leitura, a CPU coloca um endereo no barramento de endereos ligado RAM. Este endereo corresponde posio de memria que deve ser lida. A CPU sinaliza a operao de leitura atravs de um nvel ALTO na entrada R / W . A CPU habilita a memria colocando a entrada CS em nvel BAIXO. A RAM responde a isso colocando o contedo da posio endereada nas sadas de dados. Depois disso a memria desabilitada ( CS ALTO) e suas sadas ficam em tri-state (alta impedncia). Ciclo de Escrita O ciclo de escrita mostrado na figura 7.14.

Figura 7.14 - Ciclo de escrita

Onde: twc = intervalo de durao do ciclo de escrita; tas = tempo para estabilizao do barramento de endereos, antes de habilitar a RAM; tah = intervalo necessrio para que o barramento de endereos permanea estvel; tw = tempo de escrita, onde CS e R / W ficam em BAIXO; tds = tempo que os dados devem ser mantidos na entrada antes da desabilitao de CS e R/W; tdh = tempo que os dados devem ser mantidos na entrada depois da desabilitao de CS e R/W. No ciclo de escrita, a CPU coloca um endereo estvel no barramento de endereos. Nesse endereo o dado deve ser escrito. Ela coloca o dado a ser armazenado no barramento de dados. A CPU sinaliza a operao de escrita, colocando nvel BAIXO na entrada R / W . A CPU habilita a memria colocando a entrada CS em nvel BAIXO. O dado transferido

163

para a posio de memria indicada pelo endereo. A memria , ento, desabilitada ( CS ALTO) e suas sadas ficam em tri-state. Capacidade a quantidade de informao que pode ser armazenada em uma memria. Ex: a memria ROM tem 32 kbytes; o disco C tem capacidade para armazenar 40 Gbytes. Volatilidade Uma memria voltil aquela que perde a informao armazenada quando o equipamento desligado (interrupo da alimentao eltrica ou desligamento da chave ON/OFF do equipamento). Uma memria no-voltil a que retm a informao armazenada quando o equipamento desligado. Uma vez que o processador nada pode fazer sem instrues que indiquem a prxima operao a ser realizada, todo sistema deve possuir uma quantidade de memria no-voltil que armazene algumas instrues para serem executadas inicialmente, assim que se ligue o computador. Registradores so memria do tipo voltil, assim como memrias RAM. Memrias magnticas e ticas, como discos e fitas e memrias do tipo ROM so do tipo no-voltil. possvel manter a energia em uma memria voltil com o emprego de baterias. Tecnologia de fabricao diversas tecnologias so desenvolvidas para a fabricao de memrias. Algumas das mais conhecidas so: a) Memrias de Semicondutores: so dispositivos fabricados com circuitos eletrnicos e baseados em semicondutores. So rpidas e relativamente caras, se comparadas a outros tipos. Registradores, memria principal e memria cach so exemplos. b) Memrias de Meio Magntico: so dispositivos, como os disquetes e discos rgidos (hard disks), fabricados de modo a armazenar informaes sob a forma de campos magnticos. Memrias de Meio tico: so dispositivos de armazenamento tico (usam um feixe de luz laser para marcar o valor 0 ou 1 na superfcie) capazes de armazenar grandes quantidades de informao. CD-ROM (R, R/W), DVD so exemplos.

c)

Temporariedade trata-se de uma caracterstica que indica o conceito de tempo de permanncia da informao em um dado tipo de memria. Por exemplo, em discos e disquetes as informaes podem permanecer indefinidamente (entenda-se, meses ou anos, embora exista a possibilidade de perda de magnetismo com o passar do tempo). Esse tipo de memria pode ser considerada como permanente. J os registradores armazenam um dado por muito pouco tempo (nanossegundos) o suficiente para a informao ser transferida para a ULA. uma memria do tipo transitria. 7.9 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 dela) e transferi-la para um dos registradores da CPU. Muitas instrues requerem outros acessos memria, seja para transfer6encia de dados para a CPU (que sero processados na ULA), seja para a transferncia do resultado de uma operao da CPU para a memria. Ou seja, para a realizao de um ciclo de uma instruo h sempre a necessidade de ser realizado um ou mais ciclos de memria. Da que, a durao da execuo de um ciclo de instruo bastante afetada pela demora dos ciclos de memria.
164

Para melhorar o desempenho dos sistemas de computao (o gargalo de congestionamento na comunicao CPU/MP que degrada o desempenho do sistema) 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 e, com isoo, aumentar o desempenho dos sistemas de computao. J que acessar a memria principal para buscar dados faz com que o processador trabalhe a uma taxa de clock inferior, a tcnica da memria cache usada. Quando o processador carrega um dado de uma certa posio da memria, um circuito chamado controlador de memria cach carrega na memria cache um bloco inteiro de dados abaixo da atual posio que o processador acabou de carregar. Como normalmente os programas rodam de maneira seqencial, a prxima posio de memria que o processador ir requisitar ser provavelmente a posio imediatamente abaixo da posio da memria que ela acabou de carregar. Como o controlador de memria cache j carregou um monte de dados abaixo da primeira posio de memria lida pelo processador, o prximo dado estar dentro da memria cache, portanto o processador no precisa sair para buscar os dados: eles j esto carregados na memria cache embutida no processador, os quais ela pode acessar sua taxa de clock interna. O controlador de cache est sempre observando as posies de memria que esto sendo carregadas e carregando dados de vrias posies de memria depois da posio de memria que acaba de ser lida. Para dar-se um exemplo real, se o processador carregou dados armazenados no endereo 1.000, o controlador de cache carregar dados do endereo n aps o endereo 1.000. Esse nmero n chamado pgina; se um dado processador est trabalhando com pginas de 4 KB (que um valor tpico), ele carregar dados de 4.096 endereos abaixo da atual posio de memria que est sendo carregada (endereo 1.000 no exemplo). Na Figura 7.15 ilustra-se esse exemplo.

Figura 7.15 - Como funciona o controlador de memria cache.

165

Quanto maior a memria cache, maiores so as chances de que a informao necessria ao processador j esteja l, ento o processador precisar acessar diretamente a memria RAM com menos freqncia, e assim aumentando o desempenho do sistema. Chama-se de acerto (hit) quando o processador carrega uma informao requisitada do cache, e de erro (miss) se a informao requisitada no est l e o processador precise acessar a memria RAM do sistema. Existem, geralmente, trs memrias cache distintas (cache de dados L1, cache de instruo L1 e L2). Na Figura 7.16 v-se que o cache de instruo L1 funciona como cache de entrada, enquanto o cache de dados L1 funciona como cache de sada. O cache de instruo L1 que geralmente menor que o cache L2 particularmente eficiente quando o programa comea a repetir uma pequena parte dele (loop), porque as instrues requisitadas estaro mais prximas da unidade de busca.

Figura 7.16 As trs caches distintas

Obs.:Os processadores Pentium 4 (e processadores Celeron soquetes 478 e 775) no possuem cache de instruo L1. Em vez disso eles possuem cache de rastreamento de execuo, que um cache localizado entre a unidade de decodificao e a unidade de execuo. Portanto, o cache de instruo L1 est l, mas com nome e lugar diferentes.

Em princpio, pode-se definir dois tipos bsicos de emprego de cache: - na relao CPU/MP (Cache de RAM ou RAM cache) e - na relao MP/Discos (cache de disco ou Disk cache). O primeiro tipo, cache de RAM, refere-se ao conceito onde a memria cache utilizada para substituir o uso da memria principal pela CPU, acelerando o processo de transferncia de dados desejados pela CPU. No segundo tipo, cache de disco, o sistema ao invs de utilizar a memria de alta velocidade SRAM para servir de cache, usa uma parte da memria principal, DRAM, como se fosse um espao em disco. Desse modo, quando um programa requer um dado que esteja armazenado em disco, primeiro o sistema verifica se o dado est no espao reservado na memria RAM e que simula o espao em disco. Se o dado for encontrado no
166

buffer da memria haver um acerto (hit), aumentando excepcionalmente o desempenho do sistema visto que o acesso memria RAM milhares de vezes mais rpido que o acesso ao disco. Com esta memria o funcionamento pode ser resumido ao seguinte: 1) Sempre que a CPU busca uma nova instruo(ou dado), ela acessa a memria cache; 2) Se a instruo estiver na cache, chama-se de acerto (ou hit), ela transferida em alta velocidade (compatvel com a da CPU); 3) Se a instruo (ou dado) no estiver na cache, chama-se falta (ou miss)ento o sistema est programado para interropmper a execuo do programa e transferir a instruo desejada da MP para a cache. A transferncia no restrita somente a instruo requisitada, mas sim dela e de um conjunto de instrues subseqentes e que sero requeridas pela instruo, assim elas j estaro na cach quando necessrio. A Memria cache tambm chamada memria esttica. O tipo de memria usado na memria RAM principal do computador chamado memria dinmica. A memria esttica consome mais energia, mais cara e fisicamente maior que a memria dinmica, mas muito mais rpida. Ela pode trabalhar no mesmo clock do processador, o que a memria dinmica no capaz de fazer. 7.10 Memria Secundria Na base da pirmide que representa a hierarquia de memria em um sistema de computao encontra-se um tipo de memria com maior capacidade de armazenamento do que os outros tipos j descritos, menor custo por byte armazenado e com tempos de acesso tambm superiores aos outros tipos. Esta memria, denominada memria secundria, memria auxiliar ou memria de massa, tem por objetivo garantir um armazenamento mais permanente a toda a estrutura de dados e programas do usurio, razo por que deve naturalmente possuir maior capacidade que a memria principal. A memria secundria de um sistema de computao pode ser constituda por diferentes tipos de dispositivos, alguns diretamente ligados ao sistema para acesso imediato (discos rgidos, por exemplo), e outros que podem ser conectados quando desejado (como os disquetes, fitas de armazenamento, CD-ROM etc.), cuja informao armazenada se torna diretamente conectada e disponvel para o especfico disquete ou fita que estiver inserido no elemento de leitura / escrita ("drive" ou acionador), enquanto os demais ficam disponveis ("off-line") para acesso manual pelo usurio. Uma das grandes caractersticas dos dispositivos que constituem a memria secundria sua no volatilidade. A anlise de seus parmetros (considerando uma mdia entre os diversos equipamentos) conduz s seguintes observaes: Tempo de acesso/ciclo de memria - conforme ser mostrado adiante, os dispositivos que podem se constituir em elemento de armazenamento secundrio ou auxiliar em um sistema de computao so, em geral, dispositivos eletromecnicos e no circuitos puramente eletrnicos, como o caso de registradores, memria cache e memria principal. Por essa razo, aqueles dispositivos possuem tempo de acesso mais altos. Tempos de acesso tpicos para discos rgidos esto atualmente na faixa de 10 a 40 milissegundos (j esto sendo fabricados discos com tempos ainda menores, mas sempre da ordem de milissegundos, muito acima dos nanossegundos das outras memrias). Discos do tipo CD-ROM trabalham com tempos de acesso ainda maiores, na faixa de 200 a 500 mseg, enquanto as fitas magnticas so ainda mais lentas, podendo ler um arquivo em tempos da ordem de segundos.

167

Capacidade - uma das caractersticas que coloca a memria secundria na base da pirmide justamente sua grande capacidade de armazenamento, a qual tambm varia consideravelmente dependendo do tipo de dispositivo utilizado. Discos rgidos de microcomputadores podem, atualmente, ser encontrados com capacidades variando entre 3 e 8 GBytes, sendo mais comuns discos de 4 Gb. Sistemas de grande porte j h muito tempo possuem discos rgidos com dezenas de GBytes de capacidade de armazenamento. Os demais dispositivos, como CD-ROM (com capacidade da ordem de 600 MB ou mais para cada disco, podendo o usurio possuir tantos quantos quiser e puder pagar), fitas magnticas (a capacidade depende do comprimento da fita e da densidade de gravao), discos ticos, etc. sero analisados com mais detalhe adiante. Volatilidade - como estes dispositivos armazenam as informaes de forma magntica ou tica, elas no se perdem nem desaparecem quando no h alimentao eltrica. Trata-se, pois, de elementos teis para guardar os programas e dados de forma permanente. Tecnologia - este parmetro possui uma variedade imensa de tipos, visto que, para cada dispositivo entre os j mencionados (discos, disquetes, fitas, discos ticos, CD-ROM), h diferentes tecnologias de fabricao atualmente em uso, o que dificulta a sua descrio neste item. Temporariedade - Conforme j mencionado no item "volatilidade", a memria secundria um componente (vendo-se os diversos dispositivos como um todo) de armazenamento com carter permanente ou, pelo menos, de longo perodo de armazenamento. Ela serve, ento, para armazenar programas e dados que no esto sendo requeridos imediatamente e que exigem tambm grande espao de armazenamento devido sua natural quantidade.
Tabela 2 Comparao dos diferentes tipos de memria.

Tipo Memria Principal Memria Cache Memria Secundria Registradores

Tempo de Acesso 50 a 100 ns 10 a 25 ns 12 a 60 ms 10 a 20 ns

Capacidade Mb Kb Gb bits

Volatilidade Sim Sim No Sim

Custo Baixo Alto Baixo Alto

Tempo de acesso o tempo gasto para a CPU colocar a informao na barra de dados aps o endereamento da informao, ou, o perodo de tempo correspondenete entre o momento em que a operao de acesso foi iniciada at que a informao requerida tenha sido enviada.

7.11 Tipos de Memrias quanto Tecnologia. Existem dois tipos de famlias de memrias: ROM e RAM. Memria Somente de Leitura (ROM) Uma vez que o processador nada executa sem que haja uma instruo especificando o que ser executado, bvio que ele deve possuir uma certa quantidade de memria no-voltil, para armazenar as instrues iniciais. Em microcomputadores costuma-se chamar de programa bootstrap, ou simplesmente boot, ou ainda IPL Initial Programa Load (Carregamento do Programa Inicial). Esse tipo de memria, alm de ter que ser no-voltil (para no haver perda do programa de boot), tambm no deve permitir que haja eliminaes acidentais. Em outras palavras, memrias que armazenam este tipo de programas devem permitir apenas leitura Read Only Memory. A memria somente de
168

leitura (ROM) um tipo de memria onde os dados nela armazenados no so alterados ou no mudam com freqncia. Diagrama de Blocos de uma ROM O diagrama tpico de uma ROM mostrado na figura 7.15. O sinal de controle CS (seleo do chip) habilita a operao de leitura da posio indicada no barramento de endereos. O dado transferido para o barramento de dados. Quando CS est em ALTO, as sadas da ROM ficam desabilitadas (alta impedncia).

Figura 7.17 Diagrama de uma memria ROM.

Arquitetura da ROM Uma ROM constituda conforme a figura 7.18. Nela podemos identificar:
-

Matriz de registradores onde os dados sero armazenados. Cada registrador contm um nmero de clulas de memria igual ao tamanho da palavra utilizada. Cada registrador tem duas entradas de habilitao (E): ambas devem estar em ALTO para que os dados do registrador sejam colocados no barramento de dados. Decodificadores de endereos o barramento de endereo separado em duas vias: a primeira seleciona a linha e a segunda seleciona a coluna onde o registrador se localiza.

Exemplo: Qual o registrador que ser habilitado pelo endereo 1101? Que endereo ir habilitar o registrador 7?
-

Buffers de sada o registrador que est habilitado pelas entradas de endereo coloca seu contedo no barramento de dados. Estes dados vo para os buffers de sada, que colocaro os dados na sada de dados externa, desde que CS esteja em BAIXO. Se

CS estiver em alto, os buffers de sada ficaro em alta impedncia.

169

Figura 7.18 - Arquitetura interna de uma ROM (16 x 8).

Temporizao da ROM O atraso de propagao entre a aplicao dos sinais de entrada e o aparecimento dos dados na sada, durante a operao de leitura, chamado tempo de acesso (tACC). Existe um outro parmetro de temporizao chamado tempo de habilitao da sada (tOE), que representa o atraso entre a entrada CS e a sada de dados vlidos.

Figura 7.19 - Temporizao de uma ROM

Tipos de ROMs
-

ROM Programada por Mscara (MROM) este tipo de ROM tem suas posies escritas (programadas) pelo fabricante de acordo com as especificaes do cliente. Uma mscara (tipo de negativo fotogrfico) usada para informar as conexes eltricas do chip. Este tipo de ROM usado para armazenar tabelas ou informaes prprogramadas como cdigos geradores de caracteres de terminais de vdeo.

170

ROM Programvel (PROM) tipo de memria ROM onde a programao feita apenas uma nica vez pelo usurio. Esta programao consiste na queima ou no de um fusvel que corresponde a um bit de informao por um equipamento chamado programador. ROM Programvel e Apagvel (EPROM Erasable and Programable ROM) tipo de memria ROM que pode ser programada e apagada pelo usurio vrias vezes. O processo de programao consiste em aplicar certos nveis de tenses que provocam a conduo permanente ou no conduo de transistores MOS. O apagamento da memria feito pela exposio dos circuitos internos luz ultravioleta atravs de uma janela. PROM Apagvel Eletricamente (EEPROM) uma melhoria em relao s EPROMs pois pode ser tanto programada como apagada eletricamente. Assim, elas podem ser programadas e apagadas no prprio circuito, sem a necessidade de luz ultravioleta ou um programador especial. CD ROM-R/W tipo de armazenamento para leitura e escrita que utiliza tecnologia laser. Os bits so definidos pela reflexo ou no de um feixe laser apontado para um ponto do disco.

Figura 7.20- Esquema bsico de camadas em um CD-R.

Depois de gravados, os CDs porem durar 75 anos, nos casos das mdias verde e azul, 100 anos quando a mdia a dourada e 200 anos quando a mdia a prateada. Entretanto esses dados so fornecidos por fabricantes sem que nenhum teste tenha sido feito e podem variar bastante.

Figura 7.21 - Comparao entre tipos de ROM

171

Memria Flash tipo de memria no-voltil, apagvel eletricamente como a EEPROM, mas com densidades e custos semelhantes aos da EPROM, com o mesmo tempo de acesso de ambas.

Aplicaes das ROMs


-

Firmware armazenamento de programas ou dados que devem estar disponveis no processo de inicializao de sistemas microprocessados. Por exemplo, produtos como videocassetes, CD players, fornos microondas etc. Memria de Bootstrap tipo de programa armazenado em uma ROM que trata da inicializao do hardware de um computador. Aps a inicializao, o programa de bootstrap chama o sistema operacional e o computador comea a executar o sistema operacional. Tabela de Dados as ROMs so bastante utilizadas para armazenar tabelas de dados que no variam. Por exemplo, tabela trigonomtricas, cdigos ASCII, etc. Conversor de Cdigos este tipo de aplicao toma valores expressos em um determinado tipo de cdigo e produz uma sada expressa em outro cdigo. Por exemplo, o cdigo BCD pode ser convertido para 7 segmentos por uma ROM. Gerador de Funes basicamente, um gerador de funes um circuito que produz formas de onda senides, triangulares e quadradas. Uma ROM com tabelas de valores armazenados e um conversor D/A podem ser usados para gerar essas formas de onda. Armazenamento Auxiliar dados podem ser armazenados em memrias ROM apagveis (EPROM, EEPROM, FLASH), tornando essas memrias como alternativa aos discos magnticos de armazenamento.

Memrias RAM A memria de acesso aleatrio (RAM) semicondutora um tipo de memria onde podemos tanto ler como escrever dados. A principal vantagem de uma RAM o fato de ela poder ser escrita e lida rapidamente com a mesma facilidade. Uma desvantagem seria o fato da RAM ser voltil, isto , se a alimentao for desligada ela perde a informao. RAM Esttica (SRAM) Este tipo de memria armazena os dados enquanto for mantida a alimentao. Suas clulas so compostas de flip-flops, e por isso seu contedo no perdido enquanto houver alimentao. A figura 7.22 mostra a arquitetura tpica de uma RAM que armazena 64 palavras de quatro bits (memria 64 x 4). Estas palavras tm endereos que vo de 0 a 63. Para selecionar uma das 64 posies para escrita ou leitura, um endereo binrio fornecido ao circuito decodificador. Cada endereo ativa uma sada do decodificador, habilitando o seu registrador correspondente.

172

Figura 7.22- Organizao Interna de uma RAM de 64 x 4

Operao de Leitura -

A operao de leitura do contedo de um registrador feita da seguinte maneira: Coloca-se o endereo da posio de memria a ser lida no barramento de endereos; Indica-se a operao de leitura atravs da entrada R / W , colocando essa entrada em ALTO; Habilita-se o chip de memria para concluir a operao colocando a entrada CS em BAIXO.

Quando a memria est habilitada para leitura, os buffers de entrada so desabilitados e os buffers de sada so habilitados e o contedo da posio de memria selecionada colocada nas quatro sadas de dados. Operao de Escrita A operao de escrita de um dado novo em um registrador selecionado feita do seguinte modo: - Coloca-se o endereo da posio de memria a ser escrita no barramento de endereos; - Coloca-se o dado a ser escrito no barramento de dados; - Indica-se a operao de escrita atravs da entrada R / W , colocando essa entrada em BAIXO; - Habilita-se o chip de memria para concluir a operao colocando a entrada CS em BAIXO. Quando a memria est habilitada para escrita, os buffers de entrada so habilitados e os buffers de sada so desabilitados e o contedo da posio de memria selecionada perdida com a escrita do novo dado.

173

Quando a entrada CS (chip select seleo de chip) est em ALTO (memria desabilitada), tanto suas entradas como suas sadas esto em tri-state (alta impedncia), evitando assim escrita ou leitura errnea neste chip. Memrias NVSRAM A memria NVSRAM (No-Volatile Static Random Access Memory - Memria para acesso aleatrio esttica no-voltil) resolve o problema da volatilidade das memrias RAM de uma maneira muito simples: ela possui em seu encapsulamento uma pequena bateria de ltio recarregvel, que mantm as informaes gravadas mesmo que ela seja desenergizada. Sua constituio interna a mesma da memria SRAM. utilizada principalmente para guardar as informaes de configurao do BIOS (chamado Setup). muito conhecida como CMOS devido a seu processo de fabricao (Complemantary Metal-OxideSemiconductor - Metal-xido-Semicondutor Complementar).

RAM Dinmica (DRAM) Nesse tipo de memria a informao armazenada em pequenos capacitores. Como existe uma tendncia normal dos capacitores se descarregarem, h a necessidade de uma recarga (refresh refrescamento) desses capacitores. De tempos em tempos (tipicamente de 2 a 8 ms) o bit armazenado no capacitor atualizado. Esse tipo de memria constitui a memria principal de um computador por causa de sua alta capacidade e baixo consumo. Em relao velocidade, as RAM estticas so mais rpidas. A principal vantagem deste tipo de memria a simplicidade na sua construo, alcanando, assim, alto grau de integrao. O refrescamento de uma DRAM feito por circuitos externos ou no prprio chip de memria. Existem dois mtodos: Refresh em rajada a operao normal da memria suspensa e cada linha da DRAM refrescada em seqencia at que todas tenham sido refrescadas; Refresh distribudo o refrescamento intercalado com as operaes normais da DRAM. A RAM dinmica pode ser de vrios tipos. Quanto ao formato fsico temos: Mdulo DIP (Dual in Parallel) A memria RAM usada na poca do XT, tambm utilizada em alguns micros 286. Eram pequenos chips que eram encaixados na placa me. Trata-se de mdulos de memrias de 8 bits, fabricados em velocidades de acesso de 150 e 120 ns (bilhonsimos de segundo). A instalao destes mdulos era muito trabalhosa, e para facilitar a vida dos usurios (e aumentar as vendas) os fabricantes desenvolveram placas de circuito impresso onde os circuitos integrados de memria se encontravam soldados. Mdulo SIPP (Single in Line Pin Package) - Os primeiros mdulos de memria usados em micros 286 e nos primeiros micros 386, eram tambm mdulos de 8 bits. Esse tipo de memria foi fabricado com velocidades de acesso entre 100 e 120 ns.

174

Mdulo SIMM (Single in Line Memory Module) de 30 pinos - Memria utilizada em alguns micros 286 mais modernos, nos micros 386 e em muitos 486. Eram pentes de memria com 30 terminais ou vias, com barramento de 8bits. Este modulo podia ser encontrado em varias capacidades, os mais comuns eram os de 256 kB, 1MB e 4 MB, existindo tambm mdulos de 512 kB, 8 MB e 16 MB. Por ser um modulo de 8 bits, era necessrio usar um par de mdulos em cada banco (um banco era composto de dois soquetes para encaixe dos mdulos, e em geral haviam dois bancos, totalizando 4 soquetes) nos micros 286 para que fornecesse o mesmo nmeros de bits usados pelo processador (16bits). J nos micros 386 DX que tinham processadores que se comunicavam com a memria em 32 bits, eram necessrios que dois bancos (ou os 4 soquetes) estivessem preenchidos, totalizando 32 bits. Foram fabricados com velocidade de acesso entre 100 e 70 nanosegundos. Mdulo SIMM de 72 pinos- Com o uso dos processadores de 32 bits, os fabricantes criaram um novo tipo de pente de memria de 32 bits que ao contrrio dos mdulos antigos possua 72 pinos. Esse tipo de memria foi usado nos micros 486 mais modernos e largamente utilizados nos micros Pentium, neste caso sendo necessrio o uso em pares j que esses processadores trabalhavam em 64 bits. Os mdulos SIMM de 72 pinos so encontrados com velocidades entre 80 e 50 ns (no caso das EDO). Mdulo DIMM de 168 pinos - Ao contrrio das memrias SIMM, esse mdulos possuem contatos em ambos os lados do pente, sendo por isso chamados de DIMM (Double in Line Memory Module) so mdulos de 64 bits, sendo usados em micros Pentium e posteriores.

Figura 7.23- De cima para baixo, mdulos de 168 vias, 72 vias e 30 vias

Quanto tecnologia usada: Fast Page Mode RAM (FPM RAM) - o mais velho e menos sofisticado tipo de RAM, usada em micros 486 e Pentiums mais antigos, esse tipo de memria encontrado em velocidades de 80, 70 e 60 ns. Os intervalos de espera desse tipo de memria (Wait States) no podem ser menores do que 5-3-3-3. E pode ser utilizada em velocidades de barramento de at 66 MHz. Extended Data Output RAM (EDO RAM) - o tipo de memria mais usado atualmente, encontrado em velocidades de 70, 60 e 50 ns. A diferena entre a memria FPM e a EDO, que a EDO consegue trabalhar com Wait States de 5-2-2-2 sendo cerca de 20% mais rpida do que a FPM. Este tipo de memria foi usado em pentes de 72 vias e em alguns modelos de pentes de 168 vias. Ao contrrio do que se costuma dizer, as memrias EDO de
175

60 e 50 ns (desde que de boa qualidade) suportam trabalhar com barramento de 75 MHz. Em muitos casos se consegue que esse tipo de memria suporte barramento de 83 MHz aumentando os Wait States para 5-3-3-3. Burst Extended Data Output RAM (BEDO RAM) - um tipo melhorado de memria EDO, suportando trabalhar com Wait States de 5-1-1-1 sendo levemente mais rpida do que as memrias EDO convencionais. Este tipo de memria, porm, suportado apenas por alguns modelos de placa me. Synchronous Dynamic RAM (SDRAM) - Encontrada em Pentes de memria DIMM, utiliza Wait States de 5-1-1-1, sendo por volta de 10% mais rpida do que as memrias EDO. So encontradas com velocidade de 10, 8 e 7 ns, teoricamente funcionaria 124 MHz, mas na prtica, dificilmente passam de 83 MHz. No sendo adequadas para placas que usaem barramento de 100 MHz. Memrias PC-100 (ou memrias de 100 MHz) - So memrias SDRAM com vrios aperfeioamentos, o que as permite funcionar estavelmente com bus de 100 MHz. A maioria das placas me com chipset BX (que suportam bus de 100 MHz) s aceitam funcionar com memria PC-100, recusando memrias SDRAM comuns. Muitos vendedores desinformados vendem memrias SDRAM de 8 ou 7 ns como memrias de 100 MHz, o que no verdade, alm do tempo de acesso de 7 ns, as memrias PC-100 possuem vrias diferenas de arquitetura.

Double Data Rate-Synchronous DRAM (DDR-SDRAM) - Um tipo de SDRAM que suporta transferncias de dados duas vezes por ciclo de clock (DUAL CHANNEL*), dobrando a velocidade de acesso. Este tipo de memria consegue suportar velocidades de barramento de cerca de 200 MHz. A transferncia de dados entre o processador e esse tipo de memria de cerca de 2.4 gigabytes por segundo. Tambm chamada de SDRAM II. A DDR SDRAM foi criada para ter o dobro de desempenho em relao s memria existentes (que passaram a ser chamadas SDR SDRAM) sem aumentar o clock da memria. A memria DDR SDRAM alcana uma largura de banda maior que a da SDR SDRAM por usar tanto a borda de subida quanto a de descida do clock para transferir dados, realizando efetivamente duas transferncias por ciclo de clock. Isto efetivamente quase dobra a taxa de transferncia sem aumentar a freqncia do barramento externo. Desta maneira, um sistema com SDRAM tipo DDR a 100 MHz tem uma taxa de clock efetiva de 200 MHz. Com os dados sendo transferidos 8 bytes por vez, a DDR SDRAM fornece uma taxa de transferncia de:
[freqncia do barramento da memria] 2 (pois uma taxa dupla) [nmero de bytes transferidos]

Assim, com uma freqncia de barramento de 100 MHz, a DDR SDRAM fornece uma taxa de transferncia mxima de 1600 MB/s.
Com a utilizao dessa tcnica, a taxa de transferncia da memria dobrada, fazendo com que se possa casar a velocidade do barramento externo do processador com a da memria, eliminando assim o gargalo dessa comunicao. Na tabela abaixo pode-se conferir o clock oficial das memrias SDRAM, DDR-SDRAM, e DDR2. As memrias DDR e DDR2 conseguem transferir dois dados por pulso de clock e por isso o clock anunciado no o clock real, como ocorre com o barramento externo dos processadores da AMD.

176

Memria PC66 PC100 PC133 DDR200 DDR266 DDR333 DDR400 DDR2-400 DDR2-533 DDR2-667 DDR2-800

Tecnologia Clock Anunciado Clock Real SDRAM 66 MHz 66 MHz SDRAM 100 MHz 100 MHz SDRAM 133 MHz 133 MHz DDR-SDRAM 200 MHz 100 MHz DDR-SDRAM 266 MHz 133 MHz DDR-SDRAM 333 MHz 166 MHz DDR-SDRAM 400 MHz 200 MHz DDR2-SDRAM 400 MHz 200 MHz DDR2-SDRAM 533 MHz 266 MHz DDR2-SDRAM 667 MHz 333 MHz DDR2-SDRAM 800 MHz 400 MHz

Taxa de Transferncia Mxima 533 MB/s 800 MB/s 1.066 MB/s 1.600 MB/s 2.100 MB/s 2.700 MB/s 3.200 MB/s 3.200 MB/s 4.264 MB/s 5.336 MB/s 6.400 MB/s

Para alcanar o topo de desempenho do microcomputador deve-se casar a velocidade da memria com a do barramento externo do processador. Por exemplo, se para um processador Athlon XP com clock externo de 400 MHz (taxa de transferncia de 3.200 MB/s) basta instalar memrias DDR400 no computador para obter todo o desempenho da comunicao do processador com a memria RAM, j que ambos iro trabalhar com a mesma velocidade (3.200 MB/s). Pode-se ainda utilizar as memrias DDR Dual Channel para aumentar o desempenho da comunicao do processador com a memria. Por definio, Dual Channel uma nova arquitetura feita para os controladores de memria de um computador. Tem como caracterstica o aumento da largura de banda das memrias, desde que se use nmeros pares de pentes em canais separados. Com isso, a controladora de memria poder acessar os mdulos de memria simultaneamente, dobrando a largura de banda terica. aconselhvel o uso de pentes de memria idnticos para o melhor funcionamento do Dual Channel. A memria de um computador uma rea de armazenamento temporrio para as informaes que sero tratadas pela CPU. Quanto mais rpido uma memria puder se comunicar com a CPU, melhor ser a performance do sistema como um todo. Para ilustrar o conceito de Dual Channel, imagine-se um funil por onde entram os dados a serem executados. Ao chegarem na controladora de memria e na memria em si, eles passam por um fino gargalo. Ver figura a seguir.

O Dual Channel prov mais um caminho para os dados poderem chegar at o processador, e a controladora de memria do sistema cuida para que o caminho inverso (do processador para a memria) tambm seja duplicado, para que no ocorra falta de sincronismo.

177

A controladora de memria de um sistema de processamento tpico fica situada no chipset da placa-me. Todos os dados a serem processados pela CPU, e os resultados desse processamento passam por essa controladora de memria, sendo que os dados s podem fluir em um sentido de cada vez, similar a um semforo, que controla o trnsito em uma estrada aonde apenas um carro pode circular de cada vez.

Quando se habilita o dual channel, dobra-se essa estrada, e agora a controladora de memria pode controlar o dobro da informao. Pois agora ela pode enviar e receber dados ao mesmo tempo para os pares de memria.

A esse fluxo de informao dado o nome de largura de banda. A largura de banda calculada em Bytes (1 Byte = 8 bits), e a controladora de memria capaz de mover dados a 64bits por vez quando em single-channel, dobrando para 128bits quando habilitado o dual-channel. Para calcular a largura de banda de uma memria DDR, basta fazer:

178

Velocidade da memria (MHz) X Nmero de bits transferido por canal (64bits ou 8Bytes) X Nmero de canais (single ou dual) Logo, para um tpico sistema single channel, tem-se: 400MHz x 8Bytes (64bits) x 1 = 3200MBps Ao habilitarmos o Dual-Channel, teramos: 400MHz x 8Bytes (64bits) x 2 = 6400MBps Um processador PENTIUM 4 com FSB de 800MHz de FSB (Front Side Bus, velocidade com a qual o processador se comunica com o chipset), capaz de suportar at 6400 MBps de transferncia de dados. Com apenas um canal de 64bits, estar-se-ia usando apenas metade dessa capacidade. Ao habilitar o Dual Channel, o sistema ter sua plena capacidade atingida. Obs.: A tecnologia AMD64 incorporou a controladora de memria ao prprio processador, eliminando o gargalo que o chipset criava e permitindo que as memrias se comuniquem diretamente com o processador. Com isso h um aumento significativo no aproveitamento da largura de banda, e uma maior velocidade ao se tratar dados. Em ambientes multi-processados, os processadores Intel tem que dividir sua largura de banda entre si para cada processador adicionado ao sistema, pois tem-se vrios processadores querendo se comunicar com a mesma controladora de memria, enquanto os processadores AMD64 por ter a controladora embutida, multiplicam a largura de banda para cada processador adicionado. Lembrete: dual channel no dobra a velocidade da memria, dobra a largura de banda.

Memrias DDR3 As memrias DDR3 realizam 8 acessos por ciclo, contra os 4 acessos por ciclo das memrias DDR2. Assim como na tecnologia anterior, os acessos so realizados a endereos subjacentes, de forma que no existe necessidade de aumentar a freqncia "real" das clulas de memria. Apesar do aumento no nmero de transferncias por ciclo, os buffers de dados continuam trabalhando a apenas o dobro da freqncia das clulas de memria. Ou seja, a freqncia interna (das clulas de memria) de um mdulo DDR3-1600 de 200 MHz e a freqncia externa (dos buffers de dados) de 400 MHz. As clulas de memria realizam 8 transferncias por ciclo de clock (em vez de 4, como nas DDR2) e os buffers de dados (que operam ao dobro da freqncia) realizam 4 transferncias por ciclo de clock, em vez de apenas duas, como nos mdulos DDR2. 7.12 Memria de Vdeo As placas de vdeo tambm usam memria RAM, de modo que foram criados tipos de memria RAM otimizados para o uso em placas de vdeo. Esses podem ser de vrios tipos: Vdeo RAM (VRam) Tipo especial de memria utilizada em placas de vdeo, ao contrrio dos tipos convencionais de DRAM, pode ser acessada simultaneamente por dois componentes. Isso permite que a placa de vdeo use os dados contidos na VRAM para atualizar a exibio das imagens, ao mesmo tempo que o processador inclui novos dados. O uso de memrias VRAM, proporciona uma qualidade de vdeo muito superior. Porm muito mais cara que os tipos de DRAM tradicionais. Windows RAM (WRAM) - um outro tipo de VRAM, porm oferece uma performance melhor e mais barata, oferecendo endereamento de grandes blocos da memria de vdeo. Rambus DRAM (RDRAM) - Desenvolvida pela Rambus Inc., um tipo de memria EDO melhorada. usada em muitas aceleradoras de vdeo, sendo o tipo de memria de vdeo mais rpida e cara que existe atualmente. Synchronous Graphic Random Access Memory (SGRAM) - Um tipo de memria SDRAM otimizada para o uso em placas de vdeo. Ao contrrio dos outros tipos de VRAM,

179

ela possui apenas uma entrada de dados, porm, pode abrir duas pginas de memria ao mesmo tempo, simulando uma dupla entrada de dados. 7.13 Memria virtual Um dos objetivos buscados na utilizao de memria virtual otimizar o uso da memria principal usando a memria secundria como backup. Neste caso, a memria principal o nvel rpido e de pequena capacidade da hierarquia de memria, enquanto que a memria secundria (discos magnticos, principalmente) constitui o nvel lento e de maior capacidade. A aplicao tpica de memria virtual mapear um grande espao de endereamento a uma memria primria fisicamente menor. Por exemplo, com 32 bits de endereo, o espao de endereamento virtual de 4 Gbytesmemrias primrias tm capacidades da ordem de dezenas deMbytes. Outra aplicao surge na multiprogramao, onde pode-se mapear um espao de endereamento pequeno a uma memria primria maior. Com a utilizao de memria virtual, liberam-se programas e programadores de consideraes sobre o posicionamento fsico de suas variveis na memria. Para tanto, opera-se com dois espaos de endereamento: espao fsico M: conjunto de endereos da memria principal espao virtual V : conjunto de endereos gerados pelo processador Endereos virtuais precisam ser traduzidos em termos de endereos fsicos durante a execuo de programas.

180

Bibliografia:
1. MONTEIRO, MARIO A. INTRODUAO A ORGANIZAAO DE COMPUTADORES.

LTC. 2001.
2. MALVINO, A. MICROCOMPUTADORES E MICROPROCESSADORES. Ed.

McGraw-Hill do Brasil, 1985.


3. STALLINGS, W. ARQUITETURA E ORGANIZAO DE COMPUTADORES.

Prentice Hall. So Paulo, 2002.


4. IEEE - ANNALS OF THE HISTORY OF COMPUTING" magazine, Volume 15,

Number 4, 1993, page 28.


5. HENNESSY, J. L., PATTERSON, D. A. ARQUITETURA DE COMPUTADORES

UMA ABORDAGEM QUANTITATIVA. Rio de Janeiro. Editora Campus, 2003. 6. M. J. FLYNN. SOME COMPUTER ORGANIZATIONS AND THEIR EFFECTIVENESS , IEEE Transactions on Computers, vol C-21, pp. 948-960, Setembro, 1972. 7. G. AMDAHL. VALIDITY OF THE SINGLE PROCESSOR APPROACH TO ACHIEVING LARGE SCALE COMPUTING CAPABILITIES, AFIPS Conference Proceeding, vol. 30, Abril, 1967, Thompson Books, Washington DC. Sites 8. Seymour Cray: http://americanhistory.si.edu/csr/comphist/cray.htm 9. Seymour Cray: http://www.cgl.ucsf.edu/home/tef/cray/tribute.html 10. MAJC: http://www.sun.com/microelectronics/MAJC/5200.html 11. Altera-Nios: http://altera.com/html/products/nios.html 12. ZELENOVSKY, R; MENDONA, A. Processadores Para o Prximo Milnio. www.clubedohardware.com.br/artigos 13. Gabriel Torres em: http://www.clubedohardware.com.br/artigos/1145/3 14. http://www.boadica.com.br/layoutdica.asp?codigo=521
15. p://www.kingston.com/newtech/MKF_520DDRwhitepaper.pdf 16. http://en.wikipedia.org/wiki/Dual_channel 181

17. http://www.gdhpress.com.br/hmc/leia/index.php?p=cap2-26

182

Você também pode gostar