Procurando Plantas Exóticas E Raras? Temos as Plantas que você procura aqui !!!!

 Olá Amigas (os),tudo bem? Visite nosso site e confira as plantas que temos.

Temos plantas raras e plantas para colecionadores.Temos plantas de todas as 

espécies como: suculentas,cactos,rosas,samambaias,begônias,avencas,antúrios,

enfim,temos uma infinidade de espécies de plantas em sementes e mudas.

Nosso contato Whatsapp: 47-99656 1856 (vivo).  Aguardamos a sua visita ou 

contato.Atenciosamente:Pedro Osera.


  Clique na Imagem !!!!!!!!!!!!!!!!

domingo, 22 de junho de 2014

Barramentos da placa de CPU - parte 1/2

Conheça os detalhes técnicos sobre o funcionamento dos barramentos existentes em uma placa de CPU moderna: barramento local, barramento de memória, AGP, PCI, AMR, etc. Essas informações ajudarão você a entender mais a fundo o funcionamento de uma placa de CPU, e também do computador. 

Parte 2

Barramentos internos e externos

Barramentos são conjuntos de sinais digitais através dos quais o processador transmite e recebe dados de circuitos externos. Alguns barramentos são usados para transmissões feitas entre placas, ou dentro de uma mesma placa. Existem vários barramentos nesta categoria:
  • Barramento local
  • Barramento da memória
  • Barramento PCI
  • Barramento ISA
  • Barramento AGP
  • Barramento AMR/CNR
Esses serão os barramentos estudados neste capítulo. Outros barramentos são usados para que o processador e a memória possam receber e transmitir dados para periféricos e dispositivos externos. Entre eles podemos citar os seguintes:
  • Barramento SCSI
  • Barramento USB
  • Barramento Firewire
  • Barramento IDE
Figura 12.1
Principais barramentos de uma placa de CPU.



A figura 1 mostra o diagrama em blocos de uma placa de CPU. Nele podemos ver o processador, as memórias, os dois principais integrantes do chipset (North Bridge e South Bridge – ponte norte e ponte sul), a memória, os slots PCI e AGP, o barramento ISA, as interfaces IDE e USB, o chip Super I/O e suas interfaces. Neste capítulo estudarmos detalhadamente os seguintes barramentos indicados nesta figura:
1) Barramento do processador, barramento local ou barramento de sistema. É aquele através do qual o processador faz contato direto com o chipset, e a partir daí, com os demais barramentos. Especificamente este barramento é ligado ao chip chamado ponte nortenorth bridge ou system controller.
2) Barramento da memória. Ligado diretamente na ponte norte, dá acesso aos soquetes nos quais são instalados os módulos de memória.
3) Barramento AGP. É usado para a instalação de uma placa de vídeo AGP.
4) Barramento PCI. Através deles podemos usar placas de expansão PCI. A maioria das placas de expansão atuais usam este barramento.
5) Barramento ISA. Usado na ligação com placas de expansão antigas que seguiam este padrão. Já existem placas de CPU que não apresentam mais o barramento ISA, mas no seu lugar utilizam um barramento interno chamado LPC, usado na comunicação com o BIOS e com o chip Super I/O.

O barramento do processador

Através deste barramento o processador faz a comunicação com o seu exterior. Nele trafegam os dados lidos da memória, escritos na memória, enviados para interfaces e recebidos de interfaces. Pode ser dividido em três grupos:
  • Barramento de dados
  • Barramento de endereços
  • Barramento de controle
Figura 12.2
Barramento do processador.



Através do barramento de endereços o processador pode especificar qual a placa ou interface através da qual quer transmitir ou receber dados, e também especificar o endereço de memória no qual deseja ler ou armazenar dados. A maioria dos processadores modernos têm barramento de endereços com 36 bits, podendo assim endereçar até 64 GB de memória física. O barramento de dados tem 64 bits na maioria dos processadores modernos. O barramento de endereços é sempre unidirecional, ou seja, os bits são gerados pelo processador. O barramento de dados é bidirecional, ou seja, os dados são ora transmitidos, ora recebidos pelo processador.
O barramento de controle contém vários sinais que são necessários ao funcionamento do processador, bem como controlar o tráfego do barramento de dados. Alguns dos seus sinais são de saída, outros são de entrada, outros são bidirecionais. Existem sinais para indicação do tipo de operação (leitura ou escrita), sinais se especificação de destino/origem de dados (memória ou E/S), sinais de sincronismo, sinais de interrupção, sinais que permitem a outro dispositivo tomar o controle do barramento, sinais de clock, sinais de programação e diversos outros.
Na maioria dos casos, o barramento do processador é o mais veloz existente em uma placa de CPU, mas isto nem sempre ocorre. Por exemplo, uma placa de CPU pode ter o processador operando com barramento de 100 MHz e as memórias operando a 133 MHz. Ter a memória mais rápida é vantajoso no caso de placas com vídeo onboard, já que estaria sendo acessada, ora pelo processador, ora pelos circuitos de vídeo. Neste caso o barramento da memória seria o de tráfego mais intenso do computador.

Velocidade do barramento do processador

Os barramentos de todos os processadores modernos operam de forma síncrona, ou seja, os eventos são sincronizados com um sinal de clock. Nos processadores antigos, cada operação era feita em dois, três ou mais períodos de clock. Nos processadores modernos, cada operação pode ser feita em um só período de clock. Infelizmente nem sempre as memórias e outros dispositivos são tão velozes a ponto de acompanhar esta velocidade, e assim são feitas prorrogações chamadas de wait states. Por exemplo, um Pentium III operando com 64 bits (8 bytes) e clock de 100 MHz externos, oferece uma taxa de transferência máxima de 800 MB/s (100 MHz x 8). Na prática este valor não é alcançado, pois nem todas as transferências podem ser feitas em um único ciclo. Por exemplo, todas as memórias modernas podem transferir dados a cada período de clock, porém o primeiro dado demora mais estar pronto, é o que chamamos de latência. Devido às latências das memórias e de outros dispositivos mais lentos, a taxa de transferência máxima nunca é obtida na prática.
A velocidade máxima teórica de um barramento é um ponto bastante importante, por isso vamos discutir o assunto com mais detalhes. Tanto é assim que ao lançar novos processadores (como o caso do Athlon/Duron e do Pentium 4 e Itanium), a Intel e AMD se preocuparam em oferecer taxas de transferência bem elevadas. Para calcular a taxa de transferência, basta multiplicar o clock externo do processador pelo número de bytes do seu barramento de dados. No caso de processadores que operam com DDR (Athlon e Duron) o clock deve ainda ser multiplicado por 2, e para processadores que operam com QDR (Quad Data Rate, como é o caso do Pentium 4 e do Xeon), o clock deve ser multiplicado por 4. A tabela a seguir mostra a taxa de transferência máxima teórica dos principais processadores produzidos nos últimos anos.
Processador
Clock externo
Transferências por ciclo
Taxa de transferência máxima teórica
Pentium / Pentium MMX
66 MHz
1
533 MB/s
K6-2 / K6-III
100 MHz
1
800 MB/s
Pentium II / Celeron
66 MHz
1
533 MB/s
Pentium II 350+
100 MHz
1
800 MB/s
Pentium III, Celeron-800+
100 MHz
1
800 MB/s
Pentium IIIB
133 MHz
1
1066 MB/s
Atlhlon / Duron
100 MHz
2
1600 MB/s
thlon / Duron
133 MHz
2
2133 MB/s
Pentium 4, Xeon
100 MHz
4
3200 MB/s
As latências das memórais impedem que essas taxas sejam obtidas na prática. Um outro fator pode ainda fazer com que a taxa real seja ainda menor. Por exemplo, se um processador Athlon ou Duron operando com barramento de 100 MHz (200 MHz efetivos usando DDR) for ligado a memórias PC133, o desempenho do seu barramento será menor que o de um processador que use barramento de 133 MHz, e não de 200 MHz.

Exemplo de barramento: Pentium MMX e Socket 7

Sempre encontramos nos manuais dos processadores, disponíveis no sites dos seus fabricantes, especificações detalhadas sobre seus barramentos. Apenas como ilustração, mostraremos a seguir algumas informações sobre o barramento do processador Pentium MMX, compatível com os utilizados por outros processadores para o Socket 7. A figura 3 mostra a numeração dos pinos do processador, bem como os nomes recebidos por cada um desses pinos.
Figura 12.3
Pinagem do Pentium MMX.



Observe que vários pinos têm as indicações VSS, VCC2 e VCC3. Os 53 pinos VSS são ligados ao terra da placa de CPU (tensão de 0 volts). Os 28 pinos de VCC3 são para a tensão externa do processador, com 3,3 volts. Os 25 pinos de VCC2 recebem no caso do Pentium MMX, uma alimentação de 2,8 volts, porém em outros processadores esta alimentação tem valores diferentes, e normalmente menores. Esta tensão alimenta o núcleo do processador. O uso de vários pinos de alimentação serve para garantir uma melhor distribuição de correntes dentro do chip e ao longo da placa de CPU.
A figura 4 mostra os barramentos de dados e de endereços. São ao todo 29 pinos de endereços (A3 a A31), com os quais podem ser endereçadas 512 M células de 64 bits, totalizando 4 MB. Como cada célula de 64 bits pode ter seus bytes endereçados individualmente, este processador tem mais 8 sinais de controle (BE0-BE7) que fazem este endereçamento adicional. Por exemplo, o processador pode especificifar uma célula de 64 bits qualquer e através dos sinais BE0-BE7, acessar apenas o valor de 8 bits armazenado no 3o byte desta célula, ou o valor de 16 bits armazenado no 5o e no 6o, bytes, ou ainda acessar o valor de 32 bits encontrado no 2o, 3o, 4o e 5o byte. Pode ainda usar a célula inteira como um valor de 64 bits, ou então obter esses 64 bits, parte da célula atual e parte da célula seguinte. A figura 4 mostra anda os 64 pinos que formam o barramento de dados (D0 a D63).
Figura 12.4
Barramentos de dados e de endereços do Pentium MMX.



O mais complexo barramento do processador é o do controle, onde encontramos  uma grande miscelânea de sinais (figura 5). Alguns são de fácil entendimento, bastando ter conhecimentos básicos sobre o funcionamento externo de um processador. Vamos apresentar alguns desses sinais, apenas para fins ilustrativos. Para obter mais detalhes específicos sobre o funcionamento de cada um desses sinais, é preciso fazer o download do manual do processador de interesse. Esses manuais são encontrados nos sites dos fabricantes, como Intel, AMD e VIA.
Figura 12.5
Sinais de controle do Pentium MMX.



Aqui vão portanto as descrições de alguns desses sinais:
Sinal
Descrição
A20M
Usado para dar acesso à chamada memória HMA, que consiste nos primeiros 64 kB localizados após o endereço 1M. É usado quando o processador opera no Modo Real, ou seja, o mesmo utilizado pelo MS-DOS.
ADS
Address Strobe. Indica que o processador está iniciando um novo ciclo. Os ciclos podem ser de leitura da memória, escrita na memória, leitura de I/O, escrita em I/O, etc.
AP e EADS
Usados para geração e checagem de paridade no barramento de endereços.
BF0 e BF1
Indica o multiplicador usado para definir o clock interno, em função do clock extenro (2x, 2,5x, 3x e 3,5x, no caso do Pentium MMX). Processadores como o K6-2 possuem ainda um pino adicional BF2 para a definição de multiplicadores maiores. Esses pinos são ligados aos jumpers da placa de CPU que fazem a programção dos multiplicadores.
BRDY
Indica ao processador se a atual transferência em modo burst já está finalizada ou se devem ser usados wait states.
CLK
Através desta entrada o processador recebe o seu clock externo.
CPUTYP
Usado para distinguir entre processador primário e secundário, em placas equipadas com mais de um processador.
D/C
Data/Code. Através deste sinal o processador indica se está fazendo um acesso a dados ou a instruções de programas.
DP0-DP7
Usados para geração e controle de paridade no barramento de dados. Cada um desses 8 sinais representa a paridade de 8 bits do barramento de dados.
FERR
Floating Point Erros. Usado para indicar a ocorrência de um erro de ponto flutuante, resultante de uma operação matemática inválida feita pela unidade de ponto flutuante, como uma divisão por zero ou raiz quadrada de um número negativo.
HOLD
Por esta entrada o processador recebe uma requisição para que entre em alta impedância (tristate), possibilitando que outro chip tome o controle do barramento. É usado em transferências de DMA e Bus Mastering.
HLDA
HOLD Acknowledge. O processador informa que está entrando em modo de tristante. A partir daí o barramento pode ser usado por outros chips.
M/IO
O processador indica se está acessando uma posição de memória ou uma interface de I/O (entrada e saída).
R/W
O processador indica se está realizando uma operação de leitura ou escrita.
RESET
Ao receber um comando nesta entrada, o processador realiza seu processo de RESET interno. Este sinal deve ser ativado mediante o botão RESET do gabinete, e também quando o computador é ligado (Power-on RESET).
Esses são apenas alguns dos sinais de controle deste processador, que são encontrados também nos processadores mais modernos. Nossa intenção aqui não foi descrever detalhadamente todos os sinais, mas apenas dar ao leitor uma idéia do tipo de função realizada por esses sinais.

O barramento das memórias

Nas placas de CPU antigas, as memórias eram ligadas diretamente ao barramento do processador, através de chips chamados buffers bidirecionais. Esses chips tinham como único objetivo amplificar a corrente vinda do processador, permitindo que o barramento de dados fosse ligado a um número grande de chips de memória. Portanto a velocidade do barramento do processador era igual à velocidade do barramento das memórias.

Velocidade do barramento das memórias

Atualmente as memórias são ligadas ao processador através do chipset. A função do chipset nesta conexão não é de apenas aplificar corrente. A maioria dos chipsets possui registradores que permitem que a memória opere de forma assíncrona ao processador, ou seja, com um clock diferente. Alguns chipsets podem ter o processador operando a 100 MHz e as memórias a 66, ou 133 MHz. Outros podem ter o processador operando a 200 MHz e as memórias a 133. Existem vários outros exemplos de clocks diferentes. Nesses casos dizemos que a memória está operando de forma assíncrona ao processador.
Podemos encontrar barramentos de memória operando com diversas velocidades:
Tipo de memória
Clock
Transferências por ciclo
Taxa de transferência máxima teórica
FPM, EDO
66 MHz
1/3
176 MB/s (*)
SDRAM PC66
66 MHz
1
533 MB/s
SDRAM PC100
100 MHz
1
800 MB/s
SDRAM PC133
133 MHz
1
1067 MB/s
DDR200
100 MHz
2
1600 MB/s
DDR266
133 MHz
2
2133 MB/s
DDR300
150 MHz
2
2400 MB/s
DDR333
166 MHz
2
2666 MB/s
DDR400
200 MHz
2
3200 MB/s
RDRAM
100 MHz
4
3200 MB/s (**)
(*) Memórias FPM e EDO gastam de 2 a 4 ciclos em Page Mode para fazer cada transferência, por isso consideramos uma média de 3 ciclos para cada transferência, ou 1/3 de transferência a cada ciclo.
(**) Um módulo RDRAM opera com 1600 MB/s, porém são usados aos pares, resultando em 3200 MB/s. Note ainda que a DDR SDRAM mais veloz indicada 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 chegada de chips DDR mais velozes, chegarão tambem ao mercado chips RDRAM também com maior velocidade.
As taxas de transferência mostradas na tabela acima são meros limites teóricos, e nunca são obtidos na prática. São taxas momentâneas que vigoram apenas quando a transferência se dá em modo burst. Essas taxas não são sustentadas por períodos significativos, já que a cada 3 transferências em que usam um só ciclo, é exigida uma transferência inicial que dura 2 ou 3 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 de cada transferência, ao serem usados os comandos de leitura e gravação, onde mostramos como são as formas de onda dos acessos aos vários tipos de memória). Finalmente um outro fator contribui para reduzir ainda mais o desempenho, que é a atuação da cache. A maioria dos acessos à memória passam pelas caches do processador, mas certos ciclos podem ser feitos no modo uncached. O processador estaria neste caso fazendo leituras e escritas diretamente na memória, e sem usar o modo burst (transferências da cache são feitas em grupos de 4 acessos consecutivos).

Os sinais de um barramento de memória

Existem algumas diferenças, principalmente no número de bits do barramento de dados e de endereços dos chips de memória. Já o barramento de memória não admite variações. Existe um padrão que deve ser seguido por todos os fabricantes. Por exemplo, os barramentos dos módulos SDRAM DIMM/168 devem ter sempre 64 ou 72 bits. Diferenças podem existir nos barramentos de endereços, já que módulos de maior capacidade exigem mais bits para seu endereçamento. Entretanto, no mesmo soquete onde instalamos um módulo de 512 MB, também precisam ser suportados módulos de menores capacidades, o que resulta em variações no número de bits de endereços. Essas diferenças não são uma despadronização. O que ocorre é que o barramento deve ser compatível com módulos de diferentes capacidades. Outros sinais são padronizados em módulos de qualquer capacidade. Por exemplo, os sinais RAS e CAS dos módulos SDRAM DIMM/168 devem sempre ocupar os pinos 115 e 111, respecticamente. A figura 6 mostra a utilização de todos os pinos do barramento utilizado pelas memórias SDRAM DIMM/168.
Figura 12.6
Pinagem de um barramento de memória SDRAM DIMM/168.



A seguir apresentamos uma breve descrição dos mais importantes sinais de um barramento de SDRAM DIMM/168.
Sinal
Descrição
RAS
Row Address Strobe. Ligado diretamente aos pinos de RAS dos chips de memória encontrados nos módulos DIMM/168.
CAS
Column Address Strobe. Ligado diretamente aos pinos de CAS dos chips de memória.
WE
Write Enable. Também ligado nos pinos de mesmo nome nas memórias, é usado para indicar se a atual operação é de leitura (bit 1) ou escrita (bit 0).
CK0-CK3
São sinais idênticos e transmitem aos chips do módulo, os sinais de clock necessários aos seu funcionamento. Em módulos PC133, este clock é de 133 MHz.
DQ0-DQ63
São os 64 bits do barramento de dados do módulo.
CB0-CB7
São 8 bits adicionais usados para checagem de erros (Paridade ou ECC)
A0-A12
Barramento de endereços, especifica a célula de memória a ser acessada.
BA0, BA1
Selecionamento de banco. Cada chip de SRAM possui 4 bancos internos. Esses dois bits são usados para o selecionamento do banco desejado. O mesmo selecionamento é enviado a todos os chips do módulo.
S0, S1, S2, S3
Selecionamento de banco dentro do módulo. Existem módulos de 1 e de dois bancos. Normalmente os de 1 banco usam chips de um só lado, enquanto os de 2 bancos possuem chips em ambos os lados. O primeiro banco é sempre ativado pelos sinais S0 e S2, enquanto o segundo banco, quando existe, é ativado pelos sinais S1 e S3.
DQMB0-DQMB7
Cada um desses 8 bits de controle ativa o bits consecutivos do barramento de dados do módulo. DQMB0 habilita os bits DQ0-DQ7; DQMB1 habilita os bits DQ8-DQ15, e assim por diante, até DQMB7 que habilita os bits DQ56-DQ63. Através desses controles, o chipset, mediante comando apropriado do processador, pode acessar grupos de 8, 16, 32 ou 64 bits na célula endereçada. Isso é útil, por exemplo, quando é preciso gravar um dado em um único byte, ou em outras porções menores que os 64 bits do barramento de dados do módulo.
VCC
Alimentação de +3,3 volts.
VSS
Ligados ao terra
Células de memória em um módulo DIMM têm 64 bits, ou seja, 8 bytes. É interessante observar como essas células são endereçadas. São usados 3 grupos de sinais:
Sinais
Funcionamento
S0, S1, S2 e S3
Esses sinais fazem a distinção entre módulos de face simples e de face dupla. Nos módulos de face simples, devem ser ativados simultaneamente os sinais S0 e S2. Nos módulos de face dupla, os sinais S0 e S2 ativam os chips de uma face, e os sinais S1 e S3 ativam os chips da outra face. Mais especificamente:
S0 ativa os bits DQ0-DQ31 da primeira face 
S2 ativa os bits DQ32-DQ63 da primeira face
S1 ativa os bits DQ0-DQ31 da segunda face
S3 ativa os bits DQ32-DQ63 da segunda face
 
Portanto esses sinais podem representar até 2 combinações:
S0 e S2 ativos 
S1 e S3 ativos
BA0, BA1
Esses sinais são enviados a todos os chips do módulo. Servem para selecionar um dos 4 bancos internos que um chip de SDRAM pode ter. Portanto esses sinais podem representar 4 combinações:
Banco 0: BA1=0 e BA0=0
Banco 1: BA1=0 e BA0=1
Banco 2: BA1=1 e BA0=0
Banco 3: BA1=1 e BA0=1
A0-A11 ou
A0-A12
Dependendo da capacidade do módulo, podem existir 12 bits (A0-A11) ou 13 bits (A0-A12) de endereçamento. Este grupo de bits é usado duas vezes para indicar a linha e a coluna desejada, juntamente com os sinais RAS e CAS. Podem portanto fornecer nas duas etapas, 24 ou 26 bits de endereços. Desta forma é possível endereçar 16M (224) ou 64M (226) células.
Sendo assim, a capacidade de um módulo de memória depende obviamente do número e da capacidade dos chips, mas também deve estar de acordo com o número de faces e do número de bits de endereço. Por exemplo, para módulos com 12 bits de endereços e face dupla, a capacidade máxima permitida é de:
16M x 2 bancos por módulo x 4 bancos internos x 8 bytes por célula =
= 1024 MB
A tabela abaixo mostra as capacidades máximas dos módulos em função do número de bits de endereços e do número de faces:
Endereços
Face
Capacidade máxima
A0-A11
Simples
512 MB
A0-A11
Dupla
1024 MB
A0-A12
Simples
2048 MB
A0-A12
Dupla
4096 MB
É claro que a utilização depende também da capacidade de cada chip. Quando não existem chips com capacidade suficiente para criar um módulo de alta capacidade e face simples, são usadas ambas as faces do módulo, com os chips disponíveis.
Praticamente todos os sinais do barramento de memória passam por todos os soquetes. Por exemplo, o mesmo barramento de dados DQ0-DQ63 passa por todos os soquetes e vai até o chipset. O mesmo ocorre com o barramento de endereços e sinais de RAS e CAS. Alguns sinais entretanto são distribuídos individualmente cada um dos soquetes. É o caso dos sinais de clock, que por serem de freqüência muito elevada, são fornecidos em “cópias individuais” para cada soquete. Isso evita que os sinais de clock sejam deteriorados, coisa que normalmente ocorre em pequena escala quando um sinal digital é ligado em muitos chips. A maioria dos chipsets possui vários sinais de clock, todos iguais e sincronizados, mas para serem enviados separadamente para cada soquete de memória.
Sempre que vários circuitos semelhantes são ligados em paralelo é preciso que algum sinal digital faça o selecionamento individual do circuito desejado, caso contrário todos os circuitos tentariam fornecer dados ao mesmo tempo. Digamos por exemplo que um PC tem 256 MB de memória, formados por dois módulos DIMM/168 com 128 MB cada. O chipset precisa saber que endereços de 0 até 128 M pertencem ao primeiro módulo, e que endereços de 128 M a 256 M pertencem ao segundo módulo (note que a rigor o primeiro módulo termina no endereço 128M–1, enquanto o segundo começa exatamente no endereço 128M). Os sinais S0, S1, S2 e S3 de cada soquete de memória são usados para este propósito. O chipset possui vários bits de endereçamento através dos quais podem ativar os sinais S0, S1, S2 e S3 de cada soquete de memória, de forma individual. Através do endereço desejado pelo processador, o chipset sabe exatamente qual módulo de memória o contém, e ativa os sinais de selecionamento de banco adequados.
Figura 12.7
Sinais do controlador de memória do chipset Intel i815.



A figura 7 mostra os sinais do controlador de memória contido no chipset Intel i815. Esses sinais têm correspondência direta com o barramento dos soquetes DIMM/168 das memórias SDRAM. Por exemplo, os sinais SMAA[12:0] (o mesmo que SMAA0, SMAA1, ..., SMAA12) são o barramento de endereços das memórias. Os sinais SDQM[7:0] são ligados diretamente aos pinos DQMB dos soquetes de memória. Os sinais SRAS, SCAS e SWE são ligados diretamente aos pinos RAS, CAS e WE dos soquetes. Já os sinais SCSA[5:0] e SCSB[5:0] são usados para ligações individuais nos pinos S0, S1, S2 e S3 de cada soquete de memória. Este chipset permite usar até 3 módulos DIMM/168, que devem ter seus sinais de selecionamento ligados ao chipset da seguinte forma:
DIMM0
DIMM1
DIMM2
S0 = SCSA0
S0 = SCSA2
S0 = SCSA4
S2 = SCSB0
S2 = SCSB2
S2 = SCSB4
S1 = SCSA1
S1 = SCSA3
S1 = SCSA5
S3 = SCSB1
S3 = SCSB3
S3 = SCSB5
O arranjo é mostrado na figura 8. Note que cada soquete DIMM está ligado a sinais SCSA e SCSB apropriados, responsáveis pelo seu selecionamento. A maioria dos demais sinais são ligados em paralelo, aos três soquetes.
Figura 12.8
Ligação do barramento de memória ao chipset.



Uma descrição completa de todos os barramentos de memória seria inoportuna neste momento. Procuramos portanto explicar o funcionamento do barramento de memória, tomando como exemplo a SDRAM. O barramento da DDR SDRAM tem sinais bastante parecidos, exceto pela taxa de dados dupla.

Barramento AGP

Este barramento foi lançado em 1997 pela Intel, especificamente para acelerar o desempenho de placas de vídeo em PCs equipados com o Pentium II e processadores mais modernos. Trata-se doAcelerated Graphics Port. É formado por um único slot, como o mos­trado na figura 9. Observe que este slot é muito parecido com os utilizados no bar­ramento PCI, mas existem diferenças sutis do ponto de vista mecânico. Fica um pouco mais deslocado para a parte frontal do computador, além de possuir uma separação interna diferente da existente no slot PCI. Desta forma, é impossível en­caixar neste slot, uma placa que não seja AGP.
Figura 12.9
Slot AGP.


O AGP é um slot solitário, usado exclusivamente para placas de vídeo projetadas no padrão AGP. Muitos modelos de placas de vídeo são produzidas nas versões PCI e AGP (ex: Voodoo 3 3000 AGP e Voodoo 3 3000 PCI). A principal van­tagem do AGP é a sua taxa de transferência, bem maior que a verificada no barra­mento PCI.
A figura 10 mostra uma placa de vídeo AGP. Observe a posição do seu conector, mais afastado da parte traseira da placa, o que não ocorre no padrão PCI.
Figura 12.10
Placa de vídeo AGP.


Placas de CPU com slot AGP começaram a se tornar comuns a partir de 1998. As primeiras placas de CPU a apresentar slot AGP foram as que usavam o chipset Intel i440LX, para Pentium II, e depois as que usavam o i440BX. Outros fabricantes de chipsets passaram a desenvolver produtos que também davam suporte ao barramento AGP. Placas de CPU para a plataforma Super 7 (K6, K6-2, etc.) também passaram a apresentar slot AGP. Atualmente todas as placas de CPU de alto desempenho apresentam um slot AGP. Por outro lado, muitas placas de CPU para PCs de baixo custo, tipicamente as que possuem vídeo onboard, não possuem slot AGP, com raras exceções.

AGP e vídeo onboard

Foram produzidas várias placas de CPU com vídeo onboard, sem slot AGP, entretanto com os circuitos de vídeo internamente ligados ao barramento AGP. Em outras palavras, essas placas possuem barramento AGP mas não possuem slot AGP. Elas têm os circuitos de vídeo embutidos, ligadas ao barramento AGP, porém não permitem que o usuário desative o vídeo onboard e instale uma placa de vídeo AGP. Como na maioria dos casos o vídeo onboard é de baixo desempenho (mesmo sendo AGP), o usuário que quiser melhorar o desempenho do vídeo precisa se contentar com uma placa de vídeo PCI.
Existem entretanto placas de CPU com vídeo onboard mas que possuem um slot AGP disponível para expansões. Placas de CPU com esta característica podem ser usadas para montar computadores simples, mas que podem posteriormente ser convertidos em modelos mais avançados, através da instalação de placas de expansão apropriadas.

As várias voltagens do AGP

Desde que o barramento AGP foi criado, várias versões foram lançadas no que diz respeito à voltagem e velocidade. As primeiras versões operavam com 3,3 volts. As placas de CPU tinham slots AGP operando com 3,3 vots (a exemplo das memórias, chipsets e o barramento externo dos processadores). As placas de vídeo AGP também operavam com os mesmos 3,3 volts, de forma compatível com a placa de CPU. Inicialmente foi lançado o AGP de velocidade simples (AGP 1x), depois o AGP 2x e o AGP 4x, duas a 4 vezes mais velozes, respectivamente.
Para possibilitar a operação em modo 4x, os níveis de voltagem foram alterados para 1,5 volts. Surgiram então os slots AGP para 1,5 volts, capazes de operar exclusivamente com este nível de voltagem, e os slots AGP universais, capazes de operar tanto com 1,5 como com 3,3 volts. Da mesma forma existem placas AGP de 3,3 volts, placas AGP de 1,5 volts e placas AGP universais.
A nova versão 3.0 da especificação AGP, que suporta o modo de transferência em 8x, opera com tensão de 0,7 volts, entretanto é utilizado o mesmo tipo de soquete para placas de 1,5 volts. Para manter compatibilidade total, tanto as placas de CPU quanto as placas de vídeo AGP 3.0 são capazes de operar tanto com 0,7 volts quanto com 1,5 volts. Ambas as placas são identificadas por novos sinais MB_DET e GC_DET, através dos quais as voltagens corretas são selecionadas.
Note que essas tensões de 3,3 volts, 1,5 volts e 0,7 volts não se referem necessariamente ao funcionamento dos chips da placa. Elas se aplicam obrigatoriamente na comunicação entre a placa de vídeo e a placa de CPU, ao longo do slot. Uma placa de vídeo pode ter seus chips operando, por exemplo, com 2,5 volts mas usar tensões de 1,5 volts na comunicação com a placa de CPU. Portanto quando dizemos “placa AGP de 3,3 volts”, ou “placa AGP de 1,5 volts” ou “placa AGP de 0,7 volts”, estamos nos referindo apenas à voltagem usada pelos sinais digitais que trafegam ao longo do slot.
Figura 12.11
Os vários tipos de slots AGP.

A figura 11 mostra as diversas versões de slots AGP. O slot de 3,3 volts possui um chanfro localizado mais próximo da parte traseira da placa de CPU. O slot AGP de 1,5 volts tem o chanfro na posição inversa. Placas de vídeo AGP possuem conectores com chanfros correspondentes que se encaixam nos chanfros dos slots. Isto impede, por exemplo, que uma placa de 1,5 volts seja encaixada em um slot de 3,3 volts, e vice-versa.
Podemos ainda encontrar slots AGP universais e placas AGP universais. Um slot AGP universal não possui chanfro, e está preparado para operar tanto com 3,3 como com 1,5 volts. A placa instalada é reconhecida e o slot passa a operar com a voltagem apropriada. Da mesma forma encontramos placas AGP universais, com dois chanfros. Elas podem ser encaixadas tanto nos slots de 1,5 como nos de 3,3 volts.
Figura 12.12
Placas AGP com diferentes posições de chanfros.

Outro ponto importante é a velocidade de operação. As velocidades suportadas são 1x, 2x, 4x e 8x. Quando uma placa AGP é encaixada em um slot AGP de voltagem compatível (note que é impossível fazer o encaixe quando as voltagens não são compatíveis), prevalecerá a máxima velocidade que seja suportada simultaneamente pela placa e pelo slot. As primeiras placas de CPU com barramento AGP operavam com 3,3 volts e suportavam apenas o modo AGP 1x. Depois surgiram placas de CPU com chipsets capazes de operar em AGP 2x, também com 3,3 volts. Os slots AGP universais e os de 1,5 volts são encontrados nas placas capazes de operar em 4x. O modo 4x exige a tensão de 1,5 volts, o mesmo ocorrendo com o modo 8x.
Uma placa AGP 2x de 3,3 volts não pode ser conectada em um slot AGP de 1,5 volts, mas poderá ser encaixada em um slot AGP universal. Esses slots suportam o modo 4x, mas quando a placa de vídeo é 2x, a taxa de transferência será limitada pela placa de vídeo, apesar da placa de CPU poder chegar até 4x.

Versões do AGP

O barramento AGP versão 1.0 foi o primeiro a ser utilizado em placas de CPU e placas de vídeo. Esta versão oferecia os modos 1x e 2x, porém as primeiras implementações operavam apenas em 1x. A próxima especificação foi a AGP 2.0, que estendeu a velocidade para 4x, e finalmente a 3.0 que oferece transferências em até 8x. Além do aumento de velocidade, novas opções de voltagem foram introduzidas, bem como algumas outras modificações no funcionamento. Cada versão nova tem compatibilidade com as versões anteriores, desde que seja respeitado o tipo de conector. Por exemplo, uma placa de CPU compatível com AGP 3.0 e use slot de 1,5 volts, aceitará operar nos modos 4x e 8x. Placas de CPU AGP 3.0 universais suportam também operações em modos 1x e 2x.

AGP 1x, 2x e 4x

O barramento AGP é bastante semelhante ao PCI, mas com algumas modificações voltadas para placas de vídeo. Opera com 32 bits e 66 MHz. Na sua versão inicial (AGP 1x), cada clock realiza uma transferência de 32 bits (4 bytes). Como são 66 MHz (na verdade são 66,66 MHz), temos 66 milhões de transferências por segundo. Sendo as transferências de 4 bytes, o número total de bytes por segundo que podem passar pelo barramento AGP 1x é:
66,66 MHz x 4 bytes = 266 MB/s
Esta é uma taxa de transferência fantástica. Com ela é possível preencher todo o conteúdo da memória de vídeo cerca de 90 vezes por segundo (90 Hz), supondo uma resolução gráfica de 1024x768x32 bits. Isto é muito mais que os 30 Hz necessários para ter sensação visual de continuidade de movimentos. Portanto 90 Hz pode parecer um exagero, mas não é. O tráfego de dados no barramento AGP não é simplesmente a transferência de “frames” para a memória de vídeo. É preciso fazer continuamente a leitura de texturas que ficam na memória RAM da placa de CPU, para que sejam automaticamente e rapidamente aplicadas sobre os polígonos que formam as imagens tridimensionais. O tráfego de dados pelo barramento AGP tende a ser ainda mais elevado quando são usadas resoluções mais elevadas, quando são geradas imagens complexas e quando a resolução das texturas é muito elevada. Por isso existem versões novas do barramento AGP, capazes de operar com taxas ainda mais elevadas.
Figura 12.13
Transferências de dados no barramento AGP, modos 1x e 2x.



Desde a criação do barramento AGP, já era previsto o aumento da sua taxa de transferência, utilizando os modos 2x e 4x, e mais recentemente, 8x. O modo 2x também opera com 32 bits e 66 MHz, porém em cada período de clock, são feitas duas transferências, ao invés de apenas uma. A figura 13 compara as transferências de dados nos barramentos AGP 1x e 2x. Note que em ambos os casos, o sinal de clock (CLK) é o mesmo, mas no modo 2x é usado o sinal AD_STB para indicar a presença de dados válidos no barramento. Nos instantes em que o sinal AD_STB varia de 1 para 0, ou de 0 para 1, o barramento está pronto para fazer uma transferência. Como em cada ciclo de clock (indicados na figura pelos números 1, 2, etc.) existem duas transições de AD_STB, temos duas transferências a cada ciclo. Portanto a taxa de transferência no modo 2x é dada por:
66,66 MHz x 2 x 4 bytes = 533 MB/s
O modo 4x utiliza um processo similar. A principal diferença é que o sinal AD_STB apresenta 4 transições a cada período de clock, portanto são feitas 4 transferências em cada ciclo. A taxa de transferência no modo 4x é então:
66,66 MHz x 4 x 4 bytes = 1066 MB/s
As primeiras placas de CPU com slot AGP possuíam suporte apenas para o modo 1x, bem como ocorria com as primeiras placas de vídeo AGP. Em 1999 já era comum encontrar placas de CPU e placas de vídeo, ambas capazes de operar no modo AGP 2x. Em 2000, praticamente todas as placas de CPU, e boa parte das placas de vídeo modernas operavam em AGP 4x.
Figura 12.14
Transferências AGP nos modos 2x e 4x.



AGP 8x

O modo AGP 8x faz parte da especificação AGP 3.0. Sua principal característica é o uso de taxas de transferência 8 vezes maiores que as oferecidas pelo AGP 1x. Em modo 8x, a taxa de transferência teórica máxima é de 2133 MB/s. Esta taxa é obtida com o uso de 8 transferências por ciclo, usando o mesmo clock básico de 66 MHz utilizado por todas as versões do AGP. Apesar do clock ser de 66 MHz, o barramento tem dois sinais complementares AD_STBS e AD_STBF, cujas transições são 4 vezes mais rápidas que o clock do barramento AGP. Os instantes de subida desses dois sinais marcam a transferência dos dados, como mostra a figura 15.
Figura 12.15
Transferência em AGP 8x.



Tabela de compatibilidade

Os chanfros existentes nos conectores AGP da placa de CPU e da placa de vídeo são os indicadores de compatibilidade entre essas placas. Todas as opções de compatibilidade são apresentadas na tabela abaixo:
Placa de CPU
Conector AGP
Compatibilidade
AGP 1.0, 3.3 volts
AGP 3,3 V
Opera com placas de vídeo AGP de 3,3 volts. As velocidades suportadas são 1x e 2x, porém isto ainda depende do chipset da placa de CPU e do chip gráfico da placa AGP.
AGP 2.0, 1,5 volt
AGP 1,5 volt
Suporta placas AGP de 1,5 volts. Os modos disponíveis são 1x, 2x e 4x, dependendo do chipset da placa de CPU e do chip gráfico da placa AGP.
AGP 2.0 universal (UAGP)
Universal (UAGP)
Suporta placas AGP de 1,5V e 3,3V, com velocidades de 1x, 2x e 4x, dependendo do chipset da placa de CPU e do chip gráfico da placa AGP.
AGP 3.0
AGP de 1,5 volt
Suporta apenas placas de vídeo AGP 3,0 com velocidades de 4x e 8x, dependendo do chipset da placa de CPU e do chip gráfico da placa AGP.
AGP 3.0 universal
AGP de 1,5 volt
Suporta taxas AGP 1x, 2x, 4x e 8x em modos 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 criado um soquete especial para esta nova voltagem. Este padrão utiliza o soquete de 1,5 volts, porém tanto a placa de CPU quanto a placa de vídeo AGP no padrão 3.0 são capazes de identificar a voltagem correta, graças a dois novos sinais introduzidos no barramento: MB_DET e GC_DET. Através do sinal MB_DET, a placa de vídeo AGP pode identificar se a placa de CPU tem slot AGP 3.0. Caso tenha, a placa de vídeo irá operar com 0,7 volts, e caso não tenha, irá operar com 1,5 volt. Da mesma forma, através do novo sinal GC_DET, a placa de CPU no padrão AGP 3.0 irá detectar se a placa de vídeo também é AGP 3.0. Caso seja, passará a operar com 0,7 volts, e caso não seja, usará tensões de 1,5 volts. A tabela abaixo mostra as voltagens que serão usadas na comunicação entre a placa de vídeo e a placa de CPU, em função dos tipos dessas placas e dos seus conectores.

Placa de vídeo
Placa de CPU
AGP 3,3V
AGP 1,5V
UAGP
AGP 3.0
UAGP 3.0
AGP 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 V
UAGP
3,3 V
1,5 V
1,5 V
1,5 V
1,5 V
AGP 3.0
N.E.
1,5 V
1,5 V
0,7 V
0,7 V
UAGP 3.0
N.E.
1,5 V
1,5 V
0,7 V
0,7 V

AGP Pro

O slot AGP Pro é uma versão ampliada do AGP, cuja principal característica é a maior capacidade de fornecimento de corrente. Seu slot é maior, com maior número de contatos, e nesses contatos adicionais existem mais linhas de alimentação. O maior fornecimento de corrente é necessário para as placas AGP de maior desempenho, muitas delas chegando a dissipar mais de 50 watts, possuindo inclusive um cooler sobre o seu chip gráfico, similar aos utilizados nos processadores. Podemos ver um slot AGP Pro na figura 16. Comparando com o slot AGP comum, mostrado na figura 17, podemos observar que o AGP Pro é bem maior. Um slot AGP comum é um pouco menor que os slots PCI. O slot AGP Pro, por sua vez, é visivelmente maior que um slot PCI.
Figura 12.16
O slot AGP Pro é maior que os slots  PCI.


Figura 12.17
O slot AGP comum é menor que os slots PCI.

Módulo de memória AGP

A Intel criou um módulo de memória que pode ser conectado diretamente em um slot AGP. São os módulos AIMM (AGP Inline Memory Module). Placas de CPU com vídeo onboard e que usam memória compartilhada têm como principal desvantagem a queda do desempenho do processador, já que o processador e os circuitos de vídeo concorrem pelo acesso à mesma memória. Uma solução para o problema é instalar uma placa de vídeo AGP, desde que exista slot AGP disponível. Uma outra solução é conectar no slot AGP, uma memória de vídeo exclusiva, que consiste em um módulo AIMM.
Figura 12.18
Módulo AIMM.



Mecanismo de retenção AGP

Muitas placas de CPU são acompanhadas atualmente de um mecanismo de retenção AGP. Trata-se de uma peça plástica que é encaixada sobre o slot e temo como objetivo travar a placa de vídeo ou o módulo AIMM. Este módulo, pelo fato de não usar travas como ocorre com os módulos SIMM e DIMM, pode afrouxar com o passar do tempo, devido à vibração. O mesmo pode ocorrer até mesmo com as placas de vídeo AGP, principalmente durante o transporte.
Figura 12.19
Esta placa AGP está mal encaixada, devido à vibração ou transporte.



O mecanismo de rentenção AGP deve ser inicialmente encaixado sobre o slot AGP. Uma vez encaixado, não pode mais ser removido, a menos que seja inutilizado. Ao encaixar uma placa, devemos mover a alça do mecanismo, permitindo o encaixe da placa. Feito isto, liberamos a alça, que irá prender a placa no slot. Para remover a placa do slot, devemos antes mover a alça do mecanismo de retenção, destravando a placa. O mesmo procedimento é usado para encaixar e remover módulos AIMM.
Figura 12.20
Usando o mecanismo de retenção AGP.



Sinais do barramento AGP

Como vimos, o barramento AGP foi desenvolvimento tomando como base o barramento PCI. Podemos dizer que o AGP é o resultado de melhoramentos feitos a partir do PCI, aumentando a velocidade e adicionando algumas funções específicas para operação de placas 3D.
Figura 12.21
Relação entre os barramentos PCI e AGP.



Os barramentos PCI e AGP são totalmente independentes. A conexão entre o processador, a memória e barramento AGP é feito pelo chipset conhecido como ponte norte. Em geral temos o barramento AGP fisicamente representado por um slot, no qual é encaixada a placa de vídeo AGP. Na figura temos a placa representada como “3D Acell”. O módulo LFB (local frame buffer) é a memória de vídeo existente nesta placa. As placas AGP são capazes de utilizar tanto a sua própria memória local quanto a memória do sistema.
Figura 12.22
Sinais do barramento AGP.



A figura 22 mostra os sinais do barramento AGP. São inteiramente gerados pelo chipset. Observe que existem sinais de entrada, outros de saída e outros bidirecionais. Os principais sinais são descritos a seguir.
Sinal
Descrição
AD0-AD31
Barramento de dados e endereços. Ao contrário de outros barramentos que usam sinais independetes para dados e endereços, o AGP utiliza um único barramento multiplexado. A cada operação, o barramento indicará o endereço, e a seguir os dados. Isso pode parecer causa de lentidão, mas não é. Na maior parte do tempo o barramento AGP necessita que seja indicado apenas o endereço inicial, e os dados vêm a seguir, em modo burst.
C/BE0-C/BE3
Esses 4 sinais têm dupla finalidade. Quando o barramento AD0-AD31 está fornecendo um endereço, os sinais C/BE0-C/BE3 indicam o comando que deve ser realizado (leitura, escrita, etc.). Nos períodos em que dados estão trafegando, esses 4 sinais indicam quais grupos de 8 bits devem ser levados em conta. Ao fazer transferências de 32 bits, os 4 sinais ficam ativados, mas podem ser ativados 1, 2 ou 3 sinais individualmente, permitindo acesso a trechos menores. Por exemplo, para escrever um pixel na tela em um modo gráfico de 256 cores (1 byte por pixel), um único sinal C/BE deve ser ativado para indicar o pixel correto.
IRDY
Initiator Ready. O dispositivo que iniciou a tranferência indica que está pronto para receber dados. Desta forma é feita uma sincronização entre a placa de CPU e a placa de vídeo. Quando uma placa é mais lenta que outra, este sinal servirá para introduzir wait states, fazendo com que a mais rápida espere pela mais lenta, quando necessário.
TRDY
Target Ready. Tem função semelhante à do sinal TRDY, mas diz respeito ao dispositivo que está sendo acessado. Por exemplo, quando a placa de CPU quer ler dados da memória de vídeo, a placa de CPU opera como Initiator ou Master, e a placa de vídeo opera como Target (alvo). A placa de vídeo, que neste caso opera como Target, usará este sinal para indicar que está com um dado disponível, ou que está pronta para receber um novo dado. Este protocolo faz a sincronização de placas de desempenhos diferentes, mediante a introdução de wait states, quando necessário. Não adianta por exemplo operar em modo AGP 8x e a placa de vídeo usar memórias lentas. Isto fará com que sejam gerados wait states, resultando em desempenho inferior.
SBA0-SBA7
Os sinais AD0-AD31 podem ser usados para endereços e dados, ou podem ser usados exclusivamente para dados. Nesse caso os endereços são enviados através do barramento SBA0-SBA7. O ideal seria que esses endereços usassem um barramento também de 32 bits, mas são usados apenas 8 para que o número total de pinos do conector não seja exagerado. Este barramento opera em alta velocidade, assim como o barramento de dados. Em modo 2x, por exemplo, cada período de clock fornecerá 16 bits, e em 4x cada período fornecerá 32 bits. Desta forma temos barramentos de dados e endereços independentes. Apesar do barramento de endereços ter apenas 8 bits, isto não prejudica o desempenho, já que na maioria das operações o endereço é especificado apenas no início da transferência de uma longa seqüência de dados. 
AD_STB
Strobe para o barramento de dados. Este sinal é usado para sincronizar o tráfego através do barramento AD0-AD31.
SB_STB
Este sinal é usado para sincronizar as transferências no barramento SBA0-SBA7.
PIPE
Este sinal deve ser ativado durante o uso do barramento AD0-AD31. O número de ciclos nos quais este sinal fica ativo está relacionado com o número de transferências a serem efetuadas.
FRAME
Tem a mesma função que o sinal PIPE. A diferença é que FRAME é usado para transferências no modo PCI, enquanto PIPE é usado para transferências no modo AGP.
O AGP não é simplesmente baseado no PCI. O barramento AGP contém todos os sinais do barramento PCI, e pode ser portanto tratado como um dispositivo PCI de maior velocidade. Isso possibilitou aos fabricantes de placas de vídeo, converterem rapidamente suas placas de vídeo PCI para que usem o slot AGP.
Além de suportar os comandos e modos de operação do barramento PCI, o barramento AGP possui modos de operação próprios, mais adequados às operações relacionadas com vídeo 3D.
Figura 12.23
Seções AGP e PCI.



A figura 23 mostra o diagrama da conexão entre uma placa AGP e a placa de CPU. Note que existe uma seção específica para os comandos PCI e outras especializadas em comandos típicos do AGP.

Modos DMA e Execute

Para gerar uma imagem 2D, uma única estrutura de dados é necessária. É o frame buffer, uma representação linear do conteúdo da tela. Nas placas de vídeo 2D, toda a memória de vídeo é utilizada como frame buffer. Já a representação de imagens tridimensionais exige outras estruturas. O frame buffer é usado, assim como nas placas 2D, para manter uma imagem exata do que é apresentado na tela, porém a memória de vídeo de placas 3D necessita de outras estruturas de dados para uma representação tridimensional completa. O Z-Buffer é a área da memória de vídeo responsável pela representação da terceira coordenada (Z). As texturas são imagens bidimensionais que são aplicadas a polígonos no espaço tridimensional. O Stencil Buffer é uma outra estrutura de dados usada no processamento de imagens refletidas. As placas 3D baseadas no barramento PCI maninham todas essas estruturas de dados na sua própria memória de vídeo. O barramento AGP permite que essas informações sejam armazenadas tanto na memória de vídeo quanto na memória do sistema, localizada na placa de CPU.
Ao operar no modo DMA, todas as estruturas de dados envolvidas na formação das imagens 3D ficam armazenadas no frame buffer da placa AGP. A cada cena 3D representada, as texturas têm que ser carregadas na memória de vídeo, e tanto o Z-Buffer como o Stencil Buffer têm que ser calculados para cada posição e transferidos para a placa de vídeo. Este elevado tráfego de dados ao longo do barramento AGP pode prejudicar o desempenho geral.
O outro modo suportado pelo barramento AGP é o DIME (Direct Memory Execute). Neste modo as estruturas de dados podem ficar armazenados na memória do sistema. Tanto o frame buffer como o Z-Buffer, o Stencil Buffer e as texturas podem ficar na memória da placa de vídeo ou na memória do sistema. Decidir se cada estrutura fica em uma ou em outra memória tem impacto direto no desempenho gráfico. Por exemplo, é sempre melhor manter o frame buffer na memória de vídeo, e não na memória do sistema, já que esta área é constantemente lida para suas informações serem entregues ao monitor. Para imagens com uma modesta resolução de 800x600 com 16 bits por pixel e taxa de atualização de 75 Hz para o monitor, o tráfego de dados do frame buffer é superior a 500 MB/s. É um tráfego muito elevado em comparação com os 800 MB/s suportados por um barramento de memória PC100, e mesmo comparando com os 1066 MB/s oferecidos pelas memórias PC133. Este é um sério problema do vídeo onboard com memória compartilhada. Ao usar o frame buffer na memória da placa de vídeo, tanto a resolução como o número de cores e a taxa de atualização podem ser elevadas, sem sobrecarregar a memória do sistema.
As demais estruturas de dados podem ficar na memória de vídeo ou na memória do sistema, e impacto no desempenho dependerá da utilização. Mantê-las todas na memória de vídeo (modo DMA) resulta em alto desempenho, mas tem como desvantagem a perda de tempo realizando as todas as transferências. Note que apesar do padrão AGP oferecer o modo DIME, nem todos os chips gráficos o suportam, e nem todos os programas 3D o utilizam. Para compensar a ausência do modo DIME, a placa de vídeo deve ter uma generosa quantidade de memória de vídeo.

Parte 2

Nenhum comentário:

Postar um comentário