Tabla de consulta de 12 a 6

Tengo una aplicación donde 12 bits de entrada necesitan generar 6 bits de salida de manera configurable por el usuario. Por supuesto, esto requiere el uso de una tabla de búsqueda basada en RAM.

Me di cuenta de que la RAM estática más rápida disponible tiene un tiempo de acceso de aproximadamente 10 ns, lo que limita la velocidad de acceso a la tabla de búsqueda a 100 Mhz.

¿Cómo logran los microprocesadores acceder a sus cachés internas en 1 ciclo de reloj, generalmente 30 veces más rápido que esto? ¿La velocidad del chip RAM está limitada por su bus de comunicación externo o es algo más?

Obviamente. La pregunta ya contenía esa información y preguntaba por qué era así, específicamente qué propiedades de la caché RAM la hacen tan rápida, cuando es computacionalmente más complejo acceder, ya que el acceso debe pasar por controles realizados por un controlador de caché.
Lo siento, debo haberme quedado ciego o algo así.

Respuestas (1)

La memoria caché en chip está diseñada como parte de los circuitos de interfaz de memoria y está optimizada para la velocidad a expensas de otras consideraciones, como el consumo de energía y el área del troquel, que pueden hacerla poco práctica para tamaños más grandes. Tampoco es generalmente accesible para el usuario, por lo que sus circuitos de direccionamiento y rutas de datos pueden simplificarse. Todo eso en combinación con la falta de inductancias y capacitancias parásitas y el almacenamiento en búfer necesario para admitir el acceso fuera del chip lo hace considerablemente más rápido.

Cuéntenos más sobre su aplicación, ya que puede haber otras opciones disponibles.

Deseo explorar la posibilidad de producir un dispositivo computacional programable genérico, de n bits de ancho, que genere n bits de salida. Se admitirán operaciones de 2**k.
Estaba más interesado en el tipo de áreas de aplicación a las que apuntaba que requerirían más de 100 MHz de rendimiento.
Continúa.... selección arbitraria de bits consecutivos al mismo tiempo que cualquier otra operación en cualquier otro conjunto de bits consecutivos independientes.
Propósito, General Computacional. Un elemento computacional general que se utiliza para reemplazar múltiples tipos de elementos computacionales que se encuentran en un microprocesador y para brindar una flexibilidad única al especificar instrucciones adicionales que son específicas de la aplicación.
Tal elemento computacional se puede hacer. La pregunta es, ¿son los transistores lo suficientemente rápidos para que el tiempo de establecimiento del resultado sea lo suficientemente corto como para ser práctico?
Al colocar los bits de selección de código de operación en los bits de dirección de orden superior, seguidos de las entradas A, B y C, solo quedan dos bits para conectar en cascada. L y R, dado que los bits superiores ya han convergido en una solución, ¿hay tiempo suficiente para que 2 bits de selección menos significativos se unan en cascada sobre un registro de n bits? Creo que sí. ¿Debería canalizarse tal instrucción porque potencialmente toma más de 1 ciclo?
Las preguntas sobre si las cosas van a ser lo suficientemente rápidas dependen más bien de lo que significa "lo suficientemente rápido". Si 100 MHz no es lo suficientemente rápido, ¿qué velocidad está buscando?
Este sistema de comentarios realmente apesta.
El sistema de mensajes dejó caer un segmento 2**k operaciones deben ser compatibles. Cada bit toma como entrada A, BC, Li y Ri. L y genera una salida O, Lo, Ro, FF se asigna a algún registro de bandera, C, OV, S, Z, etc. Lo se envía a Ri del siguiente bit consecutivo, y Ro se envía a Li del bit anterior. poco.
Su pregunta era sobre cómo el caché en el chip es más rápido que la RAM fuera del chip, le sugiero que haga una nueva pregunta específicamente relacionada con su diseño donde pueda hacerla con más detalle.