(Microsoft PowerPoint - aula Mem\363rias 2013)

Propaganda
Circuitos de Memória:
Tipos e Funcionamento
Fabrício Noveletto
Memória de semicondutores
São dispositivos capazes de armazenar informações digitais.
A menor unidade de informação que pode ser armazenada é o bit (0 ou 1).
A primeira memória de semicondutores foi produzida em 1970 com
capacidade de armazenamento de 256 bits.
Configurações básicas
Existem vários tipos de memórias, as quais possuem
características e aplicações especificas, mas que podem ser
representadas genericamente pelo diagrama funcional a seguir:
Configurações básicas
Barramentos
Barramento de endereços (address bus): fornece a
posição da informação (dados) que se deseja acessar.
Barramento de dados (data bus): contém informação a
ser lida ou armazenada no endereço acessado.
Barramento de controle (control bus): é formado por
sinais que controlam o funcionamento da memória:
habilitação, leitura, escrita, programação, etc.
Arquitetura básica
A arquitetura de memória é formada geralmente por uma matriz,
decodificadores e um bloco de controle.
Arquitetura básica
As linhas de endereços são direcionadas a dois decodificadores (linha e coluna).
O cruzamento linha-coluna seleciona uma posição de memória, sendo que o
número de posições é dado por 2n, onde n representa o número de linha de
endereço.
Cada posição contém uma ou várias células de memórias, onde cada célula é
responsável pelo armazenamento da informação de um bit.
Os decodificadores fazem a seleção da posição de memória que se deseja
acessar e o bloco de controle determina a operação que deve ser realizada nesta
posição como, por exemplo, a leitura da informação.
Para representar a capacidade de uma memória utiliza-se a expressão genérica
P x B onde P representa o número de posições de memória e B o número de bits
de dados.
Exemplo
Uma memória de 16x2 tem 16 posições com 2 bits de dados em cada posição,
perfazendo um total de 32 células de memória.
Exemplo
Para compreender melhor seu funcionamento, coloca-se um valor qualquer no
barramento de endereços, por exemplo: A3 A2 A1 A0 = 1011.
O decodificador de linha contém o endereço A1 A0 =11 (ativando a saída X3) e o
decodificador de coluna de endereço A3 A2=10 (ativando a saída Y2) selecionando,
assim, a posição destacada.
Os bits de dados D1 e D0 correspondentes ficam disponíveis para leitura ou escrita de
uma informação, dependendo dos níveis lógicos dos bits de controle, como mostra o
tabela de sinais de controle abaixo:
Características básicas
Capacidade: quantidade de bits que é capaz de armazenar.
Tempo de Acesso: tempo necessário para colocar os dados armazenados na
saída (ciclo de leitura).
Memória volátil: as informações armazenadas são perdidas ao se desligar a
alimentação.
Memória não volátil: as informações armazenadas na memória permanecem
inalteradas mesmo sem alimentação.
Exemplo: Capacidade
Um chip de memória possui capacidade igual a 16 K x 4.
Quantos bits podem ser armazenados no Chip?
Solução: Um chip com capacidade igual a 16 K x 4 significa
que possui 16 x 1024 (=16 K) posições de memória, cada uma
com 4 bits. Portanto, pode armazenar 16 x 1024 x 4 bits, ou
seja, 65536 bits.
Exemplo
Um chip de memória possui capacidade igual a 32 K x 8. Quantos são os
terminais para entradas de endereço, para entradas de dados e para
saídas de dados?
Solução: Um Chip com capacidade igual a 32 K x 8 significa que possui
32 x 1024 (= 32 K) posições de memória, cada uma com 8 bits. Portanto,
possui 32 x 1024 (= 32768) posições de memória.
O número (n) de entradas de endereço é definido pela equação: 2n =
número de posições. Neste caso, teríamos: 2n igual a 32768, ou seja, n
deve ser igual a 15.
Como cada posição possui 8 bits, serão necessários oito terminais para
entradas de dados e oito para saídas de dado, salvo se o chip usar os
mesmos terminais para entrada e saída de dados.
Tipos de Memórias
Memória ROM
ROM: Read Only Memory (memória apenas de leitura) – esta memória permite somente a
leitura de dados previamente armazenados em sua fabricação.
Memória ROM
A1
A0
D
E
C
O
D
I
F
I
C
A
D
O
R
A
Linha X
B
Linha Y
C
Linha Z
D
Linha W
Saídas
S0
Endereço
S1
S2
S3
Linhas
S4
S5
S6
S7
Saídas
A1
A0
X
Y
Z
W
S0
S1
S2
S3
S4
S5
S6
S7
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
Memória PROM
PROM: Programmable Read Only Memory (memória apenas de leitura
programável) – mediante programação permite armazenamento de
informações pelo próprio usuário, porém, de modo definitivo. Após esta
programação a memória se transforma em uma ROM.
Memória EPROM
EPROM: erasable programmable read only memory (memória
apenas de leitura programável e apagável) – permite a
programação de modo semelhante a PROM, podendo ser
apagada mediante banho de luz ultravioleta aplicado a janela
existente em seu encapsulamento.
Após o processo de apagar o conteúdo de memória, a mesma
pode ser gravada novamente.
Memória EEPROM
EEPROM OU E2PROM: Eletrically Erasable Programmable Read
Only Memory (memória apenas de leitura programável e apagável
eletricamente) – permite programação de maneira idêntica a
PROM, porém o apagamento é feito através de sinais elétricos
aplicados em seus terminais, utilizando programas e
equipamentos adequados.
É geralmente utilizado em dispositivos aos quais se deseja
permitir a alteração, possibilitando a carga de novas versões de
programas ou para permitir a reprogramação dinâmica de funções
específicas de um determinado programa, geralmente relativas ao
hardware.
Memórias RAM
RAM: Random Access Memory (memória de acesso aleatório) são
memórias que permitem a escrita e leitura de dados, com acesso às
localizações de maneira aleatória. É uma memória volátil, ou seja, perde
as informações armazenadas ao ser cortada a alimentação.
Podem ser divididas em dois subtipos:
RAM Estática – SRAM
RAM Dinâmica – DRAM
RAM Estática - SRAM
Possui seu funcionamento baseado em circuitos flip-flops, portanto, não
necessitam de um circuito externo de “refresh”, já que os flip-flops evitam
a perda dos dados armazenados internamente.
A principal desvantagem da SRAM é o seu baixo fator de integração,
pois, por ser baseada em flip-flops ocupam muito espaço resultando em
uma baixa capacidade de armazenamento por circuito integrado.
A principal vantagem está no tempo de acesso aos dados que é bem
menor do que as memórias dinâmicas, sendo então, utilizadas em
aplicações que exigem alta performance e baixa capacidade de
armazenamento, como por exemplo, memórias “cache”.
RAM Dinâmica – DRAM
São baseadas em capacitores e por este motivo têm a
característica de perder a carga armazenada, se descarregando
ao longo do tempo.
Para que os dados não sejam perdidos, necessitam de um circuito
externo chamado de “refresh”, que em ciclos periódicos
predeterminados, reescreva os dados.
Possuem uma alta integração resultando em alta capacidade de
armazenamento por circuito integrado, sendo utilizadas como
memória principal nos computadores.
Associação de memórias
É possível fazer associações de memórias a fim de se obter maior
capacidade de armazenamento total de um sistema.
Existem dois tipos básicos de associações:
Associações paralelas (horizontal) de memórias: para o aumento
do número de linhas de dados por posição de memória.
Associação série (vertical) de memórias: para aumento do
número de posições de memória.
Associação Paralela
Para aumentar o número de linhas de dados por posição de memória, devem-se ligar em
paralelo as linhas de endereço e controle mantendo-se independentes as linhas de dados.
Com isto, ao selecionar-se uma determinada posição (dada pelas linhas de endereço) todas
as memórias estarão endereçadas na mesma posição, porém com dados independentes.
Ao se manipularem as linhas de controle, todas as memórias estarão no mesmo estado
(leitura, escrita, etc) multiplicando-se, assim, a capacidade de bits por posição de memória.
Associação Paralela
Exemplo: Obter uma
memória de
1k x 8 a partir de
memórias 1k x 4.
Interligam-se as linhas
de endereço e
controle, mantendo as
linhas de dados
independentes .
Associação Série
Para aumentar o número de posições de memória
devem-se ligar em paralelo as linhas de
endereços, dados e controle, mantendo-se
independentes somente as linhas de habilitação de
memória.
Estas linhas são controladas por um circuito
combinacional que deve fazer a seleção das
memórias de forma seqüencial (habilitando uma
por vez).
Assim, o endereço inicial de uma memória é a
posição imediatamente subseqüente ao endereço
final de memória anterior, colocando as memórias
em série.
O controle deste circuito combinacional que faz a
seleção das memórias é realizado pelas linhas de
endereços que completam o endereçamento total
do sistema.
Associação Série
Exemplo: Para se obter um subsistema de memória 16k x 8 a partir de memórias
4k x 8, interliga-se endereços, dados e controle, mantendo-se independentes
apenas os sinais de habilitação das memórias.
Exemplo: RAM de 1K
Aplicação de memórias ROM
Usadas para guardar informações que não vão mudar durante a
operação normal do sistema onde está inserida.
Exemplos:
Sistema operacional dos computadores
Sistemas dedicados usando microcontroladores
• Sistema de alarmes
• Controle industrial
• Equipamentos eletroeletrônicos
Aplicação de memórias: Computadores
O modelo de Von Neumann
Aplicação de memórias: Hierarquia
Hierarquia de dispositivos de armazenamento em computadores.
A CPU enxerga nessa ordem e acessa primeiro a que está mais próxima.
Subindo na hierarquia, quanto mais próximo da CPU, maior velocidade,
maior custo, porém menor capacidade de armazenamento.
Aplicação de memórias: Arquitetura
Computacional – Simulador 80x86
Download