3-Barramentos

January 11, 2019 | Author: Tiago Yoshiharu | Category: Central Processing Unit, Computer Data Storage, Random Access Memory, Integrated Circuit, Time
Share Embed Donate


Short Description

Download 3-Barramentos...

Description

Prof. Mario Mario F. G. Boaratti - Arquitetura de Computadores

BARRAMENTOS

As CPUs dos computadores possuem um conjunto de pinos por meio dos quais ocorre toda a comunicação da CPU com o mundo externo. Alguns destes pinos produzem sinais para o mundo externo, outros recebem sinais do mundo externo, outros fazem as duas coisas. Estes pinos podem ser divididos basicamente em três categorias: endereço, dados e controle. Os pinos da CPU são conectados a pinos similares na memória ou nos dispositivos de E/S por meio de um conjunto de fios paralelos denominados de barramento. Ou seja, são estes três barramentos que conduzem todas as informações e sinais necessários à operação do sistema. Estes barramentos conectam o microprocessador (CPU) a cada um dos elementos de memória e de E/S, de modo que dados e informações possam ser  trocados entre a CPU e qualquer um destes elementos, em resumo: •

São vias ou canais por onde se transmitem sinais de um dispositivo para outro.



É um conjunto de linhas condutoras elétricas que interligam os diversos elementos dentro do computador. computador. Geralmente têm a forma de filetes de cobre sobre sobre a placa de circuito impresso.



Os barramentos são divididos em três grupos: o Barramento de endereço (address bus); o Barramento de dados dados (data bus); bus); o Barramento de controle (control bus).



A figura 1 apresenta um esquema básico destes barramentos. São linhas Unidirecionais que identificam um lugar   particular na memória ou dispositivo de E/S (address bus)

(data bus)

(control bus)

Trafegam os sinais que indicam o tipo de atividade no processo corrente: Escrita de memória Leitura de memória Interrupções Escrita ou leitura de E/S

São linhas bidirecionais que trafegam os sinais referentes aos dados que fluem entre CPU, Memória e E/S

Figura 1 - Os três barramentos básicos do computador  1

Prof. Mario F. G. Boaratti - Arquitetura de Computadores

Na documentação os barramentos podem ser representados por setas largas e sombreadas como nas figuras 1 e 4 ou como uma linha reta cortada por um pequeno segmento de reta inclinado acompanhado de um número que indica a quantidade de bits, conforme mostra a figura 2 e também a figura 3. Quando todos os bits são do mesmo tipo, por exemplo, todos são bits de endereço ou todos são bits de dados, costuma-se utilizar a representação do segmento de reta inclinado. Quando são envolvidas linhas de endereço, dados e controle a seta sombreada é mais comum. Em alguns casos a quantidade de bits é indicada dentro da seta entre parênteses.

Sousa (2007) pág. 24

Figura 2 - Outra forma de representar os barramentos Arquitetura interna do PIC 16F628A Como vimos na figura 1, os pinos de controle gerenciam o fluxo e a temporização de dados que vêm da CPU e vão para ela, além de ter outras utilizações diversas, as quais são mostradas na figura 3. Os pinos de controle podem ser agrupados nas principais categorias seguintes: o Controle de barramento. o Interrupções. o Arbitragem de barramento. o Sinalização de co-processador. o Estado. o Diversos. Além destes, todas as CPUs têm pinos para energia elétrica (+ 3,3 volts ou + 5 volts dependendo do processador), pinos para terra e para um sinal de relógio. Podem ter  outros pinos, os quais variam muito de chip para chip. 2

Prof. Mario F. G. Boaratti - Arquitetura de Computadores

Tanenbaum (2007) pág. 101

Figura 3 - sinais de um processador típico Conforme descrito por Tanenbaum (2007) pág. 101, a maioria dos pinos de controle do barramento são saídas da CPU para o barramento e, portanto, entradas para a memória e chips de E/S, que informam se a CPU quer ler ou escrever para a memória ou fazer  outra coisa qualquer. A CPU usa esses pinos para controlar o resto do sistema e lhe informar o que ela quer fazer. Os pinos de interrupção são entradas que vêm de dispositivos de E/S para a CPU. Em grande parte dos sistemas a CPU pode dizer a um dispositivo de E/S que inicie uma operação e então continuar e fazer uma outra coisa qualquer enquanto o dispositivo de E/S está realizando seu trabalho. Quando a E/S estiver concluída, o chip controlador de E/S ativa um sinal em um desses pinos para interromper a CPU e fazer com que ela preste algum serviço ao dispositivo de E/S, por  exemplo, verifique se ocorreram erros de E/S. Algumas CPUs têm um pino de saída para reconhecer o sinal de interrupção. Os pinos de arbitragem de barramento são necessários para disciplinar o tráfego no barramento de modo a impedir que dois dispositivos tentem usá-lo ao mesmo tempo. Do ponto de vista da arbitragem, a CPU é um dispositivo e tem de requisitar o barramento como qualquer outro. Alguns chips de CPUs são projetados para funcionar com co-processadores, como chips de ponto flutuante, mas às vezes também com chips gráficos ou outros chips. Para facilitar a comunicação entre CPU e co-processador, há pinos especiais dedicados a fazer e aceitar  requisições. Além desses sinais, há outros pinos diversos presentes em algumas CPUs. Alguns deles dão ou aceitam informações de estado, outros são úteis para reiniciar o computador e outros mais estão presentes para garantir a compatibilidade com chips de E/S mais antigos. Para possibilitar a ligação de placas projetadas por terceiros ao sistema de barramento e para manter a consistência na troca de informações regras de funcionamento do barramento que devem ser seguidas por todos os dispositivos a ele conectados, estas regras são denominadas protocolo de barramento. Além disto, especificações elétricas e mecânicas devem ser respeitadas para que haja compatibilidade com os dispositivos que serão introduzidos nos conectores e suportes do barramento. Os computadores modernos em geral têm um barramento dedicado entre CPU e memória e outro para os dispositivos de entrada e saída. Além disso, possuem um chip controlador de barramento o qual é responsável pelas interrupções, arbitragem de barramento e sinalizações, como representado na figura 4

3

Prof. Mario F. G. Boaratti - Arquitetura de Computadores

Tanenbaum (2007) pág. 102

Figura 4 – Sistema com controlador de barramentos Observe que internamente à CPU existem barramentos específicos para o fluxo de dados e os controles necessários entre a ULA, os registradores e a controladora da CPU. Chipsets

Os controladores de barramentos, atualmente, são implementados nos chipsets. Com isto em vez de se usar uma dúzia de pequenos chips, uma placa-mãe pode ser construída usando apenas alguns chips maiores. Estes chipsets incorporam não só as controladoras dos barramentos, mas as controladoras dos diversos dispositivos existentes na placa mãe. Atualmente estas controladoras são divididas em dois grandes chips, um chamado ponte norte e outro chamado ponte sul. Em alguns casos a ponte norte e a ponte sul podem estar integradas em um único chip, só depende do fabricante. Na figura 5 vemos um exemplo destes chips. •

A ponte norte basicamente contém: o controlador de memória, o controlador do barramento AGP, o controlador do barramento PCI Express x16 e a interface para transferência de dados com a ponte sul.



A ponte sul basicamente contém os controladores de: discos rígidos, portas USB, som on-board, rede on-board, barramento PCI, barramento PCI Express, barramento ISA, relógio de tempo real (RTC), memória de configuração (CMOS) e dispositivos antigos, como controladores de interrupção e de DMA.

Nos chipsets Intel, a ponte norte é chamada de " MCH" (memory controller hub) e a ponte sul de "ICH" (I/O controller hub). Ligando o MCH ao ICH, temos um barramento rápido, chamado DMI (direct media interface), que oferece um barramento de 2 GB/s (nos chipsets para processadores AMD, o DMI é substituído pelo barramento HyperTransport). Nas placas mais antigas utiliza-se o barramento PIC para ligar a ponte norte com a ponte sul o que pode se tornar um gargalo pelo uso deste barramento por outros dispositivos.

4

Prof. Mario F. G. Boaratti - Arquitetura de Computadores

DMI

Origem: TORRES e LIMA, Clube do Hardware.

Figura 5 – Ponte Norte e Ponte Sul Nas placas para processadores AMD de 64 bits, tais como o Athlon 64, o Athlon 64 X2, o Athlon 64 FX, o Opteron, o Sempron e o Phenom, a configuração é um pouco diferente, já que o controlador de memória é incluído diretamente no processador. É usado um barramento na comunicação entre o processador e a memória chamado simplesmente “barramento da memória”. Para interligar o processador, à ponte norte e à ponte sul é usado o barramento Hyper Transport. A disposição dos demais componentes é similar. MORIMOTO (2007), TORRES e LIMA (2007).

Origem: TORRES e LIMA, Clube do Hardware.

Figura 6 – Barramento Hyper Transport - AMD Na Figura 6, pode-se ver como um processador AMD64 se comunica com o mundo externo. O chip “ponte” é o chipset da placa-mãe. Dependendo do chipset utilizado 5

Prof. Mario F. G. Boaratti - Arquitetura de Computadores

pode-se ter um ou dois chips. Em uma solução com dois chips todos os periféricos (tais como discos rígidos, placas de expansão, placas de som, etc) são conectados ao segundo chip (este segundo chip é chamado ponte sul, não mostrado na Figura 6), enquanto que na solução com apenas um chip tudo está conectado a este único chip. TORRES e LIMA (2007). Veja mais em:

< http://www.clubedohardware.com.br/artigos/568/1 > < http://www.clubedohardware.com.br/artigos/522> < http://www.gdhpress.com.br/hardware/leia/index.php?p=cap3-14>

Circuitos de interface:

Para adequar os sinais binários usados nos dispositivos aos sinais binários usados no barramento e vice-versa (ou porque muitas vezes são fracos para energizar um barramento, ou se o barramento for relativamente longo ou tiver muitos dispositivos ligados a ele), utilizam-se circuitos de interface (chips) adequados, tais como: alimentadores de barramento para os mestres ( bus drivers) e receptores de barramento para os escravos (bus receivers). Quando dispositivos podem agir tanto como mestres como escravos, é usado um chip que combina as duas funções denominado de transceptor de barramento, ou seja, um bus driver + bus receiver = bus transceiver . Os circuitos que fazem interface com o barramento muitas vezes são dispositivos de três estados conhecidos como Tri-state, o que permite que se desconectem quando não são necessários ou então se conectem quando são solicitados, veja exemplo na figura 7. De modo um tanto diferente, outros dispositivos denominados coletor aberto (open-colletor ) conseguem um efeito similar. Neste caso, quando dois ou mais dispositivos em uma linha de coletor aberto ativam a linha ao mesmo tempo, o resultado é o OU booleano de todos os sinais (isto se o circuito está atuando com lógica invertida, ou seja, é ativado em zero volt. Caso contrário o efeito será de uma lógica E). Esse arranjo com coletor aberto costuma ser denomina do OU cabeado (wired or), figura 8. Na maioria dos barramentos encontramos algumas linhas que são de três estados (Tri-state), e outras, que precisam da propriedade OU cabeado e são de coletor aberto. A figura 7, apresenta um barramento de 8 bits ligado a um dispositivo via 8 tri-states, os quais são ativados pela linha OE. Quando OE = 0 implica em tri-states desativados, fazendo que o dispositivo esteja desconectando do barramento. Quando OE = 1 o dispositivo está conectado ao barramento através dos tri-states. Dispositivo Output Enable

Figura 7 – Barramento conectado a dispositivo tri-state. 6

Prof. Mario F. G. Boaratti - Arquitetura de Computadores VCC

Ativo em zero R1 Barramento

S Q1

Q2 B

 A 

A 1 1 0 0

B 1 0 1 0

S 1 0 0 0

Figura 8 – Barramento conectado na forma OU cabeado (wired or). Segundo Tanenbaum (2007), os principais tópicos no projeto de um barramento são largura de barramento, relógio de barramento, arbitragem de barramento e operações de barramento. Cada um destes tópicos tem impacto substancial sobre a velocidade e a largura de banda do barramento. Largura do barramento

Quanto mais linhas de endereços um barramento tiver mais memória a CPU poderá endereçar diretamente, logo o número de linhas determina o número de bits usados para endereçar a memória principal e consequentemente o tamanho do espaço de memória endereçável. Esta quantidade de endereços é dada pela relação 2 n, sendo n o número de linhas do barramento. Para memórias de grande porte os barramentos precisam de muitas linhas de endereço, contudo quanto mais “largo” o barramento, mais linhas em paralelo, maior será a banda passante, mas também, maior o espaço físico ocupado na placa mãe e maiores os conectores, de modo que as linhas precisam ser cada vez mais estreitas. Todos esses fatores encarecem o barramento e por causa disso há um compromisso entre tamanho máximo de memória e custo do sistema. Um sistema com barramento de endereço de 64 linhas e 232 bytes de memória custará mais do que um sistema com 32 linhas de endereço e os mesmos 2 32 bytes de memória. A possibilidade de expansão futura torna o barramento caro e deve ser levada em conta no projeto. Deve-se medir o custo benefício. Vamos analisar a seguinte situação de crescimento de um barramento de endereço ao longo do tempo descrita pela figura 9.

Tanenbaum (2007) pág. 102

Figura 9 – Crescimento do barramento de endereço com o tempo 7

Prof. Mario F. G. Boaratti - Arquitetura de Computadores



Na figura 9(a) temos o IBM PC original com uma CPU 8088 e um barramento de endereço de 20 bits. Estes 20 bits permitiam ao PC endereçar 1 MB de memória.



Com o lançamento da CPU 80286, a Intel decidiu aumentar o espaço de endereço para 16 MB, para isso precisou adicionar mais quatro linhas de barramento para não perturbar as 20 linhas originais, visando manter a compatibilidade, figura 9(b). Com isto, mais linhas de controle tiveram de ser acrescentadas.



Para o 80386 mais oito linhas de endereço foram acrescentadas as já existentes, resultando em 32 linhas, como mostra figura 9(c). Resultando no barramento EISA, muito mais confuso do que seria se o barramento tivesse 32 linhas desde o início. Este barramento mostrou-se complexo e caro o que resultou na sua morte.

Não é apenas o número de linhas de endereço que tende a crescer com o tempo, mas também o número de linhas de dados visando um aumento na transferência e por  conseqüência um aumento da velocidade do barramento, ou seja, um aumento na largura de banda de dados. Uma alternativa para aumentar a banda passante sem aumentar a largura física é aumentar a velocidade do barramento (reduzir o ciclo de tempo de barramento). O que pode gerar problemas de “escorregamento” dos sinais (bus skew), este efeito consiste em atrasos de propagação diferentes dos sinais que trafegam em linhas diferentes (atraso diferencial do barramento). Este efeito pode tornar-se significativo com o aumento da velocidade comprometendo o sistema. O aumento da freqüência do barramento pode levar também ao aumento da interferência entre as trilhas paralelas pelo aumento de indução dos sinais entre elas. O aumento da velocidade também gera problemas de incompatibilidade com placas antigas. Uma alternativa para aumentar a largura sem aumentar o número de linhas é o barramento multiplexado. Onde uma mesma via é utilizada para transmitir os endereços e os dados. O endereço é enviado no inicio de uma transferência, após o endereçamento ter sido consumado são transmitidos os dados. Resulta em custo menor à custa de um tempo de transferência maior, ou seja, um sistema mais lento. Relógio do barramento

Os barramento são divididos em duas categorias dependendo do sincronismo. Um é o barramento síncrono o qual é comandado por um oscilador a cristal, ou um sinal de relógio, onde todas as atividades do barramento são sincronizadas pelo relógio e usam um número inteiro de ciclos deste relógio denominados ciclos de barramento. Um outro tipo é o barramento assíncrono, o qual não tem um relógio mestre. Neste caso os ciclos de barramento podem ter qualquer duração requerida e não são os mesmos entre todos os dispositivos. •

Barramento síncrono o

o

A freqüência do barramento não é a mesma do processador, ela está relacionada com a freqüência da placa mãe. Podemos ter um barramento de 100MHZ e um processador de 1,2GHz. Vantagem são baratos e de fácil implementação. 8

Prof. Mario F. G. Boaratti - Arquitetura de Computadores o

o

Desvantagem é que pares mestre-escravo mais rápidos ficam limitados ao ciclo do barramento. Como exemplo do funcionamento de um barramento síncrono, considere o diagrama temporal da figura 10 (diagrama de temporização de leitura em um barramento síncrono) e sua especificação de tempos críticos tabela 1, obtidos de Tanenbaum (2007) pág. 105. Neste exemplo é usado um relógio de 100 MHZ, que dá um ciclo de barramento de 10 nanossegundos. É admitido ainda que ler da memória leva 15 nanossegundos a partir do instante em que o endereço está estável. Como veremos em breve, com esses parâmetros, ler uma palavra levará três ciclos de barramento, começando na borda ascendente de T1 e o terceiro termina na borda ascendente de T4. 





Sinais de controle:     





φ  = relógio.

ENDEREÇO: sinais de endereçamento. DADOS = dados a transferir.

MREQ : requisição de referência à memória. Ativo em baixo. RD : ativo = leitura, inativo = escrita. Ativo em baixo. WAIT : sinaliza estado de espera até que a memória consiga atender à requisição. Ativo em baixo.

Operação: A operação é disparada pela transição positiva do relógio em T1. O processador coloca o endereço, que ele quer ler, na linha de endereço durante o meio ciclo alto de T1. Para representar que o endereço não é um valor único ele é representado por duas linhas que se cruzam no instante que o endereço é enviado (área branca). Após estabilização do endereço, disparado pela transição, o processador  ativa MREQ para indicar que é a memória que está sendo acessada e RD para indicar que é uma leitura.  











No início de T2, a memória ativa WAIT , sinalizando que não tem condições de fornecer o dado neste ciclo, uma vez que a memória leva 15 ηs, após o endereço estar estável, para responder. Esta ação inserirá estados de espera no barramento até que a memória conclua e desative WAIT . Na transição positiva de T3, a memória desativa WAIT , sinalizando que terá os dados disponíveis neste ciclo. Durante a 1ª metade do ciclo T3 a memória coloca os dados na via de dados. Na transição descendente de T3 o processador lê os dados no barramento, armazena em um registrador interno e desativa os sinais MREQ e RD .

9

Prof. Mario F. G. Boaratti - Arquitetura de Computadores 

Se for o caso um novo ciclo de leitura pode ser iniciado na súbita de T4 e Assim por diante.

≈2,2η ≈1,8η

≈1,4η

≈4,6η

≈1,4η

≈1,8η

0

2,2η



6,8η

22,8η 10η

20η

27,8η

30η

16η Tanenbaum (2007) pág. 105

Figura 10 - Diagrama temporal no barramento síncrono Tabela 1: Especificação de tempos críticos do barramento síncrono

Tanenbaum (2007) pág. 105



Tempos requeridos pelo fabricante da CPU e seus significados, tabela 1: 





O Processador deve gerar endereços, no máximo, TAD = 4ηs após a transição positiva de T1. O dado deve estar disponível, no mínimo, TDS = 2ηs antes da transição negativa de T3 para dar tempo de se acomodarem antes que a CPU os leia. A combinação de restrições impostas por T AD e TDS indica que no pior caso a memória dispõe de (T1+T2+T3/2) - TAD - TDS = 25η - 4η - 2η = 19ηs, a partir  do aparecimento do endereço, para liberar os dados a serem lidos. 10

Prof. Mario F. G. Boaratti - Arquitetura de Computadores 









As limitações impostas a TM e TRL significam que ambos, MREQ e RD , serão ativados dentro de 3ηs a partir da borda descendente T1 do relógio. Isto implica que a memória terá apenas T2↓ - T1↓) + (T3↓ - T2↓) - TM - TDS = 10η + 10η - 3η - 2η = 15ηs, para colocar os dados no barramento após a ativação de MREQ e RD . No exercício da figura 9 como TM ≈ 1,8ηs e T DS ≈ 2,2ηs implica que a memória terá 16ηs (um pouco de folga em relação o mínimo). TMH e TRH informam quanto tempo leva para MREQ e RD serem desativados após a leitura dos dados. Finalizando, TDH indica por quanto tempo a memória deve sustentar os dados no barramento após a desativação de RD . Neste exemplo é percebido pelo diagrama de tempo que do instante da ativação de MREQ e RD até o início da entrega dos dados se passaram 16ηs. Uma memória de 20ηs, perderia o momento da entrega e teria de inserir um segundo estado de espera e responder durante T4.

Barramento assíncrono o o

o

o

o o

Não possui um relógio mestre. As operações podem levar o tempo que for necessário para serem realizadas e não um número inteiro de ciclos de relógio como ocorre no barramento síncrono. Vantagem: suporta pares mestre-escravo heterogêneos (lentos e rápidos) no mesmo barramento. Este barramento funciona em malha fechada a partir de um protocolo denominado "Aperto de Mão" completo (hand-shake). Os sinais de controle gerados pelo escravo são disparados em resposta aos sinais gerados pelo mestre, e viceversa. Desvantagem: é mais difícil de implementar. Pouco utilizado. Como exemplo do funcionamento de um barramento assíncrono, considere o diagrama temporal da figura 11, obtida de Tanenbaum (2007) pág. 106. Sinais de controle: 





MSYN: Master Syncrhonization. Ativo em baixo.



SSYN : Slave Syncrhonization. Ativo em baixo.



MREQ : requisição de referência à memória. Ativo em baixo.



RD: ativo = leitura, inativo = escrita. Ativo em baixo.

Operação: 



Após colocar o endereço no barramento e ativar os sinais MREQ e RD o mestre ativa MSYN . Em resposta a MSYN o escravo o mais rápido que puder coloca os dados requeridos no barramento e ativa SSYN , indicando que terminou. 11

Prof. Mario F. G. Boaratti - Arquitetura de Computadores 

Ao perceber o SSYN ativado o mestre sabe que os dados estão disponíveis e os lê. Em seguida desativa MREQ , RD e MSYN .

Em resposta, o escravo desativa SSYN . Os diagramas temporais assíncronos podem utilizar setas para mostrar  causa e efeito como pode ser visto na figura 11. As operações completas são independentes de temporização. Cada evento é causado por um evento anterior e não por um pulso de relógio. Um par mestre-escravo lento não afetará o desempenho de um mestre-escravo subseqüente que é mais rápido.  

o

o

Tanenbaum (2007) pág. 106

Figura 11 - Diagrama temporal no barramento assíncrono Mestre e escravo:

Alguns dispositivos ligados ao barramento são ativos e podem iniciar transferências no barramento, estes são denominados de mestre (master), enquanto outros são passivos e esperam pelas requisições, estes são denominados de escravos (slave). Em alguns casos um mesmo dispositivo pode atuar hora como mestre, hora como escravo. Por  exemplo, quando a CPU ordena a um controlador de disco que leia ou escreva um bloco, ela está agindo como mestre e o controlador de disco como escravo. Mais tarde, o controlador de disco pode agir como um mestre quando manda a memória aceitar as palavras que são lidas do drive de disco. Algumas combinações típicas mestre–escravo estão relacionadas na Tabela 2. As memórias sempre atuam como escravos. Tabela 2: Exemplos de mestres e escravos de barramentos.

Tanenbaum (2007) pág. 102

12

Prof. Mario F. G. Boaratti - Arquitetura de Computadores

Arbitragem de barramento



Alguns dispositivos no barramento podem se tornar mestres de transferência de dados. E se dois ou mais dispositivos quiserem se tomar mestres de transferência de dados ao mesmo tempo? o Deve existir algum mecanismo de arbitragem para evitar conflitos.



Arbitragem é o mecanismo de seleção do mestre do barramento quando dois ou mais dispositivos desejam tomar posse do mesmo barramento simultaneamente. o Mecanismos de arbitragem podem ser centralizados ou descentralizados.



Arbitragem Centralizada: o

Uma forma simples de arbitragem centralizada é mostrada na figura 12.

Tanenbaum (2007) pág. 107

Figura 12 – Arbitragem centralizada o o

o

Um único árbitro de barramento determina quem ocupa o barramento. O árbitro pode estar fisicamente localizado no próprio processador ou em outro chip dedicado a esta função. Este esquema é denominado Daisy Chaining ou encadeamento em série: Os Dispositivos fazem requisição através da única linha wired-OR à qual todos estão conectados e que é ligada ao árbitro, figura 12a. A linha é ativada quando um ou mais dispositivos requisitam o barramento (OU lógico dos sinais de requisição do barramento (Bus Request) de todos os dispositivos). O árbitro só pode distinguir a ausência ou presença de requisição sem saber  quantos são. Quando isto ocorre, ativa a linha de concessão de uso (Bus Grant - garantia de uso do barramento), ligada em série através de todos os dispositivos de E/S. Esta concessão de uso é passada de um dispositivo para outro da cadeia, a partir do árbitro, até alcançar um que tenha feito uma requisição. 







13

Prof. Mario F. G. Boaratti - Arquitetura de Computadores 



o

O dispositivo que fez uma requisição e que primeiro recebe a permissão interrompe a cadeia (não repassa a permissão à diante) e toma posse do barramento. A prioridade de posse é baseada na distância física ao árbitro. O que está mais próximo vence.

A rigidez imposta pelo esquema de prioridades pode ser contornada usando dois ou mais pares de linhas de requisição e concessão, com níveis de prioridades distintas. Sendo assim, o árbitro só liberará a permissão para a linha de concessão de maior prioridade dentre os níveis que fizerem requisições simultâneas. Entre os dispositivos da mesma prioridade é usado o encadeamento em série. Na figura 12b, se ocorrer algum conflito, o dispositivo 2 vence o dispositivo 4, que vence o 3. O dispositivo 5 tem a menor prioridade porque está no final da linha de encadeamento de menor prioridade. Barramentos reais costumam ter 4, 8 ou 16 níveis. 

 





o

O árbitro pode ter uma terceira linha que um dispositivo qualquer ativa quando aceita uma concessão e toma o barramento, então: No instante que o dispositivo ativa essa linha de reconhecimento, as linhas de requisição e concessão podem ser desativadas. Outros dispositivos podem então requisitar o barramento enquanto o primeiro dispositivo o estiver usando. No instante em que a transferência em questão for concluída, o próximo mestre de transferência de dados já terá sido selecionado. Ele pode começar logo que a linha de reconhecimento tenha sido desativada, quando então pode ser  iniciada a próxima rodada de arbitragem e assim sucessivamente. Esse esquema requer uma linha de barramento extra e mais lógica em cada dispositivo, mas faz melhor uso de ciclos de barramento. Nos sistemas em que a memória está ligada no barramento comum aos dispositivos E/S, o processador competirá pela posse na maioria dos ciclos, de modo que é aconselhável atribuir ao processador a mais baixa prioridade. Supondo que o processador pode esperar, mas E/S não, pois podem perder os dados. O uso de um barramento dedicado entre memória e processador contorna este problema. 







o



Arbitragem Descentralizada: o

o

Não existe a figura do árbitro. O processo de arbitragem é distribuído entre todos os dispositivos. Um exemplo de arbitragem descentralizada é mostrado na figura 13. Usa apenas três linhas, não importando quantos dispositivos estiverem presentes. 

14

Prof. Mario F. G. Boaratti - Arquitetura de Computadores

Tanenbaum (2007) pág. 108

Figura 13 - Arbitragem descentralizada 











A primeira linha de barramento é uma linha OU cabeada (wired-OR) para requisitar o barramento. A segunda linha de barramento é denominada BUSY e é ativada pelo mestre de transferência de dados corrente. A terceira linha é usada para arbitrar o barramento. Ela está ligada por  encadeamento em série a todos os dispositivos. O início dessa cadeia é ativado ligando-a a uma fonte de energia de 5 volts. O sinal de arbitragem se propaga livremente através de todos os dispositivos quando barramento não estiver sendo usado. Para cada dispositivo, a linha de arbitragem tem um terminal de entrada ( IN ) e um de saída (OUT ). Um dispositivo que deseja se tornar mestre deve monitorar a linha BUSY até o barramento ser desocupado e verificar se o sinal de arbitragem (+5V) está ativo na sua entrada (IN ). Caso IN não estiver ativo, não pode se tornar mestre. Caso IN  estiver ativo, o dispositivo nega OUT . O seu vizinho percebe a negação e nega o seu OUT , e assim por diante no resto da cadeia, desativando os IN s seguintes. Este dispositivo torna-se mestre, ativa BUSY e inicia a sua transferência. A prioridade depende da distância do dispositivo ao inicio da linha de arbitragem, logo o dispositivo mais a esquerda tem maior prioridade.  



o

Vantagens: É mais barato; Mais rápido; Não está sujeito à falha do árbitro.   



Arbitragem com Requisições independentes o

o

o

Cada dispositivo mestre é conectado ao árbitro central por linhas de grant  e request separadas; O árbitro central pode utilizar diversas políticas de alocação para definir quem deve ter acesso ao barramento; Técnica utilizada pelo barramento PCI; 15

Prof. Mario F. G. Boaratti - Arquitetura de Computadores o

Desvantagem: implementação complexa.

Figura 14 - Arbitragem com requisições independentes Operações de barramento



Transferência em Bloco: o

o o

Normalmente só uma palavra é transferida por vez. Contudo, quando é usado caching, é desejável buscar uma linha inteira de cache por vez (por exemplo, 16 palavras de 32 bits consecutivas). Mais eficiente do que transmitir uma palavra por vez. Operação: Na figura 22 vemos um exemplos de transferência em blocos. Quando uma leitura de bloco é iniciada, instante T1, o mestre de transferência ativa um sinal de controle BLOCK para requisitar a transferência em bloco de dados e informa ao escravo quantas palavras serão transferidas. Em resposta, em vez de retornar apenas uma palavra, o escravo entrega uma palavra durante cada ciclo, decrementando o contador, até esgotar aquele número de palavras solicitadas. Veja que nesse exemplo, uma leitura de bloco de 4 palavras demora apenas 6 ciclos de relógio em vez de 12.  





Tanenbaum (2007) pág. 108

Figura 15 - • Transferência em Bloco 16

Prof. Mario F. G. Boaratti - Arquitetura de Computadores



Transferência com bloqueio de leitura: o

o



Em sistemas multiprocessados (com mais que um processador), é necessário assegurar que apenas um processador de cada vez terá acesso aos dados compartilhados. A solução é disponibilizar um ciclo especial para ler-modificar-escrever, que possibilita que, sem liberar o barramento, um processador leia uma palavra, altere o seu valor e escreva o novo valor de volta na memória sem que outro processador possa referenciar essa palavra enquanto durar a transação.

Transferência usando Interrupções: o

o

Quando dois ou mais dispositivos solicitam interrupção através do barramento, é necessário um sistema de arbitragem, com atribuição de prioridades. A solução mais comum é utilizar um árbitro centralizado, um chip Controlador de Interrupções. Existem vários controladores de interrupções padronizados um exemplo é o Controlador de Interrupção 8259A da Intel, ilustrado na figura 23.

Tanenbaum (2007) pág. 109

Figura 16 – Exemplo de controlador de Interrupções 









O controlador dispõe de registradores internos que podem ser lidos ou escritos pelo processador usando sinais do barramento RD (Read = leitura), WR (Write = escrita), CS  (Chip Select = seleção de chip) e A0 (command select address input). Os registradores internos podem ser escritos para escolher o modo de operação do 8259A. Oito entradas de interrupção IR0 — IR7 (Interrupt Request) recebem pedidos de interrupção de dispositivos com diferentes prioridades. Quando uma ou mais entradas IR são ativadas, o controlador ativa o sinal de interrupção do processador INT (Interrupt). O processador em condições de atender interrupção ativa o sinal INTA (Interrupt Acknowledge) de confirmação para o controlador. 17

Prof. Mario F. G. Boaratti - Arquitetura de Computadores 





O controlador devolve ao processador qual foi o dispositivo que solicitou a interrupção colocando o seu número na via de dados (D 0 — D7). O processador usa este número para indexar em uma tabela de ponteiros, chamada vetor de interrupção, para achar o endereço do procedimento e executar para atender à interrupção. Ao fim da interrupção o processador escreve um código apropriado no controlador, de modo a avisá-lo que está pronto para atender outras interrupções. Em resposta, o controlador desativa INT, desde que não exista uma outra interrupção pendente.

Recomendação de leitura para este capítulo: Tanenbaum (2007) das págs.100 até 109.

Referências bibliográficas:

TANENBAUM, Andrew S. Organização estruturada de computadores. 5ª edição. São Paulo, Ed. Prentice Hall do Brasil, 2007. MONTEIRO, M. A. Introdução à organização de computadores. 3ª edição. RJ, Ed. LTC, 1996. SOUZA, D. J. Desbravando o PIC - Ampliado e Atualizado para PIC 16F628A. 12ª edição. São Paulo, Ed. Érica, 2007. MORIMOTO, Carlos E. Hardware, o Guia Definitivo. Disponível em: < http://www.gdhpress.com.br/hardware/leia/index.php?p=cap3-14>, 2007. Acessado em: 08/2010. TORRES, Gabriel e LIMA, Cássio. Tudo o Que Você Precisa Saber Sobre Chipsets. Disponível em: , 2005. Acessado em: 08/2010. TORRES, Gabriel e LIMA, Cássio. Barramento HyperTransport Usado Pelos Processadores da AMD. Disponível em: < http://www.clubedohardware.com.br/artigos/522>, 2007. Acessado em: 08/2010.

18

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF