DIG222802 2018 2 AULA10

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

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.


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 1 apresenta a arquitetura interna de uma memória RAM 4x4.


Fig77 DIG222802.png

Figura 1 - 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.

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




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