Entrada/
Saída
Aula 6 Prof. Ms. Marcelo Fernandes
Qual seu
propósito?
Fazer com que nós possamos
conversar!!!
Função Geral (1)
Portanto,
Servem para a comunicação do
computador com o meio externo
Para tanto, são
necessários os...
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos de Entrada e Saída (E/S ou I/O –
Classificação Básica
Classificação Básica
Podem ser classificados como...
armazenamento: discos magnéticos, discos
ópticos, fitas, etc.
transmissão: placas de rede, modem, etc.
interface homem-máquina: monitor, teclado,
mouse, etc.
Interface computador com o meio ambiente:
dispositivos externos a serem monitorados ou controlados (Computação Ubíqua e Pervasiva)
Novos dispositivos e
tecnologias tem
surgido nos últimos
anos...
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos de Interação para Realidade Virtual :
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Dispositivos Entrada/Saída
Computação Ubiqua, RFID (Radio-Frequency
IDentification)
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Em relação às taxas de transmissão…
Alguns muito lentos (teclado, mouse),
Outros muito rápidos (gráficos escritos no monitor,
Dispositivos Entrada/Saida
Como esses dados fluem internamente na placa mãe? Como dispositivos de diferentes velocidades interagem entre si?
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Resposta…
A CPU não se comunica diretamente com cada
dispositivo de E/S e sim com "interfaces“
Essas interfaces são as placas controladoras
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Circuitos controladores de I/O são usados para
permitir a comunicação entre o processador
e os Dispositivos
Função:
o Compatibilizar as diferentes características
o Controlar seu dispositivo de E/S e tratar o acesso do dispositivo ao barramento
o temporização
o detecção de erros
Exemplos de Controladoras
Exemplos de Controladoras
São exemplos:
controladora gráfica: interface entre monitor e
barramento do sistema (PCI)
controladora de memória: interface entre memória e
barramento do sistema
controladora de disco IDE: interface entre discos e
barramento
controladora de disco SCSI: interface entre discos
SCSI e barramento
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Processo Geral de Comunicação
1. Inicialmente, a CPU interroga o dispositivo, enviando o endereço do dispositivo e um sinal dizendo se quer mandar ou receber dados através da controladora
2. A controladora, reconhecendo seu endereço, responde quando está pronta para receber (ou enviar) os dados.
3. A CPU então transfere (ou recebe) os dados através da controladora
4. A controladora responde confirmando que ...
1. ... recebeu (ou transferiu) os dados (acknowledge ou ACK)
2. ... ou que não recebeu os dados, neste caso solicitando
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Barramentos de sistema (CPU-Memória) X
barramentos de E/S
Barramentos do tipo entrada/saída
São mais longos
Podem ter muitos dispositivos conectados a ele
Muitas vezes necessitam atender uma ampla faixa
de bandas passante
Não necessariamente têm uma interface direta com a
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Barramentos do tipo “backplane”
Nome devido ao local de construção (no “backplane”,
estrutura onde as placas são fixadas no chassis da máquina
Projetado de modo que processadores, memórias e
dispositivos de entrada/saída possam ser interconectados em um único barramento
Tanto pode ser usado para transportar toda a informação
dentro do computador (caso típico dos primeiros PCs)...
... como pode ainda funcionar de interface entre o
barramento processador-memória e os barramentos de I/O.
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Chipset (video)
Um chipset é um grupo de circuitos integrados ou chips,
que são projetados para trabalhar em conjunto e que são geralmente comercializados como um produto único.
É um dos principais fatores de bom desempenho de um
PC, ficando atrás somente do processador e das memórias.
A maioria dos Chipsets é formada por dois chips
principais:
o ponte norte (northbridge): controlador de memória, alta velocidade)
o ponte sul (southbridge): controlador de periféricos, baixa velocidade)
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Responsabilidades do Chipset:
Controle do barramento PCI, AGP, ISA( PC´s mais
antigos);
Controle da transferência de dados entre a MP e as
Caches
Controle da transferência de dados entre as Cachês e os
registradores
Controle do dispositivo DMA ( transferência direta de
dados entre MP e discos), Controle dos sinais de interrupção
Controle da Interface IDE, USB; Etc...
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Formas de Comunicação
Questões a serem consideradas...
o Atividades de E/S são assíncronas (Handshaking pode ser necessário)
o Qualidade dos dados pode ser incerta (Mecanismos de
detecção/correção)
o Transferências podem ser interrompidas (Ex: Impressora sem papel)
Device Drivers devem tratar estes
problemas!!!!!
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Comunicação em Paralelo
Grupos de bits transferidos simultaneamente (em geral,
byte a byte) através de diversas linhas condutoras dos sinais.
Por que não usar
sempre comunicação
paralela???
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Exemplo de Problema
Propagação dos sinais no meio físico: se fazer de modo que os
sinais (os bits) correspondentes a cada byte cheguem
simultaneamente à extremidade oposta do cabo
Condutores que compõem o cabo usualmente terão pequenas
diferenças físicas , portanto a velocidade de propagação
dos sinais poderá ser ligeiramente diferente nos diversos fios
Um determinado bit x em cada byte pode se propagar mais
rápido e cheguar à extremidade do cabo antes que os outros n-1 bits do byte.
Este fenômeno é chamado skew, e as conseqüências são
catastróficas: os bits x chegariam fora de ordem (os bytes
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Portanto, a comunicação em paralelo se limita a
aplicações que demandem altas taxas de
trasferência
unidades de disco, como CD-ROM, DVD, ou mesmo
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Comunicação em Serial
Os bits são transferidos um a um, através de um
único par condutor
O controle é comparativamente muito mais
simples que no modo Paralelo
o Implementação mais barata.
Inicialmente, muito usada para periféricos mais
lentos
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Comunicação em Serial
A transmissão serial tem recebido aperfeiçoamentos importantes que vem permitindo o aumento da velocidade de transmissão ->USB - Universal
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Metodologias de Comunicação
Entrada e saída programada (ou polling)
Entrada e saída por interrupção
E/S Programada
(Polling)
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Entrada e saída programada (ou
polling)
Forma mais simples de E/S
Freqüentemente utilizada em sistemas de pequeno
porte ou dedicados
A CPU fica dedicada a gerenciar as transferências
de dados
Deficiência: A CPU gasta a maior parte do tempo
em um loop de espera (busy waiting) até que o dispositivo de entrada esteja pronto para a transferência
Fluxograma
de E/S
Programada
(Polling) para
uma
transferência
de Disco
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Entrada e saída por interrupção
Mecanismo pelo qual outros módulos podem
interromper a sequência normal de processamento
o Agora eu tenho elementos interrompendo a CPU
O principal objetivo das interrupções é melhorar o desempenho na utilização da CPU
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Entrada e saída por interrupção
A interrupção causa um desvio no fluxo do
programa via hardware
o A interrupção para o programa que está rodando e desvia o fluxo para a Rotina de Tratamento da Interrupção
Rotina de Tratamento da Interrupção
o Software que realiza o serviço de transferência daquele dispositivo externo que solicitou a interrupção.
o Verifica a ocorrência de possíveis erros na transferência de dados
o Quando finaliza a rotina de tratamento da interrupção, o processador retoma a execução do programa interrompido
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Tipos mais comuns de interrupção:
1. interrupção de software: ocasionada por alguma condição resultante da execução de uma instrução, como por exemplo um overflow ou uma divisão por zero
2. interrupção de relógio: gerada pelo clock do processador, destinada a executar operações periódicas.
3. interrupção de E/S: ocasionada por um controlador de E/S para indicar a conclusão de uma operação ou a ocorrência de erros.
4. interrupção de falha de hardware: provocada por falha do hardware, como um erro de paridade em memória ou a queda de energia.
Fluxograma
de E/S
controlada
por
interrupção
para uma
transferência
de Disco
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Entrada e saída por interrupção (cont.)
É comum existirem várias interfaces de dispositivos
diferentes que fazem pedidos de interrupção à CPU
Cada interface deve ser atendida por uma rotina de
serviço de interrupção específica
o Assim, ao receber um pedido de interrupção, o processador deve
determinar qual a rotina de serviço a ser executada
o Além disso, quando duas ou mais interfaces fazem pedidos de interrupção simultâneos, é necessário decidir qual o pedido de
interrupção que será atendido
Estas duas funções são suportadas por um
componente chamado controlador de interrupção (interrupt controller)
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Entrada e saída por interrupção (cont.)
O sinal de interrupção de cada interface é ligado ao
controlador de interrupção.
o Um número e uma prioridade são atribuídos a cada um destes sinais
Quando um pedido de interrupção acontece, o
controlador de interrupção envia para o processador, através do barramento de dados, o número do pedido.
No caso de dois ou mais pedidos simultâneos, o
controlador decide qual é o pedido com maior prioridade e envia para o processador o número correspondente.
Acesso Direto à Memória
(DMA)
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
DMA (Direct Memory Acess)
Uma controladora que lê ou escreve dados da/na
memória sem que seja necessária a intervenção
do processador utiliza o mecanismo de Acesso
Direto à Memória
Caracteristicas:
o Libera a CPU do intermédio entre dispositivo e memória
o Uma transferência por DMA essencialmente copia um bloco de memória de um dispositivo para outro
A transferência é realizada pelos
controladores DMA
que são tipicamente parte do chipset
da placa mãe
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Controlador de DMA
Possui…
o Address: end. de memória a ser lido/escrito o Count: quantidade de bytes/palavras
o Device: no. do dispositivo/end. de memória (E/S mapeada em
memória)
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Início
CPU prepara Disco para transferencia DMA
Controladora de DMA inicia transferencia independente
da CPU
CPU executa outro processo Controladora de DMA interrompe a CPU quando transferencia é terminada Continua Quando termina a transferência dos dados, o controlador DMA força uma interrupção, fazendo com que o processador suspenda a execução do programa corrente (processo), e inicie a execução da respectiva rotina de Tratamento da Interrupção.
Dispositivos Entrada/Saida
Dispositivos Entrada/Saida
Acesso Direto à Memória
Em geral, é possível ter várias dispositivos de e/s
operando com a técnica de acesso direto à memória
Para tanto, o controlador de DMA possui várias entradas para
pedido de DMA
O controlador de DMA associa a cada uma destas entradas um
conjunto independente de registradores
o Para armazenar o número de dados a serem transferidos, o endereço inicial e o sentido da transferência
Um grupo de sinais de controle com seus respectivos
registradores formam o chamado canal de DMA
O controlador de DMA se encarrega de arbitrar entre
dispositivos que fazem pedidos de DMA simultâneos, usando um
Página da Disciplina
Página da Disciplina
Bibliografia
Bibliografia
Andrew S. Tanenbaum. Structured Computer
Organization. Prentice Hall, 4ª edição, 2001
Slides da Professora Roberta Lima Gomes - PRM/DI/UFES