¿Por qué el CPU es temporizado? (CPU CLOCK) ¿No pueden funcionar a su máximo rendimiento?

Como poder se puede, pero no es algo práctico. 


Supongamos que hay 4 personas asignadas a una tarea crítica en una oficina que no se puede descuidar, y está por llegar el horario del almuerzo. Los cuatro compañeros y compañeras deciden que, para asegurarse que haya, al menos una persona monitoreando la tarea, tomarán breaks sincronizados. 

La primera persona sale a almorzar a las 12:00, cuarenta minutos mas tarde, como máximo, esa persona está de vuelta, y entonces sale la próxima. Así sucesivamente. 

Es posible que alguno de esos cuatro compañeros demore menos en almorzar y volver, pero, se sabe que, como tarde, en 40 minutos están de vuelta.

Volviendo a los CPUs, analogía mediante,  han habido ideas y prototipos de "clockless" CPUs. Diseños asincrónicos que no requieren temporizar los segmentos, pero esto requiere que cada proceso le avise a otro que ya está listo para que la cadena pueda continuar de manera armoniosa. Seria un desafío orquestar toda la cadena en un sistema así. Requeriría muchísimas más conexiones en el chipset y aumentaría el tamaño físico de los mismos significativamente. El diseño actual (sincrónico, o clocked) provee una automatización en cadena mucho más estandarizada. Tiene predefinida una latencia máxima para cada proceso de la cadena, por más rápido o lento que se ejecute y garantiza que nunca quedarían procesos en cuello de botella, per se.

Además, en los CPUs modernos de alto rendimiento, pensemos en un Intel Dual Xeón, por ejemplo, en la mayoría de los casos el CPU está en modo inactivo (idle) y cuando le tiramos cosas, las suele despachar casi instantáneamente. Quienes utilicen Linux/Unix pueden realizar una tarea y monitorear el estado del CPU en otra terminal con top o htop para evaluar el estado del temporizador del CPU.

Presumo que tanto Intel como AMD han considerado un procesador asincrónico, pero considerando las necesidades del mundo actual en terminos de procesamiento de datos y agilidad, los CPUs sincrónicos continúan siendo mucho más eficientes y confiables. 

 


0 comentarios:

Copyright (C) 2019 - Chica de Sistemas. Con la tecnología de Blogger.

Páginas