Baixe o app para aproveitar ainda mais
Prévia do material em texto
Conceitos Básicos de Arquitetura de Computadores em Relação à Entrada e Saída (E/S) SST Ancelmo, Jose Roberto Conceitos Básicos de Arquitetura de Computadores em Relação à Entrada e Saída (E/S) / Jose Roberto Ancelmo Ano: 2020 nº de p. : 11 Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados. Conceitos Básicos de Arquitetura de Computadores em 3 Relação à Entrada e Saída (E/S) Apresentação Em nosso estudo, compreenderemos os conceitos básicos da arquitetura de computadores em relação ao processo de entrada e saída, como o acesso direto à memória (DMA), os barramentos síncronos e assíncronos e a arbitragem de barramento. Entrada e Saída (E/S) O processo de entrada e saída (E/S) visa compartilhar informações ou adquiri-las dos computadores. Alguns deles se utilizam de uma organização de E/S com uma ou mais CPUs, memória e um ou mais controladores de E/S, denominados “canais de dados”. Assim que a CPU realiza uma entrada, ela dispara um programa especial em um dos canais e informa-lhe para executá-lo. Desse modo, o canal utiliza toda a E/S da memória principal, liberando a CPU para fazer outras tarefas. Ao executar a tarefa, o canal de dados interrompe a CPU para concluir a operação. Modernos desktops usam uma estrutura mais simplificada, consistindo em um único barramento, interligando-se à CPU, à memória e aos dispositivos de E/S. Cada dispositivo de E/S apresenta duas partes: o controlador (componentes eletrônicos que fazem o controle do periférico) e o dispositivo propriamente dito. Sua função primordial é controlar seu dispositivo de E/S e gerenciar os acessos ao barramento pelo canal de dados. Como tipos de canais de dados, podemos citar os seletores, que se dedicam à transferência de dados com um único dispositivo por vez; e os multiplexadores, que transferem dados de/para vários dispositivos simultaneamente. Atenção 4 A ação desse controlador, que lê ou escreve um bloco de dados em uma posição de memória sem a interferência da CPU, é chamada acesso direto à memória – DMA, como você poderá ver na figura a seguir. Exemplo de Acesso Direto à Memória – DMA. Fonte: Elaborada pelo autor. Um mediador do barramento é utilizado quando a CPU e o controlador necessitam usar o barramento ao mesmo tempo. Geralmente, é dada a prioridade ao controlador de E/S. Perda de ciclos ou dados ocorre quando um dispositivo solicita o barramento e a CPU já o está utilizando. Isso diminui a velocidade do computador ao realizar as tarefas. Barramento síncrono e assíncrono Um barramento é um meio físico elétrico compartilhado entre muitos dispositivos de E/S. O código do barramento estabelece as regras de funcionamento do próprio barramento, deixando que componentes dimensionados por terceiros possam ser anexados ao sistema. Os dispositivos de E/S que iniciam as transferências pelo barramento são identificados como mestres. Os dispositivos de E/S que esperam por uma requisição são identificados como escravos, conforme você pode verificar no quadro a seguir. 5 Conceituação de Mestre e Escravo. CPU Memória Busca de instruções e dados CPU E/S Início de transferência de dados CPU Coprocessador Instruções de ponto flutuante E/S Memória DMA Coprocessador Memória Buscando operandos Fonte: Elaborado pelo autor. A maioria dos mestres de barramento está ligada a ele por meio de plaquinhas ou pastilhas, chamadas acionadores de barramentos (bus driver), que são basicamente amplificadores digitais. Em geral, os escravos estão ligados ao barramento pelos receptores de barramento (bus receiver). Com relação aos dispositivos de E/S que podem atuar tanto como mestres quanto como escravos, é empregada uma plaquinha ou pastilha combinada chamada transceptor de barramento (bus transceiver). Essas pastilhas de interconexão com o barramento são regularmente dispositivos tri-state. Sua ação consiste em deixar que eles flutuem quando não são utilizados. Um barramento síncrono tem uma linha disparada por um oscilador cristal. Todos os ciclos de pedidos do barramento gastam um número inteiro de ciclos do oscilador, denominados ciclos de barramento. Já um barramento assíncrono não apresenta um relógio mestre que o guie. Os ciclos podem ter qualquer durabilidade que se queira e não necessitam ser os mesmos entre todos os pares dos dispositivos. Considere um relógio de 4MHZ. Um ciclo de barramento leva 250ns, admitindo que a leitura de um byte da memória leva três ciclos de barramento. Assim, o ciclo de leitura leva 750ns. 6 No modelo de um módulo de E/S, representado pelos três tipos de barramentos, temos as variações dos dispositivos externos, que são legíveis ao ser humano, tais como monitor, impressora e teclado, e os legíveis à máquina, como monitoração e controle e a parte de comunicação (modem e placa de interface de rede). Atenção À medida que uma leitura de bloco é iniciada, o mestre do barramento solicita ao escravo quantos bytes serão transferidos. O escravo solta um byte a cada ciclo até que a quantidade seja exterminada. A leitura de um bloco de n bytes gastaria (n + 2) ciclos, em vez de 3n. No barramento assíncrono, em vez de se atrelar tudo ao relógio, um conjunto de sinais chamado handshake completo determina o início e o fim de um ciclo de leitura/escrita, conforme figura a seguir. Temos, então, os sinais: MSYN (Master SYNchronisation), SSYN (SlaveSYNchronisation) e o handshake, que consiste em quatro eventos: 1. MSYN é ativado; 2. SSYN é ativado em resposta a MSYN; 3. MSYN é desativado em resposta a SSYN; 4. SSYN é desativado em resposta à desativação de MSYN. Barramentos Assíncronos. Fonte: Mourelle (2018, p. 12). 7 Os handshakes completos são interdependentes do tempo. Isso significa que cada evento é acusado por um anterior e não por um pulso sincronizado pelo relógio. No barramento síncrono, tudo converge em múltiplos inteiros dos ciclos do relógio. Para concordar com as diferentes velocidades dos dispositivos E/S incluídos, os estados de espera (waitstates) são colocados. No barramento assíncrono, o intervalo de tempo de um ciclo de leitura/escrita resulta da velocidade dos dispositivos de E/S envolvidos. Veja como isso acontece na figura abaixo. Ciclo de Leitura. Fonte: Mourelle (2018, p. 9). Se dois ou mais dispositivos necessitam se tornar mestres ao mesmo tempo, aparece a obrigação de algum instrumento de arbitragem de barramento. Na arbitragem centralizada, um único árbitro de barramento estipula qual o próximo mestre. Árbitros em barramento O barramento apresenta uma linha única de requisição ou solicitação que poderá ser iniciada por um ou mais dispositivos de E/S ao mesmo tempo. Quando o árbitro reconhece uma solicitação do barramento (bus request), ele gera uma permissão disparando uma linha de permissão de barramento (bus grant). 8 Essa linha é interligada em série com todos os dispositivos de E/S. À medida que o dispositivo fisicamente mais próximo do árbitro enxerga a permissão, verifica se foi ele mesmo que fez a requisição ou solicitação. Se sim, ele assume totalmente o barramento e não propaga ou dispara a permissão pela linha. Se não, ele dispara a permissão para o próximo dispositivo que se encontra na linha. Esse esquema ou artifício é chamado de daisy chaining. A prioridade depende da proximidade do dispositivo ao árbitro. Para driblar a prioridade solicitada condicionada na distância do árbitro, podemos utilizar diversos níveis de prioridade. Para cada um se estabelece uma linha de solicitação ou requisição de uma linha de permissão de barramento. Alguns árbitros apresentam uma terceira linha que um dispositivo ativa quando ele aceitou a permissão e tomou controle do barramento (bus acknowledge). Sendo ativadas, as linhas de requisição e permissão podem ser desativadas ou suspensas. Como resultado, outros dispositivos de E/S podem requisitar ou solicitar o barramento, enquanto outro o está utilizando. Quando a transferênciaatual terminar, o próximo mestre já terá sido selecionado. Na figura a seguir, observe a prioridade dos árbitros de barramento. Prioridade dos árbitros de barramento. Fonte: Mourelle (2018, p. 16). 9 Quando a arbitragem descentralizada está sendo empregada, não há árbitro de barramento. Uma dica: o barramento mostra as linhas de solicitação priorizadas, às quais cada dispositivo se conectará (havendo limitação do número de dispositivos). Quando um dispositivo de E/S solicita usar o barramento, ele ativa a sua linha de solicitação. Os dispositivos supervisionam todas as linhas de requisição. Igualmente, ao fim de cada ciclo do barramento, cada dispositivo reconhece se ele é o solicitante de maior prioridade ou se lhe é autorizado usar o barramento no próximo ciclo. Equiparado à arbitragem centralizada, esse modelo pede mais linhas de barramento, deixando o custo potencial do árbitro. Outra dica consiste em o barramento mostrar somente três linhas, independentemente do número de dispositivos presentes, como podemos ver na figura abaixo. Exemplo arbitragem no barramento. Fonte: Elaborada pelo autor. Assim que a linha de requisição é iniciada pelo dispositivo, a linha de ocupado é iniciada pelo mestre corrente do barramento. A linha de arbitragem é utilizada para arbitrar o barramento. Ela é sequenciada por meio de todos os dispositivos de E/S. O início da cadeia é regularmente mantido ativo, ligando-se à fonte de +5V. À medida que nenhum dispositivo de E/S requer o barramento, a linha de arbitragem ativada é disseminada por meio de todos os dispositivos. Para se utilizar do barramento, um dispositivo, primeiro, observa se o barramento está disponível e se a linha de arbitragem que está recebendo (I-Input) está ativada. Se I estiver desativada, ele não poderá ser alçado a mestre do barramento. Se I estiver ativada, o dispositivo desativa O (output), o que faz todos os outros dispositivos na cadeia desativarem I e O. No final, apenas um dispositivo terá 10 I ativado e O desativado. Ele se torna mestre do barramento, e começa sua transferência. Esse modelo é parecido com a arbitragem daisy chain original, excetuada pela ausência do árbitro. Igualmente é mais barato, mais veloz e não vulnerável a erros no árbitro. Fechamento Chegamos ao final do estudo sobre conceitos básicos de arquitetura de computadores em relação à entrada e saída (E/S) e compreendemos que o processo de entrada/saída (E/S) busca compartilhar informações ou adquiri-las dos computadores. Vimos que essas informações são transferidas de formas diretas, através do controlador de acesso direto à memória ou de mediadores, quando os acessos devem ser priorizados entre CPU e E/S. Em um segundo momento, compreendemos os barramentos síncronos, controlados por um relógio (oscilador de cristal) e assíncronos sem controle de relógios. Por fim, vimos o processo de arbitragem de barramento que supervisiona as linhas de requisição de um barramento. 11 Referências MOURELLE, L. Conceitos de Entradas e Saídas. Disponível em: http:// www.eng.uerj. br/~ldmm/arquitetura/Conceitos_de_entrada_e_saida. pdf. Acesso em: 21 maio 2018. http://www.eng.uerj.br/~ldmm/arquitetura/Conceitos_de_entrada_e_saida.pdf http://www.eng.uerj.br/~ldmm/arquitetura/Conceitos_de_entrada_e_saida.pdf http://www.eng.uerj.br/~ldmm/arquitetura/Conceitos_de_entrada_e_saida.pdf http://www.eng.uerj.br/~ldmm/arquitetura/Conceitos_de_entrada_e_saida.pdf
Compartilhar