Mostrando entradas con la etiqueta Procesador. Mostrar todas las entradas
Mostrando entradas con la etiqueta Procesador. Mostrar todas las entradas

jueves, 2 de febrero de 2017

BIOS y ahorro de energía memoria en DDR3 o DDR4 – LowLevelHardware

Si somos usuarios de un sistema con una placa base de gama media o gama alta tendremos a nuestra disposición cientos de ajustes en BIOS para optimizar nuestra máquina.

20151130_085658Ajustes manuales DDR3.

Estos ajustes finos ciertamente pueden marcar la diferencia y hacer que nuestro sistema sea muy superior en todos los aspectos a uno configurado con los mismos componentes por defecto:

  • Rendimiento y velocidad de proceso muy superior (más del 50%).
  • Temperaturas mucho más controladas en cada componente.
  • Menor nivel de ruido de refrigeración.
  • Consumo total de la máquina muy reducido (en ocasiones en cientos de watt).

Sería fácilmente cuestión de cientos de artículos y cientos de miles de palabras detallar estos ajustes y todas sus posibles combinaciones en función del hardware específico, requiere un minucioso estudio de los whitepapers de cada procesador, chipset, placa base e implementación específica de cada BIOS.

En este artículo me referiré a una máquina con un procesador Core i7 3770K hand picked (seleccionado entre decenas de samples) configurada a 4.4 GHz a un voltaje muy reducido de solo 0.020 V superior al nominal mediante offset y con estabilidad absoluta con estos ajustes.

DRAM Power Management and Initialization

Aquí dejo enlaces a los Datasheet PDF relativos a:

La tercera generación Intel Core, Ivy Bridge 22 nm. (parte 1, parte 2).

La cuarta generación Intel Core, Haswell 22 nm. (parte 1, parte 2).

La quinta generación Intel Core, Broadwell 14 nm. (parte 1, parte 2).

La sexta generación Intel Core, Skylake 14 nm. (parte 1, parte 2).

En la sección 4.3.2 del manual en PDF 3rd-gen-core-desktop-vol-1-datasheet.pdf se detallan los ajustes que nos interesan relativos a la gestión de energía de las controladoras de memoria del procesador y de los módulos DDR3.

DRAM_Power_Management_and_Initialization_01DRAM Power Management and Initialization

En síntesis, los ajustes posibles serían:

Deshabilitar totalmente la gestión de energía para obtener las máximas prestaciones (opción 1 de la captura inferior).

Buscar un compromiso óptimo entre prestaciones y consumo (APD – PPD, opción 5).

Ir al máximo ahorro energético, menor consumo y disipación térmica (opción 4).

DRAM_Power_Management_and_Initialization_02DIMM Power Down modes.

En todas las máquinas que diseño me decanto por el ajuste central, el punto 5, APD – PPD, el óptimo compromiso.

DDR3_APD-PPDEl modo APD – PPD ofrece el compromiso perfecto.

En el caso que nos ocupa se consiguen ahorrar 6W de consumo en reposo (idle) y en uso normal (internet, compresión de datos, …) se mantiene en valores similares.

Es importante configurar el siguiente ajuste:

DDR3_Fast_ExitDDR DIMM Fast Exit Mode proporciona ahorro de energía con baja latencia de salida.

Con el ajuste de ahorro de energía deshabilitado no se consigue más velocidad de proceso ni mejores tiempos de cálculo en coma flotante o compresión de datos… pese a lo que sea lógico pensar.

Por ejemplo en WinRAR 5.21 x64, las velocidades y consumos son los siguientes:

Ajuste APD – PPD. Consumo de 94 a 109W y velocidad máxima 10459 KB/s.

Ajuste disabled. Consumo de 98 a 112 W y velocidad máxima 10467 KB/s.

Como podéis ver, no hay cambios significativos en la velocidad de compresión de datos y en cambio se ahorran 3 – 4 W en este test intensivo de memoria.

WinRARWinRAR en modo APD – PPD.

Como antes he señalado, en modo de reposo en el escritorio de Windows, se consiguen 6 W de bajada de consumo en el enchufe para un total de 48W (con 16 GB DDR3 2133 y el ajuste @ 4.4 GHz, SSD Samsung Evo 850 250 GB, disco duro 4 TB WD Caviar Black, tarjeta gráfica AMD 260X GCN 2 GB, tarjeta de sonido SB X-Fi y unidad óptica) desde los 54W con el ahorro de energía de la memoria DDR deshabilitado.

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.

AMD Excavator 28 nm – LowLevelHardware

Ya a finales de 2015, AMD nos trae la cuarta y última iteración de su arquitectura Bulldozer inicialmente lanzada en el nodo 32 nm HKMG de Global Foundries.

Carrizo coresDos módulos AMD Excavator (cada uno con 2 INT cores) con 2 cachés L2 de 1MB.

Tras eliminar numerosos bugs, activar unidades deshabilitadas en Bulldozer (generación 1) como la IDIV y reducir paulatinamente el consumo con Piledriver 32 nm (generación 2) y Steamroller 28 nm (generación 3) además de ir lentamente aumentando el IPC, llega Excavator 28 nm con mejoras incrementales en muchos aspectos y también alguna pequeña revolución.

Excavator. los cambios más importantes respecto a las generaciones anteriores:

  • Reducción de la caché L2 de 2 MB a 1 MB por módulo con una importante reducción de área y mejorando la latencia. 2 MB L2 era demasiado para este tipo de cores fabricados en 28 nm, un mal compromiso área / prestaciones.

CarrizoL1d_32KB_8víasAMD Excavator L1d: 32 KB 8 vías.

  • Por fin se dobla el tamaño de la caché L1d de 16 KB a 32 KB por INT core y su asociatividad aumenta hasta las 8 vías. Por fin AMD ha visto la luz en cuanto al diseño de la caché L1… 32 KB con 8 vías es un excelente diseño. Era una mejora muy necesaria.

Kaveri 2 Clusters 2xL2Dos módulos AMD Steamroller (cada uno con 2 INT cores) con 2 cachés L2 de 2 MB.

Desgraciadamente, AMD no puede fabricar actualmente en nodos de 20 / 22 nm ni en los nuevos nodos de 14 nm (como su rival Intel) con el fin de reducir el área de sus productos y con ello su coste de fabricación.

Solución de los ingenieros de AMD: seguir en los 28 nm pero reduciendo el área (superficie) de sus chips implementando librerías de alta densidad procedentes del mundo del diseño de GPUs:

LibreríaAltaDensidad640Con el uso de librerías de alta densidad AMD logra reducir el área de Excavator.

Gracias a estas mejoras se cifra en un 30% la reducción de superficie.

A todas estas nuevas técnicas se añaden las mejoras importantes que Steamroller 28 nm ya introdujo respecto a sus antecesores de 32 nm, Piledriver y Bulldozer:

  • La L1i compartida para los 2 INT cores aumentó a los 96 KB y una asociatividad de 3 vías (representó un gran avance sobre los 64 KB / 2 vías, aunque 3 vías sigue siendo poco, muy poco para dos threads).
  • El decoding doble por módulo, uno para cada INT core, un cambio que esta microarquitectura (Bulldozer) pedía a gritos…

Excavator y el segmento de 15 watt:

Hay que tener claro que AMD busca reducir el consumo y disipación térmica de sus SOCs por todos los medios posibles y por ello ha optimizado críticamente Excavator y su primera implementación comercial, las APU Carrizo con 4 INT cores y 8 clústeres GCN 2 (Radeon R7).

Por ello ha optimizado el conjunto de 4 INT cores + 8 clústeres GCN 2 + controladoras DDR3 y resto de circuitería para un TDP de 15 watt, que se extenderá fácilmente a los 35 watt.

Carrizo15_640AMD Excavator: excepcional rendimiento en 15 watt. Con 35 watt menor ventaja.

Esto significa que cuanto mayor frecuencia le pidamos a Excavator, menor ventaja mostrará respecto a sus antecesores. No esperéis diseños de Carrizo de 100 watt a frecuencias de 4 GHz o más.

Las frecuencias iniciales rondarán a 35 watt los 2.1 GHz con Turbo hasta 3.4 GHz con los cores gráficos a 800 MHz y soporte de DDR3 2133 en el modelo tope de gama, el FX-8800P.

Frecuencias640

No está nada mal para 35 watt, un excelente resultado.

Conclusiones

AMD prepara el desembargo de Zen 14 nm, seguro que no sin numerosos problemas. Recordemos que va a utilizar el nodo de 14 nm de Samsung (ya fabrica los SOCs de los Galaxy S6 con esta tecnología) y no estará exento de dificultades el diseñar un chip tan complejo como Zen en un nodo y proceso de fabricación tan sumamente diferente de los actuales.

El puente hacia Zen son los chips con cores Excavator y AMD ha demostrado que ve claras las necesidades del mercado con su enfoque en el segmento de los 15 watt.

Excavator parece que dará mucha guerra en el segmento de los UltraBooks, será un chip muy equilibrado en TDPs de 15 a 35 watt, en este sentido, incluso creo que puede ser un gran rival respecto a los Core i5 de la serie U.

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.

AMD Steamroller. Introducción. – LowLevelHardware

El 14 de Enero AMD sacó al mercado su tercera iteración de la micro arquitectura Bulldozer en la forma de la APU Kaveri fabricada por Global Foundries es el nodo Bulk SHP (Super High Performance) de 28 nm. En este caso se trata de una implementación de dos módulos con dos INT cores y una FPU compartida junto con una excelente GPU GCN 1.1 de 512 SPs.

excavator

La micro arquitectura AMD Bulldozer

Primero fue Bulldozer 32 nm HKMG, después Piledriver 32 nm HKMG y ahora Steamroller 28 nm Bulk SHP. Posteriormente, 2015, está previsto Excavator, la evolución final y que pondrá término a esta micro arquitectura. Después preveo que AMD, por fin, se centrará en diseñar cores de alto IPC y menor consumo para competir con mayor igualdad con los cores contemporáneos de Intel.

Como muchas veces ha sucedido con los diseños de AMD, en su primera versión.

En este caso Bulldozer 32 nm HKMG (AMD FX 8150) las prestaciones, consumo y disipación térmica no fueron las esperadas.

Piledriver 32 nm HKMG (AMD FX 8350) alivió ligeramente los problemas de consumo y mejoró las prestaciones.

Con Steamroller AMD plantea un cambio mucho más profundo:

  • Una evolución de la micro arquitectura mayor que en el caso de Bulldozer a Piledriver, con claras mejoras en algunos campos y otros cambios no tan claros en otros aspectos.
  • Un nuevo nodo de fabricación: del ya antiguo nodo premium HKMG 32 nm de Global Foundries utilizado en Bulldozer y Piledriver se pasa al nodo de 28 nm Bulk SHP, más orientado a menor consumo y mayor densidad (más transistores por mm2), es decir menor coste por chip y menor TDP, es decir, mayor performance per watt.

module-block

En la segunda parte de esta serie de artículos detallaré las mejoras implementadas en Steamroller por AMD y lo que significan de cara a sus encarnaciones presentes:

La APU Kaveri y los futuros chips FX Steamroller de alto rendimiento del que parece que están preparando una versión con 8 módulos y 16 INT cores con controladoras PCIex 3.0 integradas en el die del chip (lo que permitiría deshacerse del  North Bridge del chipset) que probablemente funcionará a frecuencias conservadoras en carga full threaded aunque con agresivos modos Turbo.

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.

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

En un artículo de ProfessionalSAT he hecho una introducción al nuevo procesador Atom Silvermont de 22 nm de Intel. Recomiendo la lectura de ese texto para estar familiarizado con algunos de los conceptos que son utilizados en el presente.

El mayor cambio en Silvermont respecto a los anteriores cores de la familia Atom es el cambio al procesamiento Out of Order (OoO) desde el primitivo concepto de ejecución In Order.

Ahora voy a describir, paso a paso, el pipeline de ejecución de Silvermont y las mejoras que aporta respecto a los antiguos cores (Bonnell 45 nm, Saltwell 32 nm).

Mejoras en las etapas de Fetch

Las etapas de fetching o carga de instrucciones son las primeras del pipeline de ejecución de cualquier procesador.

En Silvermont se ha llevado a cabo un rediseño profundo encaminado a alimentar adecuadamente de instrucciones a la nueva maquinaria de procesamiento out of Order.

Silvertmont_FetchFetch en Atom Silvermont 22 nm.

La predicción de saltos o Branch Prediction ha sido totalmente reconstruida de un modo distinto a los antiguos Atom. Se ha dividido en dos componentes independientes que actúan cada uno por separado y están situados en diferentes etapas del pipeline de procesamiento.

El primer componente es el Predictor de Fetching (Fetch Predictor). Es un Branch Target Buffer, un predictor de baja latencia y con una precisión elevada pero no extrema.

La unidad de Fetching carga cada ciclo 16 bytes de instrucciones desde la caché L1i con ayuda del L1 iTLB en los 6 Prefecth Buffers. Estos buffers aíslan las etapas de fetch de las posteriores etapas de decodificación X86 y así puede adelantarse a estas en el stream de instrucciones.

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.

AMD Bulldozer. Frecuencias finales. Actualizado – LowLevelHardware

Actualización 07 Septiembre 2011: Últimas noticias referentes al lanzamiento de Bulldozer y algunos datos técnicos extra al final del artículo.

InterlagosMCMUno de los primeros MCM Interlagos compuesto de 2 dies Bulldozer de 8 INT cores.

En la web de Gigabyte hemos encontrado las especificaciones finales de los procesadores basado en núcleos Bulldozer que próximamente saldrán a la venta.

Bulldozer_FXAMD Bulldozer. Por fin datos reales sobre los steppings comerciales.

Concretamente, la página en cuestión es la siguiente, correspondiente al soporte de CPUs de la placa base de socket AM3+ GA 990 FXA UD7.

En ella obtenemos alguna información extra sobre las nuevas CPUs de 32 nm de la serie FX.

Entre otros datos encontramos un TDP máximo de 125 W y la denominación B2 para el primer stepping comercial.

Bus Hyper Transport de 5.2 GHz

Todos los modelos ajustan su reloj HT3 a  GT/s. Sinceramente no veo razón para ello dado el excesivo ancho de banda ya disponible a las frecuencias de Thuban (Phenom II X6), GHz.

Obviamente la razón de esta alta frecuencia de 5.2 GT/s es comercial, marketing puro.

Este bus, en los procesadores de sobremesa, se utiliza para comunicar con el chipset y con los componentes periféricos. No es necesario un ancho de banda tan alto.

La especificación HT3 hace mención de frecuencias máximas hasta los 6.4 GHz (igual que el QPI de Intel), AMD ha sido prudente y ha dejado un margen para mejoras futuras.

Frecuencias base de AMD Bulldozer

La versión de 8 cores y 4 módulos (serie FX-8000) llegará hasta los 3.6 GHz nominales, desde ahí desplegará los modos Turbo.

Como comenté en el artículo anterior, AMD ha dotado a Bulldozer de un Turbo de dos fases:

640_5

Fase 1, All Core Boost: Todos los módulos (conjuntos de dos cores con su SIMD FPU Unit y los 2 MB de L2) aumentan su frecuencia por encima de la nominal si el TDP y la temperatura lo permite.

Se da en cargas de trabajo que implique a TODOS los cores, sea con carga parcial elevada o máxima 100%.

Fase 2, Max Turbo Boost: Si dos de los módulos (cuatro INT cores, dos SIMD FPUs y dos L2 de 2 MB) se hallan en estado Sleep C6 (power gated) el resto (los otros dos módulos) pueden incrementar su frecuencia hasta en 1 GHz sobre la nominal.

Esta implementación conlleva algunas consideraciones prestacionales extrañas y fastidiosas que detallaré cuando tenga hardware funcional comercial en las manos.

Se rumorean modos Turbo de hasta 1 GHz extra, es decir, hasta 4.6 GHz en carga 100% de 2 módulos, con los otros dos módulos en estado gated CC6.

En este caso tendríamos la siguiente capacidad de proceso:

  • 4 INT cores a 4.6 GHz en carga de enteros (compresión de datos por ejemplo).
  • 2 FPUs AVX de 256 bit en cargas de coma flotante AVX a 4.6 GHz.
  • 2 FPUs dobles de 128 bit en cargas de coma flotante SSE o AVX de 128 bit a 4.6 GHz.

Más información en breve.

Actualización 07 Septiembre 2011:

En primer lugar: Frecuencia máxima en modo Turbo Core: el modelo tope de gama FX-8150 (se enpecual con un FX-8170 para Q1 2012) será de 4.2 GHz con carga parcial de cores, probablemente con un máximo de 4 cores al 100%. Lo que no está nada mal manteniendo un TDP de 125W.

En segundo lugar: Nuevo evento de AMD en San Francisco para el día 13 de Septiembre:

Hanging out in San Francisco the week of September 12th? Not finding anything interesting?
AMD to the rescue. We'll be making an historic announcement, and want you to be a part of it.

AMD invites you to join us for an entertaining evening on the beautiful Yerba Buena Terrace at the St. Regis San Francisco. Spend the evening exploring the latest AMD technology, mingling with AMD executives and technology partners, all while enjoying cocktails and hors d'oeuvres. Be sure to arrive before 7:00pm to hear our big news first hand.

  When: Tuesday, September 13, 2011 RSVP
  Where: St. Regis Hotel, Yerba Buena Terrace, San Francisco
  Time: 6pm - 9 pm PDT
  RVSP: by September 9, 2011 at fusionzone.eventbrite.com (password: AMD)
Contact Information:
Heather J Lennon
Sr. Manager Public Relations, AMD
Heather.Lennon@amd.com
 

13 de Septiembre ¿Será el día de lanzamiento de Bulldozer?

Por último: Hoy AMD ha confirmado el comienzo de la venta de CPUs Interlagos de 16 cores para servidores a los integradores de sistemas. El primer chip con micro arquitectura Bulldozer.

"This is a monumental moment for the industry as this first 'Bulldozer' core represents the beginning of unprecedented performance scaling for x86 CPUs," said Rick Bergman, senior vice president and general manager, AMD Products Group. "The flexible new 'Bulldozer' architecture will give Web and datacenter customers the scalability they need to handle emerging cloud and virtualization workloads."

Para más información acerca de Bulldozer:

En múltiples artículos he analizado en detalle el diseño interno de BD 32 nm. Cito los más destacables:

AMD Bulldozer- HotChips23 – LowLevelHardware

AMD Bulldozer. Perspectivas – LowLevelHardware

La L3 cache multibanco en AMD Bulldozer. Actualizado – LowLevelHardware

AMD AGLUs, Bulldozer INT cores. Actualizado – LowLevelHardware

AMD Bulldozer. Primeros benchmarks. Actualizado – LowLevelHardware

AMD Bulldozer – ProfessionalSAT

La micro arquitectura de AMD Bulldozer. Actualizado – LowLevelHardware

Novedades y expectativas 2010. Actualizado – LowLevelHardware

AMD Bulldozer. Prestaciones estimadas – LowLevelHardware

Micro arquitectura AMD Bulldozer 2011. Actualizado – LowLevelHardware

Previo AMD Bulldozer. Actualizado – LowLevelHardware

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

AMD Bulldozer. Perspectivas – LowLevelHardware

Mucho se está hablando en los círculos informáticos acerca de la nueva micro arquitectura Bulldozer de AMD. Un diseño pensado para cargas de trabajo multithread y con pipelines de ejecución con mayor número de etapas para un alto potencial en frecuencia.

Orochi32nm_640AMD Orochi 32 nm 8 MB L2 y 8 MB L3.

En este artículo expondré algunas de mis opiniones sobre la micro arquitectura que va a marcar el futuro inmediato AMD de aquí a 2014.

AMD Bulldozer y el proceso de 32 nm HKMG SOI

En múltiples artículos he analizado en detalle el diseño interno de BD 32 nm. Cito los más destacables:

La L3 cache multibanco en AMD Bulldozer. Actualizado – LowLevelHardware

AMD AGLUs, Bulldozer INT cores. Actualizado – LowLevelHardware

AMD Bulldozer. Primeros benchmarks. Actualizado – LowLevelHardware

AMD Bulldozer – ProfessionalSAT

La micro arquitectura de AMD Bulldozer. Actualizado – LowLevelHardware

Novedades y expectativas 2010. Actualizado – LowLevelHardware

AMD Bulldozer. Prestaciones estimadas – LowLevelHardware

Micro arquitectura AMD Bulldozer 2011. Actualizado – LowLevelHardware

Previo AMD Bulldozer. Actualizado – LowLevelHardware

Bulldozer está fabricado por Global Foundries en el nodo de proceso de 32 nm HKMG (High K Metal Gate) SOI (Silicon On Insulator) lo que le dará unas buenas perspectivas de mejora de frecuencia y reducción de consumo con el paso del tiempo.

AMD a lo largo de su historia se ha caracterizado por ofrecer una continua mejora de su proceso de fabricación de semiconductores a los largo de la vida de cada nodo (para AMD unos 2 o 3 años).

Podemos decir que AMD saca al mercado los primeros chips en un nodo concreto (45 nm, 32 nm,…) cuando tiene unos yields (rendimientos de fabricación) mínimos (debido a la brutal presión competitiva de Intel) pero suficientes aún a costa de unas frecuencias de funcionamiento iniciales reducidas.

Con el paso de los meses AMD va mejorando paso a paso el proceso y se va reduciendo la disipación térmica, el voltaje y aumenta la frecuencia máxima de sus diseños.

GloFo32nm_640No es descabellado pensar en un 50% de mejora vs 45 nm para los 32 nm en AMD.

AMD Orochi Bulldozer. 4 módulos, 8 INT cores, 4 dual 128 FMACs y 2 MB L2

AMD Orochi va a rondar los casi 300 mm2 y está constituido por:

4 módulos completos.

4 bancos L3 de 2 MB y 16 vías (para un total de 8 MB L3 con 64 vías)

4 buses HT 3.0

2 controladoras DDR3 1866 MHz.

Un North Bridge.

El módulo en AMD Bulldozer

Frontend

Un módulo está integrado por:

2 INT cores con 2 ALUs y 2 AGUs, cada uno con su L1d de 16KB y 4 vías.

El Instruction Fetching desde la L1i compartida de 64KB y 2 vías.

La lógica de decoding de 4 vías con la Microcode ROM.

El circuitería de Branch Prediction.

La FPU doble de 128 bit FMAC (Fused Multiply Accumulate).

La unidad de control de caché que comprende las dos WCC (Write Combining Caches de 4 KB, una por INT core) que da acceso a la masiva cache L2 de 2 MB y 16 vías.

¿Qué podemos esperar de AMD Bulldozer?

Bulldozer al igual que Llano (la APU de 32 nm) se fabrican en el nuevo proceso y por ello sufrirán inicialmente de unas frecuencia máximas no muy elevadas.

Llano se ha estrenado a frecuencias máximas de 2.9 GHz, ahora está previsto que llegue al mercado una versión desbloqueada a 3.1 GHz con overclocks “sencillos” a 3.6 GHz.

Los cores de un Phenom II (al menos en los últimos steppings de 45 nm) llegan con relativa facilidad a los 4 GHz. A Llano esta frecuencia le queda lejos y eso que está fabricado en el siguiente nodo que debería proporcionar una mejora teórica de un 20% en frecuencia.

AMD 32 nm vs 45 nmDisipación térmica: AMD 45 nm vs 32 nm.

Recordemos que cuando AMD empezó a fabricar CPUs de 65 nm también padeció problemas claros de escalado de frecuencia, en concreto los primeros AMD K8 Brisbane funcionaban a 2.6 GHz cuando los “antiguos” K8 90 nm funcionaban sin problema a 3 GHz.

O pensemos en AMD Phenom Barcelona, fabricado en 65 nm en 2007 y que salió al mercado a unos meros 2.3 GHz cuando los K8 de la época (todavía de 90 nm) funcionaban a 3.2 GHz (Athlon 64 X2 6400+).

Conclusiones

Con esta coyuntura en mente podemos pensar lo siguiente según los diversos rumores y leaks que circulan:

Bulldozer, inicialmente en su configuración completa (Orochi) para socket AM3+ es deseable que ronde los 3.5 GHz nominales con carga 100% en los 8 cores y que gracias al Turbo logre frecuencias con carga de cores parcial (mitad de cores al 100%) rondando los 4 GHz.

AMD postula precios de unos 300 dólares para el top bin de Orochi, eso le sitúa en la banda de precios del Intel Core i7 2600K Sandy bridge: En mi opinión sería un éxito rotundo de AMD el posicionarse competitivamente en este nivel de precios.

A mí personalmente me cuesta creerlo pero sería una excelente noticia para la sana competencia en el sector.

En cualquier caso estamos a la vuelta de la esquina del lanzamiento previsto para Bulldozer, será en Septiembre si no hay cambio de planes. Para AMD sería una excelente noticia, y de paso dispararía su cotización bursátil, bastante deprimida tras los momentos gloriosos de los K7 y K8.

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

Intel Series 6 chipsets stepping B3 – LowLevelHardware

Intel ha anunciado que a partir del 14 de Febrero estarán disponibles los primeros samples del renovado stepping B3 de los chipsets de la serie 6 afectados por el bug en las controladores SATA2.

Intel_P67_H67_B3_01Intel Product Change Notification 110456 – 00.

Verdaderamente es llamativo como en un periodo de tiempo tan reducido han logrado producir chips funcionales con el error de diseño corregido.

Para un análisis profundo del tema os recomiendo otros de mis artículos:

Intel Sandy Bridge- Análisis de situación – ProfessionalSAT

Cougar Point Intel 6 Series Chipset SATA2 bug. Actualizado – ProfessionalSAT

Intel_P67_H67_B3_02El nuevo B3 es pin compatible con los anteriores diseños.

En principio los fabricantes de placas base empezarán a recibir los primeros chips el día 14, es decir, mañana mismo. Desde ese momento comenzará la fabricación de las nuevas placas.

Incluso se especula en que en algunos diseños sería posible desoldar el chip B2 defectuoso sustituyéndolo por el nuevo B3 sin cambiar la placa ni otros cambios.

Intel_P67_H67_B3_03Lista de chipsets afectados.

Conclusiones:

Quizás haya suerte y en breve tengamos placas funcionales y libres de errores para poder montar los primeros sistemas Sandy Bridge de sobremesa con garantías.

En cualquier caso, en mi opinión, Intel debe hacer algo más para recuperar la confianza, en muchos casos perdida y en otros debilitada, del consumidor final. La gente de Intel lo sabe y espero que obren en consecuencia con medidas claras.

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

Microarquitectura en imágenes (I) Execution Trace cache. Actualizado – LowLevelHardware

La Execution Trace Cache es uno de los signos identificativos de la antigua arquitectura Intel Netburst. Almacena instrucciones ya descodificadas en orden de programa (traces). Su tamaño era de 12k micro ops o unos 21 KB (según Intel).
 
Efectivamente daba una tasa de aciertos realmente baja cercana a un 80% en código real y en caso de muchos branches llegaba a un solamente 55%, por ello se erigió en un talón de Aquiles de la microarquitectura Netburst.
 

Trace cache de Willamette 180 nm (L2 256KB).

En sus cuatro encarnaciones (cinco si Tejas hubiese llegado al mercado), la Trace Cache (en adelante TC) de los Intel Pentium 4, mantuvo su organización. En Willamette (arriba, primera generación, 180nm, 256 KB L2) y Northwood (abajo, segunda generación, 130 nm, 512 KB L2) podemos ver que son prácticamente idénticas.

La TC sustituía a la típica cache de instrucciones L1 (L1i) de otros diseños. En lugar de almacenar instrucciones x86, almacena micro-operaciones nativas del core Pentium 4 ya decodificadas. Su tamaño efectivo era de 10k a 18k instrucciones (según su naturaleza) con unas tasas de acierto, según Intel, comparable a una L1i de 8 a 16 KB.

  Trace caché de Northwood 130 nm (L2 512KB).

Al almacenar secuencias de micro-operaciones, llamadas traces, libera así de trabajo a los decoders x86 cuando se ejecuta varias veces el mismo código (se encuentra almacenado listo para su uso). Esta estructura era capaz de enviar hasta 3 instrucciones/ciclo hacia el núcleo de ejecución OoO (Out of order).

La mayor limitación era la bajísima velocidad sostenida (througput) de decodificación de instrucciones cuando se daba un trace cache miss o fallo de la TC.

El x86 decoder del Pentium 4 en todas sus versiones sólo era capaz de traducir una instrucción IA32 en microinstrucciones por ciclo (!!).

Este era un grave factor limitante de la arquitectura Netburst. En ciertas condiciones un Pentium 4 se comportaba como un procesador single-issue.


Trace caché de Prescott 90 nm (L2 2048KB).

La TC contiene traces: secuencias de uops (micro operaciones) construidas en orden de programa, estas instrucciones están ordenadas en grupos de 6 por línea de TC. Además, la TC contiene un pequeño predictor de saltos (trace BTB, Branch Target Buffer) solamente para las instrucciones presentes en ella.

Para los tipos de instrucciones IA32 más complejos no se utilizaba el x86 decoder ni la trace cache, sino la Microcode ROM. Una memoria especializada que guarda secuencias de uops de las instrucciones x86 más complejas.

CedarMill65nm_TCTrace caché en Cedar Mill 65 nm (L2 2048 KB)

En un P4, las instrucciones x86 que acabarán siendo decodificada en más de 4 uops se envían a la Microcode ROM, siendo su proceso de decodificación mucho más lento. Prescott aportaba en este sentido mejoras, ya que eran menos las instrucciones que requerían su paso por la Microcode ROM.

Conclusiones:

La trace cache aporta mejoras pero también trae consigo grandes problemas:

  • Una mayor complejidad respecto a una L1i convencional.
  • Su gran (enorme) penalización en latencia en el caso de fallo (trace cache miss).
  • Su baja tasa de aciertos efectiva, normalmente sobre un 80% y a veces cercana al 55%.
  • Su limitado tamaño, unas 12k instrucciones, equivalente a unos meros 8 - 16 KB.

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

Microarquitectura Intel Sandy Bridge. Parte 1. Actualizado - LowLevelHardware

Estos días Intel está celebrando en San francisco el IDF 2010 (Intel Developer Forum), entre multitud de temas relacionados con el futuro de la industria de semiconductores ha hablado de Sandy Bridge.

SandyB_Nehalem_WestmereSandy Bridge tiene menor superficie de die que Nehalem pese a contar con una GPU con 12 SPs.

En estos artículos me voy a centrar en los cambios microarquitecturales de Sandy Bridge sobre la anterior generación de cores de Intel, Nehalem 45 nm y Westmere 32 nm.

En esta primera parte abordaré varios aspectos:

  • Intel Tock 2010. La aplastante cadencia del gigante de los semiconductores.
  • Sandy Bridge Ring Bus. La nueva organización de la comunicación inter die.
  • El System Agent de Sandy Bridge. El Uncore o North Bridge.
  • El Front End de Sandy Bridge. Las primeras etapas del pipeline.
  • El mecanismo de Branch Prediction, tan críticamente importante en algoritmos de enteros.

Intel Tock 2010

Sandy Bridge es un cambio profundo respecto a la ya excelente y exitosa microarquitectura que Intel puso en juego en 2008 con Nehalem, los cores que mueven los chips Core i7.

SB_TOCK_630 Sandy Bridge es el Tock de 32 nm tras Nehalem y Westmere.

Poco había que mejorar en la arquitectura de los cores Nehalem, ya que Intel lidera en prestaciones en todos los campos… pero los grupos de ingeniería en Intel no podían quedarse dormidos en los laureles (como desafortunadamente hizo AMD tras su excelente core K8).

PIN_630 La próxima generación: Intel Sandy Bridge.

Por ello han procedido a un exhaustivo y profundo rediseño:

Desde el Front End, hasta las unidades de ejecución, el Branch Prediction e incluso las unidades Load – Store. También se ha modificado la arquitectura de la cache L3 dividiéndola en bancos de 2 MB por core y la interconexión interna de las diferentes partes del procesador.

SandyBridge_Die_2_630 (2) Die de Sandy Bridge quad core 32 nm.

El Ring Bus que ahora hace de ruta de comunicación entre todas y cada una de las partes del procesador:

  • cores
  • Bancos de L3 de 2 MB
  • System Agent -Uncore o North Bridge-
  • GPU integrada
  • Video decoder – encoder

Es, a mi modo de ver, uno de los cambios más significativos respecto a diseños anteriores (Westmere y Nehalem).

SB Intel no ha dejado nada al azar con Sandy Bridge.

Sandy Bridge Ring Bus

Intel ha dotado a Sandy Bridge de un novedoso y extremadamente rápido sistema heredado de su hermano mayor Nehalem EX, un anchísimo y eficiente Ring Bus de comunicaciones para coordinar todas las transacciones de datos inter die.

SB_RING Implementación del Ring Bus en Sandy Bridge.

El ancho de banda del bus de datos es de 32 bytes, es decir, 256 bits y su topología es en anillo, es decir, escala con el número de cores y bancos de L3. A mayor número de cores o bancos de L3 mayor ancho de banda agregado.

Lo más llamativo del bus en anillo de Sandy Bridge (y Nehalem EX) es su implementación respetuosa con el consumo y el área de die, me explico:

Todos recordamos el famoso procesador Radeon HD 2900 de ATI con un ring bus de 512 bits, que debido a su desmesurada disipación térmica y consumo no pudo competir con sus análogos de nVidia hasta que ATI lo eliminó sustituyéndolo por una arquitectura convencional en su serie Radeon HD 3800.

En Sandy Bridge Intel ha utilizado power gating y clock gating extensivamente, además de aplicar un voltaje bajísimo al ring bus para conseguir una disipación térmica muy baja.

Por otro lado, es un dato muy importante, según los ingenieros de Intel, no ha representado un incremento de área ya que la infinidad de conductores necesarios para el Ring Bus se enrutan por otras capas del diseño bajo la caché L3.

SB_Die_630 Sandy Bridge quad core para socket LGA 1155.

Lo que se consigue con este ring bus es aumentar de manera lineal el ancho de banda agregado (total) con el número de Ring Stops (cores, bancos de L3, …) consiguiendo una escalabilidad perfecta.

Como he comentado en artículos anteriores, además se consigue una muy notable bajada de latencia de la caché L3, del orden del 30% (!!) que ya de por sí en Nehalem y Westmere era realmente rápida.

Ahora nos encontramos en los veintitantos ciclos de latencia respecto a los 38 - 42 ciclos de Nehalem y algo más en Westmere.

El System Agent de Sandy Bridge

El anteriormente denominado Uncore, Nocore o North Bridge ahora no incluye ya la caché L3, por lo que la L3 es síncrona a los cores, con lo que aumenta su frecuencia aumentando su ancho de banda y disminuye su latencia.

SB_SASandy Bridge System Agent.

El System Agent se encarga de controlar todas las transacciones entre los cores, la GPU integrada, los coders y decoders de video integrados con:

  • La memoria principal a través de las dos controladoras DDR3.
  • Las GPUs externas a través de los puertos PCI Ex.
  • Los dispositivos externos a través del DMI vía chipset.

Para mejorar la disipación térmica y reducir el consumo en sistemas portátiles integra la controladora de video y la PCU (Power Control Unit) encargada de gestionar los voltajes y las frecuencias de los cores así como los Turbo Modes y los modos de ahorro de energía y el Power Gating a nivel de cores.

El Front End de Sandy Bridge

El Front End es la parte del microprocesador encargada de suministrar la secuencia de instrucciones X86 desde la caché L1i (cache L1 de instrucciones) y de descodificarlas a un formato más manejable (micro operaciones, uops).

Intel, en este apartado ha roto con el pasado y ha desarrollado un Front End revolucionario.

Estas instrucciones ya descodificadas se encuentran en un formato interno y propietario, son llamadas uops (micro operaciones) y son características de cada microarquitectura.

SB_uopcache uop cache en Sandy Bridge, una especie de L0i.

Sandy Bridge mejora el Loop Stream Buffer de Westmere 32 nm que contenía hasta 28 uops con una estructura dedicada llamada Decoded uop Cache que es capaz de almacenar unas 1500 uops (sobre unos 6 KB de capacidad) y que actúa a modo de caché L0 de instrucciones suministrando a las etapas de ejecución fuera de orden instrucciones con menor latencia que la L1i de 32 KB y además manteniendo más fácilmente la cadencia de 4 uops / ciclo.

Además el Fetching desde esta nueva L0i se hace en paquetes de 32 bytes / ciclo, aumentando el llenado efectivo de las unidades de ejecución que le siguen en el pipeline.

Intel cita la tasa de aciertos de esta L0i en un 80% en código de aplicaciones típicas. En el caso de acierto (que como vemos es un 80% de las veces) se desconectan las etapas de Fetch y Decoding con el consiguiente ahorro energético y de temperatura (muy notable ya que el consumo de estas etapas es muy alto en CPUs de arquitectura X86).

Entre los mecanismos que forman parte integral del Front End nos encontramos con la lógica y SRAMs de Branch Prediction encargado de cargar en el orden correcto la secuencia de instrucciones después de una bifurcación en el código (Branch) decidiendo si la condición se cumple o no mediante lógica y algoritmos de especulación y distintas tablas de datos de historia precedentes.

El mecanismo de Branch Prediction

Sandy Bridge ha mejorado notablemente el manejo de Branches en el código, aumentando la tasa de acierto. Los ingenieros de Intel han optimizado el diseño pero permaneciendo en el misma footprint (la misma superficie).

SB_Branch Optimización del Branch Prediction en Sandy Bridge.

Utilizando técnicas de compresión sin pérdidas en Sandy Bridge se almacenan más datos de historia en la misma capacidad que en Westmere por lo que efectivamente se han ampliado al doble el número de entradas en las tablas de Targets, elevando con ello la tasa de aciertos de los algoritmos respecto a Westmere.

Estoy deseando probar Sandy Bridge en algoritmos ajedrecísticos.

Nos vemos en la segunda entrega.

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