entrada e saídaprofessor.pucgoias.edu.br/sitedocente/admin/arquivos... · 2015-11-17 ·...
TRANSCRIPT
+ Entrada e SaídaEntrada e Saída
+
Modelo genérico Modelo genérico de um modulo de um modulo
de E/Sde E/S I/O Module
Figure 7.1 Generic Model of an I/O Module
Links toperipheraldevices
Control Lines
Data Lines
Address Lines
SystemBus
+ Dispositivos externosDispositivos externos
Fornecem meios de troca de dados entre o ambiente externo e o computador
Conectado ao computador por uma ligação a um modulo de E/S Esta ligação é usada para troca
de sinais de dados, controle e status entre o modulo de E/S e o dispositivo externo
Dispositivo periférico Um dispositivo externo
conectado a um modulo de E/S
Três categorias:
Inteligível ao homem Utilizado para interação com o
usuário Terminais de vídeo,
impressoras
Intelitível à máquina Utilizado para interação com o
equipamento Discos magnéticos, sensors,
atuadores
Comunicação Utilizado para comunicação
com outros computadores, tais como interfaces de rede
+Diagrama de Diagrama de bloco de um bloco de um dispositivo dispositivo
externoexternoBuffer
Transducer
Figure 7.2 Block Diagram of an External Device
ControlLogic
Controlsignals fromI/O module
Statussignals toI/O module
Data bitsto and fromI/O module
Data (device-unique)to and fromenvironment
+Teclado/MonitorTeclado/Monitor
Unidade básica é o caractere Um código é associado a cada caractere Cada caractere é representado por um
código de 7 bits 128 caracteres diferentes podem ser
representados
Dois tipos de caracteres: Visualizável
Alfabético, numérico e caracteres especiais que podem ser visualizáveis na tela ou no papel
De controle Tem a função de controlar a impressão
ou visualização dos caracteres Como exemplo, o retorno do carro (CR) Outros caracteres de controle dizem
respeito à procedimentos de comunicação
Quando o usuário pressiona uma Tecla gera um sinal eletrônico interpretado pelo controlador do teclado traduzido em um padrão de bits correspondente
Este padrão é transmitido ao modulo de E/S r
Na saída, caracteres com códito IRA são transmitidos ao dispositivo de E/S pelo correspondente modulo
O transdutor interpreta o códito e envia os sinais eletrônicos requeridos para efetuar a saída no visor ou qualquer outra função requisitada
International Reference Alphabet (IRA)
Códigos do teclado
Forma mais comum de interação com usuário
Usuário fornece entrada pelo teclado
O monitor exibe os dados gerados pelo computador
Módulos de E/SMódulos de E/S
Funções dos módulos
Estrutura de um móduloEstrutura de um módulo
Status/Control Registers
Data Registers
Interface toSystem Bus
Figure 7.3 Block Diagram of an I/O Module
I/OLogic
ControlLines
AddressLines
DataLines
ExternalDevice
InterfaceLogic
Data
Status
Control
ExternalDevice
InterfaceLogic
Data
Status
Control
Interface toExternal Device
+E/S ProgramadaE/S Programada
Três técnicas são possíveis para operações de E/S: E/S programada
Dados são transferidos entre o processador e o modulo de E/S O processador executa um programa para controle direto da
operação de E/S Comandos dados pelo processador fazem com que ele espera pelo
término da operação de E/S (E/S síncrona) Perda de tempo do processador uma vez que é bem mais rápido do
que o modulo de E/S E/S dirigida à interrupção Processador dá um commando para modulo de E/S e continua sua
execução, sendo interrupido pelo modulo de E/S depois que o commando é executado
Acesso direto à memória - Direct memory access (DMA) A troca de dados entre memória e modulo de E/S é feita sem a
interferência do processador
+
Técnicas de E/STécnicas de E/S
+Comandos de E/SComandos de E/S
Tipos de comandos que o modulo de E/S recebe do processador:
1) Controle- Usado para ativar uma função que o periférico deve efetuar
1) Teste- Usado para testar condições de estado dos módulos e seus
periféricos
1) Leitura- Usado para instruir o módulo de E/S a ler um item de dados do
periféricos e armazená-lo em um buffer interno
1) Escrita- Usado para instruir o módulo de E/S a transmitir um item de dado
de um buffer interno para um periférico
Três técnicas Três técnicas para entrada para entrada de um bloco de um bloco de dados de dados
Figure 7.4 Three Techniques for Input of a Block of Data
Issue Readcommand toI/O module
Read statusof I/Omodule
Checkstatus
Read wordfrom I/OModule
Write wordinto memory
Done?
Next instruction(a) Programmed I/O
CPU I/O
CPU memory
I/O CPU
I/O CPU
Errorcondition
Ready Ready
Yes Yes
No
Notready
Issue Readcommand toI/O module
Do somethingelse
InterruptRead statusof I/Omodule
Checkstatus
Read wordfrom I/OModule
Write wordinto memory
Done?
Next instruction(b) Interrupt-driven I/O
CPU memory
Do somethingelse
Interrupt
CPU DMA
DMA CPU
I/O CPU
Errorcondition
No
Issue Readblock commandto I/O module
Read statusof DMAmodule
Next instruction
(c) Direct memory access
CPU I/O
I/O CPU
Instruções de E/SInstruções de E/S
+Resumo de mapeamento de E/SResumo de mapeamento de E/S
E/S mapeada em memória Dispositivo de E/S e memória compartilham endereço O dispositivo é tratado como memória em termos de acesso
de leitura/escrita Não usa instrução especial para E/S
Grande variedade de instruções disponíveis no processador
E/S isolada Espaço de endereçamento separado Necessita de selecionar linhas de E/S Instruções específicas para E/S
Conjunto limitado
+
E/S E/S mapeada mapeada
em em memóriamemória
E/S isoladaE/S isolada
E/S dirigida por interrupção E/S dirigida por interrupção
+
Processamento de Processamento de interrupçãointerrupção
Device controller orother system hardwareissues an interrupt
Processor finishesexecution of currentinstruction
Processor signalsacknowledgmentof interrupt
Processor pushes PSWand PC onto controlstack
Processor loads newPC value based oninterrupt
Save remainder ofprocess stateinformation
Process interrupt
Restore process stateinformation
Restore old PSWand PC
Hardware Software
Figure 7.6 Simple Interrupt Processing
+
Mudanças na Mudanças na memória e memória e
registradores na registradores na interrupçãointerrupção
Start
N + 1
Y + L
N
Y
Y
T
Return
User'sProgram
MainMemory
Processor
GeneralRegisters
ProgramCounter
StackPointer
N + 1
T – M
T – M
T
ControlStack
InterruptServiceRoutine
User'sProgram
InterruptServiceRoutine
(a) Interrupt occurs after instructionat location N (b) Return from interrupt
Figure 7.7 Changes in Memory and Registers for an Interrupt
Start
N + 1
Y + L
N
Y
T
Return
MainMemory
Processor
GeneralRegisters
ProgramCounter
StackPointer
Y + L
T – M
T – M
T
ControlStack
N + 1
Questões de projetoQuestões de projeto
+Identificação de dispositivosIdentificação de dispositivos
Várias linhas de interrupção Entre o processador e módulos de E/S Forma mais direta de resolver o problema Mesmo que múltiplas linhas sejam usadas, como o número de módulos é variável, provavelmente uma linha
poderá ter vários módulos associada a si
Consulta por Software Quando o processador deteta uma interrupção, a rotina de serviço de interrupção consulta cada modulo de
E/S para determiner qual modulo causou a interrupção Desperdiça tempo
Encadeamento (consulta por hardware, interrupção vetorizada) O reconhecimento da interrupção é encadeado para os módulos Cada modulo tem um vetor (endereço) de tratamento da interrupção Interrupção vetorizada – o processador usa o vetor como endereço para a rotina de tratamento de
interrupção do modulo
Arbitramento (vectored) O modulo de E/S primeiro ganha controle do barramento antes de levanter a interrupção Quando o processador deteta a interrupção, responde com o reconhecimento da interrupção O modulo que solicitou coloca o vetor de interrupção no barramento de dados
Técnicas para identificar o dispositivo que interrompeu
+Controlador de Controlador de interrupção Intelinterrupção Intel
82C59A 82C59A
External device 00
Slave82C59Ainterruptcontroller
External device 07
IR0IR1 INTIR2IR3IR4IR5IR6IR7
External device 01
External device 08
Slave82C59Ainterruptcontroller
External device 15
IR0IR1 INTIR2IR3IR4IR5IR6IR7
Master82C59AinterruptcontrollerIR0IR1 INTIR2IR3IR4IR5IR6IR7
External device 09
80386processor
INTR
External device 56
Slave82C59Ainterruptcontroller
External device 63
Figure 7.8 Use of the 82C59A Interrupt Controller
IR0IR1 INTIR2IR3IR4IR5IR6IR7
External device 57
+ Interface programável Intel 82C55A Interface programável Intel 82C55A
PA41PA3 40
(b) Pin layout
Figure 7.9 The Intel 8255A Programmable Peripheral Interface
PA52PA2 39PA63PA1 38PA74PA0 37WR5RD 36Reset6CS 35D07GND 34D18A1 33D29A0 32D310PC7 31D411PC6
8255A
30D512PC5 29D613PC4 28D714PC3 27V15PC2 26PB716PC1 25PB617PC0 24PB518PB0 23PB419PB1 22PB320PB2 21
Databus
buffer
Powersupplies
Bi-directionaldata bus
8-bitinternaldata bus
D7 - D0
I/OPA7 - PA0
I/OPC7 - PC4
I/OPC3 - PC0
I/OPB7 - PB0
RDWRA1A0
ResetCS
GroupA
control
Group APort A
(8)
Group BPort B
(8)
Group APort C
upper (4)
Group BPort C
Lower(4)
GroupB
control
Read/write
controllogic
(a) Block diagram
+5 VGND
+ Interface programável Intel 82C55A Interface programável Intel 82C55A
+Interfaces do Interfaces do teclado/visor com teclado/visor com 82C55A82C55A
A0A1A2A3A4A5A6A7
C3
Interruptrequest
Interruptrequest
C0
Figure 7.11 Keyboard/Display Interface to 82C55A
INPUTPORT
KEYBOARD
OUTPUTPORT
82C55AB0B1B2B3B4B5B6B7
C1C2C6C7
C4C5
R0R1R2R3R4R5ShiftControl
Data readyAcknowledge
DISPLAY
S0S1S2S3S4S5BackspaceClear
Data readyAcknowledgeBlankingClear line
+
Problemas de E/S programada e dirigida Problemas de E/S programada e dirigida por interrupçãopor interrupção
Ambas as formas de E/S sofrem com as seguintes questões:
1) A taxa de transferência de leitura/escrita é limitada pela velocidade com o qual o processador pode testar e server um dispositivo
2) O processador está diretamente envolvido na transferência: instruções devem ser executadas para cada transferência
Para efetuar transferências de grandes volumes de dados de forma mais eficiente utiliza-se o acesso direto à memória - direct memory access (DMA)
+Bloco de diagrama Bloco de diagrama de DMA típico de DMA típico
+
Operação do DMAOperação do DMA
DMADMA
DMADMA
ProcessorCycle
FetchInstruction
ProcessorCycle
DecodeInstruction
ProcessorCycle
Instruction Cycle
Time
DMABreakpoints
Figure 7.13 DMA and Interrupt Breakpoints During an Instruction Cycle
InterruptBreakpoint
FetchOperand
ProcessorCycle
ExecuteInstruction
ProcessorCycle
StoreResult
ProcessorCycle
ProcessInterrupt
+Configurações Configurações alternativas do alternativas do
DMADMA
Uso do barramento do Sistema pelo 8237 Uso do barramento do Sistema pelo 8237 DMADMA
CPU
DACK = DMA acknowledgeDREQ = DMA requestHLDA = HOLD acknowledgeHRQ = HOLD request
Figure 7.15 8237 DMA Usage of System Bus
Data bus
DACK
DREQ
Address bus
Control bus (IOR, IOW, MEMR, MEMW)
8237 DMAchip
Mainmemory
Diskcontroller
HRQ
HLDA
+Controlador DMA Fly-ByControlador DMA Fly-By
Registradores Registradores dodo
Intel Intel 8237A8237A
E/D = enable/disableTC = terminal count
Direct Cache Access (DCA)
+Evolução das funções de E/SEvolução das funções de E/S
1. A CPU controla diretamente um dispositivo periférico .
2. Um controlador ou modulo de E/S é adicionado. A CPU usa E/S programada sem interrupção.
3. Mesma configuração do passo 2, mas com interrupção, o que aumenta a eficiência do sistema.
1. O modulo de E/S tem acesso direto à memória via DMA, podendo transferir blocos de dados entre a E/S e a Memória sem envolver a CPU (apenas no início e no final).
2. O modulo de E/S é melhorado até se tornar um processador especializado em instruções de E/S.
3. O modulo de E/S tem memória local, sendo um computador, permitindo que um grande número de dispositivo de alto desempenho sejam controlados com mínimo de envolvimento da CPU.
+
Arquitetura de Arquitetura de Canais de E/SCanais de E/S
+
E/S paralela e E/S paralela e serialserial
+ ThunderboltThunderbolt
Fornece até 10 Gbps de vazão em cada direção e até 10 Watts de energia para periféricos conectados power to connected peripherals
Tecnologia dae conexão com periféricos mais rápida e recente a se tornar disponível para propósito geral
Desenvolvida pela Intel com colaboração da Apple
Combina dados, video, audio e energia em um conector de alto desempenho para periféricos tais como HD, dispositivo de captura de vídeo e interface de redes
Thunderbolt é uma propriedade padrão para o laptop MacBook Pro da Apple e para desktops iMac
+
Configuração de computador com ThunderboltConfiguração de computador com Thunderbolt
+
Protocolos em Protocolos em camada do camada do ThunderboltThunderbolt
+ InfiniBand
Especificação E/S para o mercado de servidores de alto desempenho
Descreve uma arquitetura e especificações de fluxo de dados entre processadores e dispositivos inteligentes de E/S
Interface popular para arquitetura SAN storage area networking e outras configurações de grande armazenamento
Vários components são conectados a um núcleo central de enlaces e comutação
Pode conectar até 64,000 servidores, sistemas de armazenamento e dispositivos de rede
InfiniBand – Núcleo de comutaçãoInfiniBand – Núcleo de comutação
+Dados de configuração e Dados de configuração e
desempenho do Infinibanddesempenho do Infiniband
Pilha do protocol de comunicação do Pilha do protocol de comunicação do InfiniBandInfiniBand
+zEC 12zEC 12 Introduzido em 2010
Topo de linha IBM – cerca de US$100.000,00
Baseado no chip zEC12 Processador com 6 núcleos de 5.5 GHz Máximo de 101 chips de processadores (606 cores)
Sistema de E/S dedicado gerenciado as operações de E/S
Dos 96 núcleos, até 4 podem ser dedicados para E/S, criando um subsistema de 4 canais (CSS)
Organização do Sistema de E/SOrganização do Sistema de E/S
IBM zEC 12Estrutura do Sistema de IBM zEC 12Estrutura do Sistema de E/SE/S
Figure 7.21 IBM EC12 I/O System Structure
Book 1 Book 2 Book 3 Book 4
PCIe I/O Drawer I/O Cage & I/O Drawer
PCIeswitch
PCIeswitch
PCIeswitch
PCIeswitch
InfiniBandmultiplexor
InfiniB andmultiplexor
Channels Ports
1-GbpsEthernet controller
Fibre Channelcontroller
ESCON10-GbpsEthernet controller
Memory
PU PU PU
SC1, SCO
PCIe (8X)
PU PU PU
Memory
PU PU PU
SC1, SCO
PCIe (8X)
PU PU PU
Memory
PU PU PU
SC1, SCO
HCA2 (8X)
PU PU PU
Memory
PU PU PU
SC1, SCO
HCA2 (8X)
PU PU PU
Padrões ATAPadrões ATA
Cabos e conectores PATACabos e conectores PATA
Cabos e conectores SATACabos e conectores SATA
Características SATACaracterísticas SATA
Sata Express – 8 Gbps, 2 bits, 16000 MHz, 1969 MBps, Sata 3.2
Compatível com SATA 3.0 (conector PC)
Placa mãe com adaptadores PATA Placa mãe com adaptadores PATA e SATAe SATA
Placa mãe Placa mãe típica PCIetípica PCIe