Buscar

SD09-memorias

Prévia do material em texto

Memórias
LEONARDO LIRA RAMALHO
LEONARDO.RAMALHO@IFPA.EDU.BR
Introdução
• A principal vantagem dos sistemas digitais sobre os analógicos é a
capacidade de armazenar, facilmente, grandes quantidades de
informação e dados por períodos longos ou curtos.
• Esta capacidade de memória é o que torna os sistemas digitais tão
versáteis e adaptáveis a diversas situações.
• Em um computador digital, a memória principal armazena
instruções que informam ao computador o que fazer sob qualquer
circunstância possível, de modo que o computador realiza sua
tarefa com um mínimo de intervenção humana.
2
Introdução
3
Terminologia
• Célula de Memória
◦ Um dispositivo ou circuito elétrico utilizado para armazenar um
único bit (0 ou 1). Exemplos de célula de memória incluem um
flip-flop, um capacitor carregado e um pequeno local em um
CD, fita ou disco magnético
• Palavra de Memória
◦ Um grupo de bits (células) em uma memória que representa
instruções ou dados de algum tipo. Por exemplo, um registrador
de oito FF’s pode ser considerado uma memória que esta
armazenando uma palavra de 8 bits. Os tamanhos de palavras
nos computadores modernos variam tipicamente de 8 a 64 bits,
dependendo do porte do computador
4
Terminologia
• Byte
◦ Um termo especial usado para um grupo de oito bits. Um byte 
sempre é constituído de 8 bits. Tamanhos de palavra podem ser 
expressos em bytes assim como em bits. Por exemplo, uma 
palavra de 8 bits é também uma palavra de um byte; uma 
palavra de 16 bits tem dois bytes, e assim por diante.
• Capacidade
◦ Uma maneira de especificar quantos bits podem ser 
armazenados em um determinado dispositivo de memória ou 
num sistema de memória completo.
5
Terminologia
Capacidade
• Quantidade de informação que a memória é capaz de armazenar
• Por exemplo, supondo que uma memória é capaz de armazenar 
4.096 palavras de 8 bits, a capacidade total é 32.768 bits ou
4096 bytes
• Representação:
6
4.096 × 8
Número de 
palavras
Número de bits por 
palavra
Terminologia
Capacidade
• O número de palavras em uma memória geralmente é um 
múltiplo de 1024
• Quando nos referimos à capacidade de memória, é comum usar o 
1K para representar 1.024 = 210
• A capacidade de armazenamento de 4096×16 pode ser 
representada com 4K×16
• Similarmente:
◦ 1M (1 mega) representa 220= 1.048.576
◦ 1G (1 giga) representa 230= 1 .073.741.824
◦ 1T (1 tera) representa 240= 1.099.511.627.776
7
Terminologia
Capacidade
• Os bits geralmente são abreviados com b (minúsculo) e e os bytes 
são abreviados com B (maiúsculo)
8
256 KB = 256×1024 bytes =256×1024×8 bits 
B (maiúsculo) 
indica bytes
K = 1024
*Note que nesses casos não foi especificado o número de palavras
e nem o tamanho de cada palavra
256 Kb = 256×1024 bits
Terminologia
Capacidade (Exemplo)
• Um certo chip de memória semicondutora é especificado como 
2K X 8. 
• Quantas palavras podem ser armazenadas neste chip?
• Qual é o tamanho da palavra? 
• Quantos bits esse chip pode armazenar no total?
9
2𝐾 = 2 × 1024 = 2048 palavras
Cada palavra tem 8 bits
2048 × 8 = 16384 bits
Terminologia
Capacidade (Exemplo)
• Qual das memórias abaixo armazena mais bits?
◦ 5M × 8
◦ 4M × 16
• Qual das memórias abaixo armazena mais bits?
◦ 8M × 8
◦ 1M × 32
10
= 5 × 1.048.576 × 8 =41.943.040 bits
= 4 × 1.048.576 × 16 = 67.108.864 bits
= 8 × 1.048.576 × 8 =67.108.864 bits
= 1 × 1.048.576 × 32 = 33.554.432 bits
Terminologia
Capacidade (Exemplo)
• Uma determinada memória tem uma capacidade de 4K x 8, qual é 
a capacidade em bits e em bytes?
11
= 4 × 1024 × 8 = 32768 bits = 32 Kb
= 4 × 1024 × 8/8 = 4096 bytes = 4 KB
Terminologia
Endereço
• Um número que identifica a posição de uma palavra na memória
• Cada palavra armazenada em um dispositivo ou sistema de 
memória possui um endereço único
• As máquinas lidam os endereços como número binários, mas 
geralmente são representados em formato hexadecimal, decimal 
ou octal em documentos ou manuais
12
Terminologia
Endereço
• Cada posição da memória possui
um endereço único
• No exemplo ao lado, a memória
possui 8 palavras
◦ Endereçadas de 0002 = 010 até
1112 = 710
◦ Nesse exemplo, não sabemos o
tamanho de cada palavra
13
Terminologia
Endereço
• Quantas palavras essa memória possui?
• Qual é o tamanho de cada palavra?
• Qual é o conteúdo da palavra com 
endereço 00100?
• Em qual região da memória há o 
conteúdo 1000?
14
Endereço Palavras Célula de memória
25 = 32
4 bits
0001
Endereço 00011
Terminologia
Operação de Leitura
• Operação na qual a palavra binária armazenada numa
determinada posição (endereço) de memória é detectada e então
transferida para outro dispositivo
• Também conhecida com operação de busca, pois a palavra é
buscada na memória
15
Terminologia
Operação de Escrita
• Operação na qual uma nova palavra é colocada numa
determinada posição de memória
• Também é chamada de operação de armazenamento
• Sempre que uma nova palavra é escrita numa posição de
memória, ela substitui a palavra que estava previamente
armazenada lá
◦ Quando deseja-se “apagar” um HD, escreve-se zeros em todas os
endereços de memória
16
Terminologia
Tempo de acesso (tacc)
• Uma medida da velocidade de operação de um dispositivo de 
memória. 
• É o tempo necessário para realizar uma operação de leitura.
• Mais especificamente, é o tempo entre a memória receber uma 
nova entrada de endereço e os dados se tornarem disponíveis na 
saída da memória.
17
Terminologia
Memória Volátil e não-volátil
• Memória volátil
◦ Qualquer tipo de memória que necessita de energia elétrica
para poder armazenar informação
◦ Se a energia elétrica é removida, todas as informações
armazenadas na memória são perdidas
• Memória não-volátil
◦ Armazenam informação mesmo após ser desligada e ligada.
Para ler e escrever ainda é necessário ter alimentação
◦ Exemplos de memória não-voláteis: Memórias magnéticas e
memórias SSD
18
Terminologia
Memória RAM e SAM
• MEMÓRIA DE ACESSO ALEATÓRIO (RAM – Random Access Memory)
◦ Memória na qual a posição física real de uma palavra da memória 
não tem efeito sobre o tempo necessário para ler ou escrever nesta 
posição.
◦ Geralmente associadas com memórias voláteis
• MEMÓRIA DE ACESSO SEQUENCIAL (SAM – Sequential Access Memory)
◦ Um tipo de memória na qual o tempo de acesso não é constante e 
depende do endereço
◦ Uma determinada palavra armazenada é encontrada percorrendo 
todos os endereços até que o endereço desejado seja alcançado
◦ Exemplos: fitas magnéticas e DVDs
19
Terminologia
Memória Estática e Memória Dinâmica
• DISPOSITIVOS DE MEMÓRIA ESTÁTICA
◦ Dispositivos de memória semicondutora nos quais os dados 
permanecem armazenados enquanto a energia está presente, sem 
a necessidade de reescrever periodicamente os dados na memória
• DISPOSITIVOS DE MEMÓRIA DINÂMICA
◦ Dispositivos de memória semicondutora nos quais os dados não 
permanecem armazenados, mesmo com a energia presente, a 
menos que os dados sejam periodicamente reescritos na memória. 
Esta última operação é denominada refresh.
• * Não confundir com a volatilidade da memória
20
Terminologia
Memória cache, principal, auxiliar
• Memória Cache: Um bloco de memória de alta velocidade e mais 
cara. Geralmente está entre a CPU e as memórias mais lentas para 
armazenar dados que frequentemente são usados pela CPU
• Memória Principal: a memória principal que armazena os dados e as 
instruções que a CPU está acessando no momento. Geralmente é uma 
memória semicondutora. Também chamada de memória de trabalho
• Memória Auxiliar: armazena grandes quantidades de informação 
externamente à memória principal. É mais lenta e mais barata do que 
a memória principal e sempre é não-volátil. Discos magnéticos e CDs 
são dispositivos comuns de memória auxiliar. Também chamada de 
memória de massa
21
Tipos de memória não-volátil
• ROM (Read-only memory):
◦ memória somente leitura
◦ A gravação geralmente é realizada no processo de fabricação da memória
• EEPROM (ElectricallyErasable Programmable Read-Only Memory)
◦ Tipos de ROM que podem ser reescrita
◦ Novos dados podem ser escritos na memória eletricamente
◦ Possui um limite de gravações. Após esse limite a memória pode não 
funcionar mais adequadamente
• FLASH
◦ Tipo de EEPROM, mas mais caras que as EEPROM conencionais
◦ Mais rápidas que as EEPROMs convencionais e mais lentas que as RAMs
◦ Os dados são mantidos mesmo sem energa
22
Tipos de memória não-volátil
• SSD (Solid State Drive):
◦ Tipo de memória FLASH
◦ Acesso aos dados feitos 
eletricament
◦ Mais rápidas que os HDD e sem 
componentes móveis
• HDD (Hard Disk Drives):
◦ Memória magnética
◦ Acesso aos dados feitos 
por um “braço” móvel
◦ Combinação de elementos 
eletrônicos e mecânicos
23
https://www.youtube.com/watch?v=PJTrZ8IYRL4
Memória RAM
Volátil
24
Memória RAM típica de um PC
https://www.tecmundo.com.br/hardware/1775-o-que-e-ddr-.htm
Hierarquia de memória em níveis
25Tenenbaum, 2013 Organização Estruturada de Computadores
Disco óticoFita
Disco de Estado Sólido
Disco Magnético
Memória Principal
Cache
Registradores
V
el
o
ci
d
ad
e
Geralmente não-volátil
Geralmente não-volátil
Geralmente volátil
Geralmente volátil
Geralmente volátil
Menor
Maior
Menor
Maior
P
re
ço
V
o
lu
m
e d
e d
ad
o
s
Menor
Maior
Princípios de Operação da Memória
• Todos os sistemas de memória necessitam de diversos tipos de 
entrada e saída para realizar as operações de leitura e escrita
1. Aplicar o endereço binário da posição de memória que se 
pretende acessar (ler ou escrever)
2. Habilitar o dispositivo de memória para responder às entradas de 
controle
3. Colocar os dados armazenados no endereço especificado nas 
linhas de dados internas
26
Princípios de Operação da Memória
Continuação
4. No caso de operações de leitura, habilitar as saída de dados para 
disponibilizar a palavra desejada
5. No caso de operações de escrita, aplicar os dados a serem 
armazenados aos pinos de entrada de dados
◦ Além de fornecer o endereço desejado
6. Habilitar a operação de escrita, o que faz com que o dispositivo 
pegue a palavra e o endereço na entrada e salve na posição 
desejada
7. Desativar os controles de leitura ou escrita quando terminar a 
leitura ou escrita e desabilitar o CI de memória
27
Princípios de Operação da Memória
28
Essa memória é 
um arranjo de
32 registradores
de 4 bits cada
Princípios de Operação da Memória
29
Cada posição, 
possui 4 células de 
memória que 
formam a palavra 
de memória
Princípios de Operação da Memória
30
Controla se deve 
ler (read) ou 
escrever (write)
𝑅/ 𝑊 = 1 (leitura)
𝑅/ 𝑊 = 0 (escrita)
Princípios de Operação da Memória
31
Memory enable (ME)
ME=1, Habilita leitura
ou escritas na mem.
ME=0, coloca as 
entradas e saídas em 
alta-impedância
Princípios de Operação da Memória
32
Define qual espaço de 
memória será lido ou 
escrito
Princípios de Operação da Memória
33
Define o conteúdo da 
palavra na operação de 
escrita na memória
Princípios de Operação da Memória
34
Saída da palavra 
desejada na operação 
de leitura da memória
Princípios de Operação da Memória
Exemplo: Descreva as condições de cada entrada e saída para 
ler o espaço com endereço 00100
35
1)A4=0A3=0A2=1 A1=0A0=0
4) alto
Mem.: 3) ZZZZ
2) alto
Mem.: 5) 0001
Princípios de Operação da Memória
Exemplo: Descreva as condições de cada entrada e saída para 
ler o espaço com endereço 00011
36
Princípios de Operação da Memória
Exemplo: Descreva as condições de cada entrada e saída para 
escrever 1110 na posição 310
37
1)A4=0A3=0A2=0 A1=1A0=1
5) alto
2) 1110
3) baixo
Mem.: 4) ZZZZ
1 1 1 0
6) atualização
Princípios de Operação da Memória
Exemplo: Quais seriam os passo para escrever 0011 no 
endereço 30?
38
Princípios de Operação da Memória
Exemplo: uma determinada memória tem uma capacidade 16K x 8
• Quantas linhas de entrada e saída de dados essa memória possui?
• Quantas linhas de endereços ela tem?
• Qual é sua capacidade em bits e bytes
39
Oito de cada, pois o tamanho da palavra é oito
A memória armazena 16 x 1024 = 16384 palavras
Logo necessita de log2 (16384) = 14 bits para endereçar todas as 
palavras
16 × 1024 × 8 = 131072 bits ou 128 Kb
16 × 1024 × 8 /8 = 16384 bytes ou 16 KB
Conexão
CPU-memória
Quando um computador está executando um programa, a CPU
continuamente busca (lê) informação das posições de memória que
contêm (1) os códigos do programa que representam as operações a
serem realizadas e (2) os dados para serem manipulados.
40
Conexão
CPU-memória
41
Barramento unidirecional que leva os endereços binários da CPU 
para os Cis de memória para selecionar uma posição de memória
Conexão
CPU-memória
42
Barrarnento bidirecional que pode transportar dados da CPU para 
os CIs de memória (escrita) e do CIs para a CPU (leitura)
Conexão
CPU-memória
43
Barramento que leva os sinais de controle da CPU para as 
memórias, tais como sinais de leitura/escrita (𝑅/ 𝑊) e o de 
habilitação da memória (ME)
Conexão
CPU-memória
44
Barramento que leva os sinais de controle da CPU para as 
memórias, tais como sinais de leitura/escrita (𝑅/ 𝑊) e o de 
habilitação da memória (ME)
Bibliografia
Básicas:
[1] Ronald J. Tocci, Neal S. Widner, Gregory L. Moss, Sistemas 
Digitais. Princípios e Aplicações, Pearson, 2011
Complementar:
[2] Volnei A. Pedroni. Finite state machines in hardware: theory and 
design (with VHDL and SystemVerilog), The MIT Press, 2013
45

Continue navegando