Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento...

94
Assembly Language for Intel- Assembly Language for Intel- Based Computers, 5 Based Computers, 5 th th Edition Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved. You may modify and copy this slide show for your personal use, or for use in the classroom, as long as this copyright statement, the author's name, and the title are not changed. Slides prepared by the author Revision date: June 4, 2006 Kip Irvine

Transcript of Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento...

Page 1: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Assembly Language for Intel-Based Assembly Language for Intel-Based Computers, 5Computers, 5thth Edition Edition

Capítulo 2: Arquitetura de Processamento IA-32

(c) Pearson Education, 2006-2007. All rights reserved. You may modify and copy this slide show for your personal use, or for use in the classroom, as long as this copyright statement, the author's name, and the title are not changed.

Slides prepared by the author

Revision date: June 4, 2006

Kip Irvine

Page 2: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Resumo do CapítuloResumo do Capítulo

• Conceitos Gerais

• Arquitetura IA-32

• Gerenciamento de memória IA-32

• Componentes de um Microcomputador IA-32

• Sistema de Entrada-Saída

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 2

Page 3: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Conceitos GeraisConceitos Gerais

• Projeto de Microcomputador Básico• Ciclo de Execução de Instrução• Leitura da Memória• Como um programa é executado

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 3

Page 4: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Projeto de Microcomputador BásicoProjeto de Microcomputador Básico

• As operações de CPU são sincronizadas pelo clock• A unidade de controle (CU) coordena os passos da seqüência de

execução• ALU realiza o processamento aritmético e lógico

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 4

Page 5: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

ClockClock

• Sincroniza todas as operações de CPU e barramento• O tempo de ciclo mede a duração de uma única

operação• O clock é usado para disparar eventos

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 5

one cycle

1

0

Page 6: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Próxima seçãoPróxima seção

• Conceitos Gerais

• Arquitetura IA-32

• Gerenciamento de memória IA-32

• Componentes de um Microcomputador IA-32

• Sistema de Entrada-Saída

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 6

Page 7: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Ciclo de execução de instruçãoCiclo de execução de instrução

• Fetch• Decode• Fetch operands• Execute • Store output

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 7

Page 8: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Pipeline Multi-estágioPipeline Multi-estágio• O pipeline torna possível a execução de instruções em paralelo• A execução de uma instrução é dividida em estágios discretos

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 8

Exemplo de um processador não-pipeline. Muitos ciclos perdidos.

Page 9: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Execução em pipelineExecução em pipeline

• Uso eficiente dos ciclos, com alto throughput de instruções:

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 9

Para k estágios e n instruções, o número de ciclos requeridos é:

k + (n – 1)

Page 10: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Ciclos perdidos (pipeline)Ciclos perdidos (pipeline)

• Quando um dos estágios requer dois ou mais ciclos, novamente se perde ciclos.

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 10

Para k estágios e n instruções, o número de ciclos requerido é:

k + (2n – 1)

Page 11: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

SuperescalarSuperescalar

Um processador superescalar faz uso de múltiplos pipelines de execução. No exemplo, note que o estágio S4 tem pipelines u e v.

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 11

Para k estágios e n instruções, o número de ciclos requeridos é:

k + n

Page 12: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Leitura da MemóriaLeitura da Memória• Múltiplos ciclos são requeridos para a leitura de memória, pois a

memória é muito mais lenta que a CPU. Os passos são:• Colocar o endereço no barramento de endereço• Acionar a linha Read (RD) para zero• CPU espera um ciclo pela resposta de memória• A linha Read (RD) vai para 1, indicando que o dado está presente

no barramento de dados

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 12

Cycle 1 Cycle 2 Cycle 3 Cycle 4

Data

Address

CLK

ADDR

RD

DATA

Page 13: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Memória CacheMemória Cache

• RAM estática de alta velocidade e alto custo, que pode estar dentro ou fora do chip de CPU.• Cache nível-1 : dentro da CPU

• Cache nivel-2 : fora da CPU

• Acerto (hit): quando o dado a ser lido se encontra no cache

• Falta (miss): caso contrário.

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 13

Page 14: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 14

Como um programa é executadoComo um programa é executado

Page 15: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

MultitarefaMultitarefa

• O Sistema Operacional (SO) pode rodar múltiplos programas ao mesmo tempo.

• Multiplos threads de execução dentro de um mesmo programa.

• O Scheduler atribui uma dada quantidade de tempo de CPU para cada programa em execução.

• Comutação rápida de tarefas• ilusão de que todos os programas estão sendo

executados simultaneamente

• o processador deve suportar a comutação de tarefas.

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 15

Page 16: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Arquitetura do processador IA-32Arquitetura do processador IA-32

• Modos de operação• Ambiente básico de execução• Unidade de ponto-flutuante• História dos microprocessadores da Intel

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 16

Page 17: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Modos de OperaçãoModos de Operação

• Modo protegido (Windows, Linux)• Modo de endereçamento real (MS-DOS)• Modo de gerenciamento do sistema

(gerencimento de potência, segurança do sistema, diagnóstico)

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 17

• Modo Virtual-8086 • Híbrido de protegido

• Cada programa tem seu próprio computador 8086

Page 18: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Ambiente básico de execuçãoAmbiente básico de execução

• Memória endereçável• Registradores de propósito geral• Registradores de índice e base• Uso especializado de registradores• Flags de Status • Registradores de ponto-flutuante, MMX e

XMM

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 18

Page 19: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Memória endereçávelMemória endereçável

• Modo protegido• 4 GB

• Endereçamento de 32-bits

• Modos de endereçamento real e Virtual-8086 • Espaço de 1 MB

• Endereçamento de 20-bits

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 19

Page 20: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Registradores de propósito geralRegistradores de propósito geral

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 20

CS

SS

DS

ES

EIP

EFLAGS

16-bit Segment Registers

EAX

EBX

ECX

EDX

32-bit General-Purpose Registers

FS

GS

EBP

ESP

ESI

EDI

Encontrados dentro da CPU.

Page 21: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Accessando parte dos registradoresAccessando parte dos registradores

• Usa nomes para 8-bits, 16-bits ou 32-bits• Aplicados para EAX, EBX, ECX e EDX

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 21

Page 22: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Registradores de índice e Base Registradores de índice e Base

• Têm somente nome para 16-bits, além de 32-bits:

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 22

Page 23: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Uso especializado de registradores Uso especializado de registradores (1 de 2)(1 de 2)

• propósito geral• EAX – acumulador• ECX – contador de laços• ESP – ponteiro de pilha• ESI, EDI – registradores de índice• EBP – ponteiro de estrutura (pilha)

• Segmentos• CS – segmento de código• DS – segmento de dados• SS – segmento de pilha• ES, FS, GS – segmentos adicionais

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 23

Page 24: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Uso especializado de registradores Uso especializado de registradores (2 de 2)(2 de 2)

• EIP – ponteiro de instrução• EFLAGS

• Flags de status e controle

• cada flag é um único bit

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 24

Page 25: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Flags de Status Flags de Status • Carry

• Estouro em aritmética sem sinal• Overflow

• Estouro em aritmética com sinal• Sign

• Resultado negativo• Zero

• Resultado é zero• Auxiliary Carry

• carry do bit3 para o bit 4• Parity

• Soma de bits 1 é um número par

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 25

Page 26: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Registradores de ponto-flutuante, MMX, e XMM Registradores de ponto-flutuante, MMX, e XMM

• Oito registradores de ponto-flutuante de 80-bits

• ST(0), ST(1), . . . , ST(7)

• em estrutura de pilha

• usados para aritmética de ponto-flutuante

• Oito registradores MMX de 64-bits

• Oito registradores XMM de 128-bits para operações SIMD(single-instruction-multiple-dada)

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 26

Page 27: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

História dos microprocessadores Intel História dos microprocessadores Intel

• Intel 8086, 80286

• Família de processadores IA-32

• Família de processadores P6

• CISC e RISC

80x86 – família de todos os microprocessadores a partir de 8086, incluindo os de 16 bits, 32 bits e 64 bits.

IA-16 – arquitetura Intel de 16 bits (8086,8088, 80286)

IA-32 – arquitetura Intel de 32 bits (80386, 80486, Pentium,…)

IA-64 – arquitetura Intel de 64 bits (Itanium)

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 27

Page 28: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Lei de Lei de MooreMoore

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 28

Page 29: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Primeiros microprocessadores IntelPrimeiros microprocessadores Intel

• Intel 8080• RAM endereçável até 64K • Registradores de 8-bits• Sistema operacional CP/M • Arquitetura de barramento S-100 • Discos flexíveis de 8-polegadas!

• Intel 8086/8088• IBM-PC Usava 8088• RAM endereçável até 1 MB • Registradores de 16-bits• Barramento de dados de 16-bits (8-bits para

8088)• Unidade de ponto-flutuante separada (8087)

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 29

Page 30: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

80888088

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 30

.

GND

A14

A13

A12

A11

A10

A9

A8

AD7

AD6

AD5

AD4

AD3

AD2

AD1

AD0

NMI

INTR

CLK

GND

VCC

A15

A16/S3

A17/S4

A18/S5

A19/S6

MN/MX´

RD´

RQ´/GT0´

RQ´/GT1´

LOCK´

S2´

S1´

S0´

QS0

QS1

TEST´

READY

RESET

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

40

39

38

37

36

35

34

33

32

31

30

29

28

27

26

25

24

23

22

21

S2´ S1´ S0´ TIPO DE CICLO DE BARRAMENTO

0 0 0 Reconhecimento de interrupção

0 0 1 Leitura de porto de E/S

0 1 0 Escrita de porto de E/S

0 1 1 Halt

1 0 0 Acesso a código

1 0 1 Leitura de memória

1 1 0 Escrita de memória

1 1 1 Liberação de barramento

Page 31: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Arquitetura do 8086/8088Arquitetura do 8086/8088

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 31

registradoresde uso geral,

índices eponteiros

registradoresde segmento

geração deendereços econtrole dobarramento

operando 1 operando 2

ALU

FLAGS

queue(4 bytes)

IP

EU - Execution Unit BIU - Bus Interface Unit

AX,BX,CX,DXSI,DI,

SP e BP

ESCSDSSS

BUSexterno

BUS interno

Page 32: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Cálculo do endereço físico do 8086/8088Cálculo do endereço físico do 8086/8088

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 32

deslocamento

segmento 0000

+

0000

015

015

019

endereçoefetivo

registrador desegmento

endereçofísico

Page 33: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Registradores Registradores do 8086/8088do 8086/8088

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 33

AX

BX

CX

DX

AH

BH

CH

DH

AL

BL

CL

DL

16 bits

SI

DI

BP

SP

CS

DS

SS

ES

IP

FLAGS

Acumulador principal

Aritmética, apontadores

Loops

Multiplicação e Divisão

Apontador fonte para operaçõescom cadeia de caracteres

Apontador destino para operaçõescom cadeia de caracteres

Apontador de Base

Apontador de Pilha

Segmento de Código

Segmento de Dados

Segmento de Pilha

Segmento Extra

Contador de Programa

Palavra de Status

Page 34: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Endereçamento imediatoEndereçamento imediato

• O operando é um dado contido na própria instrução

• Ex: mov cl, 10h

- o dado especificado na instrução (constante) é carregado no registrador CL.

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 34

opcode dado dado

Page 35: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Endereçamento de registradorEndereçamento de registrador

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 35

O operando é contido num registrador

opcode modo

Ex: mov bx, ax- o conteúdo do registrador AX é carregado no registrador BX.

Page 36: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Dado contido na memóriaDado contido na memória

• Endereçamento direto – o endereço efetivo de memória é o deslocamento

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 36

opcode modo deslocamento

end.efetivo

Ex: mov al, (2000h)- o conteúdo de memória no endereço DS:2000h é transferido para o registrador AL.

Page 37: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Dado contido na memóriaDado contido na memória

• Endereçamento indireto – o endereço efetivo é contido num registrador

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 37

end.efetivo

opcode modo

BX, BP, SI, DI

Ex: mov al, (bx)- o conteúdo de memória no endereço DS: BX é carregado no registrador AL.

Page 38: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Dado contido na memóriaDado contido na memória

• Endereçamento por base – o endereço efetivo é a soma de um registrador e o deslocamento

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 38

opcode modo deslocamento

BX, BP +

end.efetivo

Ex: mov cl, (bx + 04)- o conteúdo de memória no endereço DS: BX + 04 é carregado no registrador CL.

Page 39: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Dado contido na memóriaDado contido na memória

• Endereçamento indexado – o endereço efetivo é a soma de dois registradores, com ou sem deslocamento

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 39

opcode modo deslocamento

BX, BP

SI,DI

+

+

end.efetivoEx: mov ah, (bx + si + 10h)- o conteúdo de memória dado pelo endereço DS: BX + SI + 10H é carregado no registrador AH.

Page 40: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Dado contido na memóriaDado contido na memória

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 40

Endereçamento de string (cadeia) – os endereços de memória são implícitos, usando DS:SI para fonte e ES:DI para destino, para instruções de cadeia

opcode

Ex: movsbSignificado: copia um byte do endereço dado por DS:SI para o endereço ES:DI.

Page 41: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Endereçamento de instruçãoEndereçamento de instrução

• Endereçamento relativo – o endereço é relativo ao

contador de programa, e é usado para desvio

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 41

opcode deslocamento

Ex: jc 20hSignificado: desvia de uma instrução no endereço 20H à frente, caso ocorra o vai-um (carry = 1).

Page 42: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Endereçamento de entrada/saídaEndereçamento de entrada/saída

• Endereçamento de porto de entrada/saída(E/S)

modo direto

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 42

opcode endereço

Ex1: in al, 20h- o byte de dados presente no porto 20H é carregado no registrador AL.

Ex2: out 50h, ax- a palavra de 16 bits contida em AX é transferida para o porto 50H. 

Page 43: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Endereçamento de entrada/saídaEndereçamento de entrada/saídaEndereçamento de porto de E/S, indireto, por

registrador DX

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 43

opcode

DX

endereço

Ex1: in al, dx- o byte contido no porto cujo endereço é dado pelo conteúdo do registrador DX, é carregado no registrador AL.

Ex2: out dx, al- o byte contido no registrador AL é carregado para o porto cujo endereço é dado pelo conteúdo do registrador DX.

Page 44: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Exemplo de programaExemplo de programa• Uma máquina tem 3 lâmpadas:

1) verde – acende quando a temperatura é abaixo de 30 graus

2) amarela – acende quando a temperatura está entre 30 e 40 graus

3) vermelha – acende quando a temperatura está acima de 40 graus

endereço do sensor de temperatura: 0FF0H;

endereço da saída para as lâmpadas: 0FF1H;

código para acender as lâmpadas: verde = 05H

amarela = 10H

vermelha = 15HIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 44

Page 45: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

ProgramaPrograma

Rótulo (label) mnemônico operandos comentário

mov dx, 0FF0h ;sensor

in al, dx

mov dx,0FF1h ;lâmpadas

cmp al,1Eh ;30 graus

jb verde

cmp al, 28h ;40 graus

jbe amarela

mov al, 15h

out dx,al ;acende vermelha

jmp retorna

amarela:mov al, 10h

out dx, al ;acende amarela

jmp retorna

verde : mov al, 05h ;acende verde

out dx,al

retorna: retIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 45

Page 46: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

O IBM-ATO IBM-AT

• Intel 80286• RAM endereçável até 16 MB• Memória protegida• Várias vezes mais rápido que 8086• Introduziu o barramento IDE • Unidade de ponto-flutuante 80287

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 46

Page 47: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Família Intel IA-32 Família Intel IA-32

• Intel386• RAM endereçável até 4 GB, registradores de

32-bits, paginação (memória virtual)

• Intel486• Pipeline de instruções

• Pentium• superescalar, barramento de endereço de 32-

bits, caminho de dados interno de 64-bits

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 47

Page 48: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

IA32IA32Regis-Regis-trado-trado-

resres

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 48

AX

CX

DX

BX

AH

CH

DH

BH

AL

CL

DL

BL

16 bits

SP

BP

SI

DI

CS

DS

SS

ES

IP

FLAGS

Acumulador principal

Aritmética, apontadores

Loops

Multiplicação e Divisão

Apontador fonte para operaçõescom cadeia de caracteres

Apontador destino para operaçõescom cadeia de caracteres

Apontador de Base

Apontador de Pilha

Segmento de Código

Segmento de Dados

Segmento de Pilha

Segmento Extra

Contador de Programa

CÓDIGO DE CONDIÇÃO

FS

GS

Segmento de Dados 2

Segmento de Dados 3

EIP

EFLAGS

PC

EAX

ECX

EDX

EBX

ESP

EBP

ESI

EDI

GPR0

GPR1

GPR2

GPR3

GPR4

GPR5

GPR6

GPR7

32 bits

Page 49: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Família Intel P6 Família Intel P6

• Pentium Pro• Técnicas avançadas de otimização em microcódigo

• Pentium II• Conjunto de instruções MMX (multimídia)

• Pentium III• Instruções SIMD (streaming extensions)

• Pentium 4 e Xeon• Micro-arquitetura Intel NetBurst, sintonizadas para

multimídia

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 49

Page 50: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Arquitetura Intel Net Burst Arquitetura Intel Net Burst

• Tecnologia Hyper Pipeline• Barramento de sistema de 400MHz • Cache de execução de rastreio• mecanismo de execução rápida • Cache de transferência rápida • Execução dinâmica avançada • Unidade melhorada de ponto-flutuante e multimídia • Streaming SIMD Extensions 2

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 50

Page 51: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Cálculo de Cálculo de endereçoendereço

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 51

seg offset

+

endereço fisico

20

1616

endereço lógico

Modo Real8086/8088

seg offset

+

endereço fisico

24

1616

endereço lógico

80286

descritorde segmento

seg offset

+

32

3216

endereço lógico

24 32

10

20 12

20

10

20

32

endereço fisico

descritores de paginação

descritorde segmento

modo protegido

386, 486, Pentium

Page 52: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

CISC e RISCCISC e RISC

• CISC – complex instruction set• Conjunto grande de instruções • Operações de alto-nível• Requer interpretador de microcódigo• exemplos: família Intel 80x86

• RISC – reduced instruction set• Instruções atômicas, simples• Conjunto pequeno de instruções• Executadas diretamente pelo hardware• exemplos:

• ARM (Advanced RISC Machines)

• DEC Alpha (agora Compaq)

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 52

Page 53: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Próxima seçãoPróxima seção

• Conceitos Gerais

• Arquitetura IA-32

• Gerenciamento de memória IA-32

• Componentes de um Microcomputador IA-32

• Sistema de Entrada-Saída

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 53

Page 54: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Gerenciamento de memória IA-32Gerenciamento de memória IA-32

• Modo de endereçamento real• Cálculo de endereçamento linear• Modo protegido• Modelo Multi-segmento• Paginação

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 54

Page 55: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Modo de endereçamento realModo de endereçamento real

• Endereçamento máximo de RAM de 1 MB • Programas de aplicação podem acessar

qualquer área de memória• Única tarefa• Suportado pelo sistema operacional MS-DOS

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 55

Page 56: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Memória SegmentadaMemória SegmentadaEndereçamento segmentado: endereço absoluto (linear) é uma combinação de um valor de segmento de 16-bits adicionado a um offset (deslocamento) de 16-bits .

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 56

li ne

ar a

ddr e

sse

s

one segment

Page 57: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Cálculo do endereço linear Cálculo do endereço linear

• Dado um endereço de segmento, multiplicá-lo por 16 (adicionar um zero hexadecimal), e adicionar o offset

• Exemplo: converter 08F1:0100 a um endereço linear

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 57

Adjusted Segment value: 0 8 F 1 0

Add the offset: 0 1 0 0

Linear address: 0 9 0 1 0

Page 58: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Sua vez . . .Sua vez . . .

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 58

Que endereço linear corresponde o endereço segmento/offset 028F:0030?

028F0 + 0030 = 02920

Usar notação hexadecimal para endereçamento.

Page 59: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Sua vez . . .Sua vez . . .

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 59

Que endereço de segmento corresponde ao endereço linear 28F30h?

Muitos diferentes endereços (segmento-offset ) podem produzir o endereço linear 28F30h. Por exemplo:

28F0:0030, 28F3:0000, 28B0:0430, . . .

Page 60: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Modo protegidoModo protegido (1 de 2) (1 de 2)

• RAM endereçável até 4 GB• (00000000 a FFFFFFFFh)

• Cada programa é associado a uma partição de memória que é protegida de outros programas

• Projetado para multitarefas• Suportado por Linux & MS-Windows

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 60

Page 61: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Modo protegidoModo protegido (2 de 2) (2 de 2)

• Tabelas de descrição de segmentos• Estrutura de programa

• Áreas de código, dados e pilha

• Descritores de segmentos CS, DS e SS

• Tabela de descrição global (GDT)

• Programas MASM usam o modelo de memória flat

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 61

Page 62: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Modelo de segmento FlatModelo de segmento Flat

• Uma única tabela de descrição global (GDT).• Todos os segmentos são mapeados no espaço de 32-bits

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 62

Page 63: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Modelo de multi-segmentoModelo de multi-segmento

• Cada programa tem uma tabela de descrição local (LDT)• Contem a descrição para cada segmento usado por um programa

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 63

Page 64: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

PaginaçãoPaginação

• Suportada diretamente pela CPU• Divide cada segmento em blocos de 4096-bytes

chamados páginas• A soma de todos os programas pode ser maior que a

memória física• Parte do programa em execução fica na memória, e

parte no disco• Gerenciamento de memória virtual (VMM) – utilitário

do SO que gerencia a carga e descarga de páginas• Falta de Página – emitida pela CPU quando uma

página deve ser carregada do disco

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 64

Page 65: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Próxima seçãoPróxima seção

• Conceitos Gerais

• Arquitetura IA-32

• Gerenciamento de memória IA-32

• Componentes de um Microcomputador IA-32

• Sistema de Entrada-Saída

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 65

Page 66: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Componentes de um microcomputador IA-32 Componentes de um microcomputador IA-32

• Placa-mãe• Saída de Video • Memória• Portos de entrada-saída

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 66

Page 67: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Placa-mãe (motherboard)Placa-mãe (motherboard)

• Soquete de CPU • Slots de memória cache externa• Slots de memória principal• Chips BIOS • Chip de sintetização de som (opcional)• Chip de controle de Vídeo (opcional)• Conectores IDE, paralelo, serial, USB, vídeo,

teclado, joystick, rede e mouse • Conectores de barramento PCI (expansão)

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 67

Page 68: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Intel D850MD MotherboardIntel D850MD Motherboard

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 68

dynamic RAM

Pentium 4 socket

Speaker

IDE drive connectors

mouse, keyboard, parallel, serial, and USB connectors

AGP slot

Battery

Video

Power connector

memory controller hub

Diskette connector

PCI slots

I/O Controller

Firmware hub

Audio chip

Source: Intel® Desktop Board D850MD/D850MV Technical Product Specification

Page 69: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 69

Estrutura de barramento de um Pentium 4Estrutura de barramento de um Pentium 4

Page 70: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Saída de Vídeo Saída de Vídeo

• Controlador de vídeo• Na placa-mãe ou em cartão de expansão• AGP (accelerated graphics port technology)*

• Memória de Vídeo (VRAM)• Mostrador de Vídeo CRT

• usa varredura de rastreio• Retraço horizontal • Retraço vertical

• Monitores LCD • Usa a tecnologia de cristais líquidos

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 70

* This link may change over time.

Page 71: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 71

Monitores de CRTMonitores de CRT• O CRT (Cathode Ray Tube) contem um canhão que pode emitir um feixe de

elétrons contra uma tela fosforescente na parte frontal.

A grade serve para repelir o feixe de elétrons, ao ser aplicada uma tensão negativa, e para acelerá-lo ao ser aplicada uma tensão positiva e fazer brilhar um ponto na tela, por um curto espaço de tempo.

Page 72: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 72

CRTs com deflexão eletrostáticaCRTs com deflexão eletrostática

- Usa campo elétrico para a deflexão do feixe de elétrons. A varredura pode ser em qualquer direção.

- Útil em aplicações que necessitam de velocidade no traçado gráfico, porém que não precise preencher toda a tela, como em osciloscópios, aparelhos de eletrocardiograma e terminais gráficos vetoriais.

Page 73: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 73

CRTs com deflexão magnéticaCRTs com deflexão magnética

• Usado em TVs e na maioria dos monitores atualmente.

• Usa o campo magnético para as deflexões horizontais e verticais.

• Durante a varredura horizontal o feixe varre a tela da esquerda para a direita em aproximadamente 50 ms, traçando uma linha quase horizontal, seguida de uma varredura de retorno até a extremidade esquerda, para iniciar uma nova varredura.

• Após completar todas as linhas horizontais de cima para baixo, o feixe de elétrons faz um retorno para o canto esquerdo superior da tela ( retorno vertical).

• Um dispositivo com essa forma de produção de imagem linha por linha, é denominado de dispositivo de varredura por rastreamento (raster scan).

Page 74: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 74

Varredura entrelaçada Varredura entrelaçada No modo entrelaçado, uma varredura completa é composta de campo par e campo ímpar. O campo par é composto de linhas pares e o campo ímpar, de linhas ímpares.

Page 75: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 75

Varredura não-entrelaçadaVarredura não-entrelaçadaNo modo de varredura não-entrelaçada, as linhas são desenhadas seqüencialmente.

Page 76: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 76

• 128-bit 3D graphics performance powered by RAGE™ 128 PRO

• 3D graphics performance

• Intelligent TV-Tuner with Digital VCR

• TV-ON-DEMAND™

• Interactive Program Guide

• Still image and MPEG-2 motion video capture

• Video editing

• Hardware DVD video playback

• Video output to TV or VCR

LCD (Liquid Crystal Display)LCD (Liquid Crystal Display)• Cristais líquidos são moléculas orgânicas viscosas que fluem como líquido,

que têm estrutura espacial como um cristal.

• Foram descobertos por um botânico austríaco (Rheinitzer) em 1888 e aplicados pela primeira vez em visores (por exemplo, calculadoras e relógios) na década de 1960.

• Quando todas as moléculas estão alinhadas na mesma direção, as propriedades ópticas do cristal dependem da direção e polarização da luz incidente.

• Usando um campo elétrico, o alinhamento molecular e, por conseguinte, as propriedades ópticas podem ser mudadas. Em particular, fazendo passar luz através de um cristal líquido, a intensidade da luz que sai dele pode ser controlada por meios elétricos.

• Essa propriedade pode ser explorada para construir visores de tela plana.

Page 77: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 77

• Uma tela de monitor de LCD consiste de duas placas de vidro paralelas entre as quais há um volume selado que contem um cristal líquido.

• Uma luz atrás da placa traseira, natural ou artificial, ilumina a tela por trás.

• Os eletrodos transparentes ligados a cada placa são usados para criar campos elétricos no cristal líquido.

• Diferentes partes da tela recebem tensões elétricas diferentes para controlar a imagem apresentada.

• Existem polaróides colados às partes frontal e traseira da tela pois a tecnologia exige luz polarizada.

Page 78: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 78

Notebook com tela de LCDNotebook com tela de LCD

Eletrodo frontal

Polaróide frontal

Page 79: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 79

• Um tipo de visor de LCD é o TN (Twisted Nematic).• A placa traseira contem minúsculos sulcos

horizontais , e a placa frontal, minúsculos sulcos verticais.

• Sem campo elétrico, as moléculas de LCD tendem a se alinhar com os sulcos.

• Como os alinhamentos frontal e traseiro estão a 90 graus de diferença, a estrutura cristalina fica torcida.

• Na parte de trás do visor há um polaróide horizontal que permite somente a passagem de luz polarizada horizontalmente. Na parte da frente do visor há um polaróide vertical que permite somente a passagem de luz polarizada verticalmente.

• Se não existisse líquido entre as placas, a luz polarizada horizontalmente que passa pelo polaróide traseiro seria bloqueada pelo polaróide frontal produzindo uma tela escura.

Page 80: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 80

Polarização vertical e horizontal

vertical

horizontal

Page 81: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 81

• Contudo, a estrutura cristalina torcida das moléculas do LCD guia a luz na passagem e gira a sua polarização fazendo com que ela saia na vertical.

• Portanto, na ausência de um campo elétrico, a tela LCD é uniformemente brilhante.

• Aplicando a tensão elétrica em partes selecionadas da placa, a estrutura torcida pode ser destruída, bloqueando a luz nessas posições.

Page 82: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 82

Efeitos de polaróides cruzados e a presença do cristal líquido

Polaróide cruzado(não transmite luz)

Efeito do cristal líquido

Page 83: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 83

• Há dois esquemas que podem ser usados para se aplicar a tensão elétrica.

• Em um monitor de matriz passiva, ambos os eletrodos contêm fios paralelos. Em um visor de 640x480, o eletrodo traseiro poderia ter 640 fios verticais e o frontal 480 fios horizontais.

• Aplicando uma tensão elétrica a um dos fios verticais e então fazendo pulsar um dos horizontais, a tensão em uma posição de pixel selecionada pode ser mudada, fazendo com que o pixel escureça por um curto espaço de tempo.

• Repetindo esse pulso para o próximo pixel e então para o seguinte, pode-se pintar uma linha escura de varredura, análogo a um CRT.

• Normalmente a tela inteira é pintada 60 vezes por segundo.

Page 84: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 84

• Outro esquema de ampla utilização é o monitor de matriz ativa.

• É mais caro, mas produz melhor imagem.

• Em vez de ter apenas dois conjuntos de fios perpendiculares entre si, ele tem um minúsculo elemento comutador em cada posição de pixel em um dos eletrodos.

• Desligando e ligando esses elementos pode-se criar um padrão de tensão elétrica arbitrário na tela, o que permite um padrão de bits também arbitrário.

• Os elementos comutadores são chamados transistores de película fina (TFT – Thin film transistors) e os monitores de tela plana que os utilizam costumam ser chamados monitores TFT.

• A maioria dos notebooks e monitores de LCD usam a tecnologia TFT.

Page 85: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 85

Monitores coloridosMonitores coloridos

• Os monitores coloridos usam os mesmos princípios gerais dos monocromáticos, porém manipulando 3 cores: vermelha, verde e azul em cada posição de pixel.

Page 86: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

MemóriaMemória• ROM

• Somente de leitura (read-only)

• EPROM

• ROM programável e apagável (erasable programmable)

• RAM Dinâmica (DRAM)

• Custo baixo, mas deve ser reavivada constantemente (refresh)

• RAM Estática (SRAM)

• Custo alto; usada para memória cache; não necessita reavivamento

• RAM de Vídeo (VRAM)

• Dois acessos (dual port); optimizada para reavivamento constante do vídeo

• CMOS RAM

• complementary metal-oxide semiconductor

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 86

Page 87: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Portos de entrada-saídaPortos de entrada-saída

• USB (universal serial bus)• Conexão a dispositivos de alta velocidade• Até 12 megabits/segundo• Hub USB conecta múltiplos dispositivos• enumeração: para o computador distingüir os

dispositivos• suporta conexão quente (hot connections)

• Paralelo• Cabo curto, alta velocidade• Comum para impressoras• bidirecional, transferência de dados em paralelo• Chip controladora Intel 8255

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 87

Page 88: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Portos de entrada-saída Portos de entrada-saída (cont)(cont)

• Serial• Porto serial RS-232

• Um bit por vez

• Usa cabos longos e modens

• 16550 UART (universal asynchronous receiver transmitter)

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 88

Page 89: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Próxima seçãoPróxima seção

• Conceitos Gerais

• Arquitetura IA-32

• Gerenciamento de memória IA-32

• Componentes de um Microcomputador IA-32

• Sistema de Entrada-Saída

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 89

Page 90: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Níveis de entrada-saídaNíveis de entrada-saída

• Nível 3: chama uma função da biblioteca (C++, Java)• fácil; abstraído do hardware; detalhes ocultos• Desempenho lento

• Nível 2: Chama uma função do sistema operacional• Específico a um SO; independente do dispositivo• Desempenho médio

• nível 1: Chama uma função do BIOS (basic input-output system) • Pode produzir diferentes resultados em diferentes sistemas• Requer conhecimento de hardware• Usualmente tem bom desempenho

• nível 0: Comunica diretamente com o hardware• Pode não ser permitido por certos sistemas operacionais

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 90

Page 91: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Mostrando uma cadeia de caracteresMostrando uma cadeia de caracteres

Quando um programa HLL mostra uma cadeia de caracteres, ocorrem os seguintes passos:

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 91

Page 92: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Nível de programação ASMNível de programação ASM

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 92

Os programas em ASM podem realizar entrada-saída em um dos seguintes níveis:

Page 93: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

Resumo Resumo

• Unidade central de processamento (CPU)• Unidade lógica e aritmética (ALU)• Ciclo de execução de instrução• Multitarefa• Unidade de ponto-flutuante (FPU)• Conjunto de instruções complexas• Modo real e modo protegido• Componentes da placa-mãe• Tipos de memória• Entra/saída e níveis de acesso

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 93

Page 94: Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 2006-2007. All rights reserved.

Web site Examples

42 69 6E 61 72 7942 69 6E 61 72 79

Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 94