Você está na página 1de 26

ELT043 Microcontroladores

Graduao em Engenharia Eletrnica


Universidade Federal de Itajub
IESTI
Aula 03
Microprocessador elementar

Prof. Rodrigo de Paula Rodrigues

P Elementar | O que so?

Microprocessador
Circuitos digitais dedicados
roteiro
comando 1
comando 2
comando 3
comando 4
comando 5
...

Propsito geral
Operao programvel
Mquinas de calcular

Mquinas de calcular
programveis

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Modelo de aplicao

roteiro
comando 1
comando 2
comando 3
...

Execuo de
tarefas
sinal de sincronismo

dados
dado 1
dado 2
dado 3
...

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Princpio de operao

Tarefa a ser executada

roteiro

comando 1
comando 2
comando 3
comando 4
...

comando instruo
O que?

Com quem?
fazer

1
2

...
criao do roteiro

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Princpio de operao

roteiro

Aponta para a prxima


instruo

Busca a instruo
atual

Efetua as operaes
necessrias

Decodifica a instruo
obtida

instruo 1
instruo 2
instruo 3
instruo 4
...

Ciclo de busca e execuo

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Elementos bsicos

Arquitetura de Von Neumann

Memria de
dados

B. dados
(arquit.)

ELT043 - Microcontroladores

B. endereos
(endeream.)

Memria de
programa
(roteiro)

B. controle

Prof. Rodrigo

P Elementar | Elementos bsicos

Arquitetura de Harvard

Memria de
programa
(roteiro)

B. dados

ELT043 - Microcontroladores

B. endereos

Memria de
dados

B. controle

Prof. Rodrigo

Unidade de
execuo

Registros
de operao

Unidade de
controle

Unidade
de codificao

Barramento interno

ELT043 - Microcontroladores

controle

endereos

Organizao elementar

Unidade
de controle
de barramento

dados

P Elementar | Elementos bsicos

Barramento externo

Prof. Rodrigo

P Elementar | Elementos bsicos

Unidade de execuo
Cs

AN
ULA

RN

R = f(AN,BN, FM, Ce)

AM
Ce

FN
ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Elementos bsicos

Unidade de execuo

Barramento
interno de dados

Acumulador

CLK

Adio binria
Subtrao binria

B
Unidade de
controle

A
F

ULA
R

Operao E
Unidade
de
controle

Operao Ou
Operao No
Complemento de 1

Barramento
interno de dados

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Elementos bsicos

Unidade de controle
Instruo C
Instruo B

Sequenciador de
aes

Ciclo de busca
e execuo

Instruo A

sinais de
controle

ELT043 - Microcontroladores

Instruo

Prof. Rodrigo

P Elementar | Elementos bsicos

Unidade de decodificao

instruo

Decodificador

O que?

Com quem?
Instruo

fazer

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Elementos bsicos

Registros de operao

Contador de programa (CP)


Acumuladores (AC)

Espao de endereamento
Resultados das operaes (arq.)

Registro de sinalizao (RS)

Sinalizaes das operaes

Ponteiro de pilha (PP)

Armazenamento temporrio

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Elementos bsicos

Unidade de controle de barramento

Mux

Mux

Barramentos internos

Barramentos externos

Sinais da unidade
de controle

Sinais da unidade
de controle

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Elementos bsicos

Barramentos

Memrias

Barramento de dados

Tamanho da palavra (arq.)

Barramento de endereos

Espao de endereamento

Barramento de controle

Protocolo de comunicao

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Elementos bsicos

Espao de endereamento

Endereo

Barramento de
endereos
de N bits

ELT043 - Microcontroladores

2N
possveis
endereos

Valor

2N - 1

0100...100

2N - 2

0000...000

2N - 3

1101...101

2N - 4

1110...001

...

...

1100...111

Prof. Rodrigo

P Elementar | Operaes elementares

Microprocessador

roteiro
comando 1
comando 2
comando 3
comando 4
comando 5
...

ELT043 - Microcontroladores

Leitura de dados
Ciclo de busca
e execuo

Escrita de dados

Prof. Rodrigo

P Elementar | Operaes elementares

Sinais de comunicao

Memria
CS
W/R

ELT043 - Microcontroladores

CS
W/R

Prof. Rodrigo

P Elementar | Operaes elementares

Operao de leitura de dados


Memria

E0.. EN-1

1
0

CS

1
0

W/R

1
0

D0.. DM-1

Endereo

Dados vlidos

te
ELT043 - Microcontroladores

dado

tei
Prof. Rodrigo

P Elementar | Operaes elementares

Operao de escrita de dados


dado

Memria

E0.. EN-1

D0.. DM-1

1
0

Endereo

Dados vlidos

CS

1
0

W/R

1
0

te
ELT043 - Microcontroladores

tesc
Prof. Rodrigo

P Elementar | Aplicao

Modelo de programao / arquitetura


Registros acessveis

Tipos de dados

Classes de
instrues

Modos de
endereamento

Fsicos

Como visto o dado

O que faz

Como o dado especificado

operao
sinalizao
manipulao de dados

binrio
complemento de dois
BCD
ponto fixo
ponto flutuante

movimentao
controle de fluxo
aritmticas
lgicas
comparao

diretamente
indiretamente

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Aplicao

Modelo de programao / arquitetura

N-1

ACUMULADOR A

M-1

Acumulador A

0
RI

M-1

Registro de ndice

0
Contador de programa

CP

M-1

0
Ponteiro da pilha

PP

N-1

- - H I N Z V C

ELT043 - Microcontroladores

Cdigo de condio

Prof. Rodrigo

P Elementar | Aplicao

Modelo de programao / arquitetura

7
-

C
Vai um (carry)
Estouro
Zero
Negativo
Interrupo
Meio vai um (bit 3)

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Aplicao

Modelo de programao / arquitetura

7
-

C
Vai um (carry)
Estouro
Zero
Negativo
Interrupo
Meio vai um (bit 3)

ELT043 - Microcontroladores

Prof. Rodrigo

P Elementar | Aplicao

Classes de instrues
$86

$0A

Carregue o valor 10 no acumulador A

$8B

$11

Some o valor 17 ao valor presente no acumulador A

$97

$F1

Armazene o resultado na posio de memria de ndice $F1

Linguagem de
mquina do 6800:
$860A
$8B11
$97F1

ELT043 - Microcontroladores

Linguagem assembly
para o 6800:

Linguagem C:

LDAA $0A
ADDA $11
STAA $F1

vcSoma = 0x0A;
vcSoma += 0x11;
m[0xF1] = vcSoma;

Prof. Rodrigo

P Elementar | Fim

Obrigado

ELT043 - Microcontroladores

Prof. Rodrigo

Você também pode gostar