stringtranslate.com

Intel Core (microarquitectura)

La microarquitectura Intel Core (denominada provisionalmente Next Generation Micro-architecture , [1] y desarrollada como Merom ) [2] es una microarquitectura de procesador multinúcleo lanzada por Intel a mediados de 2006. Es una evolución importante con respecto a Yonah , la iteración anterior de la serie de microarquitectura P6 que comenzó en 1995 con Pentium Pro . También reemplazó a la microarquitectura NetBurst , que sufría de un alto consumo de energía e intensidad de calor debido a una tubería ineficiente diseñada para una alta velocidad de reloj . A principios de 2004, la nueva versión de NetBurst (Prescott) necesitaba una potencia muy alta para alcanzar los relojes que necesitaba para un rendimiento competitivo, lo que la hacía inadecuada para el cambio a CPU de doble/múltiple núcleo . El 7 de mayo de 2004, Intel confirmó la cancelación de los próximos NetBurst, Tejas y Jayhawk . [3] Intel venía desarrollando Merom, la evolución de 64 bits del Pentium M , desde 2001, [2] y decidió expandirlo a todos los segmentos del mercado, sustituyendo a NetBurst en ordenadores de sobremesa y servidores. Heredó de Pentium M la elección de un pipeline corto y eficiente, entregando un rendimiento superior a pesar de no alcanzar los altos relojes de NetBurst. [a]

Los primeros procesadores que utilizaron esta arquitectura recibieron los nombres en código ' Merom ', ' Conroe ' y ' Woodcrest '; Merom es para computación móvil, Conroe es para sistemas de escritorio y Woodcrest es para servidores y estaciones de trabajo. Si bien son arquitectónicamente idénticos, las tres líneas de procesadores difieren en el zócalo utilizado, la velocidad del bus y el consumo de energía. Los primeros procesadores de escritorio y móviles basados ​​en Core se denominaron Core 2 , y luego se expandieron a las marcas de gama baja Pentium Dual-Core , Pentium y Celeron ; mientras que los procesadores basados ​​en Core para servidores y estaciones de trabajo se denominaron Xeon .

Características

La microarquitectura Core volvió a velocidades de reloj más bajas y mejoró el uso tanto de los ciclos de reloj disponibles como de la energía en comparación con la microarquitectura NetBurst anterior de las CPU de marca Pentium 4 y D. [4] La microarquitectura Core proporciona etapas de decodificación, unidades de ejecución, cachés y buses más eficientes , lo que reduce el consumo de energía de las CPU de marca Core 2 al tiempo que aumenta su capacidad de procesamiento. Las CPU de Intel han variado ampliamente en consumo de energía según la velocidad de reloj, la arquitectura y el proceso de semiconductores, que se muestra en las tablas de disipación de energía de la CPU .

Al igual que las últimas CPU NetBurst, los procesadores basados ​​en Core cuentan con múltiples núcleos y soporte de virtualización de hardware (comercializados como Intel VT-x ), Intel 64 y SSSE3 . Sin embargo, los procesadores basados ​​en Core no tienen la tecnología hyper-threading como en los procesadores Pentium 4. Esto se debe a que la microarquitectura Core se basa en la microarquitectura P6 utilizada por Pentium Pro, II, III y M.

La caché L1 de la microarquitectura Core, con 64 KB de caché L1 por núcleo (32 KB de datos L1 + 32 KB de instrucciones L1), es tan grande como en Pentium M, en comparación con los 32 KB de Pentium II/III (16 KB de datos L1 + 16 KB de instrucciones L1). La versión para consumidores también carece de una caché L3 como en el núcleo Gallatin del Pentium 4 Extreme Edition, aunque está presente exclusivamente en las versiones de gama alta de los Xeon basados ​​en Core. Tanto la caché L3 como el hyper-threading se reintrodujeron nuevamente en la línea de consumidores en la microarquitectura Nehalem .

Hoja de ruta

Tecnología

Microarquitectura Intel Core

Si bien la microarquitectura Core es una revisión arquitectónica importante, se basa en parte en la familia de procesadores Pentium M diseñada por Intel Israel. [5] La cadena de producción de Core/ Penryn tiene 14 etapas de longitud [6] , menos de la mitad de la de Prescott . El sucesor de Penryn, Nehalem, tiene una penalización por error de predicción de rama dos ciclos mayor que Core/Penryn. [7] [8] Core puede soportar idealmente una tasa de ejecución de hasta 4 instrucciones por ciclo (IPC), en comparación con la capacidad de 3 IPC de las microarquitecturas P6 , Pentium M y NetBurst . La nueva arquitectura es un diseño de núcleo dual con una caché L2 compartida diseñada para un máximo rendimiento por vatio y una escalabilidad mejorada.

Una nueva tecnología incluida en el diseño es Macro-Ops Fusion , que combina dos instrucciones x86 en una única microoperación . Por ejemplo, una secuencia de código común como una comparación seguida de un salto condicional se convertiría en una única microoperación. Sin embargo, esta tecnología no funciona en modo de 64 bits.

El núcleo puede ejecutar de forma especulativa cargas antes de los almacenamientos anteriores con direcciones desconocidas. [9]

Otras nuevas tecnologías incluyen un rendimiento de 1 ciclo (2 ciclos antes) de todas las instrucciones SSE de 128 bits y un nuevo diseño de ahorro de energía. Todos los componentes funcionarán a velocidad mínima, aumentando la velocidad dinámicamente según sea necesario (similar a la tecnología de ahorro de energía Cool'n'Quiet de AMD y la propia tecnología SpeedStep de Intel de procesadores móviles anteriores). Esto permite que el chip produzca menos calor y minimice el uso de energía.

Para la mayoría de las CPU Woodcrest, el bus frontal (FSB) funciona a 1333 MT/s ; sin embargo, esto se reduce a 1066 MT/s para las variantes de gama baja de 1,60 y 1,86 GHz. [10] [11] La variante móvil Merom estaba destinada inicialmente a funcionar a un FSB de 667 MT/s, mientras que la segunda ola de Meroms, que soportaban FSB de 800 MT/s, se lanzó como parte de la plataforma Santa Rosa con un zócalo diferente en mayo de 2007. El Conroe orientado a escritorio comenzó con modelos que tenían un FSB de 800 MT/s o 1066 MT/s con una línea de 1333 MT/s lanzada oficialmente el 22 de julio de 2007.

El consumo de energía de estos procesadores es muy bajo: el consumo de energía promedio debe estar en el rango de 1 a 2 vatios en las variantes de voltaje ultra bajo, con potencias de diseño térmico (TDP) de 65 vatios para Conroe y la mayoría de los Woodcrest, 80 vatios para el Woodcrest de 3,0 GHz y 40 o 35 vatios para el Woodcrest de bajo voltaje. En comparación, un procesador AMD Opteron 875HE de 2,2 GHz consume 55 vatios, mientras que la línea de eficiencia energética Socket AM2 se ajusta al sobre térmico de 35 vatios (especificado de una manera diferente, por lo que no es directamente comparable). Merom, la variante móvil, está listada con 35 vatios de TDP para versiones estándar y 5 vatios de TDP para versiones de voltaje ultra bajo (ULV). [ cita requerida ]

Anteriormente, Intel había anunciado que ahora se centraría en la eficiencia energética, en lugar del rendimiento bruto. Sin embargo, en el Intel Developer Forum (IDF) de la primavera de 2006, Intel anunció ambas cosas. Algunas de las cifras prometidas fueron:

Núcleos del procesador

Los procesadores de la microarquitectura Core se pueden clasificar por número de núcleos, tamaño de caché y socket; cada combinación de estos tiene un nombre de código único y un código de producto que se utiliza en varias marcas. Por ejemplo, el nombre de código "Allendale" con código de producto 80557 tiene dos núcleos, 2 MB de caché L2 y utiliza el socket 775 de escritorio, pero se ha comercializado como Celeron, Pentium, Core 2 y Xeon, cada uno con diferentes conjuntos de características habilitadas. La mayoría de los procesadores móviles y de escritorio vienen en dos variantes que difieren en el tamaño de la caché L2, pero la cantidad específica de caché L2 en un producto también se puede reducir deshabilitando partes en el momento de la producción. Los procesadores de doble núcleo Tigerton y todos los procesadores de cuatro núcleos excepto - son módulos multichip que combinan dos matrices. Para los procesadores de 65 nm, el mismo código de producto puede ser compartido por procesadores con matrices diferentes, pero la información específica sobre cuál se utiliza se puede derivar de la versión paso a paso.

Conroe/Merom (65 millas náuticas)

Los procesadores Core 2 originales se basan en los mismos chips que se pueden identificar como CPUID Family 6 Model 15. Dependiendo de su configuración y empaquetado, sus nombres en código son Conroe ( LGA 775 , 4 MB de caché L2), Allendale (LGA 775, 2 MB de caché L2), Merom ( Socket M , 4 MB de caché L2) y Kentsfield ( módulo multichip , LGA 775, 2x4MB de caché L2). Los procesadores Merom y Allendale con características limitadas se encuentran en los procesadores Pentium Dual Core y Celeron , mientras que Conroe, Allendale y Kentsfield también se venden como procesadores Xeon .

Los nombres de código adicionales para los procesadores basados ​​en este modelo son Woodcrest (LGA 771, 4 MB de caché L2), Clovertown (MCM, LGA 771, 2×4 MB de caché L2) y Tigerton (MCM, Socket 604 , 2×4 MB de caché L2), todos los cuales se comercializan únicamente bajo la marca Xeon.

Conroe-L/Merom-L

Los procesadores Conroe-L y Merom-L se basan en el mismo núcleo que Conroe y Merom, pero sólo contienen un único núcleo y 1 MB de caché L2, lo que reduce significativamente el coste de producción y el consumo de energía del procesador a expensas del rendimiento en comparación con la versión de doble núcleo. Se utiliza sólo en los procesadores Core 2 Solo U2xxx de voltaje ultrabajo y en los procesadores Celeron y se identifica como CPUID familia 6 modelo 22.

Penryn/Wolfdale (45 millas náuticas)

Vista superior del Core 2 Duo E8400 tipo Wolfdale
Vista en perspectiva del Core 2 Duo E8400 tipo Wolfdale

En el ciclo Tick-Tock de Intel , el "Tick" de 2007/2008 fue la reducción de la microarquitectura Core a 45 nanómetros como modelo CPUID 23. En los procesadores Core 2, se utiliza con los nombres de código Penryn (Socket P), Wolfdale (LGA 775) y Yorkfield (MCM, LGA 775), algunos de los cuales también se venden como procesadores Celeron, Pentium y Xeon. En la marca Xeon, los nombres de código Wolfdale-DP y Harpertown se utilizan para los MCM basados ​​en LGA 771 con dos o cuatro núcleos Wolfdale activos.

Arquitectónicamente, los procesadores Core 2 de 45 nm cuentan con SSE4.1 y un nuevo motor de división/reproducción aleatoria. [12]

Los chips vienen en dos tamaños, con 6 MB y 3 MB de caché L2. La versión más pequeña se denomina comúnmente Penryn-3M y Wolfdale-3M y Yorkfield-6M, respectivamente. La versión de un solo núcleo de Penryn, que aquí se indica como Penryn-L, no es un modelo independiente como Merom-L, sino una versión del modelo Penryn-3M con un solo núcleo activo.

Dunnington

El procesador Xeon "Dunnington" (CPUID Family 6, modelo 29) está estrechamente relacionado con Wolfdale, pero viene con seis núcleos y un caché L3 en chip y está diseñado para servidores con Socket 604, por lo que se comercializa solo como Xeon, no como Core 2.

Pasos

La microarquitectura Core utiliza varios niveles de pasos (steppings), que a diferencia de las microarquitecturas anteriores, representan mejoras incrementales y diferentes conjuntos de características como el tamaño de la memoria caché y los modos de bajo consumo. La mayoría de estos pasos se utilizan en todas las marcas, generalmente deshabilitando algunas funciones y limitando las frecuencias de reloj en los chips de gama baja.

Los pasos con un tamaño de caché reducido utilizan un esquema de nombres independiente, lo que significa que las versiones ya no están en orden alfabético. Se han utilizado pasos adicionales en muestras internas y de ingeniería, pero no se incluyen en las tablas.

Muchos de los procesadores Core 2 y Xeon de gama alta utilizan módulos multichip de dos chips para obtener tamaños de caché mayores o más de dos núcleos.

Pasos utilizando el proceso de 65 nm

Los primeros pasos de ES/QS son: B0 (CPUID 6F4h), B1 (6F5h) y E0 (6F9h).

Los procesadores Stepping B2/B3, E1 y G0 del modelo 15 (cpuid 06fx) son pasos evolutivos de la matriz Merom/Conroe estándar con caché L2 de 4 MB, y el Stepping E1 de corta duración solo se utiliza en procesadores móviles. Stepping L2 y M0 son los chips Allendale con solo 2 MB de caché L2, lo que reduce el costo de producción y el consumo de energía para procesadores de gama baja.

Los pasos G0 y M0 mejoran el consumo de energía en estado inactivo en el estado C1E y agregan el estado C2E en los procesadores de escritorio. En los procesadores móviles, todos los cuales admiten estados inactivos C1 a C4, los pasos E1, G0 y M0 agregan compatibilidad con la plataforma Mobile Intel 965 Express ( Santa Rosa ) con Socket P , mientras que los pasos B2 y L2 anteriores solo aparecen para la plataforma Mobile Intel 945 Express ( actualización Napa ) basada en Socket M.

El modelo 22 stepping A1 (cpuid 10661h) marca un cambio de diseño significativo, con un solo núcleo y 1 MB de caché L2, lo que reduce aún más el consumo de energía y el costo de fabricación para el extremo inferior. Al igual que los steppings anteriores, A1 no se utiliza con la plataforma Mobile Intel 965 Express.

Los pasos G0, M0 y A1 reemplazaron en su mayoría a todos los pasos anteriores en 2008. En 2009, se introdujo un nuevo paso G2 para reemplazar al paso B2 original. [16]

Pasos utilizando el proceso de 45 nm

En el modelo 23 (cpuid 01067xh), Intel comenzó a comercializar stepping con caché L2 completa (6 MB) y reducida (3 MB) al mismo tiempo, y les dio valores de cpuid idénticos. Todos los steppings tienen las nuevas instrucciones SSE4.1 . Stepping C1/M1 fue una versión de corrección de errores de C0/M0 específicamente para procesadores de cuatro núcleos y solo se usó en ellos. Stepping E0/R0 agrega dos nuevas instrucciones (XSAVE/XRSTOR) y reemplaza todos los steppings anteriores.

En los procesadores móviles, el paso C0/M0 solo se utiliza en la plataforma Intel Mobile 965 Express ( actualización de Santa Rosa ), mientras que el paso E0/R0 es compatible con la plataforma posterior Intel Mobile 4 Express ( Montevina ).

El modelo 30 stepping A1 (cpuid 106d1h) agrega un caché L3 y seis núcleos en lugar de los dos habituales, lo que genera un tamaño de chip inusualmente grande de 503 mm2 . [ 17] A febrero de 2008, solo había encontrado su lugar en la serie Xeon 7400 de gama alta ( Dunnington ).

Requisitos del sistema

Compatibilidad de la placa base

Conroe, Conroe XE y Allendale utilizan Socket LGA 775 ; sin embargo, no todas las placas base son compatibles con estos procesadores.

Los chipsets compatibles son:

El modelo Yorkfield XE QX9770 (45 nm con FSB de 1600 MT/s) tiene una compatibilidad limitada con el chipset: solo son compatibles las placas base X38, P35 (con overclocking ) y algunas placas base X48 y P45 de alto rendimiento. Se han ido lanzando actualizaciones de BIOS gradualmente para proporcionar soporte para la tecnología Penryn, y el QX9775 solo es compatible con la placa base Intel D5400XS. El modelo Wolfdale-3M E7200 también tiene una compatibilidad limitada (al menos el chipset Xpress 200 es incompatible [ cita requerida ] ).

Aunque una placa base puede tener el conjunto de chips necesario para soportar Conroe, algunas placas base basadas en los conjuntos de chips mencionados anteriormente no lo soportan. Esto se debe a que todos los procesadores basados ​​en Conroe requieren un nuevo conjunto de características de suministro de energía especificado en Voltage Regulator-Down (VRD) 11.0. Este requisito es el resultado del consumo de energía significativamente menor de Conroe, en comparación con las CPU Pentium 4/D a las que reemplazó. Una placa base que tenga un conjunto de chips compatible y VRD 11 es compatible con los procesadores Conroe, pero incluso así algunas placas necesitarán una BIOS actualizada para reconocer el FID (identificador de frecuencia) y el VID (identificador de voltaje) de Conroe.

Módulos de memoria sincrónica

A diferencia de los diseños Pentium 4 y Pentium D anteriores , la tecnología Core 2 obtiene mayores beneficios de que la memoria funcione de manera sincronizada con el bus frontal (FSB). Esto significa que para las CPU Conroe con FSB de 1066 MT/s, el rendimiento de memoria ideal para DDR2 es PC2-8500 . En algunas configuraciones, el uso de PC2-5300 en lugar de PC2-4200 puede realmente disminuir el rendimiento. Solo cuando se pasa a PC2-6400 hay un aumento significativo del rendimiento. Si bien los modelos de memoria DDR2 con especificaciones de sincronización más estrictas mejoran el rendimiento, la diferencia en los juegos y aplicaciones del mundo real suele ser insignificante. [18]

En condiciones óptimas, el ancho de banda de memoria proporcionado debe coincidir con el ancho de banda del FSB, es decir, una CPU con una velocidad de bus nominal de 533 MT/s debe emparejarse con una RAM que coincida con la misma velocidad nominal, por ejemplo DDR2 533 o PC2-4200. Un mito común [ cita requerida ] es que la instalación de RAM intercalada ofrecerá el doble de ancho de banda. Sin embargo, como máximo, el aumento del ancho de banda al instalar RAM intercalada es de aproximadamente un 5-10%. El AGTL+ PSB utilizado por todos los procesadores NetBurst y los procesadores Core 2 actuales y de mediano plazo (pre- QuickPath ) proporcionan una ruta de datos de 64 bits. Los chipsets actuales proporcionan un par de canales DDR2 o DDR3.

En trabajos que requieren grandes cantidades de acceso a la memoria, los procesadores Core 2 de cuatro núcleos pueden beneficiarse significativamente [19] del uso de memoria PC2-8500 , que funciona a la misma velocidad que el FSB de la CPU; esta no es una configuración oficialmente compatible, pero varias placas base la admiten.

El procesador Core 2 no requiere el uso de memoria DDR2. Si bien los chipsets Intel 975X y P965 requieren esta memoria, algunas placas base y chipsets admiten tanto procesadores Core 2 como memoria DDR . Al utilizar memoria DDR, el rendimiento puede verse reducido debido al menor ancho de banda de memoria disponible.

Erratas del chip

La unidad de gestión de memoria (MMU) Core 2 en los procesadores X6800, E6000 y E4000 no funciona según las especificaciones implementadas en generaciones anteriores de hardware x86 . Esto puede causar problemas, muchos de ellos graves problemas de seguridad y estabilidad, con el software del sistema operativo existente . La documentación de Intel afirma que sus manuales de programación se actualizarán "en los próximos meses" con información sobre los métodos recomendados para gestionar el buffer de traducción (TLB) para Core 2 a fin de evitar problemas, y admite que, "en casos excepcionales, la invalidación incorrecta del TLB puede dar lugar a un comportamiento impredecible del sistema, como bloqueos o datos incorrectos". [20]

Entre las cuestiones planteadas:

Se dice que las erratas de Intel Ax39, Ax43, Ax65, Ax79, Ax90 y Ax99 son particularmente graves. [21] 39, 43 y 79, que pueden provocar un comportamiento impredecible o el bloqueo del sistema, se han corregido en pasos recientes .

Entre quienes han declarado que las erratas son particularmente serias están Theo de Raadt de OpenBSD [22] y Matthew Dillon de DragonFly BSD [23] . Linus Torvalds adoptó una opinión opuesta , calificando el problema de TLB de "totalmente insignificante" y añadiendo: "El mayor problema es que Intel debería haber documentado mejor el comportamiento de TLB". [24]

Microsoft ha publicado la actualización KB936357 para solucionar el problema mediante una actualización del microcódigo [25] sin afectar el rendimiento. También hay actualizaciones del BIOS disponibles para solucionar el problema.

Véase también

Referencias

  1. ^ NetBurst había alcanzado los 3,8 GHz en 2004. Core alcanzó inicialmente los 3 GHz, y después de pasar a los 45 nm en Penryn alcanzaría los 3,5 GHz. Westmere , la evolución definitiva de P6, alcanzó una frecuencia base de 3,6 GHz y una frecuencia de refuerzo de 3,86 GHz. (Excluyendo los Xeon de pedido especial de 4,4 GHz).
  2. ^ 77 mm² según Intel, [14] 80 mm² según Hiroshige Goto [15]
  1. ^ Bessonov, Oleg (9 de septiembre de 2005). "Vino nuevo en odres viejos. Conroe: ¿nieto de Pentium III, sobrino de NetBurst?". ixbtlabs.com .Tenga en cuenta que todas las menciones a la "Microarquitectura de próxima generación" en las diapositivas de Intel tienen asteriscos que advierten que "nombre de la microarquitectura por determinar ".
  2. ^ ab Hinton, Glenn (17 de febrero de 2010). "Opciones clave de Nehalem" (PDF) .
  3. ^ "Intel cancela Tejas y pasa a diseños de doble núcleo". EE Times . 7 de mayo de 2004.
  4. ^ "Llega Penryn: análisis del Core 2 Extreme QX9650". ExtremeTech. Archivado desde el original el 31 de octubre de 2007. Consultado el 30 de octubre de 2006 .
  5. ^ King, Ian (9 de abril de 2007). "Cómo Israel salvó a Intel". The Seattle Times . Consultado el 15 de abril de 2012 .
  6. ^ "Cómo impulsar el rendimiento y la innovación energéticamente eficientes con la microarquitectura Intel Core" (PDF) . Intel. 7 de marzo de 2006.
  7. ^ De Gelas, Johan. "Las consecuencias del accidente de Bulldozer: profundizando aún más". AnandTech .
  8. ^ Thomadakis, Michael Euaggelos. "La arquitectura del procesador Nehalem y las plataformas SMP Nehalem-EP".
  9. ^ De Gelas, Johan. "Arquitectura Intel Core versus K8 de AMD". AnandTech .
  10. ^ "Procesador Intel Xeon 5110". Intel . Consultado el 15 de abril de 2012 .
  11. ^ "Procesador Intel Xeon 5120". Intel . Consultado el 15 de abril de 2012 .
  12. ^ "Intel Core 2 Extreme QX9650 - Penryn sigue avanzando".
  13. ^ "Procesadores móviles Intel Core 2 Duo T7400 y L7400 y procesador Intel Celeron M 530 (Merom - Napa Refresh), PCN 108529-03, diseño de producto, conversión de pasos de B-2 a G-2, motivo de la revisión: cambiar los pasos de G-0 a G-2 y corregir el número de serie posterior a la conversión" (PDF) . Intel. 30 de marzo de 2009.
  14. ^ Procesador Intel® Celeron® 440 ark.intel.com
  15. ^ Tamaño de matriz y microarquitectura de la CPU Intel
  16. ^ "Aviso de cambio de producto" (PDF) . Archivado desde el original (PDF) el 22 de diciembre de 2010. Consultado el 17 de junio de 2012 .
  17. ^ "Entrada de ARK para el procesador Intel Xeon X7460". Intel . Consultado el 14 de julio de 2009 .
  18. ^ piotke (1 de agosto de 2006). "Intel Core 2: ¿Vale la pena pagar por la memoria de alta velocidad?". Madshrimps . Consultado el 1 de agosto de 2006 .
  19. ^ Jacob (19 de mayo de 2007). «Benchmarks de cuatro procesos Prime95 en un procesador de cuatro núcleos». Mersenne Forum . Consultado el 22 de mayo de 2007 .
  20. ^ "Procesador Intel Xeon de doble núcleo serie 7200 y procesador Intel Xeon de cuatro núcleos serie 7300" (PDF) . p. 46 . Consultado el 23 de enero de 2010 .
  21. ^ "Actualización de la especificación de la tecnología del procesador Intel Core 2 Duo para el procesador Intel Centrino Duo" (PDF) . págs. 18–21.
  22. ^ "'Intel Core 2' - MARC". marc.info .
  23. ^ "Matthew Dillon sobre los errores de Intel Core". Revista OpenBSD. 30 de junio de 2007. Consultado el 15 de abril de 2012 .
  24. ^ Torvalds, Linus (27 de junio de 2007). "Core 2 Errata - problemático o exagerado?". Real World Technologies . Consultado el 15 de abril de 2012 .
  25. ^ "Hay disponible una actualización de confiabilidad del microcódigo que mejora la confiabilidad de los sistemas que utilizan procesadores Intel". Microsoft. 8 de octubre de 2011. Consultado el 15 de abril de 2012 .

Enlaces externos