A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 PUCC 1 Agenda Entrada e Saída

2 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.

3 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.

4 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

5 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.

6 PUCC 6 Múltiplas Interrupções Programa do Usuário RTI Impressora RTI Comunicação RTI Disco t=10 t=40 t=35 t=25 t=15 t=10 t=0 t=25

7 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.

8 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.

9 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.

10 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.

11 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)

12 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.

13 PUCC 13 Configuração de Barramento Processador Cache MP Barramento do Sistema Barramento de Alta velocidade Barramento de Expansão SCSI Controlador de Vídeo Rede Local ModemInterface Serial Interface

14 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

15 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

16 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.

17 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

18 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.

19 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.

20 PUCC 20 PCI Peripheral Component Interconnect. Desenvolvido pela Intel em 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

21 PUCC 21 E/S Programada Interrupção DMA - Acesso direto à Memória

22 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.

23 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)

24 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

25 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.

26 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

27 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

28 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.

29 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

30 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

31 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?

32 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.

33 PUCC 33 Desempenho E/S Variável Tempo Tempo Médio Aritmétido – TMA= T 1.f 1 + T 2.f T n.f n Onde T i é o tempo para realização da Tarefa i e f i é a freqüência que ocorre a Tarefa i. Variância= (f 1.T f 2.T f n.T n 2 ) – TMA 2 Coeficiente de Variância – C = Desvio padrão / TMA Tempo Médio de Serviço Residual - TMSR = ½ TMA. (1+ C 2 ) (aleatoriedade)

34 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+1 2 ) = 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= Us 2 / (1-Us)

35 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.

36 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?

37 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ção servidor = 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)


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google