En el texto que estoy siguiendo, RSGaonkar se explica que,
Durante T1, la dirección en el contador de programas (PC) se engancha en el registro de direcciones de memoria (MAR),
Durante el flanco descendente de T2 se activa y, durante el flanco ascendente, el contenido del registro de datos de memoria se coloca en el bus
Durante T3, el contenido del bus se engancha al acumulador.
Mi pregunta es , durante el flanco ascendente de T2, ¿por qué el MDR no se engancha directamente al acumulador, sino que toma otro estado T para engancharlo?
El estado T "extra" está diseñado en el ciclo para dar a la memoria externa tiempo suficiente para responder. Recuerde, cuando se diseñó este chip, los chips de memoria usaban la misma tecnología básica que el procesador y eran igual de lentos, además de que se requería tiempo adicional para la decodificación de direcciones externas y el almacenamiento en búfer del bus.
Los diseñadores querían facilitar la creación de un sistema "mínimo" sin necesidad de una lógica externa para generar estados de espera.
Estos son los detalles del ciclo de lectura, de la hoja de datos , en la página 1-25.
Tenga en cuenta que t CYC es 320 ns (3 MHz, 8085AH), pero podría ser tan corto como 167 ns (6 MHz, 8085AH-1).
t AD es el tiempo total de acceso a la memoria desde el punto de vista de la CPU, desde el momento en que la dirección es estable hasta que los datos deben ser válidos. Se da como 575 ns para el 8085AH. Si eliminara un ciclo T, esto se reduciría a solo 255 ns.
Como dije, esto es desde el punto de vista de la CPU: las líneas de dirección se vuelven válidas en los pines de la CPU y los datos deben ser válidos en los pines de la CPU . Este tiempo total debe incluir el tiempo que tardan las señales de dirección en propagarse a través de los búferes de direcciones, los decodificadores de direcciones y posiblemente a través de algún tipo de backplane del sistema antes de llegar a los pines del chip RAM real. Este es el punto en el que comienza el ciclo de lectura de RAM: t AA es el tiempo desde que la dirección es válida en los pines del chip de RAM hasta que sus salidas de datos son válidas, y este suele ser el parámetro más lento en el chip.
Luego, cuando los datos se vuelven válidos en los pines del chip RAM , aún deben propagarse a través de uno o más búferes de bus (y otro viaje a través del backplane) antes de regresar a la CPU.
Toda esa sobrecarga podría sumar fácilmente algo del orden de 200 ns. Con un ciclo de 2 estados T, eso dejaría solo 55 ns para el tiempo de acceso al chip de RAM. Con un ciclo de 3 estados T, obtienes más de 375 ns, que es un valor mucho más razonable para los chips disponibles en ese momento.
Marko Bursic
Aravindh Vasu
steve g