2º Estudo Dirigido Capítulo 3 – Sistemas de Entrada e Saída 1-A CPU raramente acessa os periféricos diretamente, por quê? R: por razões de incompatibilidade elétrica, velocidade, formato de dados, etc. Normalmente existem circuitos que realizam as tarefas de interface e controle, no caso de periféricos mais complexos. A CPU por sua vez acessa estes circuitos para programálos e para ler e escrever dados. 2-Existem várias formas de transferência de informação sob controle da CPU. Cite as 4 principais formas (Dê os nomes mais conhecidos). R: Modo Bloqueado(Busywait), Modo Polling (Inquisição),Interjeição, Interrupção. 3-Qual ou quais a(s) forma(s) de transferência de informação que deixa a CPU em estado de espera até que o periférico a termine a sua execução? R:Bloqueado, Polling e Interrupção 4-Quantos flags podem existir no modo que também é conhecido como teste de estado? R: Pode existir o mesmo numero de dispositivos de E/S. 5-Existe algum tipo de limitação na quantidade de flags no modo que também é conhecido como teste de estado? Explique sua resposta. R: Sim. Em alguns casos pode-se optar por seguir a rotina de teste de flags após o atendimento de uma solicitação, em outros, a rotina é interrompida após atender-se a um dispositivo, vindo a ser ativada posteriormente. Quando este esquema é adotado,pode haver postergação infinita no atendimento de dispositivos de prioridade inferior,caso os primeiros dispositivos a serem testados requisitem com muita freqüência a atenção da CPU. 6-Explique como se dá o funcionamento do modo que foi um aprimoramento do teste de estado. Cite qual foi sua vantagem em função deste aprimoramento. R: Interjeição é um sistema aprimorado do Polling. Neste caso, antes de realizar o teste em cada flag, a CPU testa um flag adicional que representa o OU-Lógico de todos os flags associados aos periféricos. Portanto, a CPU só testará os flags para descobrir qual o periférico que deseja realizar a transferência, quando o flag adicional estiver em 1, significando que há pelo menos um dispositivo de E/S com seu flag igual a 1. 7-O que acontece quando na Interrupção de um nível de prioridade, o registrador de interrupção recebe o valor 1, ou seja, existe uma solicitação do dispositivo de entrada ou saída. O quê é feito após o recebimento desta solicitação? Cite todos os passos. 1/3 R: Salvamento do PC; Desabilitação das int’s; Envio do sinal de ACK; Retorno do PC anterior; eabilitação das int’s 8-Como é feita a identificação do dispositivo de entrada ou saída no modo de interrupção de um nível de prioridade com vários dispositivos? R: A identificação será realizada através de uma rotina de software que, quando descobrir o dispositivo, chamará a rotina de atendimento correspondente. Uma outra forma (mais rápida) de identificar o dispositivo de mais alta prioridade que solicitou interrupção é implementar polling por hardware através de uma cadeia daisy-chain do sinal ACK. 9-Existem basicamente três formas de identificar-se a fonte de uma interrupção. Explique com suas palavras cada uma delas. R: Endereço Fixo: Neste método, quando a CPU recebe um pedido de interrupção o PC e a máscara são salvos e o PC é carregado sempre com um mesmo endereço. Isto faz com que a CPU seja desviada sempre para a mesma posição de memória. Vetorada:Neste método, quando o periférico recebe o sinal ACK, de reconhecimento do seu pedido de interrupção ele escreve uma palavra no barramento de dados. A CPU lê esta palavra e a utiliza como um índice para acessar uma tabela que contém os endereços de todas as rotinas de atendimento. Auto-vetorada: O método de identificação auto-vetorada, normalmente aparace associado ao método vetorado. Os vetores de interrupção estão localizados em 1024 primeiros bytes da área de memória. Cada entrada no item possui 4 bytes que formam o endereço inicial da rotina de atendimento. Os vetores 25-31 são reservados para o modo auto-vetorado. No modo auto-vetorado existem 7 níveis de prioridade de interrupção numerados de 1 a 7. O nível 7 é o de mais alta prioridade. 10-Explique os métodos de transferência? R:Bloqueado - No modo bloqueado, como o próprio nome indica, a CPU fica totalmente dedicada ao periférico do início ao fim de toda a operação de E/S. Ou seja, quando da execução de uma operação de E/S a CPU aguarda que o periférico a termine para prosseguir com o andamento do programa. Evidentemente neste modo a CPU é subutiluizada pois fica inativa durante a transferência, considerando-se que os periféricos são tipicamente lentos se comparados à CPU. Polling - Nos Sistema com Polling existe associado a cada dispositivo de E/S um flag. A CPU testa periodicamente o conteúdo destes flags. Caso o conteúdo armazenado seja igual a 1 isto indica que o dispositivo associado necessita da atenção da CPU para realizar uma operação de E/S ou para completar/concluir uma operação de E/S ou para completar/concluir uma operação anteriormenteiniciada.Desta forma evita-se aquele tempo que a CPU fica bloqueada aguardando que o periférico termine alguma operação conforme descrito modo bloqueado. Interrupção - Trata-se de um sinal gerado pelo hardware externo à CPU e dirigido à esta, indicando que um evento externo ocorreu e isto requer a atenção imediata da CPU; Este sinal ocorre assincronamente a execução da seqüência de programa. A interrupção pode ocorrer a qualquer instante e isto não está sob controle do programa executado; O hardware de controle das interrupções, se as interrupções estiverem habilitadas, completa a execução da instrução corrente, e então força o controle a desviar para a rotina de atendimento do periférico que solicitou; Uma instrução especial de “retorno-de-interrupção” é empregada para direcionar o controle de volta ao ponto do programa principal onde a interrupção ocorreu. 2/3 Interjeição - Interjeição é um sistema aprimorado do Polling. Neste caso, antes de realizar o teste em cada flag, a CPU testa um flag adicional que representa o OU-Lógico de todos os flags associados aos periféricos. Portanto, a CPU só testará os flags para descobrir qual o periférico que deseja realizar a transferência, quando o flag adicional estiver em 1, significando que há pelo menos um dispositivo de E/S com seu flag igual a 1. 11-Qual é a diferença efetiva entre um sistema com um nível de prioridade e outro com múltiplos níveis de prioridade? R: A diferença efetiva entre um sistema com um nível de prioridade e outro com múltiplos níveis de prioridade é que este útlimo permite que a rotina de atendimento sendo executada pode ser interrompida por dispositivos que tenham “prioridade de atendimento”mais elevada, e assim sucessivamente. 3/3