seegongsik
Sistemas operativos

Cómo funciona una CPU multinúcleo

Con varias cocinas, el trabajo no se hace por turnos: de verdad ocurre a la vez, en el mismo instante. Esta vez veremos la simultaneidad real.

01

¿Y si no hubiera una sola cocina?

Hasta ahora había una sola cocina, y un solo trabajador alternaba rápido entre un poco de esta tarea y un poco de aquella.
Pero ¿y si hubiera dos o tres cocinas? Habría otros tantos trabajadores, cada uno cocinando a la vez en su propia cocina. No se turnan: de verdad hay varios trabajando en el mismo instante.
Estas «cocinas» de la computadora se llaman núcleos. Con varios núcleos, puede atender de verdad varias tareas en el mismo instante.
Cuando un teléfono o un portátil dice 4 núcleos u 8 núcleos, simplemente está contando cuántas cocinas tiene.

Una cocinapor turnos (ilusión)Varias cocinasde verdad a la vez

Una cocina significa turnos; varias cocinas, simultaneidad real en el mismo instante.

Con varios núcleos, varias tareas se atienden de verdad a la vez, en el mismo instante.

02

De verdad a la vez, o solo turnos rápidos

Antes dijimos que si un trabajador alterna rápido, parece que hace las cosas a la vez. Era una ilusión: en cada instante solo hacía una cosa.
Con varias cocinas es distinto. Mires el instante que mires, el trabajo avanza de verdad a la vez en esta cocina y en aquella.
Eso marca una diferencia: la simultaneidad ilusoria solo parece rápida, mientras que la real termina de verdad más trabajo en el mismo tiempo.
Por rápido que alterne una sola cocina, la cantidad total de trabajo hecho no crece, solo se reparte; pero con más cocinas, crece la cantidad total que se puede atender.

mismo momentoIlusión de a-la-vezsolo uno por momentoDe verdad a la vezvarios en un momento

Los turnos rápidos en una cocina son una ilusión; varias cocinas son simultaneidad real.

Alternar en un núcleo solo parece simultáneo, mientras que varios núcleos avanzan de verdad juntos.

03

Añadir cocinas

Hay un montón de trabajo por terminar. Cambia tú mismo el número de cocinas.
Con una sola cocina, las tareas se atienden de una en una. Al añadir cocinas, se atienden varias a la vez, así que la misma cantidad se termina antes.
Con dos cocinas tarda más o menos la mitad, y con cuatro, menos todavía. Ve añadiendo y observa lo rápido que baja el montón.
Por eso los trabajos pesados, como convertir muchas fotos a la vez o hacer un video, terminan mucho antes si se cortan en trozos y se reparten entre varias cocinas.

Trabajos
Cocinas
Tiempo00/12
Cocinas2
Más cocinas terminan el mismo trabajo más rápido. Pero, como verás en la siguiente figura, no se acelera sin límite.

Cambia el número de cocinas para ver lo rápido que se termina el mismo trabajo.

Cuantas más cocinas, antes se termina el mismo trabajo, pero pronto se llega a un límite.

04

El doble no es el doble de rápido

Parece que duplicar las cocinas debería hacerlo todo el doble de rápido. Pero no siempre es así.
Hay trabajos que no se pueden partir: mientras esperas a que suba la masa, ni con diez cocinas va más rápido. Y si los trabajadores quieren usar a la vez el mismo ingrediente, tienen que esperarse unos a otros.
Así que al añadir cocinas todo se acelera mucho al principio, pero a partir de cierto punto ya no se acelera tanto como cocinas añades, porque solo una parte del trabajo se puede dividir.
Al final, por muchas cocinas que añadas, esa parte que no se puede partir pone el techo a la velocidad total.

Velocidadno se parteesperarse1248Núcleosel doble no es el doble

Por el trabajo que no se puede partir y las esperas mutuas, añadir núcleos tiene un límite.

Más núcleos aceleran las cosas, pero como hay trabajo que no se puede partir, la aceleración no es infinita.

05

Resumen en una página

Solo hay que recordar tres cosas.
Primera: con varios núcleos, el trabajo ocurre de verdad a la vez; no es la ilusión de un trabajador alternando rápido, sino varias cocinas trabajando juntas en el mismo instante.
Segunda: por eso el mismo trabajo termina antes, porque se divide y se reparte entre varias cocinas. Tercera: aun así hay un límite: por el trabajo que no se puede partir y las esperas mutuas, duplicar los núcleos no lo hace exactamente el doble de rápido.
Al final, cuánto más rápido va todo depende menos del número de cocinas que de lo finamente que se pueda dividir el trabajo.

Uno
Con varios núcleos, el trabajo de verdad pasa a la vez. No una ilusión, sino juntos en el mismo momento en varias cocinas.
Dos
Así el mismo trabajo termina más rápido. El trabajo se reparte entre varias cocinas.
Tres
Aún hay un límite. El trabajo que no se parte y la espera mutua hacen que duplicar núcleos no sea el doble de rápido.

Varios núcleos son simultaneidad real, por eso más rapidez, pero con un límite.

En una líneaCon varios núcleos, el trabajo se divide y se atiende de verdad a la vez, lo que acelera las cosas, pero el trabajo que no se puede dividir pone el límite.
← Sistemas operativos
¿Te fue útil? Apoyar seegongsik