Você está na página 1de 78

Classificação de Memórias

Acesso
As memorias armazenam informacões em lugares denominados localidade de
memoria.
Cada uma das localidades de memoria possui um conjunto de bits que nos
permite o seu acesso, a esse conjunto de bits damos o nome de endereço.
O conjunto de bits representa o endereço da localidade onde esta armazenada
uma informação.
O tempo de acesso de uma memoria é o tempo necessario desde a entrada de
um endereço até o momento em que a informação apareça na saída, para as
memorias de escrita/leitura . E também o tempo necessário para a informação
ser gravada.

Eng.º Adélio F. Tembe, MSc. 29


Classificação de Memórias
Acesso

Podemos ter acesso a uma dada localidade de memória


de duas maneiras diferentes:
Acesso sequencial;

Acesso aleatório.

Memória de acesso aleatório (RAM) – memória onde o


tempo de acesso é o mesmo para qualquer posição.
Memória de acesso sequencial (SAM) – memória onde,
para se localizar uma determinada posição, é preciso
passar por todos os endereços. Por exemplo, fitas
magnéticas.

Eng.º Adélio F. Tembe, MSc. 30


Classificação de Memórias
Volatilidade

Quanto a volatilidade, as memorias podem ser voláteis ou


não voláteis.
As memórias voláteis são aquelas que ao ser cortada a
alimentação perdem as informações armazenadas. São
memorias feitas, geralmente, a partir de semicondutores e
na maioría das vezes, possuem como elemento de memória
o flip-flop.

Eng.º Adélio F. Tembe, MSc. 31


Classificação de Memórias
Volatilidade

As memórias não voláteis são aquelas que mesmo sem


alimentação continuam com as informações armazenadas.
Dentre essas se destacam as memórias magnéticas e
as electrónicas: ROM, PROM e EPROM.

Eng.º Adélio F. Tembe, MSc. 32


Classificação de Memórias
Escrita/Leitura ou apenas leitura

As memórias de escrita/leitura são aquelas que permitem acesso a uma


localidade qualquer para escrevermos a informação desejada, alem
disso, permitem o acesso também para a leitura do dado. As memórias
RAM também se enquadram nessa situação.
As memórias apenas de leitura são aquelas que uma vez inserida e
gravada a informação está fica disponível apenas para leitura e já não
pode ser alterada. As memórias ROM se enquadram nessa situação.

Eng.º Adélio F. Tembe, MSc. 33


Classificação de Memórias
Tipo de Armazenamento

Quanto ao tipo de armazenamento as memórias


classicam-se em estáticas e dinámicas.
As memórias de armazenamento estático são aquelas em
que, uma vez inserido o dado numa dada localidade, este
lá permanece.
As memórias de armazenamento estático apresentam a
vantagem de possuir uma utilização da maneira mais fácil
que as dinámicas.

Eng.º Adélio F. Tembe, MSc. 34


Classificação de Memórias
Tipo de Armazenamento

As memórias de armazenamento dinámico são aquelas


em que necessitamos inserir a informação novamente, de
tempo em tempo, pois de acordo com as características de
seus elementos internos, perdem essas informações após
um determinado tempo.

Eng.º Adélio F. Tembe, MSc. 35


Termos Básicos

Célula de memória – dispositivo ou circuito capaz de


armazenar um bit.
Por exemplo, um flip-flop, um capacitor, etc.
Palavra de memória – grupo de bits (células) em uma
memória que representa instruções ou dados.
Byte – conjunto de 8 bits.
Capacidade – número de bits que podem ser
armazenados em um dispositivo de memória.
A capacidade de uma memória é medida em MB
64/128/256/512 (Mega bytes) ou (Giga bytes) 1/2/4GB.

Eng.º Adélio F. Tembe, MSc. 36


Endereço

Endereço é utilizado para endereçar uma célula e é formado por um grupo de bits.
Podemos ter máquinas com mesmo tamanho de célula e quantidade diferente de
células.
Endereço Conteúdo
000 Palavra 0
001 Palavra 1
010 Palavra 2
011 Palavra 3
100 Palavra 4
101 Palavra 5
110 Palavra 6
111 Palavra 7

Cada palavra tem um endereço binário específico.


Eng.º Adélio F. Tembe, MSc. 37
Endereço

Tamanho do endereço:
Cada endereço da memória é obtido por E bits que representa o
tamanho do endereço.
Então, para armazenar N endereços no REM (registrador de
endereços de memória) gastamos E bits (ou linhas de endereço),
logo N=2E.

Exemplo: Se o número total de células é N=1024, quantas bits usamos


para endereçamento?
1024 = 210, então E=10.
São necessários 10 bits para armazenar (ou linhas de endereço)

Eng.º Adélio F. Tembe, MSc. 38


Endereço - Exemplos

Exemplo 1:
Memória com 8K células de 8 bits cada uma.
Qual a capacidade da memória?
23K x 8 bits
213 x 23 bits = 216 bits = 64 K bits
(se utilizarmos bytes como medida de capacidade)
26 K / 23 = 23 K bytes

Eng.º Adélio F. Tembe, MSc. 39


Endereço - Exemplos

Exemplo 2:
Memória com 128K células = 27 células de 8 bits cada uma.
Qual a capacidade da memória?
128K x 1 = 128K bytes

Eng.º Adélio F. Tembe, MSc. 40


Capacidade da memória -
Exemplos
Capacidade da memória
T=NxM
Onde N é o número de células e M o número de bits de cada célula.

Exemplo: N=1024 e M=4bits


T=1024*4 = 4096 bits = 210 x 4 bits = 4K bits = 512 bytes (4096 / 8)
1K=210=1024, 1M=220=1.048.576, 1G=230=1.073.741.824

Exemplo: Se cada célula da memória pode armazenar 8 bits e um int em C possui


4 bytes (i.e., 4 x 8 bits), então cada acesso à memória traz 4 células para a UCP
(são necessárias 4 células para armazenar um inteiro).
Se M (tamanho da célula) = 4 bits, quantos valores diferentes podemos ter
armazenados?
24 valores
Eng.º Adélio F. Tembe, MSc. 41
Memórias Semicondutors

Eng.º Adélio F. Tembe, MSc.


42
Principios de Operação

Independente dos tipos de memórias existentes, o princípio básico de


operação é o mesmo:
Selecionar o endereço a ser acessado (leitura ou escrita);
Selecionar o tipo de operação: leitura ou escrita;
Se a operação for escrita, fornecer os dados de entrada;
Se a operação for leitura, os dados estarão disponíveis na saída;
Habilitar a memória para que a operação seja concluída e
desabilitar a memória para que ela não responda às entradas de
endereço e ao comando de leitura/escrita.

Eng.º Adélio F. Tembe, MSc. 43


Diagrama Básico de Memória

Eng.º Adélio F. Tembe, MSc. 44


Conexões entre o µP e a Memória

As memórias RAM e ROM são interfaceadas com a CPU através de


três grupos de linhas de sinais ou barramentos: barramentos de
endereço, barramento de dados e barramento de controle.

Eng.º Adélio F. Tembe, MSc. 45


Memória Somente de Leitura (ROM)

A memória somente de leitura (ROM) é um tipo de memória onde


os dados nela armazenados não são alterados ou não mudam.

Eng.º Adélio F. Tembe, MSc. 46


Arquitectura de uma Memória

Eng.º Adélio F. Tembe, MSc. 47


Tipos de Memória ROM

ROM Programada por Máscara – este tipo de ROM tem suas posições
escritas (programadas) pelo fabricante de acordo com as especificações
do cliente. Uma máscara (tipo de negativo fotográfico) é usada para
informar as conexões elétricas do chip. Este tipo de ROM é usado para
armazenar tabelas ou informações pré-programadas como códigos
geradores de caracteres de terminais de vídeo.

ROM Programável (PROM) – tipo de memória ROM onde a


programação é feita apenas uma única vez pelo usuário. Esta
programação consiste na queima ou não de um fusível que corresponde
a um bit de informação por um equipamento chamado programador.
Eng.º Adélio F. Tembe, MSc. 48
Tipos de Memória ROM

ROM Programável e Apagável (EPROM) – tipo de memória ROM


que pode ser programada e apagada pelo usuário várias vezes.

O processo de programação consiste em aplicar certos níveis de


tensões que provocam a condução permanente ou não
condução de transistores MOS.

O apagamento da memória é feito pela exposição dos circuitos


internos à luz ultravioleta através de uma “janela”.

Eng.º Adélio F. Tembe, MSc. 49


Tipos de Memória ROM

PROM Apagável Eletricamente (EEPROM) – é uma melhoria em


relação às EPROMs pois pode ser tanto programada como
apagada eletricamente.
Assim, elas podem ser programadas e apagadas no próprio
circuito, sem a necessidade de luz ultravioleta ou um
programador especial.

CD ROM – tipo de armazenamento somente para leitura que


utiliza tecnologia laser. Os bits são definidos pela reflexão ou não
de um feixe laser apontado para um ponto do disco.

Eng.º Adélio F. Tembe, MSc. 50


DISPOSITIVOS LÓGICOS
PROGRAMÁVEIS

Eng.º Adélio F. Tembe, MSc. 51


Dispositivos Lógicos Programáveis

Dispositivos Lógicos Programáveis (PLD) são chips (IC) com portas


lógicas internas ligadas por fusíveis electrónicos.
Esses fusíveis podem ser 'queimados' (por programação) para obter
diferentes configurações de circuito.
Alguns tipos de PLDs são:

Lógica de matriz programável (PLA)


Programmable Read Only Memory (PROM)
Matriz de lógica programável (PAL)
CPLD (complexo dispositivo lógico programável) – Uma coleção de PLD
está em um chip com interligações programáveis on-chip
FPGA (field programmable gate array) – Grande número de blocos lógicos
básicos (portas simples) com interligação programável X / Y.

Eng.º Adélio F. Tembe, MSc. 52


Dispositivos Lógicos Programáveis

Arranjo Fusíveis Arranjo OR


Entradas AND fixo programável Saídas
por fusível

Programmable Read Only Memory (PROM)

Fusíveis Arranjo AND Arranjo OR


Entradas programável fixo Saídas
por fusível

Programmable Array Logic (PAL)

Fusíveis Arranjo AND Fusíveis Arranjo OR


Entradas programável programável Saídas
por fusíveis por fusíveis

Programmable Logic Array (PLA)

Eng.º Adélio F. Tembe, MSc. 53


Dispositivos Lógicos Programáveis

“Programando” um array – queimando os fusíveis.

A A' B B' A A' B B'

x1 x1 = A.B

x2 x2 = A'.B

x3 x3 = A.B'

(a) Desprogramado (b) Programado

Exemplo de um arranjo (array) AND básico

Eng.º Adélio F. Tembe, MSc. 54


Dispositivos Lógicos Programáveis

PLDs usam diodos. Um diodo PN é um dispositivo


electrónico formado através da criação de uma junção de
dois tipos de material de semicondutor, tipo N e tipo p.

Polarizado diretamente: Quando o ânodo é mais positivo do


que o cátodo, ele funciona como um interruptor fechado.

Polarizado inversamente: Quando o cátodo é mais positivo


do que ânodo, ele se comporta como um circuito aberto.

Eng.º Adélio F. Tembe, MSc. 55


Funcionamento do Diode PN
+V A B
(a) (d)

A B

(b) +V (e) A=0 B=0

A=1 B=1
+V A=1 B=1
(c) (f)

A=0 B=0
Operação do diodo PN como função digital .
(a) Com pull-up resistor. (d) Com pull-down resistor.
(b) P inversa: diodo aberto; B pulled up (e) P inversa: diodo aberto; B pulled
para 1. down para 0.
(c) P directa: diodo fechado, obriga B (f) P directa: diodo fechado, obriga B
para 0. para 1.
Eng.º Adélio F. Tembe, MSc. 56
AND Logic Arrays
+V +V
(a) (c)

f(A,B,C) f(A,B,C) = 0
A = A.B.C A=0
B B=1
C C=1

+V (d) +V
(b)

f(A,B,C) = 1 f(A,B,C) = 0
A=1 A=0
B=1 B=0
C=1 C=1

Função AND realizada com diodos.


(a) Configuração Básica.
(b) Todos os diodos abertos; obriga f pulled up
(c) Um diodo fechado, obriga f para 0.
para 1. (d) Multiples diodos fechados, obriga f para 0.
Eng.º Adélio F. Tembe, MSc. 57
OR Logic Arrays
(a) A
B
C
f(A,B,C) = A+B+C

(b) A=0 A=1


(c)
B=0 B=0
C=0 C=0
f(A,B,C) = 0 f(A,B,C) = 1

Função OR realizada com diodos (array).


(a) Configuração Básica .
(b) Todos os diodos abertos; f pulled up para 0.
(c) Um diode fechado, obriga f para 1.

Eng.º Adélio F. Tembe, MSc. 58


Arranjo (Arrays) AND-OR de 2 níveis

Os circuitos AND and OR podem ser interconectados para


realizar qualquer função de comutação.Exemplo:
f(a,b,c)=a.b.c'+b'.c

Eng.º Adélio F. Tembe, MSc. 59


Programmable Logic Array (PLA)

Combinação de um arranjo (array )programável AND,


seguido por um arranjo programável OR .
Exemplo: Projectar um PLA para realizar as seguintes
funções lógicas e mostrar as conecções internas.
f1(A,B,C,D,E) = A'.B'.D' + B'.C.D' + A'.B.C.D.E'
f2(A,B,C,D,E) = A'.B.E + B'.C.D'.E
f3(A,B,C,D,E) = A'.B'.D' + B'.C'.D'.E + A'.B.C.D

Eng.º Adélio F. Tembe, MSc. 60


Realizando a função com PLAs
f1(A,B,C,D,E) = A'.B'.D' + B'.C.D' + A'.B.C.D.E'
f2(A,B,C,D,E) = A'.B.E + B'.C.D'.E
f3(A,B,C,D,E) = A'.B'.D' + B'.C'.D'.E + A'.B.C.D
A
X X X X
B X X X

Programável
X X X X

Arranjo
C X X X X

AND
X
D X X
X X X X
E X X X
X
Programável

A'.B'.D' B'.C.D' A'.B.C.D.E'


X X X f1
Arranjo

OR

X X f2
X X X f3
P1 P2 P3 P4 P5 P6 P7
A'B'D' A'BCDE' B'CD'E A'BCD
B'CD' A'BE B'C'D'E
Eng.º Adélio F. Tembe, MSc. 61
Read-Only Memory (ROM)

Uma memória semiconductora é um dispositivo onde os dados


podem ser armazenados e recuperados.
Logicamente, este dispositivo de memória pode ser considerado
como uma tabela de células de memória (de dados).

0 1 palavra de
Endereços 1 dados
2
3
:
: : 1-bit
: : dado
:
n

Tamanho da palavra

Eng.º Adélio F. Tembe, MSc. 62


Read-Only Memory (ROM)

A memória só de leitura (ROM) é um dispositivo de


memória onde os dados são lidos, mas não escritos.
Escrita é feito no momento da personalização, ou, por
meio de dispositivos especiais de programação.
Qualquer expressão booleana pode ser implementado
usando ROM. Procedimento: Obter uma tabela verdade,
tratar as entradas e saídas como endereços e como
dados.
Vantagem: funções booleanas aplicadas diretamente.
Desvantagens: Não importa as condições não utilizadas,
e variáveis de entrada limitadas (por exemplo, 10
entradas - 1K, 16 entradas - 64K, 20 entradas - 1M).

Eng.º Adélio F. Tembe, MSc. 63


Read-Only Memory (ROM)

Diferentes tipos de dispositivos de ROM disponíveis:


ROM: Read-Only Memory
Dados gravados na memória pela programação em máscara
durante o tempo de fabricação. Custo inicial caro, mas econômica
para alto volume. Não pode ser apagada depois que os dados são
programados.
PROM: Programmable ROM
Chip de semi-custom. Fusíveis podem ser queimados por uma
unidade especial de hardware programador. Relação de custo-
benefício para volumes baixos. Não podem ser apagadas após a
programação.

Eng.º Adélio F. Tembe, MSc. 64


Read-Only Memory (ROM)

EPROM: PROM apagável


Semelhante a PROM excepto que os dados podem ser
completamente apagados pela exposição à luz ultra-
violeta.
EEPROM: PROM apagável eletricamente
Uma PROM onde os dados podem ser apagados
selectivamente pela unidade de programação de hardware,
em vez de por luz ultra-violeta. Útil para dispositivos
remotos que podem ser re-programadas a partir de uma
distância.

Eng.º Adélio F. Tembe, MSc. 65


Programmable Read-Only Memory
(PROM)
Dispositivos com array AND fixo (que é um decodificador)
e matriz OU programável.
O array AND (decodificador) gera todos 2^n possíveis
produtos mintermos de suas n entradas (muitas vezes
referida como decodificador n-para-2^n).
n linhas de entrada , m linhas de saída.
Combinação variáveis de Bit de entrada - endereço.
Combinação de Bit de linhas de saída - palavra (cada
palavra contém m bits).

Eng.º Adélio F. Tembe, MSc. 66


Programmable Read-Only Memory
(PROM)

I0 X X X X

Arranjo AND
X X X X
I1 X X X X

fixo
X X X X
I2 X X X X
Programável X X X X

O1
Arranjo OR

O2
.. ..
. .
Ok

m0 m1 m2 m3 m4 m5 m6 m7
Mintermos

Programmable read-only memory (PROM) pode realizar K funções f(I2,I1,I0).

Eng.º Adélio F. Tembe, MSc. 67


Programmable Read-Only Memory
(PROM)

n entradas

2n x m ROM
2n x m
=> 2n palavras, cada palavra m
ROM bits
=> 2n x m bits

m saídas

Eng.º Adélio F. Tembe, MSc. 68


Programmable Read-Only Memory
(PROM)
Entradas Mintermos
de
endereço
0
A0 1
5 x 32 2
A1
A2 decodific .
ador .
A3 .
A4
31
... ... ... ...
128
fusíveis

F1 F2 F3 F4

Construção Lógica de uma 32 x 4 ROM.


Eng.º Adélio F. Tembe, MSc. 69
Realizando Funções Lógicas
com PROMs
Exemplo (8 x 3 ROM):
f1(A,B,C) = A.B + B'.C
f2(A,B,C) = (A+B'+C).(A'+B)
f3(A,B,C) = A + B.C
Primeiro, convertimos cada função para sua forma canónica.
f1(A,B,C) = A.B + B'.C = A.B.C' + A.B.C + A'.B'.C + A.B'.C
= Σ m(1,5,6,7)
f2(A,B,C) = (A+B'+C).(A'+B)
= (A+B'+B).(A'+B+C').(A'+B+C)
= Π M(2,4,5) = Σ m(0,1,3,6,7)
f3(A,B,C) = A + B.C = A.B'.C' + A.B'.C + A.B.C' + A.B.C + A'.B.C
= Σ m(3,4,5,6,7)

Eng.º Adélio F. Tembe, MSc. 70


Realizando Funções lógicas com
PROMs

C X X X X
X X X X

AND fixo
Arranjo
B X X X X
X X X X
A X X X X
X X X X
Programável

X X X X f1 = Σ m(1,5,6,7)
Arranjo OR

X X X X X f2 = Σ m(0,1,3,6,7)
X X X X X f3 = Σ m(3,4,5,6,7)

m0 m1 m2 m3 m4 m5 m6 m7
Mintermos

Eng.º Adélio F. Tembe, MSc. 71


Realizando Funções lógicas com
PROMs
Entradas Mintermos
de
endereço
C 0
3x8 1
B 2
A decoder 3
4
5
6
7

8 x 3 ROM

0: 0 1 0
1: 1 1 0
2: 0 0 0
3: 0 1 1
4: 0 0 1
5: 1 0 1 f1 = Σm(1,5,6,7) f3 = Σm(3,4,5,6,7)
6: 1 1 1
7: 1 1 1 f2 = Σm(0,1,3,6,7)

Eng.º Adélio F. Tembe, MSc. 72


Programmable Array Logic (PAL)

Introduzido no final dos anos 1970 como substituição de


menor custo de portas lógicas, PROM, e PLAs.

PAL tem, matriz AND programável e matriz OU fixa.

Menos geral que o PLA, mas mais fácil de fabricar e


projectar.

Termos de produto pertencem às diferentes portas OU,


não podem ser compartilhados.

Eng.º Adélio F. Tembe, MSc. 73


Programmable Array Logic (PAL)
A B C D

P1
P2 O1
P3

P4
P5 O2
P6

Arranjo AND Arranjo


OR fixo
Programável

Eng.º Adélio F. Tembe, MSc. 74


Realizando funções lógicas com
PALs
Obter as expressões em forma de soma de produtos.
Examplo:
fα(A,B,C,D) = A'.B'.D' + B'.C.D' + A'.B.C.D
fβ(A,B,C,D) = A'.B + B'.C.D'
fχ(A,B,C,D) = A'.B'.D' + B'.C'.D' + A'.B.C.D

Eng.º Adélio F. Tembe, MSc. 75


Realizando funções lógicas com
PALs
fα(A,B,C,D) = A'.B'.D' + B'.C.D'
+ A'.B.C.D
A B C D
PAL realização
fβ(A,B,C,D) = A'.B + B'.C.D' de fα, fß e fχ
fχ(A,B,C,D) = A'.B'.D' + B'.C'.D'
+ A'.B.C.D

P1 x x x

P2 x x x fα
P3 x x x x

P4 x x

P5 x x x fβ
P6 x x x x x x x x

P4 x x x

P5 x x x fχ
P6 x x x x

Eng.º Adélio F. Tembe, MSc. 76


PLAs

Arranjo AND Programável e Arranjo OR Programável

Eng.º Adélio F. Tembe, MSc. 77


PALs

Arranjo AND Programável e Arranjo OR “Fixo”

Eng.º Adélio F. Tembe, MSc. 78

Você também pode gostar