¿Qué es la memoria asociativa?

La mayor parte de la memoria se almacena y se accede a ella de la misma manera. El contenido se guarda y luego se recupera utilizando una dirección de memoria. Esto es generalmente útil y se usa casi universalmente. Desafortunadamente, hay un pequeño problema con este estilo de almacenamiento. Es excelente si sabe dónde se almacenan los datos que necesita. No funciona bien si desea buscar una entrada específica.

Digamos que quiere encontrar un archivo; recuerdas su nombre pero no qué carpeta guardaste. Su computadora puede buscar el nombre del archivo, pero a menos que lo haya usado recientemente, a menudo es bastante lento para realizar la búsqueda. Y eso teniendo en cuenta que los sistemas de archivos se almacenan como nombres y direcciones de archivos.

La memoria asociativa, también conocida como memoria de contenido direccionable o CAM, está diseñada para buscar por su contenido. Desafortunadamente, implementar memoria asociativa es muy costoso. Esto significa que solo se usa en algunos casos, generalmente en hardware de red de alta gama. La memoria de nombres asociativa proviene del hecho de que es una implementación de hardware de una matriz de software asociativa.

Estructura celular

La memoria asociativa solo se usa cuando se necesita un rendimiento extremadamente alto. Como tal, se basa en SRAM en lugar de DRAM. Como punto de partida, esto solo lo hace costoso. DRAM usa un transistor y un capacitor por bit, y SRAM usa un total de 6 transistores. Para buscar eficientemente el contenido de una celda de memoria, cada celda se modifica para tener un circuito de comparación. Esto agrega un total de 4 transistores más a cada celda. Esto significa que la memoria asociativa es significativamente menos densa que la SRAM, que ya es una forma costosa de almacenamiento.

Uso

La memoria asociativa es costosa y está optimizada exclusivamente para hacer coincidir búsquedas basadas en contenido. Como tal, solo se usa realmente en dispositivos que constantemente necesitan realizar este tipo de búsqueda; incluso entonces, normalmente se limita a modelos de gama alta. Por lo general, solo hay dos lugares principales donde se utiliza la memoria asociativa, los conmutadores de red y los enrutadores.

El hardware de red, como los conmutadores y los enrutadores, debe ofrecer niveles de alto rendimiento para mantener el flujo constante de múltiples gigabits de tráfico de red. Dentro de una red, las direcciones MAC se utilizan para enrutar el tráfico. Un conmutador sabrá a cuál de sus muchos puertos de red se deben enviar los datos para que llegue al dispositivo con la dirección MAC correcta. Para garantizar que cada paquete se envíe al lugar correcto, se busca su dirección MAC de destino. En un formato de memoria tradicional, eso llevaría algo de tiempo, lo que aumentaría la latencia de cada comunicación de red. Con la memoria asociativa, esa búsqueda puede ser mucho más rápida.

binario y ternario

La mayor parte de la memoria asociativa se basa en binario, pero algunas se basan en ternario. Una celda de memoria asociativa ternaria es similar a la binaria descrita anteriormente. Sin embargo, en lugar de tener una celda SRAM, tiene dos. Ambos juntos tienen los cuatro transistores adicionales necesarios para realizar la comparación. Esto, por supuesto, hace que la memoria asociativa ternaria sea aún más costosa que su prima binaria, entonces, ¿para qué se usa?

El segundo bit de la celda ternaria indica "cuidado" o "no me importa". Esto agrega un tercer estado a la celda y la función de búsqueda general. Ahora puede almacenar un 1, 0 o X para no importar. Esto es especialmente útil cuando se trabaja con tablas de enrutamiento de red basadas en máscaras de subred de longitud variable y con listas de control de acceso. Puede tener múltiples respuestas positivas a una sola dirección de búsqueda en ambos. Dentro de ambos, solo querrás tomar nota de la instrucción más precisa.

Como tal, una búsqueda de 192.168.20.19 puede coincidir con las siguientes reglas 192.168.20.16/28 y 192.168.0.0/16. Si estuviera realizando una búsqueda binaria estándar, tendría que realizar cálculos para verificar que la dirección se encuentra dentro de los rangos de direcciones especificados. Sin embargo, con la lógica ternaria, puede determinar si su dirección de búsqueda coincide con 192.168.xx en una sola operación. También puede determinar que la coincidencia /28 es mucho más precisa que la coincidencia /16 porque hay menos bits "no importa". Esto le permite aplicar preferentemente las reglas de control de acceso relacionadas.

Como la memoria asociativa ternaria es aún más costosa que la forma binaria, es incluso menos común. Por lo general, solo se puede encontrar en enrutadores de gama alta y conmutadores de múltiples capas.

Conclusión

La memoria asociativa es una forma de memoria que funciona de manera muy diferente a la memoria estándar. En lugar de solicitar los datos almacenados en una dirección específica, busca en toda la memoria de una sola vez las coincidencias con un término de búsqueda. Para lograr esto con niveles de alto rendimiento, las celdas de memoria se basan en una forma modificada de SRAM que presenta una o dos celdas SRAM combinadas con cuatro transistores adicionales que se utilizan para realizar la lógica de comparación de bits.

Las celdas SRAM individuales se usan en la memoria asociativa binaria, mientras que dos celdas SRAM se usan en la memoria asociativa ternaria. La variante ternaria permite almacenar un tercer valor, generalmente un 1, 0 o "no importa". Esto permite que el contenido indique que debe coincidir incluso si el término de búsqueda no es preciso.

Debido a que las celdas de memoria asociativa se basan en la costosa SRAM, son costosas, siendo la ternaria la más costosa. Debido a esto y a que su estructura está optimizada explícitamente para buscar por contenido, la memoria asociativa no se usa en la mayoría de los dispositivos.

Solo los dispositivos que se benefician particularmente de él y donde el rendimiento supera el costo inicial lo incluyen. Como tal, normalmente se encuentra exclusivamente en hardware de redes de nivel empresarial. Dentro de esa configuración, a menudo se le conoce como CAM y TCAM, para memoria direccionable de contenido y memoria direccionable de contenido ternario, respectivamente.



Leave a Comment

Qué Hacer Si Powerbeats Pro No Carga en el Estuche

Qué Hacer Si Powerbeats Pro No Carga en el Estuche

Si tus Powerbeats Pro no cargan, utiliza otra fuente de energía y limpia tus auriculares. Deja el estuche abierto mientras cargas tus auriculares.

Fundamentos de Impresión 3D: Una Lista de Verificación de Mantenimiento Imprescindible

Fundamentos de Impresión 3D: Una Lista de Verificación de Mantenimiento Imprescindible

Mantener tu equipo en buen estado es fundamental. Aquí hay algunos consejos útiles para mantener tu impresora 3D en óptimas condiciones.

Canon Pixma MG5220: Escanear Sin Tinta

Canon Pixma MG5220: Escanear Sin Tinta

Cómo habilitar el escaneo en la Canon Pixma MG5220 cuando se queda sin tinta.

5 Razones por las Que Tu Portátil Se Está Sobrecalentando

5 Razones por las Que Tu Portátil Se Está Sobrecalentando

Descubre algunas de las posibles razones por las que tu portátil se está sobrecalentando, junto con consejos y trucos para evitar este problema y mantener tu dispositivo fresco.

Cómo instalar un SSD en PCs de escritorio y portátiles

Cómo instalar un SSD en PCs de escritorio y portátiles

¿Acabas de comprar un SSD con la esperanza de mejorar el almacenamiento interno de tu PC, pero no sabes cómo instalarlo? ¡Lee este artículo ahora!

Cómo solucionar el código de error 0xC272008F de GeForce Now

Cómo solucionar el código de error 0xC272008F de GeForce Now

Te estás preparando para una noche de juegos y va a ser una gran noche: acabas de conseguir “Star Wars Outlaws” en el servicio de streaming GeForce Now. Descubre la única solución conocida que te muestra cómo arreglar el error 0xC272008F de GeForce Now para que puedas empezar a jugar los juegos de Ubisoft nuevamente.

Fundamentos de la Impresión 3D: Consejos de Mantenimiento para su Impresora 3D

Fundamentos de la Impresión 3D: Consejos de Mantenimiento para su Impresora 3D

Mantener sus impresoras 3D es muy importante para obtener los mejores resultados. Aquí hay algunos consejos importantes a tener en cuenta.

Cómo encontrar la dirección IP de una impresora

Cómo encontrar la dirección IP de una impresora

¿Tienes problemas para averiguar cuál es la dirección IP de tu impresora? Te mostraremos cómo encontrarla.

Cómo usar AirPods con teléfonos Samsung

Cómo usar AirPods con teléfonos Samsung

Si tienes dudas sobre si comprar AirPods para tu teléfono Samsung, esta guía te ayudará. La pregunta más obvia es si son compatibles, y la respuesta es: ¡sí, lo son!

Solución de problemas de Roku no actualiza el software

Solución de problemas de Roku no actualiza el software

Asegúrate de que tu dispositivo Roku funcione correctamente actualizando el software. Aquí tienes soluciones efectivas para el problema de actualizaciones de Roku.