Valores de temporización de memoria para microprocesador (8086)

Hay algo vago con la operación de temporización de la memoria del microprocesador 8086 según leí de muchas fuentes. Hay un TAVDV que es el tiempo desde que una dirección válida entra en el bus hasta que aparece un dato válido en el bus (en el ciclo de lectura). Echa un vistazo a este libro (página 58).

Para calcular eso (la figura en la página 59), asume 3 ciclos de reloj como un todo y luego resta dos términos redundantes. Uno es TCLAV, que significa el tiempo desde el reloj hasta que la dirección válida está en el bus y el otro término es TDVCL, que significa el tiempo en que los datos válidos están en el bus hasta el borde del reloj.

La idea es bastante simple si miras esas páginas. El problema es que el cálculo de TDVCL parece estar mal. ¿¿Por qué??

El período de reloj de 8086 (5 MHz) es de 200 ns. Dado que el ciclo de trabajo es del 30%, eso significa que se asumen 133 ns para bajo y 66 ns para alto. Por lo tanto,

TCLAV = ONE_PERIOD - Tsetup - T_ONE

No sé el Tsetuppero 200-66=133y suponiendo un valor arbitrario para Tsetup, llegamos a 110 ns para TAVCL (como se indica en el libro).

Ahora, el libro dice que TDVCL es 30ns. ¿Cómo se calcula eso? Las líneas de datos deben contener valores válidos según el Tsetup. Por lo tanto, en mi opinión, TDVCL es absolutamente superior a 66 ns (que es el tiempo para que el reloj esté alto).

¿Alguien puede explicar cómo se calcula eso?

Pego el texto y la figura aquí.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

¿Te das cuenta de que estás investigando una tecnología de hace 37 años? Personalmente, preferiría dedicar mi tiempo a tecnologías más recientes.
Bueno, esta arquitectura en particular sigue siendo tremendamente común. Admito que no sé si los tiempos específicos descritos aquí todavía existen, pero el arco y los chips físicos todavía se están haciendo y son fáciles de encontrar en todas partes.
Los tiempos no son relevantes para ningún procesador más reciente que el 80186 (creo que el 80286 cambió un reloj de ciclo de trabajo del 50%) ... pero el 8086 y el 80186 todavía están en producción, y son opciones plausibles para los sistemas informáticos caseros. (suponiendo que no intente comprarlos en digikey, que como no distribuidor no venderá menos de 99 de ellos a la vez...).
"El período de reloj de 8086 (5 MHz) es de 200 ns. Dado que el ciclo de trabajo es del 30 %, eso significa que se asumen 133 ns para bajo y 66 ns para alto". -- generalmente se cita que el 8086 necesita un ciclo de trabajo del 33%, y así es como la mayoría de los diseños los usan. Pero un reloj de 133 ns/66 ns (generalmente generado a partir de un reloj de 30 MHz usando un contador a 4 y luego a 2 para dividir los ciclos) en realidad está fuera de especificación, ya que el tiempo mínimo mínimo se indica en la hoja de datos como 69 ns. 125ns/75ns (40 MHz divididos en 5 y 3 ciclos) es probablemente la división más razonable si desea mantenerse dentro de las especificaciones y obtener el máximo rendimiento.
(Ver también: retrocomputing.stackexchange.com/questions/5611/… que es algo relevante para esta pregunta)

Respuestas (1)

Una búsqueda en Google da esta hoja de datos .

TDVCL, que es el tiempo de configuración del flip flop de entrada de datos, es un valor dado, lo que significa que se caracteriza por el silicio, no se deriva.

TAVCL, que es un reloj para el valor de salida (no un valor de configuración), que también es un valor dado en la hoja de datos.

Sin el conocimiento del diseño interno, no puede intentar calcular un valor para estos, razón por la cual se proporcionan. El hecho de que la TAVCL sea tan grande probablemente refleja la complejidad de la lógica asíncrona interna que genera la dirección. Es probable que TDVCL sea pequeño porque la entrada va directamente a un flip flop.

Los dos valores (TAVLC y TDVCL) se pueden usar para calcular el requisito de tiempo de acceso a la memoria asíncrona como se hace en el libro, excepto por el hecho de que no tuvieron en cuenta el retraso de seguimiento de PCB de ida y vuelta.

"Olvidaron tener en cuenta el retraso de rastreo de PCB de ida y vuelta". ... con un tiempo de acceso mínimo de 460 ns y un tiempo de ciclo mínimo de 600 ns, no es probable que el retraso en el rastreo de PCB sea una gran preocupación, a menos que su placa tenga varios metros de largo.