Articulo de referencia

Controlador de memoria

Concentrador de controlador de memoria Intel 82PM45 Un controlador de memoria , también conocido como controlador de chip de memoria ( MCC ) o unidad de control de memoria ( MCU...

Concentrador de controlador de memoria Intel 82PM45

Un controlador de memoria , también conocido como controlador de chip de memoria ( MCC ) o unidad de control de memoria ( MCU ), es un circuito digital que gestiona el flujo de datos hacia y desde la memoria principal de una computadora . [ 1 ] [ 2 ] Cuando un controlador de memoria está integrado en otro chip, como una parte integral de un microprocesador , generalmente se le llama controlador de memoria integrado ( IMC ).

Los controladores de memoria contienen la lógica necesaria para leer y escribir en la memoria de acceso aleatorio dinámico (DRAM), así como para proporcionar la actualización de memoria crítica y otras funciones. La lectura y escritura en la DRAM se realiza seleccionando las direcciones de datos de fila y columna de la DRAM como entradas al circuito multiplexor , donde el demultiplexor de la DRAM utiliza las entradas convertidas para seleccionar la ubicación de memoria correcta y devolver los datos, que luego se pasan de nuevo a través de un multiplexor para consolidar los datos y reducir así el ancho de bus necesario para la operación. Los anchos de bus de los controladores de memoria varían desde 8 bits en sistemas antiguos hasta 512 bits en sistemas más complejos, donde normalmente se implementan como cuatro controladores de memoria simultáneos de 64 bits que operan en paralelo, aunque algunos operan con dos controladores de memoria de 64 bits que se utilizan para acceder a un dispositivo de memoria de 128 bits .

Algunos controladores de memoria, como el integrado en los procesadores PowerQUICC II, incluyen hardware de detección y corrección de errores . [ 3 ] Muchos procesadores modernos también integran una unidad de gestión de memoria (MMU), que en muchos sistemas operativos implementa el direccionamiento virtual . En los primeros procesadores x86-32, la MMU está integrada en la CPU, pero el controlador de memoria suele formar parte del puente norte . [ 4 ]

Historia

Los ordenadores más antiguos basados ​​en Intel y PowerPC tienen chips controladores de memoria separados del procesador principal. A menudo, estos están integrados en el puente norte del ordenador, también conocido como concentrador del controlador de memoria.

La mayoría de los microprocesadores modernos para computadoras de escritorio o estaciones de trabajo utilizan un controlador de memoria integrado ( IMC ), incluidos los microprocesadores de Intel , AMD y aquellos construidos alrededor de la arquitectura ARM . Antes de K8 (alrededor de 2003), los microprocesadores AMD tenían un controlador de memoria implementado en el puente norte de su placa base . En K8 y posteriores, AMD empleó un controlador de memoria integrado. [ 5 ] Del mismo modo, hasta Nehalem (alrededor de 2008), los microprocesadores Intel usaban controladores de memoria implementados en el puente norte de la placa base. Nehalem y posteriores cambiaron a un controlador de memoria integrado. [ 6 ] Otros ejemplos de arquitecturas de microprocesadores que usan controladores de memoria integrados incluyen Fermi de NVIDIA , POWER5 de IBM y UltraSPARC T1 de Sun Microsystems .

Si bien un controlador de memoria integrado puede aumentar el rendimiento del sistema, por ejemplo, reduciendo la latencia de la memoria , limita el microprocesador a un tipo específico de memoria, lo que obliga a rediseñarlo para que sea compatible con las nuevas tecnologías de memoria. Cuando se introdujo la memoria DDR2 SDRAM , AMD lanzó nuevos procesadores Athlon 64. Estos nuevos modelos, con un controlador DDR2, utilizan un zócalo físico diferente (conocido como Socket 754 ), por lo que solo son compatibles con placas base diseñadas para este nuevo tipo de RAM. Cuando el controlador de memoria no está integrado en el chip, se puede instalar el mismo procesador en una nueva placa base, con un puente norte actualizado para usar la memoria más reciente.

Algunos microprocesadores de la década de 1990, como el DEC Alpha 21066 y el HP PA-7300LC , tenían controladores de memoria integrados; sin embargo, en lugar de para obtener mejoras en el rendimiento, esto se implementó para reducir el costo de los sistemas al eliminar la necesidad de un controlador de memoria externo.

Algunas CPU están diseñadas para tener sus controladores de memoria como componentes externos dedicados que no forman parte del chipset. Un ejemplo es IBM POWER8 , que utiliza chips Centaur externos montados en módulos DIMM que actúan como búferes de memoria, chips de caché L4 y como controladores de memoria propiamente dichos. La primera versión del chip Centaur utilizaba memoria DDR3, pero posteriormente se lanzó una versión actualizada compatible con DDR4. [ 7 ]

Seguridad

Algunos controladores de memoria experimentales contienen un segundo nivel de traducción de direcciones, además del primer nivel de traducción de direcciones realizado por la unidad de gestión de memoria de la CPU para mejorar el rendimiento de la caché y del bus. [ 8 ]

Los controladores de memoria integrados en ciertos procesadores Intel Core ofrecen la función de codificación de memoria , que convierte los datos de usuario escritos en la memoria principal en patrones pseudoaleatorios . [ 9 ] [ 10 ] La codificación de memoria tiene el potencial de impedir el análisis forense y de ingeniería inversa basado en la remanencia de datos de la DRAM , al neutralizar eficazmente diversos tipos de ataques de arranque en frío . En la práctica actual, esto no se ha logrado; la codificación de memoria solo se ha diseñado para abordar problemas eléctricos relacionados con la DRAM. Los estándares de codificación de memoria de finales de la década de 2010 abordan cuestiones de seguridad, pero no son criptográficamente seguros ni están abiertos a revisión o análisis públicos. [ 11 ]

ASUS e Intel tienen sus propios estándares de codificación de memoria. Las placas base ASUS permiten al usuario elegir qué estándar de codificación de memoria utilizar (ASUS o Intel) o si prefiere desactivar la función por completo.

Variantes

Memoria de velocidad de datos única

Los controladores de memoria de velocidad de datos simple (SDR) controlan la memoria SDRAM SDR , donde los datos se transfieren una vez por ciclo de reloj. Son mucho más sencillos que los controladores de memoria de velocidad de datos doble, pero se han ido eliminando gradualmente debido a sus velocidades de transferencia significativamente reducidas en comparación con la memoria DDR. [ 12 ]

Memoria de doble velocidad de datos

Los controladores de memoria de doble velocidad de datos (DDR) se utilizan para controlar la memoria DDR SDRAM , donde la transferencia de datos se produce tanto en el flanco ascendente como en el descendente del reloj de memoria del sistema. Los controladores de memoria DDR son considerablemente más complejos que los controladores de velocidad de datos simple, pero permiten transferir el doble de datos sin aumentar la frecuencia de reloj ni el ancho de banda de la memoria.

Memoria multicanal

Los controladores de memoria multicanal son controladores de memoria en los que los dispositivos DRAM se distribuyen en varios buses para permitir que el o los controladores de memoria accedan a ellos en paralelo. Esto aumenta el ancho de banda teórico del bus en un factor igual al número de canales. Si bien un canal por cada DRAM sería la solución ideal, añadir más canales incrementa la complejidad y el coste.

Memoria totalmente almacenada en búfer

Los sistemas de memoria con búfer completo incorporan un dispositivo de búfer de memoria en cada módulo de memoria (denominado FB-DIMM cuando se utiliza RAM con búfer completo). Este dispositivo, a diferencia de los controladores de memoria tradicionales, utiliza un enlace de datos en serie con el controlador de memoria, en lugar del enlace paralelo empleado en diseños de RAM anteriores. Esto reduce la cantidad de cables necesarios para colocar los dispositivos de memoria en la placa base (lo que permite utilizar un menor número de capas y, por lo tanto, colocar más dispositivos de memoria en una sola placa), aunque a costa de aumentar la latencia (el tiempo necesario para acceder a una ubicación de memoria). Este aumento se debe al tiempo necesario para convertir la información paralela leída de la celda DRAM al formato en serie utilizado por el controlador FB-DIMM y, posteriormente, de nuevo a formato paralelo en el controlador de memoria de la placa base.

Código de corrección de errores

Los controladores de memoria con código de corrección de errores (ECC) gestionan la memoria ECC . ECC corrige los errores comunes que se producen en la RAM y reduce significativamente la pérdida de datos, además de aumentar la estabilidad [ 13 ] . También aumenta ligeramente el ancho del bus de la RAM (normalmente de 64 a 72 bytes) para alojar este código adicional. Rara vez se necesita en ordenadores personales, pero es común encontrarlo en servidores y estaciones de trabajo donde la mayor estabilidad e integridad de los datos son importantes.

controlador de memoria flash

Muchos dispositivos de memoria flash , como las unidades flash USB y las unidades de estado sólido , incluyen un controlador de memoria flash . El acceso a la memoria flash es inherentemente más lento que el de la RAM y, a menudo, se vuelve inutilizable después de unos pocos millones de ciclos de escritura, lo que generalmente la hace inadecuada para aplicaciones de RAM.

Véase también

Referencias

  1. Guía para el examen de certificación Comptia A+, séptima edición, de Mike Meyers, en el glosario, al final de la página 1278: "Chip que gestiona las solicitudes de memoria de la CPU".
  2. Neat, Adam G. (4 de diciembre de 2003). Maximizing Performance and Scalability with IBM WebSphere . Apress. ISBN 9781590591307Consultado el 6 de febrero de 2015 .
  3. "Controlador de memoria"
  4. "Copia archivada" (PDF) . Archivado del original (PDF) el 4 de julio de 2025.{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
  5. Vries, Hans de. "Arquitecto de chips: Arquitectura del microprocesador de próxima generación de AMD" . www.chip-architect.com . Consultado el 17 de marzo de 2018 .
  6. Torres, Gabriel (26 de agosto de 2008). "Inside Intel Nehalem Microarchitecture" . Hardware Secrets . pág. 2. Consultado el 7 de septiembre de 2017 . 
  7. Prickett Morgan, Timothy (17 de octubre de 2016). "IBM aplica la memoria DDR4 a los sistemas Power" . IT Jungle . pág. 1. Consultado el 7 de septiembre de 2017 . 
  8. John Carter, Wilson Hsieh, Leigh Stoller, Mark Swansony, Lixin Zhang, et al. "Impulse: Construyendo un controlador de memoria más inteligente" .
  9. "Procesadores Intel Core de segunda generación para escritorio, procesadores Intel Pentium para escritorio y procesadores Intel Celeron para escritorio" (PDF) . Junio ​​de 2013. pág. 23. Consultado el 3 de noviembre de 2015 . 
  10. "Familia de procesadores Intel Core de segunda generación para dispositivos móviles y familia de procesadores Intel Celeron para dispositivos móviles" (PDF) . Septiembre de 2012. pág. 24. Consultado el 3 de noviembre de 2015 . 
  11. Igor Skochinsky (12 de marzo de 2014). "El secreto de Intel Management Engine" . SlideShare . págs. 26-29 . Consultado el 13 de julio de 2014 . 
  12. "https://www.issi.com/us/product-dram-sdr.shtml" . www.issi.com . Archivado del original el 19-02-2026 . Consultado el 01-03-2026 .{{cite web}}: Enlace externo en |title=( ayuda )
  13. "¿Qué es la memoria ECC?" . www.corsair.com . Consultado el 28 de febrero de 2026 .
  • Documento técnico sobre memoria DDR de doble canal de Infineon/Kingston (un fabricante de memorias) en Wayback Machine (archivado el 29/09/2011) : explica los controladores de memoria de doble canal y cómo utilizarlos. 
  • Introducción al controlador de memoria
  • Guía de Intel sobre modos de memoria de canal único y multicanal.
  • ¿Qué es un controlador de memoria y cómo funciona?
  • ¿Qué es un controlador de memoria?
  • Controladores de memoria: historia y cómo funcionan [ sic ]
  • Memoria flash: tipos e historia de su desarrollo