Upload
eskeletoc
View
215
Download
0
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
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.