12.07.2015 Views

Barramentos da placa de CPU.pdf

Barramentos da placa de CPU.pdf

Barramentos da placa de CPU.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

12-4 Hardware Total<strong>placa</strong> <strong>de</strong> <strong>CPU</strong> po<strong>de</strong> ter o processador operando com barramento <strong>de</strong> 100MHz e as memórias operando a 133 MHz. Ter a memória mais rápi<strong>da</strong> évantajoso no caso <strong>de</strong> <strong>placa</strong>s com ví<strong>de</strong>o onboard, já que estaria sendoacessa<strong>da</strong>, ora pelo processador, ora pelos circuitos <strong>de</strong> ví<strong>de</strong>o. Neste caso obarramento <strong>da</strong> memória seria o <strong>de</strong> tráfego mais intenso do computador.Veloci<strong>da</strong><strong>de</strong> do barramento do processadorOs barramentos <strong>de</strong> todos os processadores mo<strong>de</strong>rnos operam <strong>de</strong> formasíncrona, ou seja, os eventos são sincronizados com um sinal <strong>de</strong> clock. Nosprocessadores antigos, ca<strong>da</strong> operação era feita em dois, três ou mais períodos<strong>de</strong> clock. Nos processadores mo<strong>de</strong>rnos, ca<strong>da</strong> operação po<strong>de</strong> ser feita em umsó período <strong>de</strong> clock. Infelizmente nem sempre as memórias e outrosdispositivos são tão velozes a ponto <strong>de</strong> acompanhar esta veloci<strong>da</strong><strong>de</strong>, e assimsão feitas prorrogações chama<strong>da</strong>s <strong>de</strong> wait states. Por exemplo, um PentiumIII operando com 64 bits (8 bytes) e clock <strong>de</strong> 100 MHz externos, ofereceuma taxa <strong>de</strong> transferência máxima <strong>de</strong> 800 MB/s (100 MHz x 8). Na práticaeste valor não é alcançado, pois nem to<strong>da</strong>s as transferências po<strong>de</strong>m ser feitasem um único ciclo. Por exemplo, to<strong>da</strong>s as memórias mo<strong>de</strong>rnas po<strong>de</strong>mtransferir <strong>da</strong>dos a ca<strong>da</strong> período <strong>de</strong> clock, porém o primeiro <strong>da</strong>do <strong>de</strong>moramais estar pronto, é o que chamamos <strong>de</strong> latência. Devido às latências <strong>da</strong>smemórias e <strong>de</strong> outros dispositivos mais lentos, a taxa <strong>de</strong> transferênciamáxima nunca é obti<strong>da</strong> na prática.A veloci<strong>da</strong><strong>de</strong> máxima teórica <strong>de</strong> um barramento é um ponto bastanteimportante, por isso vamos discutir o assunto com mais <strong>de</strong>talhes. Tanto éassim que ao lançar novos processadores (como o caso do Athlon/Duron edo Pentium 4 e Itanium), a Intel e AMD se preocuparam em oferecer taxas<strong>de</strong> transferência bem eleva<strong>da</strong>s. Para calcular a taxa <strong>de</strong> transferência, bastamultiplicar o clock externo do processador pelo número <strong>de</strong> bytes do seubarramento <strong>de</strong> <strong>da</strong>dos. No caso <strong>de</strong> processadores que operam com DDR(Athlon e Duron) o clock <strong>de</strong>ve ain<strong>da</strong> ser multiplicado por 2, e paraprocessadores que operam com QDR (Quad Data Rate, como é o caso doPentium 4 e do Xeon), o clock <strong>de</strong>ve ser multiplicado por 4. A tabela a seguirmostra a taxa <strong>de</strong> transferência máxima teórica dos principais processadoresproduzidos nos últimos anos.ProcessadorClockexternoTransferênciaspor cicloTaxa <strong>de</strong>transferênciamáxima teóricaPentium / Pentium MMX 66 MHz 1 533 MB/sK6-2 / K6-III 100 MHz 1 800 MB/sPentium II / Celeron 66 MHz 1 533 MB/s


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-5Pentium II 350+ 100 MHz 1 800 MB/sPentium III, Celeron-800+ 100 MHz 1 800 MB/sPentium IIIB 133 MHz 1 1066 MB/sAtlhlon / Duron 100 MHz 2 1600 MB/sthlon / Duron 133 MHz 2 2133 MB/sPentium 4, Xeon 100 MHz 4 3200 MB/sAs latências <strong>da</strong>s memórais impe<strong>de</strong>m que essas taxas sejam obti<strong>da</strong>s naprática. Um outro fator po<strong>de</strong> ain<strong>da</strong> fazer com que a taxa real seja ain<strong>da</strong>menor. Por exemplo, se um processador Athlon ou Duron operando combarramento <strong>de</strong> 100 MHz (200 MHz efetivos usando DDR) for ligado amemórias PC133, o <strong>de</strong>sempenho do seu barramento será menor que o <strong>de</strong>um processador que use barramento <strong>de</strong> 133 MHz, e não <strong>de</strong> 200 MHz.Exemplo <strong>de</strong> barramento: Pentium MMX e Socket 7Sempre encontramos nos manuais dos processadores, disponíveis no sitesdos seus fabricantes, especificações <strong>de</strong>talha<strong>da</strong>s sobre seus barramentos.Apenas como ilustração, mostraremos a seguir algumas informações sobre obarramento do processador Pentium MMX, compatível com os utilizados poroutros processadores para o Socket 7. A figura 3 mostra a numeração dospinos do processador, bem como os nomes recebidos por ca<strong>da</strong> um <strong>de</strong>ssespinos.Figura 12.3Pinagem do Pentium MMX.


12-6 Hardware TotalObserve que vários pinos têm as indicações VSS, VCC2 e VCC3. Os 53pinos VSS são ligados ao terra <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> (tensão <strong>de</strong> 0 volts). Os 28pinos <strong>de</strong> VCC3 são para a tensão externa do processador, com 3,3 volts. Os25 pinos <strong>de</strong> VCC2 recebem no caso do Pentium MMX, uma alimentação <strong>de</strong>2,8 volts, porém em outros processadores esta alimentação tem valoresdiferentes, e normalmente menores. Esta tensão alimenta o núcleo doprocessador. O uso <strong>de</strong> vários pinos <strong>de</strong> alimentação serve para garantir umamelhor distribuição <strong>de</strong> correntes <strong>de</strong>ntro do chip e ao longo <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>.A figura 4 mostra os barramentos <strong>de</strong> <strong>da</strong>dos e <strong>de</strong> en<strong>de</strong>reços. São ao todo 29pinos <strong>de</strong> en<strong>de</strong>reços (A3 a A31), com os quais po<strong>de</strong>m ser en<strong>de</strong>reça<strong>da</strong>s 512 Mcélulas <strong>de</strong> 64 bits, totalizando 4 MB. Como ca<strong>da</strong> célula <strong>de</strong> 64 bits po<strong>de</strong> terseus bytes en<strong>de</strong>reçados individualmente, este processador tem mais 8 sinais<strong>de</strong> controle (BE0-BE7) que fazem este en<strong>de</strong>reçamento adicional. Porexemplo, o processador po<strong>de</strong> especificifar uma célula <strong>de</strong> 64 bits qualquer eatravés dos sinais BE0-BE7, acessar apenas o valor <strong>de</strong> 8 bits armazenado no3 o byte <strong>de</strong>sta célula, ou o valor <strong>de</strong> 16 bits armazenado no 5 o e no 6 o , bytes,ou ain<strong>da</strong> acessar o valor <strong>de</strong> 32 bits encontrado no 2 o , 3 o , 4 o e 5 o byte. Po<strong>de</strong>ain<strong>da</strong> usar a célula inteira como um valor <strong>de</strong> 64 bits, ou então obter esses 64bits, parte <strong>da</strong> célula atual e parte <strong>da</strong> célula seguinte. A figura 4 mostra an<strong>da</strong>os 64 pinos que formam o barramento <strong>de</strong> <strong>da</strong>dos (D0 a D63).Figura 12.4<strong>Barramentos</strong> <strong>de</strong> <strong>da</strong>dos e <strong>de</strong> en<strong>de</strong>reçosdo Pentium MMX.O mais complexo barramento do processador é o do controle, on<strong>de</strong>encontramos uma gran<strong>de</strong> miscelânea <strong>de</strong> sinais (figura 5). Alguns são <strong>de</strong> fácilentendimento, bastando ter conhecimentos básicos sobre o funcionamentoexterno <strong>de</strong> um processador. Vamos apresentar alguns <strong>de</strong>sses sinais, apenaspara fins ilustrativos. Para obter mais <strong>de</strong>talhes específicos sobre o


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-7funcionamento <strong>de</strong> ca<strong>da</strong> um <strong>de</strong>sses sinais, é preciso fazer o download domanual do processador <strong>de</strong> interesse. Esses manuais são encontrados nos sitesdos fabricantes, como Intel, AMD e VIA.Figura 12.5Sinais <strong>de</strong> controle do Pentium MMX.Aqui vão portanto as <strong>de</strong>scrições <strong>de</strong> alguns <strong>de</strong>sses sinais:SinalA20MADSAP e EADSBF0 e BF1BRDYCLK<strong>CPU</strong>TYPD/CDP0-DP7DescriçãoUsado para <strong>da</strong>r acesso à chama<strong>da</strong> memória HMA, que consiste nos primeiros64 kB localizados após o en<strong>de</strong>reço 1M. É usado quando o processador operano Modo Real, ou seja, o mesmo utilizado pelo MS-DOS.Address Strobe. Indica que o processador está iniciando um novo ciclo. Osciclos po<strong>de</strong>m ser <strong>de</strong> leitura <strong>da</strong> memória, escrita na memória, leitura <strong>de</strong> I/O,escrita em I/O, etc.Usados para geração e checagem <strong>de</strong> pari<strong>da</strong><strong>de</strong> no barramento <strong>de</strong> en<strong>de</strong>reços.Indica o multiplicador usado para <strong>de</strong>finir o clock interno, em função do clockextenro (2x, 2,5x, 3x e 3,5x, no caso do Pentium MMX). Processadores comoo K6-2 possuem ain<strong>da</strong> um pino adicional BF2 para a <strong>de</strong>finição <strong>de</strong>multiplicadores maiores. Esses pinos são ligados aos jumpers <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>que fazem a programção dos multiplicadores.Indica ao processador se a atual transferência em modo burst já está finaliza<strong>da</strong>ou se <strong>de</strong>vem ser usados wait states.Através <strong>de</strong>sta entra<strong>da</strong> o processador recebe o seu clock externo.Usado para distinguir entre processador primário e secundário, em <strong>placa</strong>sequipa<strong>da</strong>s com mais <strong>de</strong> um processador.Data/Co<strong>de</strong>. Através <strong>de</strong>ste sinal o processador indica se está fazendo um acessoa <strong>da</strong>dos ou a instruções <strong>de</strong> programas.Usados para geração e controle <strong>de</strong> pari<strong>da</strong><strong>de</strong> no barramento <strong>de</strong> <strong>da</strong>dos. Ca<strong>da</strong> um<strong>de</strong>sses 8 sinais representa a pari<strong>da</strong><strong>de</strong> <strong>de</strong> 8 bits do barramento <strong>de</strong> <strong>da</strong>dos.


12-8 Hardware TotalFERRHOLDHLDAM/IOR/WRESETFloating Point Erros. Usado para indicar a ocorrência <strong>de</strong> um erro <strong>de</strong> pontoflutuante, resultante <strong>de</strong> uma operação matemática inváli<strong>da</strong> feita pela uni<strong>da</strong><strong>de</strong><strong>de</strong> ponto flutuante, como uma divisão por zero ou raiz quadra<strong>da</strong> <strong>de</strong> umnúmero negativo.Por esta entra<strong>da</strong> o processador recebe uma requisição para que entre em altaimpedância (tristate), possibilitando que outro chip tome o controle dobarramento. É usado em transferências <strong>de</strong> DMA e Bus Mastering.HOLD Acknowledge. O processador informa que está entrando em modo <strong>de</strong>tristante. A partir <strong>da</strong>í o barramento po<strong>de</strong> ser usado por outros chips.O processador indica se está acessando uma posição <strong>de</strong> memória ou umainterface <strong>de</strong> I/O (entra<strong>da</strong> e saí<strong>da</strong>).O processador indica se está realizando uma operação <strong>de</strong> leitura ou escrita.Ao receber um comando nesta entra<strong>da</strong>, o processador realiza seu processo <strong>de</strong>RESET interno. Este sinal <strong>de</strong>ve ser ativado mediante o botão RESET dogabinete, e também quando o computador é ligado (Power-on RESET).Esses são apenas alguns dos sinais <strong>de</strong> controle <strong>de</strong>ste processador, que sãoencontrados também nos processadores mais mo<strong>de</strong>rnos. Nossa intenção aquinão foi <strong>de</strong>screver <strong>de</strong>talha<strong>da</strong>mente todos os sinais, mas apenas <strong>da</strong>r ao leitoruma idéia do tipo <strong>de</strong> função realiza<strong>da</strong> por esses sinais.O barramento <strong>da</strong>s memóriasNas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> antigas, as memórias eram liga<strong>da</strong>s diretamente aobarramento do processador, através <strong>de</strong> chips chamados buffers bidirecionais.Esses chips tinham como único objetivo amplificar a corrente vin<strong>da</strong> doprocessador, permitindo que o barramento <strong>de</strong> <strong>da</strong>dos fosse ligado a umnúmero gran<strong>de</strong> <strong>de</strong> chips <strong>de</strong> memória. Portanto a veloci<strong>da</strong><strong>de</strong> do barramentodo processador era igual à veloci<strong>da</strong><strong>de</strong> do barramento <strong>da</strong>s memórias.Veloci<strong>da</strong><strong>de</strong> do barramento <strong>da</strong>s memóriasAtualmente as memórias são liga<strong>da</strong>s ao processador através do chipset. Afunção do chipset nesta conexão não é <strong>de</strong> apenas aplificar corrente. Amaioria dos chipsets possui registradores que permitem que a memória opere<strong>de</strong> forma assíncrona ao processador, ou seja, com um clock diferente. Algunschipsets po<strong>de</strong>m ter o processador operando a 100 MHz e as memórias a 66,ou 133 MHz. Outros po<strong>de</strong>m ter o processador operando a 200 MHz e asmemórias a 133. Existem vários outros exemplos <strong>de</strong> clocks diferentes. Nessescasos dizemos que a memória está operando <strong>de</strong> forma assíncrona aoprocessador.Po<strong>de</strong>mos encontrar barramentos <strong>de</strong> memória operando com diversas veloci<strong>da</strong><strong>de</strong>s:Tipo <strong>de</strong> memória Clock Transferênciaspor cicloTaxa <strong>de</strong> transferênciamáxima teórica


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-9FPM, EDO 66 MHz 1/3 176 MB/s (*)SDRAM PC66 66 MHz 1 533 MB/sSDRAM PC100 100 MHz 1 800 MB/sSDRAM PC133 133 MHz 1 1067 MB/sDDR200 100 MHz 2 1600 MB/sDDR266 133 MHz 2 2133 MB/sDDR300 150 MHz 2 2400 MB/sDDR333 166 MHz 2 2666 MB/sDDR400 200 MHz 2 3200 MB/sRDRAM 100 MHz 4 3200 MB/s (**)(*) Memórias FPM e EDO gastam <strong>de</strong> 2 a 4 ciclos em Page Mo<strong>de</strong> para fazer ca<strong>da</strong> transferência,por isso consi<strong>de</strong>ramos uma média <strong>de</strong> 3 ciclos para ca<strong>da</strong> transferência, ou 1/3 <strong>de</strong> transferência aca<strong>da</strong> ciclo.(**) Um módulo RDRAM opera com 1600 MB/s, porém são usados aos pares, resultando em3200 MB/s. Note ain<strong>da</strong> que a DDR SDRAM mais veloz indica<strong>da</strong> na tabela é a DDR400,porém na época em que a RDRAM oferecia 3200 MB/s, a DDR mais veloz era a DDR266.Juntamente com a chega<strong>da</strong> <strong>de</strong> chips DDR mais velozes, chegarão tambem ao mercado chipsRDRAM também com maior veloci<strong>da</strong><strong>de</strong>.As taxas <strong>de</strong> transferência mostra<strong>da</strong>s na tabela acima são meros limitesteóricos, e nunca são obtidos na prática. São taxas momentâneas quevigoram apenas quando a transferência se dá em modo burst. Essas taxasnão são sustenta<strong>da</strong>s por períodos significativos, já que a ca<strong>da</strong> 3 transferênciasem que usam um só ciclo, é exigi<strong>da</strong> uma transferência inicial que dura 2 ou3 ciclos (latência 2 ou 3), resultando em temporizações como 2-1-1-1 ou 3-1-1-1, o que resulta em 0,8 e 0,75 transferências por ciclo, em média. Mais tempoé perdido antes <strong>de</strong> ca<strong>da</strong> transferência, ao serem usados os comandos <strong>de</strong>leitura e gravação, on<strong>de</strong> mostramos como são as formas <strong>de</strong> on<strong>da</strong> dos acessosaos vários tipos <strong>de</strong> memória). Finalmente um outro fator contribui parareduzir ain<strong>da</strong> mais o <strong>de</strong>sempenho, que é a atuação <strong>da</strong> cache. A maioria dosacessos à memória passam pelas caches do processador, mas certos ciclospo<strong>de</strong>m ser feitos no modo uncached. O processador estaria neste casofazendo leituras e escritas diretamente na memória, e sem usar o modo burst(transferências <strong>da</strong> cache são feitas em grupos <strong>de</strong> 4 acessos consecutivos).Os sinais <strong>de</strong> um barramento <strong>de</strong> memóriaExistem algumas diferenças, principalmente no número <strong>de</strong> bits dobarramento <strong>de</strong> <strong>da</strong>dos e <strong>de</strong> en<strong>de</strong>reços dos chips <strong>de</strong> memória. Já obarramento <strong>de</strong> memória não admite variações. Existe um padrão que <strong>de</strong>veser seguido por todos os fabricantes. Por exemplo, os barramentos dosmódulos SDRAM DIMM/168 <strong>de</strong>vem ter sempre 64 ou 72 bits. Diferençaspo<strong>de</strong>m existir nos barramentos <strong>de</strong> en<strong>de</strong>reços, já que módulos <strong>de</strong> maior


12-10 Hardware Totalcapaci<strong>da</strong><strong>de</strong> exigem mais bits para seu en<strong>de</strong>reçamento. Entretanto, no mesmosoquete on<strong>de</strong> instalamos um módulo <strong>de</strong> 512 MB, também precisam sersuportados módulos <strong>de</strong> menores capaci<strong>da</strong><strong>de</strong>s, o que resulta em variações nonúmero <strong>de</strong> bits <strong>de</strong> en<strong>de</strong>reços. Essas diferenças não são uma<strong>de</strong>spadronização. O que ocorre é que o barramento <strong>de</strong>ve ser compatívelcom módulos <strong>de</strong> diferentes capaci<strong>da</strong><strong>de</strong>s. Outros sinais são padronizados emmódulos <strong>de</strong> qualquer capaci<strong>da</strong><strong>de</strong>. Por exemplo, os sinais RAS e CAS dosmódulos SDRAM DIMM/168 <strong>de</strong>vem sempre ocupar os pinos 115 e 111,respecticamente. A figura 6 mostra a utilização <strong>de</strong> todos os pinos dobarramento utilizado pelas memórias SDRAM DIMM/168.*** 75%***Figura12.6Pinagem <strong>de</strong> umbarramento <strong>de</strong>memóriaSDRAMDIMM/168.A seguir apresentamos uma breve <strong>de</strong>scrição dos mais importantes sinais <strong>de</strong>um barramento <strong>de</strong> SDRAM DIMM/168.SinalRASCASWECK0-CK3DQ0-DQ63CB0-CB7A0-A12DescriçãoRow Address Strobe. Ligado diretamente aos pinos <strong>de</strong> RAS dos chips<strong>de</strong> memória encontrados nos módulos DIMM/168.Column Address Strobe. Ligado diretamente aos pinos <strong>de</strong> CAS doschips <strong>de</strong> memória.Write Enable. Também ligado nos pinos <strong>de</strong> mesmo nome nas memórias,é usado para indicar se a atual operação é <strong>de</strong> leitura (bit 1) ou escrita (bit0).São sinais idênticos e transmitem aos chips do módulo, os sinais <strong>de</strong>clock necessários aos seu funcionamento. Em módulos PC133, esteclock é <strong>de</strong> 133 MHz.São os 64 bits do barramento <strong>de</strong> <strong>da</strong>dos do módulo.São 8 bits adicionais usados para checagem <strong>de</strong> erros (Pari<strong>da</strong><strong>de</strong> ou ECC)Barramento <strong>de</strong> en<strong>de</strong>reços, especifica a célula <strong>de</strong> memória a ser acessa<strong>da</strong>.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-11BA0, BA1 Selecionamento <strong>de</strong> banco. Ca<strong>da</strong> chip <strong>de</strong> SRAM possui 4 bancosinternos. Esses dois bits são usados para o selecionamento do banco<strong>de</strong>sejado. O mesmo selecionamento é enviado a todos os chips domódulo.S0, S1, S2, S3 Selecionamento <strong>de</strong> banco <strong>de</strong>ntro do módulo. Existem módulos <strong>de</strong> 1 e <strong>de</strong>dois bancos. Normalmente os <strong>de</strong> 1 banco usam chips <strong>de</strong> um só lado,enquanto os <strong>de</strong> 2 bancos possuem chips em ambos os lados. O primeirobanco é sempre ativado pelos sinais S0 e S2, enquanto o segundo banco,quando existe, é ativado pelos sinais S1 e S3.DQMB0-DQMB7 Ca<strong>da</strong> um <strong>de</strong>sses 8 bits <strong>de</strong> controle ativa o bits consecutivos dobarramento <strong>de</strong> <strong>da</strong>dos do módulo. DQMB0 habilita os bits DQ0-DQ7;DQMB1 habilita os bits DQ8-DQ15, e assim por diante, até DQMB7que habilita os bits DQ56-DQ63. Através <strong>de</strong>sses controles, o chipset,mediante comando apropriado do processador, po<strong>de</strong> acessar grupos <strong>de</strong>8, 16, 32 ou 64 bits na célula en<strong>de</strong>reça<strong>da</strong>. Isso é útil, por exemplo,quando é preciso gravar um <strong>da</strong>do em um único byte, ou em outrasporções menores que os 64 bits do barramento <strong>de</strong> <strong>da</strong>dos do módulo.VCCAlimentação <strong>de</strong> +3,3 volts.VSSLigados ao terraCélulas <strong>de</strong> memória em um módulo DIMM têm 64 bits, ou seja, 8 bytes. Éinteressante observar como essas células são en<strong>de</strong>reça<strong>da</strong>s. São usados 3grupos <strong>de</strong> sinais:SinaisFuncionamentoS0, S1, S2 e S3 Esses sinais fazem a distinção entre módulos <strong>de</strong> face simples e <strong>de</strong> facedupla. Nos módulos <strong>de</strong> face simples, <strong>de</strong>vem ser ativadossimultaneamente os sinais S0 e S2. Nos módulos <strong>de</strong> face dupla, os sinaisS0 e S2 ativam os chips <strong>de</strong> uma face, e os sinais S1 e S3 ativam os chips<strong>da</strong> outra face. Mais especificamente:S0 ativa os bits DQ0-DQ31 <strong>da</strong> primeira faceS2 ativa os bits DQ32-DQ63 <strong>da</strong> primeira faceS1 ativa os bits DQ0-DQ31 <strong>da</strong> segun<strong>da</strong> faceS3 ativa os bits DQ32-DQ63 <strong>da</strong> segun<strong>da</strong> faceBA0, BA1Portanto esses sinais po<strong>de</strong>m representar até 2 combinações:S0 e S2 ativosS1 e S3 ativosEsses sinais são enviados a todos os chips do módulo. Servem paraselecionar um dos 4 bancos internos que um chip <strong>de</strong> SDRAM po<strong>de</strong> ter.Portanto esses sinais po<strong>de</strong>m representar 4 combinações:Banco 0: BA1=0 e BA0=0Banco 1: BA1=0 e BA0=1Banco 2: BA1=1 e BA0=0Banco 3: BA1=1 e BA0=1


12-12 Hardware TotalA0-A11 ouA0-A12Depen<strong>de</strong>ndo <strong>da</strong> capaci<strong>da</strong><strong>de</strong> do módulo, po<strong>de</strong>m existir 12 bits (A0-A11)ou 13 bits (A0-A12) <strong>de</strong> en<strong>de</strong>reçamento. Este grupo <strong>de</strong> bits é usado duasvezes para indicar a linha e a coluna <strong>de</strong>seja<strong>da</strong>, juntamente com os sinaisRAS e CAS. Po<strong>de</strong>m portanto fornecer nas duas etapas, 24 ou 26 bits <strong>de</strong>en<strong>de</strong>reços. Desta forma é possível en<strong>de</strong>reçar 16M (2 24 ) ou 64M (2 26 )células.Sendo assim, a capaci<strong>da</strong><strong>de</strong> <strong>de</strong> um módulo <strong>de</strong> memória <strong>de</strong>pen<strong>de</strong> obviamentedo número e <strong>da</strong> capaci<strong>da</strong><strong>de</strong> dos chips, mas também <strong>de</strong>ve estar <strong>de</strong> acordocom o número <strong>de</strong> faces e do número <strong>de</strong> bits <strong>de</strong> en<strong>de</strong>reço. Por exemplo, paramódulos com 12 bits <strong>de</strong> en<strong>de</strong>reços e face dupla, a capaci<strong>da</strong><strong>de</strong> máximapermiti<strong>da</strong> é <strong>de</strong>:16M x 2 bancos por módulo x 4 bancos internos x 8 bytes por célula == 1024 MBA tabela abaixo mostra as capaci<strong>da</strong><strong>de</strong>s máximas dos módulos em função donúmero <strong>de</strong> bits <strong>de</strong> en<strong>de</strong>reços e do número <strong>de</strong> faces:En<strong>de</strong>reços Face Capaci<strong>da</strong><strong>de</strong> máximaA0-A11 Simples 512 MBA0-A11 Dupla 1024 MBA0-A12 Simples 2048 MBA0-A12 Dupla 4096 MBÉ claro que a utilização <strong>de</strong>pen<strong>de</strong> também <strong>da</strong> capaci<strong>da</strong><strong>de</strong> <strong>de</strong> ca<strong>da</strong> chip.Quando não existem chips com capaci<strong>da</strong><strong>de</strong> suficiente para criar um módulo<strong>de</strong> alta capaci<strong>da</strong><strong>de</strong> e face simples, são usa<strong>da</strong>s ambas as faces do módulo,com os chips disponíveis.Praticamente todos os sinais do barramento <strong>de</strong> memória passam por todos ossoquetes. Por exemplo, o mesmo barramento <strong>de</strong> <strong>da</strong>dos DQ0-DQ63 passapor todos os soquetes e vai até o chipset. O mesmo ocorre com obarramento <strong>de</strong> en<strong>de</strong>reços e sinais <strong>de</strong> RAS e CAS. Alguns sinais entretantosão distribuídos individualmente ca<strong>da</strong> um dos soquetes. É o caso dos sinais<strong>de</strong> clock, que por serem <strong>de</strong> freqüência muito eleva<strong>da</strong>, são fornecidos em“cópias individuais” para ca<strong>da</strong> soquete. Isso evita que os sinais <strong>de</strong> clocksejam <strong>de</strong>teriorados, coisa que normalmente ocorre em pequena escalaquando um sinal digital é ligado em muitos chips. A maioria dos chipsetspossui vários sinais <strong>de</strong> clock, todos iguais e sincronizados, mas para seremenviados separa<strong>da</strong>mente para ca<strong>da</strong> soquete <strong>de</strong> memória.Sempre que vários circuitos semelhantes são ligados em paralelo é precisoque algum sinal digital faça o selecionamento individual do circuito <strong>de</strong>sejado,


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-13caso contrário todos os circuitos tentariam fornecer <strong>da</strong>dos ao mesmo tempo.Digamos por exemplo que um PC tem 256 MB <strong>de</strong> memória, formados pordois módulos DIMM/168 com 128 MB ca<strong>da</strong>. O chipset precisa saber queen<strong>de</strong>reços <strong>de</strong> 0 até 128 M pertencem ao primeiro módulo, e que en<strong>de</strong>reços<strong>de</strong> 128 M a 256 M pertencem ao segundo módulo (note que a rigor oprimeiro módulo termina no en<strong>de</strong>reço 128M–1, enquanto o segundo começaexatamente no en<strong>de</strong>reço 128M). Os sinais S0, S1, S2 e S3 <strong>de</strong> ca<strong>da</strong> soquete<strong>de</strong> memória são usados para este propósito. O chipset possui vários bits <strong>de</strong>en<strong>de</strong>reçamento através dos quais po<strong>de</strong>m ativar os sinais S0, S1, S2 e S3 <strong>de</strong>ca<strong>da</strong> soquete <strong>de</strong> memória, <strong>de</strong> forma individual. Através do en<strong>de</strong>reço<strong>de</strong>sejado pelo processador, o chipset sabe exatamente qual módulo <strong>de</strong>memória o contém, e ativa os sinais <strong>de</strong> selecionamento <strong>de</strong> banco a<strong>de</strong>quados.*** 35% ***Figura 12.7Sinais do controlador <strong>de</strong> memória do chipset Intel i815.A figura 7 mostra os sinais do controlador <strong>de</strong> memória contido no chipsetIntel i815. Esses sinais têm correspondência direta com o barramento dossoquetes DIMM/168 <strong>da</strong>s memórias SDRAM. Por exemplo, os sinais SMAA[12:0] (o mesmo que SMAA0, SMAA1, ..., SMAA12) são o barramento <strong>de</strong>en<strong>de</strong>reços <strong>da</strong>s memórias. Os sinais SDQM[7:0] são ligados diretamente aospinos DQMB dos soquetes <strong>de</strong> memória. Os sinais SRAS, SCAS e SWE sãoligados diretamente aos pinos RAS, CAS e WE dos soquetes. Já os sinaisSCSA[5:0] e SCSB[5:0] são usados para ligações individuais nos pinos S0, S1,S2 e S3 <strong>de</strong> ca<strong>da</strong> soquete <strong>de</strong> memória. Este chipset permite usar até 3módulos DIMM/168, que <strong>de</strong>vem ter seus sinais <strong>de</strong> selecionamento ligados aochipset <strong>da</strong> seguinte forma:DIMM0 DIMM1 DIMM2S0 = SCSA0 S0 = SCSA2 S0 = SCSA4S2 = SCSB0 S2 = SCSB2 S2 = SCSB4S1 = SCSA1 S1 = SCSA3 S1 = SCSA5S3 = SCSB1 S3 = SCSB3 S3 = SCSB5


12-16 Hardware TotalPlacas <strong>de</strong> <strong>CPU</strong> com slot AGP começaram a se tornar comuns a partir <strong>de</strong>1998. As primeiras <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> a apresentar slot AGP foram as queusavam o chipset Intel i440LX, para Pentium II, e <strong>de</strong>pois as que usavam oi440BX. Outros fabricantes <strong>de</strong> chipsets passaram a <strong>de</strong>senvolver produtos quetambém <strong>da</strong>vam suporte ao barramento AGP. Placas <strong>de</strong> <strong>CPU</strong> para aplataforma Super 7 (K6, K6-2, etc.) também passaram a apresentar slot AGP.Atualmente to<strong>da</strong>s as <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> <strong>de</strong> alto <strong>de</strong>sempenho apresentam um slotAGP. Por outro lado, muitas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> para PCs <strong>de</strong> baixo custo,tipicamente as que possuem ví<strong>de</strong>o onboard, não possuem slot AGP, comraras exceções.AGP e ví<strong>de</strong>o onboardForam produzi<strong>da</strong>s várias <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> com ví<strong>de</strong>o onboard, sem slot AGP,entretanto com os circuitos <strong>de</strong> ví<strong>de</strong>o internamente ligados ao barramentoAGP. Em outras palavras, essas <strong>placa</strong>s possuem barramento AGP mas nãopossuem slot AGP. Elas têm os circuitos <strong>de</strong> ví<strong>de</strong>o embutidos, liga<strong>da</strong>s aobarramento AGP, porém não permitem que o usuário <strong>de</strong>sative o ví<strong>de</strong>oonboard e instale uma <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o AGP. Como na maioria dos casos oví<strong>de</strong>o onboard é <strong>de</strong> baixo <strong>de</strong>sempenho (mesmo sendo AGP), o usuário quequiser melhorar o <strong>de</strong>sempenho do ví<strong>de</strong>o precisa se contentar com uma <strong>placa</strong><strong>de</strong> ví<strong>de</strong>o PCI.Existem entretanto <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> com ví<strong>de</strong>o onboard mas que possuem umslot AGP disponível para expansões. Placas <strong>de</strong> <strong>CPU</strong> com esta característicapo<strong>de</strong>m ser usa<strong>da</strong>s para montar computadores simples, mas que po<strong>de</strong>mposteriormente ser convertidos em mo<strong>de</strong>los mais avançados, através <strong>da</strong>instalação <strong>de</strong> <strong>placa</strong>s <strong>de</strong> expansão apropria<strong>da</strong>s.As várias voltagens do AGPDes<strong>de</strong> que o barramento AGP foi criado, várias versões foram lança<strong>da</strong>s noque diz respeito à voltagem e veloci<strong>da</strong><strong>de</strong>. As primeiras versões operavamcom 3,3 volts. As <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> tinham slots AGP operando com 3,3 vots (aexemplo <strong>da</strong>s memórias, chipsets e o barramento externo dos processadores).As <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o AGP também operavam com os mesmos 3,3 volts, <strong>de</strong>forma compatível com a <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>. Inicialmente foi lançado o AGP <strong>de</strong>veloci<strong>da</strong><strong>de</strong> simples (AGP 1x), <strong>de</strong>pois o AGP 2x e o AGP 4x, duas a 4 vezesmais velozes, respectivamente.Para possibilitar a operação em modo 4x, os níveis <strong>de</strong> voltagem foramalterados para 1,5 volts. Surgiram então os slots AGP para 1,5 volts, capazes<strong>de</strong> operar exclusivamente com este nível <strong>de</strong> voltagem, e os slots AGP


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-17universais, capazes <strong>de</strong> operar tanto com 1,5 como com 3,3 volts. Da mesmaforma existem <strong>placa</strong>s AGP <strong>de</strong> 3,3 volts, <strong>placa</strong>s AGP <strong>de</strong> 1,5 volts e <strong>placa</strong>sAGP universais.A nova versão 3.0 <strong>da</strong> especificação AGP, que suporta o modo <strong>de</strong>transferência em 8x, opera com tensão <strong>de</strong> 0,7 volts, entretanto é utilizado omesmo tipo <strong>de</strong> soquete para <strong>placa</strong>s <strong>de</strong> 1,5 volts. Para manter compatibili<strong>da</strong><strong>de</strong>total, tanto as <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> quanto as <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o AGP 3.0 são capazes<strong>de</strong> operar tanto com 0,7 volts quanto com 1,5 volts. Ambas as <strong>placa</strong>s sãoi<strong>de</strong>ntifica<strong>da</strong>s por novos sinais MB_DET e GC_DET, através dos quais asvoltagens corretas são seleciona<strong>da</strong>s.Note que essas tensões <strong>de</strong> 3,3 volts, 1,5 volts e 0,7 volts não se referemnecessariamente ao funcionamento dos chips <strong>da</strong> <strong>placa</strong>. Elas se aplicamobrigatoriamente na comunicação entre a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o e a <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>,ao longo do slot. Uma <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o po<strong>de</strong> ter seus chips operando, porexemplo, com 2,5 volts mas usar tensões <strong>de</strong> 1,5 volts na comunicação com a<strong>placa</strong> <strong>de</strong> <strong>CPU</strong>. Portanto quando dizemos “<strong>placa</strong> AGP <strong>de</strong> 3,3 volts”, ou “<strong>placa</strong>AGP <strong>de</strong> 1,5 volts” ou “<strong>placa</strong> AGP <strong>de</strong> 0,7 volts”, estamos nos referindoapenas à voltagem usa<strong>da</strong> pelos sinais digitais que trafegam ao longo do slot.Figura 12.11Os vários tipos <strong>de</strong> slots AGP.A figura 11 mostra as diversas versões <strong>de</strong> slots AGP. O slot <strong>de</strong> 3,3 voltspossui um chanfro localizado mais próximo <strong>da</strong> parte traseira <strong>da</strong> <strong>placa</strong> <strong>de</strong><strong>CPU</strong>. O slot AGP <strong>de</strong> 1,5 volts tem o chanfro na posição inversa. Placas <strong>de</strong>ví<strong>de</strong>o AGP possuem conectores com chanfros correspon<strong>de</strong>ntes que seencaixam nos chanfros dos slots. Isto impe<strong>de</strong>, por exemplo, que uma <strong>placa</strong><strong>de</strong> 1,5 volts seja encaixa<strong>da</strong> em um slot <strong>de</strong> 3,3 volts, e vice-versa.


12-18 Hardware TotalPo<strong>de</strong>mos ain<strong>da</strong> encontrar slots AGP universais e <strong>placa</strong>s AGP universais. Umslot AGP universal não possui chanfro, e está preparado para operar tantocom 3,3 como com 1,5 volts. A <strong>placa</strong> instala<strong>da</strong> é reconheci<strong>da</strong> e o slot passa aoperar com a voltagem apropria<strong>da</strong>. Da mesma forma encontramos <strong>placa</strong>sAGP universais, com dois chanfros. Elas po<strong>de</strong>m ser encaixa<strong>da</strong>s tanto nosslots <strong>de</strong> 1,5 como nos <strong>de</strong> 3,3 volts.Figura 12.12Placas AGP com diferentes posições <strong>de</strong> chanfros.Outro ponto importante é a veloci<strong>da</strong><strong>de</strong> <strong>de</strong> operação. As veloci<strong>da</strong><strong>de</strong>ssuporta<strong>da</strong>s são 1x, 2x, 4x e 8x. Quando uma <strong>placa</strong> AGP é encaixa<strong>da</strong> em umslot AGP <strong>de</strong> voltagem compatível (note que é impossível fazer o encaixequando as voltagens não são compatíveis), prevalecerá a máxima veloci<strong>da</strong><strong>de</strong>que seja suporta<strong>da</strong> simultaneamente pela <strong>placa</strong> e pelo slot. As primeiras<strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> com barramento AGP operavam com 3,3 volts e suportavamapenas o modo AGP 1x. Depois surgiram <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> com chipsetscapazes <strong>de</strong> operar em AGP 2x, também com 3,3 volts. Os slots AGPuniversais e os <strong>de</strong> 1,5 volts são encontrados nas <strong>placa</strong>s capazes <strong>de</strong> operar em4x. O modo 4x exige a tensão <strong>de</strong> 1,5 volts, o mesmo ocorrendo com o modo8x.Uma <strong>placa</strong> AGP 2x <strong>de</strong> 3,3 volts não po<strong>de</strong> ser conecta<strong>da</strong> em um slot AGP <strong>de</strong>1,5 volts, mas po<strong>de</strong>rá ser encaixa<strong>da</strong> em um slot AGP universal. Esses slotssuportam o modo 4x, mas quando a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o é 2x, a taxa <strong>de</strong>transferência será limita<strong>da</strong> pela <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o, apesar <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>po<strong>de</strong>r chegar até 4x.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-19Versões do AGPO barramento AGP versão 1.0 foi o primeiro a ser utilizado em <strong>placa</strong>s <strong>de</strong><strong>CPU</strong> e <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o. Esta versão oferecia os modos 1x e 2x, porém asprimeiras implementações operavam apenas em 1x. A próxima especificaçãofoi a AGP 2.0, que esten<strong>de</strong>u a veloci<strong>da</strong><strong>de</strong> para 4x, e finalmente a 3.0 queoferece transferências em até 8x. Além do aumento <strong>de</strong> veloci<strong>da</strong><strong>de</strong>, novasopções <strong>de</strong> voltagem foram introduzi<strong>da</strong>s, bem como algumas outrasmodificações no funcionamento. Ca<strong>da</strong> versão nova tem compatibili<strong>da</strong><strong>de</strong> comas versões anteriores, <strong>de</strong>s<strong>de</strong> que seja respeitado o tipo <strong>de</strong> conector. Porexemplo, uma <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> compatível com AGP 3.0 e use slot <strong>de</strong> 1,5 volts,aceitará operar nos modos 4x e 8x. Placas <strong>de</strong> <strong>CPU</strong> AGP 3.0 universaissuportam também operações em modos 1x e 2x.AGP 1x, 2x e 4xO barramento AGP é bastante semelhante ao PCI, mas com algumasmodificações volta<strong>da</strong>s para <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o. Opera com 32 bits e 66 MHz.Na sua versão inicial (AGP 1x), ca<strong>da</strong> clock realiza uma transferência <strong>de</strong> 32bits (4 bytes). Como são 66 MHz (na ver<strong>da</strong><strong>de</strong> são 66,66 MHz), temos 66milhões <strong>de</strong> transferências por segundo. Sendo as transferências <strong>de</strong> 4 bytes, onúmero total <strong>de</strong> bytes por segundo que po<strong>de</strong>m passar pelo barramento AGP1x é:66,66 MHz x 4 bytes = 266 MB/sEsta é uma taxa <strong>de</strong> transferência fantástica. Com ela é possível preenchertodo o conteúdo <strong>da</strong> memória <strong>de</strong> ví<strong>de</strong>o cerca <strong>de</strong> 90 vezes por segundo (90Hz), supondo uma resolução gráfica <strong>de</strong> 1024x768x32 bits. Isto é muito maisque os 30 Hz necessários para ter sensação visual <strong>de</strong> continui<strong>da</strong><strong>de</strong> <strong>de</strong>movimentos. Portanto 90 Hz po<strong>de</strong> parecer um exagero, mas não é. O tráfego<strong>de</strong> <strong>da</strong>dos no barramento AGP não é simplesmente a transferência <strong>de</strong>“frames” para a memória <strong>de</strong> ví<strong>de</strong>o. É preciso fazer continuamente a leitura<strong>de</strong> texturas que ficam na memória RAM <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>, para que sejamautomaticamente e rapi<strong>da</strong>mente aplica<strong>da</strong>s sobre os polígonos que formam asimagens tridimensionais. O tráfego <strong>de</strong> <strong>da</strong>dos pelo barramento AGP ten<strong>de</strong> aser ain<strong>da</strong> mais elevado quando são usa<strong>da</strong>s resoluções mais eleva<strong>da</strong>s, quandosão gera<strong>da</strong>s imagens complexas e quando a resolução <strong>da</strong>s texturas é muitoeleva<strong>da</strong>. Por isso existem versões novas do barramento AGP, capazes <strong>de</strong>operar com taxas ain<strong>da</strong> mais eleva<strong>da</strong>s.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-21Figura 12.14Transferências AGP nos modos 2x e 4x.AGP 8xO modo AGP 8x faz parte <strong>da</strong> especificação AGP 3.0. Sua principalcaracterística é o uso <strong>de</strong> taxas <strong>de</strong> transferência 8 vezes maiores que asofereci<strong>da</strong>s pelo AGP 1x. Em modo 8x, a taxa <strong>de</strong> transferência teóricamáxima é <strong>de</strong> 2133 MB/s. Esta taxa é obti<strong>da</strong> com o uso <strong>de</strong> 8 transferênciaspor ciclo, usando o mesmo clock básico <strong>de</strong> 66 MHz utilizado por to<strong>da</strong>s asversões do AGP. Apesar do clock ser <strong>de</strong> 66 MHz, o barramento tem doissinais complementares AD_STBS e AD_STBF, cujas transições são 4 vezesmais rápi<strong>da</strong>s que o clock do barramento AGP. Os instantes <strong>de</strong> subi<strong>da</strong> <strong>de</strong>ssesdois sinais marcam a transferência dos <strong>da</strong>dos, como mostra a figura 15.Figura 12.15Transferência em AGP 8x.Tabela <strong>de</strong> compatibili<strong>da</strong><strong>de</strong>Os chanfros existentes nos conectores AGP <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> e <strong>da</strong> <strong>placa</strong> <strong>de</strong>ví<strong>de</strong>o são os indicadores <strong>de</strong> compatibili<strong>da</strong><strong>de</strong> entre essas <strong>placa</strong>s. To<strong>da</strong>s asopções <strong>de</strong> compatibili<strong>da</strong><strong>de</strong> são apresenta<strong>da</strong>s na tabela abaixo:Placa <strong>de</strong> <strong>CPU</strong> Conector AGP Compatibili<strong>da</strong><strong>de</strong>AGP 1.0, 3.3 volts AGP 3,3 V Opera com <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o AGP <strong>de</strong> 3,3volts. As veloci<strong>da</strong><strong>de</strong>s suporta<strong>da</strong>s são 1x e 2x,porém isto ain<strong>da</strong> <strong>de</strong>pen<strong>de</strong> do chipset <strong>da</strong><strong>placa</strong> <strong>de</strong> <strong>CPU</strong> e do chip gráfico <strong>da</strong> <strong>placa</strong>AGP.


12-22 Hardware TotalAGP 2.0, 1,5 volt AGP 1,5 volt Suporta <strong>placa</strong>s AGP <strong>de</strong> 1,5 volts. Os modosdisponíveis são 1x, 2x e 4x, <strong>de</strong>pen<strong>de</strong>ndo dochipset <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> e do chip gráfico <strong>da</strong><strong>placa</strong> AGP.AGP 2.0 universal(UAGP)Universal(UAGP)Suporta <strong>placa</strong>s AGP <strong>de</strong> 1,5V e 3,3V, comveloci<strong>da</strong><strong>de</strong>s <strong>de</strong> 1x, 2x e 4x, <strong>de</strong>pen<strong>de</strong>ndo dochipset <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> e do chip gráfico <strong>da</strong><strong>placa</strong> AGP.AGP 3.0 AGP <strong>de</strong> 1,5 volt Suporta apenas <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o AGP 3,0com veloci<strong>da</strong><strong>de</strong>s <strong>de</strong> 4x e 8x, <strong>de</strong>pen<strong>de</strong>ndo dochipset <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> e do chip gráfico <strong>da</strong><strong>placa</strong> AGP.AGP 3.0 universal AGP <strong>de</strong> 1,5 volt Suporta taxas AGP 1x, 2x, 4x e 8x emmodos AGP 2.0 e AGP 3.0.Apesar do padrão AGP 3.0 especificar uma tensão se 0,7 volts, não foi criadoum soquete especial para esta nova voltagem. Este padrão utiliza o soquete<strong>de</strong> 1,5 volts, porém tanto a <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> quanto a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o AGP nopadrão 3.0 são capazes <strong>de</strong> i<strong>de</strong>ntificar a voltagem correta, graças a dois novossinais introduzidos no barramento: MB_DET e GC_DET. Através do sinalMB_DET, a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o AGP po<strong>de</strong> i<strong>de</strong>ntificar se a <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> tem slotAGP 3.0. Caso tenha, a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o irá operar com 0,7 volts, e caso nãotenha, irá operar com 1,5 volt. Da mesma forma, através do novo sinalGC_DET, a <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> no padrão AGP 3.0 irá <strong>de</strong>tectar se a <strong>placa</strong> <strong>de</strong>ví<strong>de</strong>o também é AGP 3.0. Caso seja, passará a operar com 0,7 volts, e casonão seja, usará tensões <strong>de</strong> 1,5 volts. A tabela abaixo mostra as voltagens queserão usa<strong>da</strong>s na comunicação entre a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o e a <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>, emfunção dos tipos <strong>de</strong>ssas <strong>placa</strong>s e dos seus conectores.Placa <strong>de</strong> ví<strong>de</strong>oPlaca <strong>de</strong> <strong>CPU</strong> AGP 3,3V AGP 1,5V UAGP AGP 3.0 UAGP 3.0AGP 3,3 V 3,3 V N.E. 3,3V N.E. N.E.AGP 1,5V N.E. 1,5 V 1,5 V 1,5 V 1,5 VUAGP 3,3 V 1,5 V 1,5 V 1,5 V 1,5 VAGP 3.0 N.E. 1,5 V 1,5 V 0,7 V 0,7 VUAGP 3.0 N.E. 1,5 V 1,5 V 0,7 V 0,7 VAGP ProO slot AGP Pro é uma versão amplia<strong>da</strong> do AGP, cuja principal característicaé a maior capaci<strong>da</strong><strong>de</strong> <strong>de</strong> fornecimento <strong>de</strong> corrente. Seu slot é maior, commaior número <strong>de</strong> contatos, e nesses contatos adicionais existem mais linhas<strong>de</strong> alimentação. O maior fornecimento <strong>de</strong> corrente é necessário para as<strong>placa</strong>s AGP <strong>de</strong> maior <strong>de</strong>sempenho, muitas <strong>de</strong>las chegando a dissipar mais <strong>de</strong>50 watts, possuindo inclusive um cooler sobre o seu chip gráfico, similar aosutilizados nos processadores. Po<strong>de</strong>mos ver um slot AGP Pro na figura 16.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-23Comparando com o slot AGP comum, mostrado na figura 17, po<strong>de</strong>mosobservar que o AGP Pro é bem maior. Um slot AGP comum é um poucomenor que os slots PCI. O slot AGP Pro, por sua vez, é visivelmente maiorque um slot PCI.Figura 12.16O slot AGP Pro é maior que os slots PCI.Figura 12.17O slot AGP comum é menor que os slotsPCI.Módulo <strong>de</strong> memória AGPA Intel criou um módulo <strong>de</strong> memória que po<strong>de</strong> ser conectado diretamenteem um slot AGP. São os módulos AIMM (AGP Inline Memory Module).Placas <strong>de</strong> <strong>CPU</strong> com ví<strong>de</strong>o onboard e que usam memória compartilha<strong>da</strong> têmcomo principal <strong>de</strong>svantagem a que<strong>da</strong> do <strong>de</strong>sempenho do processador, jáque o processador e os circuitos <strong>de</strong> ví<strong>de</strong>o concorrem pelo acesso à mesmamemória. Uma solução para o problema é instalar uma <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o AGP,<strong>de</strong>s<strong>de</strong> que exista slot AGP disponível. Uma outra solução é conectar no slotAGP, uma memória <strong>de</strong> ví<strong>de</strong>o exclusiva, que consiste em um módulo AIMM.


12-24 Hardware TotalFigura 12.18Módulo AIMM.Mecanismo <strong>de</strong> retenção AGPMuitas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> são acompanha<strong>da</strong>s atualmente <strong>de</strong> um mecanismo <strong>de</strong>retenção AGP. Trata-se <strong>de</strong> uma peça plástica que é encaixa<strong>da</strong> sobre o slot etemo como objetivo travar a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o ou o módulo AIMM. Estemódulo, pelo fato <strong>de</strong> não usar travas como ocorre com os módulos SIMM eDIMM, po<strong>de</strong> afrouxar com o passar do tempo, <strong>de</strong>vido à vibração. O mesmopo<strong>de</strong> ocorrer até mesmo com as <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o AGP, principalmentedurante o transporte.Figura 12.19Esta <strong>placa</strong> AGP está mal encaixa<strong>da</strong>,<strong>de</strong>vido à vibração ou transporte.O mecanismo <strong>de</strong> rentenção AGP <strong>de</strong>ve ser inicialmente encaixado sobre oslot AGP. Uma vez encaixado, não po<strong>de</strong> mais ser removido, a menos queseja inutilizado. Ao encaixar uma <strong>placa</strong>, <strong>de</strong>vemos mover a alça domecanismo, permitindo o encaixe <strong>da</strong> <strong>placa</strong>. Feito isto, liberamos a alça, queirá pren<strong>de</strong>r a <strong>placa</strong> no slot. Para remover a <strong>placa</strong> do slot, <strong>de</strong>vemos antesmover a alça do mecanismo <strong>de</strong> retenção, <strong>de</strong>stravando a <strong>placa</strong>. O mesmoprocedimento é usado para encaixar e remover módulos AIMM.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-25Figura 12.20Usando o mecanismo <strong>de</strong> retenção AGP.Sinais do barramento AGPComo vimos, o barramento AGP foi <strong>de</strong>senvolvimento tomando como base obarramento PCI. Po<strong>de</strong>mos dizer que o AGP é o resultado <strong>de</strong> melhoramentosfeitos a partir do PCI, aumentando a veloci<strong>da</strong><strong>de</strong> e adicionando algumasfunções específicas para operação <strong>de</strong> <strong>placa</strong>s 3D.*** 35% ***Figura 12.21Relação entre os barramentos PCI e AGP.Os barramentos PCI e AGP são totalmente in<strong>de</strong>pen<strong>de</strong>ntes. A conexão entreo processador, a memória e barramento AGP é feito pelo chipset conhecidocomo ponte norte. Em geral temos o barramento AGP fisicamenterepresentado por um slot, no qual é encaixa<strong>da</strong> a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o AGP. Nafigura temos a <strong>placa</strong> representa<strong>da</strong> como “3D Acell”. O módulo LFB (localframe buffer) é a memória <strong>de</strong> ví<strong>de</strong>o existente nesta <strong>placa</strong>. As <strong>placa</strong>s AGP sãocapazes <strong>de</strong> utilizar tanto a sua própria memória local quanto a memória dosistema.


12-26 Hardware Total*** 35% ***Figura 12.22Sinais do barramento AGP.A figura 22 mostra os sinais do barramento AGP. São inteiramente geradospelo chipset. Observe que existem sinais <strong>de</strong> entra<strong>da</strong>, outros <strong>de</strong> saí<strong>da</strong> e outrosbidirecionais. Os principais sinais são <strong>de</strong>scritos a seguir.SinalAD0-AD31C/BE0-C/BE3IRDYDescriçãoBarramento <strong>de</strong> <strong>da</strong>dos e en<strong>de</strong>reços. Ao contrário <strong>de</strong> outros barramentosque usam sinais in<strong>de</strong>pen<strong>de</strong>tes para <strong>da</strong>dos e en<strong>de</strong>reços, o AGP utiliza umúnico barramento multiplexado. A ca<strong>da</strong> operação, o barramento indicaráo en<strong>de</strong>reço, e a seguir os <strong>da</strong>dos. Isso po<strong>de</strong> parecer causa <strong>de</strong> lentidão,mas não é. Na maior parte do tempo o barramento AGP necessita queseja indicado apenas o en<strong>de</strong>reço inicial, e os <strong>da</strong>dos vêm a seguir, emmodo burst.Esses 4 sinais têm dupla finali<strong>da</strong><strong>de</strong>. Quando o barramento AD0-AD31está fornecendo um en<strong>de</strong>reço, os sinais C/BE0-C/BE3 indicam ocomando que <strong>de</strong>ve ser realizado (leitura, escrita, etc.). Nos períodos emque <strong>da</strong>dos estão trafegando, esses 4 sinais indicam quais grupos <strong>de</strong> 8bits <strong>de</strong>vem ser levados em conta. Ao fazer transferências <strong>de</strong> 32 bits, os 4sinais ficam ativados, mas po<strong>de</strong>m ser ativados 1, 2 ou 3 sinaisindividualmente, permitindo acesso a trechos menores. Por exemplo,para escrever um pixel na tela em um modo gráfico <strong>de</strong> 256 cores (1 bytepor pixel), um único sinal C/BE <strong>de</strong>ve ser ativado para indicar o pixelcorreto.Initiator Ready. O dispositivo que iniciou a tranferência indica que estápronto para receber <strong>da</strong>dos. Desta forma é feita uma sincronização entre a<strong>placa</strong> <strong>de</strong> <strong>CPU</strong> e a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o. Quando uma <strong>placa</strong> é mais lenta queoutra, este sinal servirá para introduzir wait states, fazendo com que amais rápi<strong>da</strong> espere pela mais lenta, quando necessário.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-27TRDYSBA0-SBA7AD_STBSB_STBPIPEFRAMETarget Ready. Tem função semelhante à do sinal TRDY, mas dizrespeito ao dispositivo que está sendo acessado. Por exemplo, quando a<strong>placa</strong> <strong>de</strong> <strong>CPU</strong> quer ler <strong>da</strong>dos <strong>da</strong> memória <strong>de</strong> ví<strong>de</strong>o, a <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>opera como Initiator ou Master, e a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o opera como Target(alvo). A <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o, que neste caso opera como Target, usará estesinal para indicar que está com um <strong>da</strong>do disponível, ou que está prontapara receber um novo <strong>da</strong>do. Este protocolo faz a sincronização <strong>de</strong> <strong>placa</strong>s<strong>de</strong> <strong>de</strong>sempenhos diferentes, mediante a introdução <strong>de</strong> wait states,quando necessário. Não adianta por exemplo operar em modo AGP 8x ea <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o usar memórias lentas. Isto fará com que sejam geradoswait states, resultando em <strong>de</strong>sempenho inferior.Os sinais AD0-AD31 po<strong>de</strong>m ser usados para en<strong>de</strong>reços e <strong>da</strong>dos, oupo<strong>de</strong>m ser usados exclusivamente para <strong>da</strong>dos. Nesse caso os en<strong>de</strong>reçossão enviados através do barramento SBA0-SBA7. O i<strong>de</strong>al seria queesses en<strong>de</strong>reços usassem um barramento também <strong>de</strong> 32 bits, mas sãousados apenas 8 para que o número total <strong>de</strong> pinos do conector não sejaexagerado. Este barramento opera em alta veloci<strong>da</strong><strong>de</strong>, assim como obarramento <strong>de</strong> <strong>da</strong>dos. Em modo 2x, por exemplo, ca<strong>da</strong> período <strong>de</strong> clockfornecerá 16 bits, e em 4x ca<strong>da</strong> período fornecerá 32 bits. Desta formatemos barramentos <strong>de</strong> <strong>da</strong>dos e en<strong>de</strong>reços in<strong>de</strong>pen<strong>de</strong>ntes. Apesar dobarramento <strong>de</strong> en<strong>de</strong>reços ter apenas 8 bits, isto não prejudica o<strong>de</strong>sempenho, já que na maioria <strong>da</strong>s operações o en<strong>de</strong>reço é especificadoapenas no início <strong>da</strong> transferência <strong>de</strong> uma longa seqüência <strong>de</strong> <strong>da</strong>dos.Strobe para o barramento <strong>de</strong> <strong>da</strong>dos. Este sinal é usado para sincronizar otráfego através do barramento AD0-AD31.Este sinal é usado para sincronizar as transferências no barramentoSBA0-SBA7.Este sinal <strong>de</strong>ve ser ativado durante o uso do barramento AD0-AD31. Onúmero <strong>de</strong> ciclos nos quais este sinal fica ativo está relacionado com onúmero <strong>de</strong> transferências a serem efetua<strong>da</strong>s.Tem a mesma função que o sinal PIPE. A diferença é que FRAME éusado para transferências no modo PCI, enquanto PIPE é usado paratransferências no modo AGP.O AGP não é simplesmente baseado no PCI. O barramento AGP contémtodos os sinais do barramento PCI, e po<strong>de</strong> ser portanto tratado como umdispositivo PCI <strong>de</strong> maior veloci<strong>da</strong><strong>de</strong>. Isso possibilitou aos fabricantes <strong>de</strong><strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o, converterem rapi<strong>da</strong>mente suas <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o PCI paraque usem o slot AGP.Além <strong>de</strong> suportar os comandos e modos <strong>de</strong> operação do barramento PCI, obarramento AGP possui modos <strong>de</strong> operação próprios, mais a<strong>de</strong>quados àsoperações relaciona<strong>da</strong>s com ví<strong>de</strong>o 3D.


12-28 Hardware TotalFigura 12.23Seções AGP e PCI.A figura 23 mostra o diagrama <strong>da</strong> conexão entre uma <strong>placa</strong> AGP e a <strong>placa</strong><strong>de</strong> <strong>CPU</strong>. Note que existe uma seção específica para os comandos PCI eoutras especializa<strong>da</strong>s em comandos típicos do AGP.Modos DMA e ExecutePara gerar uma imagem 2D, uma única estrutura <strong>de</strong> <strong>da</strong>dos é necessária. É oframe buffer, uma representação linear do conteúdo <strong>da</strong> tela. Nas <strong>placa</strong>s <strong>de</strong>ví<strong>de</strong>o 2D, to<strong>da</strong> a memória <strong>de</strong> ví<strong>de</strong>o é utiliza<strong>da</strong> como frame buffer. Já arepresentação <strong>de</strong> imagens tridimensionais exige outras estruturas. O framebuffer é usado, assim como nas <strong>placa</strong>s 2D, para manter uma imagem exatado que é apresentado na tela, porém a memória <strong>de</strong> ví<strong>de</strong>o <strong>de</strong> <strong>placa</strong>s 3Dnecessita <strong>de</strong> outras estruturas <strong>de</strong> <strong>da</strong>dos para uma representaçãotridimensional completa. O Z-Buffer é a área <strong>da</strong> memória <strong>de</strong> ví<strong>de</strong>oresponsável pela representação <strong>da</strong> terceira coor<strong>de</strong>na<strong>da</strong> (Z). As texturas sãoimagens bidimensionais que são aplica<strong>da</strong>s a polígonos no espaçotridimensional. O Stencil Buffer é uma outra estrutura <strong>de</strong> <strong>da</strong>dos usa<strong>da</strong> noprocessamento <strong>de</strong> imagens refleti<strong>da</strong>s. As <strong>placa</strong>s 3D basea<strong>da</strong>s no barramentoPCI maninham to<strong>da</strong>s essas estruturas <strong>de</strong> <strong>da</strong>dos na sua própria memória <strong>de</strong>ví<strong>de</strong>o. O barramento AGP permite que essas informações sejamarmazena<strong>da</strong>s tanto na memória <strong>de</strong> ví<strong>de</strong>o quanto na memória do sistema,localiza<strong>da</strong> na <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>.Ao operar no modo DMA, to<strong>da</strong>s as estruturas <strong>de</strong> <strong>da</strong>dos envolvi<strong>da</strong>s naformação <strong>da</strong>s imagens 3D ficam armazena<strong>da</strong>s no frame buffer <strong>da</strong> <strong>placa</strong> AGP.A ca<strong>da</strong> cena 3D representa<strong>da</strong>, as texturas têm que ser carrega<strong>da</strong>s namemória <strong>de</strong> ví<strong>de</strong>o, e tanto o Z-Buffer como o Stencil Buffer têm que sercalculados para ca<strong>da</strong> posição e transferidos para a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o. Este


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-29elevado tráfego <strong>de</strong> <strong>da</strong>dos ao longo do barramento AGP po<strong>de</strong> prejudicar o<strong>de</strong>sempenho geral.O outro modo suportado pelo barramento AGP é o DIME (Direct MemoryExecute). Neste modo as estruturas <strong>de</strong> <strong>da</strong>dos po<strong>de</strong>m ficar armazenados namemória do sistema. Tanto o frame buffer como o Z-Buffer, o Stencil Buffere as texturas po<strong>de</strong>m ficar na memória <strong>da</strong> <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o ou na memória dosistema. Decidir se ca<strong>da</strong> estrutura fica em uma ou em outra memória temimpacto direto no <strong>de</strong>sempenho gráfico. Por exemplo, é sempre melhormanter o frame buffer na memória <strong>de</strong> ví<strong>de</strong>o, e não na memória do sistema,já que esta área é constantemente li<strong>da</strong> para suas informações serementregues ao monitor. Para imagens com uma mo<strong>de</strong>sta resolução <strong>de</strong> 800x600com 16 bits por pixel e taxa <strong>de</strong> atualização <strong>de</strong> 75 Hz para o monitor, otráfego <strong>de</strong> <strong>da</strong>dos do frame buffer é superior a 500 MB/s. É um tráfego muitoelevado em comparação com os 800 MB/s suportados por um barramento <strong>de</strong>memória PC100, e mesmo comparando com os 1066 MB/s oferecidos pelasmemórias PC133. Este é um sério problema do ví<strong>de</strong>o onboard com memóriacompartilha<strong>da</strong>. Ao usar o frame buffer na memória <strong>da</strong> <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o, tantoa resolução como o número <strong>de</strong> cores e a taxa <strong>de</strong> atualização po<strong>de</strong>m sereleva<strong>da</strong>s, sem sobrecarregar a memória do sistema.As <strong>de</strong>mais estruturas <strong>de</strong> <strong>da</strong>dos po<strong>de</strong>m ficar na memória <strong>de</strong> ví<strong>de</strong>o ou namemória do sistema, e impacto no <strong>de</strong>sempenho <strong>de</strong>pen<strong>de</strong>rá <strong>da</strong> utilização.Mantê-las to<strong>da</strong>s na memória <strong>de</strong> ví<strong>de</strong>o (modo DMA) resulta em alto<strong>de</strong>sempenho, mas tem como <strong>de</strong>svantagem a per<strong>da</strong> <strong>de</strong> tempo realizando asto<strong>da</strong>s as transferências. Note que apesar do padrão AGP oferecer o modoDIME, nem todos os chips gráficos o suportam, e nem todos os programas3D o utilizam. Para compensar a ausência do modo DIME, a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o<strong>de</strong>ve ter uma generosa quanti<strong>da</strong><strong>de</strong> <strong>de</strong> memória <strong>de</strong> ví<strong>de</strong>o.Barramento PCIA figura 9 mostra os conectores usados no barramento PCI (PeripheralComponent Interconnect). Nas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> mo<strong>de</strong>rnas po<strong>de</strong>mos encontrar3, 4, 5 ou 6 slots PCI. Em algumas <strong>placa</strong>s mais simples, tipicamente aquelasque têm “tudo onboard”, po<strong>de</strong>mos encontrar apenas um ou dois slots PCI.


12-30 Hardware TotalFigura 12.24Slots PCI.Nos slots PCI, conectamos <strong>placa</strong>s <strong>de</strong> expansão PCI. Alguns exemplos típicos<strong>de</strong> <strong>placa</strong>s <strong>de</strong> expansão PCI são:Placa <strong>de</strong> ví<strong>de</strong>o (SVGA)Placa <strong>de</strong> interface SCSIPlaca <strong>de</strong> re<strong>de</strong>Placa digitalizadora <strong>de</strong> ví<strong>de</strong>o*** 35% ***Figura 12.25Placas <strong>de</strong> expansão PCI: uma <strong>placa</strong> <strong>de</strong> vi<strong>de</strong>o e umacontroladora SCSI.É importante notar que Barramento PCI não é sinônimo <strong>de</strong> Slot PCI. OBarramento PCI é um conjunto <strong>de</strong> sinais digitais que partem do chipset e doprocessador, e atingem tanto as <strong>placa</strong>s <strong>de</strong> expansão, através dos slots, comocircuitos <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>. Por exemplo, as interfaces para disco rígido e as


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-31interfaces USB embuti<strong>da</strong>s na <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> são controla<strong>da</strong>s através dobarramento PCI, apesar <strong>de</strong> não utilizar os slots.Tipos <strong>de</strong> PCINa maioria <strong>da</strong>s <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong>, o barramento PCI opera com 32 bits e utilizaum clock <strong>de</strong> 33 MHz. Po<strong>de</strong>mos entretanto encontrar algumas variações. Em<strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> antigas po<strong>de</strong>mos encontrar o barramento PCI operando com25 ou 30 MHz. Em <strong>placa</strong>s que operam com overclock externo, o clock dobarramento PCI po<strong>de</strong> estar in<strong>de</strong>vi<strong>da</strong>mente programado para 37,5 MHz ou41,6 MHz, resultando em mau funcionamento. Existem ain<strong>da</strong> as <strong>placa</strong>s <strong>de</strong><strong>CPU</strong> <strong>de</strong> alto <strong>de</strong>sempenho, próprias para servidores, nos quais temosbarramentos PCI <strong>de</strong> 64 bits e 66 MHz. A taxa <strong>de</strong> transferência máximateórica do barramento PCI <strong>de</strong>pen<strong>de</strong> portanto <strong>da</strong>s suas características. Atabela abaixo mostra as principais opções:Clock Número <strong>de</strong> bits Taxa <strong>de</strong> transferência33 MHz 32 133 MB/s33 MHz 64 266 MB/s66 MHz 32 266 MB/s66 MHz 64 533 MB/sLogo na primeira versão do PCI, apesar <strong>de</strong> operar com 32 bits, estavaprevisto o funcionamento com 64 bits. O slot PCI <strong>de</strong> 64 bits é diferente do 32bits. Possui duas seções, sendo uma análoga ao <strong>de</strong> 32 bits e outra menor,com os sinais necessários ao funcionamento em 64 bits.Figura 12.26Slots PCI <strong>de</strong> 32 e <strong>de</strong> 64 bits.Mais recentemente o barramento PCI sofreu uma revisão e agora suportatambém a operação em 66 MHz, tanto em 32 como em 64 bits. Esteaumento foi motivado principalmente pelas novas interfaces SCSI, capazes<strong>de</strong> operar com taxas <strong>de</strong> 320 MB/s. O barramento PCI <strong>de</strong> 66 MHz e 64 bits,com sua taxa <strong>de</strong> transferência máxima <strong>de</strong> 533 MB/s, suporta perfeitamenteeste tipo <strong>de</strong> interface. Obviamente só encontramos esta configuração emservidores e estações <strong>de</strong> trabalho <strong>de</strong> alto <strong>de</strong>sempenho.


12-32 Hardware TotalAlém <strong>da</strong>s opções usuais <strong>de</strong> 32 e 64 bits, 33 e 66 MHz, po<strong>de</strong>mos encontrarem algumas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> antigas (e mesmo em algumas mais novas),alguns clocks incomuns em uso no barramento PCI. A tabela abaixo mostraalgumas <strong>de</strong>ssas opções e as respectivas taxas <strong>de</strong> transferência. Note quevalores acima <strong>de</strong> 33 MHz são consi<strong>de</strong>rados overclock. Mesmo que a <strong>placa</strong><strong>de</strong> <strong>CPU</strong> possa gerar esses valores, nem sempre as <strong>placa</strong>s <strong>de</strong> expansão PCIirão suportá-los.Clock Número <strong>de</strong> bits Taxa <strong>de</strong> transferência25 MHz 32 100 MB/s30 MHz 32 120 MB/s33 MHz 32 133 MB/s37,5 MHz 32 150 MB/s41,6 MHz 32 166 MB/s36,6 MHz 32 146,4 MB/s38,3 MHz 32 153,2 MB/sNas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> Pentium antigas, o clock do barramento PCI era sempreigual à meta<strong>de</strong> do clock externo do processador. Com clock externo <strong>de</strong> 66MHz, o resultado era o barramento PCI operando a 33 MHz. Noprocessador Pentium-75, por exemplo, o clock externo é <strong>de</strong> 50 MHz,portanto o barramento PCI passa a operar com apenas 25 MHz, já que tais<strong>placa</strong>s são programa<strong>da</strong>s para usar no barramento PCI, a meta<strong>de</strong> do clock doprocessador. Da mesma forma no Pentium-90, Pentium-120 e Pentium-150, oclock externo é 60 MHz, portanto o barramento PCI opera com 30 MHz.Quando é feito overclock externo nessas antigas <strong>placa</strong>s, obrigando oprocessador a operar com 75 ou 83 MHz externos, o barramento PCI operacom a meta<strong>de</strong> <strong>de</strong>sses valores, o que correspon<strong>de</strong> a 37,5 MHz e 41,6 MHz.Na maioria <strong>da</strong>s <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> com clock externo <strong>de</strong> 100 MHz, obarramento PCI opera com 1/3 do clock externo do processador, resultandoem 33 MHz, mas po<strong>de</strong> resultar em valores maiores quando é usadooverclock. Muitas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> mais recentes têm geradores <strong>de</strong> clockin<strong>de</strong>pen<strong>de</strong>ntes para o processador e para o barramento PCI. Desta forma obarramento PCI po<strong>de</strong> ser mantido em 33 MHz, mesmo que o processadoresteja usando overclock externo.Voltagens do PCINa sua especificação original, o barramento PCI podia operar a partir <strong>de</strong>uma alimentação <strong>de</strong> +5 volts ou <strong>de</strong> +3,3 volts. Para impedir a conexão <strong>de</strong><strong>placa</strong>s incompatíveis, os slots PCI utilizam um chanfro que <strong>de</strong>ve concidircom outro chanfro localizado na <strong>placa</strong> <strong>de</strong> expansão. Nos slots <strong>de</strong> 3,3 volts,este chanfro fica mais próximo <strong>da</strong> parte traseira <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>. Nos slots


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-33<strong>de</strong> 5 volts o chanfro fica no lado oposto. A figura 27 mostra os tipos <strong>de</strong> slotsPCI em função <strong>da</strong> sua voltagem.Figura 12.27Slots <strong>de</strong> 5 volts e <strong>de</strong> 3,3 volts.Os slots e <strong>placa</strong>s <strong>de</strong> 5 volts são os mais usados. Praticamente nãoencontramos versões <strong>de</strong> 3,3 volts. Po<strong>de</strong>mos entretanto encontrar algumas<strong>placa</strong>s <strong>de</strong> expansão PCI que são universais, po<strong>de</strong>ndo funcionar tanto emslots <strong>de</strong> 5 como <strong>de</strong> 3,3 volts. Essas <strong>placa</strong>s possuem dois chanfros no seuconector, como mostra a figura 28.Figura 12.28Placa PCI universal <strong>de</strong> 5 e 3,3 volts.Master e TargetAs transferências realiza<strong>da</strong>s no barramento PCI são sempre feitas entre doisdispositivos. Um <strong>de</strong>les é o Bus Master ou Initiator, o outro é o Target (alvo).O Bus Master é aquele que toma a iniciativa <strong>de</strong> solicitar a transferência doTarget. O Bus Master é o responsável pela geração <strong>de</strong> todos os sinais <strong>de</strong>en<strong>de</strong>reços, controles e <strong>da</strong>dos (no caso <strong>de</strong> escrita). Quando o computador éligado, o processador <strong>da</strong> <strong>placa</strong> mãe é o Bus Master. Ele é o responsável porcoman<strong>da</strong>r a inicialização do hardware, incluindo o chipset e as <strong>placa</strong>s <strong>de</strong>


12-34 Hardware Totalexpansão. Outros dispositivos também po<strong>de</strong>m atuar como Bus Masters,como interfaces IDE e interfaces SCSI.Para que um dispositivo opere como Bus Master, precisa inicialmente pedirpermissão ao Bus Arbitrer, que faz parte do chipset. Do Bus Arbitrer partemvárias linhas REQ (request) e GNT (Grant). Ca<strong>da</strong> par REQ/GNT é ligado aum dispositivo PCI diferente. No caso dos slots, ca<strong>da</strong> um <strong>de</strong>les tem um sinalREQ próprio, através do qual envia ao chipset o pedido <strong>de</strong> requisição paraque tome o controle do barramento. Ao receber esta requisição, o BusArbitrer verifica se é possível <strong>da</strong>r a permissão e envia para o dispositivo quea requereu, o sinal GNT apropriado. Ca<strong>da</strong> dispositivo e ca<strong>da</strong> slot possui seupróprio sinal GNT. A maioria dos chipsets atuais possuem 4, 5 ou 6 paresREQ/GNT, através dos quais po<strong>de</strong>m ser conectados 4, 5 ou 6 dispositivosPCI capazes <strong>de</strong> atuar como Bus Masters. Existem entretanto algumas <strong>placa</strong>snas quais apenas alguns slots PCI são Bus Masters, enquanto outros slotsatuam apenas como Target. Ao passar por problemas <strong>de</strong> funcionamento <strong>de</strong><strong>placa</strong>s PCI, experimente a troca do slot. Consulte o manual <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>para verificar se todos os slots po<strong>de</strong>m operar como Bus Masters. Placas <strong>de</strong>som, <strong>placa</strong>s <strong>de</strong> re<strong>de</strong>, controladoras SCSI e digitalizadores <strong>de</strong> ví<strong>de</strong>o, bemcomo interfaces rápi<strong>da</strong>s em geral, operam em modo Bus Master. Placas <strong>de</strong>ví<strong>de</strong>o PCI e mo<strong>de</strong>ms operam como Target, portanto po<strong>de</strong>m ser remaneja<strong>da</strong>spara slots que não suportam Bus Mastering.Sinais do barramento PCIA seguir apresentamos alguns dos sinais <strong>de</strong> maior importância nobarramento PCI, juntamente com sua <strong>de</strong>scrição.SinalAD0-AD31C/BE0-C/BE3FRAMEIRDYDescriçãoBarramento <strong>de</strong> <strong>da</strong>dos e en<strong>de</strong>reços multiplexados. No início <strong>de</strong> umatransferência, este barramento indica o en<strong>de</strong>reço, e na fase seguinte, os<strong>da</strong>dos. Como muitas transferências são feitas em modo burst, não existeque<strong>da</strong> <strong>de</strong> <strong>de</strong>sempenho perceptível pelo fato <strong>de</strong> ser usado um únicobarramento para dupla função.Durante a fase <strong>de</strong> en<strong>de</strong>reço, esses 4 sinais indicam o comando a serrealizado (leitura, escrita, etc.). Na fase <strong>de</strong> <strong>da</strong>dos, esses 4 bits indicamquais bytes dos 32 bits do barramento <strong>de</strong> <strong>da</strong>dos <strong>de</strong>vem ser levados emconta. Isso permite, por exemplo, acessar bytes individuais, apesar dobarramento <strong>de</strong> <strong>da</strong>dos ter 32 bits.O Bus Master ativa este sinal para <strong>da</strong>r início a um ciclo <strong>de</strong> transferência.Initiator Ready. Indica que o Master está pronto para ler ou enviar<strong>da</strong>dos. Quando este sinal não é ativado, o Target irá esperar tantos waitstates quanto forem necessários.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-35TRDYDEVSELREQGNTINTA, INTB,INTC, INTDTarget Ready. Indica que o Target está pronto para receber <strong>da</strong>dos(escrita) ou que o <strong>da</strong>do lido já está disponível (leitura). Quando estesinal não é ativado, o Master irá gerar tantos wait states quando foremnecessários.Ativado pelo Target quando reconhece o seu en<strong>de</strong>reço. Desta forma oMaster po<strong>de</strong> saber se o dispositivo Target está ativo ou presente nobarramento.Requisição envia<strong>da</strong> ao Bus Arbitrer, para que o dispositivo se torne BusMaster. Ca<strong>da</strong> dispositivo tem seu próprio sinal REQ.Grant. Através <strong>de</strong>ste sinal o Bus Arbitrer indica ao dispositivosolicitante que o barramento está liberado, permitindo assim que setorne Bus Master. Ca<strong>da</strong> dispositivo tem seu próprio sinal GNT.São linhas <strong>de</strong> interrupção a serem usa<strong>da</strong>s pelos dispositivos PCI. Ca<strong>da</strong>dispositivo e ca<strong>da</strong> slot é ligado a um <strong>de</strong>sses sinais, que po<strong>de</strong>m sercompartilhados, ou seja, uma mesma linha INT po<strong>de</strong> ser usa<strong>da</strong> por mais<strong>de</strong> um slot. O padrão PCI prevê o compartilhamento <strong>de</strong> interrupções.AD32-AD63 Continuação do barramento <strong>de</strong> <strong>da</strong>dos e en<strong>de</strong>reços nos slots PCI <strong>de</strong> 64bits.C/BE4-C/BE7 Continuação do barramento <strong>de</strong> comando e habilitação <strong>de</strong> bytes nos slotsPCI <strong>de</strong> 64 bits.REQ64Resuisição <strong>de</strong> transferência <strong>de</strong> 64 bits.ACK64Indica que o Target está apto a realizar transferência <strong>de</strong> 64 bits.TransferênciasVários tipos <strong>de</strong> transferência po<strong>de</strong>m ser feitas no barramento PCI. Essastransferências po<strong>de</strong>m envolver um ou múltiplos <strong>da</strong>dos. São chama<strong>da</strong>s <strong>de</strong>transactions (transações), mas aqui chamaremos apenas <strong>de</strong> transferências. Afigura 29 mostra o diagrama <strong>de</strong> tempo <strong>de</strong> uma operação <strong>de</strong> leitura, na qualsão lidos 3 <strong>da</strong>dos consecutivos.


12-36 Hardware Total*** 75%***Figura12.29Operação <strong>de</strong>leitura nobarramentoPCI.Note que as operações são sincroniza<strong>da</strong>s pelo clock. Durante o período emque o barramento AD traz en<strong>de</strong>reços, temos a fase <strong>de</strong> en<strong>de</strong>reços (addressphase). Uma vez <strong>de</strong>terminado o en<strong>de</strong>reço, são feitas as transferências <strong>de</strong><strong>da</strong>dos, entrando então na fase <strong>de</strong> <strong>da</strong>dos (<strong>da</strong>ta phase). Wait states po<strong>de</strong>m sergerados por solicitação do Target ou do próprio Master, através doscontroles IRDY e TRDY. Os eventos que ocorrem nesta transferência são osseguintes:a) O Bus Master inicia a transferência ativando o sinal FRAME, quepermanece ativo até que o Target termine sua última fase <strong>de</strong> <strong>da</strong>dos. OMaster também fornece o en<strong>de</strong>reço (AD0-AD31) e o comando (C/BE0-C/BE3).b) O Target reconhece seu en<strong>de</strong>reço e prepara-se para fornecer os <strong>da</strong>dos.c) O Master para <strong>de</strong> indicar o comando nas linhas C/BE e passa a indicar oscontroles habilitadores dos bytes <strong>de</strong>sejados.d) O Target ativa a linha DEVSEL para indicar que foi en<strong>de</strong>reçado, forneceo primeiro <strong>da</strong>do e ativa a linha TRDY para indicar que o <strong>da</strong>do está pronto.Wait states po<strong>de</strong>m ser gerados se necessário, bastando retar<strong>da</strong>r a ativação <strong>de</strong>TRDY.e) O Master lê o <strong>da</strong>do e altera as linhas C/BE, se necessário.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-37f) O Target <strong>de</strong>sativa a linha TRDY enquanto busca o próximo <strong>da</strong>do,gerando mais um wait state. Isto po<strong>de</strong> ser necessário quando os circuitos doTarget não são suficientemente velozes.g) Neste exemplo o Master ain<strong>da</strong> não está pronto para ler o próximo <strong>da</strong>do,portanto ele <strong>de</strong>sativa o sinal IRDY, gerando mais um wait state que fará oTarget manter os <strong>da</strong>dos pos mais um ciclo.h) Após receber o último <strong>da</strong>do, o Master finaliza a transferência, <strong>de</strong>sativandoa linha FRAME.i) O Target é <strong>de</strong>sativado, liberando o barramento <strong>de</strong> <strong>da</strong>dos e <strong>de</strong>sativando ossinais TRDY e DEVSEL.Este exemplo dá uma idéia geral <strong>de</strong> como ocorrem as transferências nobarramento PCI. Outros tipos <strong>de</strong> tranferência ocorrem <strong>de</strong> forma diferente,mas a idéia básica é a mesma.Dispositivos <strong>de</strong> alta veloci<strong>da</strong><strong>de</strong>A maioria dos dispositivos ligados ao barramento PCI são capazes <strong>de</strong> operarcomo Master. O primeiro <strong>de</strong>les é o processador <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>, queatravés do host bridge (faz parte do chipset), comunica-se com o barramentoPCI. Chamamos <strong>de</strong> bridge um circuito que faz a interface entre doisbarramentos. O host bridge é portanto um circuito que faz a comunicaçãoentre o barramento do sistema e o barramento PCI. Através <strong>de</strong>ste circuito oprocessador po<strong>de</strong> acessar qualquer outro dispositivo PCI, ou seja, qualquerum <strong>de</strong>les po<strong>de</strong> funcionar como Target em transferências nas quais oprocessador é o Master.As transferências entre o processador e dispositivos <strong>de</strong> E/S eram feitas <strong>de</strong>duas formas nos PCs com arquiteturas antigas:E/S programa<strong>da</strong>E/S por DMAEsses dois métodos estão representados na figura 30. Na E/S programa<strong>da</strong>,cabe ao processador obter os <strong>da</strong>dos na interface e colocá-los na memória(nas operações <strong>de</strong> entra<strong>da</strong>), e obtê-los na memória e entregá-los à interfaceapropria<strong>da</strong> (nas operações <strong>de</strong> saí<strong>da</strong>). A vantagem <strong>de</strong>sta técnica é asimplici<strong>da</strong><strong>de</strong> <strong>de</strong> circuitos, e a <strong>de</strong>svantagem principal é que <strong>de</strong>ixa o


12-38 Hardware Totalprocessador muito ocupado quando são transferidos muitos <strong>da</strong>dos emseqüência.Figura 12.30E/S programa<strong>da</strong> e E/S por DMA.Na E/S por DMA, um circuito especial chamado controlador <strong>de</strong> DMA tomao controle do barramento do processador e realiza a transferência, gastandoo mínimo tempo possível. A transferência <strong>de</strong> um <strong>da</strong>do através <strong>de</strong> DMA duraum único ciclo, sem monopolizar o barramento. Enquanto na E/Sprograma<strong>da</strong> o processador po<strong>de</strong> ficar ocupado entre um <strong>da</strong>do e outro,testando se o próximo <strong>da</strong>do já po<strong>de</strong> ser transferido, na E/S por DMA oprocessador po<strong>de</strong> executar outras tarefas enquanto o controlador <strong>de</strong> DMA seencarrega <strong>da</strong> transferência. O controlador <strong>de</strong> DMA po<strong>de</strong> tomar o controledo barramento do sistema graças a dois sinais existentes nos processadores:HOLD e HLDA (Hold Acknowledge). Quando a interface tem um <strong>da</strong>dopronto para entregar, envia um comando para o controlador <strong>de</strong> DMA(DMA Request), que por sua vez ativará o sinal HOLD do processador. Oprocessador termina a execução do ciclo em an<strong>da</strong>mento e entra em tristate,“congelando” sua ativi<strong>da</strong><strong>de</strong>, e envia para o controlador <strong>de</strong> DMA o sinal <strong>de</strong>HLDA, reconhecendo o estado <strong>de</strong> HOLD. A partir <strong>da</strong>í o controlador <strong>de</strong>DMA, que antes estava em tristate, passa a gerar os sinais <strong>de</strong> en<strong>de</strong>reço,<strong>da</strong>dos e controle, passando a ser o “mestre” do barramento. O controlador<strong>de</strong> DMA envia para a interface, um sinal <strong>de</strong> DMAACK (DMAAcknowledge, ou reconhecimento <strong>de</strong> DMA). A interface po<strong>de</strong> entãoentregar o <strong>da</strong>do para o barramento e enviando para a memória (nasoperações <strong>de</strong> entra<strong>da</strong>), ou então obter o <strong>da</strong>do <strong>da</strong> memória (nas operações <strong>de</strong>saí<strong>da</strong>).Quanto mais lento é um periférico, mais a<strong>de</strong>qua<strong>da</strong> é a transferência por E/Sprograma<strong>da</strong>, e quanto mais rápido, mais a<strong>de</strong>qua<strong>da</strong> é a transferência por


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-39DMA. Vejamos alguns exemplo, consi<strong>de</strong>rando o uso <strong>de</strong> um barramentoexterno <strong>de</strong> 100 MHz para o processador. Supondo que as memórias operemcom temporização 2-1-1-1, teríamos cerca <strong>de</strong> 80 milhões <strong>de</strong> transferências <strong>de</strong>64 bits por segundo. Consi<strong>de</strong>re alguns tipos <strong>de</strong> interface e o “tempo” entretransferências consecutivas:InterfaceTaxa <strong>de</strong>transferênciaIntervalo entretransferências, medidoem acessos à memóriaTeclado 30 caracteres/s 2.600.000Mo<strong>de</strong>m, 56k bps 5 kB/s 16.000Placa <strong>de</strong> som 176 kB/s 1.800Disquetes 45 kB/s 1.700Paralela padrão 150 kB/s 533Re<strong>de</strong>, 10 Mbits/s 1,25 MB/s 256USB 1.1 1,5 MB/s 200Paralela EPP/ECP 2 MB/s 40Re<strong>de</strong>. 100 Mbits/s 12,5 MB/s 25IDE, PIO Mo<strong>de</strong> 4 16,6 MB/s 19IDE, ATA-33 33,3 MB/s 9Firewire 50 MB/s 6USB 2.0 60 MB/s 5IDE, ATA-66 66,6 MB/s 5IDE, ATA-100 100 MB/s 3Veja por exemplo o caso do teclado, que fornece uma taxa máxima <strong>de</strong> 30caracteres por segundo (quando usamos o REPEAT). Entre a chega<strong>da</strong> <strong>de</strong>dois caracteres consecutivos, transcorrem cerca <strong>de</strong> 2,6 milhões <strong>de</strong> ciclos. Nãoteria sentido o processador ficar monopolizado entre a chega<strong>da</strong> <strong>de</strong> doiscaracteres consecutivos, testando milhares <strong>de</strong> vezes se o próximo caracter jáchegou. Para isso são usa<strong>da</strong>s interrupções. O processador não testa sechegou o próximo caracter, ele continua executando outras tarefas, e ainterface <strong>de</strong> teclado gera uma interrupção quando uma tecla é pressiona<strong>da</strong>.Para aten<strong>de</strong>r à interrupção o processador precisa salvar o seu contexto(armazenar o conteúdo <strong>de</strong> todos os registradores internos), aten<strong>de</strong>r àinterrupção e retornar ao processamento original, o que consome entre 50 e100 ciclos. Como o intervalo neste caso é <strong>de</strong> 2,6 milhões <strong>de</strong> ciclos, vale apena para o processador executar outras tarefas e ser interrompido quandochegar um caracter. Por isso po<strong>de</strong>mos, por exemplo, tranqüilamente digitarum texto enquanto o processador <strong>de</strong> textos faz correção gramatical ou salvao arquivo automaticamente. Portanto a E/S programa<strong>da</strong> com o uso <strong>de</strong>interrupções é um método bem a<strong>de</strong>quado para a operação do teclado.


12-40 Hardware TotalUm mo<strong>de</strong>m <strong>de</strong> 56k bps fornece um <strong>da</strong>do a ca<strong>da</strong> 16.000 ciclos. O uso <strong>de</strong> E/Sprograma<strong>da</strong> com interrupções também é a<strong>de</strong>quado aqui. Quando chegar umcaracter serão gastos entre 50 e 100 ciclos para aten<strong>de</strong>r à interrupção que lêo caracter (ou que o obtém <strong>da</strong> memória para transmitir). Por isso tipicamenteos mo<strong>de</strong>ms operam com E/S programa<strong>da</strong>, sincroniza<strong>da</strong> por interrupções.A situação <strong>da</strong> <strong>placa</strong> <strong>de</strong> som é mais <strong>de</strong>lica<strong>da</strong>. Operando com o som <strong>de</strong>quali<strong>da</strong><strong>de</strong> máxima, transcorreriam 1800 ciclos entre duas transferênciasconsecutivas, o que tornaria possível a operação por E/S programa<strong>da</strong>, cominterrupções. Entre dois <strong>da</strong>dos consecutivos, <strong>de</strong>scontanto 100 ciclos paraatendimento <strong>da</strong> interrupção, sobrariam ain<strong>da</strong> 1700 para outrosprocessamentos. O problema é que estamos levando em conta umbarramento <strong>de</strong> 100 MHz, e quando as <strong>placa</strong>s <strong>de</strong> som foram cria<strong>da</strong>s, obarramento usado era o do 386, em versões tão lentas como 16 MHz eusando 2 ciclos por transferência. Nesse caso ocorriam cerca <strong>de</strong> 150 ciclosentre duas transferências consecutivas, o que tornava inviável ofuncionamento por E/S programa<strong>da</strong> com interrupções, já que ca<strong>da</strong>atendimento <strong>de</strong> interrupção tem uma latência <strong>de</strong> cerca <strong>de</strong> 100 ciclos. Umasolução seria usar E/S programa<strong>da</strong> sem interrupções, porém este método nãopermite que o processador realize outras tarefas. Por isso foi escolhi<strong>da</strong> paraas <strong>placa</strong>s <strong>de</strong> som, a E/S por DMA. O processador não se envolve com atransferência, apenas a ativa no início e é informado <strong>da</strong> sua finalização,<strong>de</strong>pois que todos os bytes foram transmitidos ou recebidos. Até hoje as<strong>placa</strong>s <strong>de</strong> som operam com E/S por DMA, apesar dos barramentos atuaissuportarem esta operação com E/S programa<strong>da</strong> por interrupções.Outro caso clássico é o <strong>da</strong> interface <strong>de</strong> disquetes. São cerca <strong>de</strong> 1800 ciclosentre bytes consecutivos, mas nos PCs originais, que faziam transferênicaslentas como 4 MB/s, o intervalo entre bytes consecutivos era <strong>de</strong> pouco mais<strong>de</strong> 100 ciclos. As interfaces <strong>de</strong> disquete <strong>da</strong> época usavam DMA ou E/Sprograma<strong>da</strong> sem interrupções (também chama<strong>da</strong> <strong>de</strong> pooling, já que oprocessador passa os intervalos interrogando a interface para checar se os<strong>da</strong>dos já chegaram). Para permitir maior <strong>de</strong>sempenho, a IBM optou porutilizar para a sua interface <strong>de</strong> disquetes, a E/S por DMA, característica que émanti<strong>da</strong> até nos PC atuais, por questões <strong>de</strong> compatibili<strong>da</strong><strong>de</strong>.A interface paralela padrão opera nos PCs mo<strong>de</strong>rnos com cerca <strong>de</strong> 500ciclos entre bytes consecutivos, mas nos PCs antigos este período erareduzido a cerca <strong>de</strong> 20 ciclos, inviabilizando a E/S programa<strong>da</strong> porinterrupções. As opções viáveis eram DMA e E/S programa<strong>da</strong> por pooliong,e este último foi o adotado pela IBM. A interface <strong>de</strong> impressora usainterrupções apenas para indicar condições anormais, como buffer cheio,


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-41falta <strong>de</strong> papel e outros erros. Devido à operação por pooling, o processadorfica totalmente ocupado quando envia <strong>da</strong>dos à impressora. Po<strong>de</strong>mosinclusive notar algumas para<strong>da</strong>s no processamento normal durante aimpressão. Interfaces paralelas mo<strong>de</strong>rnas, operando nos modos EPP/ECPtransmitem e recebe <strong>da</strong>dos a ca<strong>da</strong> intervalo <strong>de</strong> 40 ciclos, e a única opçãoviável <strong>de</strong> funcionamento é a E/S por DMA. A E/S programa<strong>da</strong> por pooling<strong>de</strong>ixaria o processador monopolizado durante a impressão.Interfaces <strong>de</strong> re<strong>de</strong> a 10 Mbits/s oferecem 256 ciclos entre <strong>da</strong>dos consecutivos(barramento <strong>de</strong> 100 MHz), ou um número menor ain<strong>da</strong> nos barrametos maislentos. Por isso as interfaces <strong>de</strong> re<strong>de</strong> operam com E/S por DMA ou com E/Sprograma<strong>da</strong> por pooling. Para não monopolizar o uso do processador aooperar com pooling, as interfaces <strong>de</strong> re<strong>de</strong> utilizam um buffer que armazenaum bloco inteiro <strong>de</strong> <strong>da</strong>dos. Assim consegue uma utilização mais eficiente. Aotransmitir <strong>da</strong>dos, o processador os coloca rapi<strong>da</strong>mente no buffer e dispara atransmissão, ficando assim liberado. A interface <strong>de</strong> re<strong>de</strong> vai interromper oprocessador quando terminar a transmissão do bloco <strong>de</strong> <strong>da</strong>dos. Da mesmaforma durante a chega<strong>da</strong> <strong>de</strong> <strong>da</strong>dos a interface os armazena no seu buffer einterrompe o processador quando o bloco inteiro estiver pronto. O uso <strong>de</strong>buffers para acelerar o <strong>de</strong>sempenho, ocupando menos o processador, einterrupções apenas para sinalizar o término <strong>da</strong> operação, é possível apenaspara interfaces orienta<strong>da</strong>s por blocos, ou seja, que transmitem sempre blocos<strong>de</strong> <strong>da</strong>dos, como é o caso <strong>da</strong> interface <strong>de</strong> re<strong>de</strong>. Em contraste temos osdisposivos orientados a bytes ou caracteres, como os mo<strong>de</strong>ms, teclados eimpressoras, que requerem atenção individual do processador para ca<strong>da</strong>byte que transita. Interfaces <strong>de</strong> re<strong>de</strong> <strong>de</strong> 100 Mbits/s po<strong>de</strong>m operar com osmesmos métodos usados pelas interfaces <strong>de</strong> 10 Mbits/s.Dispositivos mais velozes não suportam a E/S programa<strong>da</strong> por interrupções.Devem usar DMA ou E/S programa<strong>da</strong> por pooling. Veja por exemplo o caso<strong>da</strong> interface IDE operando em PIO Mo<strong>de</strong> 4. Com apenas 19 ciclos entre<strong>da</strong>dos consecutivos, tem tempo suficiente para fazer um pooling: receber o<strong>da</strong>do, guar<strong>da</strong>r na memória, incrementar os contadores, testar se chegou oúltimo <strong>da</strong>do e caso não tenha chegado, voltar ao pooling para esperar opróximo <strong>da</strong>do. A seguir mostramos um trecho <strong>de</strong> programa (linguagemAssembly) no qual é feita uma leitura por pooling. O método é usado tantopara interfaces IDE como para outras que operem <strong>de</strong>sta forma. As diferençasficam por conta do número <strong>de</strong> bytes <strong>de</strong> ca<strong>da</strong> bloco, dos en<strong>de</strong>reços <strong>de</strong> <strong>da</strong>dose status e do bit indicador <strong>de</strong> <strong>da</strong>do pronto....MOV CX, 512MOV DI, BUFFER; Vai ler 512 bytes; DI aponta para o <strong>de</strong>stino


12-42 Hardware TotalPOOLING: IN AL, STATUS ; Interroga a interfaceTEST AL,BIT; Testa o bit <strong>de</strong> <strong>da</strong>do prontoJZ POOLING; Volta se não prontoIN AL, DADO; Lê o <strong>da</strong>doSTOSB; Armazena no bufferDEC CX; Decrementa contagemJNZ POOLING ; Volta se não chegarm 512FIM: .... ; Continua o processamentoA programação <strong>da</strong> E/S por DMA é um pouco mais complexa. É precisoprogramar o controlador <strong>de</strong> DMA indicando o canal a ser usado (ca<strong>da</strong> canalé ligado a uma interface), o en<strong>de</strong>reço <strong>de</strong> memória para os <strong>da</strong>dos e o número<strong>de</strong> bytes. A seguir a interface recebe o comando a ser realizado. Terminadosesses preparativos, o processador está livre para executar outras tarefas. Ocontrolador <strong>de</strong> DMA e a interface farão todo o trabalho. Nos instantes emque <strong>da</strong>dos estiverem prontos, o controlador <strong>de</strong> DMA coloca o processadorem HOLD e faz seu acesso à memória. Termina<strong>da</strong> a transferência do bloco,a interface gera uma interrupção para avisar seu término ao processador.Interfaces ain<strong>da</strong> mais rápi<strong>da</strong>s não coseguem operar com E/S programa<strong>da</strong> porpooling. Os 9 ciclos entre transferências consecutivas em uma interface ATA-33 são um período muito pequeno para fazer o pooling, mesmo operando a100 MHz. Mais crítica seria a situação nos barramentos <strong>de</strong> 66 MHz.A solução para o problema seria utilizar para esses dispositivos mais rápidos,a E/S por DMA. Não po<strong>de</strong>ria neste caso ser usado o controlador <strong>de</strong> DMApadrão do PC. Este controlador opera nos mesmos padrões do barramentoISA, por questões <strong>de</strong> compatibili<strong>da</strong><strong>de</strong>. No IBM PC XT operava medianteum clock <strong>de</strong> 5 MHz, e no AT, com 8 MHz. Seria possível utilizarcontroladores <strong>de</strong> DMA mais rápidos, mas não seriam 100% compatíveis como padrão PC, baseado no controlador 8237A. Usando este controlador, osacessos à memória seriam feitos com os 8 MHz do barramento ISA, comciclos extremamente longos para os padrões atuais, inviabilizando o seu usocom os dispositivos mo<strong>de</strong>rnos.Para usar DMA com os dispositivos <strong>de</strong> E/S mais mo<strong>de</strong>rnos, a arquitetura doPC <strong>de</strong>veria ser modifica<strong>da</strong> para incluir um novo controlador <strong>de</strong> DMA,ligado diretamente ao barramento do processador, e operando com clocksmais elevados, por exemplo, usando o mesmo clock do processador.Tecnicamente isto seria possível, porém ao invés disso foi adota<strong>da</strong> umasolução mais simples e mais elegante, que é utilizar o método Bus Masteringno barramento PCI.Bus Mastering


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-43O barramento PCI foi construído <strong>de</strong> tal forma que seus dispositivos po<strong>de</strong>moperar como Bus Masters. Um Bus Master po<strong>de</strong> realizar o mesmo papel queum controlador <strong>de</strong> DMA, já que assume o total controle do barramento. Écomo se ca<strong>da</strong> dispositivo PCI capaz <strong>de</strong> operar como Bus Master tivesse umcontrolador <strong>de</strong> DMA embutido.Figura 12.31DMA x Bus Mastering.OBS: Na figura 31 a sincronização entre o controlador <strong>de</strong> DMA é feita pelos sinais HOLD eHLDA. Processadores mo<strong>de</strong>rnos utilizam controles semelhantes para fazer este controle, apesar<strong>de</strong> não serem chamados <strong>de</strong> HOLD e HLDA.OBS: O barramento PCI não utiliza operações <strong>de</strong> DMA. Entretanto operações <strong>de</strong> DMA queocorrem no barramento ISA converti<strong>da</strong>s em transferências no barramento PCI, nas quais oMaster é o PCI/ISA Bridge, e o Target é o PCI/Host bridge.A figura 31 mostra o esquema <strong>da</strong>s transferências por DMA e por BusMastering. Assim como ocorre com o DMA, o Bus Mastering nãomonopoliza o processador. A transferência <strong>de</strong> <strong>da</strong>dos entre a memória e umperiférico, usando o barramento PCI, tem as seguintes características:a) A interface opera como Bus Master, enquanto o PCI/Host Bridge operacomo Target. O Master po<strong>de</strong> ser uma interface <strong>de</strong> re<strong>de</strong>, uma interface IDE,uma interface SCSI, uma interface Firewire ou qualquer outra que estejaprepara<strong>da</strong> para operar neste modo. O PCI/Host Bridge, atuando comoTarget, fará os acessos à memória através do barramento do processador,quando necessário.b) Mesmo que o barramento PCI esteja operando com seu tráfego máximo(133 MB/s, com 32 bits e 33 MHz, por exemplo), o barramento do sistemanão será exigido 100% do tempo. O PCI/Host Bridge tomará conta do


12-44 Hardware Totalbarramento do processador apenas quando necessário, <strong>de</strong>ixando estebarramento livre na maior parte do tempo para que o processador tenhaacesso à memória, realizando seus processamentos normais. Explicando <strong>de</strong>forma simples, com o barramento PCI exigindo 133 MB/s e o barramento doprocessador sendo capaz <strong>de</strong> operar com 66 MHz e 64 bits (533 MB/s),estaríamos ocupando apenas 25% do tráfego total do barramento doprocessador, que continua com 75% do tráfego para si próprio. Levando emconta que a maioria dos acessos são feitos na cache L2, o processadorcontinua operando normalmente enquanto uma transferência <strong>da</strong> memóriapor Bus Mastering está em an<strong>da</strong>mento.c) Para evitar que uma transferência monopolize o barramento, o seucontrolador po<strong>de</strong> suspen<strong>de</strong>r temporariamente uma transferência muito longa,<strong>da</strong>ndo chance a outros Bus Masters <strong>de</strong> terem acesso ao barramento PCI.Transferências suspensas po<strong>de</strong>m continuar <strong>de</strong> on<strong>de</strong> pararam <strong>de</strong>pois queoutros Bus Masters foram atendidos.Plug and Play nos barramentos PCI e ISAPara que interfaces e <strong>placa</strong>s <strong>de</strong> expansão funcionem, precisam que sejamconfigurados os recursos <strong>de</strong> hardware a serem usados, e que sejam instaladosos drivers apropriados. Esses recursos <strong>de</strong> hardware são:En<strong>de</strong>reços <strong>de</strong> memóriaEn<strong>de</strong>reços <strong>de</strong> E/SLinhas <strong>de</strong> interrupçãoCanais <strong>de</strong> DMANos PCs antigos cabia ao usuário ou ao técnico instalador, a configuração<strong>de</strong>sses recursos <strong>de</strong> forma manual, através <strong>de</strong> jumpers, microchaves ou <strong>de</strong>programas <strong>de</strong> configuração específicos para ca<strong>da</strong> dispositivo. Um gran<strong>de</strong>esforço <strong>da</strong> Microsoft, Intel e outros fabricantes foi feito no sentido <strong>de</strong>possibilitar a configuração automática <strong>de</strong>sses recursos, sem que o usuárioprecise intervir. As configurações são feitas <strong>de</strong> forma automática pelo BIOS<strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> e/ou pelo sistema operacional. Cabe ao sistema operacionalprovi<strong>de</strong>nciar a instalação dos drivers corretos para ca<strong>da</strong> dispositivo instalado.O barramento PCI é totalmente Plug and Play (PnP). Isto significa quequalquer dispositivo PCI é beneficiado pela configuração automáticaofereci<strong>da</strong> pelo Plug and Play. Já o barramento ISA não possui recursos PnPnativos, ou seja, as <strong>placa</strong>s <strong>de</strong> expansão ISA antigas, bem como osdispositivos <strong>da</strong>s <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> liga<strong>da</strong>s ao barramento ISA (interfaces seriais


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-45e paralelas, por exemplo), não possuem recursos <strong>de</strong> configuraçãoautomática.A arquitetura Plug and Play foi cria<strong>da</strong> <strong>de</strong> forma que não apenas dispositivosPCI possam usá-la. Novos dispositivos ISA pu<strong>de</strong>ram passar a utilizar asmesmas configurações automáticas disponíveis nas <strong>placa</strong>s PCI. Placas <strong>de</strong>expansão ISA produzi<strong>da</strong>s a partir <strong>de</strong> 1995, bem como interfaces existentesnas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> mo<strong>de</strong>rnas e liga<strong>da</strong>s ao barramento ISA, também são Plugand Play.A distribuição <strong>de</strong> recursos <strong>de</strong> hardware <strong>de</strong> forma automática <strong>de</strong>pen<strong>de</strong> <strong>de</strong> trêsfatores:1) Que exista uma área no sistema que indique quais são os recursos <strong>de</strong>hardware disponíveis e quais estão em uso por quais interfaces. Esta áreaexiste em to<strong>da</strong>s as <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> mo<strong>de</strong>rnas, e chama-se ESCD (Exten<strong>de</strong>dSystem Configuration Data). Não existe local padrão para essas informações,mas normalmente ficam localiza<strong>da</strong>s no BIOS, em Flash ROM, ou no chipCMOS.2) Que ca<strong>da</strong> dispositivo PCI ou ISA PnP informe os recursos <strong>de</strong> hardware <strong>de</strong>que necessita, e que possa ser programado para utilizar os recursos a ele<strong>de</strong>stinados por um Gerenciador <strong>de</strong> Recursos.3) Que os dispositivos não Plug and Play (Legacy Devices, ou dispositivos <strong>de</strong>legado) possam ser configurados <strong>de</strong> forma manual, porém <strong>de</strong> formacompatível com os dispositivos Plug and Play.A arquitetura Plug and Play tem seu funcionamento <strong>de</strong>pen<strong>de</strong>nte do BIOS edo sistema operacional. A figura 32 mostra como o BIOS e o sistemaoperacional interagem para acessar os recursos Plug and Play. Estamosindicando na figura como é feito o acesso a dispositivos <strong>de</strong> hardware dostipos PCI e ISA PnP.


12-46 Hardware Total*** 75%***Figura12.32Arquitetura <strong>de</strong> umsistema Plug andPlay.Quando o computador é ligado, o Gerenciador Global <strong>de</strong> Configurações,que faz parte do BIOS PnP, ativa o Gerenciador <strong>de</strong> Configurações PCI e oGerenciador <strong>de</strong> Configurações ISA PnP. Ca<strong>da</strong> um <strong>de</strong>sses móduloscoman<strong>da</strong>rá suas funções <strong>de</strong> inicialização, que por sua vez enviarãocomandos <strong>de</strong> inicialização apropriados para os dispositivos <strong>de</strong> hardware PCIe ISA. Durante esta inicialização, todos os dispositivos são interrogados parachecar quais são os recursos <strong>de</strong> hardware necessários (Memória, E/S, IRQ eDMA). As funções <strong>de</strong> inicialização por sua vez pe<strong>de</strong>m ao Gerenciador <strong>de</strong>Recursos do BIOS que obtenha através <strong>da</strong>s informações conti<strong>da</strong>s no ESCD,quais recursos po<strong>de</strong>m ser <strong>de</strong>stinados a esses dispositivos. Note que algunsdispositivos são inicializados e configurados nesta etapa, outros sãoconfigurados pelo sistema operacional. Tipicamente os dispositivos queprecisam estar ativos antes do boot (interfaces <strong>de</strong> disco, por exemplo) sãoativados e configurados pelo BIOS. Dispositivos que funcionam apenas sob oWindows ou outro sistema Plug and Play po<strong>de</strong>m ser configuradosposteriormente por este sistema.O sistema operacional também tem um gerenciador <strong>de</strong> configurações queengloba as mesmas funções do gerenciador do BIOS, porém com funçõesmais avança<strong>da</strong>s. Uma <strong>da</strong>s funções que este gerenciador executa e o BIOSnão, é o carregamento dos drivers dos dispositivos. O BIOS não carregadrivers, apenas distribui os recursos <strong>de</strong> hardware. Em função dos <strong>da</strong>dosexistentes no ESCD, o sistema operacional também po<strong>de</strong> i<strong>de</strong>ntificar osrecursos usados por ca<strong>da</strong> dispositivos. Po<strong>de</strong> ain<strong>da</strong> interrogar os dispositivos


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-47que não forma configurados pelo BIOS e distribuir recursos <strong>de</strong> hardware(Memória, E/S, IRQ e DMA) em função dos <strong>da</strong>dos existentes no ESCD. Osistema operacional também po<strong>de</strong> empregar utilitários para ler e alterar asinformações do ESCD, bem como reprogramar os recursos <strong>de</strong> hardwareusados pelos dispositivos Plug and Play (como é o caso do bom e velhoGerenciador <strong>de</strong> Dispositivos do Windows).Como vemos, a arquitetura Plug and Play consiste muito mais emprocedimentos <strong>de</strong> software que elementos <strong>de</strong> hardware. Por isso foi fácilintegrá-la às <strong>placa</strong>s ISA <strong>de</strong> fabricação mais recente.Conexões com outros barramentosA ligação entre barramentos diferentes é feita através <strong>de</strong> circuitos chamados<strong>de</strong> bridge (ponte). Esses circuitos ficam localizados no chipset. Comosabemos, o chipset é normalmente formado por dois componentes:System Controller ou NorthbridgePeriperal Controller ou SouthBridgeNo System Controller encontramos entre vários outros circuitos, a ligaçãoentre o barramento PCI e o barramento do processador (PCI/Host Bridge).No Peripheral Controller encontramos, além <strong>de</strong> vários outros circuitos, aconexão entre o barramento PCI e outros barramentos mais lentos (como oISA e o LPC).Uso <strong>de</strong> interrupções no barramento PCIO barramento PCI utiliza 4 linhas <strong>de</strong> interrupção que po<strong>de</strong>m serredireciona<strong>da</strong>s para as interrupções convencionais do PC (IRQs). Umcomponente do chipset chamado Redirecionador <strong>de</strong> interrupções éencarregado <strong>de</strong> fazer este redirecionamento.Figura 12.33Ligação do roteador <strong>de</strong> interrupções dobarramento PCI.


12-48 Hardware TotalA figura 33 mostra como funciona o roteador <strong>de</strong> interrupções. Chegam a ele4 linhas <strong>de</strong> interrupção do barramento PCI: R0, R1, R2 e R3. Este roteador éprogramado para redirecionar essas 4 linhas para linhas <strong>de</strong> IRQ apropria<strong>da</strong>s.No exemplo <strong>da</strong> figura 33 essas interrupções estão redireciona<strong>da</strong>s para IRQ9,IRQ10, IRQ11 e IRQ12. Esta escolha <strong>de</strong> IRQs é feita <strong>de</strong> forma automáticapelo BIOS, mas po<strong>de</strong> ser altera<strong>da</strong> através do CMOS Setup, na seção PCIConfiguration. Nela po<strong>de</strong>mos escolher entre as várias IRQs disponíveis paraserem associa<strong>da</strong>s às 4 linhas <strong>de</strong> interrupção que chegam do barramento PCI.As interrupções no barramento PCI po<strong>de</strong>m ser compartilha<strong>da</strong>s, ou seja, doisou mais dispositivos po<strong>de</strong>m usar a mesma interrupção. Caberá à rotina dosistema operacional que faz o atendimento a ca<strong>da</strong> interrupção, <strong>de</strong>terminarqual foi o dispositivo que a gerou.Curiosa é a forma como as linhas <strong>de</strong> interrupção são liga<strong>da</strong>s aos slots PCI.Ca<strong>da</strong> slot tem 4 pinos <strong>de</strong> interrupção: IRQA, IRQB, IRQC e IRQD.Entretanto a ligação com as entra<strong>da</strong>s do roteador não é direta, e sim,alterna<strong>da</strong>. A figura 34 mostra um método típico <strong>de</strong> ligação.*** 35% ***Figura 12.34Conexões <strong>de</strong> INTA, INTB, INTC e INTD em slots PCI.A forma <strong>de</strong> conexão parece confusa, mas é na ver<strong>da</strong><strong>de</strong> bastante interessantee faz com que o uso <strong>da</strong>s interrupções seja distribuído uniformemente entre asdisponíveis. Sempre que uma <strong>placa</strong> PCI precisa utilizar uma únicainterrupção, <strong>de</strong>ve ser obtigatoriamente a IRQA. Se uma <strong>placa</strong> precisar termais <strong>de</strong> uma interrupção po<strong>de</strong> utilizar as <strong>de</strong>mais linhas, mas a a IRQAsempre <strong>de</strong>verá ser usa<strong>da</strong>. Aparentemente isto faria com que a linha IRQAficasse congestiona<strong>da</strong>, mas não fica graças à forma como as linhas IRQA,IRQB, IRQC e IRQD são leva<strong>da</strong>s até o roteador <strong>de</strong> interrupções. Note queno esquema <strong>da</strong> figura 34, a IRQA do slot 1 está liga<strong>da</strong> em R3, que por sua


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-49vez é direciona<strong>da</strong> para IRQ12. A IRQA do slot 2 está liga<strong>da</strong> em R2, que porsua vez é direciona<strong>da</strong> para IRQ11. A IRQA do slot 3 está liga<strong>da</strong> em R1, quepor sua vez é direciona<strong>da</strong> para IRQ10, e finalmente a IRQA do slot 4 estáliga<strong>da</strong> em R0, que por sua vez é direciona<strong>da</strong> para IRQ9. Se ca<strong>da</strong> <strong>placa</strong>utilizar a IRQA ao mesmo tempo, serão gera<strong>da</strong>s interrupções diferentesIRQ9, IRQ10, IRQ11 e IRQ12.Quando existem mais <strong>de</strong> 4 slots PCI, o roteamento obrigatoriamente faz comque uma mesma entra<strong>da</strong> do roteador esteja liga<strong>da</strong> a duas linhas INTA, <strong>de</strong>dois slots PCI diferentes. Por exemplo, em uma <strong>placa</strong> com 6 slots PCI, asIRQs po<strong>de</strong>riam estar rotea<strong>da</strong>s <strong>da</strong> seguinte forma:R0: INTA/1, INTB/2, INTC/3, INTD/4, INTA/5, INTB/6R1: INTB/1, INTC/2, INTD/3, INTA/4, INTB/5, INTC/6R2: INTC/1, INTD/2, INTA/3, INTB/4, INTC/5, INTD/6R3: INTD/1, INTA/2, INTB/3, INTC/4, INTD/5, INTA/6Neste caso é comum dizer que “os slots 1 e 5 compartilham a mesma IRQ” e“os slots 2 e 6 compartilham a mesma IRQ”. Isso estaria correto se ca<strong>da</strong> slotusar uma única IRQ, mas sabemos que quando mais <strong>de</strong> uma IRQ é usa<strong>da</strong>,outras IRQs também serão compartilha<strong>da</strong>s.Vimos que a distribuição <strong>da</strong>s IRQs a serem usa<strong>da</strong>s pelo roteador po<strong>de</strong> serconfigura<strong>da</strong> pelo CMOS Setup, <strong>de</strong> forma manual, ou ser <strong>de</strong>ixa<strong>da</strong> a cargo doBIOS e do sistema operacional. Po<strong>de</strong>mos checar através do Gerenciador <strong>de</strong>Dispositivos, quais linhas estão sendo usa<strong>da</strong>s pelo roteador <strong>de</strong> interrupções.Clicando em Computador / Proprie<strong>da</strong><strong>de</strong>s / IRQs, po<strong>de</strong>mos ver a lista <strong>da</strong>sIRQs em uso. Aquelas indica<strong>da</strong>s com “Portador <strong>de</strong> IRQs pararedirecionamento <strong>de</strong> IRQs PCI” são as que estão em uso pelo roteador.Nem todos os dispositivos ligados ao barramento PCI utilizam as linhasIRQA, IRQB, IRQC ou IRQD. Por exemplo, as interfaces IDE primária esecundária, apesar <strong>de</strong> serem dispositivos PCI, utilizam as interrupções IRQ15e IRQ14, respectivamente, que não passam pelo roteador, sendo liga<strong>da</strong>sdiretamente ao controlador <strong>de</strong> interrupções. Da mesma forma, as interfacesUSB que também são dispositivos PCI po<strong>de</strong>m estar diretamente liga<strong>da</strong>s auma interrupção, ou então usarem uma <strong>da</strong>s IRQs disponíveis para os slotsPCI.Barramento VLB


12-50 Hardware TotalAntes do surgimento do barramento PCI, alguns outros barramentos formausados nos PCs, oferecendo taxas <strong>de</strong> transferência mais eleva<strong>da</strong>s. Obarramento MCA e o EISA foram dois padrões adotados entre o final dosanos 80 e o início dos anos 90. O MCA (Microchannel Architecture) erausado em PCs IBM PS/2 e teve várias versões, <strong>de</strong> 16 e 32 bits, operando a 10e 16 MHz. O barramento EISA (Enhanced ISA) foi <strong>de</strong>senvolvido pordiversas empresas que precisavam <strong>de</strong> um barramento mais rápido mas nãopodiam usar o MCA, que era barramento proprietário <strong>da</strong> IBM. O EISAopera com 32 bits e usa clocks entre 6 e 8,33 MHz.Algumas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> chegaram a utilizar barramentos locais <strong>de</strong> altaveloci<strong>da</strong><strong>de</strong> para expansões <strong>de</strong> memória. Permitiam a instalação <strong>de</strong> uma<strong>placa</strong> especial <strong>de</strong> memória, mas infelizmente esses barramentos eramproprietários. Significa que uma <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> com um barramento localproprietário para expansão <strong>de</strong> memória <strong>de</strong>veria obrigatoriamente usar uma<strong>placa</strong> <strong>de</strong> expansão <strong>de</strong> memória do mesmo fabricante. Como essesbarramentos não eram padronizados, não foram usados em larga escala pelaindústria <strong>de</strong> <strong>placa</strong>s para PCs. A necessi<strong>da</strong><strong>de</strong> <strong>de</strong>ste tipo <strong>de</strong> barramento cessoucom a proliferação dos módulos <strong>de</strong> memória, que permitiam obter eleva<strong>da</strong>scapaci<strong>da</strong><strong>de</strong>s <strong>de</strong> memória em pouco espaço.A necessi<strong>da</strong><strong>de</strong> <strong>de</strong> barramentos mais rápidos voltou a ser gran<strong>de</strong> quando as<strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o passaram a operar com altas resoluções e elevado número<strong>de</strong> cores. As antigas <strong>placa</strong>s VGA <strong>de</strong> 16 bits operavam <strong>de</strong> forma satisfatóriaem modo texto, e com gráficos <strong>de</strong> 640x480 com 256 cores, quando to<strong>da</strong> amemória <strong>de</strong> ví<strong>de</strong>o ocupava apenas 300 kB. Já com a resolução <strong>de</strong> 1024x768com 16 milhões <strong>de</strong> cores, a memória <strong>de</strong> ví<strong>de</strong>o ocupa cerca <strong>de</strong> 2 MB. Paratransferir integralmente uma tela nesta resolução para uma <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>oISA, seria necessário um tempo <strong>de</strong> cerca <strong>de</strong> 0,25 a 0,5 segundo. Amovimentação <strong>da</strong> tela seria extremante lenta, o que criou a necessi<strong>da</strong><strong>de</strong> <strong>de</strong>um novo barramento mais veloz, próprio para a <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o.Foi então que surgiu o VESA Local Bus (VLB), criado pela Vi<strong>de</strong>oElectronics Stan<strong>da</strong>rds Association. Este barramento era representadofisicamente por um conector adicional que ficava alinhado com os slots ISA.Neste barramento era feita a reprodução quase fiel dos sinais <strong>de</strong> <strong>da</strong>dos,en<strong>de</strong>reço e controle do processador 486.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-51Figura 12.35Placas SVGA VLB e IDEPLUS VLB.Entre 1994 e 1995 eram comuns as <strong>placa</strong>s SVGA VLB e IDEPLUS VLB,mostra<strong>da</strong>s na figura 35. Usando uma <strong>placa</strong> SVGA VLB era conseguido um<strong>de</strong>sempenho gráfico bastante superior. A <strong>placa</strong> IDEPLUS VLB tinha comovantagem a maior taxa <strong>de</strong> transferência <strong>da</strong> interface IDE, já que suas outrasinterfaces (seriais, pararalela, drives <strong>de</strong> disquetes e joystick) operavam comtaxas <strong>de</strong> transferência bem menores. Também foram produzi<strong>da</strong>s <strong>placa</strong>sdigitalizadoras <strong>de</strong> ví<strong>de</strong>o e controladoras SCSI no padrão VLB. Infelizmente obarramento VLB era totalmente baseado no barramento local do 486. Achega<strong>da</strong> dos processadores Pentium e suas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> equipa<strong>da</strong>s comslots PCI, juntamente com a extinção dos processadores 486, fez com que obarramento VLB também caísse em <strong>de</strong>suso.


12-52 Hardware TotalFigura 12.36Uma <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> com slots VLB.Os slots VLB foram muito utilizados em <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> 486 com clockexterno <strong>de</strong> 33 MHz, portanto operavam também com 33 MHz. São slots <strong>de</strong>32 bits, e a 33 MHz oferecem uma taxa <strong>de</strong> transferência teórica máxima <strong>de</strong>133 MB/s. Esta taxa variava <strong>de</strong> acordo com o clock externo do processador.Por exemplo, o 486DX2-50 operava externamente a 25 MHz, portanto obarramento VLB acompanhava este clock, e a taxa <strong>de</strong> transferênciaresultante era <strong>de</strong> 100 MB/s. A tabela a seguir mostra alguns processadores eas taxas obti<strong>da</strong>s nos seus barramentos VLB.ProcessadorClock externoe do VLBTaxa <strong>de</strong>transferência486DX-33, 486DX2-66,33 MHz 133 MB/s486DX4-100, 5x86-133486DX2-80 40 MHz 160 MB/s486DX-25, 486DX2-50,486DX4-7525 MHz 100 MB/sNote que a maioria <strong>da</strong>s <strong>placa</strong>s <strong>de</strong> expansão VLB não suportava operar acima<strong>de</strong> 33 MHz. Para suportar 40 MHz era preciso utilizar wait states que eramprogramados através <strong>de</strong> jumpers nas <strong>placa</strong>s VLB.O barramento VLB tinha várias <strong>de</strong>svantagens que contribuíram para quenão fosse prolongado o seu uso <strong>de</strong>pois <strong>da</strong> criação do PCI. As <strong>placa</strong>s eramextremamente longas e maus contatos no conector eram bastante comuns.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-53Não oferecia o recurso Plug and Play, como ocorre com o barramento PCI.O fato <strong>de</strong> não ter sido criado sob a li<strong>de</strong>rança <strong>da</strong> Intel e <strong>da</strong> Microsoft tambémcontribuiu para que não fizesse tanto sucesso no mercado.Barramento ISAO barramento ISA (Industry Stan<strong>da</strong>rd Architecture) surgiu no início dosanos 80. Foi criado pela IBM para ser utilizado no IBM PC XT (8 bits) e noIBM PC AT (16 bits). Apesar <strong>de</strong> ter sido lançado há muito tempo, po<strong>de</strong>mosencontrar slots ISA em praticamente todos os PCs produzidos nos últimosanos. Apenas a partir do ano 2000 tornaram-se comuns novas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong>que aboliram completamente os slots ISA.No tempo em que não existiam barramentos mais avançados, as <strong>placa</strong>s <strong>de</strong><strong>CPU</strong> possuíam 6, 7 e até 8 slots ISA. Depois <strong>da</strong> popularização dobarramento PCI, as <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> passaram a apresentar apenas 2 ou 3 slotsISA. As raras <strong>placa</strong>s produzi<strong>da</strong>s atualmente que possuem slots ISA,apresentam apenas um ou dois <strong>de</strong>sses slots.Os slots ISA são utilizados por várias <strong>placa</strong>s <strong>de</strong> expansão, entre as quais:Placas fax/mo<strong>de</strong>mPlacas <strong>de</strong> somPlacas <strong>de</strong> interface para scanner SCSIInterfaces proprietáriasPlacas <strong>de</strong> re<strong>de</strong>Note que estamos falando principalmente <strong>de</strong> mo<strong>de</strong>los antigos, pois a maioriados fabricantes <strong>de</strong> <strong>placa</strong>s <strong>de</strong> expansão já adotou <strong>de</strong>finitivamente o padrãoPCI, e não fabricam mais novos mo<strong>de</strong>los ISA. De qualquer forma, apresença <strong>de</strong> slots ISA em uma <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> é útil caso seja necessárioaproveitar <strong>placa</strong>s <strong>de</strong> expansão antigas.As <strong>placa</strong>s fax/mo<strong>de</strong>m e as <strong>placa</strong>s <strong>de</strong> som foram as que mais <strong>de</strong>moraram paraadotar o padrão PCI. O motivo <strong>de</strong>sta <strong>de</strong>mora é que o tráfego <strong>de</strong> <strong>da</strong>dos queelas utilizam mal chega a ocupar 5% <strong>da</strong> capaci<strong>da</strong><strong>de</strong> <strong>de</strong> transferência <strong>de</strong> umslot ISA. Já as <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o, <strong>placa</strong>s <strong>de</strong> re<strong>de</strong>, interfaces SCSI edigitalizadoras <strong>de</strong> ví<strong>de</strong>o operam com taxas <strong>de</strong> transferência mais eleva<strong>da</strong>s,por isso foram as primeiras a serem produzi<strong>da</strong>s no padrão PCI.


12-54 Hardware Total*** 35% ***Figura 12.37Placas <strong>de</strong> expansão ISA:<strong>placa</strong> fax/mo<strong>de</strong>m e <strong>placa</strong> <strong>de</strong> som.A figura 37 mostra exemplos <strong>de</strong> <strong>placa</strong>s <strong>de</strong> expansão ISA. Observe quealgumas <strong>de</strong>las utilizam um conector simples (8 bits), enquanto outras utilizamum conector duplo (16 bits). Da mesma forma, os slots ISA po<strong>de</strong>mapresentar um único conector (ISA <strong>de</strong> 8 bits) ou dois conectores (ISA <strong>de</strong> 16bits). Placas ISA <strong>de</strong> 8 bits po<strong>de</strong>m ser encaixa<strong>da</strong>s, tanto em slots ISA <strong>de</strong> 8 bitscomo em slots ISA <strong>de</strong> 16 bits. Placas ISA <strong>de</strong> 16 bits <strong>de</strong>vem ser encaixa<strong>da</strong>sobrigatoriamente em slots ISA <strong>de</strong> 16 bits (exceto em raríssimos casos <strong>de</strong><strong>placa</strong>s VGA antigas, <strong>de</strong> 16 bits, mas que se comportam como <strong>placa</strong>s <strong>de</strong> 8bits ao serem encaixa<strong>da</strong>s em um slot <strong>de</strong> 8 bits). Os slots ISA <strong>de</strong> 8 bits eramencontrados em <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> muito antigas.Observe que Barramento ISA não é sinônimo <strong>de</strong> Slot ISA. O BarramentoISA é um conjunto <strong>de</strong> sinais digitais que partem do chipset e do processador,e atingem tanto as <strong>placa</strong>s <strong>de</strong> expansão, através dos slots, como circuitos <strong>da</strong><strong>placa</strong> <strong>de</strong> <strong>CPU</strong>. Por exemplo, as interfaces para drives <strong>de</strong> disquete, interfacesseriais e interface paralela embuti<strong>da</strong>s na <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> são controla<strong>da</strong>satravés do barramento ISA, apesar <strong>de</strong> não utilizarem os slots.Sinais do barramento ISAA seguir apresentamos os principais sinais do barramento ISA e suas<strong>de</strong>scrições. A maioria <strong>de</strong>les foram originados no barramento <strong>de</strong> sistema dosprocessadores 8088 e 80286.SinalDATA0-DATA16DescriçãoBarramento <strong>de</strong> <strong>da</strong>dos, com 16 bits


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-55Address 0 – Address 23Reset DriverIRQ3 – IRQ15DMAREQ 0 – DMAREQ7DMAACK0 – DMAACK7Real Memory ReadReal Memory WriteMemory ReadMemory WriteI/O ReadI/O WriteTerminal CountALEOSCMemory 16-bit SelectI/O 16-bit SelectI/O Channel CheckI/O Channel ReadyBarramento <strong>de</strong> en<strong>de</strong>reços, com 24 bitsSinal que é enviado para todo o barramento quando oprocessador é resetado, provocando assim o RESET dos<strong>de</strong>mais circuitos do computador.Linhas <strong>de</strong> requisição <strong>de</strong> interrupção. Através <strong>de</strong>las as diversas<strong>placa</strong>s <strong>de</strong> expansão e <strong>de</strong>mais circuitos po<strong>de</strong>m interromper oprocessador. Algumas linhas não estão disponíveis nobarramento ISA, pois são usa<strong>da</strong>s internamente pela <strong>placa</strong> <strong>de</strong><strong>CPU</strong>. É o caso <strong>da</strong> IRQ0, usa<strong>da</strong> pelo alarme, IRQ1 usa<strong>da</strong> peloteclado, IRQ2 usa<strong>da</strong> para conexão entre os dois controladores<strong>de</strong> interrupção e IRQ13 usa<strong>da</strong> pela uni<strong>da</strong><strong>de</strong> <strong>de</strong> ponto flutuante.Requisições <strong>de</strong> DMA. Através <strong>de</strong>ssas linhas uma interfacepo<strong>de</strong> solicitar transferências por DMA. O canal DMA4 nãoestá disponível no barramento, pois é usado para conectar osdois controladores <strong>de</strong> DMA.Sinais <strong>de</strong> reconhecimento <strong>de</strong> interrupção, um para ca<strong>da</strong> canal<strong>de</strong> DMA,Indica leituras na memória, quando o processador opera nomodo real.Indica excritas na memória, quando o processador opera nomodo real.Indica leituras na memória, tanto no modo real como noprotegido.Indica escritas na memória, tanto no modo real como noprotegido.Indica leitura em dispositivos <strong>de</strong> E/SIndica escrita em dispositivos <strong>de</strong> E/SIndica que foi finaliza<strong>da</strong> uma operação <strong>de</strong> DMAAddress Latch Enable. Indica ao barramento que os en<strong>de</strong>reçossão válidos e po<strong>de</strong>m ser capturados pelas interfaces.Sinal <strong>de</strong> 14,38 MHz, usado pelas <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o antigas paragerar o sinal <strong>de</strong> ví<strong>de</strong>o composto no padrão NTSC.Indica que o atual ciclo <strong>de</strong> memória <strong>de</strong>ve operar com 16 bits.Indica que o atual ciclo <strong>de</strong> E/S <strong>de</strong>ve operar com 16 bits.Indica que ocorreu um erro <strong>de</strong> pari<strong>da</strong><strong>de</strong> na memória.Usado para introduzir Wait States nos ciclos em an<strong>da</strong>mento.LPC - substituto do ISA em <strong>placa</strong>s mo<strong>de</strong>rnasAs <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> mo<strong>de</strong>rnas não utilizam mais slots ISA. Ain<strong>da</strong> assimpossuem circuitos internos que precisam estar disponíveis, apesar <strong>de</strong> seremoriginalmente ligados ao barramento ISA. São as interfaces seriais, a interfaceparalela, a interface para drives <strong>de</strong> disquetes, o CMOS, a interface <strong>de</strong>teclado, a interface para mouse, o PC Speaker e o BIOS. Note que nas<strong>placa</strong>s mo<strong>de</strong>rnas, com exceção do BIOS, todos esses circuitos fazem parte dochip conhecido como Super I/O. Seria preciso manter um barramento ISAinterno apenas para a ligação <strong>de</strong>sses dispositivos.Outro problema é que o barramento ISA possui muitos pinos. Os slots <strong>de</strong> 16bits têm ao todo 98 pinos. Mesmo <strong>de</strong>scontando pinos que normalmente não


12-56 Hardware Totalsão necessários para o funcionamento do Super I/O e do BIOS, o númerototal continua sendo muito gran<strong>de</strong>. Para resolver esses problemas, a Intelcriou o barramento LPC (Low Pin Count).Este barramento opera com 33 MHz, mas utiliza apenas 13 pinos. Como é<strong>de</strong>stinado à conexão <strong>de</strong> dispositivos lentos, não precisa utilizar barramentosin<strong>de</strong>pen<strong>de</strong>ntes <strong>de</strong> <strong>da</strong>dos e en<strong>de</strong>reços. Na ver<strong>da</strong><strong>de</strong> nem precisa fornecertodos esses bits ao mesmo tempo. O LPC tranfere as informações no formatoserial, usando um barramento <strong>de</strong> apenas 4 bits. Utilizado essas 4 linhas sãofornecidos <strong>de</strong> forma serial, <strong>da</strong>dos, en<strong>de</strong>reços, comandos, wait states e to<strong>da</strong>sas <strong>de</strong>mais informações necessárias à sua operação.Figura 12.38Diagrama <strong>de</strong> uma <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> mo<strong>de</strong>rna.Note o barramento LPC, no qual estãoligados o Super I/O e o BIOS.A figura 38 mostra o diagrama <strong>de</strong> uma mo<strong>de</strong>rna <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> na qual nãoexiste barramento ISA. Observe que o chip South Bridge (no exemplo, oAMD-766) tem como uma <strong>de</strong> suas funções, gerar os sinais do barramentoLPC, no qual estão conectados os chips Super I/O e o Flash BIOS. Damesma forma existem vários chips Super I/O e várias Flash ROMs quetambém adotaram o padrão LPC.Todos os dispositivos que eram tipicamente ligados ao barramento ISAoperam com baixa veloci<strong>da</strong><strong>de</strong>. Sendo assim, o barramento LPC não temnecessi<strong>da</strong><strong>de</strong> <strong>de</strong> operar com alto <strong>de</strong>sempenho, mas apenas o suficiente parauma comunicação eficiente com esses dispositivos. Já que os chips mo<strong>de</strong>rnossão capazes <strong>de</strong> operar com clocks bem mais elevados que os usadosantigamente no barramento ISA, o LPC tira proveito disso, operando comum número <strong>de</strong> pinos baixo, o que resulta em menor custo e menorcomplexi<strong>da</strong><strong>de</strong> dos seus circuitos.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-57O LPC tem ao todo 13 pinos, sendo 7 <strong>de</strong> uso obrigatório e 6 opcionais,usados apenas quando é preciso utilizar todos os seus recursos, o que nemsempre é o caso. Os pinos <strong>de</strong> uso obrigatório são:SinalLAD0- LAD3LFRAMELRESETLCLKDescriçãoBarramento serial para comandos, en<strong>de</strong>reços e <strong>da</strong>dos, todosmultiplexados.Indica o início <strong>de</strong> ca<strong>da</strong> ciclo.Reseta os dispositivos do barramento.Clock <strong>de</strong> 33 MHz para os dispositivos do barramento.Os <strong>de</strong>mais 6 sinais são necessários para dispositivos que usam DMA,interrupções e gerenciamento <strong>de</strong> energia. As operações <strong>de</strong> leitura e escritaem memória e E/S no barramento LPC são feitas em 8 bits, assim comoocorre com to<strong>da</strong>s as interfaces que preten<strong>de</strong> atingir. Po<strong>de</strong> ain<strong>da</strong> realizaroperações <strong>de</strong> DMA com 8, 16 e 32 bits, e operações <strong>de</strong> Bus Mastering com8, 16 e 32 bits.Figura 12.39Operação do barramento LPC.A figura 39 mostra o diagrama <strong>de</strong> tempo <strong>de</strong> uma transferência nobarramento LPC. As transferências são coman<strong>da</strong><strong>da</strong>s pelo sinal <strong>de</strong> clockLCLK. O sinal LFRAME é ativado em nível 0, indicando o início <strong>de</strong> umciclo. A seguir os comandos, en<strong>de</strong>reços, <strong>da</strong>dos e <strong>de</strong>mais informações sãotransmiti<strong>da</strong>s através <strong>de</strong> LAD0-LAD3, em seqüências <strong>de</strong> 4 bits a ca<strong>da</strong> clock.


12-58 Hardware Total*** 35% ***Figura 12.40Diagrama <strong>de</strong> um chip Super I/O para barramento LPC.A maioria dos fabricantes <strong>de</strong> chips Super I/O produzem mo<strong>de</strong>los para opadrão LPC. A figura 40 mostra o diagrama do chip PC87360, produzidopela National Semiconductor. Possui diversas interfaces, e no seu diagramapo<strong>de</strong>mos ver os sinais <strong>de</strong> conexão com o barramento LPC (Bus Interface).Note que existem ain<strong>da</strong> disponíveis os sinais PIRQ3-PIRQ7, PIRQ9-PIRQ12,PIRQ14 e PIRQ15. Partindo do Super I/O, esses sinais são enviados aoSouth Bridge, o chip no qual estão integrados os controladores <strong>de</strong>interrupções. Através <strong>de</strong>le as interfaces existentes no Super I/O po<strong>de</strong>minterromper o processador.<strong>Barramentos</strong> AMR, CNR e ACRMuitas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> mo<strong>de</strong>rnas possuem conectores para a instalação <strong>de</strong>um riser card. São os slots AMR, CNR e ACR. Um riser card é uma <strong>placa</strong><strong>de</strong> interface especial, cujo principal objetivo é a redução <strong>de</strong> custo. A idéiabásica <strong>de</strong>ssas <strong>placa</strong>s é dividir ca<strong>da</strong> interface em duas partes. Uma parte,totalmente digital e <strong>de</strong> baixo custo, é embuti<strong>da</strong> no chipset. A outra parte,mais volta<strong>da</strong> para funções analógicas, fica no riser card. A comunicaçãoentre o chipset <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> e o Riser Card é feita em um formato serial,utilizando um reduzido número <strong>de</strong> pinos.O primeiro padrão <strong>de</strong> riser card foi o AMR (Audio Mo<strong>de</strong>m Riser).Destinava-se a ser usado apenas com circuitos <strong>de</strong> som e mo<strong>de</strong>m. Para utilizar


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-59essas <strong>placa</strong>s é preciso ter no chipset, os circuitos <strong>de</strong> áudio AC’97 e <strong>de</strong>mo<strong>de</strong>m MC’97. Muitos chipsets mo<strong>de</strong>rnos possuem tais circuitos. Oscircuitos <strong>de</strong> som AC’97 são relativamente simples, mas com boa quali<strong>da</strong><strong>de</strong>.Os circuitos MC’97 são similares aos existentes nos soft mo<strong>de</strong>ms. To<strong>da</strong> aparte digital <strong>de</strong>sses dispositivos fica localiza<strong>da</strong> no chipset, e a parte analógicafica em uma <strong>placa</strong> <strong>de</strong> expansão AMR, que <strong>de</strong>ve ser instala<strong>da</strong> no slotapropriado. A figura 41 mostra um slot AMR.Figura 12.41Slot AMR em uma <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>.Depois do AMR, a Intel criou um novo padrão, o CNR (CommunicationsNetwork Riser). O tipo <strong>de</strong> slot é idêntico ao usado pelo padrão AMR. Nesteslot po<strong>de</strong>mos instalar riser cards com funções <strong>de</strong> áudio, mo<strong>de</strong>m e re<strong>de</strong>. As<strong>placa</strong>s AMR e CNR têm formatos semelhantes, como a que vemos na figura42.


12-60 Hardware Total*** 35% ***Figura 12.42Uma <strong>placa</strong> <strong>de</strong> Re<strong>de</strong>/Áudio CNR.Portanto o CNR é um padrão similar ao AMR, porém suporta funções <strong>de</strong>re<strong>de</strong>. Existe uma diferença entre as localizações dos slots AMR e CNR.Normalmente as <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> possuem um ou outro tipo, mas não ambas.O slot à esquer<strong>da</strong> <strong>de</strong> todos os slots PCI é o CNR (olhando a <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>pela frente do gabinete). O slot localizado à direita é um AMR.Figura12.43Localização dosslots AMR e CNR.Po<strong>de</strong>mos então consi<strong>de</strong>rar que usar uma <strong>placa</strong> AMR ou CNR é o mesmoque utilizar uma <strong>placa</strong> <strong>de</strong> som simples, ou um soft mo<strong>de</strong>m, ou uma interface<strong>de</strong> re<strong>de</strong> comum. A diferença é que parte dos circuitos ficam no chipset(SouthBridge e Super I/O) e parte fica no riser card. Existem vários tipos <strong>de</strong>riser card no mercado: mo<strong>de</strong>m, áudio, áudio+mo<strong>de</strong>m, áudio+re<strong>de</strong>,mo<strong>de</strong>m+re<strong>de</strong>, mo<strong>de</strong>m+áudio+USB, etc.O padrão ACR, promovido pela AMD e outros fabricantes <strong>de</strong> mo<strong>de</strong>ms eprodutos <strong>de</strong> comunicação, é compatível com o AMR, e também oferecefunções <strong>de</strong> re<strong>de</strong>, USB e comunicação em ban<strong>da</strong> larga. Seu slot possui maispinos, e é similar ao slot PCI, porém com uma fixação mecânica diferente.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-61Na figura 44 vemos uma <strong>placa</strong> ACR. É bem pareci<strong>da</strong> com uma <strong>placa</strong> PCI,entretanto não po<strong>de</strong> ser encaixa<strong>da</strong> em um slot PCI. Note que o chanfroexistente no conector <strong>da</strong> <strong>placa</strong> fica na posição simétrica em relação à dosslots PCI <strong>de</strong> 5 volts comuns nas <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong>. O conector ACR existentena <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> é do mesmo tipo usado pelos slots PCI, mas além <strong>da</strong>posição ser inverti<strong>da</strong>, o conector é ligeiramente <strong>de</strong>slocado para a partetraseira do gabinete, o que impe<strong>de</strong> o encaixe <strong>de</strong> <strong>placa</strong>s ACR em slots PCI, evice-versa. A localização do conector ACR na <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> é a mesma doconector CNR, ou seja, à esquer<strong>da</strong> dos slots PCI.Figura 12.44Uma <strong>placa</strong> ACR.A idéia básica do ACR é a mesma do AMR e do CNR: produzir interfacessimples, com a parte digital localiza<strong>da</strong> no chipset e a parte analógicalocaliza<strong>da</strong> no riser card.Muitos fabricantes estão produzindo riser card dos tipos AMR/CNR e ACR.Diversos chipsets <strong>da</strong> Intel, VIA e SiS estão embutindo circuitos como oáudio AC’97 e mo<strong>de</strong>m MC’97, restanto apenas instalar o riser car<strong>da</strong>propriado para ter acesso a esses recursos. As interfaces USB também jáestão presentes nos chipsets, faltando apenas rotaar seus <strong>da</strong>dos para o risercard. A tendência é que os chipsets passem a utilizar embutidos também oscircuitos <strong>de</strong> re<strong>de</strong> e <strong>de</strong> comunicação em geral. Mesmo quando os circuitosnão estão embutidos no chipset, os barramentos AMR, CNR e ACR po<strong>de</strong>mser usados, pois existem diversos chips in<strong>de</strong>pen<strong>de</strong>ntes, <strong>de</strong> baixo custo, quepo<strong>de</strong>m ser utilizados pelos fabricantes <strong>de</strong> <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong>.


12-62 Hardware TotalNote ain<strong>da</strong> que a maioria <strong>da</strong>s <strong>placa</strong>s <strong>de</strong> <strong>CPU</strong> com som onboard, utilizam oscircuitos <strong>de</strong> áudio AC’97. Ao invés <strong>de</strong> utilizarem um riser card, osfabricantes acrescentam na própria <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> os circuitos que estariamno riser card <strong>de</strong> áudio, e usam os tradicionais conectores <strong>de</strong> áudio na partetraseira <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong>. Desta forma o áudio AC’97 po<strong>de</strong> ser utilizado,sem que seja preciso instalar um riser card.Ain<strong>da</strong> é muito difícil encontrar riser cards no comércio, porém seusfabricantes apostam que nos próximos anos serão as opções mais comunspara soft mo<strong>de</strong>ms e outras interfaces <strong>de</strong> baixo custo.Veloci<strong>da</strong><strong>de</strong>sdos principais barramentosO <strong>de</strong>sempenho <strong>de</strong> uma <strong>placa</strong> conecta<strong>da</strong> a um barramento <strong>de</strong>pen<strong>de</strong> <strong>de</strong>vários fatores, entre os quais, a taxa <strong>de</strong> transferência. Esta por sua vez,<strong>de</strong>pen<strong>de</strong> do número <strong>de</strong> bits, do clock e do número <strong>de</strong> transferências feitas aca<strong>da</strong> ciclo. A tabela que se segue mostra as características dos barramentosISA, PCI e AGP.Barramento Bits Clock Transferênciaspor cicloTaxa <strong>de</strong>transferênciaISA 16 8 MHz 1/2 8 MB/sPCI 33 MHz 32 bits 32 33 MHz 1 133 MB/sPCI 33 MHz 64 bits 64 33 MHz 1 266 MB/sPCI 66 MHz 32 bits 32 66 MHz 1 266 MB/sPCI 66 MHz 64 bits 64 66 MHz 1 533 MB/sAGP 1x 32 66 MHz 1 266 MB/sAGP 2x 32 66 MHz 2 533 MB/sAGP 4x 32 66 MHz 4 1066 MB/sAGP 8x 32 66 MHz 8 2133 MB/sO barramento ISA utiliza um clock <strong>de</strong> 8 MHz, e realiza transferências <strong>de</strong> 8ou 16 bits. Usando 16 bits, teoricamente po<strong>de</strong>ria transferir 16 MB/s (8 MHz x2 bytes), mas ca<strong>da</strong> transferência utiliza 2 ciclos <strong>de</strong> clock, como era exigidopelas <strong>placa</strong>s <strong>de</strong> expansão do início dos anos 80, que eram muito lentas.Portanto realiza em média, meia transferência a ca<strong>da</strong> ciclo. Desta forma, ataxa <strong>de</strong> transferência obti<strong>da</strong> com o ISA é <strong>de</strong> apenas 8 MB/s.O barramento PCI mais simples utiliza um clock <strong>de</strong> no máximo 33 MHz,com transferências <strong>de</strong> 32 bits. Isto resulta em uma taxa <strong>de</strong> transferência iguala 132 MB/s (33 MHz x 4 bytes). As versões <strong>de</strong> 64 bits e 66 MHz resultam emtaxas mais eleva<strong>da</strong>s, chegando até 533 MB/s.


Capítulo 12 – <strong>Barramentos</strong> <strong>da</strong> <strong>placa</strong> <strong>de</strong> <strong>CPU</strong> 12-63O barramento AGP não está ligado ao PCI, e sim, ao barramento externo doprocessador, apesar <strong>de</strong> ter muitas características similares às do PCI. Nochamado modo AGP 1x, em ca<strong>da</strong> ciclo AGP é feita uma transferência,resultando em uma taxa <strong>de</strong> 266 MB/s. Como já mostramos, os modos AGP2x, AGP 4x e AGP 8x fornecem 533 MB/s, 1066 MB/s e 2133 MB/s,respectivamente.Essas comparações mostram como uma <strong>placa</strong> <strong>de</strong> ví<strong>de</strong>o PCI simples operacom taxa <strong>de</strong> transferência mais lenta (133 MB/s) que um mo<strong>de</strong>lo AGP.Muitos mo<strong>de</strong>los <strong>de</strong> <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o são atualmente produzidos nas versõesAGP e PCI, sendo que as versões PCI <strong>de</strong>stinam-se a upgra<strong>de</strong>s, ou seja,melhorar o sistema <strong>de</strong> ví<strong>de</strong>o <strong>de</strong> PCs antigos. Com o passar do tempo, serãoca<strong>da</strong> vez mais raras as <strong>placa</strong>s <strong>de</strong> ví<strong>de</strong>o PCI.Note que to<strong>da</strong>s essas taxas <strong>de</strong> transferências são limites máximos teóricos,que na prática não são atingidos. Devemos levar em conta as latências dosbarramentos, que necessitam do fornecimento inicial <strong>de</strong> en<strong>de</strong>reço ecomando, uso <strong>de</strong> wait states e outros eventos que causam overhead,resultando em taxas <strong>de</strong> transferência efetivas bem menores. De qualquerforma, os limites máximos teóricos mostrados na tabela servem comocomparação do potencial <strong>de</strong> ca<strong>da</strong> um <strong>de</strong>sses barramentos.//////// FIM ////////////

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!