Você está na página 1de 21

EA960A Tpico 6 Memria Interna: Elementos

Tpico 6 Memria Interna: Elementos


Neste captulo, discutiremos algumas caractersticas de sistemas de memria interna. Analisaremos, basicamente, as tecnologias de memria RAM esttica (SRAM) e dinmica (DRAM), que so opes clssicas para projeto de, respectivamente, memria cache e memria principal. Tambm aproveitaremos a oportunidade para analisar a importncia de esquemas de correo de erro em sistemas de memria e, com isso, falar um pouco sobre teoria da informao.

6.1 Memria Semicondutora Uma memria semicondutora , fundamentalmente, um aglomerado de clulas


capazes de guardar, cada uma, um bit de informao (0 ou 1). Essas clulas podem ser escritas ou lidas. Cabe ressaltar que, neste tpico, ser analisado apenas o caso de memrias de acesso aleatrio (curiosamente, mesmo memrias ROM se enquadram, a rigor, nesse caso). A Fig. 6.1 ilustra alguns casos importantes.

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Fig. 6.1 Tipos de Memria Semicondutora


Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

6.1.1 - RAM Memrias RAM so de acesso aleatrio, e, ademais, possuem duas caractersticas importantes: 1) prestam-se com facilidade a operaes de leitura e de escrita e 2) so volteis. Dessa forma, pensa-se em memria RAM como estando associada a mecanismos de armazenamento temporrio intimamente ligados ao ciclo de operao do processador. Costuma-se dividir as tecnologias de RAM em duas classes (j citadas): RAM dinmica (DRAM) e RAM esttica (SRAM). Clulas de uma DRAM armazenam dados por meio da presena / ausncia de carga em capacitores. Uma vez que os capacitores tendem a descarregar com o tempo, utiliza-se o termo dinmica para denotar a tecnologia, a qual requer, portanto, mecanismos peridicos de refresh. Um exemplo simples de clula associada a uma DRAM est na Fig. 6.2.

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Fig. 6.2 Exemplo de Clula de uma DRAM Na Fig. 6.2, a ativao da linha de endereo ocorre sempre que se pretende realizar uma operao de leitura ou de escrita. Essa linha funciona como uma chave que liga ou desliga os demais terminais do transistor. Quando se deseja escrever, coloca-se o bit correspondente na linha B e, com isso, realiza-se o processo de imposio da carga correta ao capacitor.
Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Por outro lado, no processo de leitura, a informao portada pela linha de bit passa por uma etapa de amplificao e comparada com um limiar para que se decida sobre o valor do bit armazenado. Aps a leitura, preciso restaurar a carga do capacitor. No caso da tecnologia SRAM, cada clula armazena um bit de informao de maneira similar a um flip-flop, ou seja, por meio de mecanismos de realimentao entre transistores / portas lgicas. A Fig. 6.3 traz um exemplo. Observe os transistores T1 a T4. Eles esto ligados numa configurao de feedback mtuo que faz com que os pontos C1 e C2 sempre portem valores lgicos distintos. Por exemplo, se C2 estiver em nvel lgico alto, o transistor T1 fechar, ligando C1 ao terra. Por outro lado, o fato de C1 estar em nvel baixo faz com que T4 tambm feche, ligando C2 alimentao (nvel alto). Isso reinicia o ciclo e mostra a estabilidade da configurao. Refaa o raciocnio supondo que C1 se encontre em nvel alto.

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Os transistores T5 e T6 so chaves responsveis por permitir o acesso ao estado dos quatro primeiros transistores com a ajuda do bit de endereo. Devido ao carter dual dos pontos C1 e C2 e das linhas B e B, a ativao da linha de endereo, ao fechar os transistores T5 e T6, permite tanto a leitura do contedo desses pontos quanto a imposio de um estado sobre eles.

Fig. 6.3 Clula de Memria - SRAM


Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

A clula de uma DRAM menor e mais simples que a de uma SRAM. Por outro lado, o uso de DRAM requer o emprego de um circuito de refresh; no entanto, a presena desse circuito uma desvantagem de complexidade que se dilui com o aumento da capacidade da memria. Por fim, memrias SRAM tendem a ser mais rpidas que DRAM. Isso explica por que SRAM so preferidas para construo de caches (memrias pequenas e rpidas) e memrias DRAM so preferidas para compor a memria principal (memrias de maior capacidade). 6.1.2 - ROM Ao contrrio do que ocorre com a memria RAM, a memria ROM (readonly memory) corresponde, historicamente, a uma classe de estruturas novolteis que permitem apenas a leitura (e no a escrita) de dados. Sua

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

aplicao se relaciona, por exemplo, a bibliotecas de funes de uso frequente, programas do sistema e microprogramao. Uma memria ROM , basicamente, um chip no qual os dados so fisicamente impostos durante o processo de fabricao. Esse processo relativamente custoso, de modo que a escala da produo um fator pertinente para diluir o custo total de fabricao. Naturalmente, erros na fabricao significam erros na informao gravada, o que invalida o mdulo produzido. Uma forma de atenuar o carter implacvel do processo de fabricao (o que pode ser particularmente interessante para pequenas quantidades) usar uma PROM, ou seja, uma memria ROM programvel. Nela, o processo de escrita feito uma nica vez (com o auxlio de um equipamento especial) aps a construo do chip. vivel definir tambm tecnologias de memria ROM que sejam prioritariamente voltadas leitura, mas que permitam a escrita de maneira

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

menos complicada. Mencionaremos aqui trs casos EPROM, EEPROM e memria flash. Uma EPROM lida e escrita eletricamente, mas o processo de escrita precedido por um apagamento por meio da imposio de luz ultravioleta ao chip. Essa memria mais cara que uma PROM, mas permite mltiplos processos de escrita. Uma EEPROM realiza leitura e escrita eletricamente, e no se requer que o processo de escrita seja precedido por uma etapa ad hoc de apagamento (somente os bytes de interesse so afetados). A memria mais cara e menos densa que uma EPROM. Por fim, a tecnologia de memria flash pode ser considerada como sendo intermediria entre a de uma EPROM e de uma EEPROM. A tecnologia de apagamento eltrica, e possvel apagar blocos de dados (em vez da memria inteira). Sua densidade prxima de uma EPROM, o que vantajoso em relao a uma EEPROM. Volte Fig. 6.1 e revise os conceitos apresentados.
Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

6.2 Esquemas de Correo de Erro Embora um dispositivo de memria no seja comumente visto como um ente responsvel por transmitir informao, pode-se v-lo dessa forma se imaginarmos que os bits portados so transmitidos atravs do tempo (mas no do espao). Dessa forma, existe sempre a possibilidade de que esses bits venham a ser corrompidos. Esses processos nocivos podem ser causados por diferentes fatores um defeito permanente, que pode invalidar o contedo de uma ou mais clulas de memria, ou um defeito no-permanente, um erro que modifica o contedo de uma clula sem destru-la. Erros do ltimo tipo podem ser causados, por exemplo, por defeitos na alimentao ou mesmo pela influncia de molculas presentes no ambiente (e.g. partculas alfa) [Stallings, 2010]. Conforme mostrou Claude Shannon [Shannon, 1948], possvel proteger a informao de erros esprios como os mencionados, at certo ponto, por
Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

meio da insero controlada de redundncia. Isso leva s noes de codificao de canal e de cdigos corretores de erro. O uso de cdigos corretores de erro usual em modernas tecnologias de memria. Para que se possa fazer uso desses mtodos, o processo basicamente o seguinte. Quando se armazenam M bits de dados, utiliza-se o cdigo (representado pelo mdulo f) para gerar os K bits redundantes que sero usados na correo de erro. Tudo , ento, gravado. Quando preciso ler os M bits, aplica-se informao obtida junto memria o cdigo e comparam-se os K bits com aqueles gravados (vide a Fig. 6.4). Disso podem surgir trs situaes: o Nenhum erro detectado os M bits so passados ao usurio. o Detecta-se a existncia de erro(s) e o cdigo capaz de corrigi-lo(s) aps o processo de correo, os M bits so passados ao usurio. o Detecta-se a existncia de erro(s), mas o cdigo no capaz de corrigilo(s) informa-se, em consequncia disso, a situao de erro.

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Um cdigo corretor de erro rude seria, simplesmente, um cdigo em que houvesse uma repetio de bits. Por exemplo, suponha que M = 1 bit. Poderamos, ento, armazenar mais K = 2 bits idnticos ao bit de informao. Com isso, teramos duas possveis triplas armazenadas 000 e 111, embora cada uma delas, a rigor, porte apenas um bit. Suponha agora que, no processo de leitura, acessemos um bit de informao 0, mas os bits redundantes armazenados sejam 11. Nesse caso, podemos supor ser mais provvel ter ocorrido um erro no bit de informao, sendo razovel corrigi-lo para 1. O esquema, portanto, capaz de corrigir um erro, mas a um custo alto dois bits adicionais de redundncia. Um esquema mais elegante aquele que origina o cdigo de Hamming, cujo nome vem do pesquisador Richard Hamming, vencedor do prmio Turing de 1968.

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Fig. 6.4 Esquema de Acesso a uma Memria com Correo / Deteco de Erro

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

6.2.1 Cdigo de Hamming O esquema de codificao de Hamming mantm a noo de bits de paridade que se insinua em nosso cdigo de repetio, mas faz isso de uma maneira particularmente engenhosa. Ilustraremos o processo com a ajuda da Fig. 6.5, e assumiremos que a palavra de informao tenha M = 4 bits. H um total de sete regies delineadas pelos trs crculos. Os quatro bits de dados so alocados s regies internas (veja a Fig. 6.5.a), e os bits de paridade so alocados s trs regies restantes, sempre tendo em vista manter o total de bits no respectivo crculo par (veja a Fig. 6.5.b). Suponha agora que ocorra um erro num dos bits de informao (veja a Fig. 6.5.c). Os crculos A e C ficaram inconsistentes, mas no o crculo B portanto, percebe-se com clareza qual foi o bit modificado.

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Fig. 6.5 Ilustrao Cdigo de Hamming

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Passemos agora ao projeto de um cdigo para uma palavra de dados com M = 8 bits. Na Fig. 6.4, faz-se uma comparao bit-a-bit dos K bits de redundncia. Pode-se imaginar essa comparao como sendo um XOR elemento a elemento, o qual produz 0 em caso de identidade e 1 em caso de discrepncia. O resultado dessa operao XOR se denomina palavra sndrome. Pode haver at 2K palavras sndrome distintas, sendo que uma delas, totalmente nula, no acusa erro. Portanto, h 2K 1 palavras que podem indicar erros nos bits de dados ou nos bits de paridade. Isso significa que se deve ter 2K 1 M + K. Percebe-se que, para M = 8 bits, ser preciso ter K = 4. Note que, o aumento de M no exige um aumento to pronunciado de K, o que muito interessante. Por exemplo, para M = 256 bits, so necessrios apenas 9 bits de redundncia. Buscaremos construir um esquema bastante bonito, que nos permitir obter as seguintes propriedades: o Se a palavra sndrome s contiver zeros, no h erro detectado.
Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

o Se a palavra sndrome contiver um nico bit 1, houve erro nos bits de verificao (os K bits redundantes). No preciso corrigir a informao. o Se a palavra sndrome possuir mais de um bit 1 o valor numrico da palavra indicar a posio correspondente ao dado modificado. Faz-se, desse modo, a correo. Na Fig. 6.6, apresenta-se o layout da palavra formada pelos M + K = 12 bits. Observe que os K bits de correo sempre ocupam posies correspondentes, em binrio, a nmeros com um nico 1. O valor de cada bit de correo obtido pela realizao do XOR entre todos os bits de dados correspondentes a posies associadas a nmeros em que ocorre um bit 1 na mesma posio do nico bit 1 do ndice do bit de correo. Por exemplo, olhando para a Fig. 6.6, vemos que o bit de correo C1 deve ser o XOR entre os bits indexados como 0011, 0101, 0111, 1001 e 1011 (D1, D2, D4, D5, D7). Verifique as operaes para os bits C2, C4 e C8.

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Fig. 6.6 Estrutura da Palavra no Cdigo de Hamming Faa alguns ensaios variando a posio do erro na palavra estruturada como na Fig. 6.6 e se familiarize com o modo pelo qual ocorre a correo de erro. O cdigo mencionado capaz de corrigir um nico erro. No entanto, comum em memrias semicondutoras o uso de um cdigo capaz de

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

corrigir um nico erro e de detectar um erro duplo. A Fig. 6.7 ilustra a operao desse cdigo para uma palavra com M = 4 bits. Antes, trabalhamos com trs bits de redundncia (K = 3 bits). Agora, h um bit adicional (veja o quadradinho no canto inferior esquerdo) que escolhido de modo a fazer com que o nmero total de 1s seja par. Na Fig. 6.7.c, ocorre um duplo erro, que faz com que o esquema de correo se perca, corrigindo um bit que estava correto (Fig. 6.7.d) e gerando a situao da Fig. 6.7.e, na qual h trs erros. No entanto, a presena do bit da caixinha mostra que a situao final no vlida, pois viola a paridade isso permite que se note a existncia de um erro duplo, evitando que uma palavra com trs erros se passe por uma palavra ntegra. Conforme indica [Stallings, 2010], uma srie de DRAMs modernas utilizam 9 bits de verificao para cada 128 bits de dados, o que faz com que o tamanho da memria seja 7% maior do que o necessrio para portar a mesma informao sem redundncia.

Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Figura 6.7 Exemplo de Cdigo com Capacidade de Deteco de Erro Duplo


Prof. Romis Attux DCA/FEEC/UNICAMP

EA960A Tpico 6 Memria Interna: Elementos

Referncias C. E. Shannon, A Mathematical Theory of Communication, Bell System Technical Journal, Vol. 27, pp. 379 423, 623 656, 1948. W. Stallings, Arquitetura e Organizao de Computadores, Pearson, 2010. Figuras obtidas em: http://williamstallings.com/ComputerOrganization/COA8e-Instructor/

Prof. Romis Attux DCA/FEEC/UNICAMP

Você também pode gostar