Você está na página 1de 65

ELC 1112 – Circuitos Digitais II

Dispositivos de memória

Marcos H. Maruo

marcos.maruo@ufsm.br

Departamento de Eletrônica e Computação


Centro de Tecnologia
Universidade Federal de Santa Maria

2017
Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 1 / 65
Roteiro I

1 Introdução

2 Terminologia

3 Princı́pios de operação da memória

4 Conexões CPU–memória

5 Memórias somente de leitura

6 Arquitetura de ROM

7 Temporização da ROM

8 Tipos de ROM

9 Memória flash
Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 2 / 65
Objetivos

Após esta aula o aluno deve ser capaz de de compreender e utilizar


corretamente a terminologia associada com sistemas de memória e
diferenciar memórias de leitura/escrita e memórias somente de leitura. O
aluno também deve ser capaz de diferenciar entre memórias voláteis e não
voláteis.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 3 / 65


Pré-requisitos

Circuitos combinacionais;

Lógica booleana;

Flip-Flops e dispositivos correlatos;

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 4 / 65


Introdução I

Uma das principais vantagens de sistemas digitais em comparação com


sistemas analógicos é sua capacidade de armazenar, processar e replicar
grandes quantidades de informação de maneira confiável.

Sistemas de telecomunicação
Em sistemas de telecomunicações, sistemas digitais ainda apresentam a
possibilidade de introduzir estações repetidoras de sinais para regenerar
sinais degradados pelos efeitos do meio de telecomunicação.

Em computadores digitais, memórias servem para armazenar dados


parciais de computações, as instruções que tornam o dispositivo
autônomo, dados de entrada, etc.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 5 / 65


Introdução II

Flip-flops vs memórias
Durante o estudo de flip-flops, vocês aprenderam a produir registradores
que podem ser utilizados para armazenar informação binária. Eles são
dispositivos de alto desempenho que costumam ser mais utilizados para
armazenar informação que precisa ser continuamente transferida de um
local para outro. Não obstante, os avanços nas tecnologias LSI (large scale
integration) e VLSI (very large scale integration) permitem produzir
dispositivos de memória baseados em flip-flops extremamente rápidos e
com custos ccontinuamente decrescentes.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 6 / 65


Introdução III
memórias DRAM
Dados digitais (e analógicos) podem também ser armazenados como
tensões em um capacitor. Devido a sua extrema simplicidade, esse tipo de
memória permite a construção de dispositivos com altı́ssimas densidades
de armazenamento e ao mesmo tempo baixos requisitos de potência. Em
contrapartida, elementos capacitivos apresentam não idealidades que
permitem a dissipação da tensão armazenada do capacitor ao longo do
tempo. Isso exige circuitos auxiliares para recarregar o conteúdo dessas
memórias.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 7 / 65


Introdução IV

Memória principal
Memórias baseadas em dispositivos semicondutores são utilizadas na
construção da memória principal ou memória de trabalho de um
computador. Isso ocorre pois o acesso a essa parcela da memória deve ser
rápido pois ela está em comunicação constante com a unidade central de
processamento (CPU, do inglês central processing unit).

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 8 / 65


Introdução V

Memória auxiliar
Outra forma de armazenamento no computador é realizada pela memória
auxiliar que é separada da memória principal. A memória auxiliar, também
chamada de armazenamento em massa, tem a capacidade de armazenar
uma enorme quantidade de dados sem volatilidade. O acesso à memória
auxiliar é bem mais lento que à memória principal e ela serve para
armazenar dados e programas que não estão sendo utilizados na CPU.
Dispositivos comuns de armazenamento em massa são discos magnéticos,
fita magnética, dispositivos ópticos (CD, DVD) e memórias tipo flash.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 9 / 65


Introdução VI

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 10 / 65


Terminologia I

Antes de iniciar uma discussão pormenorizada sobre memórias, é de


grande ajuda definir alguns termos básicos que serão utilizados ao longo
desse estudo.

Célula de memória
São dispositivos digitais capazes de armazenar um único bit. Logo, podem
alternar entre dois estados (0 ou 1). Exemplos de dispositivos que podem
ser utilizados como células de memórias incluem flip-flops, capacitores,
chaves mecânicas, um portão (aberto ou fechado), etc.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 11 / 65


Terminologia II

Palavra de memória
Um grupo de bits em uma memória que representa instruções ou dados de
algum tipo. Por exemplo, um registrador com 8 flip-flops pode ser
utilizado como uma memória que está armazenando uma palavra de 8
bits. Os tamanhos de palavra de processadores modernos variam
tipicamente de 4 até 64 bits, dependendo do porte do computador.

Byte
Um termo utilizado para indicar um grupo de 8 bits. Tamanhos de palavra
podem ser expressos tanto em bits como em bytes dependendo da
conveniência. Por exemplo, uma palavra de 32 bits tem 4 bytes; uma
palavra de 2 bytes tem 16 bits e assim por diante.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 12 / 65


Terminologia III
Capacidade
É uma maneira de especificar quantos bits (ou bytes) podem ser
armazenados em um determinado dispositivo de memória ou na associação
de dispositivos de memória. Considere uma memória capaz de armazenar
4096 palavras de 20 bits. Esse dispositivo tem uma capacidade de
armazenar 4096 × 20 = 81920 bits. Quando a capacidade é representada
na forma de uma multiplicação, por convenção, o primeiro multiplicando
deve indicar o número de palavras e o segundo multiplicando o tamanho
da palavra de memória.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 13 / 65


Terminologia IV

Capacidade – um sistema peculiar de representação


O número de palavras de memória de um dispositivo pode ser
relativamente elevado e para simplificar a representação de sua capacidade
geralemente uma base 210 = 1024 é frequentemente utilizada. Assim, um
dispositivo com capacidade para armazenar 128 palavras de 8 bits tem
capacidade 27 × 23 = 1K . Note que a notação de um kilobit utiliza um K
maiúsculo para diferenciar do múltiplio 1k = 103 do sistema internacional
de unidades. O desenvolvimento de memórias maiores trouxe as
designações 1M = 1020 que indica um mega, 1G = 1030 que indica um
giga e 1T = 1040 que indica um tera.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 14 / 65


Terminologia V

Densidade
Um termo alternativo à capacidade. Quando um dispositivo de memória
tem uma densidade maior que outro, isso significa somente que ele tem
uma capacidade maior. Como esses dispositivos utilizam interfaces
semelhantes para se comunicar com outros dispositivos e tendem a
apresentar dimensões iguais para se encaixar em fatores de forma
factor-form da indústria, a “densidade” definida como capacidade por
volume de dispositivos de mesmo volume é uma medida da capacidade.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 15 / 65


Terminologia VI

Endereço
Um número que identifica a posição de uma palavra na memória. Cada
palavra armazenada em um dispositivo possui um endereço único.
Endereços são sempre números inteiros não-negativos com representação
binária. Contudo, por conveniência, as representações octal, decimal e
hexadecimal são frequentemente utilizadas.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 16 / 65


Terminologia VII

Operação de leitura
É a operação na qual o conteúdo de um endereço de memória é
identificado e então transferido para outro dispositivo. Por exemplo, se
deseja-se gravar o conteúdo de memória do endereço 042h em uma
memória não volátil, inicialmente é necessário que os bits de endereço
estejam corretamente determinados de acordo com o endereço desejado
(042H) e um comando de leitura deve ser recebido pela memória. A
operação de leitura é frequentemente chamada também de busca.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 17 / 65


Terminologia VIII

Operação de escrita
É a operação na qual uma nova palavra é colocada em uma determinada
posição da memória. Por exemplo, várias operações de escrita são
necessárias para carregar um programa na memória. Da mesma maneira
que a operação de leitura, é necessário especificar o endereço de memória
no qual deseja-se escrever o dado. A operação de escrita também é
conhecida como armazenamento. Após uma operação de escrita, o
conteúdo anterior da memória no endereço é completamente obliterado.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 18 / 65


Terminologia IX

Tempo de acesso
É uma métrica da velocidade de operação do dispositivo de memória
definida pelo tempo necessário para realizar uma operação de leitura. Mais
especificamente, é o tempo decorrido entre a memória receber uma nova
entrada de endereço e os dados se tornarem disponı́veis na saı́da da
memória. O sı́mbolo tAcc é utilizado para indicar o tempo de acesso.

Memória volátil
Qualquer tipo de memória que requer energia para poder armazenar
informação. Se a fonte de energia é retirada, todas as informações
armazenadas na memória são perdidas. Muitas memórias semicondutoras
são voláteis enquanto todas as memórias magnéticas são não voláteis.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 19 / 65


Terminologia X

Memória de acesso aleatório (RAM do inglês random access memory)


É um tipo de memória na qual a posição fı́sica real de uma palavra de
memória não tem qualquer efeito sobre o tempo necessário para a leitura
ou escrita. Ou seja, o tempo de acesso de todos os endereços é idêntico.
A maioria das memórias semicondutoras é de acesso aleatório.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 20 / 65


Terminologia XI

Memória de acesso sequencial (SAM do inglês sequential access


memory)
São dispositivos nos quais o tempo de acesso varia dependendo do
endereço acessado. Uma determinada palavra armazenada é encontrada
por meio de busca sequencial percorrendo todos os endereços até que o
endereço desejado seja alcançado. Isto produz tempos de acesso que são
muitas ordens de grandeza maiores que os das memórias de acesso
aleatório. Exemplos de dispositivo desse tipo são uma fita magnética e
uma pilha de livros. Por exemplo, você gravou 60 minutos de um show do
grupo Molejo em uma fita magnética (k7). Supondo que você deseja
escutar a “dança da vassoura”, dependendo do ponto em que a fita se
encontra, é necessário retroceder, avançar ou trocar o lado da fita até
encontrar a melhor música do universo. Esse processo, além de lento, tem
uma duração que depende tanto do estado inicial da fita quanto da
posição da música.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 21 / 65


Terminologia XII

Memória de acesso sequencial (SAM do inglês sequential access


memory)
A busca em um dispositivo que tem caracterı́stica RAM, ao contrário, é
muito mais rápida. Supondo que o grupo Molejo lançou um CD do mesmo
show, basta encontrar o número da faixa no encarte do CD e ser feliz com
o Molejão.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 22 / 65


Terminologia XIII

Memória de leitura e escrita (RWM do inglês REad/Write Memory)


Qualquer dispositivo de memória que permita a leitura e a escrita de dados
de maneira igualmente fácil. Como exemplos de memórias de
leitura/escrita temos as SRAMS, memórias flash, etc.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 23 / 65


Terminologia XIV

Memória de somente leitura (ROM, do inglês read-only memory)


Uma vasta classe de memórias semicondutoras projetadas para aplicações
nas quais a operação de escrita é extremamente rara. Estritamente
falando, a escrita da ROM pode ser programada apenas uma vez e essa
operação é realizada na fábrica. Após esse processo as informações podem
ser somente lidas da memória. Outros tipos de memórias popularmente
chamadas de ROM são memórias do tipo RMM (do inglês read-mostly
memories) nas quais pode-se escrever mais de uma vez. Contudo, a
operação de escrita de uma RMM é relativamente mais complexa que a
leitura e não é executada frequentemente. A BIOS de um computador é
um exemplo de uma memória RMM.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 24 / 65


Terminologia XV

Dispositivos de memória estática


São dispositivos de memória baseados em semicondutores nos quais os
dados permanecem armazenados enquanto o circuito estiver energizado.
Não exigem uma reescrita periódica dos dados na memória. Podem ser
construı́dos com flip-flops ou latches.

Dispositivos de memória dinâmica


São dispositivos de memória baseados em semicondutor nos quais os
dados precisam ser reescritos periodicamente para manter sua consistência
mesmo que o circuito esteja energizado. A operação de reescrita dos
dados é denominada refresh.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 25 / 65


Terminologia XVI

Memória principal
Também conhecida como memória de trabalho de um computador. Ela
armazena instruções e dados eque a CPU esteja acessando no momento. É
a memória mais rápida de um computador portanto geralmente é
produzida utilizando elementos semicondutores.

Memória auxiliar
Também conhecida como memória de massa porque ela armazena grandes
quantidades de informação externamente à memória principal. É mais
lenta que a memória principal e sempre não-volátil. Discos magnéticos,
dispositivos ópticos e memórias flash são dispositivos comuns de memória
auxiliar.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 26 / 65


Princı́pios de operação da memória I

Embora existam uma infinidade de tecnologias e tipos de memórias


diferentes, certos princı́pios básicos de operação costumam ser comuns a
todas elas. A compreensão desses princı́pios deve ajudar a compreensão do
funcionamento desses dispositivos posteriormente.
1 Seleção do endereço de memória no qual deseja-se operar;
2 Seleção da operação (leitura ou escrita);
3 Caso a operação seja uma escrita, fornecer os dados de entrada a
serem armazenados;
4 Caso a operação seja uma leitura, manter os dados de saı́da
fornecidos pela memória;
5 Habilitar (ou desabilitar) a memória de modo que ela responda (ou
não) às entradas de endereçamento e ao comando de leitura/escrita.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 27 / 65


Princı́pios de operação da memória II

Entradas de endereço
Supondo que a memória tem 2Na palavras, ela requer Na bits para
endereçar unicamente todos os endereços. Logo, devem existir Na sinais
binários A0 , A1 , . . . ANa −1 para realizar o endereçamento da memória. Para
realizar a leitura ou escrita no endereço X de memória, basta determinar
[A] = [X ].

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 28 / 65


Princı́pios de operação da memória III

Entradas de Leitura/escrita R/W


Essa entrada controla qual operação deve ser realizada na memória:
leitura (R – do inglês Read) ou Escrita (W – do inglês Write). A entrada é
identificada por R/W e, portanto, quando R/W = 1 a operação realizada
será uma leitura e quando R/W = 0 a operação será uma escrita. Outros
identificadores comuns para essa entrada são W (write) e WE (write
enable). Novamente, fica subentendido que um nı́vel baixo indica uma
operação de escrita e um nı́vel alto uma leitura.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 29 / 65


Princı́pios de operação da memória IV

Habilitação de memória
Muitas vezes, as memórias não são ligadas diretamente ao processador e
sim a barramentos de endereços e dados. Assim, é necessário um sinal de
controle para que o dispositivo seja desabilitado quando os barramentos
estão sendo utilizados para outras funções. Isto é representado pela
entrada ME (do inglês memory enable), embora ela possa ter nomes
diferentes para diferentes sistemas de memórias como chip enable (CE ) ou
chip select (CS). Seu funcionamento é bastante simples. Quando o sinal
de habilitação de memória está em nı́vel alto, a memória deve responder
aos sinais de entradas de endereço e entradas de leitura/escrita. Quando o
sinal de habilitação de memória está em nı́vel baixo, estes sinais devem ser
ignorados (e possivelmente as entradas devem entrar em modo de
impedância alta). Além disso, esse sinal permite que vários circuitos
integrados de emmória sejam combinados para ampliar o tamanho de
palavra ou o número de endereços.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 30 / 65


Princı́pios de operação da memória V

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 31 / 65


Conexões CPU–memória I

O foto deste curso é dedicado à memória construı́da a partir de


semicondutores. Esse tipo de memória implementa a memória principal da
maior parte dos computadores modernos. Conforme visto anteriormente, a
memória principal mantém comunicação constante com a CPU e a
maneira como a memória principal se comunica com a CPU é o alvo do
estudo desta seção.
A memória principal de um computador é constituı́da tanto de parcelas de
RAM quanto de ROM. A memória principal se comunica com a CPU
através de três meios:
Barramento de endereços Utilizado para indicar os endereços da
memória principal sendo acessados por operações de leitura/escrita;
Barramento de dados Utilizado para transportar dados entre os
dispositivos do computador;
Barramento de controle Utilizado para passar comandos da CPU
para os diversos dispositivos conectados a ela.
Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 32 / 65
Conexões CPU–memória II

A comunicação entre diversos circuitos integrados de memória e a CPU é


ilustrada abaixo

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 33 / 65


Conexões CPU–memória III

Quando o computador está executando um programa, a CPU busca em


posições especı́ficas de memória pela informação dos códigos de operação
(opcodes) que indicam as operações a serem realizadas e os dados para
realizar a operação desejada. A CPU também enviará comandos para
escrita na memória conforme indicado pelas instruções do programa.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 34 / 65


Conexões CPU–memória IV

Operação de escrita
1 A CPU fornece ao barramento de endereços o endereço em que o
dado deve ser armazenado;
2 A CPU escreve os dados a serem armazenados no barramento de
dados;
3 A CPU ativa as linhas de controle relativas a habilitar a memória
desejada e indicar a operação de escrita ao pino R/W ;
4 A memória decodifica o endereço binário para determinar a posição
de armazenamento;
5 A memória transfere o conteúdo do barramento de dados para o
endereço informado.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 35 / 65


Conexões CPU–memória V

Operação de Leitura
1 A CPU fornece ao barramento de endereços o endereço em que o
dado deve ser armazenado;
2 A CPU ativa as linhas de controle relativas a habilitar a memória
desejada e indicar a operação de leitura ao pino R/W ;
3 A memória decodifica o endereço binário para determinar a posição
de leitura;
4 A memória transfere o conteúdo do endereço desejado para o
barramento de dados.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 36 / 65


Conexões CPU–memória VI

Função dos barramentos da CPU


Barramento de endereços Este é um barramento unidirecional que
leva as saı́das binárias de endereço produzidas pela CPU para os CIs
de memória ou outros dispositivos interfaceados com a CPU;
Barramento de dados Este é um barramento bidirecional que
transporta dados entre a CPU, CIs de memória e outros dispositivos
interfaceados com a CPU;
Barramento de controle Barramento unidirecional que transporta
comandos de controle da CPU para os CIs de memória e outros
dispositivos interfaceados com a CPU.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 37 / 65


Memórias somente de leitura I

A memória de somente leitura ou ROM é um tipo de memória baseada em


semicondutores que é projetada para armazenar dados permanentes ou que
não mudam com muita frequência. Durante a operação normal do
computador, não deve ser possı́vel escrever dados na ROM; somente dados
previamente armazenados podem ser lidos. Para alguns tipos de ROM,
seus dados são armazenados durante o processo de fabricação e são
permanentes. Outras ROMS permitem que os dados sejam armazenados
por meio de comandos elétricos. O processo de determinação dos dados de
uma ROM é chamado de programação ou “queima” da ROM.
Finalmente, alguns tipos de ROMS permitem somente uma programação
enquanto outras podem ser apagadas e reprogramadas novamente. Por
serem não voláteis, ROMS são muitas vezes utilizadas para armazenar
programas essenciais ao funcionamento do computador, por exemplo a
BIOS.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 38 / 65


Memórias somente de leitura II

Diagrama de Blocos de uma ROM


O diagrama de blocos de uma ROM é similar a um diagrama simplificado
de uma memória semicondutora convencional. Por não permitir a escrita,
pode-se considerar que o pino R/W está permanentemente em nı́vel alto.
Logo, uma ROM também tem três grupos de sinais: entradas de endereço,
entradas de controle e “entradas’ de dados.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 39 / 65


Memórias somente de leitura III

Diagrama de Blocos de uma ROM


A ROM da figura tem 4 bits de endereço portanto endereça 24 = 16
palavras. O circuito tem 8 saı́das de dados portanto o tamanho da palavra
é 8. Logo, a capacidade dessa memória é 16 × 8.

Geralmente os pinos de saı́da dos dados de uma ROM são do tipo tristate,
para permitir que vários chips de ROM sejam associados para expansão de
memória. Os tamanhos de palavra mais comuns são 4,8 e 16 bits.

Finalmente, o circuito tem uma entrada de controle CS que indica a


habilitação deste CI se esse sinal tiver um nı́vel lógico baixo. Alguns
fabricantes usam outros nomes para esta entrada como CE (chip enable)
ou OE (output enable). Muitas ROMs ainda tem múltiplos pinos CS e a
memória é habilitada somente se todos os pinos de controle estiverem em
nı́veis adequados.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 40 / 65


Memórias somente de leitura IV

Operação de leitura
Considere inicialmente que a ROM da figura anterior foi programada com
o conteúdo da tabela abaixo:
A CPU lê uma instrução do programa
que requer a leitura da ROM no
endereço 7H;
A CPU escreve no barramento de
endereçamento o valor 7H indicando
que o programa deseja ler o endereço
7H de alguma memória;
A CPU escreve no barramento de
controle de modo que o sinal CS da
ROM seja mudado para zero.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 41 / 65


Memórias somente de leitura V

Operação de leitura
A ROM decodifica o conteúdo do barramento de endereços e
seleciona a palavra correta. A ROM então escreve o conteúdo de 7H
(EDH) no barramento de dados;
A CPU lê e decodifica a próxima instrução, muda o nı́vel de CS da
ROM para 1 e os pinos de dados da ROM voltam para o estado de
alta impedância.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 42 / 65


Arquitetura de ROM I

A arquitetura (estrutura) interna de uma ROM é excessivamente complexa


para o escopo do curso. Contudo, o estudo de uma versão simplificada de
uma ROM pode servir para compreender melhor seu funcionamento.
Considere uma ROM de 16 × 8 bits.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 43 / 65


Arquitetura de ROM II

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 44 / 65


Arquitetura de ROM III

Matriz de pseudo-registradores
A matriz de pseudo-registradores armazena os dados que foram
programados na ROM. Cada pseudo-registrador contém um número de
células de memória igual ao tamanho da palavra utilizada. Os
pseudo-registradores estão distribuı́dos na forma de uma matriz quadrada
que é comum em muitos chips de memória. Para determinar qual
pseudo-registrador está sendo lido, é possı́vel mapear sua posição
(linha,coluna) para um número binário (endereço).

A saı́da de cada pseudo-registrador é conectada a um barramento do


mesmo tamanho da palavra que percorre todo o circuito. Cada
pseudo-registrador requer duas entradas de habilitação (uma para a linha e
uma para a coluna) em que ambas devem estar em nı́vel alto para que o
pseudo-registrador seja lido.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 45 / 65


Arquitetura de ROM IV

Decodificadores de endereço
O endereço [A] = A3 A2 A1 A0 determina qual pseudo-registrador na matriz
será habilitado para escrever seud dados no barramento interno. Os bits
do endereço são divididos em dois conjuntos: um contendo a metade dos
bits mais significativos [AM ] e outro contendo a metade dos bits menos
significativos [AL ].

O conteúdo de cada um desses conjuntos é utilizado como entrada de um


decodificador de N bits para 2N em que a saı́da do decodificador é uma
sequência de zeros exceto na posição [AM ] (ou [AL ]) em que o bit é igual
a um. Dessa forma somente uma combinação de bits de saı́da dos
decodificadores é igual a um para ambos os decodificadores.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 46 / 65


Arquitetura de ROM V

Buffer de saı́da
Finalmente, é necessário um buffer de saı́da que permita que os dados do
barramento passem para o barramento de dados somente se CS = 0. Do
contrário, o buffer deve forçar todos seus pinos de saı́da para o estado de
impedância alta.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 47 / 65


Temporização da ROM I

Durante a operação da ROM, existe um atraso de propagação entre a


aplicação dos sinais de endereçamento e controle e o aparecimento dos
sinais de saı́da no barramento de dados. Este atraso é chamado de tempo
de acesso (tACC ) que é uma medida da velocidade de operação da ROM.
O tempo de acesso é ilustrado na figura abaixo

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 48 / 65


Temporização da ROM II

A forma de onda superior indica o barramento de endereços, a do meio é o


sinal do barramento de controle referente ao sinal CS = 1 da memória
ROM e a forma de onda inferior representa o sinal de saı́da da memória.

Instante t0
Neste instante, o barramento de endereços apresenta um conteúdo
qualquer e irrelevante e o sinal de controle CS está em nı́vel alto indicando
que outro dispositivo está utilizando os barramentos de dados e de
endereços.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 49 / 65


Temporização da ROM III

Instante t1
Imediatamente antes de t1 , ocorre uma mudança no conteúdo do
barramento de endereços e existe um certo tempo de atraso para que a
ROM decodifique o endereço (por meio dos conversores de N para 2N
bits) e os conversores de endereço passem a selecionar o
pseudo-registrador correto. Após esse tempo, existe mais um atraso
relativo ao tempo que o pseudo-registrador leva para escrever seu
conteúdo no barramento interno. Após decorrido esse tempo de atraso, o
conteúdo do endereço desejado está na entrada do buffer de saı́da.

Instante t2
Após a decodificação do endereço, a CPU modifica o barramento de
controle de modo a alterar o sinal CS = 0. Este sinal comanda o buffer de
saı́da para transferir seu sinal de entrada para os pinos de saı́da da
memória ROM.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 50 / 65


Temporização da ROM IV

Instante t2
Neste instante, após o tempo de resposta do registrador, o conteúdo do
endereço desejado da memória ROM é escrito no barramento de dados.

O tempo de acesso de ROMs bipolares tı́picas é na faixa de 30 a 90 ns. O


de dispositivos com tecnologia NMOS varia entre 35 e 500 ns. Finalmente,
dispositivos produzidos com tecnologia CMOS tem tempos de acesso entre
20 e 60 ns. Consequentemente, as ROMs mais novas costumam ser
construı́das com tecnologia CMOS.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 51 / 65


Tipos de ROM I

ROM programada por máscara


São dispositivos que são programados durante sua fabricação. Durante o
projeto de fabricação do circuito integrado, máscaras e radiação são
utilizadas para modificar as propriedades elétricas de metal, oxido e
camadas de semicondutores de modo que ele funcione de acordo com as
especificações. Em memórias ROM programadas por máscara, seu
conteúdo é incorporado a essas máscaras de modo que sua programação se
torne permanente. Algumas ROMs com programas ou dados tı́picos
podem ser encontradas comercialmente. A principal desvantagem deste
tipo de dispositivo ocorre quando qualquer modificação em sua
programação é necessária.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 52 / 65


Tipos de ROM II

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 53 / 65


Tipos de ROM III

ROM programável
O alto custo da criação de máscaras especı́ficas para a manufatura de
ROMS programadas por máscara e sua baixa adaptabilidade para as
necessidades do projetista pode ser inadequada para grande parte dos
projetos digitais.

Memórias programáveis (PROM, do inglês Programmable ROM) são


alternativas à ROMS programadas por máscara que podem ser
programadas pelo usuário somente uma vez.

A estrutura interna da PROM contém fusı́veis que podem ser “queimados”


por tensões mais altas que as encontradas no funcionamento normal do
dispositivo. Dependendo de quais conexões são interrompidas a memória
armazena um bit zero ou um.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 54 / 65


Tipos de ROM IV

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 55 / 65


Tipos de ROM V

ROM programável
A programação e verificação da PROM ocorre utilizando um dispositivo
programador que insere tensões negativas de magnitude maior que a
encontrada durante o funcionamento da PROM. Essa tensão produz uma
corrente que “queima” o fusı́vel armazenando um dado “zero” nesse
transistor. Caso o bit a ser armazenado seja um basta não inserir uma
tensão na entrada de dados.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 56 / 65


Tipos de ROM VI

ROM programável e apagável


Memórias ROM programáveis e apagáveis (EPROM, do inglês Erasable
PRogramable ROM) são memórias que podem ser programadas pelo
usuário e apagadas quantas vezes for necessário. O processo de
programação da EPROM utiliza nı́veis de tensão diferentes de seu
funcionamento convencional (geralmente na faixa de 10 a 25 V) que devem
ser mantidas por um determinado tempo (da ordem de 50 ms) para cada
posição que deseja-se programar. Em geral a EPROM é programada em
um dispositivo especı́fico para esse fim e depois inserida no circuito digital.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 57 / 65


Tipos de ROM VII

ROM programável e apagável


As células de memória de uma EPROM são transistores MOS em que a
porta (gate) se encontra em flutuação. Nessa condição, o transistor não se
encontra em condução e o valor armazenado em cada transistor
corresponde ao “um” lógico. A inserção de tensões maiores que as normais
no transistor força cargas elétricas de alta energia para o gate e, por não
haver caminho para elas se dissiparem, elas permanecem no gate e forçam
seu nı́vel de tensão a ser alto forçando a condução do transistor.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 58 / 65


Tipos de ROM VIII

ROM programável e apagável


Para apagar a EPROM, é necessário forçar a entrada de luz ultravioleta por
meio de uma janela no encapsulamento do dispositivo. A luz ultravioleta
induz uma corrente de porta nos transı́stores que dissipa as cargas
acumuladas durante a programação e reseta o transistor para seu estado
de não condução. Todas as palavras da memória são apagadas pela
exposição à luz ultravioleta. Caso qualquer erro tenha sido cometido na
programação, toda a memória deve ser apagada e programada novamente.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 59 / 65


Tipos de ROM IX

ROM programável e apagável eletricamente


Finalmente, existe um tipo de memória ROM que pode ser apagada
eletricamente (EEPROM, do inglês electrically erasable PROM).
Considere um transistor MOS de uma memória EPROM com uma camada
de óxido na porta (gate) do transistor. A programação ocorre da mesma
maneira que uma EPROM. Contudo, a aplicação de uma tensão alta nos
pinos de dados do circuito é capaz de drenar as cargas acumuladas no gate
desprogramando-o. Uma vez que esse processo requer baixas correntes, ele
pode ser realizado no próprio circuito sem exigir luz ultravioleta ou um
dispositivo programador. Além disso, esse processo de apagar o conteúdo
da memória pode ser realizado individualmente para qualquer bit da
memória.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 60 / 65


Tipos de ROM X

ROM programável e apagável eletricamente


As desvantagens de EEPROMS em relação a PROMs envolvem a
quantidade de área de silı́cio necessária para a produção de cada transistor
que acarreta em uma menor densidade de memória. Isso ocorre pois a
necessidade de circuitos auxiliares de suporte, de modo que nı́veis de
tensão convencionais possam ser utilizados na programação, alteram a
estrutura da memória para utilizar 2 transı́stores no lugar de somente um.
Além disso, EEPROMS tendem a ter tempos de acesso maiores que
resultam em menores velocidades de acesso.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 61 / 65


Tipos de ROM XI

CD ROM, DVD ROM, Bluray


São sistemas de armazenamento utilizados em computadores
“emprestados” de sistemas de entretenimento caseiros. A tecnologia de
fabricação e os circuitos necessários para recuperar a informação são os
mesmos utilizados em sistemas de áudio e vı́deo. A diferença é somente o
formato dos dados. Essas mı́dias digitais são construı́das com superfı́cies
altamente reflexivas e um feixe laser bastante intenso que é focalizado em
um ponto muito pequeno no disco. Esse feixe faz uma depressão que é
capaz de provocar a difração da luz nesse ponto da superfı́cie. Os dados
digitais são armazenados no disco um bit de cada vez realizando ou não
essa depressão no material reflexivo.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 62 / 65


Tipos de ROM XII

CD ROM, DVD ROM, Bluray


Os dados são lidos por um feixe de laser de menor potência e, dependendo
da existência de reflexão, o bit é interpretado como zero ou um. A
tecnologia de utilização de mı́dias ópticas é relativamente barata e já foi
um dos principais padões para transporte de grandes quantidades de
dados. Além disso, gravadores de CD ROM e DVD ROM são bastante
populares em computadores pessoais.

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 63 / 65


Memória flash I

Embora memórias do tipo EPROM apresentem baixo tempo de


acesso, alta densidade/capacidade e baixo custo/bit, elas precisam ser
retiradas do circuito para serem apagadas e programadas;
Memórias flash são soluções de compromisso que apresentam
não-volatilidade, apagável eletricamente (como a EEPROM), com
densidades e custos ligeiramente inferiores a EPROM e velocidade de
acesso compatı́vel com ambas EPROM e EEPROM;
Estruturamente são baseadas na EPROM (e não na EEPROM)
portanto utilizam somente um transistor por célula de memória
reduzindo custos e aumentando a densidade/capacidade;
Ainda são mais caras que a EPROM;
Geralmente, quanto maior a simplicidade de apagar/programar uma
ROM maior seu preço;

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 64 / 65


Memória flash II
Realizam operações de apagamento e programação em bloco
resultando em baixos tempos de acesso;

Marcos H. Maruo (UFSM) ELC 1112 – Circuitos Digitais II 2017 65 / 65

Você também pode gostar