Encontré una arquitectura de placa base aquí:
Este parece ser el diseño típico de las placas base. EDITAR: Bueno, aparentemente ya no es tan típico.
¿Por qué la CPU se conecta a solo 1 bus? Ese autobús de la parte delantera parece un gran cuello de botella. ¿No sería mejor dar 2 o 3 buses directamente a la CPU?
Me imagino un bus para la RAM, uno para la tarjeta gráfica y otro para algún tipo de puente al disco duro, puertos USB y todo lo demás. La razón por la que lo dividí de esta manera es porque las velocidades de datos del disco duro son lentas en comparación con la memoria.
¿Hay algo muy difícil en hacerlo de esta manera? No veo cómo podría entrar el costo, porque los diagramas existentes ya tienen no menos de siete autobuses. De hecho, al usar más autobuses directos, podríamos reducir el número total de autobuses y tal vez incluso uno de los puentes.
Entonces, ¿algo malo con esto? ¿Hay una desventaja importante en alguna parte? Lo único en lo que puedo pensar es quizás en una mayor complejidad en la CPU y el kernel, lo que me hace pensar que esta arquitectura de bus de cuello de botella es como se hacía en los viejos tiempos cuando las cosas eran menos sofisticadas y el diseño sigue siendo el mismo para la estandarización.
EDITAR: Olvidé mencionar el Watchdog Monitor . Sé que lo he visto en algunos diagramas. Presumiblemente, un autobús con cuello de botella facilitaría que el perro guardián monitoreara todo. ¿Puede eso tener algo que ver?
El enfoque que muestra es una topología bastante antigua para las placas base: es anterior a PCIe, lo que realmente lo ubica en algún lugar de los años 2000. La razón se debe principalmente a las dificultades de integración.
Básicamente, hace 15 años, la tecnología para integrar todo en un solo troquel era prácticamente inexistente desde un punto de vista comercial, y hacerlo era increíblemente difícil. Integrar todo daría como resultado tamaños de matriz de silicio muy grandes, lo que a su vez conduce a un rendimiento mucho menor. El rendimiento es esencialmente cuántos troqueles se pierden en una oblea debido a defectos: cuanto más grande es el troquel, mayor es la probabilidad de un defecto.
Para combatir esto, simplemente dividió el diseño en varios chips; en el caso de las placas base, terminó siendo CPU, North Bridge y South Bridge. La CPU se limita solo al procesador con una interconexión de alta velocidad (referido como el bus del lado frontal por lo que recuerdo). Luego tiene el Puente Norte que integra el controlador de memoria, la conexión de gráficos (por ejemplo, AGP, una tecnología antigua en términos informáticos) y otro enlace más lento al Puente Sur. El South Bridge se utilizó para manejar tarjetas de expansión, discos duros, unidades de CD, audio, etc.
En los últimos 20 años, la capacidad de fabricar semiconductores en nodos de proceso cada vez más pequeños con una confiabilidad cada vez mayor significa que es posible integrar todo en un solo chip. Los transistores más pequeños significan una mayor densidad para que pueda caber más, y los procesos de fabricación mejorados significan un mayor rendimiento. De hecho, no solo es más rentable, sino que también se ha vuelto vital para mantener los aumentos de velocidad en las computadoras modernas.
Como señala correctamente, tener una interconexión con un puente norte se convierte en un cuello de botella. Si puede integrar todo en la CPU, incluido el PCIe Root Complex y el controlador de memoria del sistema, de repente tiene un enlace de velocidad extremadamente alta entre los dispositivos clave para gráficos y computación: en la PCB, tal vez esté hablando de velocidades del orden de Gbps, en el dado puede alcanzar velocidades del orden de Tbps!
Esta nueva topología se refleja en este diagrama:
En este caso, como puede ver, los controladores de memoria y gráficos están integrados en la matriz de la CPU. Si bien todavía tiene un enlace a lo que es efectivamente un solo conjunto de chips hecho de algunos bits del puente norte y el puente sur (el conjunto de chips en el diagrama), esto hoy en día es una interconexión increíblemente rápida, tal vez más de 100 Gbps. Todavía más lento que en el dado, pero mucho más rápido que los viejos autobuses frontales.
¿Por qué no integrar absolutamente todo? Bueno, los fabricantes de placas base todavía quieren algo de personalización: cuántas ranuras PCIe, cuántas conexiones SATA, qué controlador de audio, etc.
De hecho, algunos procesadores móviles se integran aún más en la matriz de la CPU: piense en computadoras de placa única que usan variantes de procesador ARM. En este caso, debido a que ARM arrienda el diseño de la CPU, los fabricantes aún pueden personalizar sus troqueles como mejor les parezca e integrar los controladores/interfaces que deseen.
on the die you can achieve speeds on the order of Tbps!
vaya, ¿eso no está comenzando a dejar atrás la capacidad de la CPU para procesarlo lo suficientemente rápido?No puedo decir que sea un experto en arquitectura informática, pero intentaré responder a sus preguntas.
Este parece ser el diseño típico de las placas base.
Como mencionó Tom, esto ya no es cierto. La mayoría de las CPU modernas tienen un puente norte integrado. El puente sur generalmente está integrado o se hace innecesario por la nueva arquitectura; Los conjuntos de chips de Intel "reemplazan" el puente sur con el Platform Controller Hub, que se comunica directamente con la CPU a través de un bus DMI.
¿Por qué la CPU se conecta a solo 1 bus? Ese autobús de la parte delantera parece un gran cuello de botella. ¿No sería mejor dar 2 o 3 buses directamente a la CPU?
Los buses anchos (64 bits) son costosos, requieren una gran cantidad de transceptores de bus y muchos pines de E/S. Los únicos dispositivos que requieren un bus enorme y rápido son la tarjeta gráfica y la memoria RAM. Todo lo demás (SATA, PCI, USB, serie, etc.) es comparativamente lento y no se accede constantemente. Por lo tanto, en la arquitectura anterior, todos esos periféricos "más lentos" se agrupan a través del puente sur como un solo dispositivo de bus: el procesador no quiere tener que arbitrar cada pequeña transacción de bus, por lo que todas las transacciones de bus lentas/poco frecuentes se pueden agregar y administrado por el puente sur, que luego se conecta a los otros periféricos a una velocidad mucho más pausada.
Ahora, es importante mencionar que cuando digo arriba que SATA/PCI/USB/serial son "lentos", eso es principalmente un punto histórico, y se está volviendo menos cierto hoy en día. Con la adopción de SSD sobre discos giratorios y periféricos PCIe rápidos, así como USB 3.0, Thunderbolt y tal vez Ethernet 10G (pronto), el ancho de banda periférico "lento" se está volviendo muy significativo rápidamente. En el pasado, el autobús entre el puente norte y el puente sur no era un gran cuello de botella, pero ahora eso ya no es así. Entonces, sí, las arquitecturas se están moviendo hacia más buses conectados directamente a la CPU.
¿Hay algo muy difícil en hacerlo de esta manera? No veo cómo podría entrar el costo, porque los diagramas existentes ya tienen no menos de siete autobuses.
Serían más buses para que el procesador los administre y más procesador de silicio para manejar los buses. Que es caro. En el diagrama anterior, no todos los buses son iguales. El FSB grita rápido, el LPC no. Los buses rápidos requieren silicio rápido, los buses lentos no, por lo que si puede mover los buses lentos de la CPU a otro chip, le facilitará la vida.
Sin embargo, como se mencionó anteriormente, con la creciente popularidad de los dispositivos de gran ancho de banda, cada vez más buses se conectan directamente al procesador, particularmente en SoC/arquitecturas más altamente integradas. Al colocar más y más controladores en la matriz de la CPU, es más fácil lograr un ancho de banda muy alto.
EDITAR: Olvidé mencionar el Watchdog Monitor. Sé que lo he visto en algunos diagramas. Presumiblemente, un autobús con cuello de botella facilitaría que el perro guardián monitoreara todo. ¿Puede eso tener algo que ver?
No, eso no es realmente lo que hace un perro guardián. Un perro guardián es simplemente para reiniciar varias cosas cuando/si se bloquean; realmente no mira todo lo que se mueve a través del autobús (¡es mucho menos sofisticado que eso!).
Fast buses require fast silicon, slow buses don't
¿Qué significa exactamente silicio rápido? ¿Silicona de mayor pureza? ¿O estás diciendo que los autobuses lentos pueden usar un elemento diferente al silicio? De cualquier manera, pensé que el silicio era un material bastante barato. Algo interesante sobre el perro guardián también. Podría hacer una pregunta relacionada al respecto.La cantidad de buses a los que se conectará directamente una CPU generalmente se limitará a la cantidad de partes distintas de la CPU que podrían acceder a las cosas simultáneamente. No es raro, especialmente en el mundo de los procesadores integrados y DSP, que una CPU tenga un bus para programas y un bus para datos, y permita que ambos funcionen simultáneamente. Sin embargo, un monoprocesador típico solo se beneficiará de obtener una instrucción por ciclo de instrucción y solo podrá acceder a una ubicación de memoria de datos por ciclo de instrucción, por lo que no será muy beneficioso ir más allá de un bus de memoria de programa y uno. bus de memoria de datos. Para permitir que se realicen ciertos tipos de operaciones matemáticas con los datos extraídos de dos flujos diferentes,
Con procesadores que tienen múltiples unidades de ejecución, puede ser útil tener un bus separado para cada uno, de modo que si hay múltiples unidades de buses "externos" que necesitan buscar cosas de diferentes buses "externos" puedan hacerlo sin interferencias. A menos que haya una razón lógica por la cual las cosas a las que acceden diferentes unidades de ejecución serán accesibles a través de diferentes buses fuera de la CPU, sin embargo, tener buses separados de la CPU alimentan una unidad de arbitraje que solo puede transmitir una solicitud a la vez a un dispositivo externo en particular no ayudará en nada. Los autobuses son caros, por lo que tener dos unidades de ejecución en un autobús suele ser más barato que usar autobuses separados. Si el uso de buses separados permitirá una mejora importante del rendimiento, eso puede justificar el costo, pero de lo contrario, cualquier recurso (área de chip, etc.)
Considere la cantidad de pines requeridos en los paquetes de CPU para tener múltiples buses anchos. Por ejemplo, ocho núcleos de CPU, cada uno con un bus de datos de 64 bits, además de una variedad de otros pines para otros fines. ¿Hay algún paquete de CPU disponible hoy con quizás 800 pines?
tom carpintero
DrZ214
dormilón