370 likes | 451 Views
Agenda. Entrada e Saída. 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. Interrupções.
E N D
Agenda • Entrada e Saída
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.
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.
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
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.
Múltiplas Interrupções Programa do Usuário RTI Impressora RTI Comunicação t=0 t=15 t=25 RTI Disco t=10 t=10 t=40 t=25 t=35
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.
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.
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.
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.
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)
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.
Configuração de Barramento MP Cache Processador Barramento do Sistema Rede Local Controlador de Vídeo SCSI Barramento de Alta velocidade Modem Interface Serial Interface Barramento de Expansão
Parâmetros Básicos • Tipo de barramento: • Dedicado • Multiplexado • Métodos de Arbitração • Centralizado • Distribuído • Temporização • Síncrona • Assíncrona
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
Tipos • Dedicado: tem uma função fixa ou é associado a um subconjunto de componentes físicos de um computadorEx: 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.
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
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.
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.
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
E/S • Programada • Interrupção • DMA - Acesso direto à Memória
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.
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)
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
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.
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
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
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.
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
Desempenho E/S Abrindo a caixa preta: Fila saída entrada 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
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?
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.
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.T22+ ..... + fn.Tn2) – TMA2 Coeficiente de Variância – C = Desvio padrão / TMA Tempo Médio de Serviço Residual - TMSR = ½ TMA . (1+ C2) (aleatoriedade)
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)
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.
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?
Desempenho E/S É 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)