1/5 Sistemas Computacionais -Notas de Aula 29/5/2017 V – O projeto de sistemas de entrada e saída Introdução Os sistemas de entrada e saída permitem a comunicação da CPU com grande variedade de dispositivos. Tratam uma grande variedade de formatos de dados, e compatibilizam velocidades de operação diferentes. Tem a função de transferir dados entre a CPU e dispositivos periféricos. Os periféricos são componentes externos ao sistema CPU+Memória Principal. Os periféricos são dispositivos transdutores de energia, isto é, convertem uma forma de energia em outra forma. Exemplo: Um microfone converte sons em sinais elétricos. Um alto-falante converte sinais elétricos em sinais sonoros. Sistemas de E/S controlam diferentes tipos de dispositivos (teclado, mouse, impressora,...), que operam com diferentes formas de dados (sons, imagens, etc.) e que operam com velocidades diferentes. A tabela 1 apresenta a taxa de transmissão (velocidades de operação) de alguns dispositivos. Dispositivo Teclado Mouse Impressora Matricial MODEM Disquete Impressora laser Scanner CD-ROM LAN Vídeo gráfic Disco Rígido Modo de operação PIO modo 0 PIO modo 1 PIO modo 2 PIO modo 3 PIO modo 4 UDMA 33 UDMA 66 Taxa de Transmissão (Kbps) 0,01 0,02 1 1-8 100 200 400 1000 500 – 6000 60000 Tabela 1Comparação das velocidades de transmissão de dados de dispositivos de E/S. Taxa de transferência (MB/s) 3,3 5,2 8,3 11,1 16,6 33,3 66,6 Diferentes modos de funcionamento, velocidades e formatos de dados necessitam de interfaces entre a CPU e periféricos. Uma interface ajusta a operação da CPU (operando com freqüência de clock em torno de GHz) aos diferentes dispositivos de E/S (de baixas velocidades quando comparadas à CPU). Sistema básico de E/S – Visão Geral das interfaces de Entrada e Saída. Uma interface de entrada e saída ajusta as características operacionais da CPU+Memória principal para se comunicar com dispositivos periféricos. A figura 1 apresenta o modelo em estudo. CPU + MEMÓRIA PRINCIPAL INTERFACE PERIFÉRICO Barramentos Figura V.1-Comunicação do conjunto CPU + MP com o sistema de E/S (interface + periférico). Os sinais do barramento conduzem dados, controle, status, sinais de sincronismo, etc. 2/5 Sistemas Computacionais -Notas de Aula 29/5/2017 A CPU interpreta a interface como um dispositivo acessado por um endereço individualizado, denominado de porta (port) de entrada e saída. Na arquitetura Intel, uma porta é um endereço de 16 bits que pode ser referenciado para transmitir/receber dados (8bits de cada vez). Uma porta pode receber ou enviar dado diretamente de/para os registradores da CPU. Características das portas operando com as interfaces de entrada e saída. As portas são endereços fixos para o sistema de E/S; Recebe/envia dados de 8 bits Recebe informações de status Envia sinais de controle A comunicação de uma interface com a CPU utiliza mais de uma porta (em média 4 portas). Exemplo. A conexão da impressora paralela (Line PrinTer – LPT) A porta paralela é acessada através de um conector de 25 pinos localizado na parte posterior do gabinete. É a conexão para a impressora paralela ou outro dispositivo compatível. A interface para conexão da impressora usa três portas para operação da impressora: 0378h, 0379h e 037Ah (Em hexadecimal - H). O “port” 0378H é conhecido como endereço base. Neste endereço é enviado o código binário (ASCII) para ser impresso. Os “ports” 0379H e 037AH são usados para enviar sinais de controle e receber sinais de status do dispositivo de impressão. O modo de operação e as conexões elétricas do conector de 25 pinos são padronizados. É chamado de SPP (Standard Paralel Port): Porta Paralela Padrão. A figura 5 mostra o conector DB25 para a saída LPT (LINE PRINTER – impressora de linha) conforme o padrão SPP. (1)Strobe D0 <(25) O D1 D3 D3 D4 D5 GROUND O O O D6 D7 Busy Ack OE Prt on line (13) > O O O O Init Sel/Des.Prt Prt Prt Error A. feed (14) Figura V.2 – Conector DB25 e sinais correspondentes nos 25 pinos numerados em cima de 1 até 13, da esquerda para a direita. Em baixo, são numerados de 14 a 25, da direita para a esquerda. Tabela 1- Pinagem da saída paralela. Pino 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18-25 Função Strobe Dado 0 Dado1 Dado2 Dado3 Dado4 Dado5 Dado6 Dado7 Ack Busy OE (Output Enabel) Printer on line Auto feed Printer Error Init printer Sel/desel. Printer Ground Direção Saida Saída TTL Saída TTL Saída TTL Saída TTL Saída TTL Saída TTL Saída TTL Saída TTL Entrada Entrada Entrada Entrada Saída Entrada Saída Saída Saída Tipo Controle Dados Dados Dados Dados Dados Dados Dados Dados Status Status Status Status Controle Status Controle Controle Port 379 Port 378 Port 378 Port 378 Port 378 Port 378 Port 378 Port 378 Port 378 Port 37A Port 37A Port 37A Port 37A Port 379 Port 37A Port 379 Port 379 3/5 Sistemas Computacionais -Notas de Aula 29/5/2017 Aplicação. Comunicação com o port 0378H A comunicação pelo debug (ou pelo assembly) para enviar dados pelo endereço 0378H. O exemplo mostra o envio do binário 01010101b). mov dl,01010101b ; dl contém o binário a ser enviado mov dx, 0378H ;dx contém o endereço de port out dx,al ;saída de dados Resumo: Os “ports” formam a base tecnológica para acesso físico e controle lógico dos periféricos. Os dados são transferidos de um registrador de/para os ports. Dados enviados/recebidos para/de ports, permitem o controle dos periféricos. As CPU´s Intel possuem 64K ports (dois elevados a 16). V.2 - Limites (gargalos) de comunicação com os dispositivos periféricos. A comunicação dependente da taxa de transferência (vazão; throughput) dos dispositivos. A vazão é definida pelo produto das grandezas freqüência do clock (em Hertz) e tamanho do barramento (em bits). A freqüência do clock é expressa em Hertz (Hz), KHz, MHz,.. A capacidade do barramento (tamanho do barramento; largura do barramento) é expressa em Bytes ou em bits. O produto freqüência do clock pelo tamanho do barramento é a taxa de transferência do dispositivo em bps, Kbps, Mbps,... Bps, KBps, MBps,.. Função das interfaces: Uma função da interface é a de ajustar a alta taxa de transferência da CPU com as menores taxas de transferência dos demais dispositivos. Buffer (armazenamento temporário de dados) Controlar/sincronizar fluxo de dados Realizar a comunicação/interpretação dos sinais de controle para acesso físico aos periféricos. Arquitetura básica para uma interface CPU Registradores Periférico1 Controlador de ports Port0 Port 1. .... Periférico 2... Linha de barramento: Dados/Endereços/Controle Figura 2 – Arquitetura de uma interface que se comunica com a CPU através de ports. Uma interface pode se comunicar com vários periféricos. Sistema lógico de E/S – drivers de dispositivos. Após o projeto e desenvolvimento do hardware de E/S é necessário disponibilizar programas para operacionalizar o acesso e uso de periféricos. Esses programas são chamados de drivers (rotinas encarregadas da comunicação do processador com a interface) de dispositivos. Esses programas são feitos pelos projetistas do equipamento e tem funções tais como: 4/5 Sistemas Computacionais -Notas de Aula 29/5/2017 Permitir comunicação da CPU com dispositivos externos; Ajustar as diferentes velocidades dos dispositivos; Ajusta o formato dos dados. Metodologias de Comunicação com dispositivos periféricos. E/S programada-O programa gerencia a comunicação e transferência de dados entre dispositivo/CPU. O exemplo a seguir apresenta processo de escrita de dados em um dispositivo por programação. E/S por interrupção. - Um sinal de controle que se comunica diretamente com a CPU, informa quando o dispositivo está pronto para iniciar a transmissão de dados. A CPU fica liberada para processar outras ações. DMA (Direct Memory Acess) - Um dispositivo (Controlador de DMA) é programado através de ports, para transferir dados entre dispositivos sem controle da CPU. Hardware básico para sistema com módulos de entrada e saída. Status: Ready/Busy,... CONTROLE Liga/desliga motor;posiciona leitor,... Dados PORT P O R T PORTS Buffer Lógica de controle Transdutor Dados trocados com o ambiente: Placa de som; teclado; ... Figura V.4 – Modelo Geral para interfaceamento com dispositivos externos O conjunto interface + periférico permite a transferência de dados entre a CPU e periféricos ou entre a MP e periféricos (via DMA). A interface de hardware pode ser denominada de Controlador. Controlador: Componente do sistema que realiza as operações de controle de dispositivo na transferência de dados com dispositivo. Um controlador de disco é complexo. Envolve operações para ligar a unidade, posicionar cabeça gravadora, ler/gravar dados através de processos magnéticos, etc. Um controlador de LPT é relativamente simples. Os termos controlador ou adaptador ou interface de entrada e saída têm sido usado sem distinção nas interfaces de entrada e saída. COMPLEMENTOS. Saída paralela – Transmissão byte a byte através da porta paralela de acordo com os seguintes padrões: Dispositivo padrão SPP (Standard Paralell Port) unidirecional com taxa de transferência de 150 Kbps; EPP (Enhanced Paralell Port) – bi-direcional até 2MBps ECP (Extended Capability Port) – A taxa de transferência depende de acordo com protocolo estabelecido entre dispositivos. 5/5 Sistemas Computacionais -Notas de Aula 29/5/2017 Saída USB – Universal Serial Bus. Interface para dispositivos realmente P&P. Permite a conexão de até 127 dispositivos. PCMCIA – Usada em notebooks e handhelds. Tem a vantagem de menor tamanho de dispositivos PCMCIA (Modem, som, redes, SRAM, Flash Hds). Apresenta quatro tipos de conexão: Tipo 1 – usado para cartões de memória Tipo 2 – para qualquer periféricos Tipo 3 – para HDs Tipo 4 – Patenteado pela Toshiba. FIREWIRE – (IEEE 1394) – Conexão para 400 MB/s. É um padrão aberto desenvolvido pela SONY. Permite conexão a quente (sem desligar o computador). Configuração normal para a tabela de interrupção de computadores pessoais IR Aplicação Q 8 RTC (Real Time Clock – Relógio do Sistema) 0 Reservado para a placa mãe 9 Placa de Vídeo . Não usada em alguns sistemas. 1 Teclado 10 Controlador SCSI (pode ser desabilitada se não houver dispositivo SCSI) 2 Reservado para a placa mãe 11 Disponível 3 Serial 1 (COM2 e COM4) 12 Conecxão USB 4 Serial 2 (COM1 e COM3) 13 Co-processador aritmético 5 Placa de som 14 Controlador IDE primário 6 Disquetes 15 Controlador IDE secundário 7 LTP1 Nota tecnológica – A configuração normal pode ser alterada pelo SO. Se houver necessidade de IRQ (por algum novo dispositivo instalado elo usuário) é necessário racionalizar o uso de IRQs desabilitando aqueles não usadas, atuando no SETUP. Alguns dispositivos também podem compartilhar IRQs. Canais DMA (Direct Acess Memory). 0 1 2 3 4 Disponível Placa de Disquete Porta paralela padrão Placa mãe Som ECP 5 Disponível 6 Disponível 7 Disponível