elt043_aula_04

39
ELT043 – Microcontroladores Graduação em Engenharia Eletrônica Universidade Federal de Itajubá IESTI Prof. Rodrigo de Paula Rodrigues Microprocessador elementar – Parte 2/2 Aula 04

Upload: italo-pereira-guimaraes

Post on 16-Nov-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

  • ELT043 MicrocontroladoresGraduao em Engenharia Eletrnica

    Universidade Federal de Itajub IESTI

    Prof. Rodrigo de Paula Rodrigues

    Microprocessador elementar Parte 2/2

    Aula 04

  • P Elementar | Aplicao

    comando 1

    roteiro

    P

    Registros de operao

    comando 1comando 2comando 3

    ...

    Modelo de programao

    P

    ELT043 - Microcontroladores Prof. Rodrigo

    Unidade de controle

    Unidade de execuo

    Registros acessveis

    Tipos de dados

    Conjunto de instrues

    Modos de endereamento

  • P Elementar | Aplicao

    Modelo de programao / arquitetura

    Fsicos

    operaosinalizaomanipulao de dados

    Registros acessveis

    Como o dado tratado

    binriocomplemento de doisBCD

    Tipos de dados

    O que faz

    movimentaocontrole de fluxoaritmticas

    Classes de instrues

    Como o argumento especificado

    diretamenteindiretamente

    Modos de endereamento

    ELT043 - Microcontroladores Prof. Rodrigo

    manipulao de dados BCDponto fixoponto flutuante

    aritmticaslgicascomparao

  • P Elementar | Registros acessveis

    Registros acessveis

    Acumuladores

    Registros de ndice

    Contador de programa

    Operaes lgicas e aritmticas

    Registros de ndice (endereos)

    Contador de programa (endereos)

    ELT043 - Microcontroladores Prof. Rodrigo

    Ponteiro da pilha Ponteiro da pilha (endereos)

    Cdigo de condioCdigo de condio

  • P Elementar | Registros acessveis

    Registros acumuladores

    Acumuladores

    operaes booleandase aritmticas

    ELT043 - Microcontroladores Prof. Rodrigo

    (N bits do barramento de dados)M x

  • P Elementar | Registros acessveis

    Contador de programa

    Contador de programa

    Endereo da prximaInstruo a ser executada

    ELT043 - Microcontroladores Prof. Rodrigo

    (N bits do barramento de endereos)

  • P Elementar | Registros acessveis

    Registros de ndice

    Registros de ndice

    Endereo de uma posiode memria especfica

    ELT043 - Microcontroladores Prof. Rodrigo

    (N bits do barramento de endereos)M x

  • P Elementar | Registros acessveis

    Ponteiro da pilha

    Ponteiro da pilha

    Endereo da posio atual da pilha de dados

    ELT043 - Microcontroladores Prof. Rodrigo

    (N bits do barramento de endereos)

  • P Elementar | Registros acessveis

    Cdigo de condio

    Cdigo de condio

    Condies atreladas ao resultado da ltima operao

    efetuada pelo P

    ELT043 - Microcontroladores Prof. Rodrigo

    (N bits do barramento de dados)

  • P Elementar | Registros acessveis

    Cdigo de condioExemplo do 6800

    - - H I N Z

    07

    Vai um (carry)Estouro

    Zero

    V C

    ELT043 - Microcontroladores Prof. Rodrigo

    Zero

    Negativo

    Interrupo

    Meio vai um (bit 3)

  • P Elementar | Tipos de dados

    Tipos de dados

    P

    BCD

    Complemento de 2

    ELT043 - Microcontroladores Prof. Rodrigo

    P

    Ponto fixo

    Ponto flutuante

  • P Elementar | Classes de instrues

    Classes de instrues

    Manipulao e operaes de memria

    Operaes lgicas e aritmticas

    ELT043 - Microcontroladores Prof. Rodrigo

    Controle do fluxo de execuo

  • P Elementar | Classes de instrues

    Manipulao de dados e operaes de memria

    #123 Memria

    Memria

    ELT043 - Microcontroladores Prof. Rodrigo

    Ciclos de escrita ou leitura

  • P Elementar | Classes de instrues

    Operaes lgicas e artmticas

    Aritmticas

    ELT043 - Microcontroladores Prof. Rodrigo

    Booleanas

    E Ou No

  • P Elementar | Classes de instrues

    Controle do fluxo de execuo

    Desvios

    Se CONDIO

    ELT043 - Microcontroladores Prof. Rodrigo

    SENO

    Incondicional Condicional

  • Cdigo de mquina

    P Elementar | Classes de instrues

    O que? Com quem?

    fazer

    Instruo

    Instruo a ser efetuadapelo P (OPCODE)

    COD. OPE OPERANDO(S)

    Valor numrico

    ELT043 - Microcontroladores Prof. Rodrigo

    fazer pelo P (OPCODE)

    Parmetros a serem utilizadospela instruo

  • Cdigo de mquina

    P Elementar | Classes de instrues

    COD. OPE OPERANDO(S)

    Valor numrico

    (6800) Como obter o valor do operando :

    ELT043 - Microcontroladores Prof. Rodrigo

    (6800)$10 Subtrair os acumuladores A e B$1B Somar os acumuladores A e B$8B0A Adicionar o valor 10 ao

    acumulador A

    Como obter o valor do operando :

    Inerente,imediato, direto, estendido, relativo, indexado, etc.

    (Modo de endereamento )

  • Modo de endereamento inerente

    P Elementar | Modos de endereamento

    A prpria instruo j designa o(s) operando(s)

    COD. OPEComprimento mnimo

    ELT043 - Microcontroladores Prof. Rodrigo

    Exemplo:Limpar o valor de um acumulador

  • Modo de endereamento imediato

    P Elementar | Modos de endereamento

    O valor associado ao operando especificado na prpria instruo

    COD. OPE Cdigo da instruo + valor do operandoOPERANDO

    ELT043 - Microcontroladores Prof. Rodrigo

    Exemplos:Carregar o acumulador com um valor constante

  • Modo de endereamento direto e estendido

    P Elementar | Modos de endereamento

    especificado o endereo em memriado valor do operando

    Exemplos :

    Cdigo da instruo + endereo

    COD. OPE ENDEREO

    OPERANDO

    ELT043 - Microcontroladores Prof. Rodrigo

    Exemplos :Carregar o valor do acumulador com um valor presente em um endereo de memria

  • Modo de endereamento relativo

    P Elementar | Modos de endereamento

    especificado um endereo relativo aocontador de programas

    Cdigo da instruo + deslocamento

    CD. OPE DESLOCAMENTO

    CP

    +

    ENDEREO RESULTANTE

    ELT043 - Microcontroladores Prof. Rodrigo

    ENDEREO RESULTANTE

    OPERANDO

  • Modo de endereamento indexado

    P Elementar | Modos de endereamento

    especificado um endereo relativo aoregistro de ndice

    Cdigo da instruo + deslocamento

    CD. OPE DESLOCAMENTO

    ndice

    +

    ENDEREO RESULTANTE

    ELT043 - Microcontroladores Prof. Rodrigo

    ENDEREO RESULTANTE

    OPERANDO

  • P Elementar | Pilha de dados

    Pilha de dados

    Operaes

    ELT043 - Microcontroladores Prof. Rodrigo

    Incluso Retirada

    Modo de endereamento: TOPO

  • P Elementar | Pilha de dados

    Pilha de dados

    Implementaes

    ELT043 - Microcontroladores Prof. Rodrigo

    Em cascata Em software

  • P Elementar | Execuo de programas

    Contexto de execuo

    0002h

    0000h0001h

    0005h

    0003h0004h

    Instruo 3

    Instruo 1Instruo 2

    Instruo 6

    Instruo 4Instruo 5

    Contexto X

    CP 0003h

    Acumuladores

    Registro de condio

    Contexto X+1

    CP 0004h

    Acumuladores

    Registro de condio

    Contexto X+2

    CP 0005h

    ELT043 - Microcontroladores Prof. Rodrigo

    0005h0006h0007h0008h

    Instruo 6Instruo 7Instruo 8Instruo 9

    Registro de condioCP 0005h

    Acumuladores

    Registro de condio

  • P Elementar | Execuo de programas

    Contexto de execuo

    0002h

    0005h

    0003h0004h

    Instruo 3

    Instruo 6

    Instruo 4Instruo 5

    CP 0004h

    Acumuladores

    Registro de condio0101h Instruo 6

    ELT043 - Microcontroladores Prof. Rodrigo

    Registro de condio

    0101h0102h0103h0104h

    Instruo 6Instruo 7Instruo 8Instruo 9

  • P Elementar | Interface com perifricos

    Interface com perifricos

    P Perifricos

    Memrias

    ELT043 - Microcontroladores Prof. Rodrigo

  • P Elementar | Interface com perifricos

    Modelo de interface com perifricos

    Memrias e perifricosP Interface

    ELT043 - Microcontroladores Prof. Rodrigo

  • P Elementar | Interface com perifricos

    Modelo de interface com perifricos

    Aspectos lgicosAspectos fsicos

    ELT043 - Microcontroladores Prof. Rodrigo

    (lgica de comunicao) (mapeamento)(conexes fsicas aos barramentos)

  • P Elementar | Interface com perifricos

    Modelo de interface com perifricos

    ELT043 - Microcontroladores Prof. Rodrigo

    (mapeamento) (conexes fsicas aos barramentos)

  • P Elementar | Interface com perifricos

    Modelo de interface com perifricos

    Memria de dadosMemria de programa

    Pilha de dados Reservada pelo microprocessador

    Perifrico 1 Perifrico N

    P

    ELT043 - Microcontroladores Prof. Rodrigo

    RAM ROM Per. 1 Per. N

  • P Elementar | Interface com perifricos

    Aplicao prtica

    Memria Memria

    D1 D2 D3

    P

    ELT043 - Microcontroladores Prof. Rodrigo

    MemriaRAM

    MemriaROM Perifrico

    Barramento de dados

    Barramento de endereos

    Barramento de controle

    Decodificador de endereos

  • P Elementar | Interface com perifricos

    Mapeamento em memriaExemploExemplo

    FFFFh

    D1

    D2

    P

    ELT043 - Microcontroladores Prof. Rodrigo

    0000h

    ROM RAM

    0400h a 047Fh

    0000h a 03FFh

    128 bytes

    1024 bytes

  • P Elementar | Interface com perifricos

    Mapeamento em memria

    ROM1024 bytes

    RAM

    00h

    128 bytes

    7Fh

    P

    64k bytes

    FFFFh

    ELT043 - Microcontroladores Prof. Rodrigo

    000h

    1024 bytes

    3FFh

    0000h

    03FFh0400h047Fh

  • P Elementar | Interface com perifricos

    Mapeamento em memria

    Endereo no P Endereo na RAMEndereo na ROM

    0000h -000h

    03FFh -3FFh

    0400h 00h-

    047Fh 7Fh-

    ELT043 - Microcontroladores Prof. Rodrigo

  • P Elementar | Interface com perifricos

    Mapeamento em memria

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

    Bits no barramento de endereos do P

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0ROM 0000h

    Dispositivo Endereo no P

    0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1ROM 03FFh

    0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0RAM 0400h

    ELT043 - Microcontroladores Prof. Rodrigo

    0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0RAM 0400h

    0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1RAM 047Fh

  • P Elementar | Interface com perifricos

    Mapeamento em memria

    E10

    D1

    D2 RAM

    ROM

    ELT043 - Microcontroladores Prof. Rodrigo

  • P Elementar | Interface com perifricos

    Mapeamento em memria

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0ROM 0000h

    0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1ROM 03FFh

    0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0RAM 0400h

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

    Bits no barramento de endereos do PDispositivo Endereo no

    P

    ELT043 - Microcontroladores Prof. Rodrigo

    0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0RAM 0400h

    0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1RAM 047Fh

  • P Elementar | Fim

    Obrigado

    ELT043 - Microcontroladores Prof. Rodrigo