460 likes | 628 Views
Arquitetura de computadores. Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari. Entrada e saída. 17/04/2013. ENTRADA E SAÍDA. periféricos. Periféricos.
E N D
Arquitetura de computadores Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari
Entrada e saída 17/04/2013
ENTRADA E SAÍDA Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 periféricos
Periféricos • Periféricos são componentes de hardware externos que possuem a função de interação com o computador; • Servem de interface entre o homem e o computador; • Podem ser interface entre maquina e máquina; • Existem periféricos de: • Entrada: • Teclado, mouse, scanner, webcam, microfone; • Saída: • Impressora, monitor, caixas de som; • Entrada e saída: • HD, Pen Drive, CD/DVD, Placa de rede. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Conexões de periféricos • Um dispositivo externo se conecta a um módulo de entrada e saída; • Um dispositivo externo tem as seguintes conexões de interface com o módulo de I/O: • Linha de dados; • Linha de informações de controle; • Linha de informações de estado; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Conexões de periféricos Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Conexões de periféricos • Sinais de controle: • Determinam as funções a serem exercidas pelos dispositivos de I/O: • Enviar dados para o módulo; • Receber dados para o módulo; • Sinais de estado: • Indicam o estado do dispositivo ligado ao módulo de I/O: • Pronto (READY) não pronto (NOT READY); • Sinais de dados: • Passam os dados do ou para o módulo de I/O. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Conexões de periféricos • A lógica de controle controla o dispositivo periférico de acordo com os sinais de controle emitidos pelo módulo de I/O; • A área de armazenamento é um Buffer temporário que guarda os dados para que possam ser transmitidos • Normalmente de tamanho de 8 a 16 bits; • O transdutor converte grandezas analógicas em grandezas digitais: • Polos magnéticos em corrente elétrica; • Padrão elétrico analógico e padrão elétrico digital; • Captação sonora em sinal digital; • Captação de vídeo em sinal digital; • Sinal digital em ondas de áudio ou vídeo, etc. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Funcionamento Módulo de I/O 1 0 0 1 SEND READY NOT READY Periférico Lógica de controle Buffer 1 0 0 1 Transdutor Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 0 1 0 1
Classificação de dispositivos periféricos • Dispositivos periféricos podem ser classificados em três categorias: • Dispositivos voltados para a comunicação com o usuário: • Teclado, mouse, impressoras, monitores, etc.; • Dispositivos voltados para a comunicação com a máquina: • Discos magnéticos, Pen Drives, Fitas Magnéticas, etc.; • Dispositivos voltados para a comunicação com dispositivos remotos: • Modens e Rede. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
ENTRADA E SAÍDA Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Módulo de entrada e saída
Módulo de entrada e saída • Depois do processador e da memória, o módulo de I/O é o terceiro componente mais importante do computador; • Esse módulo não é apenas uma ligação entre os periféricos e o processador/memória, possuindo uma lógica dedicada a desempenhar a função de comunicação entre dispositivos periféricos e barramento; • Mas por que os periféricos não são ligados diretamente ao barramento? • Existem muitos tipos diferentes de periféricos; • Possuem taxa de transferências distintas; • Utilizam formato de dados e tamanhos de palavras diferentes. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Funções do módulo de I/O • O módulo de I/O deve desempenhar as funções principais: • Fornecer interface entre processador / memória e dispositivos periféricos; • Fornecer interface com um ou mais dispositivos periféricos. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Funções do módulo de I/O • Outras funções importantes do módulo de I/O podem ser: • Controle de temporização; • Comunicação com o processador; • Comunicação com os dispositivos; • Área de armazenamento temporário de dados; • Detecção de erros. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Controle e temporização • O processador se comunica com os dispositivos externos de acordo com as necessidades dos programas, ou quando um periférico precisa enviar dados para o processador; • Recursos internos como memória principal e barramento local são compartilhados também para o módulo de I/O; • O módulo de I/O deve temporizar e controlar as operações que envolvem entrada e saída para utilização do barramento local; • Uma operação que envolve este módulo deve possuir as seguintes etapas: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Controle e temporização • O processador interroga o Módulo de I/O para saber se o dispositivo está conectado a ele; • O módulo de I/O retorna o estado do dispositivo; • Se o dispositivo está pronto, o processador requisita um dado para o módulo de I/O; • O módulo de I/O negocia com o dispositivo que enviará uma unidade de dados; • Assim que obter os dados, o módulo de I/O envia para o processador. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Comunicação com o processador • O módulo de I/O comunica-se tanto com o processador quanto com os dispositivos externos; • A comunicação com os dispositivos externos foi abordada anteriormente; • A comunicação com o processador envolve as seguintes tópicos básicas: • Decodificação do comando: • Decodificação dos sinais enviados pelo barramento de controle; • Dados: • Transferência de dados envolvendo o barramento de dados; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Comunicação com o processador • Continuação... • Informação de estado: • Indicam a situação do módulo de I/O podendo ser, entre outras BUSY, READY ou em condição de erro; • Reconhecimento de endereços: • Assim como a memória, cada dispositivo de entrada e saída possui um endereço que deve ser indicado pelo processador. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Armazenamento de dados • O módulo de I/O comunica-se com o barramento local e com os dispositivos; • Esses componentes possuem diferentes velocidades de operação; • Deve haver uma área de armazenamento no módulo de I/O para que o processador não fique muito tempo ocioso em uma operação de I/O; • Essa área de armazenamento compreende um Buffer de dados; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Txs. de transferências de I/O Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Detecção de erros • O módulo de I/O deve ser capaz de reconhecer e tratar erros dos dispositivos; • Detecção de erros podem ser: • Erros de impressão por falta de papel; • Erros de funcionamento mecânico ou elétrico de drives; • Alteração do padrão de bits transmitidos por um dispositivo externo. • Utiliza-se alguma técnica de correção de erros • Geralmente usa-se bit de paridade para detectar erros; • Além de muito simples pode ser método falho. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Estrutura do módulo de I/O • O módulo de I/O pode variar bastante em complexidade e número de dispositivos externos que ele controlam; • Discutiremos uma estrutura genérica que pode ser o mais abrangente possível; • O módulo de I/O é conectado ao barramento local por um conjunto típicos de linhas de barramento: • Barramento de dados, de endereço e de controle; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Estrutura do módulo de I/O • O módulo de I/O deve fornecer ao processador uma visão simplificada de uma ampla gama de dispositivos; • Deve esconder do processador detalhes dos dispositivos externos como: • Temporização, formato de dados e operação mecânicas dos dispositivos externos; • Isso permite ao processador operar com comandos simples com o módulo de I/O que fica encarregado de gerenciar os dispositivos; • Nos computadores pessoais, o módulo de I/O é também denominado processador de I/O ou controlador de I/O: • Controlador de Disco, controlador USB, controlador RAID. • Esses controladores geralmente fazem parte do Chipset da placa mãe. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Operações de I/O • As operações de I/O podem ser realizadas através de três técnicas diferentes: • I/O programada: • Dados são enviados do módulo de I/O para o processador, sendo que o processador coordena a operação; • I/O dirigida por interrupção: • O processador envia um pedido de I/O, e volta a executar outros programas; • O módulo de I/O envia uma interrupção ao final da operação de I/O; • I/O por DMA: • O processador designa ao controlador DMA a operação de I/O que fica a cardo do módulo de I/O efetuar a leitura/gravação na memória. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
I/O programada • Nesta técnica, o módulo de I/O recebe um pedido de I/O, e após realizar a operação, disponibiliza os dados no Buffer de I/O; • Nenhum sinal é enviado ao processador; • O processador deve consultar o módulo de I/O periodicamente para verificar se o dado está disponível; • Isso consome tempo de processamento e degrada o desempenho do sistema; • Quatro tipos de comandos são utilizados: • Controle; • Teste; • Gravação e; • Leitura. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
I/O Programada Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Endereçamento de dispositivos de I/O • E/S mapeada na memória • Há um único espaço de endereçamento para posições de memória e dispositivos de I/O; • E/S independente • Espaço de endereçamento de I/O é independente do espaço de endereçamento da memória; • Acesso ao s dispositivos de I/O é feito através de instruções especiais (comandos); Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
I/O programada – Comandos • Controle: • Sinaliza ao periférico uma operação: • Avanço de fita, leitura de um setor, impressão de um caractere; • Teste: • Verifica várias condições de estado do dispositivo, como estado de funcionamento, se o dispositivo está ligado e disponível, bem como se a última operação não resultou em erro; • Leitura: • Faz com que o módulo de I/O efetue uma leitura no periférico; • Gravação: • Faz com que o módulo de I/O efetue uma gravação no periférico; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
I/O Dirigida por interrupção • O processador envia um comando de I/O para o módulo e continua a executar outras instruções; • O módulo de I/O interrompe o processador quando ele (módulo) estiver pronto para enviar ou receber dados; • O processador efetua a transferência de dados e depois retorna ao seu processamento original • É mais eficiente que I/O programada, pois elimina ciclos de espera desnecessários; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
I/O Dirigida por interrupção Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Processamento de interrupção • Os seguintes passos são disparados quando ocorre uma interrupção: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Aspecto de projeto • Duas questões devem ser consideradas na implementação de I/O dirigida por interrupção: • Como o processador determina qual módulo de I/O enviou a interrupção; • Quando há várias interrupções pendentes enviadas, qual processar primeiro; • Para resolver esses problemas, temos 4 técnicas para identificar os dispositivos: • Múltiplas linhas de interrupção; • Identificação por software; • Identificação por hardware (vetorada); • Arbitração do barramento (vetorada). Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Aspecto de projeto • Múltiplas linhas de interrupção: • Na prática, poucas linhas de CPU são usadas para solicitação de interrupções; • Vários módulos de I/O utilizarão as mesmas linhas; • É ineficiente. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Aspecto de projeto • Identificação por software: • Ao identificar uma interrupção, outras rotinas deverão ser disparadas para poder tratá-la; • Consome muito tempo de processamento; • Cada módulo de I/O deverá ser interrogado para determinar o originador da interrupção; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Aspecto de projeto • Identificação por hardware (Vetorada): • O sinal de reconhecimento de interrupção se propaga pelos módulos de I/O, até chegar àquele que originou a interrupção; • Esse módulo responde colocando uma palavra de dados, chamada vetor de interrupção, nas linhas de dados; • O vetor de interrupção contém o endereço do módulo de I/O, e serve para que o processador acione a rotina de tratamento de interrupção adequada ao dispositivo; • Isso evita a execução de rotinas genéricas para determinar o endereço dos dispositivos. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Aspecto de projeto • Identificação por hardware (Vetorada): Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Aspecto de projeto • Arbitração do barramento (vetorada): • Para enviar um sinal de interrupção, o módulo de I/O precisa inicialmente obter o controle do barramento; • Somente o módulo de I/O que gerou a interrupção pode comunicar-se com o processador, que já saberá qual módulo está pedindo a interrupção; • Quando o Processador detecta a interrupção, ele responde por meio da linha de reconhecimento de interrupção; • O módulo de I/O que causou a interrupção coloca seu vetor na linha de dados. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
DMA – Acesso direto a memória • É a técnica mais eficiente para operação do módulo de I/O com o barramento do sistema; • Envolve um módulo adicional no barramento do sistema; • Esse módulo, denominado controlador de DMA, imita o processador nas funções de I/O de dados; • Utiliza o barramento de dados para gravar dados diretamente dos dispositivos na memória, sem a interferência do processador; • Para utilizar o barramento do sistema, o controlador de DMA pode operar das seguintes maneiras: • Usando o barramento apenas quando o processador não o utiliza; • Forçando o processador a suspender temporariamente sua operação – técnica conhecida como roubo de ciclo. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
DMA – Acesso direto a memória Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Estrutura Interna de Um Módulo DMA Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Configurações de DMA • Algumas possibilidades de configuração para o módulo DMA: • Barramento único, DMA separado; • Barramento único, DMA e I/O integrados; • Barramento específico de I/O. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Configurações de DMA • Barramento único, DMA separado: • Existe um barramento único ao qual o controlador DMA está também ligado; • O controlador DMA atua como se fosse o processador substituto; • É menos eficiente pois consome ciclos de barramento local; • Porém é uma solução barata. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Configurações de DMA • Barramento único, DMA e I/O integrados: • Existe um barramento único ao qual os controladores DMA estão também ligados; • O controlador DMA atua como se fosse o processador substituto; • Porém cada controlador DMA possui seus módulos de I/O correspondentes interligados; • É mais eficiente que o anterior. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Configurações de DMA • Barramento específico de I/O: • Existe um barramento específico ao qual o controlador DMA está ligado; • O controlador DMA atua como se fosse o processador substituto; • É mais eficiente que os anteriores. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Canais e processadores de I/O • A evolução da forma como o processador trata as entradas e saídas foi evoluindo com os anos; • Uma sequencia dessa evolução pode ser resumida: • O processador controla diretamente dispositivos; • Módulos de I/O são adicionados; • Interrupções são utilizadas; • É introduzido o módulo de DMA; • O módulo de I/O evolui para um canal, e executa programas de I/O carregados da memória principal; • O canal evolui para um processador, possuindo sua própria memória local. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013