Uso de la línea READY en 8086 - ¿es obligatorio?

2

Muy bien gente,

Recientemente comencé a trabajar en el diseño de una placa única 8086 en mi tiempo libre para jugar (a falta de una palabra mejor, necesito experimentar la prisa de estar cerca del hardware de bajo nivel).

Tenía la intención de usar MRAM con capacidad para 35 ns como medio de almacenamiento (código de programa / RAM) principalmente como un experimento, pero también porque tengo algunos dispositivos sin soldadura. He comprobado las hojas de datos y el dispositivo (MR2A16A) lleva un tiempo compatible con SRAM, no especifica un máximo en sus tiempos de acceso, por lo que los pensamientos iniciales son intentarlo.

El problema es que, de acuerdo con la hoja de datos, el 8086 usa la línea READY como una señal para eliminar su bus (AD15-AD0) del estado de alta impedancia y leer los datos (o al menos, eso es lo que hago). m dado a creer). A continuación se muestra la sección detallada "Temporización del sistema - Modo mínimo". Se puede encontrar aquí en la página 12:

  

El ciclo de lectura comienza en T1 con la confirmación de la señal de habilitación de bloqueo de dirección (ALE). El borde posterior (bajo) de esta señal se utiliza para bloquear la información de la dirección, que es válida en el bus local en este momento, en el bloqueo de la dirección. El BHE # y A0 abordan los bytes bajo, alto o ambos. De T1 a T4, la señal M / IO # indica una operación de memoria o E / S. En T2, la dirección se elimina del bus local y el bus pasa a un estado de alta impedancia. La señal de control de lectura también se afirma en T2. La señal de lectura (RD #) hace que el dispositivo direccionado habilite sus controladores de bus de datos al bus local. Algún tiempo después, habrá datos válidos disponibles en el bus y el dispositivo direccionado dirigirá la línea LISTA ALTA. Cuando el procesador devuelve la señal de lectura a un nivel ALTO, el dispositivo direccionado volverá a establecer el estado de sus controladores de bus. Si se requiere un transceptor para almacenar el bus local del 8086, el 8086 proporciona las señales DT / R # y DEN #

Obviamente, ningún controlador de memoria en la actualidad se basará en una señal discreta que le indique cuándo han aparecido los datos. Su tiempo simplemente concuerda con la memoria. Como tal, este MRAM no tiene tal señal.

Para complicar aún más las cosas, los diagramas anteriores a la página 12 para ver ejemplos de las configuraciones de hardware de modo mínimo / máximo solo muestran LISTO usado por el reloj y la lógica del generador de reinicio, pero la memoria y el bus local no lo utilizan en absoluto.

Entonces, la pregunta final es: ¿es esta línea incluso necesaria para acceder a la memoria? ¿Estoy consiguiendo su función correcta? Por favor avise.

    
pregunta ecfedele

1 respuesta

2

LISTO: se usa para insertar estados de espera (controlados por la memoria y la E / S para lecturas / escrituras) en el microprocesador. (Documento de la UNM).

Id est, la memoria lenta la utiliza para indicar al 8086 que haga una pausa hasta que el contenido de la memoria esté listo para ser leído.

    
respondido por el TDHofstetter

Lea otras preguntas en las etiquetas