Organizao de Computadores EntradaSada Diversidade de Dispositivos Diversidade

  • Slides: 45
Download presentation
Organização de Computadores Entrada/Saída

Organização de Computadores Entrada/Saída

Diversidade de Dispositivos

Diversidade de Dispositivos

Diversidade de Dispositivos

Diversidade de Dispositivos

Tipos básicos de dispositivos n Caracter: transferem bytes um a um. Ex. terminal n

Tipos básicos de dispositivos n Caracter: transferem bytes um a um. Ex. terminal n Bloco: transferem bytes em bloco. Ex. disco n Sequencial. Tem acesso em ordem fixa. Ex. modem n Acesso randômico: Ordem pode ser alterada. Ex CD-ROM n Síncrono: Tem tempo de resposta previsível. Ex. Fita n Assíncrono: Tempo de resposta imprevisível. Ex. teclado n Compartilhável: pode ser usado por vários processos ao mesmo tempo. Ex. teclado n Dedicado. Só pode ser usado por um processo por vez. Ex. Impressora n Read-write, read only e write-only: disco, cdrom, video

Dispositivos de E/S n Medidas de Performance – Throughput ou Largura de Banda (I/O

Dispositivos de E/S n Medidas de Performance – Throughput ou Largura de Banda (I/O bandwidth) • Número médio de tarefas computadas pelo servidor na unidade de tempo – Tempo de resposta ou tempo de latência (latency) • Tempo gasto desde que uma tarefa é colocada na fila de execução até sua execução pelo servidor – Seek Time • Tempo para localizar os dados no dispositivo – Tempo de Acesso • Tempo para localizar e disponibilizar os dados

Arquitetura de Entrada/Saída n Portas (ports) • Comunicação ponto a ponto. • Ex: Porta

Arquitetura de Entrada/Saída n Portas (ports) • Comunicação ponto a ponto. • Ex: Porta serial e paralela n Barramentos (bus) • Conjunto de condutores elétricos e com um protocolo rígido que define como mensagens trafegam sobre esses fios. • Permite a comunicação entre vários componentes • Protocolo é um conjunto de regras que definem como as comunicações no barramento serão efetuadas

Arquitetura de Entrada/Saída n Controladores • Hw que controla uma porta, barramento ou dispositivo(s)

Arquitetura de Entrada/Saída n Controladores • Hw que controla uma porta, barramento ou dispositivo(s) Ex: Controlador da porta serial Controlador SCSI (Small Computer-Systems Interface) Controlador de disco n Device Drivers • Partes do S. O. que fornecem uma interface de acesso uniforme para cada dispositivo. • Traduz as chamadas de alto nível (usuário) para o dispositivo específico • Conversão de dados • Detecção e correção de erros

PCI Bus Peripheral Component Interconnect CPU Cache Bridge/ Cont. de memória slots Bridge para

PCI Bus Peripheral Component Interconnect CPU Cache Bridge/ Cont. de memória slots Bridge para o ISA ou EISA bus ou ISA bus ISA ou EISA slots DRAM AGP Controlador de Vídeo PCI bus Controlador EIDE Controlador SCSI LAN

Introdução aos Barramentos Comparação de barramentos ISA EISA VLBUS PCI 1984 1987 1992 1993

Introdução aos Barramentos Comparação de barramentos ISA EISA VLBUS PCI 1984 1987 1992 1993 Vários 2 4 4 4 a 8 Frequência (MHz) 8, 3 CPU 33 a 66 Taxa (MB/s) 7, 9 31, 8 Ano Dispositivos Largura (bytes) Obs. 127, 2 a 508, 6 Restrito ao 80486 Dados e end. multiplexados

Introdução aos Barramentos n Dispositivos • Ativos ou Mestres - dispositivos que controlam o

Introdução aos Barramentos n Dispositivos • Ativos ou Mestres - dispositivos que controlam o protocolo de acesso ao barramento para leitura ou escrita de dados • Passivos ou Escravos - dispositivos que simplesmente obedecem a requisição do mestre. Exemplo: • CPU ordena que o controlador de disco leia ou escreva um bloco de dados. A CPU é o mestre e o controlador de disco é o escravo.

Comunicação S. O. (CPU) - Controlador tem registradores de dados, comandos, status. n CPU

Comunicação S. O. (CPU) - Controlador tem registradores de dados, comandos, status. n CPU pode acessar info desses registradores n Controlador processa comando n Resultados (se houver) são gravados na memória n

Comunicação S. O. (CPU) – Controlador Diagrama de um controlador (1) Interface para barramento

Comunicação S. O. (CPU) – Controlador Diagrama de um controlador (1) Interface para barramento do sistema Interface para dispositivo externo Registrador de dados Linhas de Dados Linhas de Endereço Linhas de Controle Status/Registrador de Controle Lógica de E/S Interface lógica com dispositivo exerno Dados Status Controle Interface lógica com dispositivo externo Dados Status Controle

Comunicação S. O. (CPU) – Controlador Diagrama de um controlador (2) Determina a função

Comunicação S. O. (CPU) – Controlador Diagrama de um controlador (2) Determina a função do dispositivo - Input ou Read - Output ou Write Info. para o controlador de E/S Indica estado do dispositivo - Ready - Not Ready Status para controlador de E/S Lógica de controle Conjunto de bits a serem enviados para ou recebidos do módulo de I/O Dados para e do controlador de E/S - Converte dados elétricos para outras formas de energia durante Output - Converte outras formas de energia em eletric. durante Input Buffer Transdutor Dados para e do ambiente

Comunicação S. O. (CPU) - Controlador Como a CPU acessa a informação? n I/O

Comunicação S. O. (CPU) - Controlador Como a CPU acessa a informação? n I/O isolado • Através de instruções especiais de I/O • Especificam a leitura/escrita de dados numa porta de I/O. Ex: IN AL, 60 H n I/O mapeado em memória • Através de instruções de leitura/escrita na memória Ex: MOV AL, (60 H)

Comunicação S. O. (CPU) - Controlador Isolado Mapeado em Mem. Híbrido

Comunicação S. O. (CPU) - Controlador Isolado Mapeado em Mem. Híbrido

Comunicação S. O. (CPU) – Controlador I/O Isolado Linhas de endereços Linhas de dados

Comunicação S. O. (CPU) – Controlador I/O Isolado Linhas de endereços Linhas de dados Linhas de Controle Mreq / I/O Controlador de E/S Memória Barramento Isolado tem sinal especial (Mreq / I/O) que identifica o tipo de endereço presente no barramento • Permite o uso de instruções especiais para dispositivos de I/O • Para o mesmo núm. de bits de endereço => dobro de I/O + Memória • Requer um sinal extra e, consequentemente, hardware extra na CPU

Comunicação S. O. (CPU) - Controlador n IBM-PC usa ambos (híbrido): • I/O mapeado

Comunicação S. O. (CPU) - Controlador n IBM-PC usa ambos (híbrido): • I/O mapeado em memória: memória de vídeo • I/O isolado para dispositivos em geral Endereço de I/O 000 -0 FF 020 -021 040 -043 060 -063 200 -20 F 2 F 8 -2 FF 320 -32 F 378 -37 F 380 -3 BF 3 D 0 -3 DF 3 F 0 -3 F 7 3 F 8 -3 FF Dispositivo Vetor de Interrupção Controlador de DMA Controlador de interrupção Timer 8 Teclado 9 Controlador de jogos Porta serial 2 (COM 2) 11 Controlador de disco rígido 13 Porta parelela 15 Controlador de vídeo P&B Controlador de vídeo colorido Controlador de disquete 14 Porta serial 1 (COM 1) 12

Comunicação S. O. (CPU) - Controlador Como a CPU sabe que o dispositivo já

Comunicação S. O. (CPU) - Controlador Como a CPU sabe que o dispositivo já executou o comando? n I/O Programado: • CPU lê constantemente os status do controlador e verifica se já acabou (Polling ou Busy-waiting) • Espera até o fim da operação n I/O por interrupção • CPU requisita um comando do dispositivo de I/O • CPU continua a executar outras operações • CPU é interrompida pelo módulo de I/O e ocorre transferência de dados. n I/O por DMA - Acesso Direto à Memória • Quando necessário, o controlador de I/O solicita ao controlador de DMA a transferência de dados de/para a memória • Nessa fase de transferência não há envolvimento da CPU. • Ao fim da transferência, a CPU é interrompida e informada da transação

Comunicação S. O. (CPU) – Controlador Exemplo de comunicação com dispositivo Pois não Sr.

Comunicação S. O. (CPU) – Controlador Exemplo de comunicação com dispositivo Pois não Sr. um momento Programa sem interrupção Secretária, por favor escreva o contrato agora para que eu possa assiná-lo; estou esperando. Contrato pronto, estou enviando Ok, Obrigado Secretária, por favor escreva o contrato agora, quando estiver pronto me avise. Pois não Sr. Programa com interrupção Contrato pronto, posso enviá-lo? Preciso envinhar os contratos que estáo sobre a mesa do chefe para o correio Correio Boy por favor apanhe os contratos que estão na pasta sobre a mesa do chefe para mim. Por favor não incomode o chefe. Obrigada Um momento, estou terminado de escrever um ofício. . agora pode enviar o contrato, obrigado. Após receber o contrato, o chefe continua fazendo as outras atividades. . . Acesso Direto à Memória CPU E/S BUS

Comunicação S. O. (CPU) – Controlador Técnicas de Acesso Exemplo: Imprimindo uma string

Comunicação S. O. (CPU) – Controlador Técnicas de Acesso Exemplo: Imprimindo uma string

Comunicação S. O. (CPU) – Controlador I/O Programado // p é o buffer do

Comunicação S. O. (CPU) – Controlador I/O Programado // p é o buffer do S. O. // Enquanto houver caracteres… // Espere a impressora ficar pronta // Envie um caracter // Retorne ao processo do usuário

Comunicação S. O. (CPU) – Controlador I/O por Interrupção void SO_print. String(…) { void

Comunicação S. O. (CPU) – Controlador I/O por Interrupção void SO_print. String(…) { void SO_ISRprinter() { } } Código do S. O. executado quando o usuário requer a impressão Rotina de serviço de interrupção

Comunicação S. O. (CPU) – Controlador I/O por DMA void SO_print. String(…) { void

Comunicação S. O. (CPU) – Controlador I/O por DMA void SO_print. String(…) { void SO_ISRprinter() { } } Código do S. O. executado quando o usuário requer a impressão Rotina de serviço de interrupção

Comunicação S. O. (CPU) – Controlador Conflito entre CPU e Controlador de DMA Cycle

Comunicação S. O. (CPU) – Controlador Conflito entre CPU e Controlador de DMA Cycle Stealing Ciclo de Instrução Ciclo do Ciclo do processador processador Apanha Decodifica instrução Instrução (Fetch Instruction) Apanha Operando (Fetch Operand) Executa Instrução Pontos de acesso de conflito CPU - DMA Armazena resultado Processa Interrupção Acesso de Interrupção

Comunicação S. O. (CPU) – Controlador Transferência por DMA

Comunicação S. O. (CPU) – Controlador Transferência por DMA

Comunicação S. O. (CPU) – Controlador Diferentes configurações de DMA CPU Módulo I/O DMA

Comunicação S. O. (CPU) – Controlador Diferentes configurações de DMA CPU Módulo I/O DMA I/O Memória 1. Barramento simples, DMA simples CPU Módulo DMA I/O Bus Mastering Módulo DMA I/O Memória I/O 2. Barramento simples, DMA-I/O Integrados CPU Módulo DMA I/O Memória I/O 3. Barramento de I/O

Controlador de Interrupção

Controlador de Interrupção

Controlador de Interrupção O 8259 A do IBM-PC INTA CPU RD WR CS DADOS

Controlador de Interrupção O 8259 A do IBM-PC INTA CPU RD WR CS DADOS n Sinais de controle: – – – Controlador de Interrupções IRQ 0 IRQ 1 IRQ 2 IRQ 3 IRQ 4 IRQ 5 IRQ 6 IRQ 7. . IRQx - Interrupt request x INT (Interrupt) - Houve interrupção INTA (Int. Acknowledge) - Interrupção recebida RD (Read) - Leitura WR (Write) - Escrita CS (Chip select) - Seleção do chip do controlador

Controlador de Interrupção O 8259 A do IBM-PC n Mecanismo de Interrupção – Dispositivo

Controlador de Interrupção O 8259 A do IBM-PC n Mecanismo de Interrupção – Dispositivo I/O ativa IRQx – 8259 A ativa INT para a CPU – CPU ativa INTA pedindo identificação do dispositivo que gerou a interrupção – 8259 A envia dado (vetor de interrupção identificando o dispositivo. Se houver mais de um, 8259 A realiza arbitragem. – CPU usa o vetor para executar a rotina apropriada a aquele dispositivo. n O sistema operacional deve estabelecer níveis de prioridade para os dispositivos.

Níveis de software de I/O

Níveis de software de I/O

Device Drivers n “Escondem” do subsistema de I/O (do S. O. ) as diferenças

Device Drivers n “Escondem” do subsistema de I/O (do S. O. ) as diferenças entre os diversos controladores, fornecendo uma interface de acesso para todos. n Facilitam o desenvolvimento do S. O. n Permitem a inclusão de novos dispositivos Detecção e correção de erros n

Device Drivers

Device Drivers

I/O Software Independente do Dispositivo Interface uniforme para device drivers Bufferização de dados Info

I/O Software Independente do Dispositivo Interface uniforme para device drivers Bufferização de dados Info sobre erros Alocação e liberação de dispositivos Tamanho do bloco de dados

I/O Software Independente do Dispositivo Interface uniforme para os device drivers (a) (b) Sem

I/O Software Independente do Dispositivo Interface uniforme para os device drivers (a) (b) Sem interface padrão Com interface padrão

I/O Software Independente do Dispositivo Bufferização (a) Entrada não bufferizada (b) Bufferização do usuário

I/O Software Independente do Dispositivo Bufferização (a) Entrada não bufferizada (b) Bufferização do usuário (c) Bufferização no kernel (d) Dupla bufferização no kernel

I/O Software Independente do Dispositivo Alocação e liberação de dispositivos n Spooling e reserva

I/O Software Independente do Dispositivo Alocação e liberação de dispositivos n Spooling e reserva de dispositivo • Um spool é um buffer que guarda as saídas a serem enviadas a um dispositivo (ex. Impressora) que não pode aceitar dados de misturados de vários processos. • Geralmente é controlado por um daemon ou pelo kernel

Exemplo de Chamada de I/O (1) Níveis do sistema de I/O e suas funções

Exemplo de Chamada de I/O (1) Níveis do sistema de I/O e suas funções principais

Exemplo de Chamada de I/O (2)

Exemplo de Chamada de I/O (2)

Relógio do Sistema - Hardware Um temporizador é um gerador de pulsos (interupções) em

Relógio do Sistema - Hardware Um temporizador é um gerador de pulsos (interupções) em intervalos regulares de tempo (programável)

Relógio do Sistema - Software Várias maneiras de informar o tempo

Relógio do Sistema - Software Várias maneiras de informar o tempo

Relógio do Sistema - Software Simulando vários temporizadores

Relógio do Sistema - Software Simulando vários temporizadores

Terminais Orientados a Caracter Conexão via RS-232 n n Comunicação serial (bit a bit)

Terminais Orientados a Caracter Conexão via RS-232 n n Comunicação serial (bit a bit) Independência entre computador e terminal

Terminais com memória mapeada Parallel port Driver escreve direto na memória de vídeo

Terminais com memória mapeada Parallel port Driver escreve direto na memória de vídeo

Terminais com memória mapeada Exemplo de Sistema P&B Modo Texto a) b) Caracteres na

Terminais com memória mapeada Exemplo de Sistema P&B Modo Texto a) b) Caracteres na RAM de vídeo (X são atributos) Tela correspondente

Exemplo de Entrada: Teclado n No IBM-PC, o teclado envia códigos EBCDIC • Device

Exemplo de Entrada: Teclado n No IBM-PC, o teclado envia códigos EBCDIC • Device driver converte para caracteres em código ASCII