Teoria de Micro - Parte 1

Embed Size (px)

Citation preview

  • 7/26/2019 Teoria de Micro - Parte 1

    1/139

    MICROPROCESSADORES EMICROPROCESSADORES EMICROPROCESSADORES EMICROPROCESSADORES E MICROCONTROLADORESMICROCONTROLADORESMICROCONTROLADORESMICROCONTROLADORES

    1

    www.eee.ufg.br/~jwilson

    [email protected]

  • 7/26/2019 Teoria de Micro - Parte 1

    2/139

    MICROPROCESSADORES EMICROPROCESSADORES EMICROPROCESSADORES EMICROPROCESSADORES E MICROCONTROLADORESMICROCONTROLADORESMICROCONTROLADORESMICROCONTROLADORES

    2

  • 7/26/2019 Teoria de Micro - Parte 1

    3/139

    Materiais Eltricos Estudo de materiais isolantes, condutores e semicondutores caractersticas.

    3

    N

    P

    P N Juno PN Diodo

    P N P

    N P N

    Transistores de Juno PNP e NPN

  • 7/26/2019 Teoria de Micro - Parte 1

    4/139

    Eletrnica Aplicaes de Diodos e Transistores retificadores, amplificadores,ceifadores, filtros, multivibradores biestveis.

    4

  • 7/26/2019 Teoria de Micro - Parte 1

    5/139

    Sistemas Digitais Sistemas de numerao e cdigos binrios. PortasLgicas. lgebra Booleana. Circuitos lgicos combinacionais. Codificadores,decodificadores, multiplexadores e demultiplexadores. Aritmtica binria.

    Circuitos lgicos seqenciais (contadores e registradores).

    5

    Flip-flopPorta NAND

  • 7/26/2019 Teoria de Micro - Parte 1

    6/139

    Registradores

    Contadores

    Flip-flops

    6

    Somadores

    Decodificadores

    Codificadores

  • 7/26/2019 Teoria de Micro - Parte 1

    7/139

    Microprocessador

    a CPU de um computador construdo numnico Circuito Integrado. Contm

    essencialmente a unidade de controle, a

    CPU

    Registradores

    7

    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 umsistema mnimo.

    ULA

  • 7/26/2019 Teoria de Micro - Parte 1

    8/139

    Unidade Central de Processamento (CPU)

    Unidade de Controle (UC) - tem por funo bsica o controle dasdemais unidades da CPU atravs de sinais para transferncia de dados

    e sinais de sincronismo entre unidades.

    8

    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.

  • 7/26/2019 Teoria de Micro - Parte 1

    9/139

    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

  • 7/26/2019 Teoria de Micro - Parte 1

    10/139

    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.

    10

    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.

  • 7/26/2019 Teoria de Micro - Parte 1

    11/139

    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 ummotor e outros. Eles contm, dentre outras unidades, portas de entrada e sadaseriais e paralelas, temporizadores, controles de interrupo, memrias RAM eROM.

    11

    CPU

    Registradores

    UnidadeControle

    ULAUnidade deEntrada e

    Sada

    Memria

  • 7/26/2019 Teoria de Micro - Parte 1

    12/139

    Memria RAM Permite a leitura e agravao de dados.

    Memria Dinmica (DRAM) Baixa densidade,

    mas lenta. Capacitores com circuitos comatualizao de dados - refresh.

    Memria esttica (SRAM) Alta densidade.R ida. Baseada em Fli -flo s.

    12

    Memria CACHE - Pequena quantidade dememria RAM esttica (SRAM) usada paraacelerar o acesso memria principal (RAMdinmica).

    Quando h necessidade de transferir dados da(para) memria dinmica, estes so antestransferidos para a memria cache

  • 7/26/2019 Teoria de Micro - Parte 1

    13/139

    Memria ROM (Read-OnlyMemory)Memria que permite apenas a leitura, ou seja, as suas informaes sogravadas 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 (ProgrammableRead-OnlyMemory) Podem ser escritas com

    13

    dispositivos especiais mas no podem mais ser apagadas.

    EPROM (ErasableProgrammableRead-OnlyMemory) Podem ser apagadas pelouso de radiao ultravioleta permitindo suareutilizao.

    Exemplo para o caso do 8051:Microcontrolador 8751

  • 7/26/2019 Teoria de Micro - Parte 1

    14/139

    EEPROM (ElectricallyErasableProgrammableRead-Only Memory) Oseu contudo pode ser modificado

    eletricamente.Exemplo: EEPROM AT28C64 Memriacom 8 K de 8 bits

    14

    Memria FLASH So semelhantess EEPROMs, porm mais rpidas e demenor custo.

    Exemplo: Microcontrolador AT89S52

  • 7/26/2019 Teoria de Micro - Parte 1

    15/139

    Unidade de Entrada e Sada (I/O)

    A entrada de dados de um microprocessador (via teclado, mouse ououtros dispositivos) e a sada de dados (via vdeo, impressora ou

    outros) exige circuito integrado adicional como interface.

    15

    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.

  • 7/26/2019 Teoria de Micro - Parte 1

    16/139

    16

  • 7/26/2019 Teoria de Micro - Parte 1

    17/139

    ndice de Desempenho de Processadores

    O aumento de desempenho (velocidade de processamento) deprocessadores est relacionado com os seguintes aspectos:

    Aumento de clock

    17

    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

  • 7/26/2019 Teoria de Micro - Parte 1

    18/139

    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

    18

    . ,

    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.

  • 7/26/2019 Teoria de Micro - Parte 1

    19/139

    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.

    19

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

  • 7/26/2019 Teoria de Micro - Parte 1

    20/139

    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 dedecodificao) e execuo (onde os sinais de controle ativam, em uma

    se uncia l ica, todas as unidades envolvidas na execu o .

    20

    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.

  • 7/26/2019 Teoria de Micro - Parte 1

    21/139

    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

    rocessadores. Em razo desse roblema foi criada a memria cache. A

    21

    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 detransferncia de dados entre a CPU e a memria principal e,

    consequentemente, resulta no aumento do desempenho global do sistema.

  • 7/26/2019 Teoria de Micro - Parte 1

    22/139

    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

    22

    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.

  • 7/26/2019 Teoria de Micro - Parte 1

    23/139

    MIPS - Millions of Instructions Per Seconds(Milhes de Instrues PorSegundo): uma unidade de desempenho do microprocessador.

    FLOPS - FLOating point instructions Per Seconds(Instrues comPonto Flutuante Por Segundo). tambm uma unidade dedesempenho do microprocessador. Indica a capacidade de trabalharcom nmeros decimais.

    23

    Representao em Ponto Fixo - Sistema numrico no qual o pontoest 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: umamantissa (ou significante) e um expoente. Possibilita representao denmeros fracionrios.

  • 7/26/2019 Teoria de Micro - Parte 1

    24/139

    BitAbreviatura 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

    24

    .

    computadores, que tambm utilizam alguns mltiplos de 8, taiscomo 16 bits (Word) e 32 bits (Dword).

  • 7/26/2019 Teoria de Micro - Parte 1

    25/139

    Set de Instrues

    Conjunto de Instrues - Conjunto de Mnemnicos (siglas que

    fazem lembrar uma ao) que representam todas as instrues doprocessador. Cada processador possui o seu set de instruesparticular. O microprocessador 8085 possui 74 instrues.

    25

    BIOS

    Basic Input/Output System o conjunto mnimo de instruesnecessrias para a inicializao do computador. Tambm gerencia

    o fluxo de dados entre o sistema operacional do computador e osdispositivos perifricos conectados.

  • 7/26/2019 Teoria de Micro - Parte 1

    26/139

    Alguns Exemplos de Aplicao de Microprocessadorese Microcontroladores

    Microcomputadores, Calculadoras, Relgios Digitais,

    Controle de Fornos Micro-ondas, Lavadora de Roupas,

    26

    Video Games e outros brinquedos, Controle de Motores,

    Controle de Trfego, Alarmes e Sistemas de Segurana,

    Telefone Celular.

  • 7/26/2019 Teoria de Micro - Parte 1

    27/139

    Alguns Exemplos de Projetos Finais ImplementadosUsando Microcontroladores na EEEC

    Controle Escalar de Motor de Induo, Controle de Motor de CorrenteContnua, Sistema de Controle de Porto Eletrnico, Sistema de Controle

    de Acesso ao Laboratrio, Sistema de Controle de Presena em Sala de

    27

    Aula (Dirio Eletrnico), Sistema de Controle de Umidade e Temperaturade 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 deMonitoramento de Tarifao de Telefone, Sistema de Controle para

    Centrfugas de Apirios, Sistema de Suporte para Deficientes Visuais.

  • 7/26/2019 Teoria de Micro - Parte 1

    28/139

    28

  • 7/26/2019 Teoria de Micro - Parte 1

    29/139

    Sistema Posicional Sistema no Posicional

    29

  • 7/26/2019 Teoria de Micro - Parte 1

    30/139

    Sistema Posicional Sistema no Posicional

    30

  • 7/26/2019 Teoria de Micro - Parte 1

    31/139

    Sistema Binrio - O sistema binrio o sistema de numerao que ocomputador 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

    31

    . .

    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

  • 7/26/2019 Teoria de Micro - Parte 1

    32/139

    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.

    32

    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

  • 7/26/2019 Teoria de Micro - Parte 1

    33/139

    Sistema BCD (Binary-Coded Decimal) O Sistema BCD o sistemaem 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).

    33

    A representao de um nmero maior que 9 deve ser feita por outrogrupo 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

  • 7/26/2019 Teoria de Micro - Parte 1

    34/139

    Sistema Octal - O Sistema Octal baseado nos mesmos princpios dodecimal e do binrio, apenas utilizando base 8.

    Utiliza 8 dgitos: 0 a 7.

    Exemplo: 32078

    34

    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

  • 7/26/2019 Teoria de Micro - Parte 1

    35/139

    Sistema Hexadecimal - O Sistema Hexadecimal baseado nosmesmos 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

    35

    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

  • 7/26/2019 Teoria de Micro - Parte 1

    36/139

    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 d itos binrios e uivalentes.

    36

    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

  • 7/26/2019 Teoria de Micro - Parte 1

    37/139

    Converso de Base

    37

    Representao: r2r1 r0

    Valor hexadecimal correspondente a 1234: 4D2h

  • 7/26/2019 Teoria de Micro - Parte 1

    38/139

    Converso de Base (algoritmo genrico)

    Se q0= 0 Valor = q0B+ r0= 0.B + r0= r0

    A diviso termina quandoo quociente zero

    38

    Se q1 = 0

    Valor = q0B+ r0q0= q1 .B + r1 = 0.B + r1 = r1ou, Valor = r1 .B+ r0Representao: r1 r0

    Se q2 = 0

    Valor = q0B+ r0, q0= q1 .B + r1q1= q2.B + r2= 0.B + r2= r2

    Valor = r2B2+ r1 B + r0Representao: r2r1 r0

  • 7/26/2019 Teoria de Micro - Parte 1

    39/139

    Representao de nmeros positivos e negativos

    39

  • 7/26/2019 Teoria de Micro - Parte 1

    40/139

    Valor Simtrico de um Nmero

    Nmero binrio:

    a = (complemento de 1 de a) + 1 =

    40

    = comp emen o e e a = a

    Nmero decimal:

    a = (complemento de 9 de a) + 1 == complemento de 10 de a = 10n a

  • 7/26/2019 Teoria de Micro - Parte 1

    41/139

    Subtrao Usando AdioNmero binrio:

    a b = a + (complemento de 2 de b)

    a b = a + (2n b)

    Exemplo para um nmero binrio de 4 dgitos:

    41

    a 1 = a+ (24 1) = a+ (10000 0001) = a+ 1111a 3 = a+ (24 3) = a+ (10000 0011) = a+ 1101

    Se a= 1001 (910) a 1 = 1001 0001 = 1000 a 3 = 1001 0011 = 0110

    oua 1 = 1001 + 1111 = 1 1000 (despreza-se o quinto dgito)a 3 = 1001 + 1010 = 1 0110 (nmero de 4 dgitos)

  • 7/26/2019 Teoria de Micro - Parte 1

    42/139

    Subtrao Usando AdioNmero decimal:

    a b= a + (complemento de 10 de a)

    a b = a + (10n b)

    Exemplo para um nmero decimal de 2 dgitos:

    42

    a 1 = a + (102 1) = a + (100 1) = a+ 99a 3 = a + (102 3) = a + (100 3) = a+ 97

    Se a = 94 a 1 = 94 1 = 93

    a 3 = 94 3 = 91oua 1 = 94 + 99 = 1 93 (despreza-se o terceiro dgito)a 3 = 94 + 97 = 1 91 (o nmero de 2 dgitos)

  • 7/26/2019 Teoria de Micro - Parte 1

    43/139

    Operaes Aritmticas no Microprocessador

    Adio Adio direta

    Subtrao Adio com o complemento de 2

    43

    Multiplicao Vrias adies

    Diviso Vrias adies com complemento de 2

  • 7/26/2019 Teoria de Micro - Parte 1

    44/139

    44

  • 7/26/2019 Teoria de Micro - Parte 1

    45/139

    Objetivo bsico de qualquer arquitetura de

    microprocessador:aumentar o desem enho do rocessador

    45

    reduzindo o tempo de execuo de tarefas.

  • 7/26/2019 Teoria de Micro - Parte 1

    46/139

    Arquiteturas em uso nos computadores atuais:

    CISC Complex Instruction Set Computing (Computador com

    Conjunto Complexo de Instrues) Exemplos: Intel e AMD

    46

    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.

  • 7/26/2019 Teoria de Micro - Parte 1

    47/139

    RISC CISC

    Instrues bsicas executadas em apenas1ciclo de via de dados

    No mnimo 4 ciclos de clock para executaruma instruo

    Uso reduzido da memria Muitas instrues com acesso memriaUso reduzido das vias de dados Uso intenso das vias de dados

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

    Algumas Caractersticas RISC X CISC:

    47

    de memria muitos registradores que a arquitetura RISC

    No h necessidade de decodificao dasinstrues antes de execut-las

    Ciclo de busca inclui busca na memria eidentificao em decodificadores

    Instruo semelhantes s micro-instruesda arquitetura CISC. As instrues so

    executadas diretamente no hardware

    Uso de micro-instrues gravadas noprocessador. Necessidade de

    interpretao das instruesInstrues simples e em nmero limitado Instrues complexas. Vrias instrues

    Programa compilado tem maior nmero deinstrues em assembly. Uso maior de

    memria

    Menor nmero de instrues assembly,porm mais lento na execuo

  • 7/26/2019 Teoria de Micro - Parte 1

    48/139

    Etapas de execuo de uma instruo:

    48

  • 7/26/2019 Teoria de Micro - Parte 1

    49/139

    CONJUNTO DE INSTRUES:

    Grupos de instrues mais comuns em processadores de qualquerarquitetura:

    Instrues de desvio (No CISC o valor de retorno guardado na pilha;no RISC guardado em um registrador.

    Instru es de transferncia entre re istradores e memria No RISC:

    49

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

  • 7/26/2019 Teoria de Micro - Parte 1

    50/139

    CICLO DE EXECUO:

    RISC As instrues so executadas em um nico ciclo de via dedados. So instrues muito parecidas com as micro-instrues daarquitetura CISC. No precisam de decodificao.

    No possvel ter instrues de multiplicao e diviso, por exemplo,

    50

    por exigir muitos ciclos para execuo. Multiplicaes so resolvidas

    com adies e deslocamentos.

    CISC Antes de executar uma instruo, h necessidade de buscada instruo na memria e de decodificao. Utiliza-se micro-cdigos

    gravados no processador, para a execuo das instrues.

  • 7/26/2019 Teoria de Micro - Parte 1

    51/139

    MEMRIA E REGISTRADORES:

    RISC Possui uma quantidade muito grande de registradores (em mdia512 com 32 visveis por vez: 8 para variveis globais e ponteiros, 8 para

    parmetros de entrada, 8 para variveis locais e 8 para parmetros desada).

    Nmero reduzido de acesso memria (o acesso memria torna o

    51

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

    Vrios modos de endereamento para acesso memria.

  • 7/26/2019 Teoria de Micro - Parte 1

    52/139

    MICRO-CDIGOS:

    RISC As instrues geradas por um compilador para uma mquinaRISC so executadas diretamente no hardware, sem o uso de micro-cdigos. A ausncia de interpretao contribui para o aumento davelocidade de execuo.

    52

    CISC As instrues bsicas so gravadas na forma de micro-cdigos, que atuam no hardware estabelecendo os passos de cadainstruo. H necessidade de busca e decodificao das instrues.

    O programa compilado tem uma quantidade menor de instruesassembly do que um programa RISC, mas mais lento na execuo.

  • 7/26/2019 Teoria de Micro - Parte 1

    53/139

    PIPELINE:

    Tcnica usada para acelerar a execuo de instrues. A cada ciclo

    de clock, enquanto uma instruo est na etapa de execuo, ainstruo seguinte est sendo buscada. O resultado global que, a

    cada ciclo uma nova instru o iniciada e uma instru o

    53

    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

  • 7/26/2019 Teoria de Micro - Parte 1

    54/139

    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

    exem lo usando o mesmo re istrador ou uando a instru o C

    54

    precisa do resultado da instruo B) necessrio aguardar o trminoda instruo B antes de executar a instruo C.

    Ciclos 1 2 3 4 5 6

    Busca da instruo A B C NOP D EExecuo da instruo A B NOP C D

    Referncia memria B

  • 7/26/2019 Teoria de Micro - Parte 1

    55/139

    VANTAGENS RISC:

    Velocidade de execuo

    O uso de pipeline torna os processadores RISC duas a quatro vezesmais rpidos que um CISC de mesmo clock

    55

    Simplicidade de Hardware

    Ocupa menos espao no chip, devido ao fato de trabalhar cominstrues simples.

    Instrues de mquina simples e pequenas, o que aumenta sua

    performance.

  • 7/26/2019 Teoria de Micro - Parte 1

    56/139

    DESVANTAGENS RISC:

    O desempenho de um processador RISC depende diretamente docdigo gerado pelo programador. Um cdigo mal desenvolvido poderesultar em tempo de execuo muito grande.

    56

    um equivalente compilado para mquina RISC com uma quantidademuito maior de cdigos assembly, ocupando um espao maior namemria.

    A arquitetura RISC requer sistema de memria rpida para alimentar

    suas instrues. Normalmente possuem grande quantidade dememria cache interna, o que encarece o projeto.

  • 7/26/2019 Teoria de Micro - Parte 1

    57/139

    Arquitetura RISC

    57

  • 7/26/2019 Teoria de Micro - Parte 1

    58/139

    EXEMPLO DE ARQUITETURA RISC: MICROCONTROLADOR PIC

    58

  • 7/26/2019 Teoria de Micro - Parte 1

    59/139

    59

  • 7/26/2019 Teoria de Micro - Parte 1

    60/139

    ,,

    60

    0 0/0 0/

  • 7/26/2019 Teoria de Micro - Parte 1

    61/139

    Caracterstica Microprocessador8085

    Microprocessador 8088 Microprocessador 8086

    Barramento de endereo 16 bits 20 bits 20 bits

    Capacidade deendereamento de memria

    65.536( 64 kB )

    1.048.576( 1 MB )

    1.048.576( 1 MB )

    Barramento de dados 8 bits Interno: 16 bitsExterno: 8 bits

    Interno: 16 bitsExterno: 16 bits

    Manipulao de STRINGS NO SIM SIM

    0 0 / 0

    61

    eg s ra ores n ernos s e s s s

    Uso de segmentao paraendereamento NO SIM SIM

    Aritmtica Decimal completa NO SIM SIM

    Etapas de Busca e Execuo Em sequncia:

    Busca Executa

    Unidades Independentes:

    Unidade de Interfaceamentocom Barramento (BIU) responsvel pela Busca e

    Unidade de Execuo (EU)

    Unidades Independentes:Unidade de

    Interfaceamento comBarramento (BIU) responsvel pela Busca e

    Unidade de Execuo (EU)

  • 7/26/2019 Teoria de Micro - Parte 1

    62/139

    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

    0 0 / 0

    62

    BP Apontador base usado na pilha

    SI ndice da Fonte usado para indexaoDI ndice de Destino usado para indexao

    PC Contador de Programa IP Ponteiro de Instruo

    CS Segmento de Cdigo Registradores desegmento. So

    usados para aformao doendereo absoluto.

    DS Segmento de Dados

    SS Segmento de Pilha

    ES Segmento Extra

    FLAGS Registrador de Flags FLAGS Registrador de Flags

  • 7/26/2019 Teoria de Micro - Parte 1

    63/139

    Arquitetura do 8085

    63

  • 7/26/2019 Teoria de Micro - Parte 1

    64/139

    Arquitetura do 8085 (detalhe)

    64

  • 7/26/2019 Teoria de Micro - Parte 1

    65/139

    Arquitetura do 8086/88

    65

  • 7/26/2019 Teoria de Micro - Parte 1

    66/139

    8051

    66

    Arquitetura

    d

  • 7/26/2019 Teoria de Micro - Parte 1

    67/139

    Princpio de Funcionamento 8085

    B

    A

    LOAD

    LOAD

    ENABLE

    CLOCK

    CLOCK

    Chave de 3 estados

    67

    C

    D

    LOAD

    LOADENABLE

    ENABLE

    ENABLE

    CLOCK

    CLOCK

  • 7/26/2019 Teoria de Micro - Parte 1

    68/139

    CARREGA(LOAD)

    HABILITASADA(OE)

    Entrada X Sada Y

    D

    CLK

    Q

    Flip-

    flop

    Chave 3estadosClula bsica de um registrador:

    68

    Linha do barramento

    CARREGAREGISTRADOR

    (LOAD)

    HABILITA SADA(OUTPUT ENABLE)

    (OE)COMENTRIO

    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

    P i i d F i t 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    69/139

    A = 15 H

    Princpio de Funcionamento 8085

    B

    LOAD

    LOAD

    ENABLE

    CLOCK

    CLOCK

    MOV D,A

    69

    C

    D

    LOAD

    LOAD

    ENABLE

    ENABLE

    ENABLE

    CLOCK

    CLOCKD = 15 H

    15 H

  • 7/26/2019 Teoria de Micro - Parte 1

    70/139

    Frequncia de ClockCLK

    Ciclo de Clock

    8085A: f = 500 kHz a 3 125 MHz

    70

    2cristal

    clock ff =

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

    Exemplo: Se fcristal= 2 MHz fclock= 1 MHz

    Tclock= 1s

  • 7/26/2019 Teoria de Micro - Parte 1

    71/139

    Ciclos de Clock, de Mquina e de Instruo

    Ciclo de Mquina 1: M1 Ciclo de Mquina 2 : M2

    Ciclo de Instruo

    Ciclo de Instruo

    71

    CLK

    Estados T1 T2 T3 T4 T1 T2 T3

    Ciclo de Busca

    Ciclo de Execuo

    Ciclo deExecuo

  • 7/26/2019 Teoria de Micro - Parte 1

    72/139

    Diagrama de Temporizao

    M1 M2

    CLK

    72

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

    ALE

    A15-A8 PC H PC H

    AD7-AD0 PC L INST PC L INST

    M1 M2

  • 7/26/2019 Teoria de Micro - Parte 1

    73/139

    T1 T2 T3 T4 T1 T2 T3

    PC FORA PC+1PC INST IR SBE

    PC FORA PC+1PC INST IR

    A15-A8 PC H PC H

    -

    M1 M2

    73

    ALE

    RD\

    WR\

    IO-M\

    Diagrama de Temporizao ADD B e MOV B AM1 M2

  • 7/26/2019 Teoria de Micro - Parte 1

    74/139

    Diagrama de Temporizao ADD B e MOV B,A

    T1 T2 T3 T4 T1 T2 T3

    ADD B PC FORA PC+1PC INST IR B TMP SBE A+TMP A

    MOV B,A PC FORA PC+1PC INST IR A TMP

    A15-A8 PC H PC H

    M1 M2

    74

    -

    ALE

    RD\

    WR\

    IO-M\

    Princpio de Funcionamento 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    75/139

    Ciclo de Busca de ADD B:T1: Contador de Programa (PC) ativado. Endereo atual colocado nobarramento de 16 bits. O sinal ALE o trigger para a transferncia dos endereosde PC para o barramento.

    PC Barramento ROMEndereo Endereo

    Princpio de Funcionamento 8085

    75

    CLK

    RD\

    T1

    ALEM\

  • 7/26/2019 Teoria de Micro - Parte 1

    76/139

    Princpio de Funcionamento 8085Ciclo de Busca de ADD B:

    T2: Na descida do sinal de clock o PC incrementado em 1. Barramentodisponvel para outras operaes.

    76

    PC = PC + 1

    CLK

    T2T1

    Princpio de Funcionamento 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    77/139

    Ciclo de Busca de ADD B:T3: Leitura do cdigo da instruo (ROM). O cdigo transferido para obarramento. Bloco IR (Registrador de Instruo) carrega a instruo vinda daROM. Instruo decodificada no Decodificador

    ROM Barramento IRCdigo Cdigo

    Princpio de Funcionamento 8085

    77

    CLK

    T3

    M\

    RD\

    T1 T2

    LOADENABLE

    Princpio de Funcionamento 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    78/139

    Princpio de Funcionamento 8085Ciclo de Execuo de ADDB: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 Barramento TEMPDados Dados

    78

    CLK

    T4

    ENABLE LOAD

    T1 T2 T3

    Princpio de Funcionamento 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    79/139

    p

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

    PC Barramento ROMEndereo Endereo

    79

    ALE

    CLK

    RD\

    T1 M2

    ALEM\

    T1 T2 T3 T4

    Princpio de Funcionamento 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    80/139

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

    T2: Na descida do sinal de clock o PC incrementado em 1. Barramentodisponvel finalizar a instruo ADD B.

    TEMP

    ENABLE

    80

    A

    CLK

    T2 M2

    =

    ENABLE

    TEMP+A

    T1 T2 T3 T4 T1M2

    LOAD

    Princpio de Funcionamento 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    81/139

    Ciclo de Busca de MOV B,A:

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

    ROM Barramento IRCdigo Cdigo

    81

    CLK

    T3-M2

    M\

    RD\

    T1 T2 T3 T4 T1M2 T2M2

    ENABLE LOAD

    Princpio de Funcionamento 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    82/139

    Ciclo de Execuo de MOV B,A:T4: Contedo de A transferido para o barramento

    Contedo do barramento transferido para um registrador temporrioe, depois para o registrador B, no estado T2 da prxima instruo.

    A Barramento TEMPDados Dados

    82

    CLK

    T4

    ENABLE LOAD

    T1 T2 T3 T4T1 T2 T3

  • 7/26/2019 Teoria de Micro - Parte 1

    83/139

    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;

    83

    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.

  • 7/26/2019 Teoria de Micro - Parte 1

    84/139

    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

    84

    descartada (ou seja, sobrescrita);

    Quando a instruo faz referncia memria.

  • 7/26/2019 Teoria de Micro - Parte 1

    85/139

    Registrador de Registrador de+

    Segmentao

    Consiste em combinar 2 registradores de 16 bits para gerar um

    endereo de memria de 20 bits (220

    = 1.048.576 = 1 Mb)

    85

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

    (Contedo do Registrador de Offset)

  • 7/26/2019 Teoria de Micro - Parte 1

    86/139

    Endereo Fsico (ou absoluto)

    86

    Registrador de Offset

    (16 bits)

    Registrador de Segmento

    (16 bits)15 0

    Extra Segment - ES

    Code Segment - CSStack Segment - SS

    Data Segment - DS

    15 0

    Stack Pointer - SP

    Base Pointer - BPSource Index - SI

    Destination Index - DI

  • 7/26/2019 Teoria de Micro - Parte 1

    87/139

    Vantagens da Utilizao de Memria Segmentada

    Por haver uma rea especfica para armazenamento decdigo 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

    87

    programa atende vrias entradas de dados).

    Programas que referenciam endereos lgicos (0000 a FFFFno caso do 8088) podem ser carregados em qualquer espao(fsico) da memria (00000 a FFFFF): possibilita a realocaode programas.

  • 7/26/2019 Teoria de Micro - Parte 1

    88/139

    Offset +

    Memria

    Byte Endereado

    Incio do Se mento

    88

    egmeno

    Exemplo 1: Segmento = 2000H; Offset = 2000HRepresentao: 2000H:2000HEndereo Fsico = 20000H + 02000H = 22000H

    Exemplo 2: Segmento = 4000H; Offset = 2000HRepresentao: 4000H:2000HEndereo Fsico = 40000h + 02000h = 42000h

    Alocao de diferentes regies para diferentes conjuntos de dados

  • 7/26/2019 Teoria de Micro - Parte 1

    89/139

    Offset +

    64 kB

    CS 16

    Offset +

    64 kB

    F F F F F H

    89

    64 kB

    ES 16Offset +

    SS 16

    Offset +

    64 kB

    0 0 0 0 0 H

    Princpio de Funcionamento 8051

  • 7/26/2019 Teoria de Micro - Parte 1

    90/139

    90

    Se f = 12 MHz

    clock

    clock

    f

    T =clock

    clockmquina

    f

    TT 12 ==

    Se f = 11.0592 MHz

    sHz

    Tmquina 112

    12==

    sMHz

    Tmquina 085,10592,11

    12==

    Princpio de Funcionamento 8051

  • 7/26/2019 Teoria de Micro - Parte 1

    91/139

    91

    ,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

    Princpio de Funcionamento 8051

  • 7/26/2019 Teoria de Micro - Parte 1

    92/139

    92

    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 eencaminhado para o registrador final.

  • 7/26/2019 Teoria de Micro - Parte 1

    93/139

    93

    Formato das Instrues do 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    94/139

    Formato das Instrues do 8085

    Tipo deinstruo

    Caractersticas Exemplos

    1 byte O byte da instruo o prprio Opcode(cdigo de operao)

    MOV A,CADD BRLC

    94

    2 bytes O primeiro byte o Opcode e o segundo byte o Dado de 8 bits necessrio para a instruo MVI A,35HADI 05HORI 01H

    3 bytes O primeiro byte o Opcode; o segundo e oterceiro bytes correspondem a um dado de 16

    bits.

    LDA 2030HSTA 2040H

    LXI H,2080H

    Formato das Instrues do 8085

  • 7/26/2019 Teoria de Micro - Parte 1

    95/139

    Formato das Instrues do 8085Instruo MOV A,C

    Opcode 79 H

    Instruo ADD B

    Opcode 80 H

    Instruo RLC

    Opcode 07 H

    Instruo MVI A,35H

    Instruo ADI 05H

    Instruo ORI 01H

    95

    Dado 35 H

    pco e

    Dado 05 H

    pco e

    Dado 01 H

    Instruo LDA 2030H

    Opcode 3A H

    Dado L 30 H

    Dado H 20 H

    Instruo STA 2050H

    Opcode 32H

    Dado L 50 H

    Dado H 20 H

    Instruo LXI H,2080H

    Opcode 21H

    Dado L 80 H

    Dado H 20 H

    Diagrama de Temporizao (Instruo de 1 byte)

  • 7/26/2019 Teoria de Micro - Parte 1

    96/139

    Diagrama de Temporizao (Instruo de 1 byte)

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

    M1 M2

    96

    T1 T2 T3 T4 T1 T2 T3

    MOV B,A PC FORA PC+1PC INST IR A TMP SBE TMP B

    M1 M2

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

    Diagrama de Temporizao (Instruo de 2 bytes)

  • 7/26/2019 Teoria de Micro - Parte 1

    97/139

    MVI reg,dado Carrega reg com o valor dado

    T1 T2 T3 T4 T1 T2 T3

    MVI reg, byte PC FOR A PC+1PC INST IR X PC FOR A PC+1PC bytereg

    M1 M2

    97

    T1 T2 T3 T4 T1 T2 T3

    ADI byte PC FORA PC+1PC INST IR X PC FORA PC+1PC byteTMP

    M1 M2

    T1 T2 T3

    SBE A+TMP

    A

    M3

    ADI dado Adiciona o dado ao contedo doAcumulador A

    Diagrama de Temporizao (Instruo de 3 bytes)

  • 7/26/2019 Teoria de Micro - Parte 1

    98/139

    T1 T2 T3 T4 T1 T2 T3LOAD adr PC FORA PC+1PC INST IR X PC FORA PC+1PC Byte LZ

    M1 M2

    M4

    Diagrama de Temporizao (Instruo de 3 bytes)

    M3

    98

    T1 T2 T3

    WZ FORA MWZ A

    LOAD adr Carrega no Acumulador o contedo do endereo adr

    Instruo de 3 bytes

    T1 T2 T3

    PC FORA PC+1PC Byte HW

    Diagrama de Temporizao (Instruo de 3 bytes)

  • 7/26/2019 Teoria de Micro - Parte 1

    99/139

    Diagrama de Temporizao (Instruo de 3 bytes)

    T1 T2 T3 T4 T1 T2 T3STA adr PC FORA PC+1PC INST IR X PC FORA PC+1PC Byte LZ

    M1 M2

    M4M3

    99

    T1 T2 T3

    WZ FORA A MWZ

    STA adr Transfere contedo do Acumulador para o endereo adr

    T1 T2 T3

    PC FORA PC+1PC Byte HW

    Formato das Instrues de transferncia de dados do 8086/88

    Byte 1 Byte 2 Byte 3 Byte 4

  • 7/26/2019 Teoria de Micro - Parte 1

    100/139

    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)

    Ou

    7 6 5 4 3 2 1 0

    Opcode (cdigo da operao) s w Byte 1

    100

    Dados Byte 3

    Dados (se s w = 0 1) Byte 4

    7 6 5 4 3 2 1 0

    mod reg r/m

    Semod= 1 1 o operando da instruo um registrador, que identificado em r/mSe a instruo envolver dois registradores o campo reg identifica o segundo registrador.

    postbyte:s w Efeito

    0 0 Instruo manipula byte

    0 1 Instruo manipula word

    Formato das Instrues do 8051

  • 7/26/2019 Teoria de Micro - Parte 1

    101/139

    Formato das Instrues do 8051

    OPCODE

    OPCODE REG

    1 Byte

    101

    OPCODE OPERANDO

    OPCODE ENDEREO DE 11 BITS

    OPCODE ENDEREO DE 16 BITS

    OPCODE OPERANDO 1 OPERANDO 2

    2 Bytes

    3 Bytes

    Formato das Instrues do 8051 Exemplos

  • 7/26/2019 Teoria de Micro - Parte 1

    102/139

    Formato das Instrues do 8051 Exemplos

    OPCODE

    Instruo RLC A

    Codificao 0 0 1 1:0 0 1 1 (33H)

    102

    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)

    Formato das Instrues do 8051 Exemplos

  • 7/26/2019 Teoria de Micro - Parte 1

    103/139

    Formato das Instrues do 8051 ExemplosOPCODE REG

    Instruo ADD A,Rn

    Codificao 0 0 1 0:1 r r r (2_H)Instruo ADD A,R0

    103

    Instruo ADD A,R1Codificao 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)

    Formato das Instrues do 8051 Exemplos

  • 7/26/2019 Teoria de Micro - Parte 1

    104/139

    Formato das Instrues do 8051 Exemplos

    Instruo ADD A,#Dado

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

    OPCODE OPERANDO

    104

    ,

    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

    Formato das Instrues do 8051 Exemplos

  • 7/26/2019 Teoria de Micro - Parte 1

    105/139

    p

    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

    OPCODE ENDEREO DE 11 BITS

    105

    Instruo AJMP 620HCodificao 1 1 0 0 : 0 0 0 1 0 0 1 0 : 0 0 0 0 (C1 20)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

    Formato das Instrues do 8051 Exemplos

  • 7/26/2019 Teoria de Micro - Parte 1

    106/139

    p

    Instruo LCALL End. 16 bitsCodificao 0 0 0 1:0 0 1 0 a15 a14 a13 a12:a11 a10 a9 a8 a7 a6 a5 a4:a3 a2 a1 a0

    OPCODE ENDEREO DE 16 BITS

    106

    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

    0100 H = 0 0 0 0 : 0 0 0 1 0 0 0 0 : 0 0 0 0 b

    Formato das Instrues do 8051 Exemplos

  • 7/26/2019 Teoria de Micro - Parte 1

    107/139

    p

    Instruo LJMP End. 16 bitsCodificao 0 0 0 0 : 0 0 1 0 a15 a14 a13 a12 : a11 a10 a9 a8 a7 a6 a5 a4 : a3 a2 a1 a0

    OPCODE ENDEREO DE 16 BITS

    107

    Instruo LJMP 0120 HCodificao 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)

    Formato das Instrues do 8051 Exemplos

  • 7/26/2019 Teoria de Micro - Parte 1

    108/139

    p

    Instruo DJNZ Direto, Relativo8Codificao 1 1 0 1 : 0 1 0 1 a7 a6 a5 a4 : a3 a2 a1 a0 r7 r6 r5 r4 : r3 r2 r1 r0

    OPCODE OPERANDO 1 OPERANDO 2

    108

    DJNZ 01H,$ D5 01 FD H

    Instruo DJNZ 01H, $

    Codificao 1 1 0 1 : 0 1 0 1 0 0 0 0 : 0 0 0 1 1 1 1 1 : 1 1 0 1

    Formato das Instrues do PIC 16F628

  • 7/26/2019 Teoria de Micro - Parte 1

    109/139

    13 8 7 6 5 4 3 2 1 0

    Todas as instrues tem 14 bits

    Tipo 1: Operaes com registradores orientadas por byte

    109

    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)

    Formato das Instrues do PIC 16F628

  • 7/26/2019 Teoria de Micro - Parte 1

    110/139

    13 10 8 7 6 5 4 3 2 1 0

    OPCODE b f (Endereo do registrador)

    Tipo 2: Operaes com registradores orientadas por bit

    110

    OPCODE Cdigo da operao

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

    Formato das Instrues do PIC 16F628

  • 7/26/2019 Teoria de Micro - Parte 1

    111/139

    13 12 11 10 9 8 7 6 5 4 3 2 1 0

    OPCODE k (literal)

    Tipo 3: Operaes de controle e literal

    111

    OPCODE Cdigo da operao

    k Indicam um valor constante ou literal

    Formato das Instrues do PIC 16F628

  • 7/26/2019 Teoria de Micro - Parte 1

    112/139

    13 12 11 10 9 8 7 6 5 4 3 2 1 0

    OPCODE k (literal)

    Tipo 4: Operaes de desvio

    112

    OPCODE Cdigo da operaok Indicam um valor constante ou literal de 11 bits

  • 7/26/2019 Teoria de Micro - Parte 1

    113/139

    113

    Modos de Endereamento

    8085 8086/8088

  • 7/26/2019 Teoria de Micro - Parte 1

    114/139

    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

    114

    registrador registrador ,

    Indexado MOV AX,0100H[BX]Baseado MOV [BX + 0100H], AX

    Baseado e indexado MOV AX, [BX+SI]

    Baseado e indexadocom deslocamento MOV AX, [BX+SI+5]

    Strings MOVSB

    Grupos de Instrues

    8085 8086/8088

  • 7/26/2019 Teoria de Micro - Parte 1

    115/139

    Transferncia dedados

    MOV A,BMVI A,15H

    Transferncia dedados

    MOV AX,BXMOV DL,23H

    Aritmtico ADD BSUB B

    Aritmtico ADD SI,DXSUB AX,DX

    115

    Lgico

    ORI 0FHLgico

    AND CX,DX

    DesvioJMP 2005HJNZ 2010H

    Desvio JMP BX

    Controle, Pilha, E/S PUSH PSW ControleCLCSTC

    StringsMOVSBSTOSW

  • 7/26/2019 Teoria de Micro - Parte 1

    116/139

    116

    Flags no 8085

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

  • 7/26/2019 Teoria de Micro - Parte 1

    117/139

    117

    Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

    S Z AC P CY

    Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

  • 7/26/2019 Teoria de Micro - Parte 1

    118/139

    S Z AC P CY

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

    118

    =

    Flag de Zero: Assume valor 0 para nmero diferente de zero e1 para nmero igual a zero.

    Flag Auxiliar de Carry: Assume valor 1 quando h transportedo Bit 3 para o Bit 4

    Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

  • 7/26/2019 Teoria de Micro - Parte 1

    119/139

    S Z AC P CY

    Fla de Paridade: Assume valor 1 uando h uma uantidade ar de

    119

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

    Flag de Carry: Assume valor 1 quando h transporte do Bit 7para o bit 8 (O Bit 8 fora do acumulador)

    Registrador de Flags 8086

    (Registrador de Estado do Programa (PSW)

  • 7/26/2019 Teoria de Micro - Parte 1

    120/139

    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.

    120

    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 Direo

    Flag de Interrupo

    Flag de Trap

    Flag de Sinal

    Flag de Zero

    Flag Auxiliar de Carry

    Flag de Paridade

    Flag de Carry

    Registrador de Flags 8086

    (Registrador de Estado do Programa (PSW)Flags de Status

  • 7/26/2019 Teoria de Micro - Parte 1

    121/139

    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 derotao e deslocamento. Nas operaes de subtrao (aritmtica emcomplemento dois) o carry invertido e passa a funcionar como borrow

    121

    (emprstimo). Se, aps uma operao de subtrao, obtm-se C = 1, isso indicaque no houve borrow, mas C=0, indica que houve borrow.

    P Flag de Paridade indica a paridade (par), dos 8 bits menos significativos, doresultado da operao realizada.

    P = 1 nmero par de 1 nos 8 bits menos significativosP = 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.

    Registrador de Flags 8086

    (Registrador de Estado do Programa (PSW)

    Fl d St t

  • 7/26/2019 Teoria de Micro - Parte 1

    122/139

    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 zeroZ = 0 se o resultado da operao for diferente de zero

    122

    S Flag de Sinal igual ao bit de mais alta ordem do resultado de uma operao

    aritmtica.S = 0 resultado positivoS = 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 operaoaritmtica. Ele indica um overflow de magnitude, em aritmtica binria com sinal.Indica que o resultado muito grande para o campo destino.

    Registrador de Flags 8086

    (Registrador de Estado do Programa (PSW)

    O Fl d O fl t d btid t d XOR d

  • 7/26/2019 Teoria de Micro - Parte 1

    123/139

    O Flag de Overflow seu contedo obtido atravs de uma operao XOR docarry in com o carry out do bit de mais alta ordem do resultado de uma operao

    aritmtica.

    123

    CY_IN CY_OUT OV = (XOR)

    0 0 0

    0 1 1

    1 0 1

    1 1 0

    Fl d C t l

    Registrador de Flags 8086

    (Registrador de Estado do Programa (PSW)

  • 7/26/2019 Teoria de Micro - Parte 1

    124/139

    Flags de ControleT 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

    124

    . o contr r o o , on e as nterrup es . , . e .podem ser habilitadas/desabilitadas individualmente, no 8086 todas so habilitadas

    ou desabilitadas ao mesmo tempo. A habilitao/ desabilitao individual pode serfeita 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 oudecrementar 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.

    Registrador de Flags 8051Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

  • 7/26/2019 Teoria de Micro - Parte 1

    125/139

    CY AC F0 RS1 RS0 OV P

    ParidadeOverflowUso Geral

    Carry

    125

    Auxiliarde Carry

    RS1 RS0 Banco Selecionado

    0 0 0

    0 1 1

    1 0 2

    1 1 3

    Registrador de Flags 8051

    OV overflow A flag de overflow setada quando h um carry do bit 7,

  • 7/26/2019 Teoria de Micro - Parte 1

    126/139

    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 representadosna forma de complemento de 2. H duas situaes que resultam em OVsetado:

    126

    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 comonmero negativo.

    Se a soma de dois nmeros negativos (bit 7 = 1) resultar em um nmero nointervalo 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 queo nmero no pra ser interpretado como nmero positivo.

    Registrador de Flags 8051

    Exemplos para a flag de overflow:

  • 7/26/2019 Teoria de Micro - Parte 1

    127/139

    1. MOV A,#100 64H = 0 1 1 0:0 1 0 0ADD 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)

    127

    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, oresultado deve ser interpretado como nmero positivo, mesmo tendo bit 7 igual a 1.

    Registrador de Flags 8051

    Exemplos para a flag de overflow:

  • 7/26/2019 Teoria de Micro - Parte 1

    128/139

    2. ADD,#01H (Ao resultado da operao anterior: 90H)

    Resultado: 145 = 91 H = 1 0 0 1:0 0 0 1 (OV = 0)

    128

    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.

  • 7/26/2019 Teoria de Micro - Parte 1

    129/139

    129

    0 01

    Regio de memria usada para guardar endereo de

    retorno e valores temporrios

    Endereo Mnemnico Cdigo

  • 7/26/2019 Teoria de Micro - Parte 1

    130/139

    Endereo Mnemnico Cdigo

    2000 H LXI SP,20FFH 31 FF 20

    2003 H

    2004 H

    Instrues que usam a

    pilha:

    130

    SP

    xxxxx xxxxxxxxxx xxxxx

    20FF H

    RET

    PUSH

    POP

    Interrupes

    Transferncia de dados envolve sempre um par de bytes 16 bits

  • 7/26/2019 Teoria de Micro - Parte 1

    131/139

    O byte mais significativo sempre guardado primeiro na pilha

    O byte menos significativo retirado primeiro da pilha

    131

    valor armazenado)

    Registradores utilizados PSW A + FlagsB B + CD D + E

    H

    H + L

    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

  • 7/26/2019 Teoria de Micro - Parte 1

    132/139

    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

    132

    POP reg16 carrega registrador de 16 bits com contedo da pilha

    1. O contedo apontado por SP copiado para o byte menossignificativo

    2. O valor de SP incrementado em 1

    3. O contedo apontado por SP + 1 copiado para o byte maissignificativo

    4. O valor de SP incrementado em 1

    Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H

    Flags

    Endereo Contedo Endereo Contedo

    PUSH PSW PUSH B

  • 7/26/2019 Teoria de Micro - Parte 1

    133/139

    da RAM

    2089208A

    da RAM

    2089208A

    SP inicial:2090h

    133

    A

    F A F

    B

    C208C

    208D

    208E 23

    208F 01

    2090SP aps a instruo:

    208Eh

    208C 67

    208D 45

    208E 23

    208F 01

    2090SP aps a instruo:

    208Ch

    Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H

    Endereo Contedo Endereo Contedo

    POP B POP PSW

  • 7/26/2019 Teoria de Micro - Parte 1

    134/139

    da RAM

    2089208A

    da RAM

    2089208A

    134

    A

    F A F

    B

    C208C 67

    208D 45

    208E 23

    208F 01

    2090SP aps a instruo:

    208Eh

    208C 67

    208D 45

    208E 23

    208F 01

    2090SP aps a instruo:

    2090h

    Endereo Mnemnico Cdigo2000 H LXI SP,203FH 31 22 20

    2003 H MVI A,20H 3E 20

  • 7/26/2019 Teoria de Micro - Parte 1

    135/139

    Pilha

    2003 H MVI A,20H 3E 20

    2005 H PUSH PSW F5

    2006 H CALL MOSTRAA CD 6E 03

    2009 H POP PSW F1

    135

    Exemplo de aplicao

    200A H ADI 01H C6 01

    200C H JNZ 2005 H DA 05 20200F H JMP 2003 C3 03 20

    2022 H

    Pilha no 8051

    Transferncia de dados envolve apenas um byte 8bits

  • 7/26/2019 Teoria de Micro - Parte 1

    136/139

    Transferncia de dados envolve apenas um byte 8bits

    Registradores de 16 bits, como DPTR, so guardados em duaso era es PUSH e retiradas em duas o era es POP

    136

    Exemplos:PUSH ACC Guarda contedo do acumuladorPUSH DPH Guarda 8 bits mais significativos do DPTRPUSH DPL Guarda 8 bits menos significativos do DPTRPOP ACC Recupera contedo do acumulador

    Ao contrrio do 8085, o apontador de pilha SP incrementado no 8051,nas operaes PUSH.

  • 7/26/2019 Teoria de Micro - Parte 1

    137/139

    PUSH reg8 guarda contedo do registrador de 8bits na pilha

    1. O valor de SP incrementado em 1

    137

    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

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

    Caracterstica 8085 8051

  • 7/26/2019 Teoria de Micro - Parte 1

    138/139

    Variao do

    apontador de pilhaSP

    SP decrementado nas

    operaes para guardarvalores na pilha (PUSH,CALL, chamada de

    SP incrementado nas

    operaes para guardarvalores na pilha (PUSH,CALL, chamada de

    138

    nterrup o nterrup o

    Regio da memria A regio da pilha a mesma

    do programa do usurio,podendo haver sobreposio

    A pilha reservada na

    memria RAM e o programana memria ROM, nohavendo risco desobreposio

    Tamanho do dadoguardado So movimentados 16 bitsem cada operao de pilha So movimentados 8 bits emcada operao de pilha

  • 7/26/2019 Teoria de Micro - Parte 1

    139/139

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

    do autor, Florianpolis, 2000. ISBN 85-901037-2-2

    139

    [2] MALVINO, Albert Paul, Microcomputadores e microprocessadores;

    traduo Anatlio Laschuk, reviso tcnica Rodrigo Aras Farias. So

    Paulo: McGraw-Hill do Brasil, 1985.