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

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

Assembly Language for Intel-Based Computers, 5th Edition

Apresentações semelhantes


Apresentação em tema: "Assembly Language for Intel-Based Computers, 5th Edition"— Transcrição da apresentação:

1 Assembly Language for Intel-Based Computers, 5th Edition
Kip Irvine Capítulo 2: Arquitetura de Processamento IA-32 Slides prepared by the author Revision date: June 4, 2006 (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.

2 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, 2007.

3 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, 2007.

4 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, 2007.

5 Clock 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.

6 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, 2007.

7 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, 2007.

8 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 Exemplo de um processador não-pipeline. Muitos ciclos perdidos. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

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

10 Ciclos perdidos (pipeline)
Quando um dos estágios requer dois ou mais ciclos, novamente se perde ciclos. Para k estágios e n instruções, o número de ciclos requerido é: k + (2n – 1) Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

11 Superescalar 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. Para k estágios e n instruções, o número de ciclos requeridos é: k + n Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

12 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, 2007.

13 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, 2007.

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

15 Multitarefa 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.

16 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, 2007.

17 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) Modo Virtual-8086 Híbrido de protegido Cada programa tem seu próprio computador 8086 Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

18 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, 2007.

19 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, 2007.

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

21 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, 2007.

22 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.

23 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, 2007.

24 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, 2007.

25 Flags de Status Carry Overflow Sign Zero Auxiliary Carry Parity
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.

26 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.

27 História dos microprocessadores Intel
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.

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

29 Primeiros microprocessadores Intel
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.

30 TIPO DE CICLO DE BARRAMENTO
8088 S2´ S1´ S0´ TIPO DE CICLO DE BARRAMENTO Reconhecimento de interrupção 1 Leitura de porto de E/S Escrita de porto de E/S Halt Acesso a código Leitura de memória Escrita de memória Liberação de barramento Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

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

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

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

34 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, 2007.

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

36 Dado contido na memória
Endereçamento direto – o endereço efetivo de memória é o deslocamento Ex: mov al, (2000h) - o conteúdo de memória no endereço DS:2000h é transferido para o registrador AL. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

37 Dado contido na memória
Endereçamento indireto – o endereço efetivo é contido num registrador Ex: mov al, (bx) - o conteúdo de memória no endereço DS: BX é carregado no registrador AL. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

38 Dado contido na memória
Endereçamento por base – o endereço efetivo é a soma de um registrador e o deslocamento Ex: mov cl, (bx + 04) - o conteúdo de memória no endereço DS: BX + 04 é carregado no registrador CL. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

39 Dado contido na memória
Endereçamento indexado – o endereço efetivo é a soma de dois registradores, com ou sem deslocamento Ex: mov ah, (bx + si + 10h) - o conteúdo de memória dado pelo endereço DS: BX + SI + 10H é carregado no registrador AH. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

40 Dado contido na memória
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. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

41 Endereçamento de instrução
Endereçamento relativo – o endereço é relativo ao contador de programa, e é usado para desvio Ex: jc 20h Significado: desvia de uma instrução no endereço 20H à frente, caso ocorra o vai-um (carry = 1). Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

42 Endereçamento de entrada/saída
Endereçamento de porto de entrada/saída(E/S) modo direto 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. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

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

44 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, 2007.

45 Programa 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 verde : mov al, 05h ;acende verde out dx,al retorna: ret Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

46 O 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.

47 Família Intel IA-32 Intel386 Intel486 Pentium
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.

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

49 Família Intel P6 Pentium Pro Pentium II Pentium III Pentium 4 e Xeon
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.

50 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.

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

52 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, 2007.

53 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, 2007.

54 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, 2007.

55 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, 2007.

56 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 . one segment linear addresses Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

57 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 Adjusted Segment value: 0 8 F 1 0 Add the offset: Linear address: Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

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

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

60 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, 2007.

61 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, 2007.

62 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, 2007.

63 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, 2007.

64 Paginação Suportada diretamente pela CPU
Divide cada segmento em blocos de 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.

65 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, 2007.

66 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.

67 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.

68 Intel D850MD Motherboard mouse, keyboard, parallel, serial, and USB connectors Video Audio chip PCI slots memory controller hub Pentium 4 socket AGP slot dynamic RAM Firmware hub I/O Controller Speaker Power connector Battery Diskette connector Source: Intel® Desktop Board D850MD/D850MV Technical Product Specification IDE drive connectors Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

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

70 Saída de Vídeo Controlador de vídeo Memória de Vídeo (VRAM)
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 * This link may change over time. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

71 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. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

72 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. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

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

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

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

76 LCD (Liquid Crystal Display)
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 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. Irvine, 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. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

78 Notebook com tela de LCD
Irvine, 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. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

80 Polarização vertical e horizontal
Irvine, 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. Irvine, 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 Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

83 Normalmente a tela inteira é pintada 60 vezes por segundo.
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. Irvine, 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. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

85 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. Irvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007.

86 Memó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.

87 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, 2007.

88 Portos de entrada-saída (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.

89 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, 2007.

90 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, 2007.

91 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, 2007.

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

93 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.

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


Carregar ppt "Assembly Language for Intel-Based Computers, 5th Edition"

Apresentações semelhantes


Anúncios Google