Barramento HyperTransport Usado Pelos Processadores da AMD
Por Gabriel Torres e Cássio Lima em 31 de agosto de 2007

Introdução

Os processadores baseados na arquitetura AMD64 – tais como o Athlon 64, o Athlon 64 X2, o Athlon 64 FX, o Opteron, o Sempron e o Phenom – têm dois barramentos externos. Um é usado na comunicação entre o processador e a memória, e é chamado simplesmente “barramento da memória”. Já o outro é usado na comunicação entre o processador e os demais componentes do micro, através do chipset da placa-mãe, e é chamado HyperTransport – este é, portanto, o barramento de entrada e saída. Neste tutorial explicaremos como o barramento HyperTransport funciona e esclareceremos erros comuns que as pessoas assumem a respeito deste barramento.

Em todos os outros processadores – incluindo os processadores da AMD que não sejam baseados na arquitetura AMD64, como o Athlon original, o Athlon XP e os processadores Sempron soquete 462 – o processador tem apenas um barramento externo, também conhecido como FSB (Front Side Bus) ou barramento frontal. Nesta implementação o barramento externo transporta tanto dados da comunicação com a memória quanto da comunicação com os demais dispositivos do micro.

Teoricamente a arquitetura usada nos processadores AMD64 é melhor, já que em teoria eles podem se comunicar com a memória e com os outros dispositivos do micro (como a placa de vídeo, por exemplo) ao mesmo tempo, algo impossível em outros processadores, já que existe apenas um caminho de dados comunicando o processador com o resto do PC.

Na Figura 1 você pode ver como um processador AMD64 se comunica com o mundo externo. O chip “ponte” é o chipset da placa-mãe. Dependendo do chipset utilizado você pode ter um ou dois chips. Em uma solução com dois chips todos os periféricos (tais como discos rígidos, placas de expansão, placas de som, etc) são conectados ao segundo chip (este segundo chip é chamado ponte sul, não mostrado na Figura 1), enquanto que na solução com apenas um chip tudo está conectado a este único chip.

hypertransport
clique para ampliar
Figura 1: Localização do barramento HyperTransport nos processadores AMD64.

Os processadores AMD voltados para o mercado de servidores – ou seja, os processadores Opteron – podem ter um, dois ou até três barramentos HyperTransport, dependendo do modelo. Esses barramentos extras são usados para interconectar vários processadores permitindo, assim, a comunicação entre eles, isto é, são usados em servidores com mais de um processador instalado na placa-mãe. Como os processadores para desktop e notebook não suportam este tipo de configuração eles só têm um único barramento HyperTransport.

Para informações mais aprofundadas sobre a arquitetura AMD64 leia nosso tutorial Por Dentro da Arquitetura AMD64.

Além de permitir que os processadores AMD64 tenham barramentos separados para a memória e para os demais dispositivos do micro, o HyperTransport tem ainda outra vantagem: ele traz caminhos separados para operações de entrada e de saída no processador, permitindo que o processador transmita (“escreva”) e receba (“leia”) dados ao mesmo tempo, em paralelo. Na arquitetura tradicional com apenas um barramento externo como ele é usado tanto para operações de entrada quanto para operações de saída, leituras e escritas não podem ser efetuadas ao mesmo tempo.

hypertransport
clique para ampliar
Figura 2: O barramento HyperTransport oferece caminhos separados para operações de entrada e de saída.

HyperTransport 1.x

O barramento HyperTransport pode operar com diferentes configurações de clock e números de bits que podem ser transmitidos por vez. Esse talvez seja o aspecto que mais causa confusão a respeito do funcionamento do barramento HyperTransport.

O HyperTransport é um barramento criado por um consórcio de várias empresas, incluindo a AMD, a nVidia e a Apple. Este barramento pode ser usado em várias aplicações e não é restrito apenas aos produtos da AMD.

Isto significa que a configuração do barramento HyperTransport usada em um determinado circuito dependerá do desenvolvedor do hardware.

Além disso, alguns desenvolvedores anunciam uma taxa de transferência exagerada do barramento HyperTransport que eles estão usando.

Os atuais processadores AMD64 usam o HyperTransport 1 (HT1) ou o HyperTransport 2 (HT2). Os futuros processadores da AMD usarão o HyperTransport 3 (HT3). Em todos esses casos os processadores da AMD utilizam links de 16 bits, apesar do barramento HyperTransport permitir o uso de links de 32 bits.

O HyperTransport 1 é usado nos processadores soquete 754 e no Sempron soquete AM2 (os demais processadores baseados no soquete AM2 usam o HyperTransport 2.0).

Aqui está um resumo de todos os clocks possíveis e taxas de transferências do HyperTransport 1.x (ou seja, taxas e clocks disponíveis nos processadores soquete 754):

  • 200 MHz = 400 MT/s = 800 MB/s
  • 400 MHz = 800 MT/s = 1.600 MB/s
  • 600 MHz = 1.200 MT/s = 2.400 MB/s
  • 800 MHz = 1.600 MT/s = 3.200 MB/s

O barramento HyperTransport transfere dois dados por pulso de clock, um conceito conhecido como DDR, ou taxa de transferência dobrada.

A fórmula para encontrar a taxa de transferência máxima teórica é a seguinte:

Taxa de transferência = número de bits x clock x número de dados por pulso de clock / 8

Portanto, com os processadores soquete 754, o barramento HyperTransport pode trabalhar a no máximo 800 MHz ou 3.200 MB/s. Algumas pessoas divulgam esses clocks e taxas de transferências usando outros números, gerando muita confusão no mercado:

  • Alguns dizem que o clock usado pelo HyperTransport 1.x é de 1.600 MHz. Isto acontece porque como em cada ciclo de clock dois dados são transferidos, o desempenho obtido é similar ao de um clock de 1.600 MHz transferindo apenas um dado por pulso de clock. No final a taxa de transferência será a mesma, já que na fórmula acima em vez de usar “2” para o “número de dados por pulso de clock”, será usado “1”. Isto é a mesma coisa que acontece com as memórias DDR e posteriores, onde o clock anunciado é o dobro do clock real (por exemplo, memórias DDR2-800 trabalham na verdade a 400 MHz transferindo dois dados por pulso de clock).
  • A AMD diz que o clock é de 1.600 MT/s. MT/s significa Mega Transferências por Segundo, ou milhões de transferências por segundo. Esta é a maneira correta de se expressar a idéia acima. Transferências por segundo é igual ao clock vezes o número de bits transferidos por pulso de clock.
  • Alguns dizem que a taxa de transferência máxima do HyperTransport 1.x é  de 6.400 MB/s. Isto acontece porque a taxa de transferência anunciada é para cada caminho de dados (por exemplo, 3.200 MB/s  para o caminho de dados de entrada e 3.200 MB/s para o caminho de dados de saída) e algumas pessoas multiplicam a taxa de transferência por dois para cobrir os dois caminhos de dados. Nós não concordamos com essa metodologia. Em resumo, isto é mesmo de dizer que o limite de velocidade de uma pista é de 160 Km/h porque existe um limite de velocidade de 80 Km/h em cada direção. Não faz sentido.

Outro conceito que é mal interpretado é dizer que o barramento externo ou FSB do Athlon 64 (ou de qualquer outro processador baseado na arquitetura AMD64) é de 1.600 MHz. Isto está parcialmente correto. Nós podemos dizer isso para operações de entrada e saída (isto é, acesso a periféricos), mas não para a memória, já que os processadores baseados na arquitetura AMD64 têm dois barramentos separados, como vimos. Portanto é melhor que você diga HyperTransport e não “barramento externo” ou “FSB” para não criar confusão.

É importante notar que os processadores AMD podem trabalhar com vários outros clocks menores do que os anunciados 1.600 MT/s (800 MHz). Na verdade eles podem trabalhar com qualquer uma das velocidades listadas acima.

O chipset pode negociar um clock menor com o processador, podendo até transferir 8 bits por vez em vez de 16. Quando os primeiros chipsets para o processador Athlon 64 surgiram a VIA alegou que seu chipset para o Athlon 64, o K8T800, era superior aos concorrentes por trabalhar com o barramento HyperTransport a 1.600 MT/s, acusando a concorrência (sem mencionar nomes) de não usar a taxa de transferência máxima que o HyperTransport permite, mas com uma taxa menor ou até mesmo usando transferências de 8 bits em vez 16.

Em http://www.hypertransport.org/, o site oficial do HyperTransport, você verá que a taxa de transferência máxima do barramento HyperTransport 1.x é de 12,8 GB/s. Esta taxa de transferência máxima é obtida usando links de 32 bits – como explicamos os processadores AMD usam links de 16 bits. Mas se você fizer as contas achará 6.400 MB/s (32 bits x 800 MHx x 2 / 8). Aqui o consórcio HyperTransport dobrou a taxa de transferência máxima por existirem dois caminhos de dados disponíveis (uma para transmissão e outro para recepção). Como dissemos anteriormente, nós não concordamos com essa metodologia para calcular taxas de transferências.

HyperTransport 2.0

O HyperTransport 2.0 adiciona novos clocks – e conseqüentemente novas taxas de transferências – e um novo recurso, Mapeamento PCI Express, que permite uma interface mais fácil entre o HyperTransport e o PCI Express – em outras palavras, facilita a comunicação entre o processador e os dispositivos PCI Express.

Os novos clocks e taxas de transferências introduzidos pelo HyperTransport 2.0 são os seguintes, assumindo links de 16 bits (que é a configuração usada pelos processadores da AMD):

  • 1.000 MHz = 2.000 MT/s = 4.000 MB/s
  • 1.200 MHz = 2.400 MT/s = 4.800 MB/s
  • 1.400 MHz = 2.800 MT/s = 5.600 MB/s

Dispositivos HyperTransport 2.0 podem também trabalhar com taxas de transferências do HyperTransport 1.x.

A AMD usa o HyperTransport 2.0 em todos os processadores AMD64 baseados nos soquetes 939 e AM2 (exceto nos processadores Sempron, que continuam usando o HyperTransport 1.0), porém suportando apenas a menor taxa de transferência – na verdade a AMD estava mais interessada no recurso de mapeamento PCI Express do que em uma maior taxa de transferência. Portanto, apesar desses processadores serem baseados no HT2 a taxa de transferência máxima dos seus links HT são de 4.000 MB/s.

Para tornar as coisas ainda mais confusas, a AMD usa várias vezes o nome “HT1” para descrever o barramento HyperTransport dos processadores que têm links HyperTransport trabalhando a 1.000 MHz. Isto é provavelmente para evitar que as pessoas assumam que como elas têm processadores HT2 os mesmos possam trabalhar a no máximo 1.400 MHz (5.600 MB/s), o que não é o caso, como estamos explicando.

Além disso, algumas pessoas se referem a este link HyperTransport 1.000 MHz/4.000 MB/s usado pelos processadores soquete 939 e AM2 como:

  • 2.000 MHz. Isto acontece porque como em cada ciclo de clock dois dados são transferidos, o desempenho obtido é similar ao de um clock de 2.000 MHz transferindo apenas um dado por pulso de clock. No final a taxa de transferência será a mesma, já que na fórmula acima em vez de usar “2” para o “número de dados por pulso de clock”, será usado “1”. Isto é a mesma coisa que acontece com as memórias DDR e posteriores, onde o clock anunciado é o dobro do clock real (por exemplo, memórias DDR2-800 trabalham na verdade a 400 MHz transferindo dois dados por pulso de clock).
  • 2.000 MT/s. Esta é a taxa de transferência “oficial” da AMD. MT/s significa Mega Transferências por Segundo, ou milhões de transferências por segundo. Esta é a maneira correta de se expressar a idéia acima. Transferências por segundo é igual ao clock vezes o número de bits transferidos por pulso de clock.
  • 8.000 MB/s. Isto acontece porque a taxa de transferência anunciada é para cada caminho de dados (por exemplo, 4.000 MB/s  para o caminho de dados de entrada e 4.000 MB/s para o caminho de dados de saída) e algumas pessoas multiplicam a taxa de transferência por dois para cobrir os dois caminhos de dados. Nós não concordamos com essa metodologia. Em resumo, isto é mesmo de dizer que o limite de velocidade de uma pista é de 160 Km/h porque existe um limite de velocidade de 80 Km/h em cada direção. Não faz sentido.

Outro conceito que é mal interpretado é dizer que o barramento externo ou FSB do Athlon 64 (ou de qualquer outro processador baseado na arquitetura AMD64) é de 2.000 MHz. Isto está parcialmente correto. Nós podemos dizer isso para operações de entrada e saída (isto é, acesso a periféricos), mas não para a memória, já que os processadores baseados na arquitetura AMD64 têm dois barramentos separados, como vimos. Portanto é melhor que você diga HyperTransport e não “barramento externo” ou “FSB” para não criar confusão.

Assim como o HyperTransport 1.x é importante ter em mente que os processadores soquete 939 e AM2 podem trabalhar com qualquer clock abaixo de 1.000 MHz.

Mais uma vez os valores oficiais anunciados para o HyperTransport 2.0 pelo consórcio HyperTransport são muito exagerados, já que eles anunciam os valores usando links de 32 bits e multiplicam esses valores por dois pois existem dois links disponíveis (uma para transmissão e outro para recepção). Como mencionamos anteriormente, nós não concordamos com essa metodologia. Por causa dessa metodologia a taxa de transferência máxima teórica do HT2 é anunciada como 22.4 GB/s (1.400 MHz x 32 x 2 / 8 x 2 links).

HyperTransport 3.0

Além de adicionar novos clocks – e consequentemente novas taxas de transferências – o HyperTransport 3.0 traz muitos outros novos recursos em relação ao HyperTransport 2.0, como o modo de operação CA, Divisão de caminho (também conhecido como Un-Ganging), hot plugging e Ajuste dinâmico do clock e da largura do caminho. Os futuros processadores da AMD, como o Phenom, usarão esta nova versão do HyperTransport.

O HyperTransport 3.0 será usado nos processadores baseados nos soquetes AM2+ e 1207+.

O HyperTransport 3.0 adiciona os seguintes novos clocks, mantendo compatibilidade com as taxas do HT1 e HT2 (taxas de transferências assumindo links de 16 bits, que é a configuração usada pelos processadores da AMD):

  • 1.800 MHz = 3.600 MT/s = 7.200 MB/s
  • 2.000 MHz = 4.000 MT/s = 8.000 MB/s
  • 2.400 MHz = 4.800 MT/s = 9.600 MB/s
  • 2.600 MHz = 5.200 MT/s = 10.400 MB/s

A AMD está dizendo que seus futuros processadores suportarão a taxa de transferência máxima do HT3 – 10.400 MB/s, que a AMD chama de 5,2 GT/s, ou seja, bilhões de transferências por segundo. Lembre-se, no entanto, que esses processadores ainda serão compatíveis com taxas menores. Isto significa duas coisas. Primeiro, os novos processadores baseados HT3 podem sem instalados em placas-mãe baseadas no HT2 – ou seja, instalar um processador soquete AM2+ em uma placa-mãe soquete AM2 – apesar de eles não obterem o desempenho máximo de entrada e saída. A segunda coisa é que no momento do lançamento alguns chipsets podem não trabalhar a 10.400 MB/s, mesmo que eles seja HT3, similarmente ao que aconteceu quando o Athon 64 foi lançado.

Assim como acontece com clocks menores, provavelmente haverá pessoas chamando o clock máximo do HT3 de 5,2 GHz ou sua taxa de transferência máxima de 20,8 GB/s.

Mais uma vez a taxas de transferência anunciadas pelo consórcio HyperTransport são muito exageradas. Eles anunciaram o HyperTransport 3.0 como tendo uma taxa de transferência máxima de 41,6 GB/s. Para obter esse valor eles consideraram canais de 32 bits (e não de 16) e dobraram o número encontrado por causa dos dois canais disponíveis. A matemática usada foi 2.600 MHz x 32 x 2 / 8 x 2 canais. Como dissemos anteriormente, os processadores da AMD usam dois canais de 16 bits, não canais de 32 bits, e nós não concordamos com a metodologia de dobrar a taxa de transferência só porque existe um link para transmissão e outro para recepção dos dados. Nós concordaríamos com isso apenas se os canais estivessem transmitindo dados na mesma direção.

Vamos falar agora sobre as características trazidas pelo HyperTransport 3.0.

O novo modo de operação CA (traduzindo: usando um sistema de sinalização similar ao usado em redes de computadores) permite ao barramento HyperTransport ter distâncias maiores. O objetivo é permitir que o HyperTransport seja usado diretamente para interconectar gabinetes, placas e “backplanes” (placas de circuito impresso que permitem a instalação de outras placas, usado por servidores e computadores industriais). Processadores não usarão este recurso.

A divisão de caminho, também chamado un-ganging, permite que o caminho de 16 bits seja acessado como dois caminhos independentes de 8 bits. Isto pode ser usado para aumentar o número de caminhos disponíveis, permitindo que mais processadores seja interconectados sem usar nenhum hardware sofisticado extra.

Hot Plugging (troca quente) permite que dispositivos HyperTransport sejam instalados e removidos com o barramento em funcionamento. Você não poderá substituir o processador com o micro ligado porque processadores têm muitos outros pinos além do HyperTransport, mas este recurso pode ser usado em servidores de armazenamento baseados no HT3.

E finalmente o Ajuste dinâmico do clock e de largura do caminho, que será usado pelos processadores AMD baseados no HT3 – se eles forem instalados em uma placa-mãe com chipset HT3, é claro. Este recurso permite que o processador mude o clock e o número de bits que estão sendo transmitidos por pulso de clock dinamicamente. A idéia aqui é reduzir o consumo de energia. Por exemplo, se o processador sente que seu barramento HyperTransport a 2.600 MHz (10.400 MB/s) está muito rápido para o que ele está fazendo no momento, ele pode reduzir a velocidade do barramento para 1.000 MHz (4.000 MB/s) – ou para qualquer outro clock que achar mais apropriado. A mesma coisa é válida para o número de bits transmitidos por pulso de clock – ele pode ser reduzido de 16 para o número que o processador achar mais conveniente, baseado na utilização do micro.

Originalmente em http://www.clubedohardware.com.br/artigos/522

© 1996-2008, Clube do Hardware. Todos os direitos reservados.

É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 9.610 de 19/02/1998.

Não nos responsabilizamos por danos materiais e/ou morais de qualquer espécie promovidos pelo uso das informações contidas no Clube do Hardware.