Quiero implementar memoria de baja latencia. Puedo elegir entre SRAM, archivo de registro y flops. ¿Cual es la diferencia entre ellos? ¿Cuáles son algunos pros y contras?

La respuesta a la memoria que debe elegir depende de varios factores:

  1. ¿Qué tamaño de memoria necesita? Si está hablando de megabits, entonces la memoria basada en flip-flop está fuera de discusión e incluso SRAM podría ser ineficiente en el área. Los flip-flops ocupan mucho espacio en el dado y consumen mucha más energía (por bit de memoria). Normalmente se utilizan para memorias de menos de 256 bits de longitud.
  2. Para memorias muy grandes, algunas fundiciones de silicio (como IBM) usan eDRAM (que es 1T DRAM). Si está haciendo FPGA, eDRAM no está disponible.
  3. No desea utilizar una SRAM a menos que también esté dispuesto a utilizar un controlador BIST. Todos los SRAM necesitan ser probados y esto requiere algún tipo de lógica de prueba de memoria (sobrecarga adicional).
  4. Si planea usar SRAM o eDRAM, debe considerar qué tipo de datos se almacenan. Si está almacenando datos de misión crítica, como punteros, entonces también necesita la lógica de detección y corrección de errores. ¿Por qué? Las SRAM grandes tienen una probabilidad significativamente alta de cambio de bit. Entonces, sin ECC, la memoria puede corromperse y los datos críticos de su misión ya no serán válidos. Debe considerar cómo se protegerán los datos de SRAM y cómo se detectarán los cambios de bits. Para datos no críticos, generalmente se usa protección de paridad para detectar la corrupción de datos SRAM. Para datos críticos, ECC es obligatorio.
  5. Los SRAM generalmente pueden ejecutarse en un riel de voltaje separado, por lo que pueden operar a la misma velocidad que el resto de su lógica central. Sin embargo, si está agregando ECC a la etapa de lectura de su SRAM, su canal de lectura incurrirá en penalizaciones adicionales para detectar errores y corregirlos. Por lo tanto, su memoria de baja latencia requerirá algunos ciclos de reloj antes de que estén disponibles los datos corregidos válidos. Esto también complicará sus ciclos de lectura-modificación-escritura.
  6. Los archivos de registro son opciones de almacenamiento intermedio bastante útiles cuando desea algo que sea más eficiente que los flip-flops puros, pero evite el dolor de cabeza / sobrecarga BIST de las SRAM. Es posible que pueda escapar sin hacer ECC cuando use archivos de registro.
  7. También se toman muchas decisiones de memoria en función de la congestión de enrutamiento actual en su dado. A veces, incluso si las SRAM parecen ser la mejor opción, es posible que desee elegir chanclas de todos modos. ¿Por qué? Las SRAM usan muchas capas de metal y esto causa problemas de enrutamiento porque las SRAM son bloques grandes que deben enrutarse. Las chanclas se pueden mover fácilmente.

Espero que esto te haya dado un poco más de información sobre las opciones de memoria.

Así que la cuestión es que los registros no son exactamente memoria, bueno, pero tampoco lo son.

Un registro es un flip flop generalmente ad flip flop. Esto de la combinación de dos pestillos que se entrelazan.

Supongo que tienen la latencia “más baja” ya que los archivos de registro son parte integral de la ruta de datos y las unidades de ejecución en funcionamiento.

Una SRAM es clásicamente una celda de memoria de 6 transitorios (6T) mientras que la DRAM es (1T1C).

La latencia depende del diseño del dispositivo, el diseño del circuito y su ubicación en los elementos internos.

La SRAM es la memoria caché y el bloc de notas, que actúa como una memoria de acción rápida de baja capacidad, generalmente como una memoria de datos e instrucciones.

Recomiendo leer una introducción al libro de lógica como Diseño digital y arquitectura de computadoras. Gran libro

Una celda SRAM está diseñada para densidad a baja potencia. Para leer un bit SRAM, después de decodificar la dirección, la señal debe pasar primero a través de un amplificador de detección para obtener ganancia antes de bloquear la señal digital. La ruta hacia el amplificador de detección es compartida por múltiples células SRAM, por lo tanto, hay una capacitancia sustancial en la ruta de señal compartida hacia el amplificador de detección. Esto tiende a ralentizar la propagación de señales desde la celda SRAM a la salida de datos.

Un flip flop puede ser mucho más rápido que una SRAM porque la fuerza del variador puede alterarse y no hay un amplificador de detección compartido en la salida. Por supuesto, la potencia utilizada para acceder a la memoria será mayor a medida que aumente la fuerza de la unidad.

Un registro es simplemente múltiples flip-flops dirigidos simultáneamente.

Un microprocesador utiliza registros para almacenar valores intermedios porque son rápidos (es decir, el registro de desplazamiento derecho A). Un microprocesador usa SRAM para caché porque el tamaño de memoria requerido es grande.

Si el tamaño de la memoria es pequeño, y la energía y el área no son objeto, use un flip flop. De lo contrario, use una SRAM.

densidad, velocidad y costos de nre para la matriz de memoria y el archivo.
si la capacidad y el ancho son bajos o el número de lectura más escritura
(or.compare) los puertos son altos o los necesita sin mucha optimización
La construcción de su memoria a partir de decodificadores y decodificadores de células estándar puede
Sé el camino a seguir. sin embargo, la matriz requerida es 4-5 veces más grande que un pozo
diseño personalizado hecho a mano. ya que el tiempo de acceso es principalmente un manhattan
distancia área de problema de rc y tiempo de acceso moderadamente profundo
los recuerdos amplios pueden ser obstáculos importantes al usar flops.