Você está na página 1de 139

Universidade Federal de Gois

Escola de Engenharia Eltrica e de Computao

MICROPROCESSADORES E MICROCONTROLADORES
Parte 1
Jos Wilson Lima Nerys
www.eee.ufg.br/~jwilson
jwilson@eee.ufg.br

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

MICROPROCESSADORES E MICROCONTROLADORES
Conceitos Bsicos e Princpios de
Microprocessadores 8085 e 8086/8088
e Microcontrolador 8051

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Evoluo de Conhecimentos at
Microprocessadores
Materiais Eltricos Estudo de materiais isolantes, condutores e semicondutores
caractersticas.

Juno PN  Diodo

P
P

Transistores de Juno PNP e NPN


N

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Eletrnica Aplicaes de Diodos e Transistores retificadores, amplificadores,


ceifadores, filtros, multivibradores biestveis.

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Sistemas Digitais Sistemas de numerao e cdigos binrios. Portas


Lgicas. lgebra Booleana. Circuitos lgicos combinacionais. Codificadores,
decodificadores, multiplexadores e demultiplexadores. Aritmtica binria.
Circuitos lgicos seqenciais (contadores e registradores).

Flip-flop
Porta NAND

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Contadores
Registradores

Flip-flops

Microprocessador
Somadores

Codificadores
Decodificadores

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Microprocessador
CPU

a CPU de um computador construdo num


nico Circuito Integrado. Contm
essencialmente a unidade de controle, a
unidade lgica e aritmtica e registradores

Registradores
Unidade Controle

(Acumulador e outros). Precisa de


perifricos tais como memria e unidade de

ULA

entrada e sada, para a formao de um


sistema mnimo.

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Unidade Central de Processamento (CPU)


Unidade de Controle (UC) - tem por funo bsica o controle das
demais unidades da CPU atravs de sinais para transferncia de dados
e sinais de sincronismo entre unidades.
Por exemplo: a unidade de controle responsvel por enviar um sinal
de leitura de uma instruo da memria ROM e sinais para transferncia
dessa instruo para a unidade de decodificao e, na sequncia, sinais
para as outras unidades que executaro a instruo, em uma sequncia
lgica.

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Unidade Central de Processamento (CPU)


Unidade Lgica e Aritmtica (ULA ou ALU) - realiza funes bsicas
de processamento de dados (adio, subtrao, funes lgicas, etc.).

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Unidade Central de Processamento (CPU)


Registradores - So usados para o armazenamentos internos da CPU.
Existem diversos registradores na CPU e o principal deles chamado de
Acumulador.
Os registradores so construdos com flip-flops, que podem reter
(armazenar) dados. O acumulador contm um dos dados usados na
operao que se deseja e ainda o resultado da operao, que substitui o
dado original.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


10Ncleo
Prof. Jos Wilson Lima Nerys

10

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Microcontrolador
Computador completo construdo num nico Circuito Integrado.
Os microcontroladores so normalmente utilizados para aplicaes
especficas, tais como sistemas de segurana, controle de velocidade de um
motor e outros. Eles contm, dentre outras unidades, portas de entrada e sada
seriais e paralelas, temporizadores, controles de interrupo, memrias RAM e
ROM.
CPU
Registradore
s
Unidade
Controle
ULA

Memria

Unidade de
Entrada e
Sada

de Estudo e Pesquisa em Processamento de Energia e Qualidade


11Ncleo
Prof. Jos Wilson Lima Nerys

11

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Memria RAM Permite a leitura e a


gravao de dados.
Memria Dinmica (DRAM) Baixa densidade,
mas lenta. Capacitores com circuitos com
atualizao de dados - refresh.
Memria esttica (SRAM) Alta densidade.
Rpida. Baseada em Flip-flops.
Memria CACHE - Pequena quantidade de
memria RAM esttica (SRAM) usada para
acelerar o acesso memria principal (RAM
dinmica).
Quando h necessidade de transferir dados da
(para) memria dinmica, estes so antes
transferidos para a memria cache

de Estudo e Pesquisa em Processamento de Energia e Qualidade


12Ncleo
Prof. Jos Wilson Lima Nerys

12

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Memria ROM (Read-Only Memory)


Memria que permite apenas a leitura, ou seja, as suas informaes so
gravadas pelo fabricante uma nica vez (no caso do tipo PROM) e aps
isso no podem ser alteradas ou apagadas, somente acessadas.
Alguns tipos de memria ROM:

PROM (Programmable Read-Only Memory) Podem ser escritas com


dispositivos especiais mas no podem mais ser apagadas.

EPROM (Erasable Programmable ReadOnly Memory) Podem ser apagadas pelo


uso de radiao ultravioleta permitindo sua
reutilizao.
Exemplo para o caso do 8051:
Microcontrolador 8751
de Estudo e Pesquisa em Processamento de Energia e Qualidade
13Ncleo
Prof. Jos Wilson Lima Nerys

13

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

EEPROM (Electrically Erasable


Programmable Read-Only Memory) O
seu contudo pode ser modificado
eletricamente.
Exemplo: EEPROM AT28C64 Memria
com 8 K de 8 bits

Memria FLASH So semelhantes


s EEPROMs, porm mais rpidas e de
menor custo.
Exemplo: Microcontrolador AT89S52

de Estudo e Pesquisa em Processamento de Energia e Qualidade


14Ncleo
Prof. Jos Wilson Lima Nerys

14

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Unidade de Entrada e Sada (I/O)


A entrada de dados de um microprocessador (via teclado, mouse ou
outros dispositivos) e a sada de dados (via vdeo, impressora ou
outros) exige circuito integrado adicional como interface.
Dois exemplos:
CI 8156 - RAM e porta de entrada e sada e
CI 8355 ROM e portas de entrada e sada)
O microcontrolador j possui essas unidades internamente.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


15Ncleo
Prof. Jos Wilson Lima Nerys

15

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Definies Bsicas de
Microprocessadores

de Estudo e Pesquisa em Processamento de Energia e Qualidade


16Ncleo
Prof. Jos Wilson Lima Nerys

16

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

ndice de Desempenho de Processadores


O aumento de desempenho (velocidade de processamento) de
processadores est relacionado com os seguintes aspectos:
Aumento de clock
Aumento do nmero interno de bits
Aumento do nmero externo de bits
Reduo do nmero de ciclos para executar cada instruo
Aumento da capacidade e velocidade da memria cache
Execuo de instrues em paralelo

de Estudo e Pesquisa em Processamento de Energia e Qualidade


17Ncleo
Prof. Jos Wilson Lima Nerys

17

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Aumento de Clock
O sinal de clock responsvel pelo sincronismo entre as unidades de
processamento internas ao microprocessador e pelas unidades
externas. Quanto maior a frequncia de clock mais rpido o
processamento. No entanto, no se pode aumentar de forma
indefinida

essa

frequncia.

Isso

pode

causar

falhas

de

processamento e sobreaquecimento. O aumento depende de


pesquisas com o objetivo de reduzir o tamanho dos componentes
bsicos do microprocessador e aumento da quantidade de
componentes, sem perda de estabilidade no funcionamento.
de Estudo e Pesquisa em Processamento de Energia e Qualidade
18Ncleo
Prof. Jos Wilson Lima Nerys

18

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Aumento do nmero interno de bits


Uma maior quantidade de bits dos registradores e dos barramentos
internos permite a movimentao de uma maior quantidade de dados
por unidade de tempo, aumentando o desempenho do
microprocessador.
Aumento do nmero externo de bits
Um nmero maior de bits externos permite a movimentao de uma
maior quantidade de dados por unidade de tempo com os perifricos,
tais como memria, unidade de entrada e sada, controlador de acesso
direto memria (DMA).
de Estudo e Pesquisa em Processamento de Energia e Qualidade
19Ncleo
Prof. Jos Wilson Lima Nerys

19

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Reduo do nmero de ciclos para executar cada instruo


A execuo de uma instruo normalmente feita em duas etapas:
busca (onde a instruo transferida da memria para a unidade de
decodificao) e execuo (onde os sinais de controle ativam, em uma
sequncia lgica, todas as unidades envolvidas na execuo).
No microprocessador 8085 as instrues mais rpidas so executadas
em quatro ciclos de clock; as mais lentas, em at 16 ciclos de clock. A
reduo do nmero de ciclos de clock na execuo de uma instruo
torna o processamento mais rpido.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


20Ncleo
Prof. Jos Wilson Lima Nerys

20

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Aumento da capacidade e velocidade da memria cache


Como j foi dito anteriormente, ao longo dos anos, o aumento de velocidade de
processamento dos microprocessadores tem sido muito maior do que o
aumento da velocidade de acesso memria principal. Assim, a velocidade de
acesso memria principal torna-se um limitador de desempenho dos
processadores. Em razo desse problema foi criada a memria cache. A
memria cache (constituda de memria RAM esttica) usada para acelerar a
transferncia de dados entre a CPU e a memria principal (constituda de RAM
dinmica, de menor volume, porm mais lenta). O aumento da capacidade e da
velocidade da memria cache resulta no aumento da velocidade de
transferncia

de

dados

entre

CPU

memria

principal

e,

consequentemente, resulta no aumento do desempenho global do sistema.


de Estudo e Pesquisa em Processamento de Energia e Qualidade
21Ncleo
Prof. Jos Wilson Lima Nerys

21

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Execuo de instrues em paralelo


O microprocessador 8085 compartilha um barramento comum entre
suas unidades internas e seus perifricos, o que significa dizer que no
permite a execuo simultnea de duas operaes que utilizem o
barramento. Assim, apenas uma instruo executa por vez. Uma
arquitetura que permita que duas ou mais operaes sejam executadas
simultaneamente torna o processamento mais rpido.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


22Ncleo
Prof. Jos Wilson Lima Nerys

22

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

MIPS - Millions of Instructions Per Seconds (Milhes de Instrues Por


Segundo): uma unidade de desempenho do microprocessador.
FLOPS - FLOating point instructions Per Seconds (Instrues com
Ponto Flutuante Por Segundo). tambm uma unidade de
desempenho do microprocessador. Indica a capacidade de trabalhar
com nmeros decimais.
Representao em Ponto Fixo - Sistema numrico no qual o ponto
est implicitamente fixo ( direita do digito mais a direita).
Representao em Ponto Flutuante - Sistema numrico no qual um
nmero real representado por um par distinto de numerais: uma
mantissa (ou significante) e um expoente. Possibilita representao de
nmeros fracionrios.
de Estudo e Pesquisa em Processamento de Energia e Qualidade
23Ncleo
Prof. Jos Wilson Lima Nerys

23

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Bit
Abreviatura para Binary Digit, ou, Dgito Binrio. Pode assumir
valor 0, que corresponde a tenso O V, ou 1, que representa
normalmente uma tenso de 5 V ou 3,3 V.

Byte
Conjunto de 8 bits. a unidade bsica de dados nos
computadores, que tambm utilizam alguns mltiplos de 8, tais
como 16 bits (Word) e 32 bits (Dword).

de Estudo e Pesquisa em Processamento de Energia e Qualidade


24Ncleo
Prof. Jos Wilson Lima Nerys

24

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Set de Instrues
Conjunto de Instrues - Conjunto de Mnemnicos (siglas que
fazem lembrar uma ao) que representam todas as instrues do
processador. Cada processador possui o seu set de instrues
particular. O microprocessador 8085 possui 74 instrues.

BIOS
Basic Input/Output System o conjunto mnimo de instrues
necessrias para a inicializao do computador. Tambm gerencia
o fluxo de dados entre o sistema operacional do computador e os
dispositivos perifricos conectados.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


25Ncleo
Prof. Jos Wilson Lima Nerys

25

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Alguns Exemplos de Aplicao de Microprocessadores


e Microcontroladores
Microcomputadores, Calculadoras, Relgios Digitais,
Controle de Fornos Micro-ondas, Lavadora de Roupas,
Video Games e outros brinquedos, Controle de Motores,
Controle de Trfego, Alarmes e Sistemas de Segurana,
Telefone Celular.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


26Ncleo
Prof. Jos Wilson Lima Nerys

26

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Alguns Exemplos de Projetos Finais Implementados


Usando Microcontroladores na EEEC
Controle Escalar de Motor de Induo, Controle de Motor de Corrente
Contnua, Sistema de Controle de Porto Eletrnico, Sistema de Controle
de Acesso ao Laboratrio, Sistema de Controle de Presena em Sala de
Aula (Dirio Eletrnico), Sistema de Controle de Umidade e Temperatura
de uma Sala, Sistema de Monitoramento de Batimentos Cardacos,
Sistema de Monitoramento de Temperatura e Umidade de Estufas,
Sistema de Controle de Acesso a Estacionamentos, Sistema de
Monitoramento de Tarifao de Telefone, Sistema de Controle para
Centrfugas de Apirios, Sistema de Suporte para Deficientes Visuais.
de Estudo e Pesquisa em Processamento de Energia e Qualidade
27Ncleo
Prof. Jos Wilson Lima Nerys

27

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Sistemas de Numerao

de Estudo e Pesquisa em Processamento de Energia e Qualidade


28Ncleo
Prof. Jos Wilson Lima Nerys

28

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Sistema Posicional Sistema no Posicional

de Estudo e Pesquisa em Processamento de Energia e Qualidade


29Ncleo
Prof. Jos Wilson Lima Nerys

29

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Sistema Posicional Sistema no Posicional

de Estudo e Pesquisa em Processamento de Energia e Qualidade


30Ncleo
Prof. Jos Wilson Lima Nerys

30

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Sistema Binrio - O sistema binrio o sistema de numerao que o


computador entende.
Utiliza 2 dgitos: 0 e 1 ou (OFF e ON) ou (0V e 5V) ou (0V e 3,3V).
Exemplo: 1 1 0 0 1 0 1 12
1o dgito: Armazena o equivalente a 20 (1). No ex.: 1 20
2o dgito: Armazena o equivalente a 21 (2). No ex.: 1 21
3o dgito: Armazena o equivalente a 22 (4). No ex.: 0 22

8o dgito: Armazena o equivalente a 27 (128): No ex.: 1 27


A soma destas parcelas resulta no seguinte equivalente decimal:
1 + 2 + 0 + 8 + 0 + 0 + 64 + 128 = 20310
de Estudo e Pesquisa em Processamento de Energia e Qualidade
31Ncleo
Prof. Jos Wilson Lima Nerys

31

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

No sistema binrio a ponderao dada pelo nmero 2 elevado


potncia representada pela coluna, sendo que a 1a coluna 0, a
segunda coluna 1 e assim sucessivamente.

1 kbyte = 210 = 1.024 bytes


1 Mbyte = 210 x 210 = 1.048.576 bytes = 1.024 kbytes;
1 Gbyte = 210 x 210 x 210 = 1.073.741.824 bytes = 1.024 Mbytes

de Estudo e Pesquisa em Processamento de Energia e Qualidade


32Ncleo
Prof. Jos Wilson Lima Nerys

32

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Sistema BCD (Binary-Coded Decimal) O Sistema BCD o sistema


em que se combina o sistema binrio e o sistema decimal.
utilizado como formato de sada de instrumentos.
Utiliza 2 dgitos: 0 e 1 que so dispostos em grupos de 4 dgitos,
utilizados para representar um dgito decimal (nmero 0 at 9).
A representao de um nmero maior que 9 deve ser feita por outro
grupo de 4 bits, com a ponderao dada pelo sistema decimal.
Exemplo: 97310 = 1001 0111 0011.
Note a diferena entre este valor e o valor do nmero binrio
1001 0111 00112 = 241910
de Estudo e Pesquisa em Processamento de Energia e Qualidade
33Ncleo
Prof. Jos Wilson Lima Nerys

33

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Sistema Octal - O Sistema Octal baseado nos mesmos princpios do


decimal e do binrio, apenas utilizando base 8.
Utiliza 8 dgitos: 0 a 7.
Exemplo: 32078
1o dgito: Armazena o equivalente a 80 (1).
2o dgito: Armazena o equivalente a 81 (8).
3o dgito: Armazena o equivalente a 82 (64).
4o dgito: Armazena o equivalente a 83 (512).

No ex.: 7 80
No ex.: 0 81
No ex.: 2 82
No ex.: 3 83

O equivalente decimal : 7 + 0 + 128 + 1536 = 167110


de Estudo e Pesquisa em Processamento de Energia e Qualidade
34Ncleo
Prof. Jos Wilson Lima Nerys

34

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Sistema Hexadecimal - O Sistema Hexadecimal baseado nos


mesmos princpios do decimal e do binrio, apenas utilizando base 16.
Utiliza 16 dgitos: 0 a 9, A, B, C, D, E, F.
Exemplo: 20DH ou 20Dh ou 20D16
1o dgito: Armazena o equivalente a 160 (1).

No ex.:13 160

2o dgito: Armazena o equivalente a 161 (16).

No ex.: 0 161

3o dgito: Armazena o equivalente a 162 (256).

No ex.: 2 162

O equivalente decimal : 13 + 0 + 512 = 52510

de Estudo e Pesquisa em Processamento de Energia e Qualidade


35Ncleo
Prof. Jos Wilson Lima Nerys

35

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Converso de Base
O sistema hexadecimal mais fcil de trabalhar que o sistema binrio e
geralmente utilizado para escrever endereos.
Na converso de hexadecimal para binrio, cada dgito hexadecimal
convertido em 4 dgitos binrios equivalentes.
Exemplo: 7 D 3 F16 = 0111 1101 0011 11112
Na converso de binrio para hexadecimal, cada grupo de 4 dgitos
binrios convertido em 1 dgito hexadecimal equivalente.
Ex.: 10100001101110002 = 1010 0001 1011 10002 = A 1 B 816
de Estudo e Pesquisa em Processamento de Energia e Qualidade
36Ncleo
Prof. Jos Wilson Lima Nerys

36

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Converso de Base

Representao: r2 r1 r0
Valor hexadecimal correspondente a 1234: 4D2h
de Estudo e Pesquisa em Processamento de Energia e Qualidade
37Ncleo
Prof. Jos Wilson Lima Nerys

37

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Converso de Base (algoritmo genrico)


A diviso termina quando
o quociente zero

Se q0 = 0  Valor = q0 B+ r0 = 0.B + r0 = r0
Se q1 = 0  Valor = q0 B+ r0
q0= q1 .B + r1 = 0.B + r1 = r1
ou, Valor = r1 .B+ r0  Representao: r1 r0
Se q2 = 0  Valor = q0 B+ r0 , q0= q1 .B + r1
q1= q2 .B + r2 = 0.B + r2 = r2
Valor = r2 B2 + r1 B + r0  Representao: r2 r1 r0
de Estudo e Pesquisa em Processamento de Energia e Qualidade
38Ncleo
Prof. Jos Wilson Lima Nerys

38

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Representao de nmeros positivos e negativos

de Estudo e Pesquisa em Processamento de Energia e Qualidade


39Ncleo
Prof. Jos Wilson Lima Nerys

39

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Valor Simtrico de um Nmero


Nmero binrio:
a = (complemento de 1 de a) + 1 =
= complemento de 2 de a

= 2n a

Nmero decimal:
a = (complemento de 9 de a) + 1 =
= complemento de 10 de a

= 10n a

de Estudo e Pesquisa em Processamento de Energia e Qualidade


40Ncleo
Prof. Jos Wilson Lima Nerys

40

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Subtrao Usando Adio


Nmero binrio:
a b = a + (complemento de 2 de b) 
a b = a + (2n b)
Exemplo para um nmero binrio de 4 dgitos:
a 1 = a + (24 1) = a + (10000 0001) = a + 1111
a 3 = a + (24 3) = a + (10000 0011) = a + 1101
Se a = 1001 (910)  a 1 = 1001 0001 = 1000
 a 3 = 1001 0011 = 0110
ou
a 1 = 1001 + 1111 = 1 1000 (despreza-se o quinto dgito)
a 3 = 1001 + 1010 = 1 0110 (nmero de 4 dgitos)
de Estudo e Pesquisa em Processamento de Energia e Qualidade
41Ncleo
Prof. Jos Wilson Lima Nerys

41

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Subtrao Usando Adio


Nmero decimal:
a b= a + (complemento de 10 de a)
a b = a + (10n b)
Exemplo para um nmero decimal de 2 dgitos:
a 1 = a + (102 1) = a + (100 1) = a + 99
a 3 = a + (102 3) = a + (100 3) = a + 97
Se a = 94  a 1 = 94 1 = 93
 a 3 = 94 3 = 91
ou
a 1 = 94 + 99 = 1 93 (despreza-se o terceiro dgito)
a 3 = 94 + 97 = 1 91
(o nmero de 2 dgitos)
de Estudo e Pesquisa em Processamento de Energia e Qualidade
42Ncleo
Prof. Jos Wilson Lima Nerys

42

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Operaes Aritmticas no Microprocessador


Adio  Adio direta
Subtrao  Adio com o complemento de 2
Multiplicao  Vrias adies
Diviso  Vrias adies com complemento de 2

de Estudo e Pesquisa em Processamento de Energia e Qualidade


43Ncleo
Prof. Jos Wilson Lima Nerys

43

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Arquitetura RISC x
Arquitetura CISC

de Estudo e Pesquisa em Processamento de Energia e Qualidade


44Ncleo
Prof. Jos Wilson Lima Nerys

44

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Objetivo bsico de qualquer arquitetura de


microprocessador:
aumentar o desempenho do processador
reduzindo o tempo de execuo de tarefas.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


45Ncleo
Prof. Jos Wilson Lima Nerys

45

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Arquiteturas em uso nos computadores atuais:


CISC Complex Instruction Set Computing (Computador com
Conjunto Complexo de Instrues) Exemplos: Intel e AMD
RISC Reduced Instruction Set Computing (Computador com
Conjunto Reduzido de Instrues) Exemplos: PowerPC (da
Apple, Motorola e IBM), SPARC (SUN) e MIPS R2000
Hbrida Combinao de ambas arquiteturas. Exemplo:
Pentium Pro. O ncleo mais interno usa filosofia RISC.
de Estudo e Pesquisa em Processamento de Energia e Qualidade
46Ncleo
Prof. Jos Wilson Lima Nerys

46

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Algumas Caractersticas RISC X CISC:


RISC

CISC

Instrues bsicas executadas em apenas No mnimo 4 ciclos de clock para executar


1ciclo de via de dados
uma instruo
Uso reduzido da memria

Muitas instrues com acesso memria

Uso reduzido das vias de dados

Uso intenso das vias de dados

Uso preferencial de registradores, ao invs Uso de um nmero menor de registradores


de memria muitos registradores
que a arquitetura RISC
No h necessidade de decodificao das
instrues antes de execut-las

Ciclo de busca inclui busca na memria e


identificao em decodificadores

Instruo semelhantes s micro-instrues


da arquitetura CISC. As instrues so
executadas diretamente no hardware

Uso de micro-instrues gravadas no


processador. Necessidade de
interpretao das instrues

Instrues simples e em nmero limitado

Instrues complexas. Vrias instrues

Programa compilado tem maior nmero de


instrues em assembly. Uso maior de
memria

Menor nmero de instrues assembly,


porm mais lento na execuo

de Estudo e Pesquisa em Processamento de Energia e Qualidade


47Ncleo
Prof. Jos Wilson Lima Nerys

47

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Etapas de execuo de uma instruo:

de Estudo e Pesquisa em Processamento de Energia e Qualidade


48Ncleo
Prof. Jos Wilson Lima Nerys

48

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

CONJUNTO DE INSTRUES:
Grupos de instrues mais comuns em processadores de qualquer
arquitetura:
Instrues de desvio (No CISC o valor de retorno guardado na pilha;
no RISC guardado em um registrador.
Instrues de transferncia entre registradores e memria (No RISC:
load/store; no CISC: load, store, mov etc)
Instrues de transferncia entre registradores
Instrues de transferncia entre posies de memria
Operaes aritmticas (soma, subtrao ...)
Operaes lgicas (and, or, not, rotao ...)

de Estudo e Pesquisa em Processamento de Energia e Qualidade


49Ncleo
Prof. Jos Wilson Lima Nerys

49

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

CICLO DE EXECUO:
RISC  As instrues so executadas em um nico ciclo de via de
dados. So instrues muito parecidas com as micro-instrues da
arquitetura CISC. No precisam de decodificao.
No possvel ter instrues de multiplicao e diviso, por exemplo,
por exigir muitos ciclos para execuo. Multiplicaes so resolvidas
com adies e deslocamentos.
CISC  Antes de executar uma instruo, h necessidade de busca
da instruo na memria e de decodificao. Utiliza-se micro-cdigos
gravados no processador, para a execuo das instrues.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


50Ncleo
Prof. Jos Wilson Lima Nerys

50

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

MEMRIA E REGISTRADORES:
RISC  Possui uma quantidade muito grande de registradores (em mdia
512 com 32 visveis por vez: 8 para variveis globais e ponteiros, 8 para
parmetros de entrada, 8 para variveis locais e 8 para parmetros de
sada).
Nmero reduzido de acesso memria (o acesso memria torna o
processamento mais lento). Alocao de variveis em registradores.
Um ou dois modos de endereamento para acesso memria
CISC  Possui um nmero reduzido de registradores, comparado com o
RISC. Alocao de variveis em posies de memria, ao invs de
registradores.
Vrios modos de endereamento para acesso memria.
de Estudo e Pesquisa em Processamento de Energia e Qualidade
51Ncleo
Prof. Jos Wilson Lima Nerys

51

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

MICRO-CDIGOS:
RISC  As instrues geradas por um compilador para uma mquina
RISC so executadas diretamente no hardware, sem o uso de microcdigos. A ausncia de interpretao contribui para o aumento da
velocidade de execuo.
CISC  As instrues bsicas so gravadas na forma de microcdigos, que atuam no hardware estabelecendo os passos de cada
instruo. H necessidade de busca e decodificao das instrues.
O programa compilado tem uma quantidade menor de instrues
assembly do que um programa RISC, mas mais lento na execuo.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


52Ncleo
Prof. Jos Wilson Lima Nerys

52

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

PIPELINE:
Tcnica usada para acelerar a execuo de instrues. A cada ciclo
de clock, enquanto uma instruo est na etapa de execuo, a
instruo seguinte est sendo buscada. O resultado global que, a
cada ciclo, uma nova instruo iniciada e uma instruo
encerrada. No caso mostrado a instruo B faz referncia memria.
Ciclos

Busca da instruo

Execuo da instruo
Referncia memria

de Estudo e Pesquisa em Processamento de Energia e Qualidade


53Ncleo
Prof. Jos Wilson Lima Nerys

53

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

PIPELINE:
Enquanto a instruo A precisa de apenas um ciclo para busca e um
para execuo, a instruo B precisa de dois ciclos para execuo.
Caso a instruo B interfira na etapa de execuo da instruo C (por
exemplo, usando o mesmo registrador ou quando a instruo C
precisa do resultado da instruo B) necessrio aguardar o trmino
da instruo B antes de executar a instruo C.
Ciclos

Busca da instruo

NOP

NOP

Execuo da instruo
Referncia memria

de Estudo e Pesquisa em Processamento de Energia e Qualidade


54Ncleo
Prof. Jos Wilson Lima Nerys

B
54

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

VANTAGENS RISC:
Velocidade de execuo
O uso de pipeline torna os processadores RISC duas a quatro vezes
mais rpidos que um CISC de mesmo clock
Simplicidade de Hardware
Ocupa menos espao no chip, devido ao fato de trabalhar com
instrues simples.
Instrues de mquina simples e pequenas, o que aumenta sua
performance.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


55Ncleo
Prof. Jos Wilson Lima Nerys

55

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

DESVANTAGENS RISC:
O desempenho de um processador RISC depende diretamente do
cdigo gerado pelo programador. Um cdigo mal desenvolvido pode
resultar em tempo de execuo muito grande.
Um programa originalmente compilado para uma mquina CISC tem
um equivalente compilado para mquina RISC com uma quantidade
muito maior de cdigos assembly, ocupando um espao maior na
memria.
A arquitetura RISC requer sistema de memria rpida para alimentar
suas instrues. Normalmente possuem grande quantidade de
memria cache interna, o que encarece o projeto.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


56Ncleo
Prof. Jos Wilson Lima Nerys

56

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Arquitetura RISC

de Estudo e Pesquisa em Processamento de Energia e Qualidade


57Ncleo
Prof. Jos Wilson Lima Nerys

57

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

EXEMPLO DE ARQUITETURA RISC: MICROCONTROLADOR PIC

de Estudo e Pesquisa em Processamento de Energia e Qualidade


58Ncleo
Prof. Jos Wilson Lima Nerys

58

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

de Estudo e Pesquisa em Processamento de Energia e Qualidade


59Ncleo
Prof. Jos Wilson Lima Nerys

59

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Arquitetura,, Caractersticas e
Arquitetura
Princpio de Funcionamento dos
Microprocessadores 8085 e 8086/88

de Estudo e Pesquisa em Processamento de Energia e Qualidade


60Ncleo
Prof. Jos Wilson Lima Nerys

60

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

8085 8086 / 8088


Caracterstica

Microprocessador
8085

Microprocessador 8088

Microprocessador 8086

Barramento de endereo

16 bits

20 bits

20 bits

Capacidade de
endereamento de memria

65.536
( 64 kB )

1.048.576
( 1 MB )

1.048.576
( 1 MB )

Barramento de dados

8 bits

Interno: 16 bits
Externo: 8 bits

Interno: 16 bits
Externo: 16 bits

Manipulao de STRINGS

NO

SIM

SIM

Registradores Internos

8 bits e 16 bits

16 bits

16 bits

Uso de segmentao para


endereamento

NO

SIM

SIM

Aritmtica Decimal completa

NO

SIM

SIM

Etapas de Busca e Execuo

Em sequncia:

Unidades Independentes:

Busca Executa

Unidade de Interfaceamento
com Barramento (BIU)
responsvel pela Busca e

Unidades Independentes:
Unidade de
Interfaceamento com
Barramento (BIU)
responsvel pela Busca e

Unidade de Execuo (EU)

Unidade de Execuo (EU)

de Estudo e Pesquisa em Processamento de Energia e Qualidade


61Ncleo
Prof. Jos Wilson Lima Nerys

61

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

8085 8086 / 8088


Registradores do 8085

Registradores do 8088 / 8086

Acumulador

AH

AL (A)

Apontador de dados

BH

BL

BX Acumulador e Registrador Base

CH

CL

CX Acumulador e Contador

DH

DL

DX Acumulador e Endereador de I/O

SP

PC

FLAGS

Apontador de pilha

Contador de Programa

Registrador de Flags

AX Acumulador Primrio

SP

Apontador de pilha

BP

Apontador base usado na pilha

SI

ndice da Fonte usado para indexao

DI

ndice de Destino usado para indexao

IP

Ponteiro de Instruo

CS

Segmento de Cdigo

DS

Segmento de Dados

SS

Segmento de Pilha

ES

Segmento Extra

FLAGS

Registradores de
segmento. So
usados para a
formao do
endereo absoluto.

Registrador de Flags

de Estudo e Pesquisa em Processamento de Energia e Qualidade


62Ncleo
Prof. Jos Wilson Lima Nerys

62

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Arquitetura do 8085

de Estudo e Pesquisa em Processamento de Energia e Qualidade


63Ncleo
Prof. Jos Wilson Lima Nerys

63

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Arquitetura do 8085 (detalhe)

de Estudo e Pesquisa em Processamento de Energia e Qualidade


64Ncleo
Prof. Jos Wilson Lima Nerys

64

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Arquitetura do 8086/88

de Estudo e Pesquisa em Processamento de Energia e Qualidade


65Ncleo
Prof. Jos Wilson Lima Nerys

65

Microprocessadores

Universidade Federal de Gois

Arquitetura do 8051

Escola de Engenharia Eltrica e de Computao

de Estudo e Pesquisa em Processamento de Energia e Qualidade


66Ncleo
Prof. Jos Wilson Lima Nerys

66

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8085


LOAD

Chave de 3 estados

CLOCK

A
LOAD

ENABLE

LOAD
CLOCK

CLOCK
ENABLE

C
LOAD

ENABLE

CLOCK
ENABLE

de Estudo e Pesquisa em Processamento de Energia e Qualidade


67Ncleo
Prof. Jos Wilson Lima Nerys

67

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Clula bsica de um registrador:


CARREGA
(LOAD)

Entrada X

CLK

Chave 3
estados

HABILITA
SADA
(OE)

Flipflop

Sada Y

Linha do barramento
CARREGA
REGISTRADOR
(LOAD)

HABILITA SADA
(OUTPUT ENABLE)
(OE)

Registradores isolados do barramento. Barramento flutuando

Transfere dados do registrador para o barramento

Carrega o registrador com os dados do barramento

COMENTRIO

de Estudo e Pesquisa em Processamento de Energia e Qualidade


68Ncleo
Prof. Jos Wilson Lima Nerys

68

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8085


MOV D,A
LOAD
CLOCK

A = 15 H

LOAD

ENABLE

CLOCK
ENABLE

15 H
LOAD
CLOCK
ENABLE

LOAD

D D = 15 H

de Estudo e Pesquisa em Processamento de Energia e Qualidade


69Ncleo
Prof. Jos Wilson Lima Nerys

CLOCK

ENABLE
69

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Frequncia de Clock
CLK

Ciclo de Clock
8085A: fcristal = 500 kHz a 3,125 MHz

f clock

f cristal
=
2

8085A-2: fcristal = 500 kHz a 5 MHz

Exemplo: Se fcristal = 2 MHz  fclock = 1 MHz

Tclock = 1 s
de Estudo e Pesquisa em Processamento de Energia e Qualidade
70Ncleo
Prof. Jos Wilson Lima Nerys

70

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Ciclos de Clock, de Mquina e de Instruo


Ciclo de Instruo
Ciclo de Instruo
Ciclo de Mquina 1: M1

Ciclo de Mquina 2 : M2

CLK

Estados

T1

T2

T3

Ciclo de Busca

T4

T1

T2

T3

Ciclo de
Execuo
Ciclo de Execuo

de Estudo e Pesquisa em Processamento de Energia e Qualidade


71Ncleo
Prof. Jos Wilson Lima Nerys

71

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao
M2

M1
CLK

Estados

T1

T2

T3

PC FORA

PC+1
PC

INST IR

T4

T1

T2

T3

PC FORA

PC+1
PC

INST IR

ALE
PC H

A15-A8

AD7-AD0

PC L

PC H
INST

PC L

de Estudo e Pesquisa em Processamento de Energia e Qualidade


72Ncleo
Prof. Jos Wilson Lima Nerys

INST

72

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

M1
T1

T2

T3

PC FORA

PC+1
PC

INST IR

M2
T4

T1

AD7-AD0

PC H
PC L

T3

PC+1
PC

INST IR

SBE
PC FORA

A15-A8

T2

PC H
INST

PC L

INST

ALE
RD\
WR\
IO-M\
de Estudo e Pesquisa em Processamento de Energia e Qualidade
73Ncleo
Prof. Jos Wilson Lima Nerys

73

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao ADD


B e MOV B,A
M1
ADD B

T1

T2

T3

T4

T1

T2

PC FORA

PC+1
PC

INST IR

B TMP

SBE

A+TMP A

PC FORA

PC+1
PC

MOV B,A

PC H

A15-A8

AD7-AD0

M2

PC L

T3
INST IR

A TMP

PC H
INST

PC L

INST

ALE
RD\
WR\
IO-M\
de Estudo e Pesquisa em Processamento de Energia e Qualidade
74Ncleo
Prof. Jos Wilson Lima Nerys

74

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Ciclo de Busca de ADD B:

Princpio de Funcionamento 8085

T1: Contador de Programa (PC) ativado. Endereo atual colocado no


barramento de 16 bits. O sinal ALE o trigger para a transferncia dos endereos
de PC para o barramento.

Endereo

PC

Barramento

Endereo

ROM

M\
ALE

RD\

CLK

T1
de Estudo e Pesquisa em Processamento de Energia e Qualidade
75Ncleo
Prof. Jos Wilson Lima Nerys

75

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8085


Ciclo de Busca de ADD B:
T2: Na descida do sinal de clock o PC incrementado em 1. Barramento
disponvel para outras operaes.

PC = PC + 1

CLK

T1

T2

de Estudo e Pesquisa em Processamento de Energia e Qualidade


76Ncleo
Prof. Jos Wilson Lima Nerys

76

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Ciclo de Busca de ADD B: Princpio de Funcionamento 8085


T3: Leitura do cdigo da instruo (ROM). O cdigo transferido para o
barramento. Bloco IR (Registrador de Instruo) carrega a instruo vinda da
ROM. Instruo decodificada no Decodificador

Cdigo

ROM

Barramento

IR

Cdigo

ENABLE
LOAD

RD\
M\
CLK

T1

T2

T3

de Estudo e Pesquisa em Processamento de Energia e Qualidade


77Ncleo
Prof. Jos Wilson Lima Nerys

77

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Ciclo de Execuo de ADD Princpio de Funcionamento 8085


B:
T4: Contedo de B transferido para o barramento
Contedo do barramento transferido para um registrador temporrio e,
depois para a unidade lgica e aritmtica

Dados

Barramento

Dados

ENABLE

TEMP

LOAD

CLK

T1

T2

T3

T4

de Estudo e Pesquisa em Processamento de Energia e Qualidade


78Ncleo
Prof. Jos Wilson Lima Nerys

78

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8085


Ciclo de Busca de MOV B,A e Execuo de ADD B:
T1: Contador de Programa (PC) ativado. Endereo atual colocado no
barramento de 16 bits. O sinal ALE o trigger para a transferncia dos endereos
de PC para o barramento.
Endereo

PC

Barramento

Endereo

ROM

ALE
ALE

M\
RD\

CLK

T1

T2

T3

T4

T1 M2

de Estudo e Pesquisa em Processamento de Energia e Qualidade


79Ncleo
Prof. Jos Wilson Lima Nerys

79

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8085


Ciclo de Busca de MOV B,A e Execuo de ADD B:

T2: Na descida do sinal de clock o PC incrementado em 1. Barramento


disponvel finalizar a instruo ADD B.
TEMP
PC = PC + 1

ENABLE

ULA

TEMP+A

TEMP+A

A
ENABLE

Barramento

LOAD

CLK

T1

T2

T3

T4

T1M2 T2 M2

de Estudo e Pesquisa em Processamento de Energia e Qualidade


80Ncleo
Prof. Jos Wilson Lima Nerys

80

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8085


Ciclo de Busca de MOV B,A:
T3: Leitura do cdigo da instruo (ROM). O cdigo transferido para o
barramento. Bloco IR (Registrador de Instruo) carrega a instruo vinda da
ROM. Instruo decodificada no Decodificador
Cdigo

ROM

Barramento

IR

Cdigo

ENABLE

LOAD

RD\
M\
CLK

T1

T2

T3

T4

T1M2

de Estudo e Pesquisa em Processamento de Energia e Qualidade


81Ncleo
Prof. Jos Wilson Lima Nerys

T2M2

T3-M2
81

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8085


Ciclo de Execuo de MOV B,A:
T4: Contedo de A transferido para o barramento
Contedo do barramento transferido para um registrador temporrio
e, depois para o registrador B, no estado T2 da prxima instruo.
Dados

Dados

Barramento

ENABLE

TEMP

LOAD

CLK

T1

T2

T3

T4

T1

de Estudo e Pesquisa em Processamento de Energia e Qualidade


82Ncleo
Prof. Jos Wilson Lima Nerys

T2

T3
82

T4
Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8088/8086:


A BIU coloca o contedo do IP (que somado ao registrador CS) no
barramento para efetuar a busca de instruo;
O registrador IP incrementado (aponta para a prxima instruo);
A instruo lida passada para a fila;
A EU pega a primeira instruo da fila;
Enquanto a EU executa esta instruo a BIU faz uma nova busca de
instruo para preencher a fila.
Se a instruo a ser executada pela EU for muito demorada a BIU preenche
toda a fila.
de Estudo e Pesquisa em Processamento de Energia e Qualidade
83Ncleo
Prof. Jos Wilson Lima Nerys

83

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8088/8086:


H 2 situaes em que no so aproveitadas as instrues
contidas na fila. So elas:
Na execuo de instrues de desvio. Neste caso a fila
descartada (ou seja, sobrescrita);
Quando a instruo faz referncia memria.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


84Ncleo
Prof. Jos Wilson Lima Nerys

84

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Segmentao
Consiste em combinar 2 registradores de 16 bits para gerar um
endereo de memria de 20 bits (220 = 1.048.576 = 1 Mb)
Registrador de
Segmento

Registrador de
Offset

Endereo Fsico = (Contedo do Registrador de Segmento) 16 +


(Contedo do Registrador de Offset)

de Estudo e Pesquisa em Processamento de Energia e Qualidade


85Ncleo
Prof. Jos Wilson Lima Nerys

85

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Endereo Fsico (ou absoluto)

0YYYY

XXXX0
Registrador de Segmento
(16 bits)

15

Registrador de Offset
(16 bits)

15

Extra Segment - ES

Stack Pointer - SP

Code Segment - CS

Base Pointer - BP

Stack Segment - SS

Source Index - SI

Data Segment - DS

Destination Index - DI

de Estudo e Pesquisa em Processamento de Energia e Qualidade


86Ncleo
Prof. Jos Wilson Lima Nerys

86

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Vantagens da Utilizao de Memria Segmentada


Por haver uma rea especfica para armazenamento de
cdigo e outras reas para armazenamento de dados, podese trabalhar com tipos diferentes de conjuntos de dados.
(por exemplo, em um ambiente multitarefa onde um
programa atende vrias entradas de dados).
Programas que referenciam endereos lgicos (0000 a FFFF
no caso do 8088) podem ser carregados em qualquer espao
(fsico) da memria (00000 a FFFFF): possibilita a realocao
de programas.
de Estudo e Pesquisa em Processamento de Energia e Qualidade
87Ncleo
Prof. Jos Wilson Lima Nerys

87

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Memria

Offset

Segment
o

16

Byte Endereado

Incio do Segmento

Exemplo 1:

Segmento = 2000H; Offset = 2000H


Representao: 2000H:2000H
Endereo Fsico = 20000H + 02000H = 22000H

Exemplo 2:

Segmento = 4000H; Offset = 2000H


Representao: 4000H:2000H
Endereo Fsico = 40000h + 02000h = 42000h

de Estudo e Pesquisa em Processamento de Energia e Qualidade


88Ncleo
Prof. Jos Wilson Lima Nerys

88

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Alocao de diferentes regies para diferentes conjuntos de dados


FFFFFH
Offset
CS

+
16

Offset
DS

64 kB

64 kB

16

Offset
SS

64 kB

16

Offset
ES

64 kB

16
00000H

de Estudo e Pesquisa em Processamento de Energia e Qualidade


89Ncleo
Prof. Jos Wilson Lima Nerys

89

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8051

Tclock =

1
f clock

Tmquina = 12 Tclock =

12
f clock

12
Se f = 12 MHz  Tmquina =
= 1s
12 MHz
12
= 1,085s
Se f = 11.0592 MHz  Tmquina =
11,0592MHz
de Estudo e Pesquisa em Processamento de Energia e Qualidade
90Ncleo
Prof. Jos Wilson Lima Nerys

90

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8051

Estado S1: a prxima instruo buscada na ROM, colocada no


barramento principal e encaminhada para o registrador IR.
Estado S2: a instruo decodificada e o PC incrementado.
Estado S3: os operandos da instruo so preparados

de Estudo e Pesquisa em Processamento de Energia e Qualidade


91Ncleo
Prof. Jos Wilson Lima Nerys

91

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8051

Estado S4: os operandos so enviados para os registradores


temporrios TMP1 e TMP2, na entrada da ULA
Estado S5: a ULA executa a instruo
Estado S6: o resultado da ULA colocado no barramento principal e
encaminhado para o registrador final.

de Estudo e Pesquisa em Processamento de Energia e Qualidade


92Ncleo
Prof. Jos Wilson Lima Nerys

92

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues

de Estudo e Pesquisa em Processamento de Energia e Qualidade


93Ncleo
Prof. Jos Wilson Lima Nerys

93

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8085


Tipo de
instruo

Caractersticas

Exemplos

1 byte

O byte da instruo o prprio Opcode


(cdigo de operao)

MOV A,C
ADD B
RLC
DCR C

2 bytes

O primeiro byte o Opcode e o segundo byte


o Dado de 8 bits necessrio para a instruo

MVI A,35H
ADI 05H
ORI 01H

3 bytes

O primeiro byte o Opcode; o segundo e o


terceiro bytes correspondem a um dado de 16
bits.

LDA 2030H
STA 2040H
LXI H,2080H

de Estudo e Pesquisa em Processamento de Energia e Qualidade


94Ncleo
Prof. Jos Wilson Lima Nerys

94

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8085


Instruo

MOV A,C

Instruo

ADD B

Instruo

RLC

Opcode

79 H

Opcode

80 H

Opcode

07 H

Instruo

ADI 05H

Instruo

ORI 01H

Instruo MVI A,35H


Opcode

3E H

Opcode

C6 H

Opcode

F6 H

Dado

35 H

Dado

05 H

Dado

01 H

Instruo LDA 2030H

Instruo

STA 2050H

Instruo

LXI H,2080H

Opcode

3A H

Opcode

32H

Opcode

21H

Dado L

30 H

Dado L

50 H

Dado L

80 H

Dado H

20 H

Dado H

20 H

Dado H

20 H

de Estudo e Pesquisa em Processamento de Energia e Qualidade


95Ncleo
Prof. Jos Wilson Lima Nerys

95

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao (Instruo de 1 byte)


M1

ADD B

M2

T1

T2

T3

T4

T1

T2

PC FORA

PC+1
PC

INST IR

B TMP

SBE

A+TMP A

T3

ADD B  Adiciona o contedo de B ao contedo do Acumulador A


M1

MOV B,A

M2

T1

T2

T3

T4

T1

T2

PC FORA

PC+1
PC

INST IR

A TMP

SBE

TMP B

T3

MOV B,A  Copia em B o contedo do registrador A

de Estudo e Pesquisa em Processamento de Energia e Qualidade


96Ncleo
Prof. Jos Wilson Lima Nerys

96

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao (Instruo de 2 bytes)


M1

MVI reg, byte

M2

T1

T2

T3

T4

T1

T2

T3

PC FOR A

PC+1
PC

INST IR

PC FOR A

PC+1
PC

byte
reg

MVI reg,dado  Carrega reg com o valor dado


M1

ADI byte

M2

T1

T2

T3

T4

T1

T2

T3

PC FORA

PC+1
PC

INST IR

PC FORA

PC+1
PC

byte
TMP

M3
ADI dado Adiciona o dado ao contedo do
Acumulador A

de Estudo e Pesquisa em Processamento de Energia e Qualidade


97Ncleo
Prof. Jos Wilson Lima Nerys

T1

T2

T3

SBE

A+TMP

97

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao (Instruo de 3 bytes)


M1

LOAD adr

M2

T1

T2

T3

T4

T1

T2

T3

PC FORA

PC+1
PC

INST IR

PC FORA

PC+1
PC

Byte L
Z

M3

M4

T1

T2

T3

T1

T2

T3

PC FORA

PC+1
PC

Byte H
W

WZ FORA

MWZ

LOAD adr  Carrega no Acumulador o contedo do endereo adr


Instruo de 3 bytes

de Estudo e Pesquisa em Processamento de Energia e Qualidade


98Ncleo
Prof. Jos Wilson Lima Nerys

98

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao (Instruo de 3 bytes)


M1

STA adr

M2

T1

T2

T3

T4

T1

T2

T3

PC FORA

PC+1
PC

INST IR

PC FORA

PC+1
PC

Byte L
Z

M3

M4

T1

T2

T3

T1

T2

T3

PC FORA

PC+1
PC

Byte H
W

WZ FORA

MWZ

STA adr  Transfere contedo do Acumulador para o endereo adr

de Estudo e Pesquisa em Processamento de Energia e Qualidade


99Ncleo
Prof. Jos Wilson Lima Nerys

99

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues de transferncia de dados do 8086/88


Byte 1
7

2
opcode

Byte 2
1

Byte 3

postbyte

0
Dados (se sw=0 1)

Dados

Opcode (cdigo da operao)

Ou

Byte 4

Byte 1

postbyte

Byte 2

Dados

Byte 3

Dados (se s w = 0 1)

Byte 4

Efeito

Instruo manipula byte

Instruo manipula word

postbyte:
7

6
mod

reg

r/m

Se mod = 1 1 o operando da instruo um registrador, que identificado em r/m


Se a instruo envolver dois registradores o campo reg identifica o segundo registrador.
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
100
Prof. Jos Wilson Lima Nerys

100

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051


OPCODE
1 Byte
OPCODE

OPCODE

REG

OPERANDO
2 Bytes

OPCODE

ENDEREO DE 11 BITS
3 Bytes

OPCODE
OPCODE

ENDEREO DE 16 BITS
OPERANDO 1

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


101
Prof. Jos Wilson Lima Nerys

OPERANDO 2
101

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE
Instruo
Codificao
Instruo
Codificao
Instruo
Codificao

RLC A
0 0 1 1:0 0 1 1

(33H)

CLR A
1 1 1 0:0 1 0 0

(E4H)

CLR C
1 1 0 0:0 0 1 1

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


102
Prof. Jos Wilson Lima Nerys

(C3H)

102

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE
Instruo
Codificao
Instruo
Codificao
Instruo
Codificao
Instruo
Codificao
Instruo
Codificao

REG
ADD A,Rn
0 0 1 0:1 r r r

(2_H)

ADD A,R0
0 0 1 0:1 0 0 0

(28H)

ADD A,R1
0 0 1 0:1 0 0 1

(29H)

MOV A,Rn
1 1 1 0:1 r r r

(E_H)

MOV A,R0
1 1 1 0:1 0 0 0

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


103
Prof. Jos Wilson Lima Nerys

(E8H)
103

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE

OPERANDO

Instruo
Codificao

ADD A,#Dado
0 0 1 0:0 1 0 0

Instruo
Codificao

ADD A,#35H
0 0 1 0:0 1 0 0

Instruo
Codificao

0 0 1 1:0 1 0 1

(24 35)H

MOV A,#Dado
0 1 1 1:0 1 0 0

Instruo
Codificao

d7 d6 d5 d4 d3 d2 d1 d0 (24 XX) H

d7 d6 d5 d4 d3 d2 d1 d0 (74 XX)H
MOV A,#35H

0 1 1 1:0 1 0 0

0 0 1 1:0 1 0 1

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


104
Prof. Jos Wilson Lima Nerys

(74 35)H
104

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE
Instruo
Codificao

ENDEREO DE 11 BITS
AJMP End. 11 bits

a10 a9 a8 0 : 0 0 0 1 d7 d6 d5 d4 d3 d2 d1 d0 (X1 XX) H

11 bits de endereo  211 = 2048  0 a 2047 ou 000 H a 7FF H


620 H = 0 1 1 0 0 0 1 0 0 0 0 0 b  a10 = a9 = 1 e a8 = 0 
 a10 a9 a8 0: 0 0 0 1  1 1 0 0 : 0 0 0 1 = C1 H
Instruo
Codificao

AJMP 620H
1100:0001 0010:0000

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


105
Prof. Jos Wilson Lima Nerys

(C1 20)H

105

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE
Instruo
Codificao

ENDEREO DE 16 BITS
LCALL End. 16 bits

0 0 0 1:0 0 1 0 a15 a14 a13 a12:a11 a10 a9 a8 a7 a6 a5 a4:a3 a2 a1 a0

0100 H = 0 0 0 0 : 0 0 0 1 0 0 0 0 : 0 0 0 0 b
Instruo
Codificao

LCALL 0100 H
0 0 0 1:0 0 1 0 0 0 0 0 : 0 0 0 1 0 0 0 0 : 0 0 0 0  (12 01 00) H

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


106
Prof. Jos Wilson Lima Nerys

106

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE
Instruo

ENDEREO DE 16 BITS
LJMP End. 16 bits

0 0 0 0 : 0 0 1 0 a15 a14 a13 a12 : a11 a10 a9 a8 a7 a6 a5 a4 : a3 a2 a1 a0

Codificao

0120 H = 0 0 0 0 : 0 0 0 1 0 0 1 0 : 0 0 0 0 b
Instruo

LJMP 0120 H
0 0 0 0 : 0 0 1 0 0 0 0 0 : 0 0 0 1 0 0 1 0 : 0 0 0 0  (02 01 20) H

Codificao

LJMP 80 H X SJMP 80 H:
02 00 80

80 XX H (XX = 80 H Posio da instruo seguinte a SJMP)

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


107
Prof. Jos Wilson Lima Nerys

107

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE

OPERANDO 1

Instruo
Codificao

DJNZ Direto, Relativo8


1101:0101

Instruo
Codificao

OPERANDO 2

a7 a6 a5 a4 : a3 a2 a1 a0

r7 r6 r5 r4 : r3 r2 r1 r0

DJNZ 01H, $
1101:0101

0000:0001

1111:1101

DJNZ 01H,$  D5 01 FD H

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


108
Prof. Jos Wilson Lima Nerys

108

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do PIC 16F628


Todas as instrues tem 14 bits
Tipo 1: Operaes com registradores orientadas por byte
13

OPCODE

f (Endereo do registrador)

OPCODE  Cdigo da operao


d = 0  o destino do resultado o registrador W
d = 1  o destino do resultado o registrador f
f  Registrador de endereos de 7 bits (operando)

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


109
Prof. Jos Wilson Lima Nerys

109

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do PIC 16F628


Tipo 2: Operaes com registradores orientadas por bit
13

10

OPCODE

f (Endereo do registrador)

OPCODE  Cdigo da operao


b  Endereo de 3 bits
f  Registrador de endereos de 7 bits (operando)

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


110
Prof. Jos Wilson Lima Nerys

110

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do PIC 16F628


Tipo 3: Operaes de controle e literal
13

12

11

10

OPCODE

k (literal)

OPCODE  Cdigo da operao


k  Indicam um valor constante ou literal

de Estudo e Pesquisa em Processamento de Energia e Qualidade


111Ncleo
Prof. Jos Wilson Lima Nerys

111

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Formato das Instrues do PIC 16F628


Tipo 4: Operaes de desvio
13

12

11

OPCODE

10

k (literal)

OPCODE  Cdigo da operao


k  Indicam um valor constante ou literal de 11 bits

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


112
Prof. Jos Wilson Lima Nerys

112

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Modos de Endereamento e
Grupos de Instrues

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


113
Prof. Jos Wilson Lima Nerys

113

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Modos de Endereamento
8085
Imediato

MVI A,15H

8086/8088
Imediato

MOV AX, 1000H

Por registrador MOV A,B

Por registrador

MOV AX,BX

Direto

JMP 2005H

Absoluto ou direto

MOV AX,[1000H]

Indireto por
registrador

MOV M,A

Indireto por
registrador

MOV AX,[BX]

Indexado

MOV AX,0100H[BX]

Baseado

MOV [BX + 0100H], AX

Baseado e indexado

MOV AX, [BX+SI]

Baseado e indexado
com deslocamento

MOV AX, [BX+SI+5]

Strings

MOVSB

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


114
Prof. Jos Wilson Lima Nerys

114

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Grupos de Instrues
8085

8086/8088

Transferncia de
dados

MOV A,B
MVI A,15H

Transferncia de
dados

MOV AX,BX
MOV DL,23H

Aritmtico

ADD B
SUB B

Aritmtico

ADD SI,DX
SUB AX,DX

Lgico

ANA B
ORI 0FH

Lgico

NOT BX
AND CX,DX

Desvio

JMP 2005H
JNZ 2010H

Desvio

JMP BX

Controle, Pilha, E/S

PUSH PSW

Controle

CLC
STC

Strings

MOVSB
STOSW

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


115
Prof. Jos Wilson Lima Nerys

115

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags
8085 8088/8086 - 8051

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


116
Prof. Jos Wilson Lima Nerys

116

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Flags no 8085
Registrador F: Registra o estado da ltima operao realizada na ULA

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

AC

CY

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


117
Prof. Jos Wilson Lima Nerys

117

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

AC

CY

Flag de Sinal: Assume valor 0 para nmero positivo (bit 7 = 0)


e 1 para negativo (bit 7 = 1)

Flag de Zero: Assume valor 0 para nmero diferente de zero e


1 para nmero igual a zero.

Flag Auxiliar de Carry: Assume valor 1 quando h transporte


do Bit 3 para o Bit 4

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


118
Prof. Jos Wilson Lima Nerys

118

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

AC

CY

Flag de Paridade: Assume valor 1 quando h uma quantidade par de


dgitos 1no acumulador. Assume valor 0 quando h uma quantidade mpar.

Flag de Carry: Assume valor 1 quando h transporte do Bit 7


para o bit 8 (O Bit 8 fora do acumulador)

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


119
Prof. Jos Wilson Lima Nerys

119

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8086


(Registrador de Estado do Programa (PSW)
um registrador de 16 bits, mas apenas 9 bits so usados para as flags:
Seis deles so bits de status que refletem os resultados de operaes aritmticas
e lgicas.
Trs so bits de controle.
15

14

13

12

11

10

Flag de Overflow
Flag de Direo
Flag de Interrupo

Flag de Trap

Flag Auxiliar de Carry

Flag de Sinal
Flag de Zero

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


120
Prof. Jos Wilson Lima Nerys

Flag de Paridade
Flag de Carry
120

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8086


(Registrador de Estado do Programa (PSW)
Flags de Status
C Flag de carry reflete o vai um do bit mais significativo, nas operaes
aritmticas (de 8 ou 16 bits). Ele tambm modificado por algumas instrues de
rotao e deslocamento. Nas operaes de subtrao (aritmtica em
complemento dois) o carry invertido e passa a funcionar como borrow
(emprstimo). Se, aps uma operao de subtrao, obtm-se C = 1, isso indica
que no houve borrow, mas C=0, indica que houve borrow.
P Flag de Paridade indica a paridade (par), dos 8 bits menos significativos, do
resultado da operao realizada.
P = 1  nmero par de 1 nos 8 bits menos significativos
P = 0  nmero mpar de 1 nos 8 bits menos significativos
A Flag Auxiliar de Carry reflete o vai um do bit 3, em uma operao de 8 bits.

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


121
Prof. Jos Wilson Lima Nerys

121

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8086


(Registrador de Estado do Programa (PSW)
Flags de Status
Z Flag de Zero indica se uma operao teve zero como resultado.
Z = 1  se o resultado da operao for igual a zero
Z = 0  se o resultado da operao for diferente de zero
S Flag de Sinal igual ao bit de mais alta ordem do resultado de uma operao
aritmtica.
S = 0  resultado positivo
S = 1  resultado negativo
O Flag de Overflow seu contedo obtido atravs de uma operao XOR do
carry in com o carry out do bit de mais alta ordem do resultado de uma operao
aritmtica. Ele indica um overflow de magnitude, em aritmtica binria com sinal.
Indica que o resultado muito grande para o campo destino.
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
122
Prof. Jos Wilson Lima Nerys

122

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8086


(Registrador de Estado do Programa (PSW)
O Flag de Overflow seu contedo obtido atravs de uma operao XOR do
carry in com o carry out do bit de mais alta ordem do resultado de uma operao
aritmtica.

CY_IN

CY_OUT

OV = (XOR)

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


123
Prof. Jos Wilson Lima Nerys

123

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8086


(Registrador de Estado do Programa (PSW)
Flags de Controle
T Flag de Trap (armadilha) usada para a depurao de programas. Coloca o 8086
no modo passo a passo. Aps cada instruo uma interrupo gerada
automaticamente.
I Flag de Interrupo habilita ou desabilita a interrupo externa (pedida pelo pino
INTR). Ao contrrio do 8085, onde as interrupes RST 7.5, RST 6.5 e RST 5.5
podem ser habilitadas/desabilitadas individualmente, no 8086 todas so habilitadas
ou desabilitadas ao mesmo tempo. A habilitao/ desabilitao individual pode ser
feita atravs do controlador de interrupo 8259.
I = 1  interrupo habilitada
I = 0  interrupo desabilitada
D Flag de Direo determina se as operaes com strings vo incrementar ou
decrementar os registradores de indexao (SI e DI).
D = 1  SI e DI sero decrementados, ou seja, a string ser acessada a partir do
endereo mais alto em direo ao mais baixo.
D = 0  SI e DI sero incrementados, ou seja, a stringser acessada a partir do
endereo mais baixo em direo ao mais alto.
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
124
Prof. Jos Wilson Lima Nerys

124

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8051


Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

CY

AC

F0

RS1

RS0

OV

Carry

Overflow

Uso Geral

Paridade

Auxiliar
de Carry

RS1

RS0

Banco Selecionado

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


125
Prof. Jos Wilson Lima Nerys

125

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8051


OV  overflow  A flag de overflow setada quando h um carry do bit 7,
mas no do bit 6 ou um carry do bit 6, mas no bit 7.
A flag de overflow til em operaes com nmero sinalizado representados
na forma de complemento de 2. H duas situaes que resultam em OV
setado:
Se a soma de dois nmeros positivos for maior que 7F H e menor que FFH
a flag de overflow indica que o nmero no deve ser interpretado como
nmero negativo.
Se a soma de dois nmeros negativos (bit 7 = 1) resultar em um nmero no
intervalo de 00 H a 7F H (ou 100 H a 17F H, considerando a flag de carry,
que sempre estar presente nessa situao), a flag de overflow indicar que
o nmero no pra ser interpretado como nmero positivo.
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
126
Prof. Jos Wilson Lima Nerys

126

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8051


Exemplos para a flag de overflow:
1. MOV A,#100
ADD A,#44

 64H = 0 1 1 0:0 1 0 0
 2CH = 0 0 1 0:1 1 0 0

Resultado: 144 = 90 H = 1 0 0 1:0 0 0 0 (OV = 1)


Decimal

Hexadecimal

100

64H

44

2CH

144

90H

H transporte do bit 6 para o 7, mas no h do bit 7 para o bit 8.


Os dois nmeros (64H e 2CH) so positivos na operao com sinal. Assim, o
resultado deve ser interpretado como nmero positivo, mesmo tendo bit 7 igual a 1.
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
127
Prof. Jos Wilson Lima Nerys

127

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8051


Exemplos para a flag de overflow:
2. ADD,#01H (Ao resultado da operao anterior: 90H)
Resultado: 145 = 91 H = 1 0 0 1:0 0 0 1 (OV = 0)

144

90H

01

01H

145

91H

No h transporte do bit 6 para o 7, nem do bit 7 para o bit 8.


O nmero 90H negativo nas operaes com sinal e o nmero 01H positivo.
Nesse caso no h flag de overflow.
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
128
Prof. Jos Wilson Lima Nerys

128

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Pilha no
8085 e 8051

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


129
Prof. Jos Wilson Lima Nerys

129

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Regio de memria usada para guardar endereo de


retorno e valores temporrios
Instrues que usam a
pilha:

Endereo

Mnemnico

2000 H

LXI SP,20FFH

Cdigo
31 FF 20

2003 H
2004 H

CALL
RET
PUSH
POP
Interrupes

SP 

xxxxx

xxxxx

xxxxx

xxxxx

20FF H

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


130
Prof. Jos Wilson Lima Nerys

130

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Transferncia de dados envolve sempre um par de bytes  16 bits


O byte mais significativo sempre guardado primeiro na pilha
O byte menos significativo retirado primeiro da pilha
O Ponteiro de Pilha SP aponta sempre para o topo da pilha (ltimo
valor armazenado)
Registradores utilizados  PSW  A + Flags
BB+C
DD+E
HH+L

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


131
Prof. Jos Wilson Lima Nerys

131

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

PUSH reg16  guarda contedo do registrador de 16 bits na pilha


1.
2.
3.
4.

O valor de SP decrementado em 1
O byte mais significativo armazenado na posio SP 1
O valor de SP decrementado em 1
O byte menos significativo armazenado na posio SP 2

POP reg16  carrega registrador de 16 bits com contedo da pilha


1.

O contedo apontado por SP copiado para o byte menos


significativo
2.
O valor de SP incrementado em 1
3.
O contedo apontado por SP + 1 copiado para o byte mais
significativo
4.
O valor de SP incrementado em 1
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
132
Prof. Jos Wilson Lima Nerys

132

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H
PUSH PSW
Endereo
da RAM

Flags

Contedo

PUSH B
Endereo
da RAM

2089

SP inicial:

2089

208A

2090h

208A

208B

Contedo

208B

208C

208C

67

208D

208D

45

F

208E

23

208E

23

A

208F

01

208F

01

2090
SP aps a instruo:
208Eh

C
B
F
A

2090
SP aps a instruo:
208Ch

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


133
Prof. Jos Wilson Lima Nerys

133

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H
POP B
Endereo
da RAM

POP PSW

Contedo

Endereo
da RAM

2089

2089

208A

208A

208B

208B

Contedo

208C

67

208C

67

208D

45

208D

45

F

208E

23

208E

23

A

208F

01

208F

01

2090
SP aps a instruo:
208Eh

C
B
F
A

2090
SP aps a instruo:
2090h

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


134
Prof. Jos Wilson Lima Nerys

134

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Endereo

Pilha
Exemplo de aplicao

Mnemnico

Cdigo

2000 H

LXI SP,203FH

31 22 20

2003 H

MVI A,20H

3E 20

2005 H

PUSH PSW

F5

2006 H

CALL MOSTRAA

CD 6E 03

2009 H

POP PSW

F1

200A H

ADI 01H

C6 01

200C H

JNZ 2005 H

DA 05 20

200F H

JMP 2003

C3 03 20

2022 H
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
135
Prof. Jos Wilson Lima Nerys

135

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Pilha no 8051
Transferncia de dados envolve apenas um byte  8bits
Registradores de 16 bits, como DPTR, so guardados em duas
operaes PUSH e retiradas em duas operaes POP
Exemplos:
PUSH ACC  Guarda contedo do acumulador
PUSH DPH  Guarda 8 bits mais significativos do DPTR
PUSH DPL  Guarda 8 bits menos significativos do DPTR
POP ACC  Recupera contedo do acumulador

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


136
Prof. Jos Wilson Lima Nerys

136

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Ao contrrio do 8085, o apontador de pilha SP incrementado no 8051,


nas operaes PUSH.
PUSH reg8  guarda contedo do registrador de 8bits na pilha
1. O valor de SP incrementado em 1
2. O byte armazenado na posio SP + 1
POP reg18 carrega registrador de 8bits com contedo da pilha
1.
2.

O contedo apontado por SP copiado para o registrador indicado


O valor de SP decrementado em 1

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


137
Prof. Jos Wilson Lima Nerys

137

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Diferenas bsicas entre o uso da Pilha no 8051 e no 8085


Caracterstica

8085

8051

Variao do
apontador de pilha
SP

SP decrementado nas
operaes para guardar
valores na pilha (PUSH,
CALL, chamada de
interrupo)

SP incrementado nas
operaes para guardar
valores na pilha (PUSH,
CALL, chamada de
interrupo)

Regio da memria

A regio da pilha a mesma A pilha reservada na


do programa do usurio,
memria RAM e o programa
podendo haver sobreposio na memria ROM, no
havendo risco de
sobreposio

Tamanho do dado
guardado

So movimentados 16 bits
em cada operao de pilha

So movimentados 8 bits em
cada operao de pilha

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


138
Prof. Jos Wilson Lima Nerys

138

Microprocessadores

Universidade Federal de Gois


Escola de Engenharia Eltrica e de Computao

Bibliografia

[1] ZILLER, Roberto M., Microprocessadores Conceitos Importantes, Edio


do autor, Florianpolis, 2000. ISBN 85-901037-2-2
[2] MALVINO, Albert Paul, Microcomputadores e microprocessadores;
traduo Anatlio Laschuk, reviso tcnica Rodrigo Aras Farias. So
Paulo: McGraw-Hill do Brasil, 1985.

Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


139
Prof. Jos Wilson Lima Nerys

139

Microprocessadores