Escolar Documentos
Profissional Documentos
Cultura Documentos
CONEXÕES CPU-MEMÓRIA
A memória principal se comunica com a CPU (unidade central de processamento).
A memória principal de um computador é construída com CIs de RAMs e ROMs
interfaceados com a CPU por meio de três grupos de linhas de sinais ou barramentos. Eles
são mostrados na Figura 12.5 como linhas ou barramento de endereço, linhas ou
barramento de dados e linhas ou barramento de controle.
Operação de escrita
1. A CPU fornece o endereço binário da posição da memória em que o dado será
armazenado. Ela o coloca nas linhas do barramento de endereço.
2. Um decodificador de endereços ativa a entrada de habilitação (CE ou CS) do
dispositivo de memória.
3. A CPU coloca os dados a serem armazenados no barramento.
4. A CPU ativa as linhas de sinal de controle apropriadas para a operação de escrita na
memória (por exemplo, 𝑊𝑅 −− ou R/𝑊 −− ) que é conectada a 𝑊𝐸 −− no CI de memória.
5. Os CIs de memória decodificam internamente o endereço binário para determinar a
posição para a operação de armazenamento.
6. Os dados no barramento são transferidos para a posição de memória selecionada.
:
Operação de leitura
1. A CPU fornece o endereço binário da posição de memória da qual o dado deve ser
recuperado. Ela o coloca nas linhas do barramento de endereço.
2. Um decodificador de endereço ativa a entrada habilitada do dispositivo de memória
(CE ou CS).
3. A CPU ativa as linhas de sinal de controle apropriadas para a operação de leitura na
memória (por exemplo, 𝑅𝐷−− ) que é conectada a 𝑂𝐸 −− no CI de memória.
4. Os CIs de memória decodificam internamente o endereço binário para determinar a
posição selecionada para a operação de leitura.
5. Os CIs de memória colocam o dado da posição de memória selecionada no barramento
de dados, a partir do qual são transferidos para a CPU.
Barramento de endereço: É unidirecional e transporta as saídas binárias de endereço da
CPU para os CIs de memória para selecionar uma das posições de memória.
Barramento de dados: É bidirecional e transporta dados entre a CPU e os CIs de
memória.
Barramento de controle: Transporta sinais de controle (por exemplo, 𝑅𝐷 −− , 𝑊𝑅 −− ) da
CPU para os CIs de memória.
A operação de leitura
Para ler uma palavra de dados da ROM, precisamos: (1) aplicar a entrada de
endereço apropriada e, então, (2) ativar as entradas de controle.
ARQUITETURA DA ROM
Matriz de registradores
A matriz de registradores armazena dados programados na ROM. Cada
registrador contém um número de células de memória igual ao tamanho da palavra. Nesse
caso, cada registrador armazena uma palavra de oito bits.
Decodificadores de endereço
O código de endereço A3A2A1A0 aplicado determina o registrador da matriz que
será habilitado a colocar sua palavra de dados de oito bits no barramento. Os bits de
endereço A1A0 são fornecidos ao decodificador 1 de 4 que ativa uma das linhas, e os de
endereço A3A2, ao segundo decodificador 1 de 4 que ativa uma coluna. Apenas um
registrador terá a linha e a coluna selecionadas pelas entradas de endereço e será
habilitado.
Buffers de saída
O registrador habilitado pelas entradas de endereço colocará seus dados no
barramento. Esses dados vão para os buffers de saída, que os passam para as saídas
externas de dados, desde que CS e OE estejam em nível BAIXO. Se 𝐶𝑆 −− ou 𝑂𝐸 −−
estiverem em nível ALTO, os buffers de saída estarão no estado de alta impedância e D7
a D0, em flutuação.
TEMPORIZAÇÃO DA ROM
TIPOS DE ROMs
ROM programada por máscara
A ROM programada por máscara tem as informações armazenadas ao mesmo
tempo que o circuito integrado é fabricado. As informações são armazenadas conectando
ou desconectando a fonte de um transistor à coluna de saída. O último passo no processo
de fabricação é formar esses ramos de condutores ou conexões. O processo utiliza uma
‘máscara’ para depositar metais sobre o silício, que determina onde se formam as
conexões, de maneira bastante similar ao uso de estêncil e tinta em spray, mas em escala
menor.
A Figura 12.9 mostra a estrutura de uma pequena MROM MOS. Ela consiste de
16 células de memória organizadas em quatro linhas de quatro células. Cada célula é um
transistor MOSFET canal-N conectado na configuração de dreno comum (entrada na
porta, saída na fonte).
A Figura 12.10 mostra um MROM de 32K × 8. As 15 linhas de endereços (A0-
A14) podem identificar 215 posições de memória (32.767 ou 32K). Cada posição guarda
um valor de dados de oito bits a ser colocado nas linhas de dados D7–D0 quando o chip
e as saídas estão habilitados.
ROMs programáveis (PROMs)
Para aplicações que usam volume menor, os fabricantes desenvolveram PROMs
com conexões a fusível programadas pelo usuário; ou seja, as memórias não são
programadas durante o processo de fabricação, mas pelo usuário. Entretanto, uma vez
programada, a PROM será semelhante a uma MROM, que não pode ser apagada e
reprogramada. Assim, se o programa na PROM estiver errado ou tiver de ser alterado,
essa PROM terá de ser ‘jogada fora’. Por isso, esses dispositivos são frequentemente
chamados de ROMs programáveis apenas uma vez (one time programmable — OTP).
Operação de leitura
O código de endereço seleciona um registrador no CI de memória para leitura ou escrita.
Para ler o conteúdo do registrador selecionado, a entrada de habilitação de escrita (WE)1tem de
estar em nível 1. Além disso, a entrada CHIP SELECT (CS) tem de ser ativada (nesse caso, nível
0). A combinação de WE = 1, CS = 0 e OE = 0 habilita os buffers de saída, de modo que o
conteúdo do registrador selecionado aparece nas quatro saídas de dados
Operação de escrita
Para escrever uma nova palavra de quatro bits no registrador selecionado, é necessário
fazer WE = 0 e CS = 0.
Seleção do chip
Quando CS ou CE estão em seus estados ativos, diz-se que o chip de memória está
selecionado; caso contrário, diz-se que não está..
Pinos comuns de entrada e saída
Para diminuir o número de pinos no encapsulamento do CI, os fabricantes combinam as
funções de entrada e saída de dados usando pinos comuns.
Podemos entender por que isso é feito considerando o CI mostrado na Figura 12.20. Com
pinos de entrada e saída separados, são necessários 19 pinos (incluindo os GND e alimentação).
Com quatro pinos de I/O comuns, são necessários apenas 15. A economia de pinos se torna ainda
mais significativa para CIs com tamanho maior de palavra.
Na maioria das aplicações, dispositivos de memória são usados com um barramento de
dados bidirecional, como estudamos no Capítulo 9.
Multiplexação de endereço
A DRAM de 16K × 1 mostrada na Figura 12.25 está obsoleta. Ela tem 14 entradas de
endereço; já uma DRAM de 64K × 1 teria 16 entradas de endereço. Uma DRAM de 1M × 4
necessita de 20 entradas de endereço; uma de 4M × 1 necessita de 22 entradas de endereço.
DRAMs modernas têm capacidades de gigabits. CIs de memórias de alta capacidade como esses
precisariam de muitos pinos, se cada entrada de endereço necessitasse de um pino separado. Para
reduzir o número de pinos nas DRAMs de alta capacidade, os fabricantes utilizam a multiplexação
de endereços, segundo a qual cada entrada de endereço pode acomodar dois bits. A economia de
pinos se traduz em decréscimo no tamanho dos encapsulamentos dos CIs. Isso é importante em
placas de memória de alta capacidade, nas quais se deseja maximizar a quantidade de memória
em uma placa.
nível BAIXO em RAS também habilita esse decodificador, de modo que decodifique o endereço
da linha e selecione uma linha da matriz.
No instante t2, o endereço da coluna (ou seja, a metade inferior do endereço completo) é
aplicado nas entradas de endereço. Em t3, a entrada CAS é acionada em nível BAIXO para
carregar o endereço da coluna no registrador de endereço da coluna. Essa entrada ativada também
habilita o decodificador da coluna, de modo que decodifique o endereço da coluna e selecione
uma coluna da matriz.
Nesse momento, as duas partes do endereço estão nos respectivos registradores, os
decodificadores decodificaram o endereço para selecionar uma célula que corresponde ao
endereço da linha e da coluna e uma operação de leitura ou de escrita pode ser realizada da mesma
maneira que em uma RAM estática.
O circuito de multiplexação e temporização real não está mostrado aqui, mas será visto
nos problemas no final do capítulo (12.26 e 12.27).
CICLOS DE LEITURA/ESCRITA DA RAM DINÂMICA
A temporização das operações de leitura e de escrita de uma DRAM é mais complexa que
de uma RAM estática, e existem muitos requisitos críticos de temporização que o projetista de
sistemas com memória DRAM tem de considerar.
Nesse momento, uma discussão detalhada desses requisitos geraria mais confusão que
esclarecimentos. Vamos nos concentrar na sequência de temporização básica para as operações
de leitura e de escrita de um sistema com memória DRAM semelhante à mostrada na Figura
12.28(b).
Ciclo de leitura de uma DRAM
A Figura 12.30 mostra o comportamento típico dos sinais durante a operação de leitura.
Suponha que o sinal WE esteja no estado ALTO durante toda a operação. A seguir é apresentada
a descrição dos eventos que ocorrem nos instantes indicados no diagrama.
- t0: MUX é acionado em nível BAIXO para aplicar os bits de endereço da linha (A8 a
A15) nas entradas de endereço da DRAM.
- t1: a entrada RAS é acionada em nível BAIXO para carregar o endereço de linha na
DRAM.
- t2: MUX vai para nível ALTO para colocar o endereço de coluna (A0 a A7) nas entradas
de endereço da DRAM.
-t3: a entrada CAS vai para nível BAIXO para carregar o endereço da coluna na DRAM.
-t4: a DRAM responde colocando dados válidos, provenientes da célula de memória
selecionada, na linha de saída de dados (DATA OUT).
-t5: os sinais MUX, RAS e CAS, e DATA OUT retornam para os estados iniciais.
REFRESH DA DRAM
A célula de uma DRAM é reavivada (operação de refresh) a cada operação de leitura.
Cada célula de memória tem de ser reavivada periodicamente (2 a 8 ms, dependendo do
dispositivo) ou seus dados serão perdidos..
Assim, é necessária uma operação de leitura em cada linha da matriz da DRAM a cada 4
ms para garantir que todas as células da matriz sejam reavivadas. Se qualquer endereço for
carregado no registrador de endereço de linha, as 1.024 células daquela linha serão
automaticamente reavivadas.
.
TECNOLOGIA DA DRAM2
Ao selecionar um dispositivo RAM para um sistema, um projetista tem de tomar algumas
decisões. A capacidade (maior possível), a velocidade (maior possível), a potência (menor
possível), o custo (menor possível) e a versatilidade (tão fácil de alterar quanto possível) têm de
ser avaliados, porque nenhum tipo de RAM maximiza todas essas características desejadas. O
mercado de RAMs semicondutoras busca uma mistura ideal dessas características em seus
produtos para diversas aplicações. Esta seção explica alguns desses termos independentemente
da tecnologia de RAM
DRAM FPM
A DRAM do tipo modo de página rápida (fast page mode — FPM) permite acesso mais
rápido a qualquer posição de memória dentro da ‘página’ corrente. Uma página é uma faixa de
endereços de memória que tem os bits mais significativos iguais.
DRAM EDO
DRAMs com saída de dados estendida (extended data output — EDO) apresentam uma
pequena melhoria em relação às FPM. Para acessar determinada página, o valor do dado na
posição corrente de memória é detectado e armazenado nos pinos de saída.
SDRAM
As DRAMs síncronas são projetadas para transferir dados em rajadas rápidas de diversas posições
da memória. A primeira a ser acessada é a mais lenta devido ao overhead (latência) do
armazenamento do endereço de linha e de coluna.
DDRSDRAM
A SDRAM com dupla taxa de dados é uma especificação de interface de memória referida em
textos sobre computadores.
DRDRAM
A DRDRAM (direct Rambus DRAM) é um dispositivo proprietário desenvolvido e
comercializado pela Rambus. Ela usa um método para a arquitetura da DRAM com controle
integrado no dispositivo de memória. Essa tecnologia ainda está disputando com outras padrão
em busca de mercado.
EXPANSÃO DO TAMANHO DA PALAVRA E DA CAPACIDADE
Expansão do tamanho da palavra
Suponha que precisemos de uma memória para armazenar 16 palavras de oito bits e tudo
o que temos são CIs de memória RAM de 16 × 4 com linhas de I/O comuns. Podemos combinar
dois desses chips de 16 × 4 para produzir a memória desejada. A configuração para isso é
mostrada na Figura 12.34. Analise esse diagrama cuidadosamente e tente entendê-lo antes de
prosseguir.
Como cada CI pode armazenar 16 palavras de quatro bits e desejamos armazenar 16
palavras de oito bits, usaremos cada CI para armazenar metade de cada palavra. Em outras
palavras, a RAM 0 armazena os quatro bits de mais alta ordem de cada uma das 16 palavras e a
RAM 1 armazena os quatro bits de mais baixa ordem. Uma palavra de oito bits completa está
disponível nas saídas das RAMs conectadas no barramento de dados.
Qualquer uma das 16 palavras é selecionada aplicando-se o código de endereço
apropriado nas quatro linhas do barramento de endereço (A3, A2, A1, A0). As linhas de endereço
vêm da CPU. Observe que cada linha do barramento está conectada na entrada de endereço
correspondente em cada CI. Isso significa que, uma vez que um código de endereço é
colocado no barramento de endereço, ele é aplicado em ambos os CIs, de modo que a mesma
posição em cada é acessada ao mesmo tempo.
Uma vez que o endereço esteja selecionado, podemos ler ou escrever nele sob o controle
das linhas comuns de WE e CS. Para leitura, WE tem de estar em nível ALTO e CS tem de estar
em nível BAIXO. Isso faz com que as linhas de I/O da RAM atuem como saídas. A RAM 0 coloca
sua palavra de quatro bits selecionada nas quatro linhas do barramento de dados superior, e a
RAM 1 coloca sua palavra de quatro bits nas quatro linhas do barramento de dados inferior.
Portanto, o barramento de dados contém a palavra completa de oito bits selecionada que pode ser
transmitida para outro dispositivo (geralmente para um registrador na CPU).
Para uma operação de escrita, WE = 0 e CS = 0 fazem as linhas de I/O da RAM atuarem
como entradas. A palavra de oito bits a ser escrita é colocada no barramento de dados (geralmente
pela CPU). Os quatro bits de mais alta ordem são escritos na posição selecionada na RAM 0, e os
quatro bits de mais baixa ordem, na RAM 1.
Em resumo, a combinação dos dois CIs de RAM atua de maneira semelhante a um único
CI de memória de 16 × 8.
Referimo-nos a essa combinação como um módulo de memória de 16 × 8.
A mesma ideia básica para a expansão do tamanho da palavra funciona para diferentes
situações. Leia o seguinte exemplo e esboce um diagrama do sistema antes de olhar a solução
apresentada.
Expansão da capacidade
Necessitamos de uma memória que possa armazenar 32 palavras de quatro bits e tudo o
que temos são CIs de 16 × 4.Combinando dois CIs de 16 × 4, conforme mostra a Figura 12.36,
podemos produzir a memória desejada. Mais uma vez, analise o diagrama e tente entendê-lo antes
de continuar a leitura.
Cada RAM é usada para armazenar 16 palavras de quatro bits. Os quatro pinos de
entrada/saída (I/O) de dados de cada RAM são conectados nas quatro linhas comuns do
barramento de dados. Apenas um dos CIs de RAM pode ser selecionado (habilitado) por vez, de
modo que não existirá problema de contenção de barramento. Isso está garantido pelo
acionamento das respectivas entradas CS a partir de sinais lógicos diferentes.
Como a capacidade desse módulo de memória é 32 × 4, tem de haver 32 endereços
diferentes. Isso requer um barramento de endereço de cinco linhas. A linha de endereço mais alta,
A4, é usada para selecionar uma ou outra RAM (via entradas CS) como aquela que será lida ou
escrita. As outras quatro, A0 a A3, são usadas para selecionar uma das 16 posições de memória
do CI de RAM.
Para ilustrar, quando A4 = 0, o CS da RAM 0 habilita esse CI para leitura ou escrita.
Então, qualquer posição na RAM 0 pode ser acessada por A3 a A0. As últimas quatro linhas de
endereço variam de 0000 a 1111 para selecionar a posição desejada. Assim, a faixa de endereços
que representa posições na RAM 0 é
A4A3A2A1A0 = 00000 a 01111
Observe que quando A4 = 0, o CS da RAM 1 está em nível ALTO, de modo que suas
linhas de I/O estão desabilitadas (alta impedância) e não se comunicam (fornecem nem recebem
dados) com o barramento de dados.
Deve estar claro que, quando A4 = 1, as funções da RAM 0 e da RAM 1 são trocadas. A
RAM 1 está habilitada e as linhas A3 a A0 selecionam uma das posições. Assim, a faixa de
endereços na RAM 1 é
A4A3A2A1A0 = 10000 a 11111