You are on page 1of 20

Microcontrolador

Circuitointegrado em alta escala (VLSI) que


incorpora a maior parte dos elementos que
constituem um controlador e se destina a
uma determinada tarefa.

Costuma estar incorporado no dispositivo


que controla (controlador embebido -
embedded controller).
2008-2009 1
Arquitectura de Computadores

Aplicações

indústria informática
(periféricos: rato, teclado,...)
electrodomésticos (fornos,
máq. lavar, vídeos, etc)
sistemas AVACs

telecomunicações

indústria automóvel

2008-2009 2
Arquitectura de Computadores
Constituição

Um microcontrolador dispõe normalmente


dos seguintes elementos:

processador ou CPU
memória de dados (RAM)

memória de programa
(ROM/PROM/EPROM/EEPROM)
linhas de entrada/saída (E/S) programáveis

2008-2009 3
Arquitectura de Computadores

Constituição

módulos de controlo de periféricos (portos


série, paralelo,USB,I2C,etc.)
gerador de impulsos de relógio

temporizadores

cão-de-guarda (watchdog)

conversores A/D e D/A

comparadores analógicos

2008-2009 4
Arquitectura de Computadores
microprocessador vs.
microcontrolador
o microprocessador é um sistema aberto
constrói-se um computador com as
características desejadas juntando os
módulos necessários
o microcontrolador é um sistema fechado

contem um computador completo e as


suas prestações limitadas não se podem
modificar

2008-2009 5
Arquitectura de Computadores

Estrutura de um
microprocessador
bus de endereços

µP bus de dados
bus de controle

Memória controlador 1 controlador 2

periféricos periféricos

2008-2009 6
Arquitectura de Computadores
Estrutura de um
microcontrolador

µC
periféricos periféricos

2008-2009 7
Arquitectura de Computadores

Arquitectura interna de
um microprocessador

UCP bus comum


de endereços Memória
Instruções
8 +
bus de dados dados
e instruções

Arquitectura “von Neumann” ou “Princeton”


2008-2009 8
Arquitectura de Computadores
Arquitectura interna de
um microcontrolador

bus de
endereços de bus de
UCP
instruções endereços de
Memória Memória
10 dados 9
de de
Instruções 14 8 dados

bus de bus de dados


instruções

Arquitectura “Harvard”
2008-2009 9
Arquitectura de Computadores

Arquitectura interna de
um microcontrolador
RISC - Reduced Instruction Set Computer
(35 no 16F84)

versus

CISC - Complex Instruction Set Computer


(+150 no 8086)

2008-2009 10
Arquitectura de Computadores
Arquitectura interna de
um microcontrolador
Memória de Programa
Tipologia

 PROM (Programmable Read Only Memory)


 EPROM (Electrically PROM)

 OTP (One Time Programmable)

 EEPROM (Electrically Erasable PROM)

 FLASH

2008-2009 11
Arquitectura de Computadores

Arquitectura interna de
um microcontrolador
Memória de Dados

 SRAM (Static RAM)


 EEPROM

2008-2009 12
Arquitectura de Computadores
Arquitectura interna de
um microcontrolador
Programação

linguagem assembly
linguagens HLL (High Level Language):

Pascal, Basic, JAL, C

Compiladores vs. Interpretadores

2008-2009 13
Arquitectura de Computadores

Picaxe 28X

 Características:

600 linhas código


21 pinos E/S
9-17 saídas
0-12 entradas
0-4 entradas A/D
2 saídas PWM

2008-2009 14
Arquitectura de Computadores
Picaxe 28X
Entradas
Analógicas
ou Digitais Pinos de
Saída

Pinos de Pinos de
Entrada/Saída Entrada/Saída
configuráveis 2008-2009 configuráveis 15
Arquitectura de Computadores

Picaxe 28X
Entradas
Analógicas
A/D

Pinos de Saída
PWM
2008-2009 16
Arquitectura de Computadores
Linguagens de programação
 PBasic (compatível com
Basic Stamp).
 Ambiente integrado de
desenvolvimento com
suporte para
programação gráfica por
fluxogramas.
 Editor, compilador,
programador,debugger e
simulador incorporados.
2008-2009 17
Arquitectura de Computadores

Memória
As velocidades dos processadores têm aumentado de uma forma bem mais
rápida que as memórias. Como se pode manter o processador sempre
alimentado de dados e instruções?

Dotar as máquinas de vários níveis de memórias tão mais rápidas,


caras e pequenas, quanto mais perto elas se encontram do
processador.

Distância CPU Velocidade


Capacidade cache Preço
Mem. central

Disco (Mem. Secundárias)

Tapes (Backup)

2008-2009 18
Arquitectura de Computadores
Memória
Cada nível vai conter uma cópia do código e dados mais usados
a cada instante.
Os dados contidos num nível mais próximo do processador são
sempre um sub-conjunto dos dados contidos no nível anterior.
Segundo a afirmação anterior, qual a conclusão que retira?

O nível mais baixo contem a totalidade dos dados.

Cache
Memória Central

Disco
2008-2009 19
Arquitectura de Computadores

Memórias – Alguns Termos


Programas:
Organizados de modo que os comandos são descritos de forma
sequencial.

Palavra:
Unidade de informação do sistema Processador / Memória Principal
que representa o valor de um dado / instrução.

Endereço:
Identifica a localização de cada valor.

Unidade de armazenamento:
Grupo de bits que contém um endereço (células). Células são formadas
por bytes (8 bits) ou palavras (16, 32, 64 bits)

Unidade de transferência:
Quantidade de bits que é transferido da memória principal em
operações de leitura/escrita
2008-2009 20
Arquitectura de Computadores
Memórias RAM

Qual destas se encaixa, respectivamente, no “perfil” de:


 Memória Cache;
 Memória Principal (vulgarmente, RAM).

2008-2009 21
Arquitectura de Computadores

Memórias RAM - Estrutura


Qual será então a estrutura de uma memória RAM?

 K linhas de endereço

2k endereços

 N bits por endereço

1 palavra = n bits

 Sinais de Controlo

Leitura / Escrita

Relógio


2008-2009 22
Arquitectura de Computadores
Memória
Memória Principal é organizada em células;

Um conjunto de N células são dispostas de forma sequencial desde a célula 0 à


célula N-1;

Cada célula armazena uma quantidade M de bits que são manipulados em


bloco (como sendo uma unidade).

2008-2009 23
Arquitectura de Computadores

Memória
Uma célula é constituída por um conjunto de circuitos electrónicos que
armazenam 0s e 1s;

Uma célula contendo M bits permite o armazenamento de 2M combinações de


valores (um de cada vez);

Tamanho padrão de células: 8 bits (1 byte).

2008-2009 24
Arquitectura de Computadores
Memória - Operações
As operações que envolvem o processador e a memória são:

 Escrita (Write)

 Armazena informações na memória;

 Destrutiva, uma vez que a informação é substituída pela informação vinda do


processador.

 Leitura (Read)

 Recuperar / Buscar uma informação da memória;

 Não destrói conteúdo da memória, transfere cópia da informação para o


processador.

Nestas operações estão envolvidos:


Barramentos, Registos e Controladores de Memória …
2008-2009 25
Arquitectura de Computadores

Memória
Três formas de organizar uma memória com 96 bits de tamanho:

2008-2009 26
Arquitectura de Computadores
Memória
Outras formas de organizar uma memória:

2008-2009 27
Arquitectura de Computadores

Tipos de Instruções I
1. Para transferência de dados

 não implicam a modificação de dados, copiam valor para destino.

a) Carregar dados a partir da memória para registos internos;

b) Armazenar dados dos registos internos em células de memória;

c) Transferência de dados entre registos internos;

d) Leitura / Escrita de dados de / para dispositivos externos.

2008-2009 28
Arquitectura de Computadores
Tipos de Instruções II

2. Para processamento de dados

 Implicam modificação e armazenamento de resultado pela execução de


uma operação com um ou dois operandos.

a) Instruções aritméticas;

b) Instruções lógicas;

c) Instruções de deslocamentos.

2008-2009 29
Arquitectura de Computadores

Tipos de Instruções III


3. Para controlo do programa

 Encarregues de “controlar o fluxo de informação” aquando da execução de


um programa.

a) Instruções de salto condicional;

b) Instruções de salto incondicional;

c) Chamadas / Retorno de subrotinas;

d) Instruções que geram interrupções;

e) Paragens na execução de instruções (instrução HALT).


2008-2009 30
Arquitectura de Computadores
Tipos de Dados
Os tipos de dados já são aqueles usuais e que já são familiares de outras
disciplinas. Quais os tipos de dados que conheces?

 Dados numéricos

 Instruções de salto incondicional;

 Chamadas / Retorno de subrotinas;

 Dados Booleanos

 Dados do tipo caracter que estão codificados em ASCII, EBCDIC,


UNICODE, …

2008-2009 31
Arquitectura de Computadores

Endereçamento
Os processadores possuem instruções de transferência de dados entre
memória e registos:

 Instruções de leitura de memória

Escrevem (“carregam”) um valor de uma posição de memória num


registo;

 Instruções de escrita em memória

Escrevem o valor de um registo numa posição de memória.

Em instruções que fazem acesso à memória é necessário indicar qual a


palavra de memória que deve ser utilizada, ou seja, especificar como deve
ser calculado o endereço da palavra de memória a ser utilizada, a que de dá
o nome de:

 endereço efectivo do operando.


2008-2009 32
Arquitectura de Computadores
Modos ( ou tipos) de Endereçamento
Diversas formas possíveis de cálculo do endereço efectivo que dão origem a
diferentes modos (ou tipos) de endereçamento:

 Imediato
 Directo
 Indirecto
 Directo por Registo
 Indirecto por Registo
 Implícito
 Por Deslocamento:
 Relativo
 Indexado
 Base por Registo
Cada instrução do processador define precisamente o modo
de endereçamento utilizado.
2008-2009 33
Arquitectura de Computadores

Modos ( ou tipos) de Endereçamento


 Imediato

O operando especificado na instrução é o próprio dado a


ser usado;

Não é efectuada nenhuma referência à memória para ler o


operando;

O dado, por norma, acaba por ter um valor absoluto muito limitado;

2008-2009 34
Arquitectura de Computadores
Modos ( ou tipos) de Endereçamento
 Directo

A instrução contém o respectivo endereço de memória;

Apenas pode ser acedida uma gama limitada do espaço de


endereçamento.

2008-2009 35
Arquitectura de Computadores

Modos ( ou tipos) de Endereçamento


 Indirecto

São necessárias duas referências à memória:


uma para ler endereço;
outra para ler valor;
para ler o operando;

Deste forma, é possível aceder a uma gama mais vasta do espaço de


endereçamento do que acontecia no modo directo.

2008-2009 36
Arquitectura de Computadores
Modos ( ou tipos) de Endereçamento
 Directo por Registo

instrução contém referência a um registo

São usados normalmente, 3 a 4 bits para se fazer referência a


registos genéricos

Neste caso, e ao contrário do que acontecia anteriormente, Não é


necessário nenhuma referência à memória.

2008-2009 37
Arquitectura de Computadores

Modos ( ou tipos) de Endereçamento


 Indirecto por Registo

Instrução contém referência a um registo

Por sua vez o registo faz referência à memória, onde se encontra o


operando.

2008-2009 38
Arquitectura de Computadores
Modos ( ou tipos) de Endereçamento
 Implícito

instrução não especifica explicitamente o operando, uma vez que a


uma instrução se encontra sempre associado um registo ou pilha.

Referências a localizações na pilha não são mais que


endereçamentos indirectos por registo. Alguém consegue explicar o porquê?

2008-2009 39
Arquitectura de Computadores

Modos ( ou tipos) de Endereçamento


 Por deslocamento

instrução deve apresentar dois campos de endereços, em que pelo


menos um deles seja explícito.

Num dos campos de endereço é usada uma referência directa.

No outro campo, uma referência implícita com base no opcode


(código da operação, que referencia um registo cujo conteúdo será
adicionado ao valor obtido no campo anterior para formar o
endereço efectivo.

2008-2009 40
Arquitectura de Computadores

You might also like