Você está na página 1de 22

Arquitetura do 8086/8088

Walter Fetter Lages


w.fetter@ieee.org

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Eltrica

Copyright (c) Walter Fetter Lages p.1

Introduo

8086 Microprocessador de 16 bits Barramento de dados de 16 bits Barramento de endereos de 20 bits 8088 Microprocessador de 8/16 bits Barramento de dados de 8 bits Barramento de endereos de 20 bits 8086 e 8088 arquitetura interna semelhantes, com interfaces com o barramento diferentes 8087
Copyright (c) Walter Fetter Lages p.2

Pinagem

Copyright (c) Walter Fetter Lages p.3

Modos Mximo e Mnimo

Modo mnimo Processador gera todos os sinais de controle do barramento No permite o uso de coprocessador Modo mximo Alguns sinais de controle do barramento so gerados pelo 8288 Permite o uso de coprocessador

Copyright (c) Walter Fetter Lages p.4

Diagrama Funcional

Copyright (c) Walter Fetter Lages p.5

Unidade de Execuo

Copyright (c) Walter Fetter Lages p.6

8088 no Modo Mnimo

Copyright (c) Walter Fetter Lages p.7

Temporizao no Modo Mnimo

Copyright (c) Walter Fetter Lages p.8

8088 no Modo Mximo

Copyright (c) Walter Fetter Lages p.9

Temporizao no Modo Mximo

Copyright (c) Walter Fetter Lages p.10

Registradores

Registradores de 8 bits AL, AH, BL, BH, CL, CH, DL, DH Registradores de 16 bits AX=AH:AL BX=BH:BL CX=CH:CL DX=DH:DL SI, DI, BP SP IP Flags CS, DS, SS, ES

Copyright (c) Walter Fetter Lages p.11

Registradores de Uso Especco


Ponteiro de instrues: IP Ponteiro de pilha: SP Flags Segmento de cdigo: CS Segmento de dados: DS Segmento de pilha: SS Segmento extra: ES

Copyright (c) Walter Fetter Lages p.12

Personalidade dos Registradores

Quase todas as instrues do 8086/8088 so simtricas em relao aos registradores Alguns registradores possuem usos preferenciais Acumulador: AL ou AX Base: BL, BX ou BP Contador: CL ou CX Dados: DL ou DX ndice de fonte: SI ndice de destino: DI

Copyright (c) Walter Fetter Lages p.13

Flags

Carry: CF Paridade: PF Carry Auxiliar: AF Zero: ZF Sinal: SF Trap: TF Interrupo: IF Direo: DF Overow: OF
Copyright (c) Walter Fetter Lages p.14

Registradores de Segmento

Dependendo do tipo de acesso memria utilizado um registrador de segmento CS: busca de instrues DS: acesso dados na memria SS: acesso pilha endereamento indireto por SP ou BP ES: destino de operaes de string As instrues podem utilizar um prexo para utilizar um segmento diferente do default

Copyright (c) Walter Fetter Lages p.15

Organizao da Memria

O 8086/8088 um processador little-endian

Copyright (c) Walter Fetter Lages p.16

Relocao

Em sistemas multitarefa, cada tarefa ter um endereo inicial diferente. Como o programador/compilador/linker saber o endereo inicial (e endereos de subrotinas, dados, etc...) da tarefa? Problema da relocao Gerar apenas cdigo com endereos relativos Cdigo relocvel Relocao durante a carga da tarefa na memria

Copyright (c) Walter Fetter Lages p.17

Segmentao

Associa-se a cada rea de memria um valor de base e um valor de limite base=endereo inicial limite=endereo mximo ou tamanho Todas as tarefas so codicadas assumindo que a sua rea de memria comea em 0 Quando a tarefa selecionada para executar, base e limite so carregados pelo sistema operacional em registradores especiais na CPU

Copyright (c) Walter Fetter Lages p.18

Segmentao

Endereo fsico = offset + base Soma feita por hardware a cada acesso memria Endereos so vericados quanto ao limite Uma tarefa no pode acessar a rea das outras

Copyright (c) Walter Fetter Lages p.19

Segmentao

O seletor e descritor de segmento so controlados pelo sistema operacional O offset controlado pelo programa de aplicao Proteo Usualmente o descritor de segmento tem algums bits associados que so utilizados para determinar as caractersticas de proteo do segmento Permisses de leitura, escrita, execuo Cache de descritor de segmento Evita dois acessos a memria Alterado apenas quando o registrador de seletor de segmento alterado

Copyright (c) Walter Fetter Lages p.20

Segmentao no 8086/8088

Processadores sem modo protegido Sem proteo, no tem sentido a existncia de permisses e limite no segmento O descritor de segmento resume-se base Como os registradores so de 16 bits decidiu-se limitar o incio de segmentos apenas alinhados com "pargrafos" Segmentao mal implementada O "tamanho mximo"do segmento 64KB O limite do segmento no garantido Na verdade apenas um esquema para enderear 1MB utilizando 2 registradores
Copyright (c) Walter Fetter Lages p.21

Segmentao no 8086/8088

Endereo fsico=reg. de segmento * 16 + offset Endereo fsico=reg. de segmento 4 + offset

Copyright (c) Walter Fetter Lages p.22

Você também pode gostar