| DEFINIÇÃO
DE MEMÓRIAS A memória de um computador é o local onde o programa e os dados são armazenados antes de se começar os cálculos. Durante um processamento de computador, a seção de controle pode armazenar respostas parciais na memória, de maneira idêntica à que usamos no papel, para registrar nosso trabalho. A memória é portanto uma das partes mais ativas de um computador, armazenando não somente o programa e os dados mas também os dados processados. |
CLASSES DE MEMÓRIAS
MEMÓRIA RAM Uma memória de acesso aleatório (RAM) também chamada memória de leitura-gravação, é equivalente a um grupo de registradores endereçáveis. Depois de fornecer um endereço, podemos ou ler os conteúdos armazenados do local da memória ou gravar novos conteúdos no local da memória. |
MEMÓRIA ROM Uma memória de leitura exclusiva (ROM) é a mais simples espécie de memória. Ela é equivalente a um grupo de registradores, cada permanentemente armazenando uma palavra. Aplicando-se sinais de controle, podemos ler a palavra em qualquer local da memória. ("Ler" significa fazer os conteúdos dos locais da memória aparecerem nos terminais de saída da ROM.) |
TIPOS DE
MEMÓRIAS |
ROM a Diodos A figura abaixo mostra um modo de se construir uma ROM. Cada fila horizontal é um registrador ou local da memória. O registrador R0 contém três diodos, o registrador R1, um diodo etc.
ROM DE DIODOS
A saída da ROM é a palavra D = D3 D2 D1 D0 Na posição 0 da chave, uma tensão alta aciona (faz conduzir) os diodos no registrador R0; todos os outros diodos estão cortados (sem conduzir). Isto significa que uma saída alta aparece em D2, D1 e D0. Portanto, a palavra armazenada no local 0 da memória é D = 0111 O que acontece se a chave for movida para a posição 1? O diodo no registrador R1 conduzirá, forçando D3 a tornar-se alta. Em virtude de todos os outros diodos estarem cortados, a saída da ROM tornar-se-á D = 1000 Quando movermos a chave para as outras posições, leremos o conteúdo dos outro locais da memória. A tabela vista anteriormente mostra estes conteúdos, que podemos analisar a figura também vista anteriormente. Com circuitos discretos, podemos modificar os conteúdos de um local da memória acrescentando ou retirando diodos. Com circuitos integrados, os fabricantes armazenam as palavras na hora da fabricação. Em cada caso, as palavras são permanentemente armazenadas uma vez que os diodos estejam montados no lugar. ENDEREÇOS O endereço e os conteúdos de um local da memória são duas coisas diferentes. Conforme mostrado na tabela vista anteriormente, o endereço de um local da memória é o mesmo que o subscrito do registrador que armazena a palavra. Este é o motivo pelo qual o registrador 0 tem um endereço 0 e conteúdo 0111; o registrador 1 tem um endereço 1 e conteúdo 1000; o registrador 2 tem um endereço 2 e conteúdo 1011 e assim por diante. A idéia de endereços aplica-se às ROMs de qualquer tamanho. Por exemplo, uma ROM com 256 locais de memória tem endereços decimais que vão de 0 a 255. Uma ROM com 1024 locais de memória tem endereços decimais de 0 a 1023. Decodificação em Pastilhas Em vez de selecionar por chaves o local da memória, conforme mostrado na figura anterior, os fabricantes de CIs usam a decodificação em pastilhas. A próxima figura nos dá a idéia. Os pinos de três entradas (A2, A1, A0) fornecem o endereço binário da palavra armazenada. Depois um decodificador 1-de-8 produz uma saída alta para um dos registradores. Por exemplo, se ADDRESS = A2 A1 A0 = 100 o decodificador 1-de-8 aplica uma tensão alta ao registrador R4 e a saída da ROM é D = 0110 Se modificarmos a palavra de endereço para ADDRESS = 110 leremos o conteúdo do local 6 da memória, que é D = 0011 O circuito da próxima figura é uma ROM de 32 bits organizada como 8 palavras de 4 bits cada uma. Ele tem 3 linhas (entradas) de endereços e quatro linhas (saídas) de dados. Esta é uma ROM muito pequena comparada com as ROMs disponíveis. NÚMERO DE LINHAS DE ENDEREÇOS Com a decodificação em pastilhas, n linhas de endereços podem selecionar 2n locais da memória. Por exemplo, necessitaremos de 3 linhas de endereços para ter acesso a 8 locais da memória. Similarmente, 4 linhas de endereço podem ter acesso a 16 locais da memória , 8 linhas de endereço podem ter acesso a 256 locais da memória e assim por diante. |
PROMs e EPROM Com uma ROM, temos que enviar uma lista de dados a serem armazenados nos diferentes locais da memória para o fabricante, que então produz uma máscara ( um gabarito ou padrão fotográfico do circuito) usada na produção em massa das nossas ROMs. Na fabricação das ROMs, o fabricante pode usar transistores bipolares ou MOSFETs. Mas a idéia é ainda basicamente a mesma; os transistores ou os MOSFETs atuam como os diodos Programável Com uma ROM programável (PROM programable read only memory) é diferente. Ela permite ao usuário armazenar os dados. Um instrumento chamado programador PROM faz o armazenamento pela "queima". ( Elos fusíveis nos locais dos bits podem ser queimados ou fundidos por correntes elevadas). Com um programador PROM, o usuário pode queimar o programa e os dados. Uma vez que isto tenha sido feito, a programação é permanente. Em outras palavras, os conteúdos armazenados não podem ser apagados. Apagável A PROM apagável (EPROM erasable programable read only memory) usa MOSFETs. Os dados são armazenados com um programador PROM. Posteriormente, os dados podem ser apagados com luz ultravioleta. A luz passa através de uma janela na embalagem de CI para a pastilha, onde ela libera cargas armazenadas. O efeito consiste em limpar os conteúdos armazenados. Em outra palavras, a EPROM é apagável pela luz ultravioleta e eletricamente reprogramável. A EPROM é valiosa no projeto e no desenvolvimento. Ela permite ao usuário apagar e armazenar até que o programa até que o programa e os dados estejam aperfeiçoados. Depois o programa e os dados podem ser mandados a um fabricante de CIs que produz uma máscara ROM para a produção em massa. Dispositivos Fabricados Com integração em larga escala, os fabricantes pode fabricar ROMs, PROMs, e EPROMs que armazenam milhares de palavras. Por exemplo, o 8355 é uma ROM de 16384 bits organizada como 2048 palavras de 8 bits cada uma. Ela tem 11 linhas de endereço e 8 linhas de dados. Um outro exemplo, a 2764 é a EPROM de 65536 bits organizada como 8192 palavras de 8 bits cada uma. Ela tem 13 linha de endereços e 8 linhas de dados. Tempo de Acesso O temo de acesso de uma memória é o tempo necessário para ler uma palavra armazenada depois da fabricação dos bits de endereço. Uma vez que os transistores bipolares são mais rápidos que os MOSFETs, as memórias bipolares têm tempos de acesso mais rápidos do que as memórias MOS. Por exemplo, a 3636 é uma PROM bipolar com um tempo de acesso de 80 ns; a 2716 é uma EPROM MOS com um tempo de acesso de 450 ns. Temos que pagar pela velocidade; uma memória bipolar é mais dispendiosa do que uma memória MOS, e portanto cabe ao projetista decidir que tipo usar aplicação específica. Memórias de Três Estados Acrescentando-se chaves de três estados às linhas de dados de uma memória podemos obter uma saída de três estados. Por exemplo, a figura a seguir mostra uma ROM de 16384 bits organizada como 2048 palavras de 8 bits cada uma. Ela tem 11 linhas de endereços e 8 linhas de dados. Um HABILITA baixo abre todas as chaves e flutua as linhas de saída. Por outro lado, um HABILITA alto permite que a palavra endereçada alcance a saída final. As ROMs, PROMs e EPROMs, encontradas no comércio, em sua maioria têm saídas de três estados. Em outra palavras, elas têm chaves de três estados incorporados que nos permite conectar ou desconectar as linhas de saída de um barramento de dados. Mais será dito posteriormente a respeito disto.
Memória Não-volátil ROMs, PROMs e EPROMs são memórias não-voláteis. Isto significa que elas retêm os dados armazenados mesmo quando a alimentação de força para o dispositivo estiver desligada. Exemplo Uma ROM de 16 X 8 armazena estas palavras em seus 4 primeiros locais R0 = 1110
0010 |
EEPROM x FLASH Hoje em dia, as mais utilizada são as EEPROM, que são EPROM's apagadas eletricamente, ou seja, enviamos um pulso elétrico nos transistores de efeito de campo, para eliminar a carga armazenada. |
RAM ESTÁTICA (SRAM) Células
de memória RAM Estáticas, construídas na tecnologia
bipolar e NMOS. |
RAM DINÂMICA (DRAM) |
RAM NÃO VOLÁTIL |
Cache de memória externo |
FIFO FILO - LIFO |
TECNOLOGIAS
DA MEMÓRIA RAM |
DRAM - RAM DINÂMICA |
SDRAM |
SDRAM II/DDR-SDRAM - Double Data Rate-Synchronous DRAM Um tipo de SDRAM que suporta transferências de dados duas vezes por ciclo de clock, dobrando a velocidade de acesso. Este tipo de memória consegue suportar velocidades de barramento de cerca de 200 MHz. A transferência de dados entre o processador e esse tipo de memória é de cerca de 2.4 gigabytes por segundo. |
SRAM |
EDO RAM |
BEDO Burst EDO - Uma variante da Ram Dinâmica EDO na qual os ciclos de leitura ou escrita duram quatro ciclos de clock. A velocidade do barramento da Burst EDO fica entre 40MHz e 66MHz. |
FPM É o mais velho e menos sofisticado tipo de RAM, usada em micros 486 e Pentiums mais antigos, esse tipo de memória é encontrado em velocidades de 80, 70 e 60 nanos. Os intervalos de espera desse tipo de memória (Wayt States) não podem ser menores do que 5-3-3-3. E pode ser utilizada em velocidades de barramento de até 66Mhz. |
WRAM (Windows RAM) É um outro tipo de VRAM, porém oferece uma performance melhor e é mais barata, oferecendo endereçamento de grandes blocos da memória de vídeo. |
Rambus DRAM (RDRAM) Desenvolvida pela Rambus Inc., é um tipo de memória EDO melhorada. É usada em muitas aceleradoras de vídeo, sendo o tipo de memória de vídeo mais rápida e cara que existe atualmente. |
| ESDRAM
- Enhanced SDRAM A tecnologia das memórias ESDRAM foi desenvolvida por alguns fabricantes para tentar resolver o problema da letência das memórias SDRAM. Essa tecnologia consiste em adicionar uma pequena quantidade de memória estática dentro do circuito da memória, criando um pequeno cache. Tais memórias suportam trabalhar em freqüências de até 200MHz. |
| SLDRAM
- SyncLink Esse tipo de memória possui arquitetura aberta, ou seja, os fabricantes não precisam pagar direitos autorais à empresa que criou essa tecnologia e também é baseada em protocolo. |
| SGRAM
- Synchronous Graphic Random Access Memory Um tipo de memória SDRAM otimizada para o uso em placas de vídeo. Ao contrário dos outros tipos de VRAM, ele possui apenas uma entrada de dados, porém, pode abrir duas páginas de memória ao mesmo tempo, simulando uma dupla entrada de dados. |
Tempo de Acesso O temo de acesso de uma memória é o tempo necessário para ler uma palavra armazenada depois da fabricação dos bits de endereço. Uma vez que os transistores bipolares são mais rápidos que os MOSFETs, as memórias bipolares têm tempos de acesso mais rápidos do que as memórias MOS. Por exemplo, a 3636 é uma PROM bipolar com um tempo de acesso de 80 ns; a 2716 é uma EPROM MOS com um tempo de acesso de 450 ns. Temos que pagar pela velocidade; uma memória bipolar é mais dispendiosa do que uma memória MOS, e portanto cabe ao projetista decidir que tipo usar aplicação específica. |
Ciclo de Acesso O
processados gasta dois pulsos de clock para acessar a memória
RAM, então a memória deverá ser capaz de entregar ou
armazenar um dado dentro desse período. Isso implica no
tempo de acesso da memória RAM que deverá ser menor ou
igual aos dois ciclos de clock (referente ao clock da
placa-mãe). |
WAIT STATES Um Wait State é um pulso de clock adicional ao ciclo de leitura ou escrita da memória. Como o ciclo de acesso à memória RAM dura dois pulsos de clock, com a adição de um wait state o ciclo passa a ter três pulsos de clock.Aumentar a duração do ciclo de acesso à memória faz com que memórias com tempos de acesso maiores possam ser utilizadas. |
ENCAPSULAMENTOS |
Módulo SIMM (Single in Line Memory Module) de 30 pinos Memória utilizada em alguns micros 286 mais modernos, nos micros 386 e em muitos 486. Eram pentes de memória com 30 terminais ou vias, com barramento de 8bits. Este modulo podia ser encontrado em varias capacidades, os mais comuns eram os de 256k, 1MB e 4 MB, existindo também módulos de 512 kb, 8 MB e 16 MB. Por ser um modulo de 8 bits, era necessário usar um par de módulos em cada banco (um banco era composto de dois soquetes para encaixe dos módulos, e em geral haviam dois bancos, totalizando 4 soquetes) nos micros 286 para que fornecesse o mesmo números de bits usados pelo processador (16bits). Já nos micros 386 DX que tinham processadores que se comunicavam com a memória em 32 bits, eram necessários que dois bancos (ou os 4 soquetes) estivessem preenchidos, totalizando 32 bits. Foram fabricados com velocidade de acesso entre 100 e 70 nanosegundos. |
Modulo SIMM de 72 pinos Com o uso dos processadores de 32 bits, os fabricantes criaram um novo tipo de pente de memória de 32 bits que ao contrário dos módulos antigos possuía 72 pinos. Esse tipo de memória foi usado nos micros 486 mais modernos e largamente utilizados nos micros Pentium, neste caso sendo necessário o uso em pares já que esses processadores trabalhavam em 64 bits. Os módulos SIMM de 72 pinos são encontrados com velocidades entre 80 e 50 nanos (no caso das EDO). |
Módulo DIP (Dual in Parallel) A memória RAM usada na época do XT, também utilizada em alguns micros 286. Eram pequenos chips que eram encaixados na placa mãe. Trata-se de módulos de memórias de 8 bits, fabricados em velocidades de acesso de 150 e 120 nanos (bilhonésimos de segundo). A instalação destes módulos era muito trabalhosa, e para facilitar a vida dos usuários (e aumentar as vendas) os fabricantes desenvolveram placas de circuito impresso onde os circuitos integrados de memória se encontravam soldados. |
Modulo SIPP - SIPP (Single in Line Pin Package) Os primeiros módulos de memória usados em micros 286 e nos primeiros micros 386, eram também módulos de 8 bits. Esse tipo de memória foi fabricado com velocidades de acesso entre 100 e 120 nanos. |
Modulo DIMM de 168 pinos Ao contrario das memórias SIMM, esse módulos possuem contatos em ambos os lados do pente, sendo por isso chamados de DIMM (Double in Line Memory Module) são módulos de 64 bits, sendo usados em micros Pentium e posteriores. |
FUNCIONAMENTO |
O funcionamento e o desempenho do cache de memória varia de acordo com o método organizacional que é utilizado pelo controlador de cache. Existem basicamente três modelos:
É devido ao tipo de organização utilizado pelo controlador que encontramos diferenças de desempenho entre chipsets, bem como processadores. Não podemos nos esquecer de que os processadores a partir do 486 têm um pequeno cache de memória interno (L1). Dependendo do método utilizado pelo controlador desse cache, poderá ser mais eficiente, aumentando o desempenho do micro. |
ARQUITETURAS |
|
Arquitetura superescalar |