El problema está en el ruido eléctrico que se genera entre las diferentes líneas que componen el bus. Es decir, este ruido y las interferencias que genera, también son proporcionales a la frecuencia de funcionamiento del bus. Así que, al diseñar el bus, aunque nos interesa que la frecuencia sea lo más alta posible, son las interferencias entre líneas (que acabarían haciendo que confundiéramos ceros con unos y unos con ceros) las que nos limitan este valor.
Si os fijáis, todos los buses clásicos funcionan a frecuencias en el orden de los MHz. Y sin embargo los buses nuevos como Hipertransporte o PCIExpress, funcionan a GHz. ¿Cómo se ha conseguido subir tanto la frecuencia sin tener problemas con el ruido?. Gracias, entre otras cosas, a la utilización de la señalización diferencial.
En el caso de la señalización diferencial, por cada bit se utilizan dos líneas, así que en nuestro ejemplo nos harían falta 32 líneas de datos. Para saber si en un par de líneas hay un 0 lógico o un 1 lógico, basta con restar la tensión que hay en ambas. Por ejemplo, si una línea lleva 10 V y su par lleva 5 V, como la diferencia es 5V, eso se interpreta como un 1.
¿Qué ganamos con esto?. En el ejemplo de antes, si hay un ruido que resta 3 V a las líneas del bus, la que llevaba 10 V se queda en 7 V y su par pasa de 5 V a 2 V. Como la diferencia entre ambas sigue siendo alrededor de 5 V, se sigue interpretando correctamente el 1 lógico.
Es decir, tenemos un sistema para transmitir información que es mucho más robusto frente al ruido y que por lo tanto nos permite aumentar en gran medida la frecuencia de funcionamiento de los buses. A cambio, por cada bit de información, necesitaremos dos líneas de datos en el bus, por lo que suele tratarse de buses que transfieren menos datos en cada ciclo (si no, serían demasiado anchos).
No hay comentarios:
Publicar un comentario