Capítulo 7 Sistema de Entrada/Saída - I/O
Transcript of Capítulo 7 Sistema de Entrada/Saída - I/O
![Page 1: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/1.jpg)
William Stallings
Arquitetura e Organização de Computadores
Capítulo 7
Sistema de Entrada/Saída - I/O
![Page 2: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/2.jpg)
2
Visão Abrangente
Módulo de E/S (Input/Output) é o terceiro elemento crítico do sistema computador (os outros são, a CPU e a memória)
Todos os sistemas computadores devem ter meios eficientes para receberem entradas e deliberarem saídas. Falhas relacionadas ao endereçamento de E/S tem
sentenciado muitos bons sistemas.
Programa de estudo:
Módulos de E/S e suas interfaces com o resto do sistema.
Mecanismos de E/S.
Exemplos de interfaces
![Page 3: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/3.jpg)
3
Modelo genérico de um modulo de E/S
![Page 4: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/4.jpg)
4
Problemas da E/S
Dispositivos externos, geralmente, não estão conectados diretamente na estrutura de barramento do computador
Uma ampla variedade de dispositivos requerem diferentes lógicas de operação.
Interfaces – impraticável para a CPU “saber como” controlar cada dispositivo
Disparidade entre as taxas de transferências de dados
Diferentes representações de dados
Todos mais lentos do que CPU e RAM
Necessidade de módulos entrada/saída (I/O)
Intermediários na comunicação entre a CPU, RAM e os periféricos.
![Page 5: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/5.jpg)
5
Módulo de Entrada/Saída
Provê uma interface padronizada para a CPU e o barramento.
Moldada para um dispositivo de E/S específico e a seus requisitos de interface.
Delega a CPU o gerenciamento dos dispositivos de E/S.
A interface consiste em sinais de:
Control
Status
Dados
Interface entre a CPU e a memória.
Interface para um ou mais periféricos.
![Page 6: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/6.jpg)
6
Categorias de Dispositivos Externos
Interpretação humana
vídeo, impressora, teclado
Operação pela máquina
Discos magnéticos e ópticos
Monitoração e controle
Comunicação
Modem
Placa de rede ( "Network Interface Card" – NIC)
![Page 7: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/7.jpg)
7
Typical I/O Data Rates
![Page 8: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/8.jpg)
8
Funções do Módulo de E/S
Controle e temporização (Control & timming) Coordenação do fluxo de dados
Comunicação com a CPU Decodificar comandos; Enviar e receber dados Informar o estado dos periféricos Reconhecimento de endereços
Comunicação com o dispositivo periférico Emitir comandos; Enviar e receber dados Receber informação do estado dos periféricos
Bufferização de dados (data buffering) Adequação a diferentes taxas de transferência
Deteção de erros Funcionamento incorreto dos periféricos Transmissão de dados (bit de paridade)
![Page 9: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/9.jpg)
9
Funções do Módulo de E/S
The major functions for
an I/O module fall into the following
categories:
Control and timing
•Coordinates the flow of traffic between internal resources and external devices
Processor communication
• Involves command decoding, data, status reporting, address recognition
Device communication
• Involves commands, status information, and data
Data buffering
•Performs the needed buffering operation to balance device and memory speeds
Error detection
•Detects and reports transmission errors
![Page 10: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/10.jpg)
10
Etapas da operação de E/S
A CPU verifica o status do módulo de E/S
O módulo de E/S retorna o status
Se pronto (ready), a CPU requisita a transferência
de dados
O módulo de E/S obtém os dados do dispositivo
O módulo de E/S transfere os dados para a CPU
Variações para a saída, DMA, etc.
![Page 11: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/11.jpg)
11
Decisões de um módulo de E/S
Esconder e/ou revelar as propriedades do
dispositivo para a CPU.
Suportar simples/múltiplos dispositivo(s).
Controlar as funções de um dispositivo ou delegar
para a CPU.
Também são decisões do Sistema Operacional
Por exemplo, Unix trata tudo, se possível, como arquivo.
![Page 12: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/12.jpg)
12
I/O Module Diagram
![Page 13: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/13.jpg)
13
RAM
CPU
Barr
am
ento
de S
istema
Módulo de
Entrada/Saída
Canal de
Entrada/Saída
Controlador de
Interrupção
Controlador
DMA
periférico
periféricosss
periférico
periféricosss
dos módulos (ou
canais) de
Entrada/Saída
dos módulos (ou
canais) de
Entrada/Saída
Técnicas de
Entrada/Saída Interface externa
Entrada/Saída – perspectiva geral
![Page 14: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/14.jpg)
14
Técnicas para Operações de Entrada/Saída
Programmed I/O
Interrupt driven I/O
Direct Memory Access (DMA)
![Page 15: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/15.jpg)
15
Programmed I/O
Operação de E/S onde a CPU envia um comando de E/S para o módulo de E/S.
A CPU tem controle direto da operação.
Sensing status
Read/write commands
Transferring data
A CPU espera até que a operação de E/S seja finalizada, antes de realizar outras tarefas.
A finalização é indicada pela mudança dos bits de status do módulo de E/S.
A CPU deve, periodicamente, consultar (polling) o módulo para verificar seu status.
Isto, consome tempo de CPU.
![Page 16: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/16.jpg)
16
Programmed I/O - detalhes
CPU requer uma operação de E/S
O módulo de E/S realiza a operação
O módulo de E/S configura os bits de status
A CPU verifica os bits de status periodicamente
O módulo de E/S não informa a CPU diretamente.
O módulo de E/S não interrompe as atividades da
CPU.
A CPU pode esperar ou retornar mais tarde.
![Page 17: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/17.jpg)
17
I/O Commands
A CPU fornece os endereços. Identifica o módulo (e dispositivo, se mais do que um
por módulo)
A CPU emite os comandos Controle – indicar ao módulo o que fazer
✓ e.g. spin up disk
Teste – verificar o status✓ e.g. power? Error?
Leitura/Escrita✓ O módulo transfere, via buffer, dados de/para o dispositivo
Endereçamento de dispositivos de entrada/saída Nas entradas/ saídas programadas a transferência de
dados consiste, muito provavelmente, num acesso à memória (ponto de vista da CPU)
Cada dispositivo possui um identificador único. As instruções da CPU contêm um identificador
(endereço).
![Page 18: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/18.jpg)
18
I/O Operations
![Page 19: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/19.jpg)
19
Endereçando Dispositivos de E/S
O modo de transferência de dados programada
(programmed I/O) é muito parecido com o
acesso a memória (do ponto de vista da CPU)
A cada dispositivo é atribuído um identificador
único.
Os comandos da CPU carregam este
identificador (endereços).
![Page 20: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/20.jpg)
20
I/O Mapping
Memory mapped I/O
Dispositivos e memória compartilham um espaço de endereçamento.
I/O parece como uma memória de leitura/escrita.
Nenhum comando especial para I/O
✓ Um grande conjunto de comandos de acesso a memória estão disponíveis.
Isolated I/O
Espaço de endereçamento separado
Necessidade de linhas de seleção para I/O ou memória
Comandos especiais para I/O
✓ Conjunto limitado
![Page 21: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/21.jpg)
21
![Page 22: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/22.jpg)
22
Programmed I/O - Resumo
Devido a diferença de velocidade entre a CPU e os dispositivos periféricos (ordens de magnitude), programmed I/O consome uma enorme quantidade do potencial de processamento da CPU.
Muito ineficiente
A CPU trabalha na velocidade do periférico.
Vantagens
Implementação Simples
Requer pouquíssimo software especial ou hardware.
![Page 23: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/23.jpg)
23
Interrupt Driven I/O
Técnica para reduzir o tempo gasto nas operações de E/S.
A CPU fornece comandos de E/S para o módulo
A CPU continua com suas outras tarefas enquanto o módulo realiza a sua operação.
O módulo sinaliza à CPU quando a operação de E/S for finalizada (a interrupção)
A CPU responde a interrupção, executando uma rotina de serviço de interrupção (isr), logo após, continua a tarefa que estava executando durante este evento.
Contorna os problemas de espera da CPU.
A CPU não precisa realizar uma verificação repetitiva do status do dispositivo.
O próprio módulo de E/S anuncia quando pronto (via interrupção).
![Page 24: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/24.jpg)
24
Interrupt Driven I/O - Basic Operation
![Page 25: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/25.jpg)
25
CPU Viewpoint
Envia o comando de leitura
Realiza outro trabalho.
Verifica se há interrupção pendente a cada final de ciclo de execução de instrução.
Se houver interrupção:
Salva o contexto (registradores)
Processa a rotina de tratamento da interrupção.
✓ Fetch data & store
Ver notas no conteúdo da disciplina de Sistemas Operacionais.
![Page 26: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/26.jpg)
26
![Page 27: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/27.jpg)
27
![Page 28: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/28.jpg)
28
Interrupt-driven: decisões de projeto
Com múltiplos módulos e, portanto, múltiplas interrupções.
Como identificar o módulo que gerou o sinal de interrupção?
Como lidar com múltiplas interrupções?
Por exemplo, a rotina que manipula a interrupção está sendo interrompida.
![Page 29: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/29.jpg)
29
Identificando o módulo que interrompe (1)
Cada módulo possui uma linha de interrupção diferente.
PC
Limita o número de dispositivos.
Software polling
CPU consulta cada módulo em uma sequência circular
Lento.
![Page 30: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/30.jpg)
30
Identificando o módulo que interrompe (2)
Daisy Chain ou Hardware poll
O recebimento da interrupção (interrupt acknowledge) é enviado cadeia abaixo.
O módulo responsável coloca o vetor de identificação no barramento.
A CPU usa o vetor para identificar a rotina de tratamento.
Bus Mastering
O módulo deve requerer o barramento antes que ele possa gerar a interrupção.
Por exemplo, PCI & SCSI
![Page 31: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/31.jpg)
31
Multiplas Interrupções
Cada linha de interrupção tem uma prioridade.
Linhas de prioridade mais alta podem interromper
as linhas de prioridades mais baixas.
Se o método empregado for bus mastering,
somente o mestre atual pode interromper.
![Page 32: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/32.jpg)
32
Example - PC Bus
O 80x86 tem uma linha de interrupção
Sistemas baseados no 8086 utilizam um
controlador de interrupção, o 8259A.
O 8259A tem oito (8) linhas de interrupções.
![Page 33: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/33.jpg)
33
Sequência de Eventos
8259A aceita interrupções.
8259A determina prioridades.
8259A sinaliza o 8086 (eleva a linha INTR).
A CPU reconhece (acknowledges).
8259A coloca o vetor correto no barramento de dados.
A CPU processa a interrupção.
![Page 34: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/34.jpg)
34
Intel 82C59A Interrupt Controller
![Page 35: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/35.jpg)
35
ISA Bus Interrupt System
ISA bus encadeia dois controladores 8259A juntos.
O Link é via interrupção 2.
Temos um total de 15 linhas.
16 linhas menos uma para o link
IRQ 9 é usada para redirecionar alguma coisa tentando usar a IRQ 2.
Backwards compatibility.
Nas arquiteturas atuais, o 8259A foi incorporado nochipset.
![Page 36: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/36.jpg)
36
Intel 82C55A Programmable Peripheral Interface
![Page 37: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/37.jpg)
37
Direct Memory Access
Interrupt driven e programmed I/O requerem intervenção ativa da CPU.
A taxa de transferência é limitada
A CPU fica aprisionada
Para contornar estes problemas a técnica de DMAsurge como uma solução.
DMA Function:
Módulo adicional (hardware) no barramento.
O DMA controller liberta a CPU da lenta tarefa das operações de E/S.
![Page 38: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/38.jpg)
38
DMA - Diagrama de Bloco
![Page 39: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/39.jpg)
39
DMA Operation
A CPU configura a controladora DMA:
Read/Write
Device address
Endereço inicial do bloco de memória para os dados
A quantidade de dados a ser transferida
A CPU preocupa-se com outra tarefa.
A controladora DMA realiza as operações de transferência.
A controladora DMA envia um sinal de interrupção quando a transferência for finalizada.
![Page 40: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/40.jpg)
40
DMA Transfer - Cycle Stealing
“Roubo" de ciclo na transferência DMA
Controlador DMA toma conta do barramento (bus) durante um ciclo (clock).
Transfere uma palavra de dados.
Não é uma interrupção
✓ A CPU não salvaguarda o contexto
CPU suspende a ciclo de instrução imediatamente antes de:
✓ um acesso ao barramento
✓ antes da busca de um operando ou de dados e
✓ da escrita de dados
Provoca um atraso na CPU, mas não tanto como se a própria efetuasse a transferência.
![Page 41: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/41.jpg)
41
Pontos de suspensão de DMA
![Page 42: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/42.jpg)
42
Aside
Qual é o efeito que memória caching tem no DMA?
Dica: Quantos são os barramentos de sistema disponíveis?
![Page 43: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/43.jpg)
43
Configurações DMA
Bus único, controlador DMA separado Cada transferência usa o bus duas vezes
✓ Do dispositivo de E/ S para controlador DMA e deste para a memória
Operação da CPU é suspensa duas vezes
Bus único, controlador DMA integrado Controlador pode suportar mais do que um dispositivo de
E/S Cada transferência usa o bus uma vez – do controlador
DMA para a memória Transferência entre dispositivos também usam o bus. Operação da CPU é suspensa uma vez.
Bus separado, controlador DMA integrado suporta todos os dispositivos DMA Cada transferência usa o uma vez – do controlador DMA
para a memória Operação da CPU é suspensa uma vez Transferência entre dispositivos não usam o bus
![Page 44: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/44.jpg)
44
DMA Configurations (1)
Bus único, controlador DMA separado
Cada transferência usa o bus duas vezes
✓ Do dispositivo de E/ S para controlador DMA e deste para a memória
Operação da CPU é suspensa duas vezes
![Page 45: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/45.jpg)
45
DMA Configurations (2)
Bus único, controlador DMA integrado Controlador pode suportar mais do que um dispositivo
de E/S
Cada transferência usa o bus uma vez – do controlador DMA para a memória
Transferência entre dispositivos também usam o bus.
Operação da CPU é suspensa uma vez
![Page 46: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/46.jpg)
46
DMA Configurations (3)
Bus separado, controlador DMA integrado
suporta todos os dispositivos DMA
Cada transferência usa o uma vez – do controlador DMA para a memória
Operação da CPU é suspensa uma vez
Transferência entre dispositivos não usam o bus
![Page 47: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/47.jpg)
47
Evolução da E/S (1)
No início CPU controlava diretamente o dispositivo (microprocessor-controlled devices)
Módulo de E/S (ou controlador) foi acrescentado Assim CPU não precisa conhecer detalhes específicos dos
dispositivos
CPU usa E/S programada sem interrupção
Surge então, a interrupção CPU trabalha enquanto ocorre E/S
O módulo de E/S ganha poder para acessar memória diretamente (DMA)
![Page 48: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/48.jpg)
48
Evolução da E/S (2)
O módulo de E/S torna-se um processador
Conjunto próprio de instruções para E/S
Módulo de E/S é capaz de executar um programa sem intervenção alguma da CPU
Também conhecido por canal de E/S
Módulo de E/S ganha uma memória local própria
Maior número de dispositivos podem ser controlados
Tamanho de buffer maior para troca de dados
Também conhecido como processador de E/S
Ocasionalmente os termos canais de E/S (I/O Channel) e processador de E/S (I/O Processor) são usados para designar os mesmos módulos de E/S.
![Page 49: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/49.jpg)
49
Interfaces Externas
A interface de um módulo de E/S com um periférico depende da natureza e da operação do periférico.
Transmissão:
Paralela
✓ Várias linhas de conexão entre o módulo de E/S e o periférico.
✓ Diversos bits são transferidos ao mesmo tempo.
✓ Utilizada em periféricos de alta velocidade.
Serial
✓ Apenas uma linha para transmissão dos dados.
✓ Bits transmitidos um de cada vez.
✓ Mais comum para impressoras e terminais.
Transferência
simplex, half ou full-duplex
![Page 50: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/50.jpg)
50
Ligação entre módulo E/ S e o periférico
Temporização (timming) síncrona assíncrona
Controle Strobing Handshaking
Taxas de transferência Grande diversidade
Multiplicidade
Ponto a ponto✓ Linha dedicada entre o módulo de E/S e o dispositivo✓ Conecta, por exemplo, teclado, impressora e modem
Multiponto
✓ Utilizada para conexão de dispositivos externos de
armazenamento em massa (discos e fitas) e multimídia
(vídeo, audio).
![Page 51: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/51.jpg)
51
Interfaces & Periféricos
RS-232 modems, faxs, placas
áudio, placas de rede
PS/2 mouse
Centronics impressoras, scanners
AGP placas gráficas
ATA/IDE discos magnéticos
ATAPI discos ópticos
SCSI discos magnéticos,
discos ópticos, scanners
SATA discos magnéticos
USB discos magnéticos,
impressoras, scanners, modems
Firewire discos magnéticos,
câmaras fotográficas, de vídeo
PCMCIA discos, faxs, modems,
placas de rede
![Page 52: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/52.jpg)
52
Interface Externa SCSI
Small Computer System Interface
Popularizada no Machintosh 1984
Utilizada nos sistemas Windows / Intel
Suporta comunicação síncrona e assíncrona
Cada dispositivo SCSI tem dois conectores:
Entrada
Saída
![Page 53: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/53.jpg)
53
Interface Externa SCSI
Todos os dispositivos são conectados a uma cadeia
circular
O último dispositivo desta cadeia é conectado ao
computador
Dispositivos podem trocar dados:
Diretamente entre si
Com o computador
Exemplo: Um HD pode comunicar-se com uma unidade
de fita diretamente, sem passar por um sistema
hospedeiro(processador)
![Page 54: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/54.jpg)
54
Interface Externa SCSI
Todas as trocas no barramento SCSI são feitas entre um mestre e um escravo
Tipicamente o sistema hospedeiro é o mestre e o periférico é o escravo.
Toda atividade no barramento ocorre em fases:
Barramento livre: barramento disponível para uso
Arbitração: permite a um dispositivo ganhar o controle do barramento. O dispositivo pode iniciar ou retomar o processamento de uma E/S.
Seleção: permite um mestre a selecionar um escravo
Restabelecimento de conexão: permite ao escravo restabelecer a conexão com um mestre para retomar uma operação iniciada anteriormente mas suspensa pelo escravo.
![Page 55: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/55.jpg)
55
Interface Externa SCSI
Toda atividade no barramento ocorre em fases:
Comando: permite ao escravo requisitar informações dos comandos enviados pelo mestre.
Dados: permite ao escravo requisitar a transferência de dados para o mestre (Data In) ou do mestre para o escravo (Data Out)
Estado: permite ao escravo enviar informações de estado ao mestre
Mensagem: Permite ao escravo requisitar a transferência de uma ou mais mensagens para o mestre (Message In) ou do mestre para o escravo (Message Out)
![Page 56: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/56.jpg)
56
SCSI Signaling (1)
Between initiator and target
Usually host & device
Bus free? (c.f. Ethernet)
Arbitration - take control of bus (c.f. PCI)
Select target
Reselection
Allows reconnection after suspension
e.g. if request takes time to execute, bus can be released
![Page 57: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/57.jpg)
57
SCSI Signaling (2)
Command - target requesting from initiator
Data request
Status request
Message request (both ways)
![Page 58: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/58.jpg)
58
SCSI Bus Phases
![Page 59: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/59.jpg)
59
SCSI Timing Diagram
![Page 60: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/60.jpg)
60
Configuring SCSI
Bus must be terminated at each end
Usually one end is host adapter
Plug in terminator or switch(es)
SCSI Id must be set
Jumpers or switches
Unique on chain
0 (zero) for boot device
Higher number is higher priority in arbitration
![Page 61: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/61.jpg)
61
Interface Externa SCSI
SCSI 1 – início de 1980s Barramento de dados de 8 bits
Cabo com 18 linhas:
✓ 9 para controle
✓ 9 para dados (8 bits dados + 1 bit paridade)
Velocidade de 5 MHz - Taxa de transferência de 5 MBytes/s
Suporta até 7 dispositivos (comparado com 2 da tradicional IDE)
Possui linhas de controle
Mensagens são utilizadas para gerenciar o barramento
![Page 62: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/62.jpg)
62
Interface Externa SCSI
SCSI 2 - 1991 Padrão corrente
Expandiu o barramento para 16 ou 32 bits
Aumentou a velocidade para 10 MHz – Taxa de transferência entre 20 ou 40 MBytes/s
Define comandos específicos para:
✓ Impressoras
✓ Processadores
✓ CD-ROMs
✓ Scanners
✓ Dispositivos de comunicação, etc
![Page 63: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/63.jpg)
63
Interface Externa FireWire
IEEE standard 1394 (serial bus FireWire)
Vantagens sobre SCSI
Maior velocidade
Baixo custo
Fácil implementação
Utiliza transmissão de 1 bit por vez (serial)
Requer cabos mais simples que SCSI (que tem mais linhas)
✓ Menor custo pois cabos paralelos precisam de sincronização para enviar informação (problema notado em cabos + longos)
![Page 64: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/64.jpg)
64
Interface Externa FireWire
Usa daisy chain (cadeia circular) com até 63 dispositivos interconectados em uma única porta
Permite hot plugging (conexão a quente)
Computador não precisa ser desligado para conectar/desconectar dispositivos
Configuração automática de IDs para os dispositivos
Não é manual
E não é amarrada à posição do dispositivo
![Page 65: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/65.jpg)
65
Interface Externa FireWire
Comparando com SCSI:
SCSI:
✓ requer terminadores nas pontas
✓ Deve-se associar um único ID para cada dispositivo (durante a configuração)
FireWire:
✓ Não há terminadores
✓ O sistema define os IDs automaticamente
✓ Não precisa ser daisy chain (árvore)
![Page 66: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/66.jpg)
66
Comparação SCSI - Firewire
![Page 67: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/67.jpg)
67
Interface Externa FireWire
FireWire define 3 camadas de protocolos para o sistema hospedeiro interagir com os dispositivos:
Physical layer – define o meio de transmissão
✓ Características de sinais e elétricas
Link layer – descreve a transmissão dos dados em pacotes
Transaction layer – define um protocolo de requisição-resposta que esconde detalhes do barramento
![Page 68: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/68.jpg)
68
FireWire - Physical Layer
Data rates from 25 to 400Mbps
Two forms of arbitration
Based on tree structure
Root acts as arbiter
First come first served
Natural priority controls simultaneous requests
✓ i.e. who is nearest to root
Fair arbitration
Urgent arbitration
![Page 69: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/69.jpg)
69
FireWire - Link Layer
Two transmission types
Asynchronous
✓ Variable amount of data and several bytes of transaction data transferred as a packet
✓ To explicit address
✓ Acknowledgement returned
Isochronous
✓ Variable amount of data in sequence of fixed size packets at regular intervals
✓ Simplified addressing
✓ No acknowledgement
![Page 70: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/70.jpg)
70
FireWire Protocol Stack
(MAC) & Phys
![Page 71: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/71.jpg)
71
FireWire Subactions
![Page 72: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/72.jpg)
72
Interface Externa FireWire
Comparando com SCSI:
SCSI:
✓ requer terminadores nas pontas
✓ Deve-se associar um único ID para cada dispositivo (durante a configuração)
FireWire:
✓ Não há terminadores
✓ O sistema define os IDs automaticamente
✓ Não precisa ser daisy chain (árvore)
![Page 73: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/73.jpg)
73
InfiniBand
I/O specification aimed at high end servers
Merger of Future I/O (Cisco, HP, Compaq, IBM) and Next Generation I/O (Intel)
Version 1 released early 2001
Architecture and spec. for data flow between processor and intelligent I/O devices
Intended to replace PCI in servers
Increased capacity, expandability, flexibility
![Page 74: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/74.jpg)
74
InfiniBand Architecture
Remote storage, networking and connection between servers
Attach servers, remote storage, network devices to central fabric of switches and links
Greater server density
Scalable data centre
Independent nodes added as required
I/O distance from server up to
17m using copper
300m multimode fibre optic
10km single mode fibre
Up to 30Gbps
![Page 75: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/75.jpg)
75
InfiniBand Switch Fabric
![Page 76: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/76.jpg)
76
InfiniBand Operation
16 logical channels (virtual lanes) per physical link
One lane for management, rest for data
Data in stream of packets
Virtual lane dedicated temporarily to end to end transfer
Switch maps traffic from incoming to outgoing lane
![Page 77: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/77.jpg)
77
InfiniBand Protocol Stack
![Page 78: Capítulo 7 Sistema de Entrada/Saída - I/O](https://reader030.fdocumentos.tips/reader030/viewer/2022012703/61a587a3d0e80e326215c1ea/html5/thumbnails/78.jpg)
78
Foreground Reading
Pesquise sobre Universal Serial Bus (USB)
Faça comparações com outros padrões de comunicação.