A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 Assembly Language for Intel-Based Computers, 5 th Edition Capítulo 2: Arquitetura de Processamento IA-32 (c) Pearson Education, 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

2 Web siteWeb site ExamplesExamples Resumo 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,

3 Web siteWeb site ExamplesExamples Conceitos 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,

4 Web siteWeb site ExamplesExamples Projeto 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,

5 Web siteWeb site ExamplesExamplesClock 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,

6 Web siteWeb site ExamplesExamples Pró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,

7 Web siteWeb site ExamplesExamples Ciclo de execução de instrução Fetch Decode Fetch operands Execute Store output Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

8 Web siteWeb site ExamplesExamples Pipeline 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, Exemplo de um processador não- pipeline. Muitos ciclos perdidos.

9 Web siteWeb site ExamplesExamples Execução em pipeline Uso eficiente dos ciclos, com alto throughput de instruções: Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Para k estágios e n instruções, o número de ciclos requeridos é: k + (n – 1)

10 Web siteWeb site ExamplesExamples 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, Para k estágios e n instruções, o número de ciclos requerido é: k + (2n – 1)

11 Web siteWeb site ExamplesExamplesSuperescalar 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, Para k estágios e n instruções, o número de ciclos requeridos é: k + n

12 Web siteWeb site ExamplesExamples Leitura 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,

13 Web siteWeb site ExamplesExamples Memó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,

14 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Como um programa é executado

15 Web siteWeb site ExamplesExamplesMultitarefa 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,

16 Web siteWeb site ExamplesExamples Arquitetura 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,

17 Web siteWeb site ExamplesExamples Modos 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, Modo Virtual-8086 Híbrido de protegido Cada programa tem seu próprio computador 8086

18 Web siteWeb site ExamplesExamples Ambiente 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,

19 Web siteWeb site ExamplesExamples Memó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,

20 Web siteWeb site ExamplesExamples Registradores de propósito geral Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Encontrados dentro da CPU.

21 Web siteWeb site ExamplesExamples Accessando 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,

22 Web siteWeb site ExamplesExamples 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,

23 Web siteWeb site ExamplesExamples Uso especializado de registradores (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,

24 Web siteWeb site ExamplesExamples Uso especializado de registradores (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,

25 Web siteWeb site ExamplesExamples 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,

26 Web siteWeb site ExamplesExamples 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,

27 Web siteWeb site ExamplesExamples História dos microprocessadores Intel Intel 8086, 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,

28 Web siteWeb site ExamplesExamples Lei de Moore Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

29 Web siteWeb site ExamplesExamples Primeiros 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,

30 Web siteWeb site ExamplesExamples8088 Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, S2´S1´S0´TIPO DE CICLO DE BARRAMENTO 000Reconhecimento de interrupção 001Leitura de porto de E/S 010Escrita de porto de E/S 011Halt 100Acesso a código 101Leitura de memória 110Escrita de memória 111Liberação de barramento

31 Web siteWeb site ExamplesExamples Arquitetura do 8086/8088 Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

32 Web siteWeb site ExamplesExamples Cálculo do endereço físico do 8086/8088 Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

33 Web siteWeb site ExamplesExamples Registradores do 8086/8088 Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

34 Web siteWeb site ExamplesExamples Endereç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,

35 Web siteWeb site ExamplesExamples Endereçamento de registrador Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, O operando é contido num registrador Ex: mov bx, ax - o conteúdo do registrador AX é carregado no registrador BX.

36 Web siteWeb site ExamplesExamples Dado 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, Ex: mov al, (2000h) - o conteúdo de memória no endereço DS:2000h é transferido para o registrador AL.

37 Web siteWeb site ExamplesExamples Dado 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, Ex: mov al, (bx) - o conteúdo de memória no endereço DS: BX é carregado no registrador AL.

38 Web siteWeb site ExamplesExamples Dado 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, Ex: mov cl, (bx + 04) - o conteúdo de memória no endereço DS: BX + 04 é carregado no registrador CL.

39 Web siteWeb site ExamplesExamples Dado 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, Ex: mov ah, (bx + si + 10h) - o conteúdo de memória dado pelo endereço DS: BX + SI + 10H é carregado no registrador AH.

40 Web siteWeb site ExamplesExamples Dado contido na memória Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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 Ex: movsb Significado: copia um byte do endereço dado por DS:SI para o endereço ES:DI.

41 Web siteWeb site ExamplesExamples Endereç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, Ex: jc 20h Significado: desvia de uma instrução no endereço 20H à frente, caso ocorra o vai-um (carry = 1).

42 Web siteWeb site ExamplesExamples Endereç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, 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.

43 Web siteWeb site ExamplesExamples Endereçamento de entrada/saída Endereçamento de porto de E/S, indireto, por registrador DX Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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.

44 Web siteWeb site ExamplesExamples Exemplo 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 = 15H Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

45 Web siteWeb site ExamplesExamplesPrograma 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:ret Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

46 Web siteWeb site ExamplesExamples O IBM-AT Intel 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 Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

47 Web siteWeb site ExamplesExamples 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,

48 Web siteWeb site ExamplesExamples IA32 Regis- trado- res Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

49 Web siteWeb site ExamplesExamples 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,

50 Web siteWeb site ExamplesExamples 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,

51 Web siteWeb site ExamplesExamples Cálculo de endereço Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

52 Web siteWeb site ExamplesExamples CISC 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,

53 Web siteWeb site ExamplesExamples Pró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,

54 Web siteWeb site ExamplesExamples Gerenciamento 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,

55 Web siteWeb site ExamplesExamples Modo 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,

56 Web siteWeb site ExamplesExamples Memória Segmentada Endereç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, linear addresses one segment

57 Web siteWeb site ExamplesExamples 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, Adjusted Segment value: 0 8 F 1 0 Add the offset: Linear address:

58 Web siteWeb site ExamplesExamples Sua vez... Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Que endereço linear corresponde o endereço segmento/offset 028F:0030? 028F = Usar notação hexadecimal para endereçamento.

59 Web siteWeb site ExamplesExamples Sua vez... Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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,...

60 Web siteWeb site ExamplesExamples Modo protegido (1 de 2) RAM endereçável até 4 GB ( 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,

61 Web siteWeb site ExamplesExamples Modo protegido (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,

62 Web siteWeb site ExamplesExamples Modelo 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,

63 Web siteWeb site ExamplesExamples Modelo 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,

64 Web siteWeb site ExamplesExamplesPaginaçã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,

65 Web siteWeb site ExamplesExamples Pró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,

66 Web siteWeb site ExamplesExamples 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,

67 Web siteWeb site ExamplesExamples 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,

68 Web siteWeb site ExamplesExamples Intel D850MD Motherboard Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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

69 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Estrutura de barramento de um Pentium 4

70 Web siteWeb site ExamplesExamples 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)*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, * This link may change over time.

71 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Monitores 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.

72 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, CRTs 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.

73 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, CRTs 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).

74 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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.

75 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Varredura não-entrelaçada No modo de varredura não-entrelaçada, as linhas são desenhadas seqüencialmente.

76 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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) 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 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.

77 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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.

78 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Notebook com tela de LCD

79 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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.

80 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Polarização vertical e horizontal vertical horizontal

81 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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.

82 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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

83 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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.

84 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 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.

85 Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Monitores 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.

86 Web siteWeb site ExamplesExamplesMemó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,

87 Web siteWeb site ExamplesExamples Portos 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,

88 Web siteWeb site ExamplesExamples Portos de entrada-saída (cont) Serial Porto serial RS-232 Um bit por vez Usa cabos longos e modens UART (universal asynchronous receiver transmitter) Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,

89 Web siteWeb site ExamplesExamples Pró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,

90 Web siteWeb site ExamplesExamples Ní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,

91 Web siteWeb site ExamplesExamples Mostrando 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,

92 Web siteWeb site ExamplesExamples Nível de programação ASM Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, Os programas em ASM podem realizar entrada-saída em um dos seguintes níveis:

93 Web siteWeb site ExamplesExamplesResumo 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,

94 Web siteWeb site ExamplesExamples E Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e,


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google