Buses de datos
En arquitectura En arquitectura de computadores, el computadores, el bus (o canal) es un sistema un sistema digital que transfiere datos entre los componentes de una computadora una computadora o entre varias computadoras. Está formado por cables o pistas en un circuito impreso, dispositivos como resistores como resistores y condensadores además de circuitos de circuitos integrados. En los primeros computadores electrónicos, todos los buses eran de tipo paralelo, de manera que la comunicación entre las partes del computador se hacía por medio de cintas o muchas pistas en el circuito impreso, en los cuales cada conductor tiene una función fija y la conexión es sencilla requiriendo únicamente puertos de entrada y de salida para cada dispositivo. La tendencia en los últimos años hacia el uso de buses seriales como el USB, el USB, Firewire Firewire para comunicaciones con periféricos, con periféricos, reemplazando reemplazando los buses paralelos, incluyendo el caso del microprocesador del microprocesador con el chipset el chipset en la placa la placa base, a pesar de que el bus serial posee una lógica compleja (requiriendo mayor poder de cómputo que el bus paralelo) se produce a cambio de velocidades y eficacias mayores. Existen diversas especificaciones de que un bus se define en un conjunto de características mecánicas como conectores, cables y tarjetas, además de protocolos eléctricos y de señales. Funcionamiento
La función del bus es la de permitir la conexión lógica entre distintos subsistemas de un sistema digital, enviando datos entre dispositivos de distintos órdenes: desde dentro de los mismos circuitos integrados, hasta equipos digitales completos que forman parte de supercomputadoras. La mayoría de los buses están basados en conductores en conductores metálicos por los cuales se trasmiten señales trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos como datos útiles. Las señales Las señales digitales que se trasmiten son de datos, de direcciones o señales de control. Los buses definen su capacidad de acuerdo a la frecuencia la frecuencia máxima de envío y al ancho de los datos. Por lo general estos valores son inversamente proporcionales: si se tiene una alta frecuencia, el ancho de datos debe ser pequeño. Esto se debe a que la interferencia entre las señales (crosstalk) y la dificultad de sincronizarlas, crecen con la frecuencia, de manera que un bus con pocas señales es menos susceptible a esos problemas y puede funcionar a alta velocidad.
Todos los buses de computador tienen funciones especiales como las interrupciones y las DMA que permiten que un dispositivo periférico acceda a una CPU o a la memoria usando el mínimo de recursos. Primera generación
Los primeros computadores tenían dos sistemas de buses, uno para la memoria y otro para los demás dispositivos. La CPU tenía que acceder a dos sistemas con instrucciones para cada uno, protocolos y sincronizaciones diferentes. La empresa DEC notó que el uso de dos buses no era necesario si se combinaban las direcciones de memoria con las de los periféricos en un solo espacio de memoria (mapeo), de manera que la arquitectura se simplificaba ahorrando costos de fabricación en equipos fabricados en masa, como eran los primeros minicomputadores. Los primeros microcomputadores se basaban en la conexión de varias tarjetas de circuito impreso a un bus Backplane pasivo que servía de eje al sistema. En ese bus se conectaba la tarjeta de CPU que realiza las funciones de árbitro de las comunicaciones con las demás tarjetas de dispositivo conectadas; las tarjetas incluían la memoria, controladoras de disquete y disco, adaptadores de vídeo. La CPU escribía o leía los datos apuntando a la dirección que tuviera el dispositivo buscado en el espacio único de direcciones haciendo que la información fluyera a través del bus principal. Entre las implementaciones más conocidas, están los buses Bus S-100 y el Bus ISA usados en varios microcomputadores de las décadas de 1970 y 1980. En ambos, el bus era simplemente una extensión del bus del procesador de manera que funcionaba a la misma frecuencia. Por ejemplo en los sistemas con procesador Intel 80286 el bus ISA tenía 6 u 8 megahercios de frecuencia dependiendo del procesador. Segunda generación
El hecho de que el bus fuera pasivo y que usara la CPU como control, representaba varios problemas para la ampliación y modernización de cualquier sistema con esa arquitectura. Además que la CPU utilizaba una parte considerable de su potencia en controlar el bus. Desde que los procesadores empezaron a funcionar con frecuencias más altas, se hizo necesario jerarquizar los buses de acuerdo a su frecuencia: se creó el concepto de bus de sistema (conexión entre el procesador y la RAM) y de buses de expansión, haciendo necesario el uso de un chipset.
El bus ISA utilizado como backplane en el PC IBM original pasó de ser un bus de sistema a uno de expansión, dejando su arbitraje a un integrado del chipset e implementando un bus a una frecuencia más alta para conectar la memoria con el procesador. En cambio, el bus Nubus era independiente desde su creación, tenía un controlador propio y presentaba una interfaz estándar al resto del sistema, permitiendo su inclusión en diferentes arquitecturas. Fue usado en diversos equipos, incluyendo algunos de Apple y se caracterizaba por tener un ancho de 32 bits y algunas capacidades Plug and Play (autoconfiguración), que lo hacían muy versátil y adelantado a su tiempo. Entre otros ejemplos de estos buses autónomos, están el AGP y el bus PCI. Tercera generación Los buses de tercera generación se caracterizan por tener conexiones punto a punto, a diferencia de los buses arriba nombrados en los que se comparten señales de reloj. Esto se logra reduciendo fuertemente el número de conexiones que presenta cada dispositivo usando interfaces seriales. Entonces cada dispositivo puede negociar las características de enlace al inicio de la conexión y en algunos casos de manera dinámica, al igual que sucede en las redes de comunicaciones. Entre los ejemplos más notables, están los buses PCI-Express, el Infiniband y el HyperTransport.
Jerarquía de diversos buses en un equipo relativamente moderno: SATA, FSB, AGP, USB entre otros.
Tipos de bus
Existen dos tipos que están clasificados por el método de envío de la información: bus paralelo o bus serie. Hay diferencias en el desempeño y hasta hace unos años se consideraba que el uso apropiado dependía de la longitud física de la conexión: para cortas distancias el bus paralelo, para largas el serial. Bus paralelo
Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias líneas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de expansión y de vídeo, hasta las impresoras. El front-side bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones en líneas dedicadas:
Las líneas de dirección son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación. Las líneas de control son las encargadas de enviar señales de arbitraje entre los dispositivos. Entre las más importantes están las líneas de interrupción, DMA y los indicadores de estado. Las líneas de datos transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.
Un bus paralelo tiene conexiones físicas complejas, pero la lógica es sencilla, que lo hace útil en sistemas con poco poder de cómputo. En los primeros microcomputadores, el bus era simplemente la extensión del bus del procesador y los demás integrados "escuchan" las líneas de direcciones, en espera de recibir instrucciones. En el PC IBM original, el diseño del bus fue determinante a la hora de elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseñado para otros procesadores, abaratando el producto. Bus serial
En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas. Está formado por pocos conductores y su ancho de banda depende de la frecuencia. Es usado desde hace menos de 10 años en buses para discos duros, unidades de estado sólido, tarjetas de expansión y para el bus del procesador.
Buses: de control, de direcciones y de datos
Bus de control El bus de control gobierna el uso y acceso a las líneas de datos y de direcciones. Como estas líneas están compartidas por todos los componentes, tiene que proveerse de determinados mecanismos que controlen su utilización. Las señales de control transmiten tanto órdenes como información de temporización entre los módulos. Mejor dicho, es el que permite que no haya colisión de información en el sistema. Bus de direcciones El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se establece la dirección de memoria del dato en tránsito. El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección. La capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus de direcciones, siendo 2 n el tamaño máximo en bits del banco de memoria que se podrá direccionar con n líneas. Por ejemplo, para direccionar una memoria de 256 bits, son necesarias al menos 8 líneas, pues 2 8 = 256. Adicionalmente pueden ser necesarias líneas de control para señalar cuando la dirección está disponible en el bus. Esto depende del diseño del propio bus. Las direcciones de memoria
Las direcciones son números naturales (en hexadecimal) que indican la posición de los datos dentro de la memoria principal o del espacio de direcciones de la unidad de entrada/salida. Las direcciones son generadas por la CPU que es quien decide a qué dato se debe acceder en cada momento. Bus de datos Su función es mover los datos entre los dispositivos de hardware de entrada / salida Buses multiplexados
Algunos diseños utilizan líneas eléctricas multiplexadas para el bus de direcciones y el bus de datos. Esto significa que un mismo conjunto de líneas eléctricas se comportan unas veces como bus de direcciones y otras veces como bus de datos, pero nunca al mismo tiempo. Una línea de control permite discernir cuál de las dos funciones está activa.
Bus frontal
El front-side bus, también conocido por su acrónimo FSB (del inglés literalmente "bus de la parte frontal"), es el tipo de bus usado como bus principal en algunos de los antiguos microprocesadores de la marca Intel para comunicarse con el circuito integrado auxiliar o chipset. Ese bus incluye señales de datos, direcciones y control, así como señales de reloj que sincronizan su funcionamiento. En los nuevos procesadores de Intel desde Nehalem, y desde hace más tiempo que estos primeros en los de AMD, se usan otros tipos de buses como el Intel QuickPath Interconnect y el HyperTransport respectivamente. Velocidad de componentes relacionados
La frecuencia de trabajo del microprocesador se obtiene como resultado de multiplicar la frecuencia de reloj del FSB (en megahercios, no en MT/s) por un factor multiplicador. Este factor multiplicador, así como la frecuencia de reloj del FSB puede alterarse a través de la configuración de la placa base, generalmente a través de la BIOS, permitiendo así el overclocking. El ancho de banda del FSB depende de su tamaño de palabra (si es de 16, 32 o 64 bits), su frecuencia de reloj medida en megahercios y el número de transferencias que realiza por ciclo de reloj. Por ejemplo, un FSB de 32 bits de ancho (4 bytes), funcionando a 100 MHz y que realice 4 transferencias por cada ciclo, ofrece un máximo teórico de 1600 MiB por segundo. Dando así al bus una velocidad de 1,6 GHzp/s, esto hace que el bus que va +al disco duro sea unas 32 o 64 veces más rápido.
Los cuatro datos o bits son debido a la tecnología Quad Data Rate, ya que en cada ciclo de reloj hay cuatro transferencias de datos. Se dice entonces que el bus funciona a 400 MT/s. Back-side bus
Algunas computadoras tienen una memoria caché L2 o L3 externa a la propia CPU conectados mediante un back side bus (literalmente bus trasero o bus de la parte de atrás). El acceso a la memoria caché, conectada a este bus, es más rápido que el acceso a la memoria de acceso aleatorio por el FSB. En la actualidad, la caché L2, ha sido directamente incluida en el chip del microprocesador, junto con la caché L1. Historia y futuro
El FSB comenzó a formar parte de la arquitectura de computadoras estándar desde que las aplicaciones requieren más memoria de la que el procesador podría retener. Los más modernos FSB se utilizan a modo de conexión exclusiva principal entre la unidad central de procesamiento y el circuito integrado auxiliar. Éste (generalmente compuesto por el trabajo en conjunto del puente norte o northbridge y el puente sur osouthbridge) es el encargado de interconectar el resto de buses del sistema. Los buses como PCI, PCI Express, y buses de memoria se comunican con el chipset para permitir el correcto flujo de datos entre los diferentes dispositivos. Generalmente estos buses secundarios funcionan a una velocidad derivada de la velocidad del FSB. Pese a la solución que dio al problema, siempre se ha pensado en que el FSB debería ser una tecnología con tendencia a desaparecer. Empresas como AMD siempre han criticado el FSB, ya que limita mucho las capacidades reales de un sistema generando mucha latencia y un tiempo de respuesta mayor, creando un auténtico cuello de botella para el resto de dispositivos. No fue hasta 2001 y la aparición de la tecnología HyperTransport cuando se pudo diseñar una tecnología capaz de reemplazar el uso del FSB. Actualmente empresas fabricantes de chipsets como NVIDIA, Silicon Integrated Systems o VIA Technologies, ya han comenzado a eliminar el uso del FSB sustituyéndolo con la versión 3.0 de HyperTransport. Bus trasero
En las computadoras personales de la segunda mitad de la década de 1990, el Back Side Bus (BSB, literalmente “bus trasero”, en contraposición al frontal o FSB) se refiere a la conexión entre un microprocesador y su memoria cache externa, en particular y comúnmente la de segundo nivel o L2 (en inglés, Level 2) . Dado que el concepto de BSB vino a complementar al de FSB, las computadoras modernas utilizan una “arquitectura de bus dual” o, en la nomenclatura de Intel, Dual Independent Bus (DIB). Ventajas implícitas
Este en ese entonces nuevo bus tiene algunas ventajas sobre el antiguo FSB “unificado”:
Es dedicado, es decir está específica y exclusivamente concebido para el tráfico de datos de la cache L2. Además, de esa manera no precisa de señales protocolares adicionales como las de un bus “genérico” como el FSB (por
ejemplo, las clásicas IRQ,Interrupt ReQuest lines o solicitudes de interrupción a la CPU).
Libera al casi siempre ocupado FSB de realizar una importante y pesada tarea adicional, contribuyendo a que éste tenga menos “cuellos de botella”.
Además, al ser un bus más corto que el FSB puede operar a frecuencias o velocidades bastante más altas que aquél. De hecho, históricamente las mismas caches L2 se han estado acercando cada vez más a la CPU, desde las antiguas (ubicadas en la placa madre) hasta las actuales (montadas sobre el mismo núcleo del procesador).
Evidentemente, la cache montada en el propio cartucho de la CPU, ofrecía un rendimiento superior que las hasta entonces caches externas (ubicadas en la placa madre), como la de los Intel Pentium originales (que seguirían serían heredadas por AMD en sus K5,K6 y K6-2; el K6-III tenía 256 KB internos en el propio núcleo del procesador (on-die), por lo que “relegaba” a la cache del motherboard (placa base) a ser de tercer nivel (L3). Esas viejas caches, que aunque fuesen de 2 MB, no proporcionaban ninguna mejorar sustancial ya que, al estar limitadas por la frecuencia del FSB (usualmente de 66 ó 100 MHz)3 , no eran más rápidas que las por entonces nuevas memorias dinámicas del tipo SDRAM (las cuales también operaban a esa velocidad). Por su parte, el Intel Celeron basado en el Pentium II, a partir de su versión 300A (de nombre código Mendocino), ya incorporaba una cache L2 on-die (aunque de 128 KB en lugar de los 512 KB de los PII). Por lo tanto, en su caso, la frecuencia
de su BSB ya equivalía a la velocidad del propio núcleo del microprocesador (de hecho, cuando fue lanzado en agosto de 1998, fue la primera CPU para PC en disponer de esa interesante característica). Intel Pentium III
Los Pentium III de primera generación (conocidos con el nombre código Katmai ), lanzados a fines de febrero de 1999, que básicamente PII acelerados (cuya principal novedad consistía en la incorporación de unas instrucciones adicionales denominadas SSE) siguieron con ese mismo esquema, hasta alcanzar los 600 MHz. Fueron fabricados con una tecnología de proceso de 250 nm (0,25 μm). Frecuencia del núcleo
Multiplicador
(MHz)
Frecuencia
Frecuencia
del FSB
del BSB
(MHz)
(MHz)
450
4,5
100
225
500
5,0
100
250
533
4,0
133
266
600
6,0
100
300
600
4,5
133
300
La versiones posteriores de los Intel Pentium III, de nombre código Coppermine (180 nm o 0,18 μ) y Tualatin (130 nm o 0,13 μ), directamente incorporaron una cache L2 en el propio núcleo, por lo que su BSB pasó a ser equivalente a la velocidad del propio procesador, aunque originariamente redujeron su capacidad a 256, posteriormente fue aumentada a 512 KB. AMD Athlon
Por su parte, el BSB de los AMD Athlon (K7 Argon/Pluto) de primera generación (lanzado inicialmente en agosto de 1999), que imitaban el formato de cartucho de los Pentium II, también operaba a una fracción de la velocidad de la propia CPU.
Más precisamente lo hacía a 1/2 (50%), 2/5 (40%) o 1/3 (33%) de aquélla, como su muestra en la siguiente tablita (la velocidad del bus era de 100 MHz DDR). Esto se decía a que las pastillas (chips) de SRAM (RAM estática, bastante más rápida que la convencional SDRAM de esa época), tenía problemas para alcanzar frecuencias superiores a los 350 MHz.
Código
Nombre
Tecnología
código
de proceso
Frecuencia
Frecuencia
del núcleo
del BSB
(MHz)
(MHz)
K7
Argon
250 nm (0,25 μm)
500
250
K7
Argon
250 nm (0,25 μm
550
275
K7
Argon
250 nm (0,25 μm)
600
300
K7
Argon
250 nm (0,25 μm)
650
325
K7
Argon
250 nm (0,25 μm)
700
350
K75
Pluto
180 nm (0,18 μm)
750
300
K75
Pluto
180 nm (0,18 μm)
800
320
K75
Pluto
180 nm (0,18 μm)
850
340
K75
Pluto
180 nm (0,18 μm)
900
300
K75
Pluto
180 nm (0,18 μm)
950
317
K75
Pluto
180 nm (0,18 μm)
1.000
Todos los microprocesadores fabricados por Intel desde fines de octubre de 1999 y los AMD producidos desde junio de 2000 poseen cache L2 en el propio núcleo (on-die). Por lo tanto sus respectivos BSBs operan exactamente a la frecuencia de aquéllos. Esto incluye a los AMD Athlon (desde el núcleo Thunderbird ), Duron, Athlon 64, Sempron, Phenom, Phenom II, Intel Pentium III (a partir de la versión Coppermine), Pentium 4, Core Duo, Core 2 e Core i7. Historia Intel Pentium II
El Pentium II, lanzado inicialmente al mercado en mayo de 1997, fue la primera CPU que incluyó la cache L2 en el propio cartucho del microprocesador, en el anterior pentium pro estaba integrada en la CPU, pero en distinta die, aunque a diferencia de este, esta operaba a la mitad de velocidad de la frecuencia de la CPU, posteriormente algunos modelos operarían a la misma velocidad. Aquella cache funcionaba a la mitad del núcleo (core) del procesador, como se puede observar en la pequeña tabla siguiente: HyperTransport HyperTransport (HT), también conocido como Lightning Data Transport (LDT) es una tecnología de comunicaciones bidireccional, que funciona tanto en
serie como en paralelo, y que ofrece un gran ancho de banda en conexiones punto a punto de baja latencia. Se publicó el 2 de abril de 2001. Esta tecnología se aplica en la comunicación entre chips de un circuito integrado ofreciendo un enlace (o bus) avanzado de alta velocidad y alto rendimiento; es una conexión universal que está diseñada para reducir el número de buses dentro de un sistema, suministrando un enlace de alto rendimiento a las aplicaciones incorporadas y facilitando sistemas de multiprocesamiento altamente escalables. El HyperTransport Consortium es quien está llevando a cabo el desarrollo y promoción de la tecnología HyperTransport. Esta tecnología es ampliamente usada por las empresas AMD en procesadores x86 y chipsets; PMCSierra, Broadcom y Raza Microelectronics en microprocesadores; MIPS, NVIDIA, VIA Technologies y Silicon Integrated Systems en chipsets; HP, Sun Microsystems, IBM y Flextronics en
333
servidores; Cray, Newisys, QLogic y XtremeData en sistemas informáticos de alto rendimiento, y Cisco Systems en routers. Descripción
HyperTransport está basada en paquetes. Cada uno de ellos consiste en un conjunto de palabras de 32 bits independientemente del ancho físico de la conexión. La primera palabra de un paquete es siempre una palabra de comando. Si un paquete contiene una dirección los últimos 8 bits de la palabra de comando estarán enlazados con la siguiente palabra de 32 bits para formar una dirección de 40 bits. Además se permite anteponer otra palabra de control de 32 bits cuando se necesite una dirección de 64 bits. Las restantes palabras de 32 bits en un paquete formarán la información útil. Las transferencias, independientemente de su 0longitud actual, estarán formadas siempre por múltiplos de 32 bits. Los paquetes de HyperTransport entran en segmentos conocidos como tiempos bit. El número de tiempos bit necesarios depende del ancho de la interconexión. HyperTransport puede usarse para generar mensajes de gestión de sistemas, señales de interrupciones, expedir sondas a dispositivos adyacentes o procesadores y E/S en general y hacer transacciones de datos. Normalmente se pueden usar dos tipos diferentes de comandos de escritura: avisados y noavisados. Las escrituras avisadas no precisan una respuesta del destino. Son usadas primordialmente para dispositivos con un gran ancho de banda como tráfico a Uniform Memory Access o transferencias de Acceso directo a memoria. Las escrituras no-avisadas precisan una respuesta del tipo "destino hecho". La lectura también puede provocar que el receptor genere una respuesta. Soporta conexiones auto-negociadas para determinar la velocidad. Su velocidad de transferencia máxima, utilizando líneas de 32 bits, tiene por cada uno de sus 2 buses un total de 20.8 GB/s (2.6GHz * (32bits / 8), lo que supone la suma de 41.6 GB/s en ambas direcciones, superando con creces cualquier otro estándar. Se pueden mezclar también enlaces de varios anchos en una sola aplicación (por ejemplo 2x8 en vez de 1x16). Esto permite una velocidad de interconexión mayor entre la memoria principal y la CPU y una menor entre los periféricos que lo precisen. Además esta tecnología tiene mucho menos latencia que otras soluciones. Existen cuatro versiones de HyperTransport -- 1.x, 2.0, 3.0 y 3.1 -- que puede funcionar desde los 200MHz hasta 3.2GHz (mientras el bus PCI corre a 33 o 66 MHz). También soporta tecnología DDR (o Double Data Rate), lo cual permite
alcanzar un máximo de 5200 MT/s (2600MHz hacia cada dirección: entrada y salida) funcionando a su máxima velocidad (2.6GHz). Aplicaciones
El desarrollo de HyperTransport se hizo sobre la base de querer eliminar el Front Side Bus (FSB). No fue hasta la versión 3.0 cuando varios fabricantes de chipsets decidieron utilizar HyperTransport para sustituir el FSB con excelentes resultados. Ésta ha sido su implementación más famosa. También ha dado grandes resultados en otras implantaciones, tales como interconexiones entre microprocesadores MIPS, servidores, sistemas informáticos de alto rendimiento, y en routers y switches. Implementaciones
AMD AMD64 y CPUs basadas en Direct Connect Architecture. SiByte CPUs MIPS de Broadcom CPUs MIPS de PMC-Sierra RM9000X2 ht_tunnel del proyecto OpenCores (licencia MPL) ATI Radeon Xpress 200 para el procesador AMD Chipsets NVIDIA nForce nForce Professional MCPs (Media and Communication Processor) Serie nForce 4 Serie nForce 500 Serie nForce 600 Serie nForce 700 Controlador de E/S HyperTransport ServerWorks (ahora Broadcom) HT-2000 El Puente norte del IBM PowerPC G5 CPC925 y CPC945 Los procesadores multihilo Raza
HyperTransport e HyperThreading
El uso de las mismas siglas para su denominación ( HT) ha llevado a generar confusiones entre el público. No se deben confundir ya que ambas tecnologías son completamente distintas. Muchas veces para referirse al HyperTransport también se utilizan las siglas HTT. Especificaciones de frecuencias de HyperTransport
Versión HyperTransport
Max. Año
Max.
Frecuencia Ancho HT
enlace
Max. Ancho
Max. Ancho de
Max. Ancho de
de banda
banda a
banda a
agregado
16-Bit
32-Bit
(bidireccional)
(unidireccional)
(unidireccional)*
1.0
2001
800 MHz
32 Bit
12.8 GB/s
3.2 GB/s
6.4 GB/s
1.1
2002
800 MHz
32 Bit
12.8 GB/s
3.2 GB/s
6.4 GB/s
2.0
2004
1.4 GHz
32 Bit
22.4 GB/s
5.6 GB/s
11.2 GB/s
3.0
2006
2.6 GHz
32 Bit
41.6 GB/s
10.4 GB/s
20.8 GB/s
3.1
2008
3.2 GHz
32 Bit
51.2 GB/s
12.8 GB/s
25.6 GB/s