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

1 Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
1 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

2 Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
2 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.

P N Juno PN  Diodo

P N P
N Transistores de Juno PNP e NPN

N P N

3 Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
3 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Eletrnica Aplicaes de Diodos e Transistores retificadores, amplificadores,


ceifadores, filtros, multivibradores biestveis.

4 Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
4 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

5 Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
5 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Contadores

Registradores Flip-flops

Microprocessador

Somadores
Codificadores

Decodificadores

6 Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
6 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Microprocessador
CPU

a CPU de um computador construdo num


Registradores
nico Circuito Integrado. Contm
essencialmente a unidade de controle, a
Unidade Controle
unidade lgica e aritmtica e registradores
(Acumulador e outros). Precisa de
perifricos tais como memria e unidade de ULA

entrada e sada, para a formao de um


sistema mnimo.

7 Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
7 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.

8 Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
8 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.).

9 Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
9 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.

10Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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
Memria
Registradore
s
Unidade
Controle
Unidade de
ULA Entrada e
Sada

11Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

12Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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


Only Memory) Podem ser apagadas pelo
uso de radiao ultravioleta permitindo sua
reutilizao.
Exemplo para o caso do 8051:
Microcontrolador 8751

13Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

14Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

15Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
15 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Definies Bsicas de
Microprocessadores

16Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

17Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

18Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

19Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

20Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 a CPU e a memria principal e,
consequentemente, resulta no aumento do desempenho global do sistema.

21Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

22Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

23Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

24Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

25Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

26Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

27Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
27 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Sistemas de Numerao

28Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
28 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Sistema Posicional Sistema no Posicional

29Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
29 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Sistema Posicional Sistema no Posicional

30Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

31Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

32Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

33Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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). No ex.: 7 80


2o dgito: Armazena o equivalente a 81 (8). No ex.: 0 81
3o dgito: Armazena o equivalente a 82 (64). No ex.: 2 82
4o dgito: Armazena o equivalente a 83 (512). No ex.: 3 83

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

34Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

35Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

36Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

37Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

38Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
38 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Representao de nmeros positivos e negativos

39Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

40Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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)

41Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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)

42Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

43Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
43 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Arquitetura RISC x
Arquitetura CISC

44Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

45Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

46Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 Ciclo de busca inclui busca na memria e
instrues antes de execut-las identificao em decodificadores
Instruo semelhantes s micro-instrues Uso de micro-instrues gravadas no
da arquitetura CISC. As instrues so processador. Necessidade de
executadas diretamente no hardware interpretao das instrues
Instrues simples e em nmero limitado Instrues complexas. Vrias instrues
Programa compilado tem maior nmero de Menor nmero de instrues assembly,
instrues em assembly. Uso maior de porm mais lento na execuo
memria
47Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
47 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Etapas de execuo de uma instruo:

48Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

49Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

50Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

51Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 micro-
cdigos. A ausncia de interpretao contribui para o aumento da
velocidade de execuo.

CISC  As instrues bsicas so gravadas na forma de micro-


cdigos, 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.

52Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 1 2 3 4 5
Busca da instruo A B C D E
Execuo da instruo A B C D
Referncia memria B

53Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 1 2 3 4 5 6
Busca da instruo A B C NOP D E
Execuo da instruo A B NOP C D
Referncia memria B

54Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
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.

55Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

56Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
56 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Arquitetura RISC

57Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
57 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

EXEMPLO DE ARQUITETURA RISC: MICROCONTROLADOR PIC

58Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
58 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

59Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

60Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
60 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

8085 8086 / 8088


Caracterstica Microprocessador Microprocessador 8088 Microprocessador 8086
8085
Barramento de endereo 16 bits 20 bits 20 bits
Capacidade de 65.536 1.048.576 1.048.576
endereamento de memria ( 64 kB ) ( 1 MB ) ( 1 MB )
Barramento de dados 8 bits Interno: 16 bits Interno: 16 bits
Externo: 8 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 NO SIM SIM
endereamento
Aritmtica Decimal completa NO SIM SIM

Etapas de Busca e Execuo Em sequncia: Unidades Independentes: Unidades Independentes:


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

Unidade de Execuo (EU) Unidade de Execuo (EU)

61Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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
A Acumulador AH AL (A) AX Acumulador Primrio
H L Apontador de dados BH BL BX Acumulador e Registrador Base
B C CH CL CX Acumulador e Contador
D E DH DL DX Acumulador e Endereador de I/O
SP Apontador de pilha SP Apontador de pilha
BP Apontador base usado na pilha
SI ndice da Fonte usado para indexao
DI ndice de Destino usado para indexao
PC Contador de Programa IP Ponteiro de Instruo
CS Segmento de Cdigo Registradores de
segmento. So
DS Segmento de Dados
usados para a
SS Segmento de Pilha formao do
endereo absoluto.
ES Segmento Extra
FLAGS Registrador de Flags FLAGS Registrador de Flags

62Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
62 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Arquitetura do 8085

63Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
63 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Arquitetura do 8085 (detalhe)

64Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
64 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Arquitetura do 8086/88

65Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
65 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Arquitetura do 8051

66Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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
B CLOCK

LOAD ENABLE

CLOCK
C
LOAD
ENABLE
D CLOCK

ENABLE

67Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
67 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Clula bsica de um registrador:


HABILITA Chave 3
CARREGA SADA estados
(LOAD) (OE)
D Q
Flip-
Entrada X flop Sada Y
CLK

Linha do barramento

CARREGA HABILITA SADA


REGISTRADOR (OUTPUT ENABLE) COMENTRIO
(LOAD) (OE)

0 0 Registradores isolados do barramento. Barramento flutuando

0 1 Transfere dados do registrador para o barramento


1 0 Carrega o registrador com os dados do barramento

68Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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
B CLOCK

15 H ENABLE
LOAD

CLOCK C LOAD

ENABLE D D = 15 H CLOCK

ENABLE
69Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
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 cristal
f clock = 8085A-2: fcristal = 500 kHz a 5 MHz
2

Exemplo: Se fcristal = 2 MHz  fclock = 1 MHz

Tclock = 1 s

70Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 T4 T1 T2 T3

Ciclo de Busca Ciclo de


Execuo

Ciclo de Execuo

71Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
71 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao
M1 M2

CLK

Estados T1 T2 T3 T4 T1 T2 T3
PC FORA PC+1
PC INST IR PC FORA PC+1
PC INST IR

ALE

A15-A8 PC H PC H

AD7-AD0 PC L INST PC L INST

72Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
72 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

M1 M2
T1 T2 T3 T4 T1 T2 T3
PC FORA PC+1
PC INST IR SBE
PC FORA PC+1
PC INST IR

A15-A8 PC H PC H

AD7-AD0 PC L INST PC L INST

ALE

RD\

WR\

IO-M\

73Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
73 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao ADD


M1
B e MOV B,A M2

T1 T2 T3 T4 T1 T2 T3
ADD B PC FORA PC+1
PC INST IR B TMP SBE A+TMP A

MOV B,A PC FORA PC+1


PC INST IR A TMP

A15-A8 PC H PC H

AD7-AD0 PC L INST PC L INST

ALE

RD\

WR\

IO-M\

74Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

PC Endereo Barramento Endereo ROM

M\
ALE RD\

CLK

T1
75Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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

76Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

ROM Cdigo Barramento Cdigo IR

ENABLE
RD\ LOAD

M\

CLK

T1 T2 T3
77Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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

B Dados Barramento Dados TEMP

ENABLE LOAD

CLK

T1 T2 T3 T4
78Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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.

PC Endereo Barramento Endereo ROM

ALE
M\
ALE RD\

CLK

T1 T2 T3 T4 T1 M2

79Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

ENABLE
PC = PC + 1 ULA TEMP+A Barramento

A TEMP+A

ENABLE LOAD

CLK

T1 T2 T3 T4 T1M2 T2 M2

80Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

ROM Cdigo Barramento Cdigo IR

ENABLE LOAD
RD\

M\

CLK

T1 T2 T3 T4 T1M2 T2M2 T3-M2


81Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
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.

A Dados Barramento Dados TEMP

ENABLE LOAD

CLK

T1 T2 T3 T4 T1 T2 T3 T4
82Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
82 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.

83Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

84Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 Registrador de
+
Segmento Offset

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


(Contedo do Registrador de Offset)

85Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
85 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Endereo Fsico (ou absoluto)

XXXX0 0YYYY

Registrador de Segmento Registrador de Offset


(16 bits) (16 bits)
15 0 15 0
Extra Segment - ES Stack Pointer - SP
Code Segment - CS Base Pointer - BP
Stack Segment - SS Source Index - SI
Data Segment - DS Destination Index - DI

86Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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, pode-
se 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.

87Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
87 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Memria

Offset + Byte Endereado

Incio do Segmento
Segment 16
o

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

88Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 + 64 kB
CS 16
Offset +
64 kB
DS 16

Offset + 64 kB
ES 16
Offset + 64 kB
SS 16

00000H

89Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
89 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8051

1 Tmquina = 12 Tclock =
12
Tclock =
f clock f clock

12
Se f = 12 MHz  Tmquina = = 1s
12 MHz
12
Se f = 11.0592 MHz  Tmquina = = 1,085s
11,0592MHz

90Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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

91Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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.

92Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
92 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Formato das Instrues

93Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 Caractersticas Exemplos


instruo
1 byte O byte da instruo o prprio Opcode MOV A,C
(cdigo de operao) ADD B
RLC
DCR C
2 bytes O primeiro byte o Opcode e o segundo byte MVI A,35H
o Dado de 8 bits necessrio para a instruo ADI 05H
ORI 01H
3 bytes O primeiro byte o Opcode; o segundo e o LDA 2030H
terceiro bytes correspondem a um dado de 16 STA 2040H
bits. LXI H,2080H

94Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 MVI A,35H Instruo ADI 05H Instruo ORI 01H


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

95Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 M2

T1 T2 T3 T4 T1 T2 T3
ADD B PC FORA PC+1
PC INST IR B TMP SBE A+TMP A

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


M1 M2

T1 T2 T3 T4 T1 T2 T3
MOV B,A PC FORA PC+1
PC INST IR A TMP SBE TMP B

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

96Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 M2

T1 T2 T3 T4 T1 T2 T3
MVI reg, byte PC FOR A PC+1
PC INST IR X PC FOR A PC+1
PC byte
reg

MVI reg,dado  Carrega reg com o valor dado

M1 M2

T1 T2 T3 T4 T1 T2 T3
ADI byte PC FORA PC+1
PC INST IR X PC FORA PC+1
PC byte
TMP

M3
ADI dado Adiciona o dado ao contedo do
T1 T2 T3
Acumulador A
SBE A+TMP

A

97Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


Prof. Jos Wilson Lima Nerys
97 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao (Instruo de 3 bytes)

M1 M2

T1 T2 T3 T4 T1 T2 T3
LOAD adr PC FORA PC+1
PC INST IR X 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 A

LOAD adr  Carrega no Acumulador o contedo do endereo adr


Instruo de 3 bytes

98Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 M2

T1 T2 T3 T4 T1 T2 T3
STA adr PC FORA PC+1
PC INST IR X 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 A MWZ

STA adr  Transfere contedo do Acumulador para o endereo adr

99Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 Byte 2 Byte 3 Byte 4
7 2 1 0 7 0 7 0 7 0
opcode s w postbyte Dados Dados (se sw=0 1)

7 6 5 4 3 2 1 0
Opcode (cdigo da operao) s w Byte 1
Ou postbyte Byte 2
Dados Byte 3
Dados (se s w = 0 1) Byte 4

s w Efeito postbyte:
0 0 Instruo manipula byte 7 6 5 4 3 2 1 0

0 1 Instruo manipula word 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.

100
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 REG

OPCODE OPERANDO
2 Bytes
OPCODE ENDEREO DE 11 BITS

3 Bytes
OPCODE ENDEREO DE 16 BITS

OPCODE OPERANDO 1 OPERANDO 2

101
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
101 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos

OPCODE

Instruo RLC A
Codificao 0 0 1 1:0 0 1 1 (33H)

Instruo CLR A
Codificao 1 1 1 0:0 1 0 0 (E4H)

Instruo CLR C
Codificao 1 1 0 0:0 0 1 1 (C3H)

102
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
102 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE REG
Instruo ADD A,Rn
Codificao 0 0 1 0:1 r r r (2_H)

Instruo ADD A,R0


Codificao 0 0 1 0:1 0 0 0 (28H)

Instruo ADD A,R1


Codificao 0 0 1 0:1 0 0 1 (29H)

Instruo MOV A,Rn


Codificao 1 1 1 0:1 r r r (E_H)

Instruo MOV A,R0


Codificao 1 1 1 0:1 0 0 0 (E8H)

103
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
103 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE OPERANDO

Instruo ADD A,#Dado


Codificao 0 0 1 0:0 1 0 0 d7 d6 d5 d4 d3 d2 d1 d0 (24 XX) H

Instruo ADD A,#35H


Codificao 0 0 1 0:0 1 0 0 0 0 1 1:0 1 0 1 (24 35)H

Instruo MOV A,#Dado


Codificao 0 1 1 1:0 1 0 0 d7 d6 d5 d4 d3 d2 d1 d0 (74 XX)H

Instruo MOV A,#35H


Codificao 0 1 1 1:0 1 0 0 0 0 1 1:0 1 0 1 (74 35)H

104
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
104 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE ENDEREO DE 11 BITS

Instruo AJMP End. 11 bits


Codificao 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 AJMP 620H


Codificao 1100:0001 0010:0000 (C1 20)H

105
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
105 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos

OPCODE ENDEREO DE 16 BITS

Instruo LCALL End. 16 bits


Codificao 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 LCALL 0100 H


Codificao 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

106
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 ENDEREO DE 16 BITS

Instruo LJMP End. 16 bits


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

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

Instruo LJMP 0120 H


Codificao 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

LJMP 80 H X SJMP 80 H:

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

107
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 OPERANDO 2

Instruo DJNZ Direto, Relativo8


Codificao 1101:0101 a7 a6 a5 a4 : a3 a2 a1 a0 r7 r6 r5 r4 : r3 r2 r1 r0

Instruo DJNZ 01H, $


Codificao 1101:0101 0000:0001 1111:1101

DJNZ 01H,$  D5 01 FD H

108
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 8 7 6 5 4 3 2 1 0

OPCODE d 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)

109
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 8 7 6 5 4 3 2 1 0

OPCODE b f (Endereo do registrador)

OPCODE  Cdigo da operao


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

110
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 9 8 7 6 5 4 3 2 1 0

OPCODE k (literal)

OPCODE  Cdigo da operao


k  Indicam um valor constante ou literal

111Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade


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 10 9 8 7 6 5 4 3 2 1 0

OPCODE k (literal)

OPCODE  Cdigo da operao


k  Indicam um valor constante ou literal de 11 bits

112
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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

113
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
113 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Modos de Endereamento
8085 8086/8088
Imediato MVI A,15H 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 MOV M,A Indireto por
MOV AX,[BX]
registrador registrador
Indexado MOV AX,0100H[BX]
Baseado MOV [BX + 0100H], AX
Baseado e indexado MOV AX, [BX+SI]
Baseado e indexado
MOV AX, [BX+SI+5]
com deslocamento
Strings MOVSB

114
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 MOV A,B Transferncia de MOV AX,BX
dados MVI A,15H dados MOV DL,23H
ADD B ADD SI,DX
Aritmtico Aritmtico
SUB B SUB AX,DX
ANA B NOT BX
Lgico Lgico
ORI 0FH AND CX,DX
JMP 2005H
Desvio Desvio JMP BX
JNZ 2010H
CLC
Controle, Pilha, E/S PUSH PSW Controle
STC
MOVSB
Strings
STOSW

115
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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

116
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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


S Z AC P CY

117
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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


S Z AC P 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

118
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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


S Z AC P 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)

119
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 9 8 7 6 5 4 3 2 1 0
O D I T S Z A P C

Flag de Overflow Flag de Trap Flag Auxiliar de Carry

Flag de Direo Flag de Sinal Flag de Paridade

Flag de Interrupo Flag de Zero Flag de Carry

120
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
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.

121
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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.

122
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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)


0 0 0
0 1 1
1 0 1
1 1 0

123
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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.

124
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 P

Carry Uso Geral Overflow


Paridade
Auxiliar
de Carry

RS1 RS0 Banco Selecionado


0 0 0
0 1 1
1 0 2
1 1 3

125
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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.

126
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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  64H = 0 1 1 0:0 1 0 0


ADD A,#44  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 1 1 1 1

100 64H 0 1 1 0 0 1 0 0
44 2CH 0 0 1 0 1 1 0 0
144 90H 1 0 0 1 0 0 0 0

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.

127
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 1 0 0 1 0 0 0 0
01 01H 0 0 0 0 0 0 0 1
145 91H 1 0 0 1 0 0 0 1

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.

128
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
128 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Pilha no
8085 e 8051

129
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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
Endereo Mnemnico Cdigo
Instrues que usam a 2000 H LXI SP,20FFH 31 FF 20
pilha:
2003 H
2004 H
CALL
RET
PUSH
POP
Interrupes
xxxxx xxxxx
xxxxx xxxxx
SP  20FF H

130
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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

131
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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. O valor de SP decrementado em 1
2. O byte mais significativo armazenado na posio SP 1
3. O valor de SP decrementado em 1
4. 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

132
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 Flags PUSH B


Endereo Contedo Endereo Contedo
da RAM da RAM
2089 SP inicial: 2089
208A 208A
2090h
208B 208B
208C 208C 67 C
B
208D 208D 45
F 208E 23 208E 23 F
A 208F 01 208F 01 A

2090 2090
SP aps a instruo: SP aps a instruo:
208Eh 208Ch
133
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 POP PSW


Endereo Contedo Endereo Contedo
da RAM da RAM
2089 2089
208A 208A
208B 208B
208C 67 208C 67 C
B
208D 45 208D 45
F 208E 23 208E 23 F
A 208F 01 208F 01 A

2090 2090
SP aps a instruo: SP aps a instruo:
208Eh 2090h
134
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. Jos Wilson Lima Nerys
134 Microprocessadores
Universidade Federal de Gois
Escola de Engenharia Eltrica e de Computao

Endereo 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
Pilha 2009 H POP PSW F1
Exemplo de aplicao 200A H ADI 01H C6 01
200C H JNZ 2005 H DA 05 20
200F H JMP 2003 C3 03 20

2022 H

135
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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

136
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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. O contedo apontado por SP copiado para o registrador indicado


2. O valor de SP decrementado em 1

137
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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 SP decrementado nas SP incrementado nas
apontador de pilha operaes para guardar operaes para guardar
SP valores na pilha (PUSH, valores na pilha (PUSH,
CALL, chamada de CALL, chamada de
interrupo) 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 So movimentados 16 bits So movimentados 8 bits em
guardado em cada operao de pilha cada operao de pilha

138
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
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.

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

Você também pode gostar