Você está na página 1de 42

Microcontroladores aplicados para

Engenharia Mecânica
Microprocessador

 Funções:
AX
 Armazenamento
BX
 Transporte de informação CX
 Processamento Lógico-Aritmético DX
tempA tempB
 Formado basicamente por:
 Unidade de Controle (UC) RI
ULA CI
 Unidade Lógica e Aritmética (ULA)
 Barramento de Dados REM

 Registradores RDM

 Precisa de outros periféricos para UC


funcionar (memórias, timers…) Memória
Microprocessador

 Função processamento
 Manipulação de dados/valores/símbolos
 Seqüência de ações
 Principais dispositivos envolvidos: ULA e registradores
 Utiliza instruções para processar dados (executar alguma ação sobre
dados que produza algum resultado)
 Tipos de ações ou operações
 Aritméticas (-, +, /, *)
 Lógicas (and, or, xor, etc)
 Movimento de dados
 Desvios (mudança na seqüência de instruções)
 Entrada e saída
Microprocessador
AX
BX
CX
 Registradores DX
tempA tempB
 Pequenas células de memória que
podem armazenar um número. RI
ULA CI
Destinados ao armazenamento de
dados, pois servem de memória auxiliar REM
da ULA. RDM

 Para que um dado possa ser usado UC


numa operação da ULA, ele tem que ser Memória
primeiro armazenado em um registrador.

O resultado de uma operação aritmética ou lógica da ULA também tem


que ser armazenado em um registrador, antes de ser copiado para
memória.
Registradores

AX  Registradores de dados.
BX
CX  Registradores de controle:
DX
tempA tempB RI – registrador de instrução, função
específica é armazenar o endereço da
RI
próxima instrução a ser executada.
ULA CI
CI – contador de instrução, função
REM
específica de armazenar o endereço de
RDM
memória da próxima instrução a ser
UC executada.

Memória
Registradores

AX  Registradores de dados.
BX
CX  Registradores de controle:
DX  RI – registrador de instrução
tempA tempB
 CI – contador de instrução
RI
ULA CI
 Ao se iniciar um ciclo de instrução, um
sinal de controle busca a próxima
REM
instrução na memória e a armazena no
RDM
RI. Assim que a instrução é lida da
UC memória para o RI, o conteúdo do CI é
modificado para conter o endereço da
Memória
próxima instrução.
Registradores

AX  Registradores :
BX
REM – registrador de endereços de
CX
DX memória
tempA tempB
 RDM (Registrador de Dados de
RI Memória)– registrador tem a função de
ULA CI receber a instrução ou dado da memória
apontado por REM
REM
RDM

UC
Memória
Barramento

 Meio de comunicação entre os


AX diversos módulos.
BX
CX  Tipos de informações que podem fluir
DX em um barramento
tempA tempB
 Dados – As instruções e os valores,
RI numéricos ou alfanuméricos,
ULA CI manipulados por elas.
REM
 Endereços – valores que indicam a
RDM
localização dos dados.
UC  Controle – sinais como READ, WRITE,
Memória de início de operação aritmética, de
interrupção, de sincronização, RESET
entre outros.
Barramento

 Barramento de Dados
AX  É um barramento bidirecional, onde
BX
circulam as informações que trafegam
CX
entre o processador e a memória
DX
tempA tempB principal.
 Neste barramento circulam tanto as
RI
instruções (no sentido da memória
ULA CI
para o processador), quanto os
REM dados, (ambos os sentidos).
RDM  O registrador RDM está diretamente
ligado a este barramento. As
UC
informações que são transferidas
Memória entre o processador e a memória
passam necessariamente pelo RDM.
Barramento

 Barramento de Endereços
AX
BX
 É um barramento unidirecional, no
CX sentido do processador para a
DX memória ou para as interfaces de
tempA tempB entrada e saída.

RI  Por ele circulam os endereços


ULA das informações nos acessos a
CI
esses componentes.
REM
 O registrador REM armazena o
RDM
endereço das informações a
UC serem acessadas e está
diretamente ligado ao barramento
Memória
de endereços.
Barramento

 Barramento de Controle
AX  Barramento bidirecional, por onde
BX trafegam os sinais necessários ao
CX controle da troca de informações entre
DX o processador e os demais
tempA tempB
componentes do sistema.
RI  Como exemplo de sinais de controle
ULA CI podemos citar os que controlam a
REM leitura, a escrita ou a espera por um
dispositivo.
RDM
 Além das memórias, também estão
UC ligados aos barramentos um conjunto
Memória de interfaces de entrada e saída.
AX
ULA – Unidade Lógico-Aritmética BX
CX
DX
tempA tempB

 Unidade responsável por realizar RI


ULA CI
operações como Soma (ADD), subtração
(SUB), incremento (INC), entre outras... REM
RDM
 Executa realmente as operações
matemáticas com os dados. UC
 Esta unidade sempre recebe um ou dois Memória
parâmetros nas Entradas A e B,...
 A operação. Como resultado destes
sinais, ela gera uma resposta em sua
saída! Entrada A Entrada B
Operação

Saída Z
ULA – Unidade Lógico-Aritmética

6 4
 Exemplo: Ao receber os valores 6 e
4 nos canais A e B da ULA
respectivamente, e solicitarmos a
Entrada A Entrada B
operação ADD (soma)...
Operação  Ela responderá em sua saída com o
Saída Z valor da operação!
ADD

10
ULA – Unidade Lógico-Aritmética

6 4

Entrada A Entrada B  Alterando somente a operação,


ULA responde imediatamente.
Operação
Saída Z
SUB

2
UC – Unidade de Controle

AX
 Possui a lógica necessária para realizar a BX
movimentação de dados e instruções CX
DX
 Controla a ação da ULA tempA tempB

 Recebe instruções da unidade de E/S e RI


as converte em um formato que pode ser ULA CI
entendido pela ULA
REM
 Controla qual etapa do programa está RDM
sendo executado.
UC
Memória
Ciclo de Instruções

Instrução
AX
 Especificação de uma operação básica
BX
 Entendível pelo hardware CX
DX
 Exemplo tempA tempB

 Uma ULA capaz de somar ou multiplicar RI


dois números não pode resolver em uma ULA CI
operação a expressão
REM
X=A+B*C RDM
 Mas pode resolver
UC
T=B*C
Memória
 E depois a expressão
A+T
Ciclo de Instrução

 Ciclo de instrução = Ciclo de Busca + Ciclo de execução;

Ti

Ciclo de busca Ciclo de execução

Ciclo de instrução
Ciclo de Instruções

 Ciclo de Instruções:
1. Busca a próxima instrução que está localizada na memória para o
registrador de instrução;
2. Atualiza o apontador de instruções para que ele aponte para a próxima
instrução a ser executada.
3. Determina o tipo de instrução;
4. Se a instrução faz uso de dados (operandos), determina onde estão
localizados;
5. Busca os operandos, se houver, para os registradores do processador;
6. Executa a instrução;
7. Armazena os resultados nos locais apropriados;
8. Volta ao passo 1 para executar a próxima instrução.
Ciclo de Instruções

 O microprocessador realiza as seguintes atividades repetidas vezes:


 Busca de instrução (FETCH);
 Decodificação da instrução;
 Execução da instrução.

Fetch 0 Decod 0 Exec 0 Fetch 1 Decod 2 Exec 1 ...

Primeira instrução Segunda instrução


Ciclo de Instruções

 Instruções em Assembly necessarias para o exemplo:

Instrução Descrição
MOV origem, destino destino  origem
ADD p1, p2 p1  p1 + p2

JMP endereço IP  endereço


Ciclo de Instruções

 Ao ligarmos o microprocessador, ocorre


um sinal de RESET que inicializa o
registrador CI (serve para indicar qual o
AX
endereço da próxima instrução na
BX
memória) com ZERO.
CX
DX  Através do REM, o microprocessador
tempA tempB informa o endereço a ser acessado na
memória.
RI
ULA CI =0

REM
Memória
RDM
0 MOV AX,0
UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

AX
 Para realizar o FETCH, o micro-
processador realiza os
BX
seguintes passos:
CX
DX 1. REM  CI
tempA tempB

RI
ULA CI =0

REM =0
Memória
RDM
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

AX
 Para realizar o FETCH, o micro-
processador realiza os seguintes
BX
passos:
CX
DX 1. REM  CI
tempA tempB 2. RDM  Memória

RI
ULA CI =0

REM =0
Memória
RDM=MOV AX,0
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

 Para realizar o FETCH, o micro-


AX processador realiza os seguintes
BX
passos:
CX
1. REM  CI
DX 2. RDM  Memória
tempA tempB
3. RI RDM
RI=MOV AX,0
ULA CI =0

REM =0
Memória
RDM=MOV AX,0
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

 Após o FETCH de cada


AX
instrução, o CI precisa ser
BX
incrementado através da ULA,
CX
para apontar para a próxima
DX
tempA tempB instrução...

RI=MOV AX,0
ULA CI =0

REM =0
Memória
RDM=MOV AX,0
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

 Os passos seguintes são:


AX
BX 1. tempA  CI
CX
DX
tempA=0 tempB
0
RI=MOV AX,0
ULA
CI =0

REM =0
Memória
RDM=MOV AX,0
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

AX  Os passos seguintes são:


BX 1. tempA  CI
CX 2. ULA  INC (A)
DX
tempA=0 tempB
0
RI=MOV AX,0
INC A ULA
CI =0

1 REM =0
Memória
RDM=MOV AX,0
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

AX  Os passos seguintes são:


BX 1. tempA  CI
CX 2. ULA  INC (A)
DX 3. IP  ULA
tempA=0 tempB
0
RI=MOV AX,0
INC A ULA
CI =1

1 REM =0
Memória
RDM=MOV AX,0
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

 Para executar a instrução


AX = 0
MOV AX,0
BX
CX o microprocessador realiza a
DX transferência:
tempA tempB
AX  0
RI=MOV AX,0
ULA CI =1

REM =0
Memória
RDM=MOV AX,0
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

 Após a execução da primeira instrução, um novo ciclo.

Fetch 0 Decod 0 Exec 0 Fetch 1 Decod 2 Exec 1 ...

Primeira instrução Segunda instrução


Ciclo de Instruções

AX  Novamente:
BX
1. REM  CI
CX
DX
tempA tempB

RI
ULA CI =1

REM =1
Memória
RDM
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

AX  Novamente:
BX
CX 1. REM  CI
DX 2. RDM  Memória
tempA tempB

RI
ULA CI =1

REM =1
Memória
RDM=MOV AX,0
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções

AX =0  Novamente:
BX
CX 1. REM  CI
DX 2. RDM  Memória
tempA tempB 3. RI RDM

RI=MOV BX,1
ULA CI =1

REM =1
Memória
RDM=MOV BX,1
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Ciclo de Instruções
 Para executar a instrução

AX = 0 MOV BX,1
BX =1
CX o microprocessador realiza a
DX transferência:
tempA tempB
BX  1
RI=MOV BX,1
ULA CI =1

REM =0
Memória
RDM=MOV AX,0
0 MOV AX,0

UC 1 MOV BX,1
2 ADD AX,BX
3 JMP 2
4 ...
Modelos
 Quanto a arquitetura interna uma unidade microprocessadora
pode se apresentar segundo o modelo de Von Neumann
(usado pela maioria dos microprocessadores tradicionais) ou,
segundo o modelo de Harvard (usado pela grande maioria dos
microcontroladores e DSPs).
 Modelo Harvard
Memória Memória
de de
CPU Programas
Dados

 Modelo Von Neumann


Memória
de
Programas
CPU Memória
de
Dados
Modelos

 Em um computador usando a arquitetura de von


Neumann, a unidade central de processamento (CPU)
pode ser de leitura e de instrução ou de escrita / leitura
de dados de / para a memória.

 As operações não podem ocorrer simultaneamente.

 Na arquitetura de Harvard a CPU pode ler uma instrução


e memória de acesso a dados ao mesmo tempo.

 Ou seja, arquitetura de Harvard pode ser mais rápida.


Arquitetura dos microcontroladores e DSPs

 Analog Devices => Super Arquitetura de Harvard


(SHARC®) - DSP com uma unidade de controle de
E/S e uma unidade cache de instruções à CPU.

 Texas Instruments => Arquitetura de Harvard


modificada (TMS320C270x) - inclui no seu modelo,
fatores típicos da arquitetura de Von Neumann, tais
como a capacidade de tratar dados na memória de
programa.
Principais características dos Microprocessadores

 Largura de barramento de endereços elevada.


 Unidade de gerenciamento de memória integrada.
 Co-processador matemático e ULA com suporte a
operações numéricas complexas.
 Sofisticados modos de endereçamento para eficiente
suporte as funções de linguagens de alto nível.
 Alto custo.
 Alto consumo de energia.
Principais características dos Microcontroladores

 Memória e periféricos integrados no chip.


 Barramento de endereços estreito só permitindo o
gerenciamento de pequena quantidade de memória.
 Tratamento de poucos formatos de dados
(tipicamente 8 ou 16 bits).
 Ausência de co-processador e ULA limitada.
 Limitados modos de endereçamento.
 Baixo custo.
 Baixo consumo.
Principais características dos DSPs

 Processadores para tratamento de dados em ponto fixo


ou flutuante.

 Número inteiro =>representação de ponto fixo


 Posição do ponto “decimal” está fixa e todos os dígitos
são usados para representar o número em si.

 Número real qualquer (inteiro ou não inteiro) =>


representação de ponto flutuante
 Posição do ponto da fração “flutua” conforme o
número a ser representado.
Principais características dos DSPs
 Arquitetura otimizada para computação intensiva.
 Bus de endereços estreito, permitindo apenas o
gerenciamento de uma pequena quantidade de
memória.
 Modos de endereçamento especiais para suporte
eficiente a operações de processamento de sinais.
 Limitados formato de dados (16 ou 32 bits típicos).
 Muitos periféricos especializados “on chip” (portas
seriais, memória, timers, conversores A/D e D/A,
geradores de PWM, etc).
 Custo médio.
 Baixo consumo.
Critérios para escolha de um microprocessador
 Funcionalidade do conjunto de instruções.
 Arquitetura e modos de endereçamento.
 Velocidade de execução.
 Capacidade aritmética e lógica.
 Capacidade de endereçamento.
 Consumo de energia.
 Presença de periféricos necessários a aplicação.
 Ferramentas de software e suporte técnico => editor,
compilador, simulador, emulador, biblioteca de funções e
soluções de software disponíveis.
 Disponibilidade de mercado.

Você também pode gostar