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

Documentos relacionados