circuitos de memória: tipos e funcionamento · menor do que as memórias dinâmicas, sendo então,...

31
Circuitos de Memória: Tipos e Funcionamento Fabrício Noveletto

Upload: voquynh

Post on 02-Jan-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

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

Endereço Linhas 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

Linha X

Linha Y

Linha Z

Linha W

Saídas S0 S1 S2 S3 S4 S5 S6 S7

A

B

C

D

A1

A0

D

E

C

O

D

I

F

I

C

A

D

O

R

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 ReadOnly Memory (memória apenas de leitura programável e apagáveleletricamente) – 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