8085 µp; ¿Por qué el ciclo de lectura toma 3 estados T y no 2?

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 METRO mi METRO R ¯ 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?

Esa es la forma en que está.
@MarkoBuršič :( Muy bien, pero podría salvar un T-State completo (alguien definitivamente habría pensado en esto, porque tiene que haber una razón para extender el proceso a un T-State completo, de lo contrario, podríamos ahorrar grandes cantidades de tiempo, pero ese no es el caso)
¿Es porque el 8085 tiene un bus de direcciones multiplexado?

Respuestas (1)

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.

diagrama de tiempo del ciclo de lectura

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.

Pensé un poco sobre esto y tuve una duda ingenua, ¿cómo puede una memoria ser lenta, quiero decir, transmitir voltajes y corrientes por cable, por qué sería eso lento? ¿No depende eso de la velocidad de nuestro reloj? ¿Y qué significa el almacenamiento en búfer de bus? Quiero decir, no entiendo el significado de esa frase, como... como una acción.
Los chips de memoria son circuitos, al igual que el procesador. Entonces, tardan en reaccionar.
Los pines del procesador no eran lo suficientemente fuertes para enviar señales lógicas a una cantidad de chips de memoria conectados en paralelo, o para manejar cables físicamente largos. Entonces, para todas las placas, excepto las más pequeñas, necesitaba buffers (es decir, 74HC244) para aumentar la unidad. Esos búferes agregaron demora.
@AravindhVasu, ¿cómo puede ser lenta una CPU?
@ usuario253751 ¿qué quieres decir?
La memoria de @AravindhVasu puede ser lenta de la misma manera que las CPU pueden ser