Colección de citas famosas - Colección de máximas - ¿Cuál es la descripción retardada de la memoria?

¿Cuál es la descripción retardada de la memoria?

Novatos en el camino: artículo sobre análisis de latencia y ancho de banda de memoria *** 1 página.

Para el rendimiento de la memoria, los indicadores más críticos son la "latencia de la memoria" y el "ancho de banda". Hoy en día, cuando los usuarios compran memoria, a menudo se confunden con términos como "doble canal" y "baja latencia". Los usuarios comunes no pueden entender qué significan estos términos y cómo afectan el rendimiento del sistema. Este artículo explica en términos fáciles de entender el impacto del ancho de banda de la memoria y la latencia en el rendimiento del sistema.

Conceptos básicos de la memoria

“¿Qué es la memoria y para qué sirve?” Esta es una pregunta que se hacen muchos principiantes. Cuando hablamos de memoria, normalmente nos referimos a la "memoria de acceso aleatorio" (RAM), que está conectada a la placa base en forma de ranura. Proporciona un área de caché entre la CPU y la aplicación, y es un puente entre la caché (rápida, de pequeña capacidad) y el disco duro (lento, de gran capacidad). Cuando el programa se está ejecutando, los datos que deben leerse y escribirse no se pueden cargar completamente en el caché. Por lo tanto, bajo las limitaciones de precio y capacidad, se forma un subsistema de memoria con una estructura de registro, caché, memoria y disco duro. . Los discos duros pueden almacenar datos de forma permanente, pero son relativamente lentos para acceder, leer y escribir datos.

Durante todo el proceso de ejecución del programa, la CPU primero leerá una instrucción del contador del programa, luego decodificará la instrucción para completar una operación y finalmente leerá otra instrucción. Todo el proceso comienza una y otra vez. En muchos programas, se repiten los siguientes pasos.

-& gt;Leer las instrucciones

-& gt;Obtener datos a

-& gt;Obtener datos b

- & gt;Agregar b a a

-& gt;Guardar a en c.

En tal proceso, las operaciones de lectura y escritura ocurrirán muchas veces. El método más efectivo es procesar las instrucciones y los datos A, B y C en Cach. Sin embargo, debido a la limitación de la capacidad de la caché, algunos datos se almacenarán en la memoria o incluso en el disco duro. Si los datos están en el caché, entonces la CPU se denomina "acierto" durante el procesamiento y los datos requeridos pueden leerse del caché y almacenarse en registros de mayor velocidad para su posterior procesamiento. Si los datos no están en el caché, se denomina "no válido". La CPU debe leer los datos requeridos de la memoria (o del disco duro) en el caché y luego cargarlos en los registros a través del caché. En pocas palabras, la memoria proporciona espacio para almacenar datos a un precio relativamente bajo y alta velocidad.

"¿Cómo se cargan los datos desde la memoria a la CPU?" Esta es a menudo otra pregunta que hacen los usuarios. En pocas palabras, dicho proceso se completa a través del "autobús". El bus consta de varias líneas de datos. Cada línea de datos solo transmite 1 bit de datos y se utiliza para representar dos estados: 0 y 1. Para un bus de interconexión con una frecuencia de 800MHz, significa que se pueden intercambiar 800M de datos entre la memoria y la CPU en un segundo. Este proceso suele estar controlado por el chip Northbridge. El bus es generalmente semidúplex, es decir, sólo puede "enviar" o "recibir" datos al mismo tiempo. El autobús aquí es lo que a menudo llamamos "bus frontal" (FSB).

La tecnología DDR (Double Transfer Rate) es una tecnología de memoria que ha surgido en los últimos años y que ha conseguido éxito en el mercado de las memorias. La memoria DDR es diferente de la memoria SDR normal. Para las tarjetas de memoria SDRAM convencionales de los últimos años, los datos solo se pueden transmitir en el flanco descendente (o ascendente) de cada ciclo de reloj del sistema. El voltaje de la tarjeta de memoria es de aproximadamente 3,3 V; transmitir datos en el flanco ascendente de cada ciclo de reloj. Los datos se transmiten simultáneamente en los flancos ascendente y descendente, de ahí el nombre DDR. El voltaje de la tarjeta de memoria DDR es de alrededor de 2,5 V.

"¿Cómo se direcciona la memoria?" En pocas palabras, el patrón de disposición de las direcciones de la memoria es muy similar a una matriz. Cada banco de memoria consta de filas y columnas, y la intersección de filas y columnas es donde se almacenan los datos, que generalmente contienen 0 o 1. El primer chipset I845 tenía sólo cuatro bancos de memoria y la capacidad máxima de memoria era de sólo 2 GB. Los nuevos conjuntos de chips Springdale y Canterwood tienen 8 bancos de memoria y pueden admitir capacidades de memoria de hasta 4 GB.

Arquitectura de memoria de doble canal

La memoria de doble canal es actualmente el chip de memoria principal. Teóricamente, con la cooperación de un controlador de memoria de doble canal, la velocidad de transferencia de datos de la memoria es el doble que la de la memoria normal. Para explicar cómo funciona, tomemos el ejemplo de una autopista.

Para aumentar el rendimiento del tráfico en las carreteras, el ancho de la carretera sólo puede ampliarse sin aumentar la velocidad de los vehículos. La memoria de doble canal es oficialmente así. Al agregar un controlador de memoria al chip Northbridge, se aumenta el ancho de banda máximo de la memoria. La memoria de ancho de bus de bits DDR SDRAM funciona en modo de memoria de doble canal y el ancho de bus real es de 128 bits.

Continuando considerando el ejemplo anterior, la arquitectura de la memoria DDR de doble canal es equivalente a una carretera de cuatro carriles, con aguas arriba y aguas abajo ocupando dos carriles respectivamente. Cuando los vehículos circulan de una carretera a otra, si el ancho del puente de conexión también es de cuatro carriles, no habrá cuello de botella y todos los vehículos (datos) pueden ir a la otra carretera a alta velocidad en el sistema, este puente; es el bus frontal (FSB). Intel utiliza un bus "quad pump", que tiene un ancho de banda de 128 bits, por lo que todos los datos se pueden transferir entre la memoria y el caché a altas velocidades. La tecnología Quad-bus es la razón principal por la que Intel puede destacarse. El primer chipset i845 utilizaba una arquitectura de memoria de un solo canal, por lo que la eficiencia de transmisión no era muy alta.

Para el chip Athlon XP, su FSB no puede alcanzar el ancho de banda de 128 bits y solo hay dos canales que conectan la memoria y el caché, por lo que los datos de los "cuatro canales" deben transmitirse dos veces. Con la arquitectura de memoria de doble canal de AMD, un canal suele estar inactivo. En un caso, si la latencia de la RAM y la velocidad de procesamiento del FSB son iguales, se pueden aprovechar las ventajas de la memoria de doble canal.

Retraso

Si deseas aumentar el ancho de banda de la memoria, puedes utilizar el método simple anterior, es decir, aumentar el canal de memoria por lo tanto, en cada ciclo de reloj, el; La cantidad de datos que se pueden procesar aumenta con el aumento de canales. Debido a las limitaciones de la tecnología FSB actual, la arquitectura de memoria de doble canal está estancada. Si el FSB puede alcanzar un ancho de bits de más de 256 bits, entonces definitivamente se utilizarán arquitecturas de memoria de 4 y 8 canales. Hay otro factor clave en lo que respecta al rendimiento de la memoria: la latencia.

Latencia se define como el periodo de tiempo entre que la CPU lee y ejecuta una instrucción. Si la memoria necesita leer y escribir datos, este proceso provocará un gran retraso. En general, cuanto menor sea la latencia, mejor será el rendimiento del sistema. Sin embargo, reducir la latencia no es fácil. A veces, para reducir el retraso de 1 ciclo, el costo es un orden de magnitud mayor.

Si el FSB y el controlador de memoria no funcionan a la misma velocidad de reloj, las transferencias de datos entre ellos deben sincronizarse. Por ejemplo, si la frecuencia del FSB y la frecuencia del controlador de memoria son 5:4, luego de 5 ciclos de reloj del FSB, el controlador de memoria solo funcionará durante 4 ciclos. Es decir, el FSB sólo puede sincronizarse con el controlador de memoria una vez cada cinco ciclos. Si la CPU emite un comando de lectura o escritura en el segundo ciclo de reloj, el FSB debe esperar tres ciclos para sincronizarse con el controlador de memoria antes de poder transferir los datos. Esta es la razón por la que la mayoría de los controladores de memoria y FSB utilizan una división de frecuencia 1:1.

Además del retraso provocado por el FSB y la relación de división de frecuencia del controlador de memoria, se debe principalmente al propio módulo de memoria. Cuando el controlador de memoria de Northbridge emite una solicitud de lectura, enviará un comando "ACTIVO" a la memoria y luego activará las "filas" y "columnas" de la memoria para tRP. La configuración se puede ajustar a través del BIOS, que generalmente. tarda de 2 a 4 ciclos de reloj. Luego, realice "actualización de fila (RAS)" y "actualización de columna (CAS)". Este retraso tRCD está determinado por las características del propio módulo de memoria, generalmente de 2 a 4 ciclos de reloj. La latencia de fila (tRAS) y la latencia de columna (TCL) también ocurren durante el proceso de lectura y escritura de datos. Si la siguiente operación de lectura y escritura de memoria está en la misma fila, solo aumenta el retraso de CAS; si la siguiente memoria se completa en un módulo diferente, todo el proceso de lectura y escritura debe comenzar nuevamente desde tRP. TRAS normalmente requiere de 5 a 8 ciclos de reloj. La siguiente figura muestra el proceso completo de lectura y escritura de memoria.

Debido a que todos estos retrasos ocurren durante los procesos de lectura y escritura, reducir los retrasos en los procesos de lectura y escritura es una tarea difícil. Aún así, a finales de la década pasada, la latencia de la memoria cayó de 120 ns a aproximadamente 50 ns en la actualidad. El ancho de banda máximo de la memoria también ha aumentado del 1 GB/s original (teóricamente PC133) a los 8 GB/s actuales (teóricamente PC4000 de doble canal).

Problemas relacionados con la relación de división Springdale/Canterwood

Como se mencionó anteriormente, para evitar retrasos entre el controlador de memoria y el FSB, sus relojes se dividen. La frecuencia generalmente se establece en 1. :1. Sin embargo, muchos usuarios suelen overclockear su CPU o memoria para obtener un mayor rendimiento. Para P4, después del overclocking, la frecuencia máxima de la CPU puede alcanzar los 250MHz de FSB, pero existen pocos tipos de memoria en el mercado que puedan alcanzar esta frecuencia. Normalmente los usuarios utilizan módulos de memoria PC3200, por lo que la relación de división de frecuencia suele ser 4:5 o 3:4. En muchos productos reales, es posible que la memoria y el chipset no sean compatibles, especialmente los chipsets Springdale/Canterwood. Por ejemplo, las famosas placas base de la serie ABIT IC7/IS 7 se niegan a utilizar una relación de división de memoria de 1:1. Este problema también ocurrirá con la placa base Soltek 86SP E-L. Generalmente, los fabricantes solucionarán este problema actualizando el BIOS.

Conclusión

Este artículo es simple y fácil de entender e introduce el impacto de la latencia de la memoria y el ancho de banda en el rendimiento. Este artículo está dirigido principalmente a aquellos que son nuevos en el bricolaje. Los veteranos del bricolaje también pueden aprender algunas cosas nuevas sobre la memoria a través de este artículo.

Fin del texto completo