Loco, se me pianta un lagrimón. Me hiciste recordar muuuucho!. Gracias!
Tomate el bus
La historia de los bus de datos es bastante interesante y sin embargo la pasamos por alto, probablemente porque al único que le puede parecer interesante es a un nardogeek, o tal vez porque todo sucede "ahà adentro", pero para hacer una comparación, es como hacer una historia de los cilindros y los motores de un auto.
El bus de datos es lo que conecta todo, por donde la información realmente pasa. Un procesador se conecta a la memoria mediante un bus, se conecta al northbridge y southbridge por otros buses, que se conectan a los distintos dispositivos mediante otro bus, este otro, es el más importante porque es prácticamente la única forma de ver que sucede ahà adentro.
Trataré de hacer un repaso de las más importantes tecnologÃas que usamos para conectar cosas dentro de una PC, obviamente existen muchas más y de diversos tipos, pero la mayorÃa ha oÃdo alguna vez hablar de ISA, VESA, PCI, AGP y PCIe asà que de esas estaré comentando a continuación.
En los comienzos de la era de la PC el primer bus que diseño IBM (a.k.a. inmensa bola de mierda) para los x86 fue el famoso ISA (Industry Standard Architecture), era algo primitivo pero suficiente para la velocidad de los procesadores de esa época.
Cuando todavÃa medÃamos las velocidades en unidades de megahertz el ISA era un bus paralelo de 8 bits (más adelante de 16) con una frecuencia de 8Mhz que permitÃa conectar hasta 6 dispositivos. No existÃa nada como el Hotplug o interfaces externas en 1981, pero con esto las primeras XT y AT tuvieron más que suficiente expansión.
El antiquÃsimo y muy usado ISA
Logró el bus ISA abrirle las puertas a una innumerable cantidad de pequeñas pymes tecnológicas ya que cualquier PC contaba con varios puertos ISA disponible para cualquier aplicación. Desde placas de sonido hasta de video, sintonizadoras a escáners, impresora o joystick, las primeras placas de red accesibles, modems, etc. Cualquiera podÃa crear su propia placa mientras respetase este bus standard.
En 1984 ampliaron el bus a 16 bits para las nuevas IBM AT y para 1987 era evidente que el ancho de banda de 8Mhz se habÃa quedado muy corto para las aplicaciones posibles de la plataforma, hacÃa falta algo nuevo.
IBM intentó volver a tomar el control del mercado, tanta apertura le habia hecho perder mucho de la torta en manos de empresas más pequeñas con mejores precios, la apertura de la arquitectura x86 le permitió existir a tantos que hasta la existencia de IBM se vio amenazada, asà que propusieron el MCA (Micro Channel Architecture).
El problema con el MCA es que, a diferencia de ISA que habÃa sido publicado como especificación abierta y hasta con planos, el MCA era completamente cerrado y buscaba el pago de licencias para poder usarlo, era mucho más avanzado y ya poseÃa alguna de las caracterÃsticas de posterior PCI, pero la industria tenÃa otra cosa en mente, extendieron el ISA a 32 bits y lo llamaron EISA, era mucho más barato, abierto y no requerÃa pagar nuevas licencias de nada. y lo que era mejor, era compatible hacia atrás.
Durante mucho tiempo uno pudo conectar un modem viejo a una 386 gracias a esta extensión de ISA, y mientras IBM trataba de vender sus PS/2 con MCA la tecnologÃa no fue adoptada por la mayorÃa de la industria que fue optando por lo más económicamente rentable, EISA.
EISA era casi igual a ISA pero con el bus a 32 bits. PermitÃa que más de un procesador compartiese el bus, aunque su velocidad seguÃa siendo reducida (8.33Mhz) el mayor ancho en bits y al ser un puerto paralelo, permitÃan mayor cantidad de datos. La tasa de transferencia teórica era de 33Mbps aunque llegaba a unos prácticos 20Mbps.
Para cuando llegaron las 486 hubo una nueva extensión, muchos de mis lectores habrán tenido una 486 DX2 o similar con el famoso VESA Local Bus. Llegado un punto hacÃa falta llegar más rápido al procesador, las placas de video necesitaban un espacio nuevo y acceder a la memoria más rápidamente.
Lo bizarro de las placas VESA era su tamaño, debido a la poca densidad de los circuitos de la época la placa era enorme, casi no entraba en ningún gabinete, tuve una, pero permitÃa cosas que hasta esa época nadie habÃa visto en un hogar (video, juegos como el Wolfestein 3D o el Duke Nukem), también de 32 bits, con la misma velocidad que el procesador que use y como extensión del ISA pero con un diseño muy dependiente del 80486 para el cual habÃa sido diseñado tuvo una pronta muerte.
TÃpica placa VESA gigante
El problema era ese diseño tan 486dependiente, al nacer el Pentium prácticamente quedó inutilizado ya que era un cambio de arquitectura total, empezó la era del PCI.
Cuando Intel se mete en algo lo hace a lo grande y la idea del PCI (Peripheral Component Interconnect) era originalmente para dar un paso adelante de ISA, MCA y EISA en el ambiente de servidores. Recién en 1994 cuando los Pentium llegaron al mercado hogareño pudo vencer a VESA y hacerse del mercado masivo.
El bus PCI combinaba varias de las tecnologÃas que MCA no habÃa podido imponer, con un ancho de 32 a 64 bits y velocidades de 133Mbps (a 33Mhz) hasta 533 MBps (a 66 Mhz/64-bits) fue más que suficiente para casi todas las aplicaciones que se necesitaron durante casi una década. Era paralelo como sus antecesores pero permitÃa Hotplug, algo que Bill Gates quiso demostrar en la presentación de Windows 98, creo, y colgó a PC, si, esa presentación
PCI ha sido por lejos el bus más exitoso, las primeras placas de video 3D reales, las de red ethernet, SCSI, etc. Todo tenÃa su bus PCI, pero aun asà la velocidad de avance en la tecnologÃa terminó pidiéndoe más y PCI no podÃa ofrecerlo tan fácil, necesitaba una revisión que se estaba tardando en llegar.
Slots PCI
El mercado más exigente en ese momento fue el Gaming y las aplicaciones profesionales de video, y esto fue casi apenas haber logrado PCI conquistar el mercado, nació AGP (Accelerated Graphics Port) pensado exclusivamente para el video.
Con un ancho de 32 bits pero una tasa de hasta 2133 MB/s era realmente todo lo rápido que requerÃa una placa de video. Al no compartir el bus con nadie más no necesitaba la cantida de señalización del PCI que estaba pensado para múltiples placas en un mismo bus. AGP permitÃa acceso directo al procesador y su memoria.
Slot AGP
Por ejemplo, una placa PCI si querÃa dibujar una textura debÃa tomarla de la memoria RAM, copiarla al framebuffer de la placa de video y recién ahà mostrarla. VÃa AGP se podÃa utilizar el Graphics Address Remapping Table (GART) y tomar la textura directo de la RAM.
Con AGP no era imposible tener dos placas de video, pero ese tipo de sistemas se reservaron para servidores solamente, era muy costoso para una PC de escritorio. Actualmente el AGP está en desuso aunque todavÃa quedan en el mercado algunas placas de video con este puerto.
Pero no alcanzaba, se necesitaba algo más universal y a la vez lo suficientemente moderno, con más flexibilidad.
Asà para el 2004 se adoptó un nuevo estandar: PCI-E (no confundir con PCI-X que era una versión extendida del PCI normal para servidores).
El actualmente utilizado PCIe fue diseñado para reemplazar tanto AGP como PCI y PCI-X, la idea era cubrir un rango más amplio y para ello se cambió sustancialmente la topologÃa, pasaron de ser buses paralelos a un esquema serial de links punto a punto.
Es interesante porque se pueden usar "lineas" para cada dispositivo, asà un modem no necesita más que 1x una placa de video puede usar 16x que en la versión 3.0 del protocolo llega a 16Gb/s de ancho de banda.
Además esta topologÃa permite una cantidad mayor de dispositivos conectados y switchear entre cada lÃnea sin problemas. Curiosamente a nivel software es totalmente compatible hacia atrás con PCI y PCI-X para fomentar el paso a la nueva tecnologÃa, aun asà no se puede instalar una placa PCI en un slot PCIe lo que implicó una nueva serie de motherboards y chipsets.
PCI Express
Como la mayorÃa de las placas de audio, red, modems y dispositivos en general no necesitan tanto ancho de banda es muy común que la mayorÃa de los motherboards cuenten con puertos PCI tradicionales, sorprendente o no el viejo PCI se mantiene vivo ya que tanta velocidad no hace falta para todo.
En cambio el PCIe permitió genialidades como los múltiples GPU (SLI de nVIDIA y Crossfire de Ati) logrando configuraciones de hasta cuatro placas de video simultáneamente o arrays de discos de alta velocidad, etc.
En los últimos 30 años pasamos de interfaces primitivas de 8 bits y 8Mhz a bestialidades de 32 o 64 bits con anchos de banda de 16Gb/s y no termina ahÃ, esto es tan sólo a nivel conectividad periférica, a nivel procesador tenemos otros casos como HyperTransport 3 con hasta 409Gb/s si, de 8mbps a 409.000mbps, un crecimiento impresionante y clarÃsimo que hace tan sólo 30 años y menos usábamos menos del 0,01% de la capacidad de un bus de datos actual y aun asà todo funcionaba muy bien
Otros posts que podrÃan llegar a gustarte...
Comentarios
-
ey, que yo todavÃa tengo mi placa de video AGP! (una Geforce 6800 en la computadora desde donde escribo esto, desde que uso linux no cambio la computadora, ya van a ser 7 años...)
-
Muy buen post!
Los conozco todos los que nombras, pero pense que habia mas entre los ISA y los PCI.
Muy bueno
-
Ufffff que recuerdos, 486 DX2 66mhz con una trident vesa de 2mb (Si, a un amigo se le quema la misma trident y le saque el modulo de memoria y se la puse a mia) configurando el refresh del Samsung Syncmaster 3 lo pude poner al Güindors en 1024x768.... Todo un desafio en aquellas epocas!!! Al micromachines le podia cambiar la resolución y no se moria.... Se me pianta el lagrimon!!!
-
Genialmente explicado!!!! Felicitaciones! Solo una cosa... me parece que cuando a Bill se le piantó el Windows fue con el tema de los USB, no con los PCI.
-
DrM! dijo:
Genialmente explicado!!!! Felicitaciones! Solo una cosa... me parece que cuando a Bill se le piantó el Windows fue con el tema de los USB, no con los PCI.
Nop, en Efecto... presentación Windows 98, estaba "demostrando" el plug&play de un scanner.... hasta que aparecio la BSOD (Blue Screen of Death) Risa total del auditorio y el Ingeniero que desarrollo la libreria ahora debe estar en Pekin haciendo "Casio´s"
-
Arielito dijo:
DrM! dijo:
Genialmente explicado!!!! Felicitaciones! Solo una cosa... me parece que cuando a Bill se le piantó el Windows fue con el tema de los USB, no con los PCI.
Nop, en Efecto... presentación Windows 98, estaba demostrando el plug&play de un scanner.... hasta que aparecio la BSOD (Blue Screen of Death) Risa total del auditorio y el Ingeniero que desarrollo la libreria ahora debe estar en Pekin haciendo Casio´s
claro, y recordemos que sucedió DOS veces, por ahà la segunda era con los usb, yo recuerdo la primera que fue la demo del plug&play con los PCI
-
Muy bueno. Te podrÃas mandar más adelante un informe similar con los IDE/SCSI/SATA/SAS en servidor/desktop/móvil que tiene un historia similar y paralela muy interesante también.
¿Conociste las multi-ide de las 286? Eran IDE, paralelo, puerto de juegos, etc., todo en uno, en una modesta "plaquita" ISA
¡¡¡que no se fuera quemar o estabas al horno!!!
-
Te felicito. ESTOS son los post q nos gusta ver cada tanto por acá, esto y los de la universidad de garchford jeje
-
Coincido, estos posts se extrañaban mucho. Por cierto en algún lugar de mi casa tengo un tendal de placas vesa juntando tierra, no las puedo tirar
-
Excelente post Fabio!
Yo también arranqué con una 486 DX4, con la querida Cirrus Logic Vesa Local Bus... y lo que más recuerdo es que era casi imposible insertarla en el slot: si entraba de un lado, se salia del otro.
Cuantos recuerdos
-
gorlok dijo:
Muy bueno. Te podrÃas mandar más adelante un informe similar con los IDE/SCSI/SATA/SAS en servidor/desktop/móvil que tiene un historia similar y paralela muy interesante también.
¿Conociste las multi-ide de las 286? Eran IDE, paralelo, puerto de juegos, etc., todo en uno, en una modesta plaquita ISA
¡¡¡que no se fuera quemar o estabas al horno!!! 
seee, las conocÃa, eran un martirio, el dÃa que se jodÃan se empezaba a romper todo en un mismo dÃa
-
gorlok, cuando se quemaban las IDE´s esas eran reemplazables, hoy quemas un USB on board y estas al horno, en esa época te palmaba un RS232 o el FDC y cambiabas la placa, o agregabas otra para tener múltiples LPT

Volviendo sobre las VESA, eran un despelote, más de una ves daban problemas. Hasta no hace mucho tuve una Sound Blaster AWE 32 tan larga como una placa VESA, aunque solo era ISA y me obligó a hacer malabares para ponerla en algunos mothers
-
che esta bueno como reseña
y con respecto a las multi-ide jaja si eran un embole me acuerdo
tengo un monton en cajas en un galpon en casa y varias mothers de 486, estaba pensando en pegarlas y hacer alguna obrita de arte o algo asi
p/d quedo bueno el fondito de la chica con la pistola abajo xD
-
Lo que estaba enchufando Bill Gates en aquella presentación era un Escaner USB, acá tenes el video http://www.youtube.com/watch?v=TrAD25V7ll8
