Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tpicos
n
Registradores de Indexao.
Registradores de Segmento.
Registrador de Flags.
Ponteiro de Instruo.
Emulando o 8086
MICROPROCESSADOR ?
CONCEITOS BSICOS
CONCEITOS BSICOS
Assembly a linguagem que possui instrues diretamente associadas a
cdigos da linguagem de mquina, e que permite indicar ao processador as
aes a serem realizadas (programa). Exemplo: o cdigo 03h em linguagem
de mquina faz com que o processador some um determinado operando com o
acumulador, e guarde o resultado no prprio acumulador. J a instruo
ADD AX,BX em assembly implementa uma das referidas somas.
Barramento um conjunto de condutores por onde trafegam sinais utilizados
para efetivar a comunicao entre o processador e um determinado circuito,
como uma memria. Se estes sinais forem os prprios pinos, utiliza-se a
denominao de barramento local.
Ciclo de barramento a sequncia com que so gerados os diversos sinais
necessrios para a CPU acessar a memria e os perifricos. Como o 8086
trabalha com barramento sncrono, existe um diagrama de tempo marcando a
cadncia desses sinais.
CONCEITOS BSICOS
CONCEITOS BSICOS
Arquitetura de Harvard
As CPUS 8086/8088
(1978)
(1979)
29.000 transstores
?
mnimo
responsvel pela
decodificao e
execuo
das
instrues.
BIU Unidade de
Interface com o
Barramento
responsvel pela
interface com o
barramento
externo.
REGISTRADORES
REGISTRADORES
REGISTRADOR
Como so utilizados os
registradores ?
AX Acumulador Primrio:
q Todas as operaes de I/O so realizadas com o uso auxiliar deste
registrador.
qOperaes que utilizam dados imediatos necessitam de menos memria
quando feitas atravs de AX.
qAlgumas operaes com strings e instrues aritmticas pedem o uso
deste registrador.
qGeralmente, usado pelos compiladores para guardar valores
retornados de subrotinas.
BX Registrador Base:
q o nico registrador de finalidade geral que pode ser utilizado no
clculo de endereos de memria.
qTodas as referncias memria que usam esse registrador no clculo
de endereo consideram segmento de dados como padro.
10
CX Contador:
q decrementado durante as operaes com loops e strings.
qTipicamente, usado para controlar o nmero de repeties de uma
instruo antecedida pelo prefixo REP.
qTambm usado para controlar rotaes e deslocamentos de vrios
bits.
11
AX = 2155h
AX = 4355h
DX = 21FFh
DX = 2100h
12
BP Ponteiro de Base:
q Permite acessar dados alocados na pilha.
qTipicamente usado para acessar parmetros que foram passados via
pilha para uma determinada subrotina.
13
14
15
16
17
Emulando o 8086
registradores
flags
www.emu8086.com
18
Emulando o 8086
www.emu8086.com
Emulando o 8086
www.emu8086.com
19
Modos de Endereamento
Modos de Endereamento
Gerao de endereo fsico
20
Modos de Endereamento
Gerao de endereo fsico
Registradores Internos 16 bits
Segmento Base
padro
Segmento Base
alternativo
Offset
Busca de instruo
CS
IP
Operao na pilha
SS
SP
Variveis
DS
CS, SS, ES
DS
CS, SS, ES
SI
ES
DI
SS
CS, DS, ES
DS
CS, SS, ES
Modos de Endereamento
Gerao de endereo fsico
Deslocamento de 4 bits a esquerda
incio do
segmento
Seletor:Seletor:
XXXX XXXX XXXX XXXX 0XXXX
000
Offset:
End. Fsico:
ZZZZ ZZZZ
ZZZZ
YYYY
(deslocamento)
YYYY
(20 bits)
Seletor : Offset
Registrador de Segmento
Registrador ou Valor
21
Modos de Endereamento
Gerao de endereo fsico
A maioria das variveis (operandos da memria) normalmente est
localizada no segmento de dados corrente, embora um programa possa
instruir a BIU para acessar uma varivel em qualquer um dos segmentos
endereveis.
O valor offset de uma varivel na memria calculado pelo EU. Este
valor baseado no modo de endereamento especificado pela instruo. O
resultado denominado Endereo Efetivo (EA) do operando.
Modos de Endereamento
Gerao de endereo fsico
22
Modos de Endereamento
1) Modos de endereamento da memria de programa
Sempre a busca de instruo feita com CS+IP. Porm, instrues de jump e call
podem modificar o contedo do IP de trs maneiras:
a) Endereamento relativo (programa)
Modos de Endereamento
Gerao de endereo fsico
23
Modos de Endereamento
2) Modos de endereamento da memria de dados
Seis modos considerados: Imediato, Direto, Indexado, Implicado,
Relativo Base ou Pilha.
a) Endereamento imediato Nesta forma de endereamento, os
operandos esto definidos nos bytes seguintes ao cdigo da operao. O
dado a ser operado obtido do segmento de cdigo.
Modos de Endereamento
2) Modos de endereamento da memria de dados
b) Endereamento direto Os dois bytes que se seguem ao cdigo da
instruo constituem o offset do endereo (o seletor DS) fsico do dado a
ser acessado.
24
Modos de Endereamento
2) Modos de endereamento da memria de dados
c) Endereamento direto, indexado obtido com o uso de SI (no
segmento de dados) ou DI (no segmento extra) como Indexador.
Modos de Endereamento
2) Modos de endereamento da memria de dados
e) Endereamento relativo base Neste modo, utilizado um
registrador (BX ou BP) para fornecer todos os modos de endereamento j
descritos, com exceo do imediato.
De forma simplificada, basta somar BX ou BP aos modos anteriores.
Existe duas maneiras de implementao:
Exemplos:
25
Modos de Endereamento
2) Modos de endereamento da memria de dados
e) Endereamento relativo base
Exemplos:
Modos de Endereamento
2) Modos de endereamento da memria de dados
f) Endereamento relativo pilha Todos os endereamentos relativos
base tambm servem para a pilha, basta substituir BX por BP e, com
isso, usa-se SS como segmento.
Exemplos:
26
Modos de Endereamento
2) Modos de endereamento da memria de dados
Selecione view
Selecione memory
27
CICLOS DE BARRAMENTO
CICLOS DE BARRAMENTO
mnimo
28
Gerador de Clock;
Controlador de barramento;
Latch no-inversor;
Transceiver inversor.
EXEMPLO:
29
30
CICLOS DE BARRAMENTO
31
A
memria
est
organizada em bytes.
?
32
33
34
35
36
mnimo
37
Projeto Mximo
38
Modo Mximo
PROJETO NO MODO MXIMO:
O modo mximo usado para sistemas multiprocessados ou coprocessado.
Neste modo, utiliza-se o controlador de barramento 8288:
1. O estado da fila interna
informado por QS0 e QS1
outros processadores podem
saber o estado de execuo
da CPU.
2. O estado do barramento
obtido atravs de *S0, *S1 e
*S2.
3. Existe o mecanismo de lock
do barramento para controlar
recursos compartilhados.
4.
*RQ/*GT0
e
*RQ/*GT1
permitem
diversas
CPUs
compartilharem o mesmo
barramento.
Projeto Mnimo
39
Modo Mnimo
PROJETO NO MODO MNIMO:
1 Mb de memria.
Bibliografia Bsica
n
Material da Disciplina
SIGAA - Sistema Integrado de Gesto de Atividades Acadmicas
40