Aula 3 – Dispositivos de Entrada e Saída
Transcrição
Aula 3 – Dispositivos de Entrada e Saída
Aula 3 – Dispositivos de Entrada e Saída Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Anderson Moreira Arquitetura de Computadores 1 O que fazer com essa apresentação Anderson Moreira Arquitetura de Computadores 2 Agenda • • • • • • • • Conceitos básicos; Esquema de E/S; Periféricos; Barramento tradicional; Barramento local; Bridges; Chipset; Interrupções. © Copyright 2010, IFPE. Creative Commons BY-SA 3.0 license Latest update: 28 de Fev de 2011, Document sources, updates: http://dase.ifpe.edu.br/~alsm Anderson Moreira Arquitetura de Computadores Conceitos Básicos • Termos de interesse: – Periférico → qualquer dispositivo conectado a um computador que permita a comunicação ou interação do computador com o mundo externo. (Entrada, Saída e Entrada/Saída). – Interface → componente de hardware localizado entre o processador e um ou mais periféricos, função coordenação de transferência de dados. Recebimento dos dados e comandos enviados pelo processador ao periférico; Envio ao processador do estado (status) do dispositivo; Manipulação e transformação dos dados e sinais de uma forma que seja compatível com o periférico; Geração de sinais de controle e temporização durante a transferência de dados e estado. • • • • Anderson Moreira Arquitetura de Computadores Conceitos Básicos – Controlador → Componente de hardware de uma interface – – – que realiza todo o controle necessário para a transferência de dados; Driver → Conjunto de rotinas encarregadas da comunicação do processador com a controladora e/ou interface do periférico; Porta de E/S → Corresponde a um endereço no sistema de E/S do processador. Assim como o processador tem uma determinada capacidade de endereçamento de memória, ele também tem uma certa gama de endereços destinados a portas de E/S; Barramento → Conjunto de fios que transportam sinais de dados, endereço e controle Anderson Moreira Arquitetura de Computadores Esquema de Entrada e Saída controlador processador portas Drivers de dispositivos Anderson Moreira Arquitetura de Computadores periférico Periféricos • • • • Periféricos existem em grande número; Entram e saem de moda de acordo com a evolução tecnológica: – ISA, PCI, USB, PCI-X Tipos de transferência de dados: – Por controle direto do processador; – Por acesso direto a memória (DMA). Podem co-existir no computador sem um anular o outro tipo. Anderson Moreira Arquitetura de Computadores Exemplos de E/S Teclado: • Conjunto de chaves elétricas cada uma acionada por uma tecla. A cada chave dessas corresponde um código binário que é enviado para a placa-mãe e esta sabe como tratar esse código de acordo com o modelo do teclado ou com o software que está em uso. Anderson Moreira Arquitetura de Computadores Exemplos de E/S Como funciona o teclado: • • • Tecla é acionada ela gera um scan code (geração de um código numérico associado a tecla); Quando a tecla é liberada gera um novo código. Obs.: Teclado não reconhece caractere ou símbolo associado (tabela ASCII não interessa!!) • Modos: – 1 – encontrado no teclado de 83 teclas, acionamento e liberação gera o mesmo código; – 2 – encontrado no teclado de 84 teclas, acionamento gera um código de varredura em um byte. A liberação gera o mesmo código porém precedido de F0H; – 3 – introduzido no teclado de 101 teclas, possui os mesmos código do modo 2 porém tem a velocidade aprimorada. Anderson Moreira Arquitetura de Computadores Exemplos de E/S Mouse: Anderson Moreira Arquitetura de Computadores Exemplos de E/S Sistema de vídeo: Anderson Moreira Arquitetura de Computadores Exemplos de E/S • O chamado subsistema de vídeo do computador constitui-se de uma das partes mais complexas; • Requer um processador específico para os gráficos a serem exibidos, esses gráficos processados são armazenados na chamada memória de vídeo que recentemente passou a ser uma parte da RAM nas configurações mais populares; • Acontece devido a novas tecnologias de barramento (também a serem vistas mais adiante). Finalmente a imagem processada e armazenada em memória específica é exibida em um monitor de vídeo, que por sua vez pode ser baseado na tecnologia de raios catódicos (CRT) ou de cristal líquido (LCD). Anderson Moreira Arquitetura de Computadores Exemplos de E/S • • Objetivo geral do monitor é criar através da emissão de luz uma imagem que seja réplica do que o olho humano veria se estivesse observando diretamente; O olho humano é sensível a uma pequena faixa de espectro eletromagnético, com uma frequencia central da ordem de 5x10E14 Hz Anderson Moreira Arquitetura de Computadores Exemplos de E/S • Formação de imagem na tela: – Um monitor apresenta resolução de 3x4 ou 0,75. Esta é a relação definida por normas de transmissões de televisões; – Um filme de cinema tem proporção de 2x3 ou 0,67; – Um sistema HD tem relação de 3x5 ou 0,60; – De acordo com a estética grega a relação para beleza superior é a solução da equação x+1=1/x. Uma proposição de solução é (sqrt(5)-1)/2 ~ 0,618; – Isso é o que deve ser levado em consideração ao tratar de composição de imagem. Anderson Moreira Arquitetura de Computadores Formação de imagem • • Em um monitor CRT: – Controle da emissão de feixe de elétrons que varre a tela estimulando um material fosforescente depositado sobre a mesma; – Esse material emite luz. Cada ponto emissor de luz é chamado de pixel; – O feixe de elétrons varre a tela da esquerda para direita e do topo para baixo numa velocidade de aproximadamente 50 a 70 telas por minuto; – No final de cada linha o feixe é apagado e volta para inicar uma nova varredura Em um monitor LCD: – Depende da tecnologia; – Feixe de luz é emitido e sofre uma torção para formar as imagens. Anderson Moreira Arquitetura de Computadores Exercícios 1. Pesquise o que significa interrupção de teclado e como essa funciona. 2. A BIOS tem uma função muito importante no tratamento do teclado. Que papel é esse? Explique o funcionamento sucintamente. 3. Um sistema de cor em um determinado sistema pode ser representado de diversas formas. Explique os padrões de vídeo RGB, CMYK, HSB e HSL. 4. Explique os seguintes padrões de tecnologias de monitores: 1. LCD – PMLCD 2. LCD – TNLCD 3. ACPDP – AC plasma display panel 4. LED Anderson Moreira Arquitetura de Computadores Outros exemplos • Scanner – Esse aparelho é composto por uma fonte de luz que é emitida sobre o papel, ou objeto a ser “escaneado” e um sensor que capta os reflexos dessa imagem. – Esse sensor ajuda a montar a imagem na memória do computador na forma de um arquivo gráfico ou simplesmente um padrão de barras a ser convertido em um número. Anderson Moreira Arquitetura de Computadores Outros exemplos • Impressora – É o dispositivo responsável por levar ao papel tudo que se produz em termos de textos e imagens dentro de uma UCP. – Existem diversas tecnologias de impressoras, dentre elas tem-se: as de impacto, as jato de tintas, as de cera e as a laser. Anderson Moreira Arquitetura de Computadores Outros exemplos • Dispositivos de Armazenamento Anderson Moreira Arquitetura de Computadores Periféricos – Acesso Direto à Memória • • Controlador faz o trabalho de transferência de blocos de dados entre periféricos e memória; Processador não abandona suas tarefas; – Apenas inicializa o controlador e dispara as atividades de transferências Anderson Moreira Arquitetura de Computadores Periféricos ATENÇÃO!! • Periférico é como um equipamento eletrônico conectado por um cabo ou barramento de E/S a CPU e que é usado para transferir informação de/ou para este. • De acordo com esta definição, a memória não é considerada um periférico pois está ligada ao barramento de sistema e não a um barramento de E/S. • Mas afinal o que é barramento de sistema e de E/S??? Anderson Moreira Arquitetura de Computadores Barramentos (bus) • • • Elementos de hardware que permitem a interconexão entre componentes; Podem ser seriais ou paralelos: – Internamente nos computadores são paralelos. Cada sistema possui uma série de barramentos: – Internos ao microprocessador (interliga registradores, FPU, caches internas); – Barramentos locais (localizados na placa-mãe no microprocessador e a memória); – Barramentos de expansão (colocadas placas controladoras e interfaces); – Barramento para periféricos (onde as unidades periféricas estão ligadas) Anderson Moreira Arquitetura de Computadores Barramentos (conceitos) • Um barramento ou bus consiste, na sua forma mais simples, num número de linhas elétricas através das quais sinais, e desta forma também dados, são transferidos; • Um PC tem 3 barramentos: • de dados, • de endereços , • de controle. • Estes barramentos permitem que a CPU comunique com a memória e os periféricos. Anderson Moreira Arquitetura de Computadores Barramentos (conceitos) • • O barramento entre a CPU e a memória é chamado de barramento do sistema ou system bus. O barramento entre a CPU e os outros componentes (os periféricos) é chamado de barramento de entrada-saída ou I/O bus. • Este barramento tem uma velocidade de transferência de dados inferior ao barramento do sistema. • Alguns tipos de barramentos de entrada-saída são: - ISA (Industry Standard Architecture) paralelo de 8 e 16 bits - EISA (Extended Industry Standard Architecture) paralelo de 32 bits - PCI (Peripheral component interconnect) paralelo de 32 ou 64 bits - VME (Versa Module Eurocard) paralelo de 32 bits. - AGP (Accelerated Graphics Port) para o adaptador gráfico. Paralelo de 32 bits. - USB (Universal serial bus) série. Anderson Moreira Arquitetura de Computadores Barramento Tradicional (1) • • • • Utilizam controle único para todo o barramento; As transferências eram divididas somente em dois tipos básicos: – De memória; – De E/S. De memória é rápido, operando geralmente na mesma velocidade da memória; De E/S conecta diversos periféricos distintos, podendo ser lentos ou rápidos. Aumento na taxa de transferência não irá beneficiá-los. Anderson Moreira Arquitetura de Computadores Barramento Tradicional (2) CPU Cache externa Barramento do processador (rápido) Controlador de barramento E/S Interna (built-in) E/S Externa (conectores) Barramento de E/S (lento) Barramento de E/S (lento) Barramento de memória (rápido) Memória Anderson Moreira Arquitetura de Computadores Bridges • • • • Por causa da enorme “salada de frutas” de padrões a normalização de barramentos para PC é um problema; O atual PC possui vários barramento operando em diversas frequencias; Solução para gerencia dos barramentos foram as pontes (bridges); Circuito projetado para transportar dados entre barramentos diferentes. Anderson Moreira Arquitetura de Computadores Bridges • Os barramentos de entrada-saída podem ser vistos como uma extensão do barramento do sistema; • Na placa-mãe o barramento de sistema termina em controladores que fazem uma ponte com os barramentos de E/S. • Normalmente estes controladores são agrupados em chips chamados chipset. • Uma arquitetura comum consiste em dois chips chamados north e south bridge. • Ao barramento de entrada saída podem ser conectados adaptadores de periféricos. Anderson Moreira Arquitetura de Computadores Barramento Anderson Moreira Arquitetura de Computadores Barramento Tradicional (3) • • Utilizados de 80 até meados dos anos 90; Válido para barramentos ISA, EISA, MCA; Anderson Moreira Arquitetura de Computadores Barramento Tradicional (4) • • • • Com o surgimento das interfaces gráficas exigiu mais do sistema de E/S; Alguns recursos usavam o barramento do processador; Barramento Local foi introduzido; Exemplos: AGP, PCI, VLB... Anderson Moreira Arquitetura de Computadores Barramento Local (1) CPU Cache externa Barramento do processador (rápido) Barramento local E/S (rápido) Controlador de barramento E/S Interna (built-in) Barramento de E/S (lento) Barramento de E/S (lento) E/S Externa (conectores) Barramento de memória (rápido) Memória Anderson Moreira E/S Externa (conectores, video, disco) Arquitetura de Computadores Barramento Local (2) • • O barramento Vesa Local Bus (VLB) tinha como objetivo básico permitir um acesso direto ao barramento do processador para transferências rápidas para dispositivos de vídeo; Barramento PCI, criado pela Intel quando lançou o pentium; – Dois controladores distintos, um rápido PCI e outro lento ISA. Anderson Moreira Arquitetura de Computadores Esquema barramento P5 CPU Pentium Processador 66 a 266 MHz Cache nível 1 Barramento do processador 50 a 66 MHz Cache nível 2 Barramento de memória 16 MHz Controlador de barramento (Ponte norte) Barramento PCI 25 a 33 MHz Conectores PCI Controladoras IDE Memória CMOS e RTC Controlador de barramento (Ponte sul) Vídeo PCI Barramento ISA 8 MHz Controlador de disquete Controlador de teclado Memória ROM-BIOS Anderson Moreira Super I/O (87307) Arquitetura de Computadores Conectores ISA Portas seriais (COM) Paralelas (LPT) Mouse Barramento Local (3) • • Barramento AGP (Accelered Graphics Port) criou três tipos de barramento de entrada e saída operando a taxas distintas: – ISA 8MHz; – PCI 33 MHz; – AGP 66 MHz. Resumo: – Barramento de 8 bits (IBM PC original); – Industry Standard Architecture (ISA) 8 ou 16 bits; – Micro Channel Architecture (MCA); – Extended ISA (EISA); – Vesa Local Bus (VLB) 32 ou 64 bits; – Peripheral Component Interconnect (PCI) 32 ou 64 bits; – PCMCIA (portáteis). Anderson Moreira Arquitetura de Computadores Comparativo Nome Data Barramento (bits) Freqüênci a (MHz) Endereça mento Taxa Transferência PC bus 1981 8 4,77 1 MB 2,38 MB/s ISA 1984 16 8,33 16 MB 16 MB/s Micro Channel (MCA) 1987 32 10 16 MB 32 MB/s EISA 1988 32 8,33 4 GB 33 MB/s VL Bus 1992 32/64 50 4 GB 80 a 133 MB/s PCI 1992 32/64 33 4 GB 50 a 264 MB/s PC card 1990 16 8 64 MB 20 MB/s CardBus 1994 32 33 4 GB 60 MB/s AGP 1996 32/64 66 4 GB ~534 MB/s Anderson Moreira Arquitetura de Computadores Outros Barramentos (1) • USB – – Não é exatamente um barramento de expansão, mas sim uma serial; Taxa de 1,5 a 12 MB/s. Fonte: us.fujitsu.com/micro/usb Anderson Moreira Arquitetura de Computadores Outros Barramentos (2) • IrDA – (Infrared Developers Association), é a versão sem fios da serial RS 232 inclusive com as mesmas taxas de transferências: 576 KB/s a 4 MB/s • Fonte: http://tscherwitschke.de Anderson Moreira Arquitetura de Computadores Outros Barramentos (3) • Macintosh – Também conhecido como NuBus, aparecem em duas versões a 87 e a 90; – Barramento local é conhecido como PDS (Processor Direct Slot); – Presente em todos os Mac menos o Power Book; – Em 95 começou a utilizar IDE e PCI, mas apenas com um único disco. Anderson Moreira Arquitetura de Computadores Exercícios • Procure informações relacionadas aos seguintes barramentos: – PCI-X – SATA – Firewire – Fibre Channel blades – InfiniBand Anderson Moreira Arquitetura de Computadores Chipsets • • • • Circuito integrado a placa-mãe responsável em controlar as transações de dados entre os diversos barramentos; Uma placa-mãe pode ter algumas características do chipset ou não; Maiores variações de chipsets ocorrem em barramentos do processador e da PCI; Exemplos: – http://www.intel.com/products/desktop/chipsets/index.htm – http://en.wikipedia.org/wiki/List_of_Intel_chipsets Anderson Moreira Arquitetura de Computadores Exercícios • • • Determine um comparativo entre os principais chipsets da AMD e da Intel; Explique os chipsets encontrados na sua máquina e as características; Procure em bibliografia especializada os comandos de E/S que um módulo de E/S pode receber quando é endereçado por um processador. Anderson Moreira Arquitetura de Computadores Chipsets Anderson Moreira Arquitetura de Computadores Periféricos – Controle direto do processador • • • Processador interagi diretamente com o dispositivo a cada transferência de um byte ou palavra; Podem ser: – Polling → também conhecido como teste de estado. Processador pergunta para cada dispositivo se está apto para receber ou transmitir uma unidade de informação. – Interrupção → O processador é interrompido quando o periférico estiver apto a transmitir ou receber dados. Processador controla a transferência byte a byte (palavra a palavra) usando os registradores internos e suas portas de E/S. Anderson Moreira Arquitetura de Computadores Periféricos – Controle direto do processador Anderson Moreira Arquitetura de Computadores Periféricos – Controle direto do processador • Exemplo: – Assembly : CMP MOVEQ CMP MOVEQ CMP MOVEQ CMP MOVEQ BEQ Anderson Moreira R0, #0x09 R0, #0x20 R0, #0x0D R0, #0x20 R0, #0x0a R0, #0x20 R0, #0x20 R0, #0x5B load Arquitetura de Computadores Interrupções • • • No atual contexto da arquitetura de computadores e projetistas de software o nome interrupções podem ter o contexto de software (exceptions, traps); Para periféricos o termo interrupção é usado ao pé da letra; Podem ser: – Por hardware – Por software Anderson Moreira Arquitetura de Computadores Interrupções de hardware (1) • • Também conhecidas como interrupções externas ao processador ou por interrupções de periféricos; Características: – – Sinal de hardware externo e enviado ao processador. Indica que um evento independente do programa sendo executado ocorreu e precisa da atenção do processador. Esse sinal é conhecido como requisição de interrupção ou pedido de interrupção; Pedido de interrupção é assíncrono, e não depende da execução do programa que está usando processador. Ocorrência foge do controle do programa sendo executado; Anderson Moreira Arquitetura de Computadores Interrupção de hardware (2) – – Hardware de controle de interrupção, se habilitado, permite ao processador completar a execução da instrução corrente e então força o processador a desviar para uma rotina que atende a interrupção (manipulador de interrupção ou tratador de interrupção – interrupt handler); No final da rotina de tratamento de interrupção (ISR), um retorno especial, é executado. Garante que o programa interrompido continue de onde parou. • Atenção! O evento de acionamento da interrupção é assíncrono mas não imprevisível (existem rotinas especiais para tratá-lo) Anderson Moreira Arquitetura de Computadores Fluxo de tratamento Hardware Software (Rotina de serviço) Dispositivo de controle ou outro sistema de hardware que permita ativar uma interrupção Salva informações remanescentes sobre o estado do processo Processador termina a execução da instrução corrente Processa a interrupção Processador reconhece sinal de interrupção Restaura a informação do estado do processo Processador coloca PSW e PC na pilha de controle Restaura o velho PSW e PC Processador carrega novo valor do PC, baseado na interrupção Anderson Moreira Arquitetura de Computadores Interrupções de Software (traps) (1) • • • No sentido convencional: “Interrupção é caracterizada como a ocorrência de um sinal de hardware gerado externamente ao processador e enviado ao mesmo. O mecanismo de interrupção é a forma empregada pelo processador para detectar e tratar esse sinal.” (Weber, 2008) Quando esses sinais são síncronos e condicionados a execução de determinada programação, dizemos que são traps; Interrupção de software é a execução de uma instrução que provoca a ativação do mecanismo de tratamento da interrupção. Anderson Moreira Arquitetura de Computadores Interrupções de Software (traps) (2) • Identifier Description 0 Divide error 1 Debug exception 2 Non-maskable interrupt 3 Breakpoint 4 Overflow 5 Bounds check 6 Invalid opcode 7 Coprocessor not available 8 Double fault 9 (reserved) 10 Invalid TSS 11 Segment not present 12 Stack exception 13 General protection fault 14 Page fault 15 (reserved) 16 Coprocessor error 17 alignment error (80486) 18-31 (reserved) 32-255 External (HW) interrupts Exemplo: – Comando kill do Linux que envia um sinal a um processo. – Ou a tabela de vetores de interrupções Anderson Moreira Arquitetura de Computadores Interrupções do processador (Exceptions) • • • Condicionadas a execução de uma exceção, em que habilita o processo de ativação do mecanismo de tratamento de interrupções; Síncronas ao programa sendo executado; Exemplo: – Overflow na execução de uma operação matemática; – Tratamento de erros por falhas de hardware. Anderson Moreira Arquitetura de Computadores Prioridades (1) • • • Deve ter um critério de escolha no momento que tem vários pedidos de interrupções do processador; Solução: Assinalar a cada evento uma determinada prioridade (qual dispositivo está usando, quanto tempo, etc...); No IBM PC as prioridades tem valores fixos para pedidos de interrupção de hardware: – Ex.: Interrupções de teclado e mouse tem prioridades sobre controladores de disco. Anderson Moreira Arquitetura de Computadores Prioridades (2) – IBM PC e XT Linha de Pedido Vetor (decimal) Vetor (hexadecimal) Utilização IRQ0 8 08 timer IRQ1 9 09 teclado IRQ2 10 0A livre IRQ3 11 0B COM2 IRQ4 12 0C COM1 IRQ5 13 0D livre IRQ6 14 0E Controladora disquete IRQ7 15 0F LPT1 Anderson Moreira Arquitetura de Computadores Prioridades (3) – IBM AT Linha de Pedido Vetor (decimal) Vetor (hexadecimal) Utilização IRQ0 8 08 timer IRQ1 9 09 teclado IRQ2 10 0A Acesso a PIC IRQ8 112 70 Atualização da hora na BIOS IRQ9 113 71 Vídeo na PS/2 ou rede IRQ10 114 72 Controladora deCD IRQ11 115 73 Controladora SCSI IRQ12 116 74 Mouse na PS/2 IRQ13 117 75 co-processador IRQ14 118 76 Controlador de HD IRQ15 119 77 Uso geral IRQ3 11 0B COM2 e COM4 IRQ4 12 0C COM1 E COM 3 IRQ5 13 0D Placa de som IRQ6 14 0E Controladora de disquete IRQ7 15 0F LTP1 Anderson Moreira Arquitetura de Computadores Mascaramento de Interrupções • • • • Existem situações em que o processador não atende as requisições; Para ignorá-los o processador cria um mascaramento das interrupções; Pode ser feito através de flags: – Modifica a chamada do sinal para enganar o dispositivo. Ou com o uso de instruções críticas. Anderson Moreira Arquitetura de Computadores Revisão Anderson Moreira Arquitetura de Computadores Bibliografia • • • Arquitetura de Computadores Pessoais, Raul Weber, 2ª edição; Arquitetura de Computadores, Andrew S. Tannembaum, 8ª edição; Fundamentos de Arquitetura de Computadores, Saib e Weber, 4ª edição; Anderson Moreira Arquitetura de Computadores Dúvidas © Copyright 2010, IFPE. Creative Commons BY-SA 3.0 license Latest update: 28 de Fev de 2011, Document sources, updates: http://dase.ifpe.edu.br/~alsm Anderson Moreira Arquitetura de Computadores 60