Aula 3 – Dispositivos de Entrada e...

60
Anderson Moreira Arquitetura de Computadores 1 Aula 3 – Dispositivos de Entrada e Saída Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm

Transcript of Aula 3 – Dispositivos de Entrada e...

Anderson Moreira Arquitetura de Computadores 1

Aula 3 – Dispositivos de Entrada e Saída

Anderson L. S. [email protected]

http://dase.ifpe.edu.br/~alsm

Anderson Moreira Arquitetura de Computadores 2

O que fazer com essa apresentação

Anderson Moreira Arquitetura de Computadores

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 licenseLatest 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

processador

periféricocontrolador

portas

Drivers de dispositivos

Anderson Moreira Arquitetura de Computadores

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 – PMLCD2. LCD – TNLCD3. ACPDP – AC plasma display panel4. 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

Controladorde barramento

Memória

E/S Externa(conectores)

E/S Interna(built-in)

Barramento doprocessador (rápido)

Barramento de E/S(lento)

Barramento de E/S(lento)

Barramento dememória (rápido)

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

Controladorde barramento

Memória

E/S Externa(conectores)

E/S Interna(built-in)

Barramento doprocessador (rápido)

Barramento de E/S(lento)

Barramento de E/S(lento)

Barramento dememória (rápido)

E/S Externa(conectores, video, disco)

Barramento localE/S (rápido)

Anderson Moreira 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 P5CPU Pentium

Cache nível 2Controlador

de barramento(Ponte norte)

Super I/O(87307)

Portas seriais (COM)Paralelas (LPT)

Mouse

Controladoras IDEMemória CMOS e RTC

Processador66 a 266 MHz

Barramento PCI25 a 33 MHz

Barramento ISA8 MHz

Conectores PCI

Barramento de memória16 MHz

Cache nível 1

Controladorde barramento

(Ponte sul)

Barramento do processador50 a 66 MHz

Vídeo PCI

Conectores ISA

Controlador de disqueteControlador de tecladoMemória ROM-BIOS

Anderson Moreira Arquitetura de Computadores

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üência (MHz)

Endereçamento

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 R0, #0x09MOVEQ R0, #0x20CMP R0, #0x0DMOVEQ R0, #0x20CMP R0, #0x0aMOVEQ R0, #0x20CMP R0, #0x20MOVEQ R0, #0x5BBEQ load

Anderson Moreira 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

Dispositivo de controle ououtro sistema de hardware

que permita ativar uma interrupção

Hardware Software

Processador termina a execução da instrução corrente

Processador reconhece sinal de interrupção

Processador coloca PSW e PC na pilha de controle

Processador carrega novo valor do PC, baseado na interrupção

Salva informações remanescentes sobre o estado do processo

Processa a interrupção

Restaura a informação do estado do processo

Restaura o velho PSW e PC

(Rotina de serviç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)

• Exemplo:– Comando kill do Linux que

envia um sinal a um processo.

– Ou a tabela de vetores de interrupções

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

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 XTLinha 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 ATLinha de Pedido Vetor (decimal) Vetor (hexadecimal) Utilização

IRQ0 8 08 timerIRQ1 9 09 tecladoIRQ2 10 0A Acesso a PICIRQ8 112 70 Atualização da hora

na BIOSIRQ9 113 71 Vídeo na PS/2 ou redeIRQ10 114 72 Controladora deCDIRQ11 115 73 Controladora SCSIIRQ12 116 74 Mouse na PS/2IRQ13 117 75 co-processadorIRQ14 118 76 Controlador de HDIRQ15 119 77 Uso geralIRQ3 11 0B COM2 e COM4IRQ4 12 0C COM1 E COM 3IRQ5 13 0D Placa de somIRQ6 14 0E Controladora de

disqueteIRQ7 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 60

Dúvidas

© Copyright 2010, IFPE.Creative Commons BY-SA 3.0 licenseLatest update: 28 de Fev de 2011,

Document sources, updates:

http://dase.ifpe.edu.br/~alsm