Dispositivos Programáveis
(memórias)
Objetivos do trabalho:
 Descrever as características mais importantes de uma memória
 Identificar os vários tipos de memórias
 Estrutura da ROM, EPROM e EEPROM
 Estruturas das RAM estáticas e dinâmicas
 Identificar as características das memórias LIFO e FIFO
 Descrever a organização interna e configuração externa das memórias
 Implementar associações de memórias para aumentar a capacidade de um
sistema
 Identificar características de memórias fornecidas por um construtor
 Estrutura das PAL e dos PLA
Características mais importantes de uma
memória
 Volatilidade
 Tempo de Acesso
 Capacidade
Volatilidade
 As informações armazenadas na memória volátil, corre o risco de se alterada em
caso de qualquer falha no fornecimento de energia.
 Há aqueles em que a informação volátil, independentemente da existência de
qualquer falha no fornecimento de eletricidade, permanece inalterada .
 Dito de outra forma, qualquer uma destas duas memórias ( RAM e ROM ) é volátil
pela sua incapacidade de permanecer inalterado em face a qualquer avaria
elétrica do mesmo grau.
Tempo de Acesso
 É o tempo desde o momento que é libertada a operação de leitura na memória e
no momento em que a primeira informação é solicitada. Na memória principal,
esse tempo é, em princípio, independente da direção em que a informação
relevante para o qual deseja acessar.
 Pode ficar um pouco mais ao ponto de dizer que o tempo de acesso é o tempo
necessário para realizar qualquer operação, seja ler ou escrever. É que o tempo
em que solicita a memória para executar qualquer operação específica.
Capacidade
 A capacidade de uma memória ( RAM e ROM ) é o número de posições num
sistema, ou dito de outra forma, o número de relatórios que podem conter uma
memória.
 A capacidade total de memória é um fator essencial para medir a potência de um
computador . A capacidade da memória é medida em múltiplos de byte (8 bits):
kilobytes (1.024 bytes) e Megabytes (1024 kilobytes).
Tipos de Memórias
 RAM (Random-Access Memory)
- SRAM (Static Random-Access Memory)
- DRAM (Dynamic Random-Access Memory)
- MRAM (Magnetoresistive Random-Access Memory)
 ROM (Read-Only Memory)
 SIPP (Single In-Line Pins Package)
 SIMM (Single In-Line Memory Module)
 DIMM (Dual In-Line Memory Module)
 RIMM (Rambus In-Line Memory Module)
Estrutura da ROM
 É um tipo de memória que permite apenas a leitura, ou seja, as suas informações
são gravadas pelo fabricante uma única vez e após isso não podem ser alteradas
ou apagadas, somente visualizadas. São memórias cujo conteúdo é gravado
permanentemente.
Estrutura da EPROM
 Significa "memória programável apagável somente de leitura" é um tipo de chip de
memória de computador que mantém os seus dados quando a energia é
desligada. Por outras palavras, é não-volátil.
 É programada por um dispositivo eletrônico que dá vantagens maiores do que os
usados normalmente em circuitos elétricos. Uma vez programado, uma EPROM
pode ser apagada apenas por exposição a uma forte luz ultravioleta.
 As EPROMs são facilmente reconhecíveis pela janela transparente no topo, pela
qual o chip de silício pode ser visto.
.
Estrutura da EPROM
 Essa janela transparente é feita de cristal para permitir a passagem da luz
ultravioleta, pois o vidro comum bloqueia grande parte do UV.
 O corpo de uma EPROM é feito em Cerâmica, pois o Poliepóxido comum usado
em outros chips não seria apropriado para garantir a fixação da janela de cristal
Estrutura da EEPROM
 É um tipo de memória não-volátil usada em computadores e outros dispositivos
eletrônicos para armazenar pequenas quantidades de dados que precisam ser
salvos quando a energia é removida, por exemplo, dados de configuração do
dispositivo.
 Apesar de no nome se declarar Read-Only, esse foi classificado incorretamente,
pois é tanto Read(Ler), quanto Write(Escrever), pelo fato de que códigos de erro
no OBD-II poderem ser removidos independentemente, dentre outras
características.
 Ao contrário da maioria dos outros tipos de memória não-volátil, bytes individuais
numa EEPROM tradicional pode ser lidos, apagados e rescrita de forma
independente.
Estrutura da EEPROM
 Enquanto uma EPROM é programada por um dispositivo eletrônico que dá
tensões maiores que as usadas normalmente em circuitos elétricos e pode ser
apagada apenas por exposição a uma forte luz ultravioleta, a EEPROM pode ser
programada e apagada dentro do próprio circuito, eletricamente, pela aplicação de
sinais de programação especiais.
 Originalmente, as EEPROMs foram limitadas a operações de byte único que as
fizeram ser mais lentas, mas as EEPROMs modernas permitem operações com
múltiplos bytes.
Memória LIFO
 Em ciência da computação, LIFO (acrônimo para a expressão inglesa Last In,
First Out que, em português significa último a entrar, primeiro a sair) refere-se
a estruturas de dados do tipo pilha.
 O conceito de pilha é amplamente utilizado na informática, como, por exemplo,
durante a execução de um programa, para o armazenamento de valores de
uma variável local a um registo físico e também para conter o endereço de
retorno do trecho de um programa que chamou a função atualmente em
execução.
 Usa-se os termos ”push” e ”pop” para denominar a inserção e remoção de
elementos da pilha.
Memória LIFO
 Uma pilha é uma lista linear na qual o primeiro elemento a entrar é o último
elemento a sair.
 Ela possui apenas uma entrada, chamada de topo, a partir da qual os dados
entram e saem dela.
Memória FIFO
 Em Ciência da Computação, FIFO (acrônimo para First In, First Out, que
em português significa primeiro a entrar, primeiro a sair) refere-se a estruturas de
dados do tipo fila.
 As listas são amplamente utilizadas em programação para implementar filas de
espera.
 Numa fila de tipo FIFO os elementos vão sendo colocados na fila e retirados (ou
processados) por ordem de chegada.
Memória FIFO
 A ideia fundamental da fila é que só podemos inserir um novo elemento no final da
fila e só podemos retirar o elemento do início.
Organização Interna e Configuração externa
das Memórias
 A memória de dados e a memória de programa tem espaços de endereçamento
diferentes cada um com 64 Kbytes.
Memória de Programa
 A memória de programa é uma memória do tipo ROM, por isso sobre ela só se
efetuam operações de leitura.
 Esta memória pode ser interna e/ou externa e ocupa no máximo 64 Kbytes. O
acesso à memória de programa externa faz-se recorrendo ao sinal nPSEN
(Program Strobe Enable) que deverá ser ligado ao pino de output enable da
memória.
 O sinal aplicado ao pino nEA do microcontrolador determina qual o tipo de acesso
a ser feito para os 4 Kbytes inferiores da memória de programa.
 Se nEA = 0, para endereços a partir de 0000H o acesso é feito à memória de
programa externa, se nEA = 1, o acesso é feito á memória de programa interna
para endereços de 0000H até 0FFFH, sendo feito o acesso à memória de
programa externa para endereços mais elevados.
Memória de dados
 A memória de dados é do tipo RAM podendo ser lida ou escrita pelo
microcontrolador.
 Esta memória pode ser interna e/ou externa.
 O espaço de endereçamento associado à memória de dados é de 64 Kbytes.
Memória de programa externa
 O acesso à memória de programa externa faz-se recorrendo aos sinais nRD
(Read) e nWR (Write) fornecidos pelo microcontrolador para controlo da operação
da memória.
 A associação de endereços pode fazer-se recorrendo a um mínimo de 1 e a um
máximo de 2bytes.
 Para ter acesso à memória de programa externa utiliza-se a entrada P0 como
barramento multiplexado de endereços/dados (byte menos significativo). A entrada
P2, caso seja necessária a sua utilização, funciona como barramento de
endereços (byte mais significativo).
Memória de programa interna
 A memória de dados interna encontra-se dividida em 3 blocos distintos.
 O acesso à memória de dados interna faz-se utilizando endereços de 8 bits.
Memória de programa interna
 A área de memória superior contém os registos com funções especiais, SFRs
(Special Function Registers).
 O acesso a esta área de memória faz-se utilizando endereçamento direto.
 A área de memória superior representada na imagem a tracejado não está
implementada no microcontrolador 80C51 existindo apenas nos dispositivos com
256 bytes de RAM interna.
 O acesso a esta área de memória é feito utilizando endereçamento indireto sendo
uma zona de uso genérico.
 A parte inferior da memória de dados interna encontra-se dividida em três zonas
distintas.
Memória de programa interna
 Os 32 bytes inferiores destinam-se aos quatro bancos de oito registos designados
R0 a R7.
 A seleção do banco de registos é feita recorrendo aos bits RS1 (Register Select) e
RS0 do registo PSW (Program Status Word). Segue-se uma área de 16 bytes
(128 bits) endereçáveis bit a bit sendo a restante área de uso genérico.
PAL – “Programmable Array Logic”
 Dispositivo programável com o “array” de OR fixo.
 Qual a diferença em relação a um PLA?
R: A PAL possui plano AND programável, mas o plano OR é fixo
R: A PLA possui ambos os planos programáveis
 Significa dizer que a PAL é:
+ simples de fabricar
+ barata
+ desempenho
PLA “Programmable Logic Array”
 O primeiro dispositivo programável.
 Composto por uma matriz programável de “ANDs” e outra de “Ors”.
 Normalmente são dispositivos de capacidade muito reduzida, com apenas
algumas dezenas de portas.
 Utiliza lógica de fusíveis para a sua programação.
 Uma vez programados não podem ser reprogramados.
Associações de memória para aumentar a
capacidade de um sistema
 A associação de memória consiste em organizar as memórias de forma a
aumentar a capacidade de armazenamento.
 Pode ser feita uma associação em série, paralela ou série/paralela.
 A associação de memórias em série é usada quando pretendemos aumentar o
número de linhas de uma memória.
Associações de memória para aumentar a
capacidade de um sistema
 EXEMPLO: Como podemos criar uma memória de 32Kbytes (uma memória com
32768 linhas por 8 colunas) sendo que dispomos apenas de memórias de
16KBytes (memórias com 16384 linhas por 8 colunas)?
Memória 1: Capacidade de armazenamento (16384 linhas x 8 colunas = 16KB)
Posição 0
Posição 00001
Posição 16383
D7 D6 D5 D4 D3 D2 D1 D0 Memória 2
Associações de memória para aumentar a
capacidade de um sistema
 Memória 2: Capacidade de armazenamento (16384 linhas x 8 colunas = 16KB)
Posição 0
Posição 00001
Posição 16383
Posição 0 (16385)
Posição 00001 (16385)
Posição 16383 (32767)
Memória 1 Memória 2
Associação em série das memórias 1 e 2: O número de linhas agora é de 32768
(32KB)
Características de memorias fornecidas por um
construtor
 Marca
 Cor
 Iluminação Led
 Velocidade da memoria
 Tipo de memoria
 Capacidade
 Cas Latency
 Compatibilidade
 Voltagem
Reconhecer as PLAs nas suas diversas
configurações
OR GATE
AND GATE
Características
Reconhecer as PLAs nas suas diversas
configurações
 Aplicações:
Este tipo de circuito é utilizado em memórias Prom
Prom: Memórias Rom programáveis
Eprom: Memórias Rom apagáveis
EEprom: Apagável eletricamente
Reconhecer as PLAs nas suas diversas
configurações
Na memoria PROM o arranjo
AND é pré-definido em fabrica
e somente o arranjo é
programável
Reconhecer as PLAs nas suas diversas
configurações
 Desvantagens:
- São mais lentas do que outros circuitos dedicados;
- Não dão cobertura segura para transmissões assíncronas;
- Consumo de mais energia e espaço;
Reconhecer as PLAs nas suas diversas
configurações
 Vantagens:
- A vantagem em usar ROMs desta forma é que qualquer função concebível com
n entradas pode aparecer em qualquer uma das x saídas, tornando o dispositivo
logico disponível para aplicações mais abrangentes. Também as PROMs, EPROMs
podem ser programadas utilizando um programador PROM comum sem requisitos
especializados de hardware e software.

Dispositivos progamaveis - memórias

  • 1.
  • 2.
    Objetivos do trabalho: Descrever as características mais importantes de uma memória  Identificar os vários tipos de memórias  Estrutura da ROM, EPROM e EEPROM  Estruturas das RAM estáticas e dinâmicas  Identificar as características das memórias LIFO e FIFO  Descrever a organização interna e configuração externa das memórias  Implementar associações de memórias para aumentar a capacidade de um sistema  Identificar características de memórias fornecidas por um construtor  Estrutura das PAL e dos PLA
  • 3.
    Características mais importantesde uma memória  Volatilidade  Tempo de Acesso  Capacidade
  • 4.
    Volatilidade  As informaçõesarmazenadas na memória volátil, corre o risco de se alterada em caso de qualquer falha no fornecimento de energia.  Há aqueles em que a informação volátil, independentemente da existência de qualquer falha no fornecimento de eletricidade, permanece inalterada .  Dito de outra forma, qualquer uma destas duas memórias ( RAM e ROM ) é volátil pela sua incapacidade de permanecer inalterado em face a qualquer avaria elétrica do mesmo grau.
  • 5.
    Tempo de Acesso É o tempo desde o momento que é libertada a operação de leitura na memória e no momento em que a primeira informação é solicitada. Na memória principal, esse tempo é, em princípio, independente da direção em que a informação relevante para o qual deseja acessar.  Pode ficar um pouco mais ao ponto de dizer que o tempo de acesso é o tempo necessário para realizar qualquer operação, seja ler ou escrever. É que o tempo em que solicita a memória para executar qualquer operação específica.
  • 6.
    Capacidade  A capacidadede uma memória ( RAM e ROM ) é o número de posições num sistema, ou dito de outra forma, o número de relatórios que podem conter uma memória.  A capacidade total de memória é um fator essencial para medir a potência de um computador . A capacidade da memória é medida em múltiplos de byte (8 bits): kilobytes (1.024 bytes) e Megabytes (1024 kilobytes).
  • 7.
    Tipos de Memórias RAM (Random-Access Memory) - SRAM (Static Random-Access Memory) - DRAM (Dynamic Random-Access Memory) - MRAM (Magnetoresistive Random-Access Memory)  ROM (Read-Only Memory)  SIPP (Single In-Line Pins Package)  SIMM (Single In-Line Memory Module)  DIMM (Dual In-Line Memory Module)  RIMM (Rambus In-Line Memory Module)
  • 8.
    Estrutura da ROM É um tipo de memória que permite apenas a leitura, ou seja, as suas informações são gravadas pelo fabricante uma única vez e após isso não podem ser alteradas ou apagadas, somente visualizadas. São memórias cujo conteúdo é gravado permanentemente.
  • 9.
    Estrutura da EPROM Significa "memória programável apagável somente de leitura" é um tipo de chip de memória de computador que mantém os seus dados quando a energia é desligada. Por outras palavras, é não-volátil.  É programada por um dispositivo eletrônico que dá vantagens maiores do que os usados normalmente em circuitos elétricos. Uma vez programado, uma EPROM pode ser apagada apenas por exposição a uma forte luz ultravioleta.  As EPROMs são facilmente reconhecíveis pela janela transparente no topo, pela qual o chip de silício pode ser visto. .
  • 10.
    Estrutura da EPROM Essa janela transparente é feita de cristal para permitir a passagem da luz ultravioleta, pois o vidro comum bloqueia grande parte do UV.  O corpo de uma EPROM é feito em Cerâmica, pois o Poliepóxido comum usado em outros chips não seria apropriado para garantir a fixação da janela de cristal
  • 11.
    Estrutura da EEPROM É um tipo de memória não-volátil usada em computadores e outros dispositivos eletrônicos para armazenar pequenas quantidades de dados que precisam ser salvos quando a energia é removida, por exemplo, dados de configuração do dispositivo.  Apesar de no nome se declarar Read-Only, esse foi classificado incorretamente, pois é tanto Read(Ler), quanto Write(Escrever), pelo fato de que códigos de erro no OBD-II poderem ser removidos independentemente, dentre outras características.  Ao contrário da maioria dos outros tipos de memória não-volátil, bytes individuais numa EEPROM tradicional pode ser lidos, apagados e rescrita de forma independente.
  • 12.
    Estrutura da EEPROM Enquanto uma EPROM é programada por um dispositivo eletrônico que dá tensões maiores que as usadas normalmente em circuitos elétricos e pode ser apagada apenas por exposição a uma forte luz ultravioleta, a EEPROM pode ser programada e apagada dentro do próprio circuito, eletricamente, pela aplicação de sinais de programação especiais.  Originalmente, as EEPROMs foram limitadas a operações de byte único que as fizeram ser mais lentas, mas as EEPROMs modernas permitem operações com múltiplos bytes.
  • 13.
    Memória LIFO  Emciência da computação, LIFO (acrônimo para a expressão inglesa Last In, First Out que, em português significa último a entrar, primeiro a sair) refere-se a estruturas de dados do tipo pilha.  O conceito de pilha é amplamente utilizado na informática, como, por exemplo, durante a execução de um programa, para o armazenamento de valores de uma variável local a um registo físico e também para conter o endereço de retorno do trecho de um programa que chamou a função atualmente em execução.  Usa-se os termos ”push” e ”pop” para denominar a inserção e remoção de elementos da pilha.
  • 14.
    Memória LIFO  Umapilha é uma lista linear na qual o primeiro elemento a entrar é o último elemento a sair.  Ela possui apenas uma entrada, chamada de topo, a partir da qual os dados entram e saem dela.
  • 15.
    Memória FIFO  EmCiência da Computação, FIFO (acrônimo para First In, First Out, que em português significa primeiro a entrar, primeiro a sair) refere-se a estruturas de dados do tipo fila.  As listas são amplamente utilizadas em programação para implementar filas de espera.  Numa fila de tipo FIFO os elementos vão sendo colocados na fila e retirados (ou processados) por ordem de chegada.
  • 16.
    Memória FIFO  Aideia fundamental da fila é que só podemos inserir um novo elemento no final da fila e só podemos retirar o elemento do início.
  • 17.
    Organização Interna eConfiguração externa das Memórias  A memória de dados e a memória de programa tem espaços de endereçamento diferentes cada um com 64 Kbytes.
  • 18.
    Memória de Programa A memória de programa é uma memória do tipo ROM, por isso sobre ela só se efetuam operações de leitura.  Esta memória pode ser interna e/ou externa e ocupa no máximo 64 Kbytes. O acesso à memória de programa externa faz-se recorrendo ao sinal nPSEN (Program Strobe Enable) que deverá ser ligado ao pino de output enable da memória.  O sinal aplicado ao pino nEA do microcontrolador determina qual o tipo de acesso a ser feito para os 4 Kbytes inferiores da memória de programa.  Se nEA = 0, para endereços a partir de 0000H o acesso é feito à memória de programa externa, se nEA = 1, o acesso é feito á memória de programa interna para endereços de 0000H até 0FFFH, sendo feito o acesso à memória de programa externa para endereços mais elevados.
  • 19.
    Memória de dados A memória de dados é do tipo RAM podendo ser lida ou escrita pelo microcontrolador.  Esta memória pode ser interna e/ou externa.  O espaço de endereçamento associado à memória de dados é de 64 Kbytes.
  • 20.
    Memória de programaexterna  O acesso à memória de programa externa faz-se recorrendo aos sinais nRD (Read) e nWR (Write) fornecidos pelo microcontrolador para controlo da operação da memória.  A associação de endereços pode fazer-se recorrendo a um mínimo de 1 e a um máximo de 2bytes.  Para ter acesso à memória de programa externa utiliza-se a entrada P0 como barramento multiplexado de endereços/dados (byte menos significativo). A entrada P2, caso seja necessária a sua utilização, funciona como barramento de endereços (byte mais significativo).
  • 21.
    Memória de programainterna  A memória de dados interna encontra-se dividida em 3 blocos distintos.  O acesso à memória de dados interna faz-se utilizando endereços de 8 bits.
  • 22.
    Memória de programainterna  A área de memória superior contém os registos com funções especiais, SFRs (Special Function Registers).  O acesso a esta área de memória faz-se utilizando endereçamento direto.  A área de memória superior representada na imagem a tracejado não está implementada no microcontrolador 80C51 existindo apenas nos dispositivos com 256 bytes de RAM interna.  O acesso a esta área de memória é feito utilizando endereçamento indireto sendo uma zona de uso genérico.  A parte inferior da memória de dados interna encontra-se dividida em três zonas distintas.
  • 23.
    Memória de programainterna  Os 32 bytes inferiores destinam-se aos quatro bancos de oito registos designados R0 a R7.  A seleção do banco de registos é feita recorrendo aos bits RS1 (Register Select) e RS0 do registo PSW (Program Status Word). Segue-se uma área de 16 bytes (128 bits) endereçáveis bit a bit sendo a restante área de uso genérico.
  • 24.
    PAL – “ProgrammableArray Logic”  Dispositivo programável com o “array” de OR fixo.  Qual a diferença em relação a um PLA? R: A PAL possui plano AND programável, mas o plano OR é fixo R: A PLA possui ambos os planos programáveis  Significa dizer que a PAL é: + simples de fabricar + barata + desempenho
  • 25.
    PLA “Programmable LogicArray”  O primeiro dispositivo programável.  Composto por uma matriz programável de “ANDs” e outra de “Ors”.  Normalmente são dispositivos de capacidade muito reduzida, com apenas algumas dezenas de portas.  Utiliza lógica de fusíveis para a sua programação.  Uma vez programados não podem ser reprogramados.
  • 26.
    Associações de memóriapara aumentar a capacidade de um sistema  A associação de memória consiste em organizar as memórias de forma a aumentar a capacidade de armazenamento.  Pode ser feita uma associação em série, paralela ou série/paralela.  A associação de memórias em série é usada quando pretendemos aumentar o número de linhas de uma memória.
  • 27.
    Associações de memóriapara aumentar a capacidade de um sistema  EXEMPLO: Como podemos criar uma memória de 32Kbytes (uma memória com 32768 linhas por 8 colunas) sendo que dispomos apenas de memórias de 16KBytes (memórias com 16384 linhas por 8 colunas)? Memória 1: Capacidade de armazenamento (16384 linhas x 8 colunas = 16KB) Posição 0 Posição 00001 Posição 16383 D7 D6 D5 D4 D3 D2 D1 D0 Memória 2
  • 28.
    Associações de memóriapara aumentar a capacidade de um sistema  Memória 2: Capacidade de armazenamento (16384 linhas x 8 colunas = 16KB) Posição 0 Posição 00001 Posição 16383 Posição 0 (16385) Posição 00001 (16385) Posição 16383 (32767) Memória 1 Memória 2 Associação em série das memórias 1 e 2: O número de linhas agora é de 32768 (32KB)
  • 29.
    Características de memoriasfornecidas por um construtor  Marca  Cor  Iluminação Led  Velocidade da memoria  Tipo de memoria  Capacidade  Cas Latency  Compatibilidade  Voltagem
  • 30.
    Reconhecer as PLAsnas suas diversas configurações OR GATE AND GATE Características
  • 31.
    Reconhecer as PLAsnas suas diversas configurações  Aplicações: Este tipo de circuito é utilizado em memórias Prom Prom: Memórias Rom programáveis Eprom: Memórias Rom apagáveis EEprom: Apagável eletricamente
  • 32.
    Reconhecer as PLAsnas suas diversas configurações Na memoria PROM o arranjo AND é pré-definido em fabrica e somente o arranjo é programável
  • 33.
    Reconhecer as PLAsnas suas diversas configurações  Desvantagens: - São mais lentas do que outros circuitos dedicados; - Não dão cobertura segura para transmissões assíncronas; - Consumo de mais energia e espaço;
  • 34.
    Reconhecer as PLAsnas suas diversas configurações  Vantagens: - A vantagem em usar ROMs desta forma é que qualquer função concebível com n entradas pode aparecer em qualquer uma das x saídas, tornando o dispositivo logico disponível para aplicações mais abrangentes. Também as PROMs, EPROMs podem ser programadas utilizando um programador PROM comum sem requisitos especializados de hardware e software.