Mudanças entre as edições de "EDI018702 2019 2 AULA07"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Criou página com '=Apresentação= Olá Estudante, Até agora aprendemos sobre os flip-flop e contadores assíncronos e síncronos, crescente, decrescente, modulares, com carga inicial e tudo ma...')
 
 
(9 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 
=Apresentação=
 
=Apresentação=
  
Olá Estudante,
+
Olá futuros Engenheiros,
  
Até agora aprendemos sobre os flip-flop e contadores assíncronos e síncronos, crescente, decrescente, modulares, com carga inicial e tudo mais. Aprendemos também a compreender as formas de onda expressas nos diagramas de funcionamento e agora vamos aprender sobre um das aplicações muito apreciadas com flip-flops, que são os registradores.
+
Na próxima semana vamos realizar nossa AT2 que vai envolver até o conteúdo da aula de hoje. Vamos terminar com Demux estudar um pouco sobre memórias, o que são estes dispositivos e como funcionam.
 +
 
 +
Lembre-se que a WiKi não deve ser utilizada como única fonte de estudos.
  
 
Bons Estudos!
 
Bons Estudos!
Linha 9: Linha 11:
 
Prof. Douglas A.
 
Prof. Douglas A.
  
=Registradores=
+
==Objetivo==
 +
 
 +
* O que são memórias.
 +
* Como as memórias funcionam.
 +
 
 +
=Memórias=
  
 +
A principal vantagem dos sistemas digitais sobre os analógicos é a capacidade
 +
de armazenar, facilmente, grandes quantidades de informação e/ou dados por períodos
 +
longos ou curtos de tempo. Esta capacidade de memória é o que torna os sistemas
 +
digitais tão versáteis e adaptáveis às diversas situações. Por exemplo, 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
 +
realize sua tarefa com um mínimo de intervenção humana.
 +
Vamos estudar os tipos mais comuns desses dispositivos e sistema de memória.
 +
Já estamos bem familiarizados com o flip-flop, que é um dispositivo eletrônico de
 +
memória. Os avanços na tecnologia LSI (''Large Scale Integration'') e VLSI (''Very
 +
Large Scale Integration'') tornaram possível a obtenção de um grande número de flip-flops
 +
em um único chip, organizados em vários arranjos de memória.
  
Uma das formas mais comuns de utilização dos flip-flop (FF) é no armazenamento
+
[[Imagem:fig108_DIG222802.png|500px|center]]
e transferência de informações (bits). Cada FF possui a capacidade de
+
<center>
armazenar um bit. Vários FFs podem ser configurados para formar um registrador
+
Figura - Disquete de 5 1/4 polegadas de dupla densidade com 360 kb de espaço disponível.
no qual pode-se armazenar uma palavra binária. São necessários tantos
+
</center>
FF quantos forem os bits da palavra.
 
Os registradores armazenam bits e têm a capacidade de transferir esses bits
 
para outros registradores seja de forma simultânea ou uma a uma.
 
  
  
==Registradores do tipo porta paralela==
+
Então as memórias são os dispositivos que armazenam informações, essas por
 +
sua vez codificadas, digitalmente, através de um código binário qualquer. Essas
 +
informações podem ser números, letras, caracteres quaisquer, comandos de operações,
 +
endereços ou ainda qualquer outro tipo de dado. Essas informações armazenam dados
 +
para endereçamento, programação e para constituir o conjunto de funções internas para
 +
a funcionalidade do próprio sistema. Outro tipo de aplicação consiste em utilizá-las para
 +
executarem quaisquer funções de circuitos combinacionais, e ainda, com o auxílio de
 +
contadores comuns e conversores, gerarem formas de onda de diversas maneiras de
 +
modo mais simples.
  
 +
==Classificação das memórias==
  
Neste registrador todos os bits são armazenados simultaneamente. Ele é constituído de FF com as entradas de ''clock'' ligadas em comum. Quando ocorre a transição positiva do ''clock'', os dados de D1 a D4 são armazenados nas saídas Q1 a Q4. A Figura 1 mostra um circuito registrador do tipo porta paralela.
+
As memórias podem ser classificas de acordo com as seguintes características:
  
 +
*Acesso;
 +
*Volatilidade;
 +
*Escrita/Leitura ou apenas de leitura;
 +
*Tipo de armazenamento.
 +
 +
Vamos analisar cada item:
 +
 +
===Acesso===
 +
 +
As memórias armazenam informações em lugares denominadas
 +
palavras, ou localidade de memória. Cada uma das palavras possui um conjunto
 +
de bits que nos permite o seu acesso, a esse conjunto de bits damos o nome de
 +
endereço. Esse conceito é de fácil compreensão, pois como o próprio nome diz,
 +
o conjunto de bits representa o endereço da palavra onde está armazenada uma
 +
informação. O tempo de acesso de uma memória é o tempo necessário desde a
 +
entrada de um endereço até o momento em que a informação aparece na saída.
 +
Para as memórias de escrita/leitura é também o tempo necessário para a
 +
informação ser gravada.
 +
Podemos ter acesso a uma dada localidade de memória de duas maneiras
 +
diferentes:
 +
 +
*Acesso sequencial;
 +
*Acesso aleatório.
 +
 +
 +
===Volatilidade===
 +
 +
As memórias podem ser voláteis ou não voláteis. As memórias
 +
voláteis são aquelas que ao retirada a alimentação perdem as informações
 +
armazenadas. São memórias feitas, geralmente, a partir de semicondutores e na
 +
maioria das vezes, possuem como elemento de memória o flip-flop. Um
 +
exemplo típico é a memória RAM. 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 eletrônicas: ROM, PROM e
 +
EPROM.
 +
 +
 +
===Memórias de escrita/leitura ou memórias apenas de leitura===
 +
 +
As memórias de
 +
escrita/leitura são aquelas que permitem acesso a uma célula qualquer para
 +
escrevermos a informação desejada, além disso, permitem o acesso também para
 +
a leitura do dado. As memórias RAM também se enquadraram nessa situação.
 +
Por sua vez, as memórias apenas de leitura, são aquelas em que a informação é
 +
fixa, só podendo efetuar-se a leitura de cada célula. São também conhecidas
 +
como ROM (“Read Only Memory”).
 +
 +
===Tipos de armazenamento===
 +
 +
Quanto ao tipo de armazenamento as memórias
 +
classificam-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 célula, este lá
 +
permanece. As memórias de armazenamento dinâmico são aquelas em que
 +
necessitamos inserir a informação de tempos em tempos, pois de acordo com as
 +
características de seus elementos internos essas informações são perdidas após
 +
um determinado tempo.
 +
 +
 +
As memórias de armazenamento estático apresentam como vantagem a
 +
simplicidade de utilização quando comparadas às dinâmicas. Em contrapartidas
 +
as memórias estáticas são mais lentas para acesso que as dinâmicas.
 +
 +
 +
==Terminologia==
 +
 +
O estudo dos sistemas e dos dispositivos de memória está repleto de termos. É
 +
de grande valia compreender o significado de alguns termos mais básicos, que são
 +
apresentados a seguir:
 +
 +
===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 uma pequena região numa 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 flip-flops pode ser considerado uma memória que esta armazenando uma
 +
palavra de 8 bits. Os tamanhos de palavra nos computadores modernos variam
 +
tipicamente de 4 a 64 bits, dependendo do porte do computador.
 +
 +
 +
===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. Para ilustrar, suponha que temos uma memória capaz de armazenar
 +
4096 palavras de 20 bits. Isto representa uma capacidade total de 81920 bits
 +
(4096×20=81920). Poderíamos também expressar essa capacidade de
 +
memória como 4096×20 . Quando representada desse modo, o primeiro número
 +
(4.096) é o número de palavras, e o segundo número (20) é o número de bits por
 +
palavra (tamanho da palavra). O número de palavras em uma memória
 +
frequentemente é um múltiplo de 1024. É comum usar a designação "1k" para
 +
representar 1024 = <math>2^{10}</math> quando nos referimos à capacidade de memória. Logo,
 +
uma memória com uma capacidade de armazenamento de 4k×20 é na verdade
 +
uma memória de 4096×20 . O desenvolvimento de memórias maiores trouxe a
 +
designação "1M" ou "1 mega" para representar <math>2^{20} = 1048576</math>. Assim, uma
 +
memória que possui uma capacidade de 2M ×8 tem na verdade uma capacidade
 +
de 2097152×8. A designação "giga" se refere a <math>2^{30} = 1073741824</math>.
 +
 +
 +
===Densidade===
 +
 +
Outro termo para capacidade. Quando dizemos que um dispositivo
 +
de memória tem uma densidade maior do que outro, queremos dizer que ele
 +
pode armazenar mais bits no mesmo espaço, ou seja, ele é mais de denso;
 +
 +
 +
===Endereço===
 +
 +
É um número que identifica a posição de palavra na memória. Cada
 +
palavra armazenada em um dispositivo ou sistema de memória possui um
 +
endereço único. Endereços sempre existem num sistema digital como um
 +
número binário, embora, por conveniência, números em octal, hexadecimal e
 +
decimal sejam frequentemente utilizados para representar esses endereços.
 +
A Tabela 1 ilustra uma pequena memória constituída de oito palavras.
  
[[Imagem:fig29_DIG222802.png|center]]
 
<center>
 
Figura 1 - Registrador do tipo "Porta Paralela".
 
</center>
 
  
  
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
|+'''Tabela 1 - Estados dos registradores'''
+
|+'''Tabela 1 - Organização da memória'''
 +
! style="background:#F7D358; color:151515; width: 80px;" | Endereço
 +
! style="background:#F7D358; color:151515; width: 140px;" | Dado
 
|-
 
|-
! style="background:#F7D358; color:#151515; width: 20px;" | Clock
+
| 0 0 0
! style="background:#F7D358; color:#151515; width: 20px;" | D1
+
| Palavra 0
! style="background:#F7D358; color:#151515; width: 20px;" | D2
 
! style="background:#F7D358; color:#151515; width: 20px;" | D3
 
! style="background:#F7D358; color:#151515; width: 20px;" | D4
 
! style="background:#F7D358; color:#151515; width: 20px;" | Q1
 
! style="background:#F7D358; color:#151515; width: 20px;" | Q2
 
! style="background:#F7D358; color:#151515; width: 20px;" | Q3
 
! style="background:#F7D358; color:#151515; width: 20px;" | Q4
 
 
|-
 
|-
| 0
+
| 0 0 1
| 1
+
| Palavra 1
| 0
 
| 1
 
| 0
 
| ?
 
| ?
 
| ?
 
| ?
 
 
|-
 
|-
| <math>\uparrow</math>
+
| 0 1 0
| 1
+
| Palavra 2
| 0
 
| 1
 
| 0
 
| 1
 
| 0
 
| 1
 
| 0
 
 
|-
 
|-
| 0
+
| 0 1 1
| X
+
| Palavra 3
| X
+
|-
| X
+
| 1 0 0
| X
+
| Palavra 4
| 1
+
|-
| 0
+
| 1 0 1
| 1
+
| Palavra 5
| 0
+
|-
 +
| 1 1 0
 +
| Palavra 6
 +
|-
 +
| 1 1 1
 +
| Palavra 7
 
|}
 
|}
  
Registradores deste tipo são também conhecidos por LATCHES ou FLIP-FLOP do tipo D. Existem disponíveis comercialmente registradores de diversos tamanhos como mostrado anteriormente.
 
  
==Registradores de deslocamento==
 
  
É um registrador no qual os FF são conectados de forma a permitir, além da
+
Cada uma destas oito palavras tem um endereço específico representado por um
inserção a operação de deslocamento dos bits da palavra binária. A importância
+
número de três bits que varia de 000 até 111. Sempre que nos referimos a uma
das operações de deslocamento dos bits está no fato destas viabilizarem,
+
posição específica na memória, utilizamos seu código de endereço para
entre outras, a realização de um grande número de operações lógicas e aritméticas
+
identificá-la.
em um sistema digital. Os bits de uma registrador podem ser transmitidos
+
 
de duas maneiras:
+
===Operação de Leitura===
  
'''Em série''': os bits da palavra são transferidos em sequência (um após o outro)
+
Operação na qual a palavra binária armazenada numa
por um único fio. Este formato economiza circuitos.
+
determinada posição (endereço) de memória é detectada e então transferida para
 +
outro dispositivo. Por exemplo, se desejamos utilizar a palavra 4 da memória da
 +
figura anterior para algum propósito, devemos realizar uma operação de leitura
 +
no endereço 100. A operação de leitura freqüentemente é chamada de operação
 +
de busca, pois a palavra está sendo buscada da memória. Utilizaremos os dois
 +
termos indistintamente.
  
'''Em paralelo''': os bits da palavra são transferidos simultaneamente por um
 
número de fios igual ao número de bits. Este formato economiza tempo.
 
Assim, levando-se em consideração as formas possíveis para se transmitir
 
uma palavra, pode-se inserir e retirar os bits em um registrador de maneira
 
serial ou paralela. Desta forma, é possível a implementação de 4 tipos básicos
 
de registradores:
 
  
*Entrada e saída serial;
+
===Operação de Escrita===
*Entrada paralela e saída serial;
 
*Entrada serial e saída paralela;
 
*Entrada e saída paralela.
 
  
 +
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á.
  
  
===Entrada e saída serial===
+
===Tempo de Acesso===
  
 +
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.
  
Suponha que voce deseja armazenar no registrador o dado de 4 bits "1010". Como o registrador
 
desloca os dados da esquerda para a direita o primeiro bit a entrar é 0 da direita,
 
chamado de LSB (Least Significant Bit). São necessários 4 transições negativas
 
do clock para que o dado entre no registrador. O último bit a entrar é o 1
 
da esquerda, chamado de MSB (Most Significant Bit). A Figura 2 apresenta o diagrama de blocos para esse tipo de registrador.
 
  
 +
===Memória Volátil===
  
[[Imagem:fig30_DIG222802.png|center]]
+
Qualquer tipo de memória que necessita da aplicação de
<center>
+
energia, alimentação, para poder armazenar informação. Se a energia elétrica é
Figura 2 - Diagrama de blocos do registrador entrada e saída serial.
+
removida, todas as informações armazenadas na memória são perdidas. Muitas
</center>
+
das memórias semicondutoras são voláteis, enquanto todas as memórias
 +
magnéticas são não-voláteis, o que significa que elas podem manter a
 +
informação sem energia elétrica;
  
  
Considerando-se o sentido de movimento dos dados pode-se ter:
+
===Memória de Acesso Aleatório (RAM – ''Random Access Memory'')===
*Deslocamento para a direita;
 
*Deslocamneto para a esquerda;
 
*Bidirecional.
 
  
  
A Figura 3 mostra um registrador de deslocamento de 4 bits e na Figura 4
+
A RAM e a 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. Em outras palavras, o tempo de acesso é o mesmo para qualquer endereço na memória. A maioria das memórias semicondutoras são de acesso aleatório. A Figura abaixo apresenta a arquitetura interna de uma memória RAM 4x4.
é apresentado o seu diagrama de tempo da entrada serial dos dados. A cada
 
pulso de clock, o valor contido nas entradas J e K dos FF é transferido para a
 
saída. Essa saída está conectada na entrada do próximo FF. Após 4 transições
 
de descida de clock, o valor das 4 últimas entradas de DADOS, é transferido serialmente para os FF, estando armazenado no registrador nos FF Q, R, S e T.
 
  
  
[[Imagem:fig31_DIG222802.png|center]]
+
[[Imagem:fig77_DIG222802.png|center]]
 
<center>
 
<center>
Figura 3 - Registrador de deslocamento serial para direita.
+
Figura - Arquitetura interna de uma memória RAM 4x4.
 
</center>
 
</center>
 +
 +
===Memória de Acesso Sequencial (SAM – ''Sequence Access Memory'')===
 +
 +
É um tipo de memória no qual o tempo de acesso não é constante, mas varia dependendo
 +
do endereço. Uma determinada palavra armazenada é encontrada percorrendo
 +
todos os endereços até que o endereço desejado seja alcançado. Isto produz
 +
tempos de acesso que são muito maiores do que os das memórias de acesso
 +
aleatório. Um exemplo de dispositivo de memória de acesso sequencial é uma
 +
fita magnética.
 +
 +
Para entender a diferença entre SAM e RAM, considere a situação na qual
 +
você gravou 60 minutos de música numa fita cassete de áudio. Quando desejar
 +
alcançar uma música em particular, você terá que retroceder ou avançar a fita até
 +
a encontrar. O processo é relativamente lento, e o tempo necessário depende de
 +
onde a música desejada está gravada na fita. Isto é SAM, já que você percorreu
 +
através das informações registradas até encontrar o que estava procurando. A
 +
contrapartida RAM para isso seria um CD ou MD de áudio, no qual você pode
 +
rapidamente selecionar qualquer música informando o código apropriado, e ele
 +
gasta aproximadamente o mesmo tempo, não importando a música selecionada.
 +
As memórias de acesso seqüencial são utilizadas onde os dados a serem
 +
acessados sempre vêm numa longa seqüência de palavras sucessivas. A memória
 +
de vídeo do microcomputador, por exemplo, deve fornecer seu conteúdo na
 +
mesma ordem repetidamente para manter a imagem na tela.
  
  
[[Imagem:fig32_DIG222802.png|center]]
+
===Memória de Leitura e Escrita (RWM – ''Read/Write Memory'')===
<center>
 
Figura 4 - Diagrama de tempo para o registrador entrada série com deslocamento para a direita.
 
</center>
 
  
 +
Qualquer memória que possa ser lida ou escrita de maneira igualmente fácil.
  
Para manter estes dados armazenados basta que o sinal de clock seja desativado
 
(0). Caso se deseje retirar os dados do registrador utiliza-se 4 transições
 
negativas do clock. A saída dos dados ocorre de forma serial no ultimo
 
FF (T) conforme mostrado na Fig. 6-9. OBS: Para facilitar o acompanhamento
 
da saída destes dados (1010) a entrada de dados foi mantida em zero.
 
  
 +
===Memória somente de Leitura (ROM – ''Read-Only Memory'')===
  
(propor construir o registrador de deslocamento utilizando FF tipo D)
+
Uma vasta classe de memórias semicondutoras, projetadas para aplicações nas quais a razão entre
 +
as operações de leitura e escrita é muito alta. Tecnicamente, uma ROM pode ser
 +
escrita (programada) apenas uma vez, e esta operação normalmente é realizada
 +
pelo fabricante da mesma. Depois disso, as informações podem ser somente
 +
lidas da memória. Outros tipos de ROM são na verdade RMM (“read-mostly
 +
memories”), nas quais se pode escrever mais de uma vez; porém a operação de
 +
escrita é mais complicada do que a de leitura, e não é realizada freqüentemente.
 +
Todas as ROMs são não-voláteis e mantém os dados quando a energia é
 +
removida.
  
===Entrada serial com saída paralela===
 
  
 +
===Dispositivos de Memória Estática===
  
A Figura 5 apresenta o diagrama de blocos deste tipo de registrador. Neste caso, os
 
dados são deslocados em série para dentro (como já mostrado). Para se ter os
 
dados em paralelo basta ter acesso a todas as saídas dos FF do registrador
 
de deslocamento.
 
  
 +
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 mesma.
  
  
[[Imagem:fig33_DIG222802.png|center]]
+
===Dispositivos de Memória Dinâmica===
<center>
 
Figura 5 - Diagrama em blocos para o registrador entrada série com saída paralela.
 
</center>
 
  
 +
São 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. Sendo esta
 +
operação de reescrita denominada de ''refresh''.
  
===Entrada paralela e saída serial===
 
  
Para este tipo de registrador são incorporadas habilidades para entrada em paralelo e
+
==Princípios de operação da memória==
deslocamento dos dados. A análise será feita a partir do 74LS166 que possui
 
entrada serial e paralela e saída serial. A Figura 6 mostra o diagrama de blocos deste registrador.
 
Os diagramas lógicos e tabela funcional é mostrados na Figura 7 e 8. Para realizar a entrada paralela
 
dos dados, altera-se a entrada LOAD (carregar) para 0, e na transição positiva
 
do ''clock'' os FF têm suas saídas simultaneamente alteradas de acordo com as
 
entradas A a H. Quando a entrada LOAD está em 1 (SHIFT), o registrador
 
funciona como um registrador de deslocamento. A entrada CLEAR permite
 
zerar todas as saídas dos FF imediatamente (sem o ''clock'').
 
  
 +
Embora cada tipo de memória seja diferente na sua operação interna, certos
 +
princípios básicos são comuns a todas elas. A Figura 2 mostra como é realizada as operações com memórias.
  
  
[[Imagem:fig34_DIG222802.png|center]]
+
[[Imagem:fig66_DIG222802.png|center|600px]]
 
<center>
 
<center>
Figura 6 - Diagrama em blocos para o registrador entrada paralela e saída serial.
+
Figura - Operação da memória.
 
</center>
 
</center>
  
 +
Todos os dispositivos de memória necessitam de diversos tipos diferentes de
 +
linhas de entrada e de saída para realizar as seguintes funções:
  
[[Imagem:fig35_DIG222802.png|center]]
 
<center>
 
Figura 7 - Diagrama lógico do 74166.
 
</center>
 
  
Exemplo: 74ALS166 e 74HC166
+
:1. Selecionar o endereço na memória que está sendo acessado para uma operação
 +
de leitura ou escrita;
  
*Apenas a saída serial QH é disponível.
+
:2. Selecionar uma operação de leitura ou escrita que será realizada;
*Dados seriais entram no pino SER.
 
*Dados paralelos podem ser carregados de forma síncrona.
 
*Funcionamento serial se SH/LD' = 1
 
*Carga paralela de dados se SH/LD' = 0
 
*Deslocamento síncrono e carga paralela desabilitados se CLK INH = 1 (clock-inhibit) – FFs mantêm estado anterior.
 
  
 +
:3. Fornecer os dados de entrada a serem armazenados na memória durante uma
 +
operação de escrita;
  
[[Imagem:fig36_DIG222802.png|center]]
+
:4. Manter os dados de saída vindos da memória durante uma operação de leitura;
<center>
 
Figura 8 - Diagrama lógico do 74166.
 
</center>
 
  
O primeiro bit aparece em QH em t8, 8 pulsos de relógio após CLR' ter ido para o nível baixo.
+
: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.
  
  
===Entrada paralela e saída paralela===
+
===Entradas de endereço===
  
A Figura 9 mostra o diagrama de blocos para o registrador do tipo entrada paralela e saída paralela.
 
  
 +
Utilizando o bloco anterior como exemplo, a memória armazena 32 palavras,
 +
logo a mesma possui 32 posições de armazenamento diferentes e, portanto possui 32
 +
endereços binários diferentes, variando de 00000 até 11111 (0 a 31 em decimal). Desta
 +
forma, existem cinco entradas de endereço, A0 até A4. Para acessar cada uma das
 +
posições de memória para uma operação de leitura ou escrita, o código de
 +
endereçamento de cinco bits para essa posição é aplicado nas entradas de endereço. De
 +
um modo geral, N entradas de endereço são necessárias para uma memória que possui
 +
uma capacidade de <math>2^N</math> palavras.
  
[[Imagem:fig38_DIG222802.png|center]]
+
Podemos visualizar a memória da Figura 2 como um arranjo de 32
<center>
+
registradores, no qual cada registrador guarda uma palavra de quatro bits. Cada posição
Figura 9 - Diagrama de blocos.
+
é mostrada contendo quatro células de memória que guardam 1’s ou 0’s, que formam a
</center>
+
palavra de dados armazenada nesta posição. Vejamos o seguinte exemplo, a palavra
 +
0110 está armazenada no endereço 00000, a palavra de dados 1111 está armazenada no
 +
endereço 00010, e assim por diante.
  
Este tipo de registrador pode ser implementado conforme mostrado na Figura 10, porém não é considerado propriamente um registrador de deslocamento. Entretanto, em algumas aplicações é necessário que o registrador seja de deslocamento. Por isso, existem CIs
+
===A entrada R/W===
comerciais que são registradores de deslocamento com entradas e saídas paralelas. O CIs 74LS195 é um registrador de deslocamento
 
de 4 bit com entradas paralela e serial e saídas paralela e serial.
 
  
 +
Esta entrada controla qual operação deve ser realizada na memória: leitura (R –
 +
''read'') ou Escrita (W – ''write''). A entrada é identificada por <math>R/\overline{W}</math>, e como não existe
 +
a barra sobre R, isto indica que a operação de leitura ocorre quando <math>R /\overline{W} =1</math>. A barra
 +
sobre W indica que a operação de escrita acontece quando <math>R /\overline{W} = 0</math>. Outros
 +
identificadores (nomenclaturas de outros autores) são usados frequentemente para essa
 +
entrada. Dois dos mais comuns são <math>\overline{W}</math> (escrita) e <math>\overline{WE}</math> (''write enable'' - habilitação de
 +
escrita). Novamente, a barra indica que a operação de escrita ocorre quando a entrada
 +
está em nível baixo, portanto, fica subentendido que a operação de leitura ocorre para
 +
nível alto.
  
[[Imagem:fig39_DIG222802.png|center|450px]]
 
<center>
 
Figura 10 - Registrador tipo porta paralela.
 
</center>
 
  
Como o CI 74195 é possível realizar as seguintes operações:
+
===Habilitação da memória===
  
*Manutenção do estado interno do registrador;
+
Muitos sistemas de '''memória''' tem algum modo de '''desabilitar''' completamente uma
*CLEAR da saída paralela;
+
parte ou toda a memória, de modo que ela não possa responder às outras entradas. Isto é
*Entrada paralela e saída paralela;
+
representado na figura anterior pela '''entrada ME''', embora ela possa ter nomes diferentes
*Entrada série e saída série para a direita;
+
nos vários tipos de memória, tais como ''chip enable'' (CE) ou ''chip select'' (CS). Na
*Entrada série e saída paralela (com desabilitação do ''clock'' após a quarta transição positiva do clock);
+
figura, ela é mostrada como uma entrada ativa em nível alto que habilita a memória, de
*Entrada paralela e saída série a direita.
+
modo que ela não responderá às entradas de endereço e de <math>R/\overline{W}</math> quando estiver em
 +
nível baixo. Este tipo de entrada é útil quando vários módulos de memória são
 +
combinados para formar uma memória maior.
  
==Aplicações com registradores==
 
  
===Porta paralela===
+
==Evolução das memórias==
  
 +
Memórias são todos os dispositivos que permitem que um dispositivo eletrônico, neste caso, possa armazenar dados de forma permanente ou temporariamente. Existem as memórias primárias que são essenciais para o funcionamento do computador (RAM, ROM, Memória Cache) que normalmente servem como uma ponte para as memórias secundárias (Hard Disk, CDs, DVDs) para serem tratadas pelo processador.
  
A Figura 10 mostra o uso de uma porta paralela de dados para a a transferência
+
No passado foram utilizadas várias tecnologias para implementar os mais diversos usos de memórias, como por exemplo: Memórias de tecnologia delay line, uma das primeiras tecnologias de memória principal, que armazenavam os dados na forma de pulsos sonoros em uma coluna de mercúrio. Memórias CRT, também chamadas de Williams-tube, um tipo de memória que usava um tubo CRT para armazenar dados na forma de pontos luminosos. Memórias de núcleo de ferrite, uma tecnologia popular de implementação da memória principal nas décadas de 1940 e 1950. Memórias de filme fino, uma melhoria da tecnologia de núcleo de ferrite, utilizada em alguns computadores na década de 1960. Cartões e fitas perfuradas, que já foram os principais meios de memória não volátil.  
dos dados da entrada D1 a D4 para as saídas Q1 a Q4. A função desse
 
circuito é armazenar um estado de um circuito, até que um novo estado esteja
 
disponível ou seja desejável. A transferência é controlada pelo ''clock''. Na
 
transição negativa do ''clock'' os dados são armazenados no registrador X. A
 
transferência ocorre simultaneamente em todos os bits.
 
  
 +
Na história mais recentemente foram criadas tecnologias de implementações de memórias bem sucedidas e muito bem utilizadas como: '''Portas lógicas e flip-flops''', usados na implementação da memória cache. Transistores e circuitos de refrescamento, usados na implementação da memória principal. Arranjos de conexões, utilizados na implementação de certas ROMs (memórias de leitura). Fitas magnéticas, utilizadas principalmente para cópias de segurança e arquivamento a longo prazo. Discos magnéticos, como discos rígidos e disquetes - a principal tecnologia de implementação de memória secundária. Discos ópticos, como CDs e DVDs, e suas diversas variações. Memória flash, um tipo de memória semi condutora não volátil muito usada em câmeras digitais e leitores de MP3.
  
===Porta serial===
 
  
 +
===Pendrive===
  
A Figura 11 apresenta a conexão entre dois registradores de deslocamento X e Y
+
A história do pendrive é bem curta e teve início no ano 2000. Já a da memória flash, que é a utilizada nestes dispositivos, começou em 1980 com a Toshiba. Os primeiros modelos de pendrive foram fabricados pela Trek Technology em conjunto com a IBM, e eram chamados de DiskOnKey. A capacidade de armazenamento dos primeiros pendrives começou em 8 MB, o que era muito para época, tendo em vista que os disquetes armazenavam no máximo 2,88 MB. O tempo foi passando e, dos míseros 8 MB, chegamos a pendrives com 64 GB ou mais em menos de dez anos de história.
para a transferência serial de dados. O ''clock'' desses registradores é único, e
 
faz com que a cada transição negativa do ''clock'', o conteúdo do terceiro FF do
 
registrador X é transferido para o primeiro FF do registrador Y, a mesmo tempo
 
que internamente o conteúdo dos FF é deslocado. Após 3 transições negativas
 
do ''clock'', o conteúdo inicial do registrador X é todo transferido para o registrador
 
Y, conforme mostra a Tabela XX.
 
  
  
[[Imagem:fig40_DIG222802.png|center]]
+
[[Imagem:fig112_DIG222802.png|500px|center]]
 
<center>
 
<center>
Figura 11 - Transferência serial entre registradores.
+
Figura - Pendrive também conhecidos por USB Flash Drives.
 
</center>
 
</center>
  
  
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 
|+'''Tabela 2 - Estados dos registradores'''
 
|-
 
! style="background:#F7D358; color:#151515; width: 20px;"  rowspan="2" | Clock
 
! style="background:#F7D358; color:#151515; width: 20px;"  colspan="3" | Registrador X
 
! style="background:#F7D358; color:#151515; width: 20px;"  colspan="3" | Registrador Y
 
|-
 
! style="background:#F7D358; color:#151515; width: 20px;" | X1
 
! style="background:#F7D358; color:#151515; width: 20px;" | X2
 
! style="background:#F7D358; color:#151515; width: 20px;" | X3
 
! style="background:#F7D358; color:#151515; width: 20px;" | Y1
 
! style="background:#F7D358; color:#151515; width: 20px;" | Y2
 
! style="background:#F7D358; color:#151515; width: 20px;" | Y3
 
|-
 
| 0
 
| 1
 
| 0
 
| 1
 
| ?
 
| ?
 
| ?
 
|-
 
| 1
 
| 0
 
| 1
 
| 0
 
| 1
 
| ?
 
| ?
 
|-
 
| 2
 
| 0
 
| 0
 
| 1
 
| 0
 
| 1
 
| ?
 
|-
 
| 3
 
| 0
 
| 0
 
| 0
 
| 1
 
| 0
 
| 1
 
|}
 
  
===Contador em anel===
+
Ninguém duvida que os pendrives sejam fenômenos de venda em todos os lugares do mundo. Mas, o que faz deles tão populares? A resposta pode estar em uma palavra: energia. Parece estranho, mas um dos fatores que contribuiu para o boom deste tipo de dispositivo é a não necessidade de energia para manter os dados armazenados, e continuar sendo muito seguro e estável – ao contrário dos disquetes.
 +
 
  
Para o funcionamento deste tipo de contador, um dos FF deve ter inicialmente o valor 1 e os outros 0. Isso pode ser feito através das entradas assíncronas PRESET e CLEAR. Por ser um registrador de deslocamento, o 1 é transferido para o próximo FF a cada ''clock''
+
O princípio é parecido com o de alguns celulares mais antigos, por exemplo. Eles armazenam  configurações como hora e data, mas quando retiramos a bateria – deixamos de fornecer energia – estes dados são perdidos. Isso não acontece nos pendrives, pois se nenhum acidente ocorrer, os dados sempre estarão lá.
e da mesma forma os 0s. Os estados se repetem ciclicamente porque a saída do último FF está conectado a entrada do primeiro FF. A Figura 12 mostra um contador em anel e a Figura 13 apresenta a sequência da contagem considerando inicialmente a saída Q3=1 e as outras Q2=Q1=Q0=0.  
 
  
  
[[Imagem:fig41_DIG222802.png|center]]
 
<center>
 
Figura 12 - Contador em Anel.
 
</center>
 
  
 +
Os pendrives também são conhecidos por '''USB Flash Drives''', pois utilizam uma memória flash como modo de armazenamento. Uma das vantagens desse tipo de memória para as demais é o fato de ela ser '''eletrônica''' e não magnética – como eram os disquetes -, dessa maneira os dados gravados dificilmente se perdem caso haja interferências de campos magnéticos. Simplificando, os pendrives possuem um chip gravável e regravável e o processo de armazenamento se dá por meio de elétrons que ao receberem carga positiva se tornam um número 1 e, ao perder em carga, se transformam em 0. É o código binário em ação.
  
[[Imagem:fig42_DIG222802.png|center]]
+
Além de ter todos os atributos conhecidos, os pendrives também fazem sucesso por terem adotado a famosa entrada USB com porta de comunicação. Esse tipo de conexão foi desenvolvido com o intuito de tornar a comunicação do computador com outros dispositivos mais rápida e fácil e contribuiu para a massificação da porta USB tentando padronizar as entradas dos computadores. Desta forma, com o tempo elas acabaram se tornando mais populares que os próprios leitores de CDs, justamente porque permitirem a conexão de vários dispositivos com a máquina, não somente para a leitura de dados.
<center>
 
Figura 13 - Diagrama de tempo do contador em anel.
 
</center>
 
  
 +
===SSD===
  
===Contador Johnson===
+
O termo SSD se aplica a dispositivos de estado sólido, que é um tipo de memória
 +
sem parte móveis para o armazenamento de dados digitais. Podemos encontrar esses
 +
dispositivos com capacidade desde alguns GB (10<sup>9</sup>) até TB (10<sup>12</sup>).
  
O contador Johnson é um contador em anel no qual a saída <math>\bar Q_0</math> do último FF
 
está conectado a entrada D do primeiro FF, conforme mostrado na Figura 14.
 
Neste tipo de contador todos os FF deve ter inicialmente o valor 0, o que pode
 
ser feito através da entrada assíncronas CLEAR.
 
  
[[Imagem:fig43_DIG222802.png|center]]
+
[[Imagem:fig109_DIG222802.png|500px|center]]
 
<center>
 
<center>
Figura 14 - Contador Johnson.
+
Figura - SSD dispositivo de estado sólido.
 
</center>
 
</center>
  
;Exercício
+
==Exercícios==
  
Desenhe o diagrama de tempo correspondente ao funcionamento do Contador Johnson.
+
#Um certo chip de memória semicondutora é especificado como 4k X 8. Quantas palavras podem ser armazenadas neste chip? Qual é o tamanho da palavra? Quantos bits este chip pode armazenar no total?
 +
#Qual das memórias armazena mais bits: uma memória de 5M X 8 ou uma memória que armazena 2M palavras com um tamanho de palavra de 16 bits?
 +
#Descreva as condições de cada entrada e saída quando o conteúdo da posição cujo endereço é 00100 deve ser lido.
 +
#Descreva as condições de cada entrada e saída quando a palavra 1110 deve ser escrita na posição de endereço 01101
 +
#Uma determinada memória tem uma capacidade de 4k X 8.
 +
::a) Quantas linhas de entrada de dados e saída de dados ela tem?
 +
::b) Quantas linhas de endereço ela tem?
 +
::c) Qual é a sua capacidade em bytes?
  
  
=Terceiro estado de uma saída (''tristate'')=
+
{{collapse top|Respostas:}}
  
 +
1. 4k=4096. 8 bits (1 byte). 4096x8=32768.
  
As saídas que podem apenas assumir os estados 0 e 1 são chamadas de ''Totem-Pole''. Diversos circuitos possuem saídas que podem assumir, além dos estados 0 e 1, o estado de alta impedância (''tristate'') o qual é equivalente a um circuito aberto. As saídas em ''tristate'' permitem assim que os computadores sejam organizados em barramentos, conectando diversas saídas de componentes sem provocar a danificação dos mesmos desde que somente um componente seja acionado de cada vez. As saídas dos componentes comportam-se de forma similar a uma chave de três estados. A Figura 15 mostra a simbologia (A) e a tabela verdade (B) para a chave de três estados.
+
2. 5M X 8.
  
 +
:<math>5M=5x2^{20}x8=5x1048576x8=41934040</math>.
  
[[Imagem:fig44_DIG222802.png|center]]
+
:<math>2M=2x2^{20}x16=5x1048576x8=33554432</math>.
<center>
 
Figura 15 - Simbologia (A) e tabela verdade (B) da chave ''tristate''.
 
</center>
 
  
 +
3. (MSB) A4=0, A3=0, A2=1, A1=0, A0=0 (LSB); W\=1, R=1.
  
Notem que quando E=0 (''enable'') a saída Y fica em Z (alta impedância) independente do valor da entrada D.
+
4. (MSB) A4=0, A3=1, A2=1, A1=0, A0=1 (LSB); (MSB) D3=1,  D2=1, D1=1 e D0=0 (LSB); W\=0, R=0.
  
=Circuitos Integrados de Registradores=
+
5. a) 8. b) 12. c) 4096 bytes (32768 bits).
  
 +
{{collapse bottom}}
  
A seguir são mostrados os diagramas lógicos, pinagens e tabelas funcionais
+
=Circuitos Integrados de memória (TTL)=
de alguns registradores.
 
  
*74164 Registrador de deslocamento de 8 bits com entrada serial e saída paralela.
+
:7481 Memória RAM de 16 bits Random Access Memory
*74165 Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial.
+
:7484 – Memória RAM de 16 bits
*74166 Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial, com CLEAR assíncrono.
+
:7488 – Memória ROM de 256 bits
*74173 Registrador porta FF de 4 bits com entrada paralela e saída paralela em tristate
+
:7489 – Memória de leitura/escrita de 64 bits
*74194 Registrador de deslocamento bidirecional universal de 4 bits com entrada paralela e saída paralela
+
:74186 – Memória ROM de 512 bits (64×8) com coletor aberto
*74195 Registrador de deslocamento de 4 bits com entrada paralela e saída paralela
+
:74187 – Memória ROM de 1024 bits (256×4) com coletor aberto
*74273 Registrador porta FF de oito bits de entrada paralela e saída paralela.
+
:74188 Memória PROM de 256 bits (32×8) com coletor aberto
*74373 Registrador porta LATCH de oito bits de entrada paralela e saída paralela em tristate.
+
:74189 – Memória RAM de 64 bits (16×4) com saídas tristate inversoras
*74374 Registrador porta FF de oito bits de entrada paralela e saída paralela em tristate.
+
:74200 Memória RAM de 256 bits com saídas tristate
*74543 Transceptor com registradores de oito bits com saídas em tristate.
+
:74201 – Memória RAM de 256 bits (256×1) com saídas tristate
 +
:74206 – Memória RAM de 256 bits com coletor aberto
 +
:74209 Memória RAM de 1024 bits (1024×1) com saídas tristate
 +
:74219 Memória RAM de 64 bits (16×4) com saídas tristate
 +
:74224 – Memória FIFO 16 por 4 síncrona com saídas tristate
 +
:74225 – Memória FIFO 16×5 assíncrona
 +
:74270 – Memória ROM de 2048 bits (512×4) com coletor aberto
 +
:74271 Memória ROM de 2048 bits (256×8) com coletor aberto
 +
:74287 – Memória PROM de 1024 bits (256×4) com saídas tristate
 +
:74288 Memória PROM de 256 bits (32×8) com saídas tristate
 +
:74289 – Memória RAM de 64-bit (16×4) com coletor aberto
 +
:74301 Memória RAM de 256 bits (256×1) com coletor aberto
 +
:74309 – Memória RAM de 1024 bits (1024×1) com coletor aberto
 +
:74314 – Memória RAM de 1024 bits
 +
:74370 – Memória ROM de 2048 bits (512×4) com saídas tristate
 +
:74371 Memória ROM de 2048 bits (256×8) com saídas tristate
 +
:74387 – Memória PROM de 1024 bits (256×4) com coletor aberto
 +
:74470 Memória PROM de 2048 bits (256×8) com coletor aberto
 +
:74471 – Memória PROM de 2048 bits (256×8) com saídas tristate
 +
:74472 – Memória PROM com coletor aberto
 +
:74473 – Memória PROM com saídas tristate
 +
:74474 – Memória PROM com coletor aberto
 +
:74475 – Memória PROM com saídas tristate
  
=Lista de Exercícios=
+
=Organização da próxima aula=
  
 +
Olá Alunos,
  
[http://wiki.sj.ifsc.edu.br/images/e/e4/Exerc%C3%ADcios_-_Registradores.pdf Download Exercícios - Registradores]
+
Na próxima aula de conteúdo, vamos mudar o foco e introduzir ao estudo de VHDL/FPGA que é utilizado para atividades de projeto de hardware digital programável.
  
=Organização das próximas aulas=
+
Não faltem!
 
 
Até agora, apresentamos os conceitos relacionados a contadores e registradores. Na próxima aula vamos ter o Laboratório 2 onde iremos montar um relógio digital, a partir de um oscilador com 555 e dois dígitos. Na outra semana vamos começar a falar sobre codificadores e decodificadores, passando por tipos de códigos utilizados como: binário, BCD, Johnson e Gray.
 
 
 
Estudem!
 
  
 
Prof. Douglas A.
 
Prof. Douglas A.
Linha 402: Linha 519:
 
=Referências=
 
=Referências=
  
[1] http://www.ufjf.br/fabricio_campos/files/2011/03/cap07_parte_2.pdf
+
[1] http://www.centeccursos.com.br/var/upload/apostila-eletronica-digital.pdf
 +
 
 +
[2] http://www.ebah.com.br/content/ABAAABbPUAL/eletronica-digital
  
[2] http://www.univasf.edu.br/~romulo.camara/novo/wp-content/uploads/2013/07/Aula16_Registradores_de_Deslocamento.pdf
+
[3] http://www.ufjf.br/fabricio_campos/files/2011/03/cap12_parte_1.pdf
  
 +
[4] https://www.tecmundo.com.br/memoria/3189-como-funciona-um-pendrive-.htm
  
 +
[5] https://slideplayer.com.br/slide/332754/
  
  

Edição atual tal como às 15h49min de 8 de outubro de 2019

Apresentação

Olá futuros Engenheiros,

Na próxima semana vamos realizar nossa AT2 que vai envolver até o conteúdo da aula de hoje. Vamos terminar com Demux estudar um pouco sobre memórias, o que são estes dispositivos e como funcionam.

Lembre-se que a WiKi não deve ser utilizada como única fonte de estudos.

Bons Estudos!

Prof. Douglas A.

Objetivo

  • O que são memórias.
  • Como as memórias funcionam.

Memórias

A principal vantagem dos sistemas digitais sobre os analógicos é a capacidade de armazenar, facilmente, grandes quantidades de informação e/ou dados por períodos longos ou curtos de tempo. Esta capacidade de memória é o que torna os sistemas digitais tão versáteis e adaptáveis às diversas situações. Por exemplo, 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 realize sua tarefa com um mínimo de intervenção humana. Vamos estudar os tipos mais comuns desses dispositivos e sistema de memória. Já estamos bem familiarizados com o flip-flop, que é um dispositivo eletrônico de memória. Os avanços na tecnologia LSI (Large Scale Integration) e VLSI (Very Large Scale Integration) tornaram possível a obtenção de um grande número de flip-flops em um único chip, organizados em vários arranjos de memória.

Fig108 DIG222802.png

Figura - Disquete de 5 1/4 polegadas de dupla densidade com 360 kb de espaço disponível.


Então as memórias são os dispositivos que armazenam informações, essas por sua vez codificadas, digitalmente, através de um código binário qualquer. Essas informações podem ser números, letras, caracteres quaisquer, comandos de operações, endereços ou ainda qualquer outro tipo de dado. Essas informações armazenam dados para endereçamento, programação e para constituir o conjunto de funções internas para a funcionalidade do próprio sistema. Outro tipo de aplicação consiste em utilizá-las para executarem quaisquer funções de circuitos combinacionais, e ainda, com o auxílio de contadores comuns e conversores, gerarem formas de onda de diversas maneiras de modo mais simples.

Classificação das memórias

As memórias podem ser classificas de acordo com as seguintes características:

  • Acesso;
  • Volatilidade;
  • Escrita/Leitura ou apenas de leitura;
  • Tipo de armazenamento.

Vamos analisar cada item:

Acesso

As memórias armazenam informações em lugares denominadas palavras, ou localidade de memória. Cada uma das palavras possui um conjunto de bits que nos permite o seu acesso, a esse conjunto de bits damos o nome de endereço. Esse conceito é de fácil compreensão, pois como o próprio nome diz, o conjunto de bits representa o endereço da palavra onde está armazenada uma informação. O tempo de acesso de uma memória é o tempo necessário desde a entrada de um endereço até o momento em que a informação aparece na saída. Para as memórias de escrita/leitura é também o tempo necessário para a informação ser gravada. Podemos ter acesso a uma dada localidade de memória de duas maneiras diferentes:

  • Acesso sequencial;
  • Acesso aleatório.


Volatilidade

As memórias podem ser voláteis ou não voláteis. As memórias voláteis são aquelas que ao retirada a alimentação perdem as informações armazenadas. São memórias feitas, geralmente, a partir de semicondutores e na maioria das vezes, possuem como elemento de memória o flip-flop. Um exemplo típico é a memória RAM. 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 eletrônicas: ROM, PROM e EPROM.


Memórias de escrita/leitura ou memórias apenas de leitura

As memórias de escrita/leitura são aquelas que permitem acesso a uma célula qualquer para escrevermos a informação desejada, além disso, permitem o acesso também para a leitura do dado. As memórias RAM também se enquadraram nessa situação. Por sua vez, as memórias apenas de leitura, são aquelas em que a informação é fixa, só podendo efetuar-se a leitura de cada célula. São também conhecidas como ROM (“Read Only Memory”).

Tipos de armazenamento

Quanto ao tipo de armazenamento as memórias classificam-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 célula, este lá permanece. As memórias de armazenamento dinâmico são aquelas em que necessitamos inserir a informação de tempos em tempos, pois de acordo com as características de seus elementos internos essas informações são perdidas após um determinado tempo.


As memórias de armazenamento estático apresentam como vantagem a simplicidade de utilização quando comparadas às dinâmicas. Em contrapartidas as memórias estáticas são mais lentas para acesso que as dinâmicas.


Terminologia

O estudo dos sistemas e dos dispositivos de memória está repleto de termos. É de grande valia compreender o significado de alguns termos mais básicos, que são apresentados a seguir:

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 uma pequena região numa 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 flip-flops pode ser considerado uma memória que esta armazenando uma palavra de 8 bits. Os tamanhos de palavra nos computadores modernos variam tipicamente de 4 a 64 bits, dependendo do porte do computador.


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. Para ilustrar, suponha que temos uma memória capaz de armazenar 4096 palavras de 20 bits. Isto representa uma capacidade total de 81920 bits (4096×20=81920). Poderíamos também expressar essa capacidade de memória como 4096×20 . Quando representada desse modo, o primeiro número (4.096) é o número de palavras, e o segundo número (20) é o número de bits por palavra (tamanho da palavra). O número de palavras em uma memória frequentemente é um múltiplo de 1024. É comum usar a designação "1k" para representar 1024 = quando nos referimos à capacidade de memória. Logo, uma memória com uma capacidade de armazenamento de 4k×20 é na verdade uma memória de 4096×20 . O desenvolvimento de memórias maiores trouxe a designação "1M" ou "1 mega" para representar . Assim, uma memória que possui uma capacidade de 2M ×8 tem na verdade uma capacidade de 2097152×8. A designação "giga" se refere a .


Densidade

Outro termo para capacidade. Quando dizemos que um dispositivo de memória tem uma densidade maior do que outro, queremos dizer que ele pode armazenar mais bits no mesmo espaço, ou seja, ele é mais de denso;


Endereço

É um número que identifica a posição de palavra na memória. Cada palavra armazenada em um dispositivo ou sistema de memória possui um endereço único. Endereços sempre existem num sistema digital como um número binário, embora, por conveniência, números em octal, hexadecimal e decimal sejam frequentemente utilizados para representar esses endereços. A Tabela 1 ilustra uma pequena memória constituída de oito palavras.


Tabela 1 - Organização da memória
Endereço Dado
0 0 0 Palavra 0
0 0 1 Palavra 1
0 1 0 Palavra 2
0 1 1 Palavra 3
1 0 0 Palavra 4
1 0 1 Palavra 5
1 1 0 Palavra 6
1 1 1 Palavra 7


Cada uma destas oito palavras tem um endereço específico representado por um número de três bits que varia de 000 até 111. Sempre que nos referimos a uma posição específica na memória, utilizamos seu código de endereço para identificá-la.

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. Por exemplo, se desejamos utilizar a palavra 4 da memória da figura anterior para algum propósito, devemos realizar uma operação de leitura no endereço 100. A operação de leitura freqüentemente é chamada de operação de busca, pois a palavra está sendo buscada da memória. Utilizaremos os dois termos indistintamente.


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á.


Tempo de Acesso

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.


Memória Volátil

Qualquer tipo de memória que necessita da aplicação de energia, alimentação, para poder armazenar informação. Se a energia elétrica é removida, todas as informações armazenadas na memória são perdidas. Muitas das memórias semicondutoras são voláteis, enquanto todas as memórias magnéticas são não-voláteis, o que significa que elas podem manter a informação sem energia elétrica;


Memória de Acesso Aleatório (RAM – Random Access Memory)

A RAM e a 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. Em outras palavras, o tempo de acesso é o mesmo para qualquer endereço na memória. A maioria das memórias semicondutoras são de acesso aleatório. A Figura abaixo apresenta a arquitetura interna de uma memória RAM 4x4.


Fig77 DIG222802.png

Figura - Arquitetura interna de uma memória RAM 4x4.

Memória de Acesso Sequencial (SAM – Sequence Access Memory)

É um tipo de memória no qual o tempo de acesso não é constante, mas varia dependendo do endereço. Uma determinada palavra armazenada é encontrada percorrendo todos os endereços até que o endereço desejado seja alcançado. Isto produz tempos de acesso que são muito maiores do que os das memórias de acesso aleatório. Um exemplo de dispositivo de memória de acesso sequencial é uma fita magnética.

Para entender a diferença entre SAM e RAM, considere a situação na qual você gravou 60 minutos de música numa fita cassete de áudio. Quando desejar alcançar uma música em particular, você terá que retroceder ou avançar a fita até a encontrar. O processo é relativamente lento, e o tempo necessário depende de onde a música desejada está gravada na fita. Isto é SAM, já que você percorreu através das informações registradas até encontrar o que estava procurando. A contrapartida RAM para isso seria um CD ou MD de áudio, no qual você pode rapidamente selecionar qualquer música informando o código apropriado, e ele gasta aproximadamente o mesmo tempo, não importando a música selecionada. As memórias de acesso seqüencial são utilizadas onde os dados a serem acessados sempre vêm numa longa seqüência de palavras sucessivas. A memória de vídeo do microcomputador, por exemplo, deve fornecer seu conteúdo na mesma ordem repetidamente para manter a imagem na tela.


Memória de Leitura e Escrita (RWM – Read/Write Memory)

Qualquer memória que possa ser lida ou escrita de maneira igualmente fácil.


Memória somente de Leitura (ROM – Read-Only Memory)

Uma vasta classe de memórias semicondutoras, projetadas para aplicações nas quais a razão entre as operações de leitura e escrita é muito alta. Tecnicamente, uma ROM pode ser escrita (programada) apenas uma vez, e esta operação normalmente é realizada pelo fabricante da mesma. Depois disso, as informações podem ser somente lidas da memória. Outros tipos de ROM são na verdade RMM (“read-mostly memories”), nas quais se pode escrever mais de uma vez; porém a operação de escrita é mais complicada do que a de leitura, e não é realizada freqüentemente. Todas as ROMs são não-voláteis e mantém os dados quando a energia é removida.


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 mesma.


Dispositivos de Memória Dinâmica

São 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. Sendo esta operação de reescrita denominada de refresh.


Princípios de operação da memória

Embora cada tipo de memória seja diferente na sua operação interna, certos princípios básicos são comuns a todas elas. A Figura 2 mostra como é realizada as operações com memórias.


Fig66 DIG222802.png

Figura 2 - Operação da memória.

Todos os dispositivos de memória necessitam de diversos tipos diferentes de linhas de entrada e de saída para realizar as seguintes funções:


1. Selecionar o endereço na memória que está sendo acessado para uma operação

de leitura ou escrita;

2. Selecionar uma operação de leitura ou escrita que será realizada;
3. Fornecer os dados de entrada a serem armazenados na memória durante uma

operação de escrita;

4. Manter os dados de saída vindos da memória durante uma operação de leitura;
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.


Entradas de endereço

Utilizando o bloco anterior como exemplo, a memória armazena 32 palavras, logo a mesma possui 32 posições de armazenamento diferentes e, portanto possui 32 endereços binários diferentes, variando de 00000 até 11111 (0 a 31 em decimal). Desta forma, existem cinco entradas de endereço, A0 até A4. Para acessar cada uma das posições de memória para uma operação de leitura ou escrita, o código de endereçamento de cinco bits para essa posição é aplicado nas entradas de endereço. De um modo geral, N entradas de endereço são necessárias para uma memória que possui uma capacidade de palavras.

Podemos visualizar a memória da Figura 2 como um arranjo de 32 registradores, no qual cada registrador guarda uma palavra de quatro bits. Cada posição é mostrada contendo quatro células de memória que guardam 1’s ou 0’s, que formam a palavra de dados armazenada nesta posição. Vejamos o seguinte exemplo, a palavra 0110 está armazenada no endereço 00000, a palavra de dados 1111 está armazenada no endereço 00010, e assim por diante.

A entrada R/W

Esta entrada controla qual operação deve ser realizada na memória: leitura (R – read) ou Escrita (W – write). A entrada é identificada por , e como não existe a barra sobre R, isto indica que a operação de leitura ocorre quando . A barra sobre W indica que a operação de escrita acontece quando . Outros identificadores (nomenclaturas de outros autores) são usados frequentemente para essa entrada. Dois dos mais comuns são (escrita) e (write enable - habilitação de escrita). Novamente, a barra indica que a operação de escrita ocorre quando a entrada está em nível baixo, portanto, fica subentendido que a operação de leitura ocorre para nível alto.


Habilitação da memória

Muitos sistemas de memória tem algum modo de desabilitar completamente uma parte ou toda a memória, de modo que ela não possa responder às outras entradas. Isto é representado na figura anterior pela entrada ME, embora ela possa ter nomes diferentes nos vários tipos de memória, tais como chip enable (CE) ou chip select (CS). Na figura, ela é mostrada como uma entrada ativa em nível alto que habilita a memória, de modo que ela não responderá às entradas de endereço e de quando estiver em nível baixo. Este tipo de entrada é útil quando vários módulos de memória são combinados para formar uma memória maior.


Evolução das memórias

Memórias são todos os dispositivos que permitem que um dispositivo eletrônico, neste caso, possa armazenar dados de forma permanente ou temporariamente. Existem as memórias primárias que são essenciais para o funcionamento do computador (RAM, ROM, Memória Cache) que normalmente servem como uma ponte para as memórias secundárias (Hard Disk, CDs, DVDs) para serem tratadas pelo processador.

No passado foram utilizadas várias tecnologias para implementar os mais diversos usos de memórias, como por exemplo: Memórias de tecnologia delay line, uma das primeiras tecnologias de memória principal, que armazenavam os dados na forma de pulsos sonoros em uma coluna de mercúrio. Memórias CRT, também chamadas de Williams-tube, um tipo de memória que usava um tubo CRT para armazenar dados na forma de pontos luminosos. Memórias de núcleo de ferrite, uma tecnologia popular de implementação da memória principal nas décadas de 1940 e 1950. Memórias de filme fino, uma melhoria da tecnologia de núcleo de ferrite, utilizada em alguns computadores na década de 1960. Cartões e fitas perfuradas, que já foram os principais meios de memória não volátil.

Na história mais recentemente foram criadas tecnologias de implementações de memórias bem sucedidas e muito bem utilizadas como: Portas lógicas e flip-flops, usados na implementação da memória cache. Transistores e circuitos de refrescamento, usados na implementação da memória principal. Arranjos de conexões, utilizados na implementação de certas ROMs (memórias de leitura). Fitas magnéticas, utilizadas principalmente para cópias de segurança e arquivamento a longo prazo. Discos magnéticos, como discos rígidos e disquetes - a principal tecnologia de implementação de memória secundária. Discos ópticos, como CDs e DVDs, e suas diversas variações. Memória flash, um tipo de memória semi condutora não volátil muito usada em câmeras digitais e leitores de MP3.


Pendrive

A história do pendrive é bem curta e teve início no ano 2000. Já a da memória flash, que é a utilizada nestes dispositivos, começou em 1980 com a Toshiba. Os primeiros modelos de pendrive foram fabricados pela Trek Technology em conjunto com a IBM, e eram chamados de DiskOnKey. A capacidade de armazenamento dos primeiros pendrives começou em 8 MB, o que era muito para época, tendo em vista que os disquetes armazenavam no máximo 2,88 MB. O tempo foi passando e, dos míseros 8 MB, chegamos a pendrives com 64 GB ou mais em menos de dez anos de história.


Fig112 DIG222802.png

Figura - Pendrive também conhecidos por USB Flash Drives.


Ninguém duvida que os pendrives sejam fenômenos de venda em todos os lugares do mundo. Mas, o que faz deles tão populares? A resposta pode estar em uma palavra: energia. Parece estranho, mas um dos fatores que contribuiu para o boom deste tipo de dispositivo é a não necessidade de energia para manter os dados armazenados, e continuar sendo muito seguro e estável – ao contrário dos disquetes.


O princípio é parecido com o de alguns celulares mais antigos, por exemplo. Eles armazenam configurações como hora e data, mas quando retiramos a bateria – deixamos de fornecer energia – estes dados são perdidos. Isso não acontece nos pendrives, pois se nenhum acidente ocorrer, os dados sempre estarão lá.


Os pendrives também são conhecidos por USB Flash Drives, pois utilizam uma memória flash como modo de armazenamento. Uma das vantagens desse tipo de memória para as demais é o fato de ela ser eletrônica e não magnética – como eram os disquetes -, dessa maneira os dados gravados dificilmente se perdem caso haja interferências de campos magnéticos. Simplificando, os pendrives possuem um chip gravável e regravável e o processo de armazenamento se dá por meio de elétrons que ao receberem carga positiva se tornam um número 1 e, ao perder em carga, se transformam em 0. É o código binário em ação.

Além de ter todos os atributos conhecidos, os pendrives também fazem sucesso por terem adotado a famosa entrada USB com porta de comunicação. Esse tipo de conexão foi desenvolvido com o intuito de tornar a comunicação do computador com outros dispositivos mais rápida e fácil e contribuiu para a massificação da porta USB tentando padronizar as entradas dos computadores. Desta forma, com o tempo elas acabaram se tornando mais populares que os próprios leitores de CDs, justamente porque permitirem a conexão de vários dispositivos com a máquina, não somente para a leitura de dados.

SSD

O termo SSD se aplica a dispositivos de estado sólido, que é um tipo de memória sem parte móveis para o armazenamento de dados digitais. Podemos encontrar esses dispositivos com capacidade desde alguns GB (109) até TB (1012).


Fig109 DIG222802.png

Figura - SSD dispositivo de estado sólido.

Exercícios

  1. Um certo chip de memória semicondutora é especificado como 4k X 8. Quantas palavras podem ser armazenadas neste chip? Qual é o tamanho da palavra? Quantos bits este chip pode armazenar no total?
  2. Qual das memórias armazena mais bits: uma memória de 5M X 8 ou uma memória que armazena 2M palavras com um tamanho de palavra de 16 bits?
  3. Descreva as condições de cada entrada e saída quando o conteúdo da posição cujo endereço é 00100 deve ser lido.
  4. Descreva as condições de cada entrada e saída quando a palavra 1110 deve ser escrita na posição de endereço 01101
  5. Uma determinada memória tem uma capacidade de 4k X 8.
a) Quantas linhas de entrada de dados e saída de dados ela tem?
b) Quantas linhas de endereço ela tem?
c) Qual é a sua capacidade em bytes?


Respostas:

1. 4k=4096. 8 bits (1 byte). 4096x8=32768.

2. 5M X 8.

.
.

3. (MSB) A4=0, A3=0, A2=1, A1=0, A0=0 (LSB); W\=1, R=1.

4. (MSB) A4=0, A3=1, A2=1, A1=0, A0=1 (LSB); (MSB) D3=1, D2=1, D1=1 e D0=0 (LSB); W\=0, R=0.

5. a) 8. b) 12. c) 4096 bytes (32768 bits).

Circuitos Integrados de memória (TTL)

7481 – Memória RAM de 16 bits Random Access Memory
7484 – Memória RAM de 16 bits
7488 – Memória ROM de 256 bits
7489 – Memória de leitura/escrita de 64 bits
74186 – Memória ROM de 512 bits (64×8) com coletor aberto
74187 – Memória ROM de 1024 bits (256×4) com coletor aberto
74188 – Memória PROM de 256 bits (32×8) com coletor aberto
74189 – Memória RAM de 64 bits (16×4) com saídas tristate inversoras
74200 – Memória RAM de 256 bits com saídas tristate
74201 – Memória RAM de 256 bits (256×1) com saídas tristate
74206 – Memória RAM de 256 bits com coletor aberto
74209 – Memória RAM de 1024 bits (1024×1) com saídas tristate
74219 – Memória RAM de 64 bits (16×4) com saídas tristate
74224 – Memória FIFO 16 por 4 síncrona com saídas tristate
74225 – Memória FIFO 16×5 assíncrona
74270 – Memória ROM de 2048 bits (512×4) com coletor aberto
74271 – Memória ROM de 2048 bits (256×8) com coletor aberto
74287 – Memória PROM de 1024 bits (256×4) com saídas tristate
74288 – Memória PROM de 256 bits (32×8) com saídas tristate
74289 – Memória RAM de 64-bit (16×4) com coletor aberto
74301 – Memória RAM de 256 bits (256×1) com coletor aberto
74309 – Memória RAM de 1024 bits (1024×1) com coletor aberto
74314 – Memória RAM de 1024 bits
74370 – Memória ROM de 2048 bits (512×4) com saídas tristate
74371 – Memória ROM de 2048 bits (256×8) com saídas tristate
74387 – Memória PROM de 1024 bits (256×4) com coletor aberto
74470 – Memória PROM de 2048 bits (256×8) com coletor aberto
74471 – Memória PROM de 2048 bits (256×8) com saídas tristate
74472 – Memória PROM com coletor aberto
74473 – Memória PROM com saídas tristate
74474 – Memória PROM com coletor aberto
74475 – Memória PROM com saídas tristate

Organização da próxima aula

Olá Alunos,

Na próxima aula de conteúdo, vamos mudar o foco e introduzir ao estudo de VHDL/FPGA que é utilizado para atividades de projeto de hardware digital programável.

Não faltem!

Prof. Douglas A.

Referências

[1] http://www.centeccursos.com.br/var/upload/apostila-eletronica-digital.pdf

[2] http://www.ebah.com.br/content/ABAAABbPUAL/eletronica-digital

[3] http://www.ufjf.br/fabricio_campos/files/2011/03/cap12_parte_1.pdf

[4] https://www.tecmundo.com.br/memoria/3189-como-funciona-um-pendrive-.htm

[5] https://slideplayer.com.br/slide/332754/



Icone voltar.png Icone menu.png Icone prox.png