PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de...

37
PUCC 1 Agenda •Entrada e Saída

Transcript of PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de...

Page 1: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 1

Agenda

•Entrada e Saída

Page 2: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 2

Interrupções

• Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador podem interromper a seqüência normal de execução de instruções do processador.

Page 3: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 3

Interrupções

• Software: gerada por alguma condição que ocorra como resultado da execução de uma instrução - overflow, divisão por zero...

• Relógio: gerada pelo relógio interno do processador. Esse tipo de interrupção permite que o SO execute certas funções em intervalos de tempo regulares

• E/S: gerada por um controlador de E/S para sinalizar a conclusão de uma operação ou uma situação de erro.

Page 4: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 4

Interrupções

• Hardware: gerada na ocorrência de uma falha, tal como queda de energia ou erro de paridade na memória.

• O mecanismo de interrupção visa melhorar a eficiência do processamento. O processador pode executar outras tarefas enquanto uma operação, por exemplo de E/S, está em andamento

Page 5: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 5

Múltiplas Interrupções

• Duas formas de tratamento:– desabilitar as interrupções enquanto uma

interrupção está sendo processada. Não leva em consideração prioridades

– Definir prioridades para as interrupções permitindo que uma interrupção de maior prioridade interrompa a rotina de tratamento de uma interrupção de prioridade mais baixa.

• Ex: sistema com 3 dispositivos: impressora, disco e uma linha de comunicação, com prioridades crescentes: 2, 4 e 5.

Page 6: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 6

Múltiplas Interrupções

Programa do Usuário

RTI Impressora

RTI Comunicação

RTI Disco

t=10t=40

t=35

t=25t=15

t=10

t=0

t=25

Page 7: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 7

Barramentos

• Um barramento é um caminho entre dois ou mais dispositivos.

• É um meio de comunicação compartilhado.• Consiste em vários caminhos ou linhas de

comunicação, cada qual capaz de transmitir sinais que representam um único dígito binário, 0 ou 1.

• Um sistema de computação contém diversos barramentos que fornecem caminho de comunicação entre seus componentes.

Page 8: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 8

Estrutura de Barramentos

• As linhas de um barramento podem ser classificadas em três grupos funcionais:

• Dados: contém tipicamente 16 ou 32 linhas; o número de linhas é conhecido como largura do barramento de dados. Como cada linha pode transmitir 1 bit por vez, o número de linhas determina quantos bits podem ser transferidos de uma vez. Parâmetro importante para o desempenho do sistema.

Page 9: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 9

Estrutura de Barramentos

• Endereço: usadas para designar a fonte ou o destino dos dados transferidos pelo barramento de dados. Quando o processador deseja ler uma palavra da memória, ele coloca o endereço da palavra desejada nas linhas de endereço. A largura do barramento de endereço determina a capacidade máxima da memória. Em geral, linhas de endereço são utilizadas para endereçar portas de E/S.

Page 10: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 10

Estrutura de Barramentos

• Controle: são utilizadas para controlar o acesso e a utilização das linhas de dados e de endereço. Como as linhas de dados e de endereço são utilizadas por todos os componentes, deve existir uma maneira de controlar sua utilização. Os sinais de controle são utilizados tanto para transmitir comandos quanto para informações de temporização entre os módulos do sistema.

Page 11: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 11

Linhas de Controle Típicas

• Escrita na Memória• Leitura da Memória• Escrita em porta de E/S• Leitura de porta de E/S• Confirmação (ACK) de transferência• Requisição do barramento• Requisição de Interrupção• Relógio• Inicialização (reset)

Page 12: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 12

Operação

• Quando um módulo do sistema deseja enviar dados para outro, ele deve:– obter o controle do barramento– transferir os dados por meio do barramento

• Quando um módulo do sistema deseja requisitar dados de outro, ele deve:– obter o controle do barramento– transferir uma requisição para o outro módulo por

meio das linhas de endereço e de controle apropriadas e aguardar o envio.

Page 13: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 13

Configuração de Barramento

Processador Cache

MP

Barramento do Sistema

Barramento de Alta velocidade

Barramento de Expansão

SCSIControlador

de VídeoRede Local

Modem Interface Serial

Interface

Page 14: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 14

Parâmetros Básicos

• Tipo de barramento:– Dedicado– Multiplexado

• Métodos de Arbitração– Centralizado– Distribuído

• Temporização– Síncrona – Assíncrona

Page 15: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 15

Parâmetros Básicos

• Largura do barramento:– Endereço– Dados

• Tipo de Transferência de dados– Leitura– Escrita– Leitura-modificação-escrita – Leitura-após-escrita– Em bloco

Page 16: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 16

Tipos

• Dedicado: tem uma função fixa ou é associado a um

subconjunto de componentes físicos de um computador Ex: linhas distintas para dados e endereços

• Multiplexação no tempo: usa uma linha de controle de Endereço Válido. No início de uma transferência de dados, o endereço é colocado no barramento e a linha de endereço válido é ativada. Cada módulo do sistema tem um determinado período de tempo para ver se os dados são endereçados a ele e copiar o endereço. O endereço é removido do barramento e as mesmas linhas são utilizadas para transferência dos dados.

Page 17: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 17

Métodos de Arbitração

• Como apenas uma unidade pode realizar uma transmissão por meio do barramento de cada vez, é necessária a arbitração

• Centralizado: um único dispositivo, controlador de barramento, é responsável por alocar tempo de utilização do barramento a cada módulo do sistema.

• Distribuído: não existe controlador central. Cada módulo contém uma lógica de controle de acesso e os módulos agem de forma conjunta para compartilhar o barramento

Page 18: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 18

Temporização

• Modo pelo qual os eventos nesse barramento são coordenados.

• Síncrona: a ocorrência de eventos é determinada por um relógio. O barramento inclui uma linha de relógio pela qual transmite uma seqüência de 1s e 0s de igual duração. Uma transmissão de um 1 e um 0 é denominado ciclo do relógio. Todos os dispositivos conectados ao barramento podem ler a linha de relógio e todos os eventos no barramento devem começar no início de um ciclo do relógio.

Page 19: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 19

Temporização

• Assíncrona: a ocorrência de um evento no barramento depende da ocorrência de um evento ocorrido anteriormente.

• O esquema síncrono é mais simples de implementar e testar mas é menos flexível. Em um esquema assíncrono, tantos dispositivos lentos quanto rápidos podem compartilhar o uso do mesmo barramento.

Page 20: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 20

PCI

• Peripheral Component Interconnect.• Desenvolvido pela Intel em 1990 - Pentium.• Especificação de Domínio público.• 64 linhas de dados com 66 MHz de clock• Taxa bruta de transferência:s• Uso em subsistemas de E/S alta velocidade.• Barramento Multiplexado no tempo• Temporização Síncrona• Arbitragem Centralizada

Page 21: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 21

E/S

• Programada

• Interrupção

• DMA - Acesso direto à Memória

Page 22: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 22

Programada

• Os dados são transferidos diretamente entre o processador e o módulo de E/S.

• Processador tem através da execução de um programa controle direto da operação E/S - detecção do estado do dispositivo, envio de comandos de leitura e escrita e a transferência dos dados.

• Quando o processador envia um comando para o módulo E/S ele tem que esperar até essa operação seja completada.

Page 23: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 23

Interrupção

• O processador envia um comando de E/S e continua a executar outras instruções.

• Quando o módulo de E/S tiver terminado de executar o seu trabalho ele fará a interrupção do trabalho do processador para disponibilizar a informação requerida.

• Nesses dois modelos, programada e por interrupção, o processador é responsável por obter dados da MP (operação de saída) e armazenar dados na MP (oper. de entrada)

Page 24: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 24

DMA

• Os dois tipos de E/S apresentados requerem uma ativa intervenção do processador para transferir dados entre a memória e o módulo de E/S.

• Toda transferência passa pelo processador, assim existem duas desvantagens inerentes:– A taxa de transferência é limitada pela velocidade

com que o processador pode testar e servir o dispositivo.

– O processador tem que gerenciar a transferência de dados de E/S

Page 25: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 25

DMA

• A técnica DMA envolve um módulo adicional no barramento do sistema - Controlador DMA

• Imita o processador - Controla o sistema do Processador.

• Necessário para que o módulo possa transferir dados de e para a MP através do barramento do sistema.

• Pode usar o barramento quando este não está sendo usado pelo processador ou forçar o processador a suspender a sua operação.

Page 26: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 26

DMA

• Quando o processador deseja ler ou escrever um bloco de dados ele envia comando ao módulo DMA:– Tipo de operação: escrita ou leitura - Linha de controle de

leitura ou escrita– Endereço do dispositivo de E/S - enviado pela linha de

dados. – Endereço da MP para início de leitura ou escrita, enviado

pela linha de dados e armazenado pelo DMA no seu registrador de endereços.

– Número de palavras a serem lidas ou escritas - enviado pela linha de dados e armazenado no Contador de dados

Page 27: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 27

DMA

• Depois de enviar o comando, a execução da E/S é delegada ao Módulo DMA.

• A transferência é feita feita palavra por palavra sem interferência do processador

• Quando termina a transferência o módulo DMA envia um sinal de interrupção ao processador

Page 28: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 28

Desempenho E/S

• Tempo de Resposta– Tempo que uma tarefa demora para ser

realizada desde que chegou ao sistema.

• Throughput– Número médio de tarefas que são

realizadas num determinado intervalo de tempo.

Page 29: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 29

Desempenho E/S

entrada saída

Sistema em Equilíbrio - Lei de Little

Nº médio de tarefas no sistema = Taxa de Chegada * Tempo médio de resposta

Page 30: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 30

Desempenho E/S

Abrindo a caixa preta:

Fila

entrada saída

Servidor

Tempo Servidor = Ts – tempo médio para servir uma tarefa.

1/Ts = Taxa média de Serviço

Tempo do Sistema = Tsis = Tfila + Ts

Taxa de Chegada - Tx =Número médio de Tarefas que chegam por segundo

Comprimento do Servidor= Cs – número médio de tarefas em serviço

Comprimento da Fila= Cfila – número médio de tarefas na fila

Comprimento do Sistema- Csis= Cfila + Cs

Page 31: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 31

Desempenho E/S

Utilizaçao do Servidor- Us= Tx . Ts ( número entre 0 e 1)

Exercício 47: Suponha que um sistema de E/S com um único disco receba em média 50 solicitações de E/S por segundo. Suponha que o tempo médio para que o disco atenda uma solicitação de E/S seja de 10ms. Qual a utilização deste disco?

Page 32: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 32

Desempenho E/S

Suponha que a forma de entrega de uma tarefa da fila para o servidor seja FIFO – firt in first out – o tempo médio de espera de uma tarefa na fila seria de:

Tfila= Cfila . Ts + Tempo médio para completar a tarefa que está sendo

realizada quando chega uma nova tarefa

Este último termo deve ser representado por um evento aleatório.

Uma variável é aleatória se não é possível saber exatamente qual o seu próximo valor mas é possível conhecer a probabilidade de todos os valores que esta varável pode assumir.

Para caracterizar uma variável aleatória necessitamos de um valor médio e alguma medida de dispersão.

Page 33: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 33

Desempenho E/S

Variável Tempo

Tempo Médio Aritmétido – TMA= T1.f1 + T2.f2 + ..... + Tn.fn

Onde Ti é o tempo para realização da Tarefa i e fi é a freqüência que ocorre a Tarefa i.

Variância= (f1.T12 + f2.T2

2+ ..... + fn.Tn2) – TMA2

Coeficiente de Variância – C = Desvio padrão / TMA

Tempo Médio de Serviço Residual - TMSR = ½ TMA . (1+ C2) (aleatoriedade)

Page 34: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 34

Desempenho E/S

Como calcular C. Por sorte a distribuição exponencial se adequa bem a chegada de tarefas para um servidor quando o histórico de eventos não tem influência sobre a probabilidade do evento que chegará agora; na distribuição exponencial o valor de C é 1. Assim:

Tfila= Cfila . Ts + Us . TMSR = Cfila . Ts + Us .(½ Ts . (1+12) = Cfila . Ts + Us.Ts

Tfila= (Tx . Tfila) . Ts + Us.Ts = (Tx.Ts).Tfila + Us.Ts = Us.Tfila + Us.Ts

reorganizando - Tfila= Ts . Us/ (1-Us)

Da mesma forma podemos concluir que:

Cfila= Us2 / (1-Us)

Page 35: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 35

Desempenho E/S

Exercício 48: Para o disco do exercício 47 qual o número médio de solicitações de E/S na fila?

Considerações:

- O sistema está em equilíbrio

- As solicitações de serviço estão distribuídas exponencialmente

- O servidor pode iniciar a próxima tarefa assim que terminar a anterior

- Não há limite para o comprimento de fila

- O número de fontes de solicitação é ilimitado.

- Há um único servidor.

Page 36: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC 36

Desempenho E/S

Exercício P: Suponha que um processador envie 40 operações de E/S de disco por segundo e que estas solicitações estejam distribuídas exponencialmente. O tempo médio de atendimento destas operações pelo disco é de 20 ms. Responda:

1-) Em média qual a utilização deste disco.

2-) Qual o tempo médio gasto na fila?

3-) Qual o tempo médio de resposta?

Page 37: PUCC 1 Agenda Entrada e Saída. PUCC 2 Interrupções Todos os computadores possuem algum tipo de mecanismo pelo qual componentes distintos do processador.

PUCC

Desempenho E/S

37

É comum a existência de um número maior de servidores. Neste caso as fórmulas utilizadas anteriormente sofrem alterações:

Utilizaçãoservidor = Taxa de Chegada . Tempo servidor

Número de Servidores

Comprimento fila = Taxa de chegada . Tempo fila

Tempo fila= Tempo servidor . P tarefas > Número servidores

Número servidores . (1-Utilização servidor)