Você está na página 1de 126

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.

P
P P N N

Juno PN Diodo

P Transistores de Juno PNP e NPN

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 Decodificadores

Codificadores

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
Registradores

Unidade Controle

unidade lgica e aritmtica e registradores


(Acumulador e outros). Precisa de perifricos tais como memria e unidade de entrada e sada, para a formao de um sistema mnimo.
ULA

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.

Estudo e Pesquisa 10Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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


11 Microprocessadores

Estudo e Pesquisa 11 Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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

Estudo e Pesquisa 12Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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


Estudo e Pesquisa 13Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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

Estudo e Pesquisa 14Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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.

Estudo e Pesquisa 15Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

15

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Definies Bsicas de

Microprocessadores

Estudo e Pesquisa 16Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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

Estudo e Pesquisa 17Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

17

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.

Estudo e Pesquisa 18Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

18

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

Estudo e Pesquisa 19Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

19

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.

Estudo e Pesquisa 20Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

20

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.

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

21

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

22

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Sistemas de Numerao

Estudo e Pesquisa 23Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

23

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Sistema Posicional Sistema no Posicional

Estudo e Pesquisa 24Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

24

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Sistema Posicional Sistema no Posicional

Estudo e Pesquisa 25Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

25

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

Estudo e Pesquisa 26Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

26

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

Estudo e Pesquisa 27Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

27

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


Estudo e Pesquisa 28Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

28

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

No ex.: 7 80
No ex.: 0 81

3o dgito: Armazena o equivalente a 82 (64).


4o dgito: Armazena o equivalente a 83 (512).

No ex.: 2 82
No ex.: 3 83

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


Estudo e Pesquisa 29Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

29

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). 2o dgito: Armazena o equivalente a 161 (16). No ex.:13 160 No ex.: 0 161

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


O equivalente decimal : 13 + 0 + 512 = 52510

No ex.: 2 162

Estudo e Pesquisa 30Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

30

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


Estudo e Pesquisa 31Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

31

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

32

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

33

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Representao de nmeros positivos e negativos

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

34

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

Estudo e Pesquisa 35Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

35

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

36

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)


Estudo e Pesquisa 37Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

37

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

Estudo e Pesquisa 38Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

38

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Arquitetura RISC x Arquitetura CISC

Estudo e Pesquisa 39Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

39

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.

Estudo e Pesquisa 40Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

40

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

41

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 Uso reduzido das vias de dados Muitas instrues com acesso memria 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 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 Programa compilado tem maior nmero de instrues em assembly. Uso maior de memria Instrues complexas. Vrias instrues Menor nmero de instrues assembly, porm mais lento na execuo
42 Microprocessadores

Estudo e Pesquisa 42Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Etapas de execuo de uma instruo:

Estudo e Pesquisa 43Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

43

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

Estudo e Pesquisa 44Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

44

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.

Estudo e Pesquisa 45Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

45

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.


Estudo e Pesquisa 46Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

46

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.

Estudo e Pesquisa 47Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

47

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 1 A 2 B A 3 C B 4 D C 5 E D

Referncia memria

Estudo e Pesquisa 48Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

48

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
Execuo da instruo Referncia memria

B
A

C
B

NOP
NOP B

D
C

E
D

Estudo e Pesquisa 49Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

49

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.

Estudo e Pesquisa 50Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

50

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.

Estudo e Pesquisa 51Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

51

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

EXEMPLO DE ARQUITETURA RISC: MICROCONTROLADOR PIC

Estudo e Pesquisa 52Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

52

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Estudo e Pesquisa 53Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

53

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

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

Estudo e Pesquisa 54Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

54

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

8085
Caracterstica
Barramento de endereo Capacidade de endereamento de memria 16 bits 65.536 ( 64 kB )

8086 / 8088
Microprocessador 8088
20 bits 1.048.576 ( 1 MB )

Microprocessador 8085

Microprocessador 8086
20 bits 1.048.576 ( 1 MB )

Barramento de dados
Manipulao de STRINGS Registradores Internos

8 bits
NO 8 bits e 16 bits

Interno: 16 bits Externo: 8 bits


SIM 16 bits

Interno: 16 bits Externo: 16 bits


SIM 16 bits

Uso de segmentao para endereamento Aritmtica Decimal completa


Etapas de Busca e Execuo

NO NO
Em sequncia: Busca Executa

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

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

Estudo e Pesquisa 55Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

55

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

8085
Registradores do 8085
A
H L
Acumulador
Apontador de dados

8086 / 8088
Registradores do 8088 / 8086
AH
BH

AL (A)
BL

AX Acumulador Primrio
BX Acumulador e Registrador Base

B
D SP

C
E
Apontador de pilha

CH
DH SP BP SI

CL
DL

CX Acumulador e Contador
DX Acumulador e Endereador de I/O Apontador de pilha Apontador base usado na pilha ndice da Fonte usado para indexao

DI
PC
Contador de Programa

ndice de Destino usado para indexao


Ponteiro de Instruo

IP

CS
DS SS ES FLAGS
Registrador de Flags

Segmento de Cdigo
Segmento de Dados Segmento de Pilha Segmento Extra Registrador de Flags

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

FLAGS

Estudo e Pesquisa 56Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

56

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Arquitetura do 8085

Estudo e Pesquisa 57Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

57

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Arquitetura do 8085 (detalhe)

Estudo e Pesquisa 58Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

58

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Arquitetura do 8086/88

Estudo e Pesquisa 59Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

59

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8085


LOAD CLOCK

Chave de 3 estados
A
LOAD

ENABLE

CLOCK
ENABLE

LOAD CLOCK

C
LOAD

ENABLE

CLOCK ENABLE

Estudo e Pesquisa 60Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

60

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Clula bsica de um registrador:


CARREGA (LOAD)

D Flipflop

HABILITA SADA (OE)

Chave 3 estados

Entrada X

CLK

Sada Y

Linha do barramento CARREGA REGISTRADOR (LOAD) 0 0 1 HABILITA SADA (OUTPUT ENABLE) (OE) 0 1 0

COMENTRIO

Registradores isolados do barramento. Barramento flutuando Transfere dados do registrador para o barramento Carrega o registrador com os dados do barramento

Estudo e Pesquisa 61Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

61

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Princpio de Funcionamento 8085


MOV D,A
LOAD

CLOCK

A = 15 H B
15 H

LOAD

ENABLE

CLOCK

ENABLE

LOAD
CLOCK ENABLE

LOAD

D D = 15 H

CLOCK

ENABLE
Estudo e Pesquisa 62Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

62

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

63

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
CLK

Ciclo de Mquina 2 : M2

Estados

T1

T2

T3

T4

T1

T2

T3

Ciclo de Busca

Ciclo de Execuo Ciclo de Execuo

Estudo e Pesquisa 64Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

64

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao
M1
CLK

M2

Estados ALE
A15-A8

T1
PC FORA

T2
PC+1 PC

T3
INST IR

T4

T1
PC FORA

T2
PC+1 PC

T3
INST IR

PC H PC L INST PC L

PC H INST

AD7-AD0

Estudo e Pesquisa 65Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

65

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

M1
T1
PC FORA

M2
T4 T1
SBE
PC FORA PC+1 PC INST IR

T2
PC+1 PC

T3
INST IR

T2

T3

A15-A8

PC H PC L INST PC L

PC H INST

AD7-AD0

ALE RD\ WR\ IO-M\


Estudo e Pesquisa 66Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

66

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao ADD B e MOV B,A M1


T1
ADD B MOV B,A
PC FORA

M2 T1
SBE
PC FORA

T2
PC+1 PC

T3
INST IR

T4
B TMP

T2
A+TMP A

T3
PC INST IR

PC+1

TMP

A15-A8

PC H PC L INST PC L

PC H INST

AD7-AD0

ALE RD\ WR\ IO-M\


Estudo e Pesquisa 67Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

67

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

68

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
69 Microprocessadores

Estudo e Pesquisa 69Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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
ENABLE

Barramento

Cdigo

IR

RD\ M\

LOAD

CLK

T1

T2

T3
70 Microprocessadores

Estudo e Pesquisa 70Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Ciclo de Execuo de ADD B: Contedo de B transferido para o barramento T4:

Princpio de Funcionamento 8085

Contedo do barramento transferido para um registrador temporrio e, depois para a unidade lgica e aritmtica

Dados

Barramento

Dados

TEMP

ENABLE

LOAD

CLK

T1

T2

T3

T4
71 Microprocessadores

Estudo e Pesquisa 71Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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
ALE RD\

M\

CLK

T1

T2

T3

T4

T1 M2
72 Microprocessadores

Estudo e Pesquisa 72Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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 A

TEMP+A

Barramento
TEMP+A

ENABLE

LOAD

CLK

T1

T2

T3

T4

T1M2 T2 M2
73 Microprocessadores

Estudo e Pesquisa 73Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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
ENABLE RD\ M\

Barramento

Cdigo

IR

LOAD

CLK

T1

T2

T3

T4

T1M2

T2M2

T3-M2
74 Microprocessadores

Estudo e Pesquisa 74Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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 Dados TEMP

Barramento

ENABLE

LOAD

CLK

T1

T2

T3

T4

T1

T2

T3
75

T4
Microprocessadores

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

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

76

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.

Estudo e Pesquisa 77Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

77

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) (Contedo do Registrador de Offset)

16 +

Estudo e Pesquisa 78Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

78

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Endereo Fsico (ou absoluto)

XXXX0 Registrador de Segmento (16 bits)

0YYYY

Registrador de Offset (16 bits)

15

15
Stack Pointer - SP

0 Base Pointer - BP
Source Index - SI

Extra Segment - ES
Code Segment - CS

Stack Segment - SS
Data Segment - DS

Destination Index - DI
79 Microprocessadores

Estudo e Pesquisa 79Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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

80

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Memria

Offset

Byte Endereado

Segment o
Exemplo 1:

16

Incio do Segmento

Segmento = 2000H; Offset = 2000H Representao: 2000H:2000H Endereo Fsico = 20000H + 02000H = 22000H Segmento = 4000H; Offset = 2000H Representao: 4000H:2000H Endereo Fsico = 40000h + 02000h = 42000h
81 Microprocessadores

Exemplo 2:

Estudo e Pesquisa 81Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

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 Offset
DS Offset ES

16
+ 16 + 16 64 kB

64 kB

Offset
SS 16

64 kB

00000H

Estudo e Pesquisa 82Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

82

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues

Estudo e Pesquisa 83Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

83

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8085


Tipo de instruo 1 byte Caractersticas O byte da instruo o prprio Opcode (cdigo de operao) Exemplos MOV A,C ADD B RLC DCR C
MVI A,35H ADI 05H ORI 01H

2 bytes

O primeiro byte o Opcode e o segundo byte o Dado de 8 bits necessrio para a instruo

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

Estudo e Pesquisa 84Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

84

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8085


Instruo Opcode MOV A,C 79 H Instruo Opcode ADD B 80 H Instruo Opcode RLC 07 H

Instruo MVI A,35H Opcode Dado 3E H 35 H

Instruo Opcode Dado Instruo Opcode

ADI 05H C6 H 05 H STA 2050H 32H

Instruo Opcode Dado

ORI 01H F6 H 01 H

Instruo LDA 2030H Opcode 3A H

Instruo LXI H,2080H


Opcode Dado L Dado H 21H 80 H 20 H

Dado L
Dado H

30 H
20 H

Dado L
Dado H

50 H
20 H

Estudo e Pesquisa 85Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

85

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao (Instruo de 1 byte)


M1
T1
ADD B
PC FORA

M2
T3
INST IR

T2
PC+1 PC

T4
B TMP

T1
SBE

T2
A+TMP A

T3

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


M1
T1
MOV B,A
PC FORA

M2
T3 T4
IR

T2
PC+1 PC

T1
SBE

T2
TMP B

T3

INST

TMP

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

Estudo e Pesquisa 86Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

86

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao (Instruo de 2 bytes)


M1
T1
MVI reg, byte
PC FOR A

M2
T3 T4
IR

T2
PC+1 PC

T1
PC FOR A

T2
PC+1 PC

T3
byte reg

INST

MVI reg,dado Carrega reg com o valor dado


M1
T1
ADI byte
PC FORA

M2
T4
IR

T2
PC+1 PC

T3
INST

T1
PC FORA

T2
PC+1 PC

T3
byte TMP

M3 ADI dado Adiciona o dado ao contedo do Acumulador A


T1
SBE

T2
A+TMP A

T3

Estudo e Pesquisa 87Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

87

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao (Instruo de 3 bytes)


M1
T1
LOAD adr
PC FORA

M2
T3 T4
IR

T2
PC+1 PC

T1
PC FORA

T2
PC+1 PC

T3
Byte L Z

INST

M3
T1
PC FORA

M4
T3 T1
W

T2
PC+1 PC

T2
MWZ

T3
A

Byte H

WZ FORA

LOAD adr Carrega no Acumulador o contedo do endereo adr Instruo de 3 bytes

Estudo e Pesquisa 88Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

88

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Diagrama de Temporizao (Instruo de 3 bytes)


M1
T1
STA adr
PC FORA

M2
T3 T4
IR

T2
PC+1 PC

T1
PC FORA

T2
PC+1 PC

T3
Byte L Z

INST

M3
T1
PC FORA

M4
T3 T1
W

T2
PC+1 PC

T2
A

T3
MWZ

Byte H

WZ FORA

STA adr Transfere contedo do Acumulador para o endereo adr

Estudo e Pesquisa 89Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

89

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
opcode

1
s

0
w

7
postbyte

7
Dados

7
Dados (se sw=0 1)

1
s

0
w Byte 1 Byte 2 Byte 3 Byte 4

Opcode (cdigo da operao)

Ou

postbyte Dados Dados (se s w = 0 1)

s
0 0

w
0 1

Efeito
Instruo manipula byte Instruo manipula word

postbyte:
7
mod

4
reg

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

90

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051


OPCODE
1 Byte

OPCODE

REG

OPCODE
OPCODE

OPERANDO 2 Bytes
ENDEREO DE 11 BITS 3 Bytes

OPCODE

ENDEREO DE 16 BITS

OPCODE

OPERANDO 1

OPERANDO 2
91 Microprocessadores

Estudo e Pesquisa 91Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


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

Instruo
Codificao

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

Estudo e Pesquisa 92Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

92

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE Instruo REG ADD A,Rn

Codificao Instruo Codificao Instruo


Codificao Instruo Codificao Instruo Codificao

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 (E8H)


93 Microprocessadores

Estudo e Pesquisa 93Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE
Instruo

OPERANDO
ADD A,#Dado

Codificao
Instruo Codificao

0 0 1 0:0 1 0 0

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

0 0 1 0:0 1 0 0

0 0 1 1:0 1 0 1

(24 35)H

Instruo Codificao
Instruo

MOV A,#Dado 0 1 1 1:0 1 0 0 d7 d6 d5 d4 d3 d2 d1 d0 (74 XX)H


MOV A,#35H

Codificao

0 1 1 1:0 1 0 0

0 0 1 1:0 1 0 1

(74 35)H
94 Microprocessadores

Estudo e Pesquisa 94Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE
Instruo Codificao

OPERANDO
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 (C1 20)H

Estudo e Pesquisa 95Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

95

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE ENDEREO DE 16 BITS

Instruo Codificao

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

Estudo e Pesquisa 96Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

96

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

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

Instruo
Codificao

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

LJMP 80 H X SJMP 80 H:

02 00 80

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

Estudo e Pesquisa 97Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

97

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Formato das Instrues do 8051 Exemplos


OPCODE
Instruo Codificao Instruo
1101:0101

OPERANDO 1

OPERANDO 2

DJNZ Direto, Relativo8


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

DJNZ 01H, $
1101:0101 0000:0001 1111:1101

Codificao

DJNZ 01H,$ D5 01 FD H

Estudo e Pesquisa 98Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

98

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

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)

Estudo e Pesquisa 99Ncleo deWilson Lima Nerys em Processamento de Energia e Qualidade Prof. Jos

99

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

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

100

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

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

101

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

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

102

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Modos de Endereamento e Grupos de Instrues

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

103

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Modos de Endereamento

8085
Imediato Direto Indireto por registrador MVI A,15H JMP 2005H MOV M,A Imediato

8086/8088
MOV AX, 1000H

Por registrador MOV A,B

Por registrador
Absoluto ou direto Indireto por registrador Indexado Baseado Baseado e indexado

MOV AX,BX
MOV AX,[1000H] MOV AX,[BX] MOV AX,0100H[BX] MOV [BX + 0100H], AX MOV AX, [BX+SI]

Baseado e indexado com deslocamento Strings


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

MOV AX, [BX+SI+5] MOVSB


104 Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Grupos de Instrues

8085
Transferncia de dados Aritmtico Lgico Desvio Controle, Pilha, E/S MOV A,B MVI A,15H ADD B SUB B ANA B ORI 0FH JMP 2005H JNZ 2010H PUSH PSW

8086/8088
Transferncia de dados Aritmtico Lgico Desvio Controle Strings MOV AX,BX MOV DL,23H ADD SI,DX SUB AX,DX NOT BX AND CX,DX JMP BX CLC STC MOVSB STOSW
105 Microprocessadores

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

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8085 8088/8086 - 8051

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

106

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 S

Bit 6 Z

Bit 5

Bit 4 AC

Bit 3

Bit 2 P

Bit 1

Bit 0 CY
107 Microprocessadores

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

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Bit 7 S

Bit 6 Z

Bit 5

Bit 4 AC

Bit 3

Bit 2 P

Bit 1

Bit 0 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 108 Jos Wilson Lima Nerys em Processamento de Energia e Qualidade Prof.

108

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Bit 7 S

Bit 6 Z

Bit 5

Bit 4 AC

Bit 3

Bit 2 P

Bit 1

Bit 0 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 109 Jos Wilson Lima Nerys em Processamento de Energia e Qualidade Prof.

109

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
O

10
D

9
I

8
T

7
S

6
Z

4
A

2
P

0
C

Flag de Overflow

Flag de Trap

Flag Auxiliar de Carry

Flag de Direo Flag de Interrupo

Flag de Sinal Flag de Zero

Flag de Paridade Flag de Carry


110 Microprocessadores

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

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

111

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

112

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 0

CY_OUT 0

OV = (XOR) 0

0 1
1

1 0
1

1 1
0
113 Microprocessadores

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

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

114

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Registrador de Flags 8051


Bit 7 CY Bit 6 AC Bit 5 F0 Bit 4 RS1 Bit 3 RS0 Bit 2 OV Bit 1 Bit 0 P

Carry

Uso Geral Auxiliar de Carry

Overflow

Paridade

RS1 0 0 1 1

RS0 0 1 0 1

Banco Selecionado 0 1 2 3
115 Microprocessadores

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

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

116

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

100 44
144

64H 2CH
90H

0 0
1

1 0
0

1 1
0

0 0
1

0 1
0

1 1
0

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

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

117

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 01
145

90H 01H
91H

1 0
1

0 0
0

0 0
0

1 0
1

0 0
0

0 0
0

0 0
0

0 1
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.

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

118

Microprocessadores

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Pilha

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

119

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 Instrues que usam a pilha: CALL RET Mnemnico Cdigo

2000 H
2003 H

LXI SP,20FFH

31 FF 20

2004 H

PUSH
POP

Interrupes
xxxxx xxxxx
SP

xxxxx xxxxx

20FF H
120 Microprocessadores

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

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

121

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. 2. O contedo apontado por SP copiado para o byte menos significativo O valor de SP incrementado em 1

3. 4.

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

122

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 Contedo

Flags

PUSH B
Endereo da RAM Contedo

2089 208A

SP inicial:
2090h

2089 208A

208B
208C

208B
208C 67

208D
F A

208D
23 01 208E 208F 2090

45
23 01

C B
F A

208E 208F 2090

SP aps a instruo: 208Eh

SP aps a instruo: 208Ch


123 Microprocessadores

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

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 Contedo

POP PSW
Endereo da RAM Contedo

2089 208A

2089 208A

208B
208C 67

208B
208C 67

208D
F A

45
23 01

208D
208E 208F 2090

45
23 01

C B
F A

208E 208F 2090

SP aps a instruo: 208Eh

SP aps a instruo: 2090h


124 Microprocessadores

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

Universidade Federal de Gois Escola de Engenharia Eltrica e de Computao

Endereo

Mnemnico

Cdigo

2000 H
2003 H

LXI SP,203FH
MVI A,20H

31 22 20
3E 20

2005 H
2006 H

PUSH PSW
CALL MOSTRAA POP PSW

F5
CD 6E 03 F1

Pilha
Exemplo de aplicao

2009 H

200A H
200C H

ADI 01H
JNZ 2005 H

C6 01
DA 05 20

200F H

JMP 2003

C3 03 20

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

125

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

126

Microprocessadores

Você também pode gostar