ENTRADA E SAÍDA DE DADOS



Documentos relacionados
Mecanismo de Interrupção

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Arquitetura e Organização de Computadores I

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Arquitetura de Computadores. Tipos de Instruções

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Estruturas do Sistema de Computação

Organização e Arquitetura de Computadores

Dispositivos de Entrada e Saída

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Sistemas Operacionais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Visão Geral de Sistemas Operacionais

ARQUITETURA DE COMPUTADORES

Organização Básica do Computador

28/9/2010. Unidade de Controle Funcionamento e Implementação

Organização de Computadores. (Aula 5) Entrada/Saída

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

BARRAMENTO DO SISTEMA

Entrada e Saída (Input/Output I/O) Organização de Computadores (Aula 5) Entrada/Saída. Diferentes Tipos de Dispositivos (1)

Estrutura de um Computador

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Organização de Computadores 1

LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

PCI - PERIPHERAL COMPONENT INTERCONNECT

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

Informática I. Aula 4. Aula 4-11/09/2006 1

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

3. Arquitetura Básica do Computador

5 Entrada e Saída de Dados:

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

Modelo Genérico de Módulo de E/S Grande variedade de periféricos

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

Tipos de sistemas operacionais

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Sistemas Operacionais

O processador é um dos elementos componentes do computador moderno, sendo responsável pelo gerenciamento de todo o computador.

Processos e Threads (partes I e II)

Fundamentos em Informática

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Introdução aos Sistemas

7 Processos. 7.1 Introdução

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Sistemas Operacionais

Arquitetura de Computadores Arquitetura de entrada e saída

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

ULA Sinais de Controle enviados pela UC

William Stallings Arquitetura e Organização de Computadores 8 a Edição

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES DISPOSITIVOS DE ENTRADA E SAÍDA. Prof. Dr. Daniel Caetano

Sistemas Operacionais Gerência de Dispositivos

Arquitetura de um Computador

Conceitos de Entrada e Saída

Sistemas Operacionais Cap 2 Estruturas de Sistemas Computacionais

Arquitetura e Organização de Computadores

6 - Gerência de Dispositivos

Gerência de Entrada/Saída

DMA e Interrupções UNIVERSIDADE FEDERAL DE UBERLÂNDIA. Departamento de Engenharia Elétrica. Sistemas em Tempo Real

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Processadores. Prof. Alexandre Beletti Ferreira

Controladores do IBM-PC. Gustavo G. Parma

Arquitetura de Sistemas Operacionais

Arquitetura de Computadores - Revisão -

Interrupções e DMA. Mecanismos de I/O

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Processos. Adão de Melo Neto

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Arquitetura de Computadores Pentium 4 e PCIe

Introdução aos Computadores

Arquitetura de Von Neumann. Computador ISA

ENTRADA E SAÍDA (I/O)

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Sistemas Operacionais - Prof. Fabricio Alessi Steinmacher - fsteinmacher@gmail.com OBJETIVOS OPERACIONAIS. fsteinmacher@gmail.

Sistemas Operacionais

SISTEMAS INFORMÁTICOS

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Um Driver NDIS Para Interceptação de Datagramas IP

Sistemas Operacionais

Sistemas Operacionais

Noções básicas de Informática: Software

Máquina de estados UNIX O

1.2 Tipos de Sistemas Operacionais

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Entradas/Saídas. Programação por espera activa Programação por interrupções

Transcrição:

ENTRADA E SAÍDA DE DADOS Os dispositivos de um computador compartilham uma única via de comunicação BARRAMENTO. BARRAMENTO Elétrica/Mecânica + Protocolo. GERENCIAMENTO DE E/S O controle da troca de dados entre dois dispositivos pode ser feito basicamente de três formas: E/S programada (polling): o processador é responsável por determinar o estado do dispositivo, enviar os comandos de leitura ou escrita e por monitorar o término da transferência. E/S controlada por interrupção: o processador envia um comando de E/S e continua a executar outras instruções. O processador é interrompido pelo módulo de E/S quanto este tiver completado seu trabalho e transfere os dados para a memória. Acesso direto à memória (DMA): a transferência dos dados para a memória é controlada por um dispositivo especializado, sem envolver o processador.

E/S PROGRAMADA (POLLING) O processador envia um comando de E/S para o dispositivo. O processador fica monitorando o término da operação através do registrador de estado do dispositivo. O dispositivo sinaliza o término da operação carregando um valor apropriado no registrador de estado. O processador transfere o dado para a memória. E/S POR INTERRUPÇÃO E/S POR INTERRUPÇÃO O processador envia uma comando de E/S para o dispositivo, mas não fica monitorando o seu término. O processador continua a executar outras instruções enquanto o dispositivo realiza a operação de E/S. Após cada ciclo de instrução o processador verifica se existe alguma interrupção pendente. Ao terminar a tarefa, o dispositivo de E/S sinaliza (interrompe) o processador. O processador transfere o dado para a memória.

ACESSO DIRETO À MEMÓRIA (DMA) E/S programada e controlada por interrupção toda transferência de dados passa pelo processador. A técnica mais eficiente para a transferência de grandes volumes de dados é o DMA. É utilizado um circuito específico, chamada Controlador de DMA O Controlador realiza a transferência dos dados enquanto a CPU executa outras instruções. Ao terminar, o controlador interrompe a CPU. INTERRUPÇÕES As interrupções são um mecanismo que permite a um programa ou dispositivo externo interromper o fluxo normal de outro programa. A geração da interrupção pode ocorrer por software (interrupção de software) ou hardware (interrupção de hardware). Sistema Operacional Rotina p/ tratamento da Interrupção Controlador de Interrupção Interrupção por software Interrupção por hardware Requisição do Programa Hardware

CICLO DE INSTRUÇÕES DA CPU Interrupção INTERRUPÇÕES suspende a execução do programa normal e grava o estado do processador (PSW, CS e IP). Após a interrupção uma ISR (rotina de processamento da interrupção) é INTERRUPÇÃO chamada: para uma interrupção de hardware ISR a ISR comunica-se com o dispositivo e processa os dados retorna para o programa que executava quando ocorreu a interrupção para uma interrupção de software interrompe o programa e chama a ISR Redespachador restaura o estado anterior e retoma o processamento do programa anterior.

INTERRUPÇÃO DE HARDWARE Na família de PCs existem dois tipos de interrupções de hardware: interrupções MASCARÁVEIS (IRQs) e NÃO-MASCARÁVEIS. Uma interrupção é dita mascarável quanto ela pode ser desabilitada. As CPUs da Intel oferecem dois pinos que lidam com estas interrupções: INTR (Interrupt Request) para mascaráveis e NMI (Non Maskable Interrupts) para as não mascaráveis. As NMIs são usadas para alertar sobre situações catastróficas: erro de paridade na memória; erro de coprocessador (até 286); erro no canal de I/O (barramento ISA); erro ativado por dispositivos PCI (*SERR). INTERRUPÇÃO DE HARDWARE As interrupções mascaráveis (IRQs) são geradas pelos dispositivos de entrada e saída para sinalizar ao processador a conclusão de tarefas. Os processadores da Intel possuem apenas 1 linha de sinalização de interrupção, denominada INTR. Para possibilitar a ligação de vários dispositivos ao processador são utilizados dois circuitos Controladores de Interrupções Programáveis (PIC). Assim, é possível controlar até 16 IRQs diferentes.

INTERRUPÇÃO DE HARDWARE As IRQs possuem prioridades programáveis. A programação dos controladores é feita pela BIOS. Em geral as IRQs mais baixas possuem maior prioridade. Cada IRQ é associada a um evento de hardware e direciona para uma rotina de tratamento diferente. Recebe os pedidos de interrupção em um banco de 8 latches - IRR; O IMR é programado para habilitar ou desabilitar os pedidos de int. O resolutor de prioridades identifica qual interrupção deve ser atendida. A interrupção é enviada ao ISR para ser repassada à CPU. PIC BÁSICO

INTERRUPÇÃO DE HARDWARE A Intel reservou como pré-definidas as interrupções de 0 a 31. Entretanto, no projeto do 8086 foram utilizadas somente as de número 0 a 4. int 00 Divisão por 0 int 01 Execução passo a passo int 02 NMI Non maskable interrupt int 03 Breakpoint int 04 Overflow As interrupções não pré-definidas são as IRQs. TABELA DE VETORES DE INTERRUPÇÃO Vetores de Interrupção processador em modo-real são registros de endereços que informam à CPU onde encontrar as ISR; às interrupções são atribuídas um número de 0 a 255; os vetores de interrupção associados com cada número de interrupção são guardados na parte baixa da memória (os primeiros 1024 bytes) do PC, ocupando 4 bytes cada (int-0 0000:0000 à 0000:0003); a cada interrupção é associada uma tarefa predeterminada (ver tabela); no modo protegido, o endereço de cada sobrotina de tratamento é obtido diretamente, multiplicando-se o número da interrupção por 4.

TABELA DE VETORES DE INTERRUPÇÃO TRATAMENTO DAS INTERRUPÇÕES Quando ocorre uma interrupção de hardware o processador precisa determinar qual trecho de código lida com aquele hardware e iniciar a sua execução. Portanto, o tratamento de uma interrupção é simplesmente o processo de determinar o endereço de memória em que se localiza o código que lida com aquele hardware.

INTERRUPÇÃO DE SOFTWARE É a interrupção de um programa aplicativo que transfere controle para o kernel quando ele necessita executar funções de baixo-nível (kernel level) nas máquinas Intel ocorre quando o aplicativo executa uma instrução INT-n (16-39); esta instrução é formada por dois bytes: o primeiro contém o código da operação INT e o segundo o número da interrupção a ser executada; o nível de privilégio das interrupções de software é mais baixo dos que das de hardware (as interrupcões de hardware são mais importantes) No DOS a interrupção de software é executada pelo BIOS INTERRUPÇÕES NO MODO PROTEGIDO As CPUs que trabalham em modo protegido (80286 e posteriores) possuem um interação muito grande com o sistema operacional. O tratamento de interrupções nestes casos é realizado em parte pelo Sistema Operacional e em parte pelo processador. A identificação da rotina que trata as interrupções é feita através de uma Tabela de Descritores de Interrupção (IDT), criada pelo Sistema Operacional, e não mais pela IVT. Da mesma forma que na IVT, cada descritor de interrupção associa uma interrupção ao seu manipulador. A IDT pode ser armazenada em qualquer posição da memória.

INTERRUPÇÃO NO PCI-BUS Sinais de arbitragem (ligados ao árbitro-pci na ponte-norte) 4 interrupções Dispositivos ISA IRQ8 IRQ9(IRQ2) IRQ10 IRQ15 Controlador 8259A Secundário IRQ2 IRQ0 IRQ1 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 Controlador 8259A Primário INTA Dispositivos PCI INTA INTB INTA INTB INTC INTA Advanced Programmable Interrupt Controller CPU INTA INTB

INTERRUPÇÃO NO PCI-BUS a) Transição (edge-trigger) b) nível (level-triggered) TTL-driver. ISA TTL coletor-aberto. PCI O circuito da direita é característico do barramento ISA. Interrupção não compartilhável. O circuito da esquerda é típico da interrupção do PCI. Vários dispositivos podem compartilhar uma mesma interrupção. DMA Os métodos de gerenciamento de E/S programada e controlada por interrupção apresentam um inconveniente o processador ainda é o responsável por transferir os dados entre o dispositivo e a memória. Em transferências que envolvem um grande volume de dados o processador é muito requisitado para as operações de E/S queda na performance geral do computador. Exemplo: discos rígidos, adaptador de DVD, etc. Solução Acesso Direto à Memória (DMA).

DMA Através do controlador de DMA uma interface pode ler ou escrever diretamente na memória, SEM A INTERVENÇÃO DO PROCESSADOR. Durante a evolução da família de PCs surgiram três tipos de arquitetura de DMA: 1 controlador de DMA 8237: PC XT. Disponibilizava 4 canais de DMA 2 controladores 8237 em cascata: PC AT. Disponibilizavam 7 canais de DMA DMA via mestre do barramento. a partir do 80486 e da implementação da transferência em rajada. Operação de DMA (visão geral)

Nos PCs XT e AT até o 80386 cada dispositivo que realizava DMA tinha seu próprio par de linhas DRQ/*DACK. Portanto, cada um destes pares caracterizava um Canal de DMA. No PC AT foram utilizados 2 controladores em cascata, oferecendo 7 canais de DMA. Canais de DMA Controle das transferências Cada canal de DMA possui 16 registradores de controle. Os mais importantes para o controle das transferências são: registrador de endereço base; registrador de endereço corrente; contador base; contador corrente. Ao realizar uma transferência entre a memória e o dispositivo, a CPU informa ao controlador de DMA: o endereço do dispositivo envolvido na transferência; qual a operação a ser feita (entrada ou saída de dados); o endereço de memória inicial e a quantidade de dados a serem transmitidos.

Controle das transferências Ex.: supondo uma transferência de 10 dados do dispositivo de E/S para a memória, no endereço inicial 1700 (10). Estado inicial M Após 4 transferências M Estado final M END. BASE = 1700 END. BASE = 1700 END. BASE = 1700 END. CORRENTE = 1700 END. CORRENTE = 1704 END. CORRENTE = 1710 CONT. BASE = 9 CONT. BASE = 9 CONT. BASE = 9 CONT. CORRENTE = 9 M CONT. CORRENTE = 5 M CONT. CORRENTE = FFFF M Controle das transferências O número armazenado nos registradores de contagem é sempre igual ao número de dados a transferir menos 1. Número de transferências Valor a ser programado no contador 200 199 65536 65535 1 0 Quando o controlador de DMA faz a última transferência o Contador Corrente passa de 0000 para FFFF (16). Neste instante o controlador de DMA gera um sinal chamado TC (Terminal Count), que indica o término da transferência (interrompe o processador).

O mecanismo de DMA pode ser configurado de diversas maneiras: Configurações de DMA DMA via arbitragem do barramento DMA via arbitragem do barramento Usado nas arquiteturas mais modernas, o DMA via arbitragem do barramento envolve controladores mais evoluídos. O controlador passa a fazer requisições não mais diretamente ao processador, mas ao árbitro do barramento. Quando o árbitro libera o barramento o controlador tornase o seu mestre, colocando-se no lugar da CPU e realizando a transferência dos dados diretamente para a memória. Técnica utilizada no barramento PCI.