68
Microprocessadores e Microcontroladores Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em Engenharia Elétrica ELE00002 Sistemas de Automação Copyright (c) Walter Fetter Lages – p.1

Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

  • Upload
    vunga

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Microprocessadores eMicrocontroladores

Walter Fetter [email protected]

Universidade Federal do Rio Grande do Sul

Escola de Engenharia

Departamento de Engenharia Elétrica

Programa de Pós-Graduação em Engenharia Elétrica

ELE00002 Sistemas de Automação

Copyright (c) Walter Fetter Lages – p.1

Page 2: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Instrumento Inteligente

Copyright (c) Walter Fetter Lages – p.2

Page 3: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Instrumento Inteligente

• Hardware• Processador• Memória• Dispositivos de I/O

• Interfaces com sensores e/ou atuadores• Software

• Sistema de tempo-real• Comunicação (protocolos)• Driver para os dispositios• Registradores de configuração• Blocos funcionais

Copyright (c) Walter Fetter Lages – p.3

Page 4: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Sistema Microprocessado

Copyright (c) Walter Fetter Lages – p.4

Page 5: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Sinalização no Barraemnto

Copyright (c) Walter Fetter Lages – p.5

Page 6: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Unidade de Execução

Copyright (c) Walter Fetter Lages – p.6

Page 7: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Diagrama Funcional

Copyright (c) Walter Fetter Lages – p.7

Page 8: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Registradores (8086/8088)

• 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.8

Page 9: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Registradores de Uso Específico

• Ponteiro de instruções: IP• Ponteiro de pilha: SP• Flags• Segmento de código: CS• Segmento de dados: DS• Segmento de pilha: SS• Segmento extra: ES

Copyright (c) Walter Fetter Lages – p.9

Page 10: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Personalidade dos Registradores

• Quase todas as instruções do 8086/8088 sãosimétricas em relação 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.10

Page 11: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Flags

• Carry: CF• Paridade: PF• Carry Auxiliar: AF• Zero: ZF• Sinal: SF• Trap: TF• Interrupção: IF• Direção: DF• Overflow: OF

Copyright (c) Walter Fetter Lages – p.11

Page 12: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Registradores de Segmento

• Dependendo do tipo de acesso à memória éutilizado um registrador de segmento• CS: busca de instruções• DS: acesso à dados na memória• SS: acesso à pilha

• endereçamento indireto por SP ou BP• ES: destino de operações de string

• As instruções podem utilizar um prefixo parautilizar um segmento diferente do default

Copyright (c) Walter Fetter Lages – p.12

Page 13: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Organização da Memória

• A família x86 élittle-endian• A família 68K ébig-endian

Copyright (c) Walter Fetter Lages – p.13

Page 14: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Memórias

ROM Read-Only MemoryROMPROM Programmable ROMEPROM Ereasable PROMEEPROM Electrically Ereasable PROMFlash-EEPROM

RAM Random Access MemorySRAM Static RAM

Async SRAMSync SRAMPB SRAM Pipelined Burst SRAM

DRAM Dynamic RAMCopyright (c) Walter Fetter Lages – p.14

Page 15: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

DRAM

DRAM Dynamic RAMDRAMF(E)PM RAM Fast (Enhanced) Page-mode

RAMEDO RAM Extended Data Output RAMBEDO RAM Burst Extended Data Output RAMSDRAM Synchronous DRAMDDR SDRAM Double Data Rate SDRAMVRAM Video RAM

Copyright (c) Walter Fetter Lages – p.15

Page 16: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

SRAM x DRAM

• SRAM• Célula básica = flip-flop• Alta velocidade• Baixa densidade, alto custo• Alto consumo

• DRAM• Célula básica = capacitor• Baixa velocidade• Alta densidade, baixo custo• Baixo consumo• Necessita refresh

Copyright (c) Walter Fetter Lages – p.16

Page 17: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Processadores de 32 bits

• 80386DX, 80386SX• 80486DX, 80486SX, 80486DX2, 80486DX4• Intel Pentium, Pentium-MMX• Intel Pentium Pro, Pentium II, Celeron• Intel Pentium III, Celeron• Intel Pentium 4, Pentium 4 D, Celeron• Core Duo, Centrino• Intel Core 2 Duo, Core 2 Quad

• EMT64, x8664• EMT64 6= IA64

Copyright (c) Walter Fetter Lages – p.17

Page 18: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Processadores de 32 bits

• AMD 5x86, K5, 6x86• AMD K6, K6II, K6III• AMD Athlon, Duron• Athlon XP, Semprom, Turion• AMD Athlon 64, Turion 64

• AMD64, x8664• AMD64 ≈ EMT64

• AMD Athlon 64 X2, Turion 64 X2• AMD64, x8664

• Transmeta Crusoé• Cyrix 5x86, M1

Copyright (c) Walter Fetter Lages – p.18

Page 19: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Diagrama de Blocos DX4

Copyright (c) Walter Fetter Lages – p.19

Page 20: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Ciclo de Leitura Externa DX4

Copyright (c) Walter Fetter Lages – p.20

Page 21: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Modos de Operação

• Modo protegido• Modo virtual 86

• Emulação do modo real por uma tarefa demodo protegido

• Modo real• Modo original do 8086• Modo default

• Modo de gerenciamento de sistema• Introduzido com o 80386SL• Utilizado para função de economia de energia• Endereçamento similar ao modo real

Copyright (c) Walter Fetter Lages – p.21

Page 22: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Níveis de Privilégio

Copyright (c) Walter Fetter Lages – p.22

Page 23: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Verificação de Privilégios

Copyright (c) Walter Fetter Lages – p.23

Page 24: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Ambiente de Execução Básico

Copyright (c) Walter Fetter Lages – p.24

Page 25: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Registradores de Uso Geral

Copyright (c) Walter Fetter Lages – p.25

Page 26: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Registradores de Segmento

Copyright (c) Walter Fetter Lages – p.26

Page 27: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Flags

Copyright (c) Walter Fetter Lages – p.27

Page 28: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Ambiente de Sistema

Copyright (c) Walter Fetter Lages – p.28

Page 29: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Registradores de Controle

Copyright (c) Walter Fetter Lages – p.29

Page 30: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Registradores de Controle

PG: Paging

CD: Cache disable

NW: Not write-through

AM: Aligment mask

WP: Write protect

NE: Numeric error

ET: Extension type

TS: Task switched

EM: Emulation

MP: Monitor coprocessor

PE: Protection enableCopyright (c) Walter Fetter Lages – p.30

Page 31: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Registradores de Controle

PCD: Page-level cache disable

PWT: Page-leve write-through

VME: Virtual-8086 mode extensions

PVI: Protected-mode virtual interrupts

TSD: Time stamp disable

DE: Debugging extensions

PSE: Page size extensions

PAE: Physical address extension

MCE: Machine-check enable

PGE: Page global enale

PCE: Performance-monitoring conter enableCopyright (c) Walter Fetter Lages – p.31

Page 32: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Utilização da memória

• Alocação e desalocação de memória• Estática• Dinâmica

• Memória virtual• Segmentação de memória

Copyright (c) Walter Fetter Lages – p.32

Page 33: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Sistemas Monotarefa

• Um único programa na memória• O programa utiliza toda a memória• O programa deve ter todos os drivers de I/O

• Divisão da memória entre o programa e o sistemaoperacional

Copyright (c) Walter Fetter Lages – p.33

Page 34: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Sistemas Multitarefa

• Partições fixas• Partições definidas manualmente pelo

operador• Uma partição de tamanho suficiente é alocada

para cada tarefa• Em geral, o número de tarefas > número de

partições =>diversas politicas para utilizaçãodas partições

• Uma fila de tarefas para cada partição• Uma fila única• Fila única combest-fit• Fila única combest-fite máximo de

skip-overCopyright (c) Walter Fetter Lages – p.34

Page 35: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Partições Fixas

Copyright (c) Walter Fetter Lages – p.35

Page 36: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Partições Variáveis

• O tamanho das partições varia conforme acriação/destruição das tarefas

• Fragmentação de memória• Compactação de memória

• Consome muito tempo -> normalmente feitodurante a alocação/desalocação de memóriaem sistemas não tempo real

• Espaço para a memória das tarefas crescer• Alocação dinâmica de memória para dados

Copyright (c) Walter Fetter Lages – p.36

Page 37: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Lay-out de Memória das Tarefas

Copyright (c) Walter Fetter Lages – p.37

Page 38: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Relocação

• Em sistemas multitarefa, cada tarefa terá umendereço inicial diferente. Como oprogramador/compilador/linker saberá oendereço inicial (e endereços de subrotinas,dados, etc...) da tarefa?• Problema da relocação• Gerar apenas código com endereços relativos

• Código relocável• Relocação durante a carga da tarefa na

memória

Copyright (c) Walter Fetter Lages – p.38

Page 39: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Segmentação

• Associa-se a cada área de memória um valor debase e um valor de limite

• base=endereço inicial• limite=endereço máximo ou tamanho• Todas as tarefas são codificadas assumindo que a

sua área de memória começa em 0• Quando a tarefa é selecionada para executar, base

e limite são carregados pelo sistema operacionalem registradores especiais na CPU

Copyright (c) Walter Fetter Lages – p.39

Page 40: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Segmentação

• Endereço físico = offset + base• Soma feita por hardware a cada acesso à

memória• Endereços são verificados quanto ao limite

• Uma tarefa não pode acessar a área das outras

Copyright (c) Walter Fetter Lages – p.40

Page 41: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Exemplo

• 64kB de memória total• Programa 1

• Tamanho de 16kB• Carregado no endereço físico 1000h

• Programa 2• Tamanho de 32kB• Carregado no endereço físico 6000h

• Ambos acessam o endereço lógico 3000h• Tabela de segmentos no endereço físico 0400h

Copyright (c) Walter Fetter Lages – p.41

Page 42: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Segmentação

• O seletor e descritor de segmento são controladospelo sistema operacional

• O offset é controlado pelo programa de aplicação• Proteção

• Usualmente o descritor de segmento temalgums bits associados que são utilizados paradeterminar as características de proteção dosegmento

• Permissões de leitura, escrita, execução• Cache de descritor de segmento

• Evita dois acessos a memória• Alterado apenas quando o registrador de

seletor de segmento é alteradoCopyright (c) Walter Fetter Lages – p.42

Page 43: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Modelo Flat

Copyright (c) Walter Fetter Lages – p.43

Page 44: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Modelo Flat Protegido

Copyright (c) Walter Fetter Lages – p.44

Page 45: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Multi-segmentos

Copyright (c) Walter Fetter Lages – p.45

Page 46: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Segmentação na IA32

• Local Descriptor Table (LDT)• Global Descriptor Table (GDT)

Copyright (c) Walter Fetter Lages – p.46

Page 47: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

GDT e LDT

Copyright (c) Walter Fetter Lages – p.47

Page 48: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Segmentação na IA32

Copyright (c) Walter Fetter Lages – p.48

Page 49: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Seletor de Segmento na IA32

Copyright (c) Walter Fetter Lages – p.49

Page 50: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Descritor de Segmento

Copyright (c) Walter Fetter Lages – p.50

Page 51: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Segmentação no 8086/8088

• Processadores sem modo protegido• Sem proteção, não tem sentido a existência de

permissões e limite no segmento• O descritor de segmento resume-se à base• Como os registradores são de 16 bits

decidiu-se limitar o início de segmentosapenas alinhados com "parágrafos"

• Segmentação mal implementada• O "tamanho máximo"do segmento é 64KB• O limite do segmento não é garantido• Na verdade é apenas um esquema para

endereçar 1MB utilizando 2 registradoresCopyright (c) Walter Fetter Lages – p.51

Page 52: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Segmentação no 8086/8088

• Endereço físico=reg. de segmento * 16 + offset• Endereço físico=reg. de segmento « 4 + offset

Copyright (c) Walter Fetter Lages – p.52

Page 53: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Memória Virtual

• Paginação• Falta de página• Page-table

• Endereço• Virtual• Físico

Copyright (c) Walter Fetter Lages – p.53

Page 54: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Tabela de Páginas

Copyright (c) Walter Fetter Lages – p.54

Page 55: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Hardware de Paginação

• Usualmente a tabela de páginas é mantida emmemória e não em registradores• Registrador de base da tabela de páginas• Translation look-aside buffer (TLB)

• Evita dois acessos a memória• Páginas também podem ter bits de proteção

associados• Bit de presença/ausência

Copyright (c) Walter Fetter Lages – p.55

Page 56: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Páginas de 4MB na IA32

Copyright (c) Walter Fetter Lages – p.56

Page 57: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Páginas de 4KB na IA32

Copyright (c) Walter Fetter Lages – p.57

Page 58: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Segmentação e Paginação IA32

Copyright (c) Walter Fetter Lages – p.58

Page 59: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Proteção de I/O na IA32

• Existe um nível de privilégio de I/O• Apenas processos com nível de privilégio

menor ou igual podem executar instruções deI/O

• Associado a cada processo pode existir umbitmap de permissões de I/O• Apenas as portas habilitadas podem ser

acessadas• Hardware Virtual

• Virtualização de dispositivos

Copyright (c) Walter Fetter Lages – p.59

Page 60: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

I/O Permission Bit Map

Copyright (c) Walter Fetter Lages – p.60

Page 61: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Coprocessador (FPU)

• Registradores e opcodes ponto flutuante• Na IA32 opera em notação polonesa reversa• A partir do 80486DX passou a ser FPU

Copyright (c) Walter Fetter Lages – p.61

Page 62: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Registradores FPU

Copyright (c) Walter Fetter Lages – p.62

Page 63: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Controle FPU

Copyright (c) Walter Fetter Lages – p.63

Page 64: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Status FPU

Copyright (c) Walter Fetter Lages – p.64

Page 65: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Exemplo FPU

.intel_syntax noprefix

.text

.global sum

# float sum(float a,float b)

sum:

push ebp

mov ebp,esp

finit

wait

fld [ebp+8] # a

fadd [ebp+12] # b

fwait

pop ebp

ret

Copyright (c) Walter Fetter Lages – p.65

Page 66: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Microcontroladores

• Microprocessadores otimizados para aplicaçõesde controle/automação• Processador• RAM• ROM, EPROM, flash EEPROM• Portas de I/O com latches e Tri-states• Temporizadores• Portas seriais• Portas CAN, USB, I2C, one-wire

•...

Copyright (c) Walter Fetter Lages – p.66

Page 67: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

80C390

Copyright (c) Walter Fetter Lages – p.67

Page 68: Microprocessadores e Microcontroladores - GCARfetter/ele00002/up.pdf · Mapa de Memória do 80C390 Copyright (c) Walter Fetter Lages – p.68. Created Date: 1/23/2008 2:58:34 AM

Mapa de Memória do 80C390

Copyright (c) Walter Fetter Lages – p.68