Você está na página 1de 152

Curso Técnico de Eletrônica

Sistemas Microprocessados

Prof. Marcos Antonio da Silva Pinto


marcosp@deii.cefetmg.br

2015

Powered by Enderson Neves Cruz


Disciplina: Sistemas microprocessados

Carga horária anual: 80 horas/aula


Carga horária semanal: 2 aulas

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.

Powered by Enderson Neves Cruz 2


Conteúdo programático

UNIDADE I - ARQUITETURA GERAL DOS SISTEMAS

1.1 - INTRODUÇÃO AOS SISTEMAS PROCESSADOS


1.1.1 Introdução ao processamento de dados
1.1.2 Evolução histórica dos sistemas de processamento
1.1.3 Hardware / Software: Conceitos

1.2 - ARQUITETURA DO HARDWARE


1.2.1 Arquitetura von Neumann e Harvard
1.2.2 Arquitetura
q CISC e RISC

Powered by Enderson Neves Cruz 3


Conteúdo programático

UNIDADE II - SUBSISTEMA DE MEMÓRIA

2.1 - ARQUITETURA DOS CIRCUITOS DE MEMÓRIA


2.1.1 Organização geral dos circuitos de memória
2.1.2 Memórias apenas de leitura – ROM
2.1.3 Memória de escrita/leitua – RAM

2.2 - ARQUITETURA DOS CI´s DE MEMÓRIA


2.2.1 ROM´S, PROM´S, EPROM´S, PLA´S, Flash-ROM´S
2 2 2 SRAM
2.2.2 SRAM´S
S, DRAM
DRAM´S
S, SDRAM
SDRAM´S
S, RDRAM
RDRAM´S
S

2.3 - PROJETO DE SITEMAS DE MEMÓRIA


2.3.1 Mapeamento de memória. Barramentos
2.3.2 Expansão de dados e endereçamento
2.3.3 Lógica de controle e seleção

Powered by Enderson Neves Cruz 4


Conteúdo programático

UNIDADE III - SUBSISTEMAS DE ENTRADA/SAÍDA

3.1 - MAPEAMENTO DE E/S


3.1.1 Endereçamento de E/S – Portos
3.1.2 E/S mapeamento em memória

3.2 - TRANSFERÊNCIA DE DADOS E/S


321T
3.2.1 Transferência
f ê i paralela
l l dde d
dados
d
3.2.2 Transferência serial de dados

Powered by Enderson Neves Cruz 5


Conteúdo programático

UNIDADE IV - ARQUITETURA DE MICROCONTROLADORES

4.1 - ARQUITETURA GERAL DE HARDWARE/SOFTWARE


4.1.1 Diagrama de blocos
4.1.2 Modos de endereçamento
4.1.3 Conjunto de instruções

4 2 - LÓGICA DE CONTROLE DE TEMPORIZAÇÃO


4.2
4.2.1 Sistema de RESET
4.2.2 Estrutura de Interrupção
4.2.3 Modos de operação
4.2.4 Estrutura de endereçamento de Memórias e E/S

Powered by Enderson Neves Cruz 6


Conteúdo programático

UNIDADE IV - ARQUITETURA DE MICROCONTROLADORES

4.3 - OPERAÇÃO DOS DISPOSITIVOS DE E/S


4.3.1 Configuração de portas de E/S paralelas
432T
4.3.2 Transferência
f ê i d de d
dados
d por espera ocupada
d
4.3.3 Transferência de dados por Interrupção
4.3.4 Tratamento de chaves e teclados
4.3.5 Dispositivos indicadores, leds e módulos LCD

4.4 - CONFIGURAÇÃO DOS MÓDULOS DO SISTEMA


4.4.1 Configuração da base de tempo – Clock
4.4.2 Configuração e operação do Temporizador
443C
4.4.3 Configuração
fi ã e operação
ã ddo C
Comparador
d
4.4.4 configuração e operação do conversor A/D
4.4.5 Configuração do módulo de comunicação - UART

Powered by Enderson Neves Cruz 7


Conteúdo programático

UNIDADE V - TÉCNICAS DE PROJETOS DE SISTEMAS MICROPROCESSADOS

5.1 - ESPECIFICAÇÃO DO HARDWARE/SOFTWARE


5.1.1 Parâmetros de escolha do microcontrolador
5.1.2 Ambiente de programação

Powered by Enderson Neves Cruz 8


Referências
• SCHETTINO, John Kennedy S. e PINTO, Marcos Antonio S. Sistemas Microprocessados II. Belo Horizonte.
CEFET-MG, 2005. 138p.
• MONTEIRO, Mário. Introdução à Organização de Computadores.
LTC, 1996. 3ª Edição. 500p.
• TANENBAUM, Andrew S. Organização Estruturada de Computadores.
Prentice/Hall do Brasil, 1992. 5ª Edição. 464p.
• PEREIRA Fabio.
PEREIRA, F bi Microcontroladores
Mi t l d MSP430 - Teoria
T i e Prática.
P áti Sã Paulo
São P l
Editora Érica, 2006. 416p.
• Davies, John H. MSP430 Microcontroller Basics
Newnes 2008.
Newnes, 2008 685p.
685p
• Notas de aula Técnicas Avançadas em Microprocessadores MSP430 – Texas
Prof. Otacílio da Mota Almeida, Universidade Federal do Ceará, 2009
• Texas Instruments.
Instruments MSP430x1xx Family: User
User´ss Guide 2006 414p.
414p
• Texas Instruments. MSP430x1xx Family: Data sheet 2006 69p.
• Texas Instruments. MSP430 Teaching ROM.
• Site da Texas Instruments http://focus.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&tabId=140&familyId=342
p p p y
• Site MSP430 Web http://msp430.techcontent.net/

Powered by Enderson Neves Cruz 9


Sistema de avaliação
• 1º bimestre
– Duas avaliações individuais

• 2º bimestre
– Duas avaliações individuais
– Trabalho

• 3º bimestre
– Duas avaliações individuais
– Trabalho

• 4º bimestre
4
– Duas avaliações individuais
– Trabalho

Powered by Enderson Neves Cruz 10


Sistema de avaliação

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

1. Proposta de um projeto – Título e resumo descritivo max. de uma página (2ºbi)


2. Diagrama de blocos do hardware e diagrama de hardware completo (2ºbi)
3. Fluxogramas e programas (3ºbi)
4. Relatório final com todas as etapas acima + introdução, descrição detalhada do trabalho,
lista de material, custo estimado, conclusão. (4ºbi)
5. Apresentação teórica – 10 minutos (4ºbi)
6. Apresentação prática (4ºbi)

Powered by Enderson Neves Cruz 11


Sugestões para trabalho

Instrumentos de medição:
ƒ Termômetro (temperatura ambiente)
ƒ Tacômetro
ƒ Balança
ƒ contador de peças
ƒ Indicador de coordenada – 1 eixo

Instrumentos de controle e acionamento:


ƒ Controle e indicação de temperatura de forno elétrico
ƒ Dimmer digital
ƒ Controle de estacionamento
ƒ Posicionador de 1 eixo
ƒ Posicionador de 3 eixos - Furadeira
ƒ Inversor de frequência
ƒ Gerador de sinais

Powered by Enderson Neves Cruz 12


UNIDADE 1
ARQUITETURA GERAL DOS SISTEMAS

Introdução a Sistemas Microprocessados

Powered by Enderson Neves Cruz


Aula 01 – Computadores
Evolução histórica e conceitos básicos

Processamento de Dados

• Série de atividades realizadas para produzir um conjunto de informações a partir de outras


informações iniciais (dados).

D d
Dados P t
Processamento I f õ
Informações

Computador
• Equipamento de processamento eletrônico de dados

Powered by Enderson Neves Cruz 14


Aula 01 – Computadores
Evolução histórica e conceitos básicos

Analogia com o ser humano

Input CPU Output

Neurônios Voz e
Sentidos Nervos Nervos
Cérebro movimentos
Entrada Saídas
Processa
Nervos

Memória

Memória

CPU – Central Processing Unit (Unidade central de processamento)


Dispositivos de I/O - Input/Output (Entrada/Saída)

Powered by Enderson Neves Cruz 15


Aula 01 – Sistemas Microcontrolados
Evolução histórica e conceitos básicos

M ói
Memória

CPU

Clock

Dispositivos IO

Barramento de Endereços

Barramento de Dados

Barramento de Controle

Powered by Enderson Neves Cruz 16


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Gerações
ç de computadores
p

• Geração 0 – Computadores Mecânicos (Anterior a 1945)


• 1ª Geração
G ã – Válvulas
Vál l (1945 à 1955)
• 2ª Geração – Transistores (1955 à 1965)
• 3
3ª Geração – Circuitos Integrados (1965 à 1980)
• 4ª Geração – VLSI (1980 aos dias atuais)
• 5ª Geração – Conectividade, mobilidade, computadores “inteligentes”

Powered by Enderson Neves Cruz 17


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Geração
ç 0 – Computadores
p Mecânicos ((Anterior a 1945))

Sistema binário Primeira máquina


de calcular Álgebra
Pingala Booleana
Índia Blaise Pascal
Primeira máquina George
g Boole
de calcular
Ábaco Wilhelm Schickard Lógica
Máquina de calcular
Mesopotâmia Formal e matemática
com 4 operações
China Gottfried W. Leibniz
Algoritmos Gottfried W. Leibniz

2400 Sec. III Sec. IX (1592-1635) 1642 1672 1703 1854


a.C a.C

Á
Ábaco
Máquina de calcular
Pascaline
Gottfried W. Leibniz
Blaise Pascal

Máquina de calcular
Wilhelm Schickard

Powered by Enderson Neves Cruz 18


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Geração
ç 0 – Computadores
p Mecânicos ((Anterior a 1945))

Máquina Analítica IBM - International Máquina de Turing


Charles Babbage Válvula Business Machines Alan Turing
Ada Augusta Lovelace John Ambrose Fleming Thomas J. Watson MARK I
USA
Tear mecânico
com cartões
perfurados Z-1 Primeiro
Joseph Marie Jacquard Máquina de tabulação computador a relés
Herman Hollerith Konrad Zuze

1801 1834 1890 1904 1924 1936 1944

Tear mecânico com cartões Máquina Analítica Mark I


Joseph Marie Jacquard Charles Babbage

Powered by Enderson Neves Cruz 19


Aula 01 – Computadores
Evolução histórica e conceitos básicos
1ª Geração
ç – Válvulas ((1945 à 1955))
UNIVAC
Transistor J. Presper Ecker
ENIAC John Bardeen John Mauchly
Electronic Numerical Walter Brattain
Integrator and Computer William Shockley
John Presper Eckert B ll Labs
Bell L b
e John Mauchly Whirlwind I IBM 701
EUA Primeiro Primeiro
computador computador
de tempo-real comercial
MIT IBM

1946 1947 1951 1953

Transistor

ENIAC IBM 701

Powered by Enderson Neves Cruz 20


Aula 01 – Computadores
Evolução histórica e conceitos básicos
2ª Geração
ç – Transistores ((1955 à 1965))
FORTRAN BASIC
John W. Backus Thomas Kurtz
TX-0 Circuito Integrado COBOL
IBM John Kemeny
Primeiro Computador Jack Kilby (Texas) Pentágono
Transistorizado Robert Noyce (Fairchild) Fabricantes
MIT
EUA Fundação da Supercomputador
Digital Computer CDC 6600
Corporation (DEC) PDP-I 1401 Seymour Cray
Ken Olsen DEC IBM CDC

1956 1957 1958 1960 1961 1964

Circuito Integrado PDP-1


DEC
TX-0
MIT CDC 6600

Powered by Enderson Neves Cruz 21


Aula 01 – Computadores
Evolução histórica e conceitos básicos
3ª Geração
ç – Circuitos Integrados
g ((1965 à 1980))

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

1965 1966 1968 1969 1971 1972

System/360
IBM

Powered by Enderson Neves Cruz 22


Aula 01 – Computadores
Evolução histórica e conceitos básicos
3ª Geração
ç – Circuitos Integrados
g ((1965 à 1980))

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

1973 1975 1976 1977 1978 1980

Apple II

Powered by Enderson Neves Cruz 23


Aula 01 – Computadores
Evolução histórica e conceitos básicos
4ª Geração
ç – VLSI ((1980 aos dias atuais))

Microcomputador Macintosh Linguagem C++


pessoal IBM PC MAC OS Bjarne Stroustrup
IBM Apple Microcomputador
p
Deskpro 386
MS-DOS Compaq
IBM PC-AT
Microsoft
IBM INTERNET Microcomputador
Lotus 1-2-3 Microprocessador Microprocessador
CD-ROM PS/2
Mitch Kapor Intel 80386 Intel 80486
IBM

1981 1983 1984 1985 1986 1987 1988

Apple Macintosh
IBM PC

Powered by Enderson Neves Cruz 24


Aula 01 – Computadores
Evolução histórica e conceitos básicos
4ª Geração
ç – VLSI ((1980 aos dias atuais))
Windows 95 Google
Microsoft Larry Page
Sergey Brin
Microprocessador Java
Windows 3.0 Pentium II
Pentium Sun Microsystems
y
Microsoft I t l
Intel
Intel
Toy Story
iMAC
Pixar
Netscape Apple LINUX
HTML
WWW PDA Newton Marc Andreesen PlayStation Windows 98 Linus Torvalds
Tim Berners-Lee Apple Jim Clark Sony Microsoft

1990 1993 1994 1995 1998 1999

Powered by Enderson Neves Cruz 25


Aula 01 – Computadores
Evolução histórica e conceitos básicos
4ª Geração
ç – VLSI ((1980 aos dias atuais))

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

2000 2001 2006 2007 2008 2009 2010

iPad
iPod iPhone Apple
Apple Apple

Powered by Enderson Neves Cruz 26


Aula 01 – Computadores
Estrutura básica de um sistema microcontrolado
Modelo de John von Neumann

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.

ƒ Memória. Armazena dados e instruções a serem executadas


pela CPU

• Dispositivos IO (Dispositivos de entrada e saída): Para


CPU fazer comunicação com o mundo exterior.

• Barramento de dados: Por onde trafegam as informações


(dados) a serem processadas e instruções.
Clock
• Barramento de endereços: Indica a posição de memória
onde um dado será escrito ou lido e pela seleção do
dispositivo de IO que terá acesso.
Dispositivos IO
• Barramentos de controle: Indica o tipo da operação (leitura
ou escrita) e onde a operação está sendo realizada (memória
Barramento de Endereços ou dispositivo de IO), etc.

Barramento de Dados • Clock: Para manter todo o sistema sincronizado.

Barramento de Controle

Powered by Enderson Neves Cruz 27


Aula 01 – Computadores
Arquitetura típica de um microcomputador e suas Interfaces

Microprocessador Memória

Barramento
Barramentodede
Endereços
Endereços

Barramento de Dados

Barramento de Controle

Interface com os dispositivos Interface com os dispositivos Interface com os dispositivos


de interação com o usuário de armazenamento em massa de controle e sensoramento

Powered by Enderson Neves Cruz 28


Aula 01 – Computadores
Acessando os dados
Escrita de um dado no endereço de memória ou IO

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

Powered by Enderson Neves Cruz 29


Aula 01 – Computadores
Acessando os dados
Leitura de um dado no endereço de memória ou IO

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

Powered by Enderson Neves Cruz 30


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Conceitos
Hardware Software
É a parte física do computador, ou seja, é É a parte lógica, ou seja, o conjunto de
o conjunto de componentes eletrônicos, instruções e dados processados pelo
circuitos integrados e placas,
placas que se circuitos eletrônicos que compõe o
comunicam através de barramentos. hardware.

Powered by Enderson Neves Cruz 31


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Máquina
q Multinível Contemporânea
p ((Camadas))

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

Powered by Enderson Neves Cruz 32


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Máquina
q Multinível Contemporânea
p ((Camadas))

Micro Arquitetura

• Dispositivos
Di iti fí i
físicos agrupados
d para formar
f unidades
id d
funcionais como, etc.

- Memórias

- Registradores

- ULA (Unidade Lógica Aritmética)

- etc.

Micro Arquitetura

Dispositivos Físicos

Powered by Enderson Neves Cruz 33


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Máquina
q Multinível Contemporânea
p ((Camadas))

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.

• Toda fabricante publica um manual onde descreve o


conjunto das instruções de máquina (ISA)

• ISA – Instruction Set Architecture

• Assembly é o termo utilizado para linguagem de máquina


Linguagem de Máquina
ou linguagem de montagem.

Micro Arquitetura

Dispositivos Físicos

Powered by Enderson Neves Cruz 34


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Máquina
q Multinível Contemporânea
p ((Camadas))

Sistema Operacional (SO)

• 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

Sistema Operacional • Oferecer o suporte para os outros programas funcionarem


(como Word, Excel etc.).

Linguagem de Máquina • Exemplos: UNIX, LINUX, Windows, Mac OS, iPhone OS,
Android, etc.

Micro Arquitetura

Dispositivos Físicos

Powered by Enderson Neves Cruz 35


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Máquina
q Multinível Contemporânea
p ((Camadas))

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)

• Exemplos: Borland C++, Microsoft Visual Basic, etc.


Sistema Operacional

Linguagem de Máquina

Micro Arquitetura

Dispositivos Físicos

Powered by Enderson Neves Cruz 36


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Máquina
q Multinível Contemporânea
p ((Camadas))

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.

- Editores de texto, planilhas eletrônicas


Linguagem de Máquina
- Tratamento de imagens

- Navegadores de internet
Micro Arquitetura
- Bancos de dados

Dispositivos Físicos - Jogos

Powered by Enderson Neves Cruz 37


Aula 01 – Computadores
Evolução histórica e conceitos básicos
Máquina
q Multinível Contemporânea
p ((Camadas))

Aplicativos

Compiladores e Interpretadores
Software
Sistema Operacional

Linguagem de Máquina

Micro Arquitetura
Hardware

Dispositivos Físicos

Powered by Enderson Neves Cruz 38


Aula 02 – Arquiteturas de Sistemas Microprocessados (SM)

ƒ CPU (Unidade central de processamento):


• A unidade lógica aritmética (ALU), que executa os
cálculos.
• Registradores necessários para o funcionamento básico
da CPU, como o contador de programa (PC), ponteiro de
pilha (SP) e registrador de status (SR).
(SR)
CPU Clock • Outros registradores para armazenar resultados
temporariamente.
• Decodificador de Instruções e outros circuitos lógicos
Barramento de Endereços (Address Bus)
para controlar a CPU,, circuitos de reset e interrupções,
p pç ,e
Barramento de Dados (Data Bus) assim por diante.
ƒ Memória de programa: memória (não-volátil somente de
Barramento de Controle (Control Bus)
leitura, ROM), que mantém o seu conteúdo quando a
alimentação é removida.
Memória de
Programa
Memória de
Dados
Portas de
Entrada e Saída
ƒ Memória de dados (trabalho): conhecida como memória de
(ROM) (RAM) (I/O) acesso aleatório (RAM) e, geralmente voláteis.
• Portas de entrada e saída: Para fazer comunicação com o
mundo exterior.
Mundo Exterior • Barramentos: fazer a ligação desses subsistemas para a
transferência de dados, endereços, controle e instruções.
• Clock: Para manter todo o sistema sincronizado. Pode ser
gerados internamente ou obtidos a partir de um cristal ou fonte
externa
externa.

Powered by Enderson Neves Cruz 39


Aula 02 – Arquiteturas de SM
Arquiteturas von Neumann x Harvard

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

Powered by Enderson Neves Cruz 40


Aula 02 – Arquiteturas de SM
RISC x CISC

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

• conjunto elevado e complexo de instruções • conjunto reduzido e simples de instruções


• formatos complexos e diferentes de instruções • formatos simples e regulares de instruções
• modos simples de endereçamento à memória • modos simples de endereçamento à memória
• vários ciclo máquina por operação • uma operação elementar por ciclo máquina
• os chips são mais complexos e muito mais caros. • uso de pipeline
• facilita a programação • os chips são mais simples e muito mais baratos.

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.

Processadores CISC: x86 Intel, família Motorola M680x0


Microcontroladores CISC: 8051,

Powered by Enderson Neves Cruz 41


Aula 02 – Arquiteturas de SM
Arquitetura RISC
Pipeline
• Pipeline
p é uma técnica de hardware q
que p
permite q
que a CPU realize a busca de uma ou mais instruções
ç além da
próxima a ser executada. Estas instruções são colocadas em uma fila de memória (dentro da CPU) onde
aguardam o momento de serem executadas.
• A técnica de pipeline é utilizada para acelerar a velocidade de operação da CPU, uma vez que a próxima
instrução a ser executada está normalmente armazenada dentro da CPU e não precisa ser buscada da memória,
normalmente muito mais lenta qque a CPU.

Fluxo de Instrução/ Pipeline

Busca Instrução 1

Executa Instrução 1

Busca Instrução 2

Executa Instrução 2

Busca Instrução 3

Executa Instrução 3

Busca Instrução 4 Executa Instrução 4

MOVLW 55H Busca instrução 5 Executa instrução 5

MOVWF PORTO

CALL SUB1

BSF PORTA,3

INSTRUÇÃO SUB1

Powered by Enderson Neves Cruz 42


Aula 02 – Arquiteturas de SM
RISC x CISC

Instruções de máquina Instruções de máquina

Execução da Conversão para


Instrução Microcódigo

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 /

Powered by Enderson Neves Cruz 43


Aula 02 – CPU
Introdução

M ói
Memória

CPU

Dispositivos IO

Barramento de Endereços

Barramento de Dados

Barramento de Controle

Powered by Enderson Neves Cruz 44


Aula 02 – CPU
Introdução

ƒ A CPU (Central Processing Unit) ou UCP (Unidade central de processamento) é


responsável por realizar as operações com os dados (processamento de dados), além de
controlar todo o funcionamento do sistema.

ƒ É o cérebro de um sistema computadorizado.

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.

Um programa é constituído de um conjunto de instruções de máquina sequencialmente organizadas. Para a


execução de um programa é necessário que:
• As instruções a serem executadas estejam armazenadas em células sucessivas na memória principal;
• O endereço da primeira instrução a ser executada seja conhecido pela CPU para que o mesmo posso
buscar esta primeira instrução.

Powered by Enderson Neves Cruz 45


Aula 02 – CPU
Introdução

ƒ A função da CPU pode ser resumida pelo fluxo abaixo:


nstrução a serr executada

Buscar a instrução  As instruções são lidas individualmente, uma de cada vez. Deve


a ser executada na memória de  existir um processo para armazenar o endereço da instrução que
programa será executada.

Pode ser realizada uma operação aritmética (adição, subtração,


multiplicação, divisão, etc.), lógica (AND, OR, XOR, etc.)
normalmente entre dois números,
números uma operação de envio ou
do a próxima in

Interpretar a instrução entrada de dados, uma movimentação de dados de um local para


identificando qual operação está  outro, desvios do programa, etc.
sendo solicitada
esso buscand

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 

Powered by Enderson Neves Cruz 46


Aula 02 – CPU
Introdução

ƒ A função da CPU pode ser resumida pelo fluxo abaixo:


nstrução a serr executada

Buscar a instrução 
a ser executada na memória de  A CPU realiza as atividades relacionadas
programa basicamente com duas funções:

ƒ Funções de processamento – atividades


Interpretar a instrução relacionadas com a execução efetiva de uma
identificando qual operação está
identificando qual operação está 
do a próxima in

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

Buscar os dados  instruções, além das atividade de controle das


onde eles estiverem armazenados atividades dos demais componentes do sistema,
memória e dispositivos de I/O. Ou seja, o
controle é responsável por entender o que fazer,
Reiniciar o proce

Executar a operação  como fazer e comandar o dispositivo que vai


efetivamente com os dados e  fazer no momento adequado.
armazenar o resultado no local 
definido pela instrução 

Powered by Enderson Neves Cruz 47


Aula 02 – CPU
Introdução

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)

Powered by Enderson Neves Cruz 48


Aula 02 – CPU
Arquitetura simplificada da CPU
Barramento de Dados

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

Powered by Enderson Neves Cruz 49


Aula 02 – CPU
Dispositivos com função de processamento

Barramento de Dados

Atividades da área de processamento Buffer de Dados MBR

Processar os dados, ou seja, executar com o dado


uma ação de forma a produzir algum tipo de
resultado.
™ Operações aritméticas (somar, subtrair,
multiplicar, dividir);
Acumulador
™ Operações lógicas (AND, OR, XOR, etc.); R1

™ Movimentação de dados (CPU para memória, •



Memória para a CPU, etc.); • C
Unidade Lógica e
™ Desvios, ou seja, a alteração da sequência de Rn Aritmética Z

execução das instruções; (ALU) S


R i t d
Registradores
O
™ Operações de entrada e saída.
Flags
Registrador
de status (SR)

Powered by Enderson Neves Cruz 50


Aula 02 – CPU
Dispositivos com função de processamento

Barramento de Dados

ULA – Unidade Lógica e Aritmética
ALU ‐ Arithmetic Logic Unit  Buffer de Dados MBR

™ É o dispositivo da CPU que realiza as operações


matemáticas com os dados, podendo ser:
Soma Subtração
Multiplicação Divisão
AND OR Acumulador
R1
NOT (complemento) XOR

D l t a di
Deslocamento it
direita D l t a esquerda
Deslocamento d •
• C
Decremento Incremento Unidade Lógica e
Rn Aritmética Z
Comparação Teste de bits
(ALU) S
™ Estas operações podem utilizar dois valores, R i t d
Registradores
O
por isso a existência de duas entradas, ou Flags
apenas um valor. Registrador
de status (SR)

Powered by Enderson Neves Cruz 51


Aula 02 – CPU
Dispositivos com função de processamento

Barramento de Dados

Buffer de Dados MBR


ACC ‐ Acumulador
ACC ‐ Accumulator

™ Registrador especial utilizado como elemento


de ligação entre a ALU e os demais dispositivos
da CPU.
Acumulador
™ Existem diversas CPUs que não possuem o R1
Acumulador e utilizam diretamente os •
registradores de uso geral, ou registradores •
• C
específicos para armazenamento de dados, Unidade Lógica e
Rn Aritmética Z
endereços e segmentos.
(ALU) S
R i t d
Registradores
O

Flags
Registrador
de status (SR)

Powered by Enderson Neves Cruz 52


Aula 02 – CPU
Dispositivos com função de processamento

Barramento de Dados

Registradores de uso geral
General Purpose Register Buffer de Dados MBR

™ Armazenam temporariamente os dados a


serem processados pela CPU.
™ Armazena temporariamente o resultado de
uma operação realizada pela ALU, de modo que
ele possa ser reutilizado ou enviado para a Acumulador
R1
memória ou IO posteriormente. Isto evita que
a CPU utilize a memória principal para guardar •

resultados parciais de suas operações. • C
Unidade Lógica e
™ Possuem o tamanho da igual ao estabelecido Rn Aritmética Z

pelo fabricante para a palavra (word) do (ALU) S


referido microprocessador/microcontrolador.
/ R i t d
Registradores
O

Flags
Registrador
de status (SR)

Powered by Enderson Neves Cruz 53


Aula 02 – CPU
Dispositivos com função de processamento

Barramento de Dados

Registradores de status Buffer de Dados MBR

Status Register
Status Register

™ Auxilia e completa a realização das operações


lógicas e aritméticas, indicando através dos bits
de estado ou flags,
flags a situação de vários
elementos referentes a operação realizada.
Acumulador
™ O tamanho do registrador de status depende R1
da q
quantidade de flags
g e varia de modelo de •
microprocessador ou microcontrolador. •
• C
Unidade Lógica e
™ Também chamado condition code register ou Rn Aritmética Z
PSW – Program Status Word. (ALU) S
R i t d
Registradores
O

Flags
Registrador
de status (SR)

Powered by Enderson Neves Cruz 54


Aula 02 – CPU
Dispositivos com função de processamento
Funcionamento geral
• O diagrama abaixo mostra um circuito com capacidade de realizar operações matemáticas entre dois valores,
valores
armazenados nos registradores A e B.

• Os registradores A, B e de resultado possuem o mesmo tamanho.

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

Seleciona qual operação


será realizada

Powered by Enderson Neves Cruz 55


Aula 02 – CPU
Dispositivos com função de processamento
Funcionamento geral

O resultado da operação é uma combinação do valor armazenado no


Acumulador e dos bits sinalizadores (flags) do registrador de status

Acumulador ALU Registrador A

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

Seleciona qual operação


será realizada
Sinais da Unidade de controle

Powered by Enderson Neves Cruz 56


Aula 02 – CPU
Dispositivos com função de processamento
Funcionamento geral com acumulador

Acumulador
R1



• C
Unidade Lógica e
Rn Aritmética Z
(ALU) S
Registradores
O

Flags
Registrador
de status (SR)

• Neste modelo,, o Acumulador é utilizado como um registrador


g 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 Acumulador substituindo o valor de um dos
operandos da operação.

Powered by Enderson Neves Cruz 57


Aula 02 – CPU
Dispositivos com função de processamento
Funcionamento geral sem acumulador

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.

Powered by Enderson Neves Cruz 58


Aula 02 – CPU
Dispositivos com função de processamento
Registrador de status (Status Register)
• Flags principais encontrados nos registradores de status:
Flag Nome Descrição

Flag Zero Indica que o resultado da última operação lógica ou


Z
Zero Flag aritmética é zero.

Flag Sinal Indica o sinal do resultado da última operação realizada,


S ou N quando setado indica que o resultado da operação
Sign Flag ou Negative Flag aritmética é um número negativo.

Flag Transporte Indica que na última operação aritmética ocorreu “vai 1”


C para o bit mais a esquerda, chamado MSB (Most
Carry Flag Significant Bit).
Bit)

Flag Estouro Indica que ocorreu um estouro na capacidade de


O ou V ou W
Overflow Flag armazenado do resultado da última operação.

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

Powered by Enderson Neves Cruz 59


Aula 02 – CPU
Dispositivos com função de controle

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

Powered by Enderson Neves Cruz 60


Aula 02 – CPU
Dispositivos com função de controle

Barramento de Dados

Unidade de controle 
Buffer de Dados MBR
Control Unit 

™ É o dispositivo mais complexo da CPU.

Registrador Código de Apontador


™ Possui a lógica e os circuitos necessários para
de instruções instrução
Complementos
de pilha realizar a movimentação ç de dados e
(SP)
instruções de e para a CPU, através de sinais
Contador de de controle que emite em instantes de tempo
Decodificador Programa
de instruções (PC) definidos.

™ 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

Powered by Enderson Neves Cruz 61


Aula 02 – CPU
Dispositivos com função 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

Powered by Enderson Neves Cruz 62


Aula 02 – CPU
Dispositivos com função de controle

Barramento de Dados

Buffer de Dados MBR Decodificador de instruções 


I t ti Decoder
Instruction D d
™ É o responsável por identificar a operação a
Registrador Código de
de instruções instrução
Complementos
Apontador
de pilha
ser executa pela CPU, decodificando a
(SP) i
instrução em sinais
i i ded entrada
d para a unidade
id d
Contador de de controle.
Decodificador Programa
de instruções (PC) ™ Cada instrução possui uma identificação
própria e única.
única
Gerador
de
Unidade ™ O decodificador recebe na entrada o código da
de controle
tempo Buffer de operação, denominado Opcode, que é um
Endereço MAR
conjunto
j de bits específico
p para identificar uma
p
Clock Sinais de controle instrução de máquina.
Internos da CPU
Barramento de
Endereços
Barramento
de Controle

Powered by Enderson Neves Cruz 63


Aula 02 – CPU
Dispositivos com função de controle

Barramento de Dados

Buffer de Dados MBR Registrador de instruções


IR Instruction Register
IR ‐

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

Powered by Enderson Neves Cruz 64


Aula 02 – CPU
Dispositivos com função de controle

Barramento de Dados

Buffer de Dados MBR Contador de programa 


PC Program Counter
PC ‐

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.

Clock Sinais de controle ™ Também chamado contador de instrução (CI).


Internos da CPU
Barramento de
Endereços
Barramento
de Controle

Powered by Enderson Neves Cruz 65


Aula 02 – CPU
Dispositivos com função de controle

Barramento de Dados
Apontador de pilha 
SP ‐ Stack Pointer
Buffer de Dados MBR

™ Contém o endereço do topo de uma pilha de


dados que é usada para armazenar os
endereços de retorno de sub-rotinas e
Registrador Código de
Complementos
Apontador interrupções e também armazenamento
de instruções instrução de pilha
(SP) temporário de dados.
dados
Contador de
Decodificador Programa Registrador de endereço de memória
de instruções (PC)
MAR  ‐ Memory Address Register
Gerador
de
Unidade Registrador de dados da memória
tempo de controle Buffer de
Endereço MAR MBR ‐ Memory Buffer Register
Clock Sinais de controle
Internos da CPU
™ São os registradores utilizados pela CPU para
Barramento de
comunicação e transferência de informações,
Endereços
Barramento dados.
de Controle

Powered by Enderson Neves Cruz 66


Aula 02 – CPU
Arquitetura simplificada da CPU
Barramento de Dados

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

Powered by Enderson Neves Cruz 67


Aula 03 – Memórias
Introdução

Microprocessador Memória Principal M ói


Memórias
São dispositivos que armazenam
informações codificadas digitalmente
que podem representar números,
caracteres instruções,
caracteres, instruções endereços ou
Barramento
Barramento
de Endereços
ços
de Endere qualquer outro tipo de dado.

Barramento
Barramento
de Dados
de Dados

Barramento
Barramento
de Controle
de Controle

Memória Auxiliar
Dispositivos I/O Armazenamento de
massa

Powered by Enderson Neves Cruz 68


Aula 03 – Memórias
Memória Principal e Memória Auxiliar

Memória Principal
p Memória Auxiliar
Semicondutora Armazenamento de massa

• Também chamada Memória de trabalho • Armazena grandes quantidades de dados


• Está em constante comunicação ç com a CPU, p pois • É uma memória não-volátil.
armazena as instruções e dados que a CPU está utilizando • Podem ser magnéticas (Hard Disk, Floppy Disk, etc.), óticas
no momento (CDs, DVDs, etc.) e semicondutoras (pen-drive).
• Um programa permanece na memória principal enquanto • É mais lentas que a memória principal.
está sendo executado, assim como os dados por ele
utilizados.
• É formada pelas memórias RAM e ROM.
• Necessita ser muito rápida, por isso é sempre uma memória
semicondutora.

NÃO SALVEI !!! ...


As memórias chamadas voláteis
As memórias chamadas não
p
perdem os dados q quando o voláteis não perdem os dados
sistema é desligado. Existem quando o sistema é desligado.
diversos tipos de memória volátil,
divididas em grupos (famílias) As ROMs são exemplos de
podendo ser RAM, SAM etc. memórias não voláteis.

Powered by Enderson Neves Cruz 69


Aula 03 – Memórias
Arquitetura básica

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

Powered by Enderson Neves Cruz 70


Aula 03 – Memórias
Terminologia

• 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

Powered by Enderson Neves Cruz 71


Aula 03 – Memórias
Terminologia

• Capacidade ou Densidade – Quantidade de bits que podem ser armazenados na 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

Powered by Enderson Neves Cruz 72


Aula 03 – Memórias
Princípios de operação
Entradas de dados (Inputs)
Os dados a serem armazenados em uma
determinada posição de memória devem ser
Entrada de endereços (Adress)
aplicados nas linhas das entradas de dados
Utilizadas para acessar uma das posições de durante o processo de escrita (Write). Entrada R/W
memória para uma operação de escrita ou
leitura, o código de endereçamento para a Esta entrada controla qual operação
posição desejada deve ser aplicado as será realizada na memória:
entradas de endereço.
endereço Nível Alto (1) Æ Leitura (Read)
São necessárias N entradas de endereço Nível baixo (0) Æ Escrita (Write)
para uma memória com 2N posições de
memória. Outros identificadores: W ou WE

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

Powered by Enderson Neves Cruz 73


Aula 03 – Memórias
Operação de Escrita (Write)
0 1 1 0
Operação de escrita (Write)
1. Selecionar o endereço onde o dado (palavra) será
armazenado, através das linhas das entradas de 0
endereço.
0 0
2. Selecionar a entrada R/W para a operação de escrita, 1
colocando-a
l d no nível
í l lógico
ló i 0 (baixo).
(b i ) 1
0
3. Fornecer os dados (palavra) a serem armazenados 1
colocando-os nas linhas de entrada de dados.
4. Habilitar a memória, ativando a entrada ME, de forma a
fazê-la responder
p ao endereço
ç na entrada e ao comando
de escrita, armazenando assim o dado no endereço
desejado.
5. Manter os dados a serem armazenados e os sinais ativos 00000 0 1 1 0
durante o tempo necessário para a efetivação do processo
de escrita. 00001 1 1 0 0
00010 1 0 1 1
00011 0 0 0 1
Exemplo 00100 0 1 1 0

Escrever a palavra 0110 na posição 0x05 (00101). 00101 0 1


0 1 0
00110 1 0 1 0

11110 1 0 0 0
11111 0 1 1 1

Powered by Enderson Neves Cruz 74


Aula 03 – Memórias
Operação de leitura (read)

Operação de Leitura (Read)


1. Selecionar o endereço onde o dado (palavra) está
armazenado, através das linhas das entradas de
1
endereço.
1 1
2. Selecionar a entrada R/W para a operação de leitura, 1
l d
colocando-a í l lógico
no nível ló i 1 (alto).
( lt ) 1
1
3. Habilitar a memória, ativando a entrada ME, de forma a 0
fazê-la responder ao endereço na entrada e ao comando
de leitura, lendo assim o dado no endereço desejado.
(p
4. Os dados (palavra) ) armazenados apareceram
p nas linhas
de saída de dados.
1 0 0 0

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

Ler a palavra armazenada na posição 30 ou 0x1E (11110b).


( ) 00101 0 0 1 0
00110 1 0 1 0

11110 1 0 0 0
11111 0 1 1 1

Powered by Enderson Neves Cruz 75


Aula 03 – Memórias
Tipos de memória

Memória somente de leitura


ROM - Read-Only Memory
ROM Read-Only Memory Dados gravados na fábrica

PROM Programmable Read-Only Memory Programável somente uma vez

EPROM Erasable Programmable Read-Only Memory Regravável, apaga-se com ultravioleta

EEPROM Electrically-Erasable Programmable Read-Only Memory Regravável, apaga-se eletricamente

FLASH
S Tipo especial de memória
ó EEPROM
O Regravável, apaga-se eletricamente

FRAM Ferroelectric RAM Regravável, como se fosse RAM - 1016

Memória de acesso aleatório (Memória de Leitura/Escrita)


RAM - Random Access Memory

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.

Powered by Enderson Neves Cruz 76


Aula 03 – Memórias
Classificação
As memórias podem ser classificadas de diversas formas.

Acesso aos Endereços Acesso aos Dados


Método de acessar as posições de memória. Método de acessar os dados na memória.

Sequencial Aleatório Somente Leitura Leitura/Escrita (R/W)

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.

Volátil Não volátil

ROM
RAM Flash
SAM Discos Magnéticos
Discos óticos

Powered by Enderson Neves Cruz 77


Aula 03 – Memórias
Memória ROM

• ROM – Read Only Memory Ö Memória Somente de Leitura


• É uma memória não-volátil.
• O processo de inclusão da memória ROM é chamado programação ou queima.
• Este tipo de memória ROM é chamado ROM programada por máscara (MROM), pois
um negativo fotográfico, denominado máscara é usado para especificar as conexões
elétricas do chip.
• A programação da ROM ocorre durante o processo de fabricação de acordo com as
especificações do cliente.
p ç
• Somente utilizadas em aplicações de g
grande volume,, p
para redução
ç de custos

Entrada de endereços ROM Saída de dados

An........A0 MxN On........O0

CS

Entrada de controle

Powered by Enderson Neves Cruz 78


Aula 03 – Memórias
Memória ROM

Exemplo – Memória ROM 16 x 8

Powered by Enderson Neves Cruz 79


Aula 03 – Memórias
Memória ROM

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

• Utliza-se normalmente diodos, transistores bipolares ou MOSFETs (consumo menor)


como células de memória de uma ROM.
ROM
• A Entrada de controle (CS ou EM) é responsável também por realizar o Power down,
ou seja, colocar o chip em stand by (espera) de forma a reduzir o consumo de
energia.
i

Powered by Enderson Neves Cruz 80


Aula 03 – Memórias
Memória ROM

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

Powered by Enderson Neves Cruz 81


Aula 03 – Memórias
Memória ROM

Temporização

Access Time
Tempo de acesso

Valores típicos

Tempos tACC tOE


Transistores
30 a 90ns 10 a 20ns
Bipolares

NMOS 35 a 500ns 25 a 100ns


Output Enable Time
Tempo de habilitação da saída CMOS 20 a 60ns 12 a 50ns
Atraso existente entre a entrada CS
e a saída de dados válidos

Powered by Enderson Neves Cruz 82


Aula 03 – Memórias
Memória ROM

Exemplos comerciais
• Memória ROM 32k x 8 TMS47256 (MROM NMOS)

TMS47256-20NL

General Purpose Mask Programmable ROM


Texas Instruments

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

Powered by Enderson Neves Cruz 83


Aula 03 – Memórias
Memória PROM

• PROM – Programable Read Only Memory


Memória Somente de Leitura Programável

• É uma memória não-volátil.


não-volátil
• A programação da PROM pode ser realizada pelo usuário, de acordo com suas
necessidades.
• São utilizadas conexões a fusível para realizar a programação.
• Uma vez programada não pode ser apagada ou reprogramada.
• Caso os dados ou o programa gravado em uma PROM necessite ser alterado ou
contenha erros, o chip deve ser descartado.
• São também chamadas ROM OTP (One Time Programable) – ROM Programável
apenas uma vez.
• Após programadas comportam-se como uma MROM.

Powered by Enderson Neves Cruz 84


Aula 03 – Memórias
Memória PROM

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

Os fusíveis saem intactos do fabricante.

O usuário pode seletivamente queimar


qualquer fusível para produzir um
conjunto de dados armazenados na
memória.

Powered by Enderson Neves Cruz 85


Aula 03 – Memórias
Memória PROM

Processo de programação ou “Queima”

Neste exemplo, o endereço a


Processo de programação ser gravado os dados ativou a
“Queima” linha 0 das células de memória

1. Selecionar o endereço onde o dado (palavra) será


armazenado, através das linhas das entradas de
endereço.
2. Fornecer os dados (palavra) a serem armazenados +VPP
Q0 Q1
colocando-os nas linhas de entrada de dados.
3. Aplicar um pulso de alta tensão, normalmente entre
10 e 30V em um pino especial de programação Alta
especial do circuito integrado (Vpp) Corrente
• Nas linhas de dados onde foi colocado o nível
lógico 0 uma corrente alta passará pelo fusível,
fazendo com que ele se abra e o nível lógico 0 fica
permanentemente armazenado. Dados a serem
1 0
• Nas linhas de dados onde foi colocado o nível armazenados
lógico 1, tem se em uma extremidade o fusível a
tem-se
+Vdd GND
tensão VPP e na outra Vdd. Isto faz com que uma
corrente bem menor passar pelo fusível,
mantendo-o intacto, garantindo que o valor
armazenado seja o nível lógico 1. Dados
1 0
armazenados

Powered by Enderson Neves Cruz 86


Aula 03 – Memórias
Memória PROM

Processo de programação ou “Queima”


• Exemplo de uma memória PROM 4 x 4 a MOSFET.
Quais fusíveis devem ser
+Vdd queimados para
armazenar os dados
+V
VPP
abaixo nesta memória?

Endereço Dados
A1 A0 D3 - D0
0h 7
1h A
2h 2
3h B

Powered by Enderson Neves Cruz 87


Aula 03 – Memórias
Memória PROM

Processo de programação ou “Queima”


• Exemplo de uma memória PROM 2 x 4 a MOSFET.
Quais fusíveis devem ser
+Vdd queimados para
armazenar os dados
+V
VPP
abaixo nesta memória?

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

Powered by Enderson Neves Cruz 88


Aula 03 – Memórias
Memória PROM

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

Pulso de Programação (VPP) Entrada de controle


Pulse Programming

• O processo de programação e verificação dos dados armazenados normalmente é


realizado através de um equipamento denominado programador.
• A operação de leitura dos dados é idêntica a MROM.
MROM
• A Entrada de controle (CS ou EM) é responsável também por realizar o Power down,
ou seja, colocar o chip em stand by (espera) de forma a reduzir o consumo de
energia
energia.

Powered by Enderson Neves Cruz 89


Aula 03 – Memórias
Memória PROM

Exemplos comerciais
• Memória PROM 32k x 8 TMSPC27256 (OTP ROM CMOS)

TMSPC27256
Texas Instruments

Organization . . . 32768 by 8 Bits


g 5-V Power Supplyy
Single
Pin Compatible With Existing 256K MOS
ROMs, PROMs, and EPROMs
All Inputs /Outputs Fully TTL Compatible
Max Access/Min Cycle Time
VCC ± 10%
’27C/PC256-10 100 ns
Power Saving CMOS Technology
Very High-Speed SNAP! Pulse Programming
3-State Output Buffers
400 V Minimum
400-mV Mi i DC Noise
N i Immunity
I it With
Low Power Dissipation (VCC = 5.5 V)
− Active . . . 165 mW Worst Case
− Standby . . . 1.4 mW Worst Case
Temperature Range Options

Powered by Enderson Neves Cruz 90


Aula 03 – Memórias
Memória EPROM

• EPROM – Erasable Programable Read Only Memory


Memória Somente de Leitura Programável e Apagável
• É uma memória não-volátil.
• Pode ser programada pelo usuário e também pode ser apagada e reprogramada
sempre que desejado.
• O processo de programação e verificação dos dados armazenados normalmente é
realizado através de um equipamento denominado programador, externo ao circuito
onde a EPROM será utilizada em sua operação normal.
Pulso de Programação
Pulse Programming

VPP

Entrada de endereços EPROM Entrada/Saída


de dados
An........A0 MxN Dn........D0

CS

Entrada de controle

Powered by Enderson Neves Cruz 91


Aula 03 – Memórias
Memória EPROM

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

A Porta flutuante (FG) é a


região do transistor
FG – Float Gate
CMOS que possibilita o
Porta Flutuante armazenamento de um
dado
dado.

Substrato

http://tams‐www.informatik.uni‐hamburg.de/applets/cmos/

Powered by Enderson Neves Cruz 92


Aula 03 – Memórias
Memória EPROM

Processo de programação ou “Queima”


• Em seu estado normal, ao aplicar uma tensão entre a porta (G) e o substrato (P), é
desenvolvido um canal que se tornará em um meio de condução entre a fonte (S) e o
dreno (D).
• O transistor funciona como uma chave fechada e caracteriza-se então o nível lógico 1
armazenado na célula.

VGS
- - -- -
- - - - -

Powered by Enderson Neves Cruz 93


Aula 03 – Memórias
Memória EPROM

Processo de programação ou “Queima”


• Quando se aplica uma tensão, um 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 a transferência de elétrons presentes no substrato para a
porta
t flutuante
fl t t sem danificar
d ifi o isolamento.
i l t
• Mesmo após retirar o potencial de gravação VPP estes elétrons armazenados na porta
flutuante não conseguirão retornar ao substrato, pois não existe caminho de
descarga.

VPP Elétrons presos na


porta flutuante

- - - - -- - - - - - -- -

- - - - -- - -
- - - - -
Fluxo de elétrons do
substrato ppara a
porta flutuante

Powered by Enderson Neves Cruz 94


Aula 03 – Memórias
Memória EPROM

Processo de programação ou “Queima”


• Os elétrons presos na porta flutuante criarão um campo contrário ao campo
estabelecido quando se aplica o potencial VGS impossibilitando a formação do canal
e consequentemente a condução desta célula.
• Nesta situação, o transistor funciona como uma chave aberta e caracteriza-se então a
gravação do nível lógico 0 na célula.
Tunelamento
Electron tunneling
Elétrons presos na
porta flutuante
É o processo usado para
alterar a localização dos
elétrons na pporta flutuante.

- - - - -- - VGS
+ ++ +
+ + + +

Powered by Enderson Neves Cruz 95


Aula 03 – Memórias
Memória EPROM

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
+ ++ +
+ + + +

Powered by Enderson Neves Cruz 96


Aula 03 – Memórias
Memória EPROM

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)

• No tempo T1 o dispositivo de gravação deve fornecer o


endereço e o respectivo dado a ser gravado.
• N
Neste
t mesmo instante
i t t o pino
i VPP é levado
l d ao potencial
t i l
necessário de gravação (este potencial varia em
função do modelo de EPROM).
• Após a estabilização dos sinais um pulso (TPW) é dado
no pino de habilitação da memória (CE) com duração
em média de 50ms, para os modelos lentos e 100μs
para as mais rápidas, que levará os bits de dados
assumirem os valores especificados no barramento de
dados.
• Após a gravação o sinal VPP é retirado e o barramento
de dados fica em alta impedância.

Tempo de gravação da programação


• No caso das memórias EPROMs é feito um segundo
passo denominado verificação dos dados que é na
verdade apenas um ciclo de leitura

Powered by Enderson Neves Cruz 97


Aula 03 – Memórias
Memória EPROM

Exemplo – Memória EPROM 2732 4k x 8

Powered by Enderson Neves Cruz 98


Aula 03 – Memórias
Memória EPROM

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

Clocked sense amps for fast access time down to 200 ns


Low CMOS power consumption
Active Power: 55 mW max
Standby Power: 0.55 mW max
Single 5V power supply
Pin compatible with NMOS 64K EPROMs
Fast and reliable programming
Static operation no clocks required
TTL, CMOS compatible inputs/outputs
TRI-STATE output
Specifications guaranteed over full military temperature
range (55ºC tto 125ºC)
VPP Programming Supply Voltage 12.2 - 13.0 - 13.3 V

Powered by Enderson Neves Cruz 99


Aula 03 – Memórias
Memória EPROM

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

Powered by Enderson Neves Cruz 100


Aula 03 – Memórias
Memória EEPROM

• EEPROM – Electrically Erasable Programable Read Only Memory


Memória Somente de Leitura Programável e Apagável Eletricamente
• É uma memória não-volátil.
• Pode ser programada pelo usuário e também pode ser apagada e reprogramada
eletricamente sempre que desejado, diretamente no próprio circuito, sem a
necessidade de retirá-la.
• Também chamada E2PROM.

VPP

Entrada de endereços EEPROM Entrada/Saída


de dados
An........A0 MxN Dn........D0

CS

Entrada de controle

Powered by Enderson Neves Cruz 101


Aula 03 – Memórias
Memória EEPROM

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

Powered by Enderson Neves Cruz 102


Aula 03 – Memórias
Memória EEPROM

Processo de programação ou “Queima”


• O processo de gravação ocorre da mesma forma da EPROM.
• Em seu estado normal, ao aplicar uma tensão entre a porta (G) e o substrato (P), é
desenvolvido um canal que se tornará em um meio de condução entre a fonte (S) e o
dreno (D).
• O transistor funciona como uma chave fechada e caracteriza-se então o nível lógico 1
armazenado na célula.
célula

FG VGS
- - -- -
- - - - -

Powered by Enderson Neves Cruz 103


Aula 03 – Memórias
Memória EEPROM

Processo de programação ou “Queima”


• Quando se aplica uma tensão, um 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 a transferência de elétrons presentes no substrato para a
porta
t flutuante
fl t t sem danificar
d ifi o isolamento.
i l t
• Mesmo após retirar o potencial de gravação VPP estes elétrons armazenados na porta
flutuante não conseguirão retornar ao substrato, pois não existe caminho de
descarga.

VPP Elétrons presos na


porta flutuante

- - --
- - FG - - --
- - FG
- -
- - - - -- - -
- - - - -
Fluxo de elétrons do
substrato ppara a
porta flutuante

Powered by Enderson Neves Cruz 104


Aula 03 – Memórias
Memória EEPROM

Processo de programação ou “Queima”


• Os elétrons presos na porta flutuante criarão um campo contrário ao campo
estabelecido quando se aplica o potencial VGS impossibilitando a formação do canal
e consequentemente a condução desta célula.
• Nesta situação, o transistor funciona como uma chave aberta e caracteriza-se então a
gravação do nível lógico 0 na célula.
Tunelamento
Electron tunneling
Elétrons presos na
porta flutuante
É o processo usado para
alterar a localização dos
elétrons na pporta flutuante.

- - --
- - FG - VGS
+ ++ +
+ + + +

Powered by Enderson Neves Cruz 105


Aula 03 – Memórias
Memória EEPROM

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

Powered by Enderson Neves Cruz 106


Aula 03 – Memórias
Memória EEPROM

Resumo dos processos

Gravando nível lógico 1 Gravando nível lógico 0


Programaçção

VPP
Queimaa

FG - - --
- - FG
-
- - - - -- - -
- - - - -

-VPP
mento

ura
Apagam

Leitu
- - --
- - FG FG VGS
-
- - - - -- - -
- - - - -

Powered by Enderson Neves Cruz 107


Aula 03 – Memórias
Memória EEPROM

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

Temporização da operação de escrita (programação)

Powered by Enderson Neves Cruz 108


Aula 03 – Memórias
Memória EEPROM

Exemplo – Memória EEPROM 2864 8k x 8

Powered by Enderson Neves Cruz 109


Aula 03 – Memórias
Memória EEPROM

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.

Powered by Enderson Neves Cruz 110


Aula 03 – Memórias
Memória EEPROM

Exemplos comerciais
• Memória EEPROM 16kbits M24C16 serial

M24C16
16 Kbit serial
i l I²C b
bus EEPROM
STI

■ Supports both the 100 kHz I2C Standard-mode


and the 400 kHz I2C Fast-mode
■ Single supply voltage:
– 2.5 V to 5.5 V for M24Cxx-W
– 1.8 V to 5.5 V for M24Cxx-Rev 16
– 1.7 V to 5.5 V for M24Cxx-F
■ Write Control input
■ Byte and Page Write (up to 16 bytes)
■ Random and Sequential Read modes
■ Self-timed programming cycle
■ Automatic address incrementing
■ Enhanced
E h d ESD/l
ESD/latch-up
t h protection
t ti
■ More than 1 million write cycles
■ More than 40-year data retention

Powered by Enderson Neves Cruz 111


Aula 03 – Memórias
Memória FLASH

• É uma memória não-volátil.


• Pode ser programada pelo usuário e também pode ser apagada e reprogramada
eletricamente sempre que desejado, diretamente no próprio circuito, sem a
necessidade de retirá-la.
• O apagamento das células ocorre em bloco, onde todas as células no chip são
apagadas, ou por setor, onde setores específicos da matriz de memória podem ser
apagados de uma única vez, mas não se consegue realizar o apagamento byte a
b t
byte.
Pulso de Programação
Pulse Programming

VPP

Entrada de endereços FLASH Entrada/Saída


de dados
An........A0 MxN Dn........D0

CS

Entrada de controle

http://www.cefala.org/~leoca/flash/flash01.html

Powered by Enderson Neves Cruz 112


Aula 03 – Memórias
Memória FLASH

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

Powered by Enderson Neves Cruz 113


Aula 03 – Memórias
Memória FLASH

Resumo dos processos

Gravando nível lógico 1 Gravando nível lógico 0


Programaçção

VPP
Queimaa

- -
- -
- --
-
- - - -- -
- - -- --

-VPP
mento

ura
Apagam

Leitu
-
VGS
- - -
- --
-
- - - -- -
- - -- --

Powered by Enderson Neves Cruz 114


Aula 03 – Memórias
Memória FLASH

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.

Powered by Enderson Neves Cruz 115


Aula 03 – Memórias
Memória FLASH

Exemplo – Memória FLASH CMOS 256K (32K x 8) 28F256A

Flash Electrical Chip-Erase -1 Second Typical Chip-Erase


Quick-Pulse Programming Algorithm
10 ms Typical Byte-Program
0.5 Second Chip-Program
100,000 Erase/Program Cycles
12.0V ±5% VPP
High-Performance Read - 120 ns Maximum Access Time
CMOS LowL Power
P Consumption
C ti
10 mA Typical Active Current
50 mA Typical Standby Current
0W Data Retention Power
g
Command Register Architecture for Microprocessor/Microcontroller
p

Powered by Enderson Neves Cruz 116


Aula 03 – Memórias
Memória FLASH

Exemplo – Memória FLASH CMOS 256K (32K x 8) 28F256A

Powered by Enderson Neves Cruz 117


Aula 03 – Memórias
Memória FLASH

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.

Powered by Enderson Neves Cruz 118


Aula 03 – Memórias
Memórias ROM

Resumo

vo
Pode ser apagada
p g eletricamente,, diretamente

o dispositiv
no circuito, byte a byte.
EEPROM

Pode ser apagada eletricamente, diretamente

Complexidade e custo do
no circuito, por setor ou toda de uma vez. FLASH

Pode ser apagada toda de uma vez com luz


ultravioleta. Apagada e reprogramada fora do EPROM
circuito

Não pode ser apagada nem reprogramada MROM e PROM

Powered by Enderson Neves Cruz 119


Aula 03 – Memórias
Memória RAM

• RAM – Random Access Memory


Memória de acesso aleatório
• É uma memória volátil.
• O termo RAM quer dizer que qualquer posição de memória possui a mesma facilidade
de acesso. Porém, muitos tipos de memória (ROM, EPROM, etc.) possuem esta
característica de acesso aleatório.
• Conceitualmente, as memórias RAM são aquelas que permitem operações de
leitura e escrita, em oposição as memórias ROM que são somente de leitura.
• São utilizadas p
para armazenar p
programas
g e/ou dados temporariamente.
p
• A medida que um programa vai sendo executado, o conteúdo de muitas posições de
uma memória RAM podem ser lidos e escritos, por isso os ciclos de leitura e escrita
de uma RAM precisam ser muito rápidos para não impactar na performance do
sistema.

Powered by Enderson Neves Cruz 120


Aula 03 – Memórias
Memória RAM

• Existem duas famílias de memória RAM:


SRAM – São aquelas que mantêm os dados armazenados enquanto a alimentação
do circuito for mantida. Utiliza flip-flops como células de memória.
DRAM – Utilizam capacitores como células de memória, consequentemente a
medida que o capacitor vai se descarregando o dado armazenado vai também
desaparecendo. Sendo assim, de tempos em tempos é necessário recarregar o
capacitor.
capacitor

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

Powered by Enderson Neves Cruz 121


Aula 03 – Memórias
Memória SRAM

• SRAM – Static Random Access Memory


Memória de acesso aleatório estática
• É uma memória volátil.
• As memórias estáticas mantêm os dados armazenados enquanto a alimentação do
circuito for mantida.

Entrada
Leitura / Escrita

R/W

Entrada de endereços SRAM Entrada/Saída


de dados
An........A0 MxN Dn........D0

CS

Entrada de controle

Powered by Enderson Neves Cruz 122


Aula 03 – Memórias

• S i RAM
Static

Bit line
Word line

R/W

Dado

Powered by Enderson Neves Cruz 123


Aula 03 – Memórias
Memória SRAM

Exemplo – Memória SRAM (8K x 8) MCM6264C

8K x 8 Bit Fast Static RAM


The MCM6264C is fabricated using Motorola’s high–performance
silicon–gate CMOS technology.
JEDEC standard
Single 5 V ± 10% Power Supply
Fully Static — No Clock or Timing Strobes Necessary
Joint Electron Devices Engineering Council (JEDEC)
Fast Access Times: 12, 15, 20, 25, and 35 ns
Equal Address and Chip Enable Access Times
Output Enable (G) Feature for Increased System Flexibility and to
Eliminate Bus Contention Problems
Low Power Operation: 110 – 150 mA Maximum AC
Fully TTL Compatible — Three State Output

Powered by Enderson Neves Cruz 124


Aula 03 – Memórias
Memória DRAM

• DRAM – Dinamic Random Access Memory


Memória de acesso aleatório dinâmica
• É uma memória volátil.
• As memórias dinâmicas mantêm os dados armazenados enquanto a alimentação do
circuito for mantida.

Seleção da coluna Seleção da linha


de endereço de endereço

CAS RAS

Entrada de endereços DRAM Entrada/Saída


de dados
An........A0 MxN Dn........D0

R/W CS

Entrada Entrada de
Leitura / Escrita controle

Powered by Enderson Neves Cruz 125


Aula 03 – Memórias
Memória DRAM

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

NMOS NMOS NMOS

++ ++
Capacitor Capacitor
Capacitor
p carregado g
descarregado

Armazenando o nível alto (1) Armazenando o nível baixo (0)

Powered by Enderson Neves Cruz 126


Aula 03 – Memórias
Memória DRAM

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

Powered by Enderson Neves Cruz 127


Aula 03 – Memórias
Memória DRAM

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.

Powered by Enderson Neves Cruz 128


Aula 03 – Memórias
Memória DRAM

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.

Powered by Enderson Neves Cruz 129


Aula 03 – Memórias
Memória DRAM

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

Chaves S2, S3 e S4 fechadas.


1
A chaves S1 é mantidas fechada
fechada.

Powered by Enderson Neves Cruz 130


Aula 03 – Memórias
Memória DRAM

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.

Powered by Enderson Neves Cruz 131


Aula 03 – Memórias
Memória DRAM

Multiplexação de endereços

RAS
Row Address Strobe

O sinal RAS (strobe de endereço


de
d lilinha)
h ) comanda
d o Latch de endereço da
armazenamento dos bits menos coluna
significativos no registrador (latch)
interno do chip. Decodificador do endereço
da coluna
CAS
Column Address Strobe
h do endereço

ereço da linha
codificador do

O sinal CAS (strobe de endereço


da linha

de coluna) comanda o
armazenamento dos bits mais
Latch

ende

significativos no registrador (latch)


Dec

interno do chip.

Amplificadores de
Refresh e controle
de
d entrada/saída
t d / íd

Powered by Enderson Neves Cruz 132


Aula 03 – Memórias
Memória DRAM

Multiplexação de endereços

1 1. A parte baixa do endereço desejado é


colocado na entrada de endereços (Adress
Bus)
2 A RAS é ativado armazenando nos
2.
registradores de endereço de linha, os bits
menos significativos do endereço.
4
3. O decodificador do endereço da linha
Latch de endereço
ç da seleciona a linha correspondente.
p
coluna
4. A parte alta do endereço é colocado na
Decodificador do endereço entrada de endereços
da coluna
5. A CAS é ativado armazenando nos
registradores de endereço de coluna,
coluna os bits
atch do endereço

mais significativos do endereço.


da linha
Decodificador do
da linha

6. O decodificador do endereço da coluna


endereço

seleciona a coluna correspondente. E


3
consequentemente a célula desejada.
D
La

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.

Powered by Enderson Neves Cruz 133


Aula 03 – Memórias
Memória DRAM

Multiplexação de endereços
• Exemplo de uma DRAM 16k x 1

Powered by Enderson Neves Cruz 134


Aula 03 – Memórias
Memória DRAM

Multiplexação de endereços
• Exemplo de uma DRAM 16k x 1

Observe que se a memória


fosse de outro tipo todas
as linhas de endereço No caso da DRAM
deveria estar conectadas a somente metade das
memória linhas são utilizadas.

Powered by Enderson Neves Cruz 135


Aula 03 – Memórias
Memória DRAM

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.

Powered by Enderson Neves Cruz 136


Aula 03 – Memórias
Memória DRAM

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.

Powered by Enderson Neves Cruz 137


Aula 03 – Memórias
Memória DRAM

Temporização

Ciclo de Leitura

Powered by Enderson Neves Cruz 138


Aula 03 – Memórias
Memória DRAM

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

• Existem dois métodos de refresh:


9 Refresh em rajada
j ((busrt)) – onde a operação
p ç p , até q
normal da memória é suspensa, que
todas as linha tenham sido refrescadas

9 Refresh distribuído – onde o processo de refrescamento é intercalo com as operações


normais.

Powered by Enderson Neves Cruz 139


Aula 03 – Memórias
Memória DRAM

Encapsulamentos

DIP - Dual In-Line Package

SIPP - Single
Si l In-line
I li Pin
Pi Package
P k

SIMM 30 pinos - Single In-line Memory Module

SIMM 72 pinos - Single In-line Memory Module

DIMM 168 pinos - Dual In-line Memory Module

DIMM 184 pinos - Dual In-line Memory Module

Powered by Enderson Neves Cruz 140


Aula 03 – Memórias
Memória DRAM

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.

9 DDR SDRAM - Double Data Rate SDRAM


9 DDR2 SDRAM
9 DDR3 SDRAM

Powered by Enderson Neves Cruz 141


Aula 03 – Memórias
Memória RAM

Comparativo

Parâmetro SRAM DRAM Observações


Tamanho e
DRAM utiliza apenas um transistor e um capacitor enquanto
Complexidade X a SRAM apresenta um maior número de componentes.
d célula
da él l

A DRAM ocupa menos espaço interno da pastilha e


Tamanho da memória X externamente apresenta um aproveitamento maior através
da multiplexação das linhas de endereço.

A SRAM excetuando a sua célula apresenta uma estrutura


Complexidade do
circuito X de suporte bem mais simples, pois não faz multiplexação de
endereços e não necessita de refresh.

Capacidade de A multiplexação de endereços duplica a capacidade de


endereçamento X endereçamento de uma DRAM.

A SRAM não faz multiplexação,


p ç , apresenta
p um amplificador
p
T
Tempo de
d resposta
t X com resposta mais rápida e não necessita de refresh.

A DRAM apresenta a maior relação capacidade de


Custo X armazenamento/preço

Powered by Enderson Neves Cruz 142


Aula 03 – Memórias
Expansão de memórias

• Na maioria das aplicações, a capacidade requerida e o tamanho da palavra necessária nem


sempre são alcançados com um único chip.
chip

• Além disso, geralmente necessita-se de memórias de tipos diferentes e tamanhos


diferentes conectados a um mesmo sistema.

• 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).

• Banco de memória é a combinação de chips (blocos) de capacidade inferior atuando como um


único chip ou bloco de memória.
memória
Expansão do Expansão da
tamanho da palavra capacidade

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

Powered by Enderson Neves Cruz 143


Aula 03 – Memórias
Expansão de memórias

Expansão do tamanho da palavra


• A expansão do tamanho da palavra consiste em aumentar o número de bits de dados.
• Para isto, basta conectar todas as linhas de endereço dos chips que constituíram o banco (A0 com
A0, A1 com A1 e assim por diante), assim como as linhas de controle (CS, R/W, etc.) e definir
quais os chips serão os bits de dados mais significativos e quais serão os menos significativos, ou
seja, a ordem dos bits de dados.
R/W D7
D6

A3 D5
D4
A2 16 x 8 D3
A1
D2
A0 D1
CS D0

Ordem dos bits de dados

RAM-0 DB4 a DB7 Bits mais significativos

RAM-1 DB0 a DB3 Bits menos significativos

DB0 a DB7
Total do módulo
8 bits

Powered by Enderson Neves Cruz 144


Aula 03 – Memórias
Expansão de memórias

Expansão do tamanho da palavra


• Exemplo: Banco de memória 1k x 8 formado por 8 chips de 1k x 1

Powered by Enderson Neves Cruz 145


Aula 03 – Memórias
Expansão de memórias

Expansão do tamanho da palavra


• Exemplo: Banco de memória DRAM 4M x 8 formado por 8 chips de 4M x 1 (TMS44100)

Powered by Enderson Neves Cruz 146


Aula 03 – Memórias
Expansão de memórias

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

Faixa de endereços O inversor é utilizado para


controlar o sinal de habilitação
do chip (CS), quando em nível
RAM-0 00000 a 01111
alto as saídas estão
desabilitadas (nível alto).
RAM-1 10000 a 11111

00000 a 11111
Total do módulo 32 x 4
32 palavras

Powered by Enderson Neves Cruz 147


Aula 03 – Memórias
Expansão de memórias

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

• Neste caso, as entradas do decodificador são as linhas do barramento de endereços mais


significativas e as saídas são conectadas as entradas de habilitação do chip (CS).

Faixa de endereços

PROM-0 0000 a 07FF

PROM-1
PROM 1 0800 a 0FFF

PROM-2 1000 a 17FF

PROM-3 1800 a 1FFF

0000 a 1FFF
Total do módulo 8k x 8
8192 palavras

Powered by Enderson Neves Cruz 148


Aula 03 – Memórias
Expansão de memórias

Expansão da capacidade
• É extremamente comum a utilização de dispositivos de diferentes tipos e tamanhos em um
mesmo sistema de memória.

• Neste sistema cada tipo de memória tem um papel específico no sistema:


™ Uma memória não volátil armazena as instruções do programa.
™ Uma memória volátil de leitura/escrita armazena os dados e programas temporários.
™ Outra memória não volátil (EEPROM ou FLASH) armazena os dados processados que não
podem ser perdidos.

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

• Quando se utiliza, memórias de tamanhos diferentes pode ocorrer a ocupação de modo


redundante de áreas de memória,
memória denominadas áreas de memória refletida.
refletida Isto ocorre devido a
decodificação incompleta de endereços dos blocos de memória com tamanho menor, pois nem
todas as linhas de endereço são conectadas ao barramento.

Powered by Enderson Neves Cruz 149


Aula 03 – Memórias
Expansão de memórias

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

Faixa de endereços Disponível


Neste exemplo, a capacidade de
PROM-0 0000 a 1FFF endereçamento da EEPROM é inferior a
dos demais blocos. Duas linhas de
PROM-1 2000 a 3FFF
endereço não são utilizadas A11 e A12
RAM 4000 a 5FFF não fazem pparte da decodificação
ç deste
chip, criando a memória refletida.
EEPROM 6000 a 67FF FFFF

Powered by Enderson Neves Cruz 150


Aula 03 – Memórias
Hierarquia de memória

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

Powered by Enderson Neves Cruz 151


Aula 03 – Memórias

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

Powered by Enderson Neves Cruz 152

Você também pode gostar