Uso de tristados vs multiplexores en una RAM


8

¿Por qué se prefieren los tristados sobre los multiplexores para seleccionar la salida de la RAM? La explicación que escuché es que la RAM es demasiado grande para usar un multiplexor, pero necesito más detalles.

Una teoría que se nos ocurre es que usar un multiplexor necesitaría un árbol de compuertas OR para seleccionar la salida, lo que aumentaría drásticamente el tiempo de propagación de la señal al bus, mientras que con tristados, sin importar el tamaño de la RAM, El retraso de propagación sería constante.

¿Es eso correcto?

Gracias

Respuestas:


6

Es una cuestión de "fan-out" o "fan-in". Entonces su teoría es más o menos precisa. ¡Sin embargo, existe el beneficio adicional de usar salidas tristadas que puede conectarlas a un bus! Si usa un multiplexor CMOS, no puede compartir los cables en los que está encendida la salida, si usa dispositivos Tri-State, puede compartir el bus con otros dispositivos con bus (bajo el control de un árbitro, por ejemplo) ... en el contexto de RAM, piense en "bus de memoria".


¿Hay alguna referencia a la que me pueda indicar que explique este problema con algún detalle? ¡Gracias!
Sid


2
Me refería más a una referencia de por qué los multiplexores no se usan en la RAM. Si bien la referencia de cmu ciertamente lo implica cuando menciona el problema actual con grandes fan-in / fan-outs, sería genial tener una referencia que explícitamente mencione esto.
Sid

3

Si se construye una matriz de memoria rectangular que se lee usando un controlador de tres estados en cada celda de memoria, entonces un circuito decodificador puede controlar todas las celdas en una fila. Se necesitarán circuitos alrededor del perímetro de la matriz para controlarlo, pero la cantidad de circuitos de control será proporcional a sqrt (N) * lg (N). Por el contrario, si uno intentara alimentar todas las celdas de memoria en un multiplexor, terminaría necesitando muchos más circuitos.

El enfoque basado en multiplexor tiene algunas ventajas. Si uno construyera una memoria de una mega-palabra usando multiplexores bidireccionales, cada bit tendría que pasar a través de 20 multiplexores, pero uno podría lograr un sistema de memoria canalizada de muy alto ancho de banda si cada multiplexor incluyera un pestillo. Se necesitarían 20 ciclos para realizar cualquier operación de lectura en particular, pero en 100 ciclos se podrían comenzar 100 lecturas diferentes. Dado que la señal no tendría que ir muy lejos en cada ciclo y no conduciría ningún autobús grande, la velocidad del ciclo podría ser extremadamente alta.

La cuestión de si usar multiplexores o buses termina siendo algo similar a la cuestión de si usar repetidores de datos al enviar información a largas distancias. Por un lado, los repetidores de datos agregan retraso. Por otro lado, el tiempo requerido para que una transición de señal en un extremo de un tramo de cobre provoque una transición en el otro extremo es asintóticamente proporcional al cuadrado de la longitud (ya que agregar longitud agrega resistencia y capacitancia). Agregar un repetidor en el medio de un cable largo puede terminar mejorando la velocidad, ya que el largo plazo será reemplazado por dos más cortos con entre un cuarto y la mitad del retraso más largo.

Si se duplicara el ancho y la longitud de una matriz de memoria sin mejorar el 'empuje' de los circuitos de controlador de fila y columna, se duplicaría el tiempo requerido para cambiar las filas y columnas. Por el contrario, si uno usara cuatro arreglos de memoria más pequeños y multiplexara las salidas, solo agregaría una constante al tiempo de acceso. Los recuerdos más rápidos se subdividen en conjuntos más pequeños conectados por multiplexores; Los recuerdos más baratos usan menos multiplexores pero no son tan rápidos.


0

Al triplicar en un autobús, su sistema escala mejor. Simplemente puede agregar más dispositivos confiables, sin tener que reconfigurar los dispositivos antiguos y el nuevo dispositivo para cooperar a través de un multiplexor nuevo y más grande.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.