Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Microprocessados
2015
Objetivos gerais:
• Entender e descrever o funcionamento dos sistemas microprocessados;
• Entender e descrever os aspectos de hardware e software;
• Analisar e projetar sistemas com microcontroladores;
• Analisar e projetar sistemas de entrada e saída;
• Programar sistemas microcontrolados.
• 2º bimestre
– Duas avaliações individuais
– Trabalho
• 3º bimestre
– Duas avaliações individuais
– Trabalho
• 4º bimestre
4
– Duas avaliações individuais
– Trabalho
Trabalho teórico/prático
p com a utilização
ç do microcontrolador MSP430
Pontuação 30 pontos: 2ºbi-6, 3ºbi-6 e 4ºbi-18. Em grupo de até três alunos.
Instrumentos de medição:
Termômetro (temperatura ambiente)
Tacômetro
Balança
contador de peças
Indicador de coordenada – 1 eixo
Processamento de Dados
D d
Dados P t
Processamento I f õ
Informações
Computador
• Equipamento de processamento eletrônico de dados
Neurônios Voz e
Sentidos Nervos Nervos
Cérebro movimentos
Entrada Saídas
Processa
Nervos
Memória
Memória
M ói
Memória
CPU
Clock
Dispositivos IO
Barramento de Endereços
Barramento de Dados
Barramento de Controle
Á
Ábaco
Máquina de calcular
Pascaline
Gottfried W. Leibniz
Blaise Pascal
Máquina de calcular
Wilhelm Schickard
Transistor
UNIX Linguagem C
Microprocessador
System/360 Ken Thompson Ken Thompson
Intel 4004
IBM Disco IBM RAMAC Denis Richie Denis Richie
Intel
IBM Bell Labs Bell Labs
Fundação da
Minicomputador Intel Corporation Kenbak-1
PDP-8 HP-2115 ARPANET Primeiro Fundação da
Gordon E. Moore
DEC Hewlett-Packard USA ARMY computador pessoal Atari
Robert Noyce
Nolan Bushnell
System/360
IBM
Microcomputador
pessoal Apple I Microcomputador
Steve Jobs pessoal Apple II
Steve Wozniak Steve Jobs
Microcomputador Apple Steve Wozniak
pessoal Apple
Ethernet Altair 8800
Robert Metcalfe Kit de montar Microprocessador
Microprocessador Intel 8088 Hard Disk
Xerox MITS
Zilog Z80 Seagate
Apple II
Apple Macintosh
IBM PC
iPod
Apple
MAC OS X iPhone
Microprocessador Android
Apple Apple
Pentium III Google
Intel Tablet iPad
Windows XP Core 2 Duo Wii Core i7 Windows 7 Apple
Microsoft Intel Nintendo
Bug do Milênio Intel Microsoft
iPad
iPod iPhone Apple
Apple Apple
Memória
CPU (Unidade central de processamento): Processa as
informações, executando as instruções armazenadas na
memória e realizando as operações lógicas e aritméticas.
Barramento de Controle
Microprocessador Memória
Barramento
Barramentodede
Endereços
Endereços
Barramento de Dados
Barramento de Controle
Barramento de Endereços
Barramento de Dados
Memória I/O
Endereço Conteúdo Endereço Conteúdo
0000 20 0000 20
0001 37 0001 37
1000 CC CPU
1001 15
1002 AC 03F8 AC
XXXX F2 YYYY F2
Barramento de Controle
Coloca o endereço desejado no barramento de endereço, coloca o dado desejado no barramento de dados e em
seguida habilitar para escrita o bloco de memória ou IO,
IO indicando onde deverá ser realizada a operação.
operação
Barramento de Endereços
Barramento de Dados
Memória I/O
Endereço Conteúdo Endereço Conteúdo
0000 20 0000 20
0001 37 0001 37
1000 CC CPU
1001 15
1002 AC 03F8 AC
XXXX F2 YYYY F2
Barramento de Controle
Coloca o endereço desejado no barramento de endereço, e em seguida habilita a leitura do bloco de memória ou
IO indicando onde deverá ser realizada a operação.
IO, operação o dado desejado será disponibilizado no barramento de
dados
Dispositivos Físicos
• Componentes
C t elétricos/eletrônicos
lét i / l tô i bá i
básicos que permitem
it a
construção dos circuitos
- Circuitos integrados
- Transistores
- Fios
- Capacitores
- Resistores
- etc.
Dispositivos Físicos
Micro Arquitetura
• Dispositivos
Di iti fí i
físicos agrupados
d para formar
f unidades
id d
funcionais como, etc.
- Memórias
- Registradores
- etc.
Micro Arquitetura
Dispositivos Físicos
Linguagem de Máquina
• Conjunto
C j t de d instruções
i t õ interpretadas
i t t d pelos
l dispositivos
di iti que
compõem a micro arquitetura.
Micro Arquitetura
Dispositivos Físicos
• Responsável
R á l por gerenciar
i os dispositivos
di iti d hardware
de h d d
do
computador (como memória, unidade de disco rígido,
unidade de CD) e realizar a interação entre o usuário e
esses dispositivos.
dispositivos
Linguagem de Máquina • Exemplos: UNIX, LINUX, Windows, Mac OS, iPhone OS,
Android, etc.
Micro Arquitetura
Dispositivos Físicos
Compiladores e Interpretadores
• Programas
P que traduzem
t d o código
ódi d fonte
de f t de
d uma
linguagem de programação de alto nível para uma
Compiladores e Interpretadores
linguagem de programação de baixo nível (assembly)
Linguagem de Máquina
Micro Arquitetura
Dispositivos Físicos
Aplicativos
Aplicativos
• Um
U programa de
d computador
t d que permite
it ao usuário
á i fazer
f
uma ou mais tarefas específicas.
Compiladores e Interpretadores
• Tem por objetivo o desempenho de tarefas, em geral
ligadas ao processamento de dados, como o trabalho em
Sistema Operacional escritório ou empresarial, lazer etc.
- Navegadores de internet
Micro Arquitetura
- Bancos de dados
Aplicativos
Compiladores e Interpretadores
Software
Sistema Operacional
Linguagem de Máquina
Micro Arquitetura
Hardware
Dispositivos Físicos
Memória de
Programa
(ROM)
Address Bus
Address Bus Address Bus
Memória de Memória de Memória de
Programa CPU Dados CPU
Dados
(ROM) Data Bus Data Bus
(RAM) Data Bus (RAM)
Espaço de
memória livre
Arquitetura
q Harvard Arquitetura
q von Neumann
• A arquitetura Harvard é um conceito mais recente que a de von Neumann. Ela adveio da necessidade de se obter
uma arquitetura que pudesse trabalhar mais rapidamente, porém exigem circuitos maiores e mais complexos.
• Em um computador baseado na arquitetura von Neumann, a CPU pode tanto ler uma instrução ou ler/escrever
um dado da/para a memória.
memória Ambos não podem ocorrer ao mesmo tempo,
tempo pois a instrução e o dado utilizam o
mesmo sistema de barramento.
• Num computador usando arquitetura Harvard, a CPU pode ler uma instrução e executar um acesso de dado na
memória ao mesmo tempo. Por isto, este tipo de arquitetura consegue processar um número maior de instruções
por ciclo de clock. Esta característica é sustentada pelo uso de múltiplos barramentos. Possibilidade de tamanhos
diferenciados entre barramento de dados e de programa.
programa
CISC - Complex Instruction Set Computer RISC - Reduced Instruction Set Computer
Computador com um Conjunto Complexo de Instruções Computador com um Conjunto Reduzido de Instruções
Os processadores baseados nesta arquitetura contêm uma A idéia principal, é que apesar de um processador CISC ser
microprogramação, ou seja, um conjunto de códigos de capaz de executar centenas de instruções diferentes, apenas
instruções que são gravados no processador, permitindo-lhe algumas são usadas freqüentemente. Poderíamos então criar
receber as instruções dos programas e executá-las, utilizando um processador otimizado para executar apenas estas
as instruções contidas na sua microprogramação. Seria como instruções simples que são usadas mais freqüentemente. Em
quebrar estas instruções, já em baixo nível, em diversas conjunto com um software adequado, este processador seria
instruções mais próximas do hardware (as instruções contidas capaz de desempenhar quase todas as funções de um
no microcódigo do processador). processador CISC, acabando por compensar suas limitações
Como característica marcante esta arquitetura contém um com uma maior velocidade de processamento.
conjunto grande de instruções, a maioria deles em um elevado
grau de complexidade. Os processadores CISC têm a Processadores RISC: DEC Alpha, SPARC, MIPS, e PowerPC
vantagem de reduzir o tamanho do código executável por já Microcontroladores RISC: PIC, MSP430, ARM
possuirem
i muito
it do
d código
ódi comum em váriosá i programas, em
forma de uma única instrução.
Busca Instrução 1
Executa Instrução 1
Busca Instrução 2
Executa Instrução 2
Busca Instrução 3
Executa Instrução 3
MOVWF PORTO
CALL SUB1
BSF PORTA,3
INSTRUÇÃO SUB1
Microinstruções
Execução da
Micronstrução
Atualmente existem processadores, como o Pentium e o Athlon que utilizam uma arquitetura híbrida
Internamente, o processador processa apenas instruções simples. Estas instruções internas, variam de
processador
d para processador,
d são
ã como uma luva,
l que se adapta
d t ao projeto
j t do
d chip.
hi Sobre
S b estast instruções
i t õ
internas, temos um circuito decodificador, que converte as instruções complexas utilizadas pelos programas
em várias instruções simples que podem ser entendidas pelo processador. Estas instruções complexas sim,
são iguais em todos os processadores. É isso que permite que os processadores Athlon e um Pentium sejam
compatíveis entre sí.
M i
Maiores i f
informações:
õ htt //0f 66
http://0fx66.com/blog/hardware/cisc-risc/
/bl /h d / i i /
M ói
Memória
CPU
Dispositivos IO
Barramento de Endereços
Barramento de Dados
Barramento de Controle
Instrução de máquina é uma sequência binária que determina uma operação a ser executada pela CPU,
contendo :
• Um conjunto de bits que identifica a operação a ser realizada
• Outro conjunto de bits que permite localizar e acessar os dados que serão manipulados pela operação.
Executar a operação
Reiniciar o proce
efetivamente com os dados e
f i d d Estas etapas compõem o que se denomina um ciclo de instrução.
armazenar o resultado no local
definido pela instrução
Buscar a instrução
a ser executada na memória de A CPU realiza as atividades relacionadas
programa basicamente com duas funções:
operação,
ã ou seja
j processar a operação.
ã
sendo solicitada
Funções de controle – atividades de busca,
interpretação e controle da execução das
esso buscand
Dispositivos com funções de processamento
ALU ou ULA – Unidade Lógica e Aritmética
Registradores de uso geral
Registrador de status
Dispositivos com funções de controle
Unidade de controle
Decodificador
D difi d de d instruções
i õ
Registrador de Instruções
Contador de programa
p g
Controle de clock
Registrador de endereço de memória e de dados da memória (Buffers)
Registrador Acumulador
A l d
Código de Apontador
Complementos R1
de instruções instrução de pilha
(SP)
•
Contador de •
• C
Decodificador Programa
g
de instruções (PC) Unidade Lógica e
Rn Aritmética Z
(ALU) S
Registradores
Gerador O
Unidade
de
tempo de controle Buffer de Fl
Flags
Endereço MAR Registrador
de status (SR)
Clock Sinais de controle
Internos da CPU
Barramento de
E d
Endereços
Barramento
de Controle
Barramento de Dados
Barramento de Dados
ULA – Unidade Lógica e Aritmética
ALU ‐ Arithmetic Logic Unit Buffer de Dados MBR
Barramento de Dados
Flags
Registrador
de status (SR)
Barramento de Dados
Registradores de uso geral
General Purpose Register Buffer de Dados MBR
Flags
Registrador
de status (SR)
Barramento de Dados
Status Register
Status Register
Flags
Registrador
de status (SR)
Somador
Subtrator
Registrador
R i d ded
Resultado Registrador A
Multiplicador
Divisor
Vai um
Deu zero C d
Comparador
Registrador B
Valor negativo AND
Estouro
OR
Unidade Registradores
Carry Vai um
Lógica e de uso geral
Zero Deu zero
Aritmética Registrador B
Sinal Valor negativo
Overflow Estouro
Registrador
de Status
Acumulador
R1
•
•
• C
Unidade Lógica e
Rn Aritmética Z
(ALU) S
Registradores
O
Flags
Registrador
de status (SR)
• Após a ALU realizar a operação, o resultado é armazenado no Acumulador substituindo o valor de um dos
operandos da operação.
R1
•
•
• C
Unidade Lógica e
Rn Aritmética Z
(ALU) S
Registradores
O
Flags
Registrador
de status (SR)
• Neste outro modelo,, atualmente muito utilizado,, não existe o Acumulador,, um dos registradores
g g
de uso geral (
(ou
registrador de dados) é utilizado como um registrador de entrada de um dos valores e também como registrador do
resultado da operação.
• Após a ALU realizar a operação, o resultado é armazenado no chamado registrador de destino substituindo o
valor de um dos operandos da operação, anteriormente armazenado neste registrador.
• Estes flags também são modificados nas demais operações, possuindo um significado diferente
para cada instrução, especialmente nas operações de comparação e teste.
Barramento de Dados
Atividades da área de controle
Entender o que fazer, como fazer e comandar o
Buffer de Dados MBR
dispositivo que vai fazer no momento adequado.
Ciclo de busca da instrução (Fetch cycle)
Registrador Código de
de instruções instrução
Complementos
Apontador
de pilha
Buscar a instrução a ser executada e armazená‐la
(SP) em registrador
i d específico
ífi para esta finalidade.
fi lid d
Contador de
Decodificador Programa
de instruções (PC) Ciclo de execução da instrução (Execute cycle)
Interpretar as ações a serem realizadas com a
Gerador
Unidade
execução da instrução e como realizá‐las.
de
de controle
tempo Buffer de
Endereço MAR
Gerar os sinais de controle apropriados para a
ativação das ações requeridas para a execução da
Clock Sinais de controle instrução identificada. Estes sinais são enviados
Internos da CPU
Barramento de aos diversos componentes do sistema , internos
Endereços ou externos a CPU.
Barramento
de Controle
Barramento de Dados
Unidade de controle
Buffer de Dados MBR
Control Unit
Os
O sinais
i i ded controle
t l emitidos
itid pela
l unidade
id d de
d
Gerador
Unidade
controle, ocorrem em vários instantes durante
de
tempo de controle Buffer de
um ciclo de instrução.
Endereço MAR
De modo geral,
geral todos os sinais de controle
Clock Sinais de controle tem duração fixa e igual gerada pelo Clock.
Internos da CPU
Barramento de
Endereços
Barramento
de Controle
Barramento de Dados
Relógio e Gerador de tempo
Buffer de Dados MBR
Clock
Clock é um circuito oscilador responsável pela
geração de pulsos para o gerador de tempo da
Registrador Código de
Complementos
Apontador unidade de controle.
de instruções instrução de pilha
(SP)
Um ciclo de clock ou ciclo de máquina é um
Contador de intervalo de tempo entre o início de um pulso e
Decodificador Programa
de instruções (PC) o início do pulso seguinte.
A frequência
f ê i ded clock,
l k normalmente
l t medida
did
Gerador
Unidade
em MHz, é utilizada por muitos como indicador
de
tempo de controle Buffer de
de desempenho do sistema, porém não pode
Endereço MAR ser considerado como único parâmetro. Não é
absolutamente
b l t t verdade
d d que uma CPU com
Sinais de controle
Clock
Internos da CPU frequência de clock maior que o outro, seja
Barramento de
Endereços
mais eficiente.
Barramento
de Controle
Barramento de Dados
Barramento de Dados
Registrador
É o registrador responsável por armazenar a
Código de Apontador
de instruções instrução
Complementos
de pilha instrução a ser executa pela CPU.
(SP)
Contador de
Ao se iniciar um ciclo de instrução, a unidade
Decodificador Programa de controle envia sinais de controle em
de instruções (PC)
sequência de tempo de forma que se realize
um ciclo de leitura para buscar a instrução na
Gerador memória .
Unidade
de
de controle
tempo Buffer de
Endereço MAR
A instrução então será armazenada no
registrador de instruções via barramento de
Clock Sinais de controle dados e do registrador de dados da memória.
Internos da CPU
Barramento de
Endereços
Barramento
de Controle
Barramento de Dados
Registrador
É o registrador responsável por armazenar o
Código de Apontador
de instruções instrução
Complementos
de pilha endereço da próxima instrução a ser
(SP) executada.
Contador de
Decodificador Programa Assim que a instrução que vai ser executada
de instruções (PC)
for buscada na memória, o sistema
automaticamente modifica o contador de
Gerador programa de forma que ele passe a armazenar
Unidade
de
de controle o endereço da próxima instrução na sequência
tempo Buffer de
Endereço MAR do programa.
Barramento de Dados
Apontador de pilha
SP ‐ Stack Pointer
Buffer de Dados MBR
Registrador Acumulador
A l d
Código de Apontador
Complementos R1
de instruções instrução de pilha
(SP)
•
Contador de •
• C
Decodificador Programa
g
de instruções (PC) Unidade Lógica e
Rn Aritmética Z
(ALU) S
Registradores
Gerador O
Unidade
de
tempo de controle Buffer de Fl
Flags
Endereço MAR Registrador
de status (SR)
Clock Sinais de controle
Internos da CPU
Barramento de
E d
Endereços
Barramento
de Controle
Barramento
Barramento
de Dados
de Dados
Barramento
Barramento
de Controle
de Controle
Memória Auxiliar
Dispositivos I/O Armazenamento de
massa
Memória Principal
p Memória Auxiliar
Semicondutora Armazenamento de massa
Matriz de programação
A0
A1
ndereços
A2
Decodificador
de endereços FF
En
An
Escrita/leitura
Controle de dados Habilita
D0 D1 D2 Dn
Dados
• Célula de memória – Dispositivo ou circuito usado para armazenar um único Células de memória
bit (0 ou 1).Exemplos:
1) Exemplos: Flip-flop,
Flip-flop capacitor,
capacitor diiodo,
diiodo ponto magnético em um
disco magnético, ponto ótico em um disco ótico.
0000
• Palavra de Memória – Grupo de células (bits) em memória que representa 0 1 0 1
(0x0 ou 0h)
instruções ou dados. O tamanho estão na faixa de 4 a 64 bits, dependendo
do tamanho do computador.
p 0001
1 0 1 1
(0x1 ou 1h)
• Byte (Binary Term) – Palavra de 8 bits. Atualmente é o tamanho da palavra
de memória na maioria dos computadores. 0010
1 1 1 1
(0x2 ou 2h)
• Endereço (Posição) de memória – Número que identifica a posição de uma
0011
Endereços
s
palavra na memória. Cada palavra armazenada na memória possui um 0 1 1 1
endereço único. Atualmente é comum utilizar a notação hexadecimal para (0x3 ou 3h)
representar o endereço de um palavra na memória (prefixo 0x ou sufixo h). 0100
0 0 0 1
(0x4 ou 4h)
• Operação de Leitura (Read) ou Busca – Operação na qual uma palavra
bi á i armazenada
binária d em uma determinada
d t i d posição
i ã (endereço)
( d ) de
d memória
ói é 0101
transferida para outro dispositivo. 1 0 0 1
(0x5 ou 5h)
• Operação de Escrita (Write) ou Armazenamento – Operação na qual uma 0110
nova palavra binária é armazenada em uma determinada posição (endereço)
1 0 1 1
(0x6 ou 6h)
de memória,
memória substituindo a palavra lá armazenada.
armazenada
0111
0 0 0 0
• Tempo de acesso (Access Time) – É o tempo necessário para realizar uma (0x7 ou 7h)
operação de leitura em uma memória, ou seja, é o tempo entre a memória
receber uma nova entrada de endereço e os dados estarem disponíveis na
saída da memória. Indica a velocidade de um dispositivo
p de memória Palavra de Memória
T=NxM
T é a capacidade da memória em bits
onde N = 2x sendo x o número de bits de endereço)
N é o número de endereços ( onde,
M é o número de bits de cada endereço (posição) de memória (palavra).
2048 x 8
T = 2048 x 8 = 16.834 bits
2K x 8
Qual tem a maior capacidade?
5120 x 2
T = 5120 x 2 = 10.240 bits
5K x 2
• A capacidade pode ser medida em unidades de bytes (kB, MB, GB, TB, etc.). Neste caso considera-se
como um byte o número de bits em cada endereço.
30
Por exemplo: 4GB = 4G x 8 = 4 x 2 x 8 = 4 x 1.073.741.824
1 073 741 824 x 8 = 34.359.738.368
34 359 738 368
Habilitação da memória
Quando esta entrada está desativada, a
memória fica desabilitada e ela não
Saídas de dados (Outputs) responderá as entradas de endereço e
de escrita/leitura.
Durante o processo de leitura (Read), a
palavra lida de um determinado endereço de ME – Memory Enable
memória aparece nas linhas de saídas de CS – Chip Select
dados. CE – Chip Enable
11110 1 0 0 0
11111 0 1 1 1
00000 0 1 1 0
00001 1 1 0 0
00010 1 0 1 1
00011 0 0 0 1
Exemplo 00100 0 1 1 0
11110 1 0 0 0
11111 0 1 1 1
FLASH
S Tipo especial de memória
ó EEPROM
O Regravável, apaga-se eletricamente
DRAM Dynamic Random Access Memory Necessita de atualização frequente de suas informações.
SRAM Static Random Access Memory Não necessita de atualização da informação gravada.
RAM
RAM
ROM
SAM ROM Flash
Flash
Fit magnéticas
Fitas éti Di
Discos óti
óticos ROM Di
Discos M
Magnéticos
éti
Discos Magnéticos
Discos óticos RW
Discos óticos
Volatilidade
Perder os dados quando a energia é desligada.
ROM
RAM Flash
SAM Discos Magnéticos
Discos óticos
CS
Entrada de controle
Arquitetura interna
A0 Matriz de registradores O0
Células de memória
A1 O1
A2 Decodificador Buffers de O2
. de endereços saída .
. .
. .
An On
CS
Entrada de controle
Arquitetura interna
• Exemplo de uma memória ROM 2 x 8 a diodos
Endereço Dados
A1 A0 D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 1 1 1 1 0
0 1 1 0 0 0 1 0 1 0
1 0 0 0 0 0 1 1 0 1
1 1 0 1 1 1 0 1 1 0
Endereço Dados
A1 A0 D7 - D0
0h 1E
1h 8A
2h 0D
3h 76
Temporização
Access Time
Tempo de acesso
Valores típicos
Exemplos comerciais
• Memória ROM 32k x 8 TMS47256 (MROM NMOS)
TMS47256-20NL
Number of Words=32k
Bits Per Word=8
t(a) Max. (s) Access Time=200n
Output Config=3-State
Number of Chip Selects=2
P(D) Max.(W) Power Dissipation=500m
Nom. Supp (V)=5.0
Status=Discontinued
Package=DIP
Pins=28
Military=N
Technology=NMOS
Arquitetura interna
• A estrutura interna é bem semelhante a estrutura de uma MROM utilizando diodos,
transistores bipolares ou MOSFETs como células de memória.
Porém a conexão entre a célula e a linha de dados é feita através de fusíveis que
• Porém,
podem ser abertos ou permanecer intactos, para programar o nível lógico desejado
na célula.
+Vdd
+V
VPP
Fusível
Endereço Dados
A1 A0 D3 - D0
0h 7
1h A
2h 2
3h B
Endereço Dados
A1 A0 D3 - D0
0h 7
1h A
2h 2
3h B
Endereço Dados
A1 A0 D3 D2 D1 D0
0 0 0 1 1 1
0 1 1 0 1 0
1 0 0 0 1 0
1 1 1 0 1 1
Arquitetura interna
A0 Matriz de registradores D0
A1 Células de memória D1
A2 Decodificador D2
. de endereços
B ff
Buffers .
. .
. .
An Dn
CS
Exemplos comerciais
• Memória PROM 32k x 8 TMSPC27256 (OTP ROM CMOS)
TMSPC27256
Texas Instruments
VPP
CS
Entrada de controle
Arquitetura interna
• As células de memória de uma EPROM, são transistores CMOS (Complementary
Metal-Oxide Semiconductor) com a porta em flutuação (sem conexões elétricas).
Transistor FAMOST (Float gate Avalanche injection MOS Transistor)
Porta
Gate
Fonte Dreno
Source Drain
Substrato
http://tams‐www.informatik.uni‐hamburg.de/applets/cmos/
VGS
- - -- -
- - - - -
- - - - -- - - - - - -- -
- - - - -- - -
- - - - -
Fluxo de elétrons do
substrato ppara a
porta flutuante
- - - - -- - VGS
+ ++ +
+ + + +
Processo de apagamento
• Para apagar a informação previamente gravada na célula é necessário que os
elétrons presentes na região da porta flutuante sejam energizados o que possibilitará
o retorno ao substrato.
• Numa EPROM isto é feito aplicando uma luz ultravioleta pela janela existente no
encapsulamento da pastilha.
• Por este motivo a EPROM é também conhecida como UVPROM (Ultraviolet PROM).
PROM)
Elétrons presos na
porta flutuante Janela de
Apagamento
p g
- - - - -- - VGS
+ ++ +
+ + + +
Temporização
• O ciclo de leitura de uma memória EPROM ocorre da mesma forma da MROM.
• Já o processo de escrita apresenta algumas particularidades
Temporização da operação de escrita (programação)
Exemplos comerciais
• Memória EPROM 64k x 8 27C64Q
27C64
65 536 Bit (8
65,536-Bit (8,192
192 x 8) UV Erasable
E bl CMOS PROM
National Semiconductors
Desvantagens
• Devem ser removidas do circuito para serem apagadas e reprogramadas
• A operação de apagamento apaga o chip inteiro, ou seja todas os dados gravados,
não existe uma forma de selecionar apenas alguns endereços que devam ser
apagados.
• A operação de apagamento e reprogramação demora cerca de 20 minutos.
Programador/Gravador EPROM
Apagador de EPROM
Apagador de EPROM EPROM Programmer
EPROM Programmer
EPROM Eraser
VPP
CS
Entrada de controle
Arquitetura interna
• As células de memória de uma EEPROM utilizam os transistores CMOS com a porta
em flutuação de forma semelhante a da EPROM, porém com a adição de uma fina
camada de óxido acima do dreno, além da extensão da porta flutuante em direção ao
d
dreno e a fonte.
f t
• Estas alterações na estrutura possibilitam a principal característica da EEPROM, a
possibilidade de ser pagada eletricamente.
Porta
Gate
Fonte Dreno
S
Source Drain
Aumento da porta Adição de uma fina
flutuante em direção camada de óxido acima
ao dreno e a fonte do dreno
FG
FG – Float Gate
Porta Flutuante
Porta Flutuante Substrato
FG VGS
- - -- -
- - - - -
- - --
- - FG - - --
- - FG
- -
- - - - -- - -
- - - - -
Fluxo de elétrons do
substrato ppara a
porta flutuante
- - --
- - FG - VGS
+ ++ +
+ + + +
Processo de apagamento
• Para apagar a informação previamente gravada na célula aplica-se uma tensão
inversa ao pulso de programação de alta tensão (VPP), entre a porta (G) e o dreno
(D).
• Este potencial fará com que a região de isolamento se torne permeável possibilitando
que os elétrons que estavam na porta flutuante sejam transferidas de volta para o
substrato e que a célula seja apagada.
-VPP
- - --
- - FG -
- - - - -- - -
- - - - -
Fluxo de elétrons da
porta flutuante para
o substrato
VPP
Queimaa
FG - - --
- - FG
-
- - - - -- - -
- - - - -
-VPP
mento
ura
Apagam
Leitu
- - --
- - FG FG VGS
-
- - - - -- - -
- - - - -
Temporização
• O ciclo de leitura de uma memória EEPROM ocorre da mesma forma da EPROM.
• A EEPROM pode ser programada mais rapidamente que uma EPROM. Tipicamente o
tempo de uma operação de escrita em um determinado endereço é de 5ms.
5ms
Considerações
• Como o sistema de transporte de cargas (fluxo de elétrons entre a porta flutuante e o
substrato) necessita de correntes muito baixas, o apagamento e a programação
podem ser feitos no próprio circuito, sem a necessita de um programador externo.
• Nas EEPROM é possível apagar e reescrever bytes individuais na matriz de
memória, pois, durante a operação de escrita, circuitos internos apagam as células
que estão no endereço indicado.
• Devido a capacidade de apagar os bytes individualmente e o seu alto nível de
integração, as memórias EEPROM possuem baixa densidade, ou seja, a capacidade
de armazenamento por mm2 é bem menor, quando comparadas as EPROM (1/2),
tornando-as mais caras.
• Como o processo de armazenamento de dados na EPROM é lenta, alguns
fabricantes oferecem memórias EEPROM com interfaces de barramento serial, para
reduzir o espaço físico do componente.
Exemplos comerciais
• Memória EEPROM 16kbits M24C16 serial
M24C16
16 Kbit serial
i l I²C b
bus EEPROM
STI
VPP
CS
Entrada de controle
http://www.cefala.org/~leoca/flash/flash01.html
Arquitetura interna
• As células de memória de uma memória FLASH são semelhantes a da EPROM,
porém possui uma camada de óxido mais uma fina na porta, sendo ligeiramente
maiores.
• Estas alterações na estrutura possibilitam a memória FLASH ser pagada
eletricamente.
Porta
Gate
Fonte Dreno
Source Drain
Camada mais fina de
óxido especialmente
entre a porta e a fonte
FG – Float Gate
Substrato Porta Flutuante
VPP
Queimaa
- -
- -
- --
-
- - - -- -
- - -- --
-VPP
mento
ura
Apagam
Leitu
-
VGS
- - -
- --
-
- - - -- -
- - -- --
Limitações
• Uma limitação da memória flash é que, embora ele possa ser lido ou programado um
byte ou uma palavra de cada vez em uma forma de acesso aleatório, só pode ser
apagada um "bloco" (conjunto de bytes) de uma vez.
• O apagamento geralmente define todos os bits no bloco no nível lógico 1. Começando
com um bloco recentemente apagado, qualquer local dentro desse bloco podem ser
programados. No entanto, uma vez que um bit foi definido para 0, apenas apagando
t d o bloco
todo bl pode
d ser alterado
lt d novamente t para 1.
1
• Outra limitação é que a memória flash tem um número finito de ciclos programar-
apagar (normalmente escritos como ciclos E/P). A maioria dos produtos de memória
flash disponíveis no mercado são garantidos para suportar cerca de 100.000 ciclos
E/P, antes que o desgaste começa a deteriorar a integridade do armazenamento.
Aplicações
• Cartões de memória,
• Flash drives USB (pen drives)
• MP3 Players
• PDAs
• Tablets
T bl t
• Netbooks
• TVs
• Armazenamento interno de câmeras digitais e celulares.
Resumo
vo
Pode ser apagada
p g eletricamente,, diretamente
o dispositiv
no circuito, byte a byte.
EEPROM
Complexidade e custo do
no circuito, por setor ou toda de uma vez. FLASH
http://asic-soc.blogspot.com/2007/07/sram-cell-design.html
http://www mspc eng br/eledig/eldg4140 shtml
http://www.mspc.eng.br/eledig/eldg4140.shtml
http://tams-www.informatik.uni-hamburg.de/applets/sram/index.html
http://jawadsblog.wordpress.com/2010/04/11/memory-cells/
http://arstechnica.com/paedia/r/ram_guide/ram_guide.part1-4.html
Entrada
Leitura / Escrita
R/W
CS
Entrada de controle
• S i RAM
Static
Bit line
Word line
R/W
Dado
CAS RAS
R/W CS
Entrada Entrada de
Leitura / Escrita controle
Arquitetura interna
• São fabricados utilizando tecnologia MOS e se destacam pela sua alta capacidade -
densidade), baixo consumo e velocidade de operação moderada.
• A célula básica é constituída por um transistor MOS e um microcapacitor,
microcapacitor tipicamente
de poucos picofarads .
Dado
Bit Line 1 0
Adress
1 1
Word Line
++ ++
Capacitor Capacitor
Capacitor
p carregado g
descarregado
Arquitetura interna
• Devido as a tendência de descarga do capacitor ao longo do tempo, é necessário
fazer recargas periódicas das células de memória.
chamada operação de refresh,
• Esta operação de recarga é chamada, refresh e necessitam de
circuitos de suporte, que podem ser internos ou externos ao chip.
Word
W d Line
Li
Analogia
Bit Line
Processo de escrita
• Com a linha R/W no nível baixo (0), o transistor S1 conduz e com a linha de endereço (Word line)
no nível alto (1), o transistor S2 conduz. Essa operação conecta a linha de dados (Bit Line) ao
capacitor.
• Se houver nível lógico alto (1) na entrada o capacitor será carregado. Caso contrário, o capacitor
irá descarregar. Após a operação, as chaves serão abertas, isolando o capacitor do restante do
circuito.
Word Line
1
Analogia
Bit Line
Chaves S1 e S2 fechadas.
As chaves S3 e S4 são mantidas abertas
abertas.
Processo de leitura
• Com a linha R/W no nível alto (1), o transistor S3 conduz, com a linha de endereço no nível alto
(1), o transistor S2 conduz e com a linha de Refresh no nível alto (1), o transistor S4 conduz. Essa
operação conecta a linha de dados ao capacitor. A tensão do capacitor, aplicada ao amplificador
sensor,, é comparada
p à tensão de referência. O amplificador
p sensor apresentará
p em sua saída 0
ou 1, dependendo da tensão de entrada. Essa saída realimenta o capacitor, uma vez que os
transistores S2 e S4 estão conduzindo, de modo a executar a operação de refresh. Ou seja, uma
célula sofre a operação de refresh toda vez que é lida.
1
Analogia
1
Chaves S2, S3 e S4 fechadas.
A chaves S1 é mantidas fechada
fechada.
Processo de REFRESH
• Conforme visto, uma célula sofre a operação de refresh toda vez que é lida.
• Porém, nem todas as células serão lidas a tempo de recarregar o capacitor. Este tempo
depende das especificações da memória.
• Por isso, é necessário realizar a operação de REFRESH dentro do tempo especificado pelo
fabricante, e consiste basicamente em acessar todos os endereços em um operação de
leitura, sem porém habilitar a saída de dados.
1
Analogia
Multiplexação de endereços
• Os chips de memória de maior capacidade (alta densidade), precisam ter muitos
pinos para entrada de endereço, se for mantida a relação de um pino para cada bit de
endereço.
• A fim de reduzir o número de pinos de endereço em chip DRAM de alta capacidade,
alterando a relação dos pinos com os bits de endereço, os fabricantes usam a técnica
da multiplexação de endereços, através da qual cada pino do integrado pode
acomodar
d dois
d i bits
bit diferentes
dif t dod endereço.
d
• A redução no número de pinos, obtida com esta técnica, provoca um significativa
redução no tamanho do encapsulamento dos chips, possibilitando maximizar a
quantidade de memória em uma placa de memória.
Multiplexação de endereços
RAS
Row Address Strobe
ereço da linha
codificador do
de coluna) comanda o
armazenamento dos bits mais
Latch
ende
interno do chip.
Amplificadores de
Refresh e controle
de
d entrada/saída
t d / íd
Multiplexação de endereços
5
2 7. De acordo com a operação selecionada
Amplificadores de através da entrada R/W, o dado será
Refresh e controle enviado para as linhas de dados (Data Bus),
de entrada/saída ou os dados p presentes da linha de dados
6 serão armazenados na célula.
Multiplexação de endereços
• Exemplo de uma DRAM 16k x 1
Multiplexação de endereços
• Exemplo de uma DRAM 16k x 1
Multiplexação de endereços
• Exemplo de uma DRAM 16k x 1
• A entrada de seleção de multiplexador (MUX) controla a presença das linhas de endereço A0 até A6 ou A7 até A13 na entrada de endereços da
DRAM A temporização do sinal MUX deve estar em sincronismo com os sinais CAS e RAS
DRAM. RAS, responsável pela passagem dos bits de endereço
aos circuitos internos da memória.
• O sinal de MUX deve estar no nível BAIXO quando RAS assumir seu nível ativo, no caso nível BAIXO, de maneira a fazer com que as linhas de
endereços A0 até A6 geradas pelo processador cheguem às entradas de endereço da DRAM para serem armazenadas no registrador interno
da memória na transição negativa de RAS.
• Da mesma forma, o sinal MUX deve estar ALTO quando CAS assumir o nível BAIXO, fazendo com que as linhas de endereço A7 até A13
cheguem até a DRAM, para serem armazenadas na transição negativa de CAS.
Temporização
Ciclo de Escrita
• Observar que na transição negativa
do CAS o endereço é selecionado e
permanece até a transição positiva do
sinal R/W.
Temporização
Ciclo de Leitura
Processo de REFRESH
• Conforme visto, uma célula sofre a operação de refresh toda vez que é lida.
• Porém, nem todas as células serão lidas a tempo de recarregar o capacitor. Este tempo
depende das especificações da memória.
• Por isso, é necessário realizar a operação de REFRESH dentro do tempo especificado pelo
fabricante (geralmente entre 4 e 16ms), e consiste basicamente em acessar todos os
endereços em um operação de leitura, sem porém habilitar a saída de dados.
Os fabricantes, porém, desenvolveram DRAMs, de modo que sempre que uma operação
de leitura é realizada em uma célula, todas as células daquela linha são refrescadas
Encapsulamentos
SIPP - Single
Si l In-line
I li Pin
Pi Package
P k
Tipos
• DRAM FPM (Fast Page Mode) – DRAM do tipo modo de página rápida – permite o acesso mais
rápido a qualquer posição da memória dentro da página.
• DRAM EDO (Extended Data Output) – DRAM com saída de dados estendida – possuem latch
em sua saída que permite que os dados sejam lidos enquanto o próximo endereço está sendo
enviado pelo controlador de memória.
• SDRAM (Synchronous DRAM) – O controle é realizado pelo clock do sistema e não pela entrada
CAS, em rajadas (burst) de posições de memória dentro da mesma página e internamente são
CAS
organizadas em 2 bancos. Isto permite que os dados sejam acessados em taxas bastantes
elevadas.
Comparativo
• Portanto
P t t é necessário
á i fazer
f expansão
ã do
d tamanho
t h da
d palavra
l ( ú
(número d bits
de bit de
d dados)
d d ) e/ou
/ dad
capacidade de memória (número de endereços).
R/W D7 A7 R/W
R/W D6 A6
A3 D3 D5 A5 D3
A3
A2 D2 D4 A4 D2
16 x 4 A2 16 x 8 256 x 4
A1 D1 D3 A3 D1
A1
D2 A2
A0 D0 D0
A0
CS D1 A1
CS D0 A0 CS
A3 D5
D4
A2 16 x 8 D3
A1
D2
A0 D1
CS D0
DB0 a DB7
Total do módulo
8 bits
Expansão da capacidade
• A expansão da capacidade consiste em aumentar o número de bits de endereços.
• Para isto, basta conectar as linhas de dados dos chips que constituíram o banco (D0 com D0, D1
com D1 e assim por diante), assim como as linhas R/W.
• Definir qual dos chips serão os bits de endereço mais significativos e quais serão os menos
significativos, ou seja, a ordem dos bits de endereçamento, através do sinal de habilitação do chip
(CS – Chip Select).
00000 a 11111
Total do módulo 32 x 4
32 palavras
Expansão da capacidade
• Normalmente, como a quantidade de chips é maior, utiliza-se um decodificador para controlar a
geração dos sinal de habilitação do chip (CS).
Faixa de endereços
PROM-1
PROM 1 0800 a 0FFF
0000 a 1FFF
Total do módulo 8k x 8
8192 palavras
Expansão da capacidade
• É extremamente comum a utilização de dispositivos de diferentes tipos e tamanhos em um
mesmo sistema de memória.
• Cada tipo de memória possui uma faixa de endereços específicos, criando-se o chamado mapa
ó i ou seja,
d memória,
de j a distribuição
di t ib i ã dos
d endereços
d d memória
de ó i pelos
l diversos
di ti
tipos d memória
de ói
utilizados no sistema.
Expansão da capacidade
Mapa de memória
0000
PROM-0
1FFF
2000
PROM-1
3FFF
4000
000
RAM
5FFF
6000
EEPROM
67FF
6800
EEPROM Refletida
6FFF
7000
EEPROM Refletida
77FF
7800
EEPROM Refletida
7FFF
8000
Custo alto
Velocidade alta
Baixa capacidade
Registradores
Memória cache
Memória principal
Memória de dados
Memória de programa
Armazenamento
A t d de massa
Memória Flash
Discos magnéticos Custo baixo
Discos óticos Velocidade baixa
Capacidade elevada
1) Utilizando
Utili ando CI de memória SRAM 16x4,
16 4 construir
constr ir um
m banco de memória de 16x16
16 16 (expansão
(e pansão de palavra)
pala ra)
2) Utilizando CI de memória SRAM 16x4, construir um banco de memória 64 x 4 (expansão de capacidade)
3) Utilizando CI de memória SRAM 16x4, construir um banco de memória 32 x 8 (expansão de palavra e
capacidade)
4) Exercício: Utilizando chips de memória EPROM de 2k x 8 e de memória RAM estática 2k x 4, 4 construir um
banco de memória de 4k x 8 de memória EPROM e 4k x 8 de memória RAM. Sendo que as memórias EPROMs
ocupam os endereços iniciais. Primeiro fazer o mapa de memória e depois desenhar o diagrama lógico.
5) Mostre o decodificador de endereços para um banco de memória contendo 4k x 8 de ROM 2k x 8 de RAM a
partir dos CI’s de memória ROM 2k x8 e RAM 1k x 8.
R/W
A3 D3
A2 D2
16 x 4
A1 D1
A0 D0
CS