Tiempos hardware

Tiempos hardware

de Maria Sara Silva Addiego -
Número de respuestas: 2
Buenass, tengo una confusión con cuándo se leen/escriben efectivamente los datos en cada ciclo. Había entendido que era siempre en la bajada de T3 pero ahora haceindo un ejercicio me parece que en la escritura es en la subida de WR o CE no? En conclusión creo que sería:

- En RD (ya sea IORQ o MREQ, o M1?) se leen los datos en la bajada de T3 
- En WR (ya sea IORQ o MREQ) se escriben los datos con el primero que suba de WR o CE

Es así? 

Y después del ejercicio de tiempos hardware de 2012 me surgió la duda de por qué no toma en cuenta el tiempo de buffer de entrada-salida. O sea entiendo que el tiempo que demore el buffer en propagar que efectivamente pueden pasar los datos influye porque los atrasa, pero por qué el otro tiempo no?

Gracias! 

Saludos
En respuesta a Maria Sara Silva Addiego

Re: Tiempos hardware

de Julio Perez -
Hola,
el momento en que efectivamente se transfieren los datos en una transferencia lo determina el registro en el cual se guardan esos datos.

En las lecturas es el Z80 y hay que fijarse qué flanco de reloj se toma como referencia para los requerimientos de tiempo de setup y hold en las entradas. En los ciclos de lectura de entrada-salida y lectura de memoria el setup se pide respecto al flanco de bajada de reloj (t25) y el hold respecto a la subida de la señal de control que suba primero (t16) que se produce un retardo después. En el ciclo M1 la situación es similar pero respecto al flanco de subida de T3 (t15).

En las escrituras, en cambio, el instante en que se escribe el dato depende de cómo funciona el elemento de memoria en el cual estoy escribiendo. P. ej., en un puerto de salida armado con un registro tipo D y con una señal /odsp_xx = /iorq + /wr + (address_xx) conectada a su entrada sensible al flanco de subida, la escritura se produce con el flanco de subida en odsp_xx que será cuando suba la primera de /iorq o /wr. Otro ejemplo, si fuera un registro con entrada ENA = odsp_xx y el clk del sistema conectado a la entrada de reloj, entonces la transferencia se da en todos los flancos del reloj del sistema en que odsp_xx vale 1.

Sobre el ejercicio de 2012, la letra te dice que las entradas al buffer (L[ 7..0 ] ) se modifican solo cuando el sistema está apagado. O sea que para el análisis de tiempos esas entradas son constantes, las salidas del buffer solamente se modifican si hay un cambio en la entrada de habilitación, que se propaga a la salida con retardo toe_buff.

Espero haber aclarado algo. Si no se puede volver a consultar.
Recuerden que hoy hay clase de consulta a las 17:00 en el IIE.

julio