jueves, 2 de febrero de 2017

Intel Atom Silvermont 22 nm. Introducción – ProfessionalSAT

Largo tiempo ha pasado desde que Intel presentó la primera generación Atom. Ha sido demasiados años para sustituir su arcaica arquitectura Bonnell cuyo diseño databa de 2004 (!!). Bonnell fue lanzado en 2008 en el nodo de 45 nm y evolucionado tímidamente a 32 nm en Saltwell.

En LowLevelHardware estoy escribiendo una serie de artículos detallando la micro arquitectura de este diseño de Intel para los que quieran un análisis más profundo:

Intel Silvermont 22nm. Micro arquitectura. Etapas de Fetching – LowLevelHardware

Atom Tick TockBonnell 45 nm, Saltwell 32nm y el nuevo Silvermont 22 nm.

Por fin este año con Silvermont 22 nm Intel juega la carta out of order (OoO) en el segmento ultra móvil y prepara a Atom para la feroz competencia con ARM.

En LowLevelHardware estoy escribiendo una serie de artículos detallando la micro arquitectura de este diseño de Intel:

Intel Silvermont 22nm. Micro arquitectura. Etapas de Fetching – LowLevelHardware

El arcaico y venerable core Bonnell

Han sido cinco largos años de espera. Debido a la falta de progresos en la micro arquitectura Atom los Netbooks han pasado prácticamente al olvido por su terrible rendimiento y por una plataforma / chipset / GPU que no ayudaba en absoluto al rendimiento y consumo de los anémicos cores Bonnell.

09-intel-atom-470-1108El minimalista core Bonnell de 45 nm de 2008, el primer Atom.

A mi modo de ver es increíble, ms parece mentira hablar de sistemas PC a la venta en pleno 2013 basados en chips con cores con ejecución In Order.

Todas las máquinas actuales basadas en CPUs Atom sean de 45 o 32 nm ejecutan el stream de instrucciones de un programa en estricto orden. Es decir, hasta que la instrucción 1 no ha sido ejecutada no pasa a la instrucción 2 y así sucesivamente.

No hay que pensar mucho para llegar a la conclusión de que no es el modo más rápido de proceder. En el mundo real, las instrucciones no siempre tienen disponibles los datos sobre los que deben operar en tiempo cero sino que deben cargarlos de algún sitio (caché, memoria RAM, disco duro…) que suele estar a varios ciclos de distancia temporal (cachés L1 o L2) o cientos de ciclos en caso de la RAM y muchísimo más de se trata de un acceso a disco duro.

Los procesadores Intel Atom de 45 y 32 nm palían este grave defecto con el Hyper Threading, ejecutan dos threads a la vez, cuando un thread no puede ejecutar una instrucción pasa al otro thread (a ver si hay suerte y tiene los datos disponibles…) En Atom Hyper Threading aporta sobre un 30% de prestaciones adicionales en modo multithread.

Desafortunadamente Hyper Threading no puede hacer nada con el rendimiento single thread, de hecho lo empeora levemente (menos de un 10%).

Intel Atom 22 nm 2013, bienvenido a la Ejecución Fuera de Orden (OoOE)

La forma ideal de operar en cambio, es la Ejecución Fuera de Orden (OoOE Out of Order Execution). Todas las CPUs de alto rendimiento de propósito general actuales funcionan de este modo, incluso ARM desde los Cortex A9 emplea una forma limitada de OoOE y ya en el Cortex A15 de manera completa.

Silvermont DieIntel Silvermont 22 nm die. (A bajísima resolución)

El procesador tiene un buffer (ROB Re Order Buffer) en el que almacena las últimas instrucciones del programa en ejecución (por ejemplo 128) y las analiza para averiguar cual de ellas es la más antigua que está lista para ser ejecutada inmediatamente y a que unidad de ejecución enviarla.

Por si solo, el OoOE supone sobre un 50% de incremento de velocidad de ejecución si se implementa adecuadamente.

Adiós FSB, adiós

Otra mejora fundamental de esta nueva generación Atom en la desaparición del venerable y arcaico Bus FSB. Por fin los cores se comunican con el exterior mediante un bus del siglo XXI. En este caso es un bus punto a punto, IDI, el mismo de Nehalem 45 nm y Westmere 32 nm.

Image1El bus IDI conecta cada módulo dualcore Silvermont con 1 MB L2 al System Agent.

La controladora de memoria DDR3 va integrada en el die del procesador, que a día de hoy es más bien un SoC (System on Chip) y se beneficia de la conexión del bus IDI a los cores X86 y la GPU integrada para aportar baja latencia en los accesos a RAM (que era terrible en los Atom con FSB).

A modo aclaratorio diré que si bien el primer core Atom (Bonnel 45 nm) tenía un chipset (Intel 945GM) al que se comunicaba por FSB y desde ahí accedía ala RAM, en la segunda generación (Saltwell 32 nm) apenas mejoró nada en este sentido ya que aunque la controladora DDR3 se situó en el mismo die, seguía conectada por el arcaico FSB.

En la segunda parte empezaré un análisis de la micro arquitectura del core Silvermont y cómo afecta al rendimiento IPC y a sus frecuencias estimadas así como a su integración en  chips comerciales de 2 a 8 cores.

En LowLevelHardware estoy escribiendo una serie de artículos detallando la micro arquitectura de este diseño de Intel para los que quieran un análisis más profundo:

Intel Silvermont 22nm. Micro arquitectura. Etapas de Fetching – LowLevelHardware

Si consideras útil el contenido de este Blog, ayuda a mantenerlo ojeando algunas de las ofertas que consideres interesantes de nuestros anunciantes. Gracias de antemano.

El que tenga dudas o aportaciones tiene para ello la sección de comentarios, intentaré responder a todos y con la máxima claridad. Los Blogs deben de ser lugares de intercambio y agradezco vuestro feedback.

Carlos Yus Valero – informaticapremium      informaticapremium-logo-150px[3]