Contactos

Actualización del código del procesador Intel me. Corrección de errores en la CPU. Cómo obtener esta actualización

No es ningún secreto que el procesador es un autómata microprogramado. Y cualquiera de sus instrucciones es un conjunto de microinstrucciones que se instalan en la ROM del procesador durante su fabricación. Los errores de microcódigo y los errores de diseño (erratas) pueden hacer que el procesador se desvíe de las especificaciones y ocasione un rendimiento errático. Cuando se lanza un procesador, generalmente se publica su especificación y una lista de erratas detectadas.

Todos los procesadores Intel P6, incluidas las familias Pentium Pro, Pentium II y III, Celeron, Pentium II y III Xeon y Pentium II Overdrive, tienen la característica notable de "microcódigo reprogramable". Estos procesadores tienen la capacidad de cambiar el microcódigo, es decir Es posible corregir errores en la implementación de software y circuitos de procesadores específicos de la familia P6 y algunos errores incorporados casi a nivel de hardware. Los errores pueden aparecer en la etapa de diseño de los procesadores y se corrigen con precisión cambiando el microcódigo. Cada una de las subfamilias (PII, Celeron, PPro, Xeon) tiene una especificación. Cada vez que se lanza un nuevo paso de procesador (dentro de él, todos los dispositivos son idénticos dentro de las desviaciones tecnológicas), Intel publica una actualización de la especificación para él, que indica la errata detectada y corregida (desviación de la especificación).

Estos errores pueden, en principio, complicar la vida del software que se ejecuta en estos procesadores "defectuosos" (y el usuario ;-)).

Por supuesto, todo depende de los errores específicos. Para deshacerse de tales horrores, se requiere un cambio en el microcódigo del procesador, como resultado de lo cual el error puede eliminarse por completo o las consecuencias de su presencia simplemente pueden mitigarse.

Por cierto, el soporte de BIOS para los procesadores recién lanzados está determinado, en particular, por la presencia del firmware correspondiente. Por ejemplo, cuando apareció el primer Celeron, fue la ausencia de la versión de microcódigo correspondiente lo que impidió que el sistema se iniciara correctamente con este procesador.

Las actualizaciones de microcódigo en sí mismas son bloques de datos de 2 kilobytes que se actualizan en el BIOS del sistema. Existe un bloque de este tipo para cada paso de un procesador de la familia P6. Intel proporciona el microcódigo más reciente a los principales fabricantes de BIOS. La base de datos con actualizaciones se repone y cambia cuando aparecen nuevos modelos y versiones de microcódigo. Intel recomienda realizar una actualización de firmware utilizando su utilidad al instalar un nuevo procesador en la placa base o una memoria flash para asegurarse de que el BIOS contenga la versión de microcódigo más reciente. Este programa detecta el procesador utilizado (mediante CPUID) y busca la actualización correspondiente en su base de datos. Si se encuentra una versión nueva del microcódigo, la utilidad actualiza localmente el código en el BIOS sin afectar otras áreas. Ese. No es necesario reprogramar todo el flash para admitir la nueva CPU, como sucedía antes. Intel publica periódicamente actualizaciones de la base de datos en su sitio web.

La última base de datos disponible para nosotros tiene la revisión 5.01 y contiene las siguientes versiones de microcódigo:

ProcesadorPaso del procesadorActualización de microcódigo Rev
Procesador Pentium III0x6720x04
Procesador Pentium III0x6730x02
Procesador Pentium III Xeon0x6720x21
Procesador Pentium III Xeon0x6730x22
Procesador Pentium II0x6330x34
Procesador Pentium II0x6340x35
Procesador Pentium II0x6500x32
Procesador Pentium II0x6510x30
Procesador Pentium II0x6520x14
Procesador Pentium II0x6530x01
Procesador Pentium II Xeon0x6520x29
Procesador Pentium II Xeon0x6530x04
Procesador Intel Celeron0x6500x32
Procesador Intel Celeron0x6510x30
Procesador Intel Celeron0x6600x09
Procesador Intel Celeron0x6650x02
Procesador Pentium II OverDrivex16320x02
Procesador Pentium Pro0x6120xC6
Procesador Pentium Pro0x6160xC6
Procesador Pentium Pro0x6170xC6
Procesador Pentium Pro0x6190xD2

Puede descargar la última versión de la utilidad de corrección de microcódigo directamente desde aquí: pupdt501.exe (115 Kb)

La base de datos antigua (PEP15.PDB) se puede descargar desde aquí: pupdt461.exe (111 Kb)

Una vez que la utilidad haya terminado de funcionar, debe apagar la computadora. La actualización se descarga al procesador durante la POST en cada inicio del sistema. Naturalmente, para que la utilidad funcione, es necesario habilitar la sobrescritura de la memoria flash con un puente o en la configuración del BIOS. El programa debe ejecutarse desde el DOS "básico".

Sin embargo, esta opción ideal requiere que el BIOS admita una API de actualización de microcódigo de procesador especial que permite que la utilidad de actualización cargue un nuevo microcódigo usando el BIOS. Si el BIOS del sistema utilizado no es compatible con la API, el usuario no tiene más remedio que obtener el nuevo versión del fabricante de la placa base. Sin embargo, resulta que encontrarlo no es tan fácil, si no imposible. Desea instalar una nueva CPU en su sistema.

En este caso, la utilidad puede descargar las correcciones de errores técnicos directamente al procesador. En este caso, la utilidad comienza a cargar el sistema operativo inmediatamente después de actualizar el microcódigo. Sin embargo, la actualización del microcódigo se perderá durante un reinicio suave o duro del sistema.

Surge la pregunta, ¿cuál es el riesgo de autoactualizar el firmware? Bueno, en primer lugar, primero debes asegurarte de que realmente lo necesitas. Si la versión del firmware es antigua, pero el fabricante de la placa base no ofrece nuevas versiones de BIOS, pero, lo más importante, te enfrentas al funcionamiento inestable de alguna aplicación y esperas que cambiar el microcódigo del procesador te ayude. Solo que en este caso tiene sentido cambiar el firmware usted mismo. Y en cuanto a lo que está lleno, en mi opinión, nada peligroso. En primer lugar, no olvide que la carga de una actualización de microcódigo en el procesador se ha utilizado en todas las BIOS de las placas base P6 durante mucho tiempo (muchos han visto la misteriosa actualización de microcódigo: opción Activar / Desactivar en la configuración). ¡Y nada! Todo esta funcionando

Esto una vez más enfatiza la necesidad de su uso. ¡Quién sabe cómo hubieran sido las cosas sin esta actualización! La única diferencia es que antes el microcódigo se actualizó con la instalación de una nueva versión del flash, pero ahora puede reprogramar no todo el contenido de la BIOS, sino solo una parte limitada.

Mi experiencia personal con este programa hasta ahora se limitó a 7 casos, de los cuales logré actualizar el microcódigo en una sola placa base (Abit LX6 con PII 233). En otros casos, el BIOS ya contenía versiones de microcódigo actualizadas. Tampoco se encontró con un BIOS que no admite la actualización de microcódigo.

En cuanto a la posibilidad similar de actualizar el microcódigo en procesadores de otros fabricantes (AMD, Cyrix), no pude encontrar ninguna información sobre este tema. Pero estoy bastante seguro de que estas CPU tienen una capacidad de cambio de microcódigo similar.

Represento al donante BioStar A740G M2L + (AMD 740G / SB710) y al destinatario BioStar A740G M2 + (AMD 740G / SB700). La placa base con la letra "L" es más reciente y admite oficialmente procesadores AM3, a diferencia de la otra, que está limitada solo por la compatibilidad con procesadores AM2 +. Solicitan un análisis comparativo de sus BIOS.
Desde la oficina. sitio, solo descargamos la última actualización de BIOS para cada una de estas placas base:
- para A740G M2 + última beta A74GM916.BSS para septiembre de 2009
- para A740G M2L + - archivo 74GCU511.BSS- para mayo de 2010

A continuación, nos armamos con la utilidad MMTOOL (Usé las versiones 3.22, 3.23 y 3.26; no encontré ninguna diferencia en el trabajo)... Para trabajar con MMTOOL, las extensiones de archivo de firmware del BIOS deben cambiarse de nombre a * .rom.

Ahora lanzamos dos MMTOOL y cargamos los archivos de firmware de dos tapetes en ellos. tableros. Preste atención a los diferentes tamaños en la columna "Tamaño de fuente" (y por supuesto también en el "Tamaño en Rom") del módulo 11 "P6 Micro Code" en cada uno de los firmwares.

Vaya a la sección CPU PATCH para obtener una comparación detallada:

El archivo de donantes 74GCU511.rom - cpu_list contiene 14 líneas con soporte CPURev.ID + 1 vacía (Fig. 1).

La versión beta del destinatario A74GM916.rom - cpu_list contiene 13 líneas con soporte CPURev.ID + 1 vacía (Fig. 2).

Después de analizar las listas de estos dos BIOS, resulta obvio que para la placa base más nueva, los desarrolladores usaron parches más recientes para procesadores AMD, donde el microcódigo de dos líneas con CPURev.IDs 1043 y 1062 (fecha 2009/07/31) y se corrige una línea con CPURev. Se agregó la ID 10A0 (fecha 2010/02/17).

Método n. ° 1: modificar cadenas distintivas.
Estas tres líneas distintivas se extraen del donante 74GCU511.rom - las acciones "Extraer datos de un parche" + "Aplicar" + 1 última línea vacía y se guardan en archivos separados.

Anteriormente, en la sección CPU PATCH del archivo de destinatario A74GM916.rom, dos líneas con los números CPURev.ID 1043 y 1062 (cuyo microcódigo es más antiguo de lo que insertaremos más adelante) y la última línea vacía son las acciones “Eliminar un Patch Data” + “Aplicar” (fig. 3).

Después de eso, se inserta uno por uno un microcódigo más nuevo de cuatro archivos de parche recibidos previamente para CPURev.ID 1043, 1062, 10A0 y una línea vacía (Fig. 4).

Preste atención a los tamaños ("Tamaño fuente" y "Tamaño en Rom") del módulo 11 "Microcódigo P6" antes y después de aplicar estos cambios en el archivo del destinatario.
Después de la aplicación, estas dimensiones en el receptor (Fig. 6) serán idénticas a las dimensiones del mismo módulo en el archivo de donante 74GCU511.rom (Fig. 5).
Vale la pena señalar que es fácil entender cómo se forma el tamaño del módulo (cada línea en la sección CPU PATCH ocupa 2048 bytes).

Es mejor guardar los cambios con un nuevo nombre de archivo.
A continuación, se comprueba este archivo para que MMTOOL se abra de nuevo sin errores.

Método n. ° 2: modificación reemplazando todo el módulo.
En realidad, es él quien se describe en Internet (por ejemplo, parcialmente).

En MMTOOL cargamos el archivo donante 74GCU511.rom, vamos a la pestaña “Extraer” y buscamos la línea “P6 Micro Code”. Luego lo seleccionamos, en el campo “archivo de módulo” le damos el nombre ncpucode.bin y ejecutamos Extraer módulo “en forma descomprimida”.

Ahora cargamos el archivo del destinatario A74GM916.rom en MMTOOL, vamos a la pestaña "Reemplazar" y buscamos la línea "P6 Micro Code" nuevamente. Selecciónelo, espere a Examinar y seleccione nuestro módulo de donantes ncpucode.bin. Haga clic en Reemplazar y luego acepte reemplazar este módulo.

Nuevamente prestamos atención a los tamaños ("Tamaño fuente" y "Tamaño en Rom") del módulo 11 "P6 Micro Code" antes y después de reemplazar este módulo en el archivo del destinatario.
Después de la aplicación, estas dimensiones en el receptor (Fig. 7) serán idénticas a las dimensiones del mismo módulo en el archivo de donante 74GCU511.rom (Fig. 5).

Si comparamos los resultados de ambos métodos (Fig. 6 y Fig. 7), entonces hay una diferencia notable de 10 bytes en la dirección RomLoc del módulo "Definido por el usuario o reservado" después del módulo "P6 Micro Code" actualizado - quizás estas sean las peculiaridades del funcionamiento de MMTOOL ...

Conclusión y epílogo.
Por lo tanto, de diferentes firmwares de BIOS de varios mat. placas en el zócalo AM2 + (e incluso AM3 para comparar), puede encontrar los últimos microcódigos para cada tipo de CPURev.ID, tanto en BIOS Award como AMI, y luego combinarlos en un solo ncpucode.bin.
Como resultado, obtuve un tamaño de 32768 bytes de 16 líneas (microcódigos) con las fechas más recientes de entre los firmwares estudiados de varios BIOS: con 15 tipos diferentes de revisiones de procesador para el socket AM2 + (040A, 0413, 0414, 041B, 0433, 0680, 0C1B, 1000, 1020, 1022, 1040, 1041, 1043, 1062, 10A0) y la línea 16 para RevID 0000 (aparentemente algún microcódigo universal para revisiones de procesadores no descritos en otras líneas, en mi humilde opinión, por ejemplo , futuros).

Al combinar su propio ncpucode.bin importando los parches necesarios (microcódigos) para cada revisión requerida de procesadores, absolutamente cualquier firmware BIOS AMI con el módulo "P6 Micro Code" puede usarse como uno de laboratorio.

Sin embargo, al guardar el archivo de firmware, se notó una característica desagradable de MMTOOL: la utilidad, por alguna razón, agregó 8 bytes cero al final del módulo "P6 Micro Code", resultó ser de 32776 bytes de tamaño. Al extraer el mismo MMTOOL del firmware del laboratorio, el archivo ncpucode.bin también se convirtió en 32776 bytes de tamaño en la salida.
Puede editar estas cosas con editores simples disponibles para todos. Pero también descubrí (accidentalmente) una forma alternativa: cuando la utilidad universal BIOS_EXT.EXE extrajo todos los módulos del firmware del laboratorio, el archivo ncpucode.bin ya tenía el tamaño correcto de 32768 bytes; la utilidad BIOS_EXT.EXE determinó correctamente el final del módulo "P6 Micro Code" al guardarlo en el archivo.

Comprado en Aliexpress para la placa base Intel DG965SS (con zócalo LGA775). Puede, por supuesto, rehacer LGA771 en LGA775 usted mismo, pero a un precio de $ 6.5 por procesador, es mucho más fácil de llevar y el chino.

Al usar Intel Xeon 5320, el sistema operativo Windows 10 funcionó solo cuando el modo "Core multiplexación" estaba desactivado en el BIOS (en contraste con Ubuntu 17.10, que funciona perfectamente). Al mismo tiempo, el procesador funcionó solo en modo de un solo subproceso, por lo que, según la prueba de CPU-Z, el rendimiento en el modo de subprocesos múltiples fue 2 veces menor que el del Intel Core 2 duo E6300, para el cual el Xeon fue comprado para reemplazar.

Resultó que era necesario actualizar los microcódigos del procesador. Puede hacer esto en modo programa, y ​​en Ubuntu, la operación es más fácil para la cabeza que en Windows 10. Y en este último, debe asegurarse de que los microcódigos se actualicen con cada arranque. También es posible actualizar los microcódigos en la BIOS, al menos en algunas BIOS de AWARD, AMI, Phoenix, especialmente en versiones hasta UEFI.

Hay muchas menos instrucciones para las placas base Intel. Y no es de extrañar. El Intel DG965SS tuvo muchos retoques.

Antes de actualizar el microcódigo, debe instalar el procesador que queremos admitir. Si necesita instalar otro procesador, deberá repetir el procedimiento.

Algunas instrucciones sugieren la creación de un disquete de arranque. no todas las computadoras permiten arrancar desde unidades flash. Hice una memoria USB de arranque con FreeDOS usando la aplicación gratuita de código abierto Rufus (para hacer esto, marque la casilla de verificación "Crear un disco de arranque usando" y seleccione "FreeDOS" de la lista).

Si el conjunto de chips y la placa base LGA 775 pueden, en teoría, admitir el XEON 771, pero el BIOS nativo no lo admite y el BIOS modificado no, entonces puede modificar el BIOS usted mismo.

IMPORTANTE

1. Todos los cambios en el firmware de la BIOS (archivo .ROM generalmente) los realiza bajo su propio riesgo y riesgo. En caso de error, se obtiene un "ladrillo" garantizado de la placa base.
2. El tamaño del archivo del firmware original y la versión modificada deben coincidir hasta en un byte.

3. El firmware del archivo de BIOS modificado que regresa al microcircuito se realiza solo utilizando una utilidad patentada del desarrollador de la placa base (debe descargarlo del sitio web del fabricante).
4. Las placas base superiores en el BIOS tienen un módulo de actualización de firmware incorporado (por ejemplo, la utilidad EZ Flash 2 para ASUS P5Q en la sección Herramientas), la mejor opción.

Cómo hacerlo mejor:
1. ¿Sigues buscando una versión lista para usar con soporte XEON en Internet?
2. ¿Descargar el firmware más reciente del sitio web oficial y agregar microcódigos?

Como puede ver, la segunda opción es más segura, en cualquier caso, descarga el firmware original del sitio web del fabricante de la placa base, es decir. Se garantiza la última versión y la ausencia de errores (más precisamente, la corrección de todos los errores encontrados anteriormente). Al descargar una versión lista para usar de recursos de terceros (por razones obvias, no estará en el sitio original), puede obtener una versión corrupta y eliminar el BIOS.

De manera preliminar, puede evaluar la presencia de microcódigos XEON en el firmware del BIOS.

- obtenga la imagen actual de BIOS AMI a través de Universal BIOS Backup ToolKit 2.0
- mirar el contenido del archivo ROM recibido a través de AMIBCP V 3.37

Opción BIOS AMI (American Megatrends Inc).

1. Descarga la última versión BIOS desde el sitio web del fabricante de su placa base

3. Descargue microcódigos para procesadores XEON 771: lga771_microcodes

4. Averigüe el CPUID de su procesador usando AIDA64 o un programa similar (parece cpu0001067Ah). Si BIOS se coserá antes de instalar el procesador, luego omitimos este elemento.

5. Desempaquete los archivos MMTool y lga771_microcodes y salir de archivos con la extensión .compartimiento solo aquellos archivos que comienzan con el mismo CPUID de su computadora (por ejemplo, cpu0001067a_plat00000044_ver00000a0b_date20100928.bin)

Si no sabemos qué código, arreglamos todo.

UNA. Lanzamiento MMTool... Presione el botón (1) Cargar ROM y cargue el BIOS más reciente para su placa base en el programa. Si tiene la BIOS más reciente, también puede combinar la utilidad de copia de seguridad de la BIOS desde la PC y editarla.

B. Ir a la pestaña (2) Parche de CPU, luego con el botón (3) Navegar, abre el archivo .compartimiento correspondiente a su CPUID.

C. Deje el valor predeterminado en opciones "Insertar datos de un parche" y presione el botón (4) Solicitar.

Después de actualizar con BIOS modificado necesitas hacer un restablecimiento de fábrica mediante el botón de reinicio o los puentes, si la placa base admite dicho reinicio, o extrayendo la batería del BIOS durante un par de minutos. Además, el procesador ya es percibido correctamente por la computadora y funciona como debería.

Sistema básico de entrada y salida: sistema básico de entrada y salida, abreviado como BIOS. Un pequeño microcircuito en la placa base que obtiene el control primero cuando se enciende la PC. Incluido: la configuración básica de la PC comprueba los componentes de la PC al inicio ...

Puede optimizar el rendimiento de la CPU Intel o AMD de su computadora instalando la última versión de su microcódigo. La optimización se logra principalmente corrigiendo errores en el microcódigo estándar recibido del firmware de la placa base.

Las actualizaciones de firmware BIOS / UEFI de su placa base generalmente contienen nuevas versiones de microcódigo para las CPU compatibles con la placa base. Por esta razón, el primer paso es asegurarse de que está utilizando la última versión de BIOS / UEFI.

Esta guía solo optimizará el rendimiento de las CPU desarrolladas por Intel y AMD.

Notas:

  • La instalación de un paquete de software de microcódigo puede hacer que su computadora se vuelva inestable. Por esta razón, debe instalar este paquete solo cuando exista algún problema relacionado con el funcionamiento del procesador central de su computadora.
  • No instale el paquete de software de microcódigo de la CPU si se lanzó antes que el firmware BIOS / UEFI de la placa base de su computadora.

1. Procesadores centrales fabricados por Intel

Si está utilizando una CPU Intel, puede proceder de la siguiente manera.

Nota:¿Necesita un paquete de microcódigo de CPU Intel más nuevo que el que se encuentra en el repositorio de distribución oficial? En este caso, puede descargar el archivo del paquete de software con la extensión .debutante desde

Administrador de paquetes Synaptic Software

Administrador de paquetes SynapticBúsqueda por computadora), ingrese la consulta "Sináptico" "Administrador de paquetes Synaptic" Administrador de paquetes Synaptic "Búsqueda" "Microcódigo" y presiona el botón "Búsqueda" al lado de él.

3.201501106.1 (en este caso, la versión 3 del paquete se creó el 6 de noviembre de 2015).

« intel-microcode " y presiona el botón Solicitar

dmesg | microcódigo grep

Ingresar

2. Unidades centrales de procesamiento fabricadas por AMD

Si está utilizando procesadores AMD, esta guía solo se aplicará a los lanzados después de 2006 (AMD K10 y posteriores). Si su computadora tiene una de estas unidades centrales de procesamiento, puede proceder como se describe a continuación.

Nota:¿Necesita un paquete de microcódigo de CPU AMD más nuevo que el que se encuentra en el repositorio de distribución oficial? En este caso, puede descargar el archivo del paquete de software con la extensión .debutante desde el repositorio de Debian donde se colocan los últimos paquetes. Después de terminar de descargar el archivo del paquete, debe encontrarlo usando el administrador de archivos y hacer doble clic para instalar los microcódigos en el sistema. Una vez completada la instalación, debe reiniciar su computadora.

A. Si usa la distribución de Ubuntu, tendrá que instalar Administrador de paquetes Synaptic(esto se puede hacer usando la aplicación Software). En Linux Mint, este administrador de paquetes está presente inmediatamente después de la instalación.

B. En primer lugar, debe ejecutar Administrador de paquetes Synaptic... En una distribución de Ubuntu, para este propósito, haga clic en el logo blanco de Ubuntu en la parte superior de la barra lateral ( Búsqueda por computadora), ingrese la consulta "Sináptico" y seleccione la primera de las opciones de aplicación propuestas "Administrador de paquetes Synaptic"... No es necesario utilizar el cuadro de búsqueda rápida de paquetes de software en la ventana principal Administrador de paquetes Synaptic, ya que el mecanismo correspondiente no es confiable; en su lugar, presione el botón "Búsqueda" en la barra de herramientas, en el campo de búsqueda del cuadro de diálogo que se abre, ingrese la consulta "Amd64-microcode" y presiona el botón "Búsqueda" al lado de él.

C. Ahora verifique la fecha de creación del paquete de software de microcódigo de la CPU: ¡este paquete debe crearse más tarde que el firmware BIOS / UEFI de la placa base de su computadora! La fecha de creación del paquete en cuestión se refleja en su número de versión, por ejemplo 2.20160316.1 (en este caso, la versión 2 del paquete se creó el 2 de marzo de 2016).

D. Es hora de marcar la casilla junto al nombre del paquete de software. "Amd64-microcode" y presiona el botón Solicitar en la barra de herramientas de la aplicación.

E. Una vez completada la instalación del paquete de software, debe reiniciar su computadora.

F.Después de reiniciar, vale la pena verificar la corrección de la carga de uno de los microcódigos instalados ingresando el siguiente comando en la ventana del terminal (use las funciones de copiar / pegar para evitar errores):

dmesg | microcódigo grep

Después de terminar de ingresar el comando, presione la tecla Ingresar para su ejecución. Si el microcódigo se cargó correctamente, verá varios mensajes al respecto.

¿Le gustaría aprender sobre otras configuraciones y trucos para trabajar con sistemas Linux? Una gran cantidad de estos materiales se publican en este sitio web.



¿Te gustó el artículo? Compártelo