Hola Alejandro que tal? Paso a responderte.
Básicamente hay dos tipos de FF a la entrada. Los de handshake, y los puertos de entrada con memoria. Los handshake son simplemente una bandera que manejan el dispositivo externo y el Z80 de forma de "dar aviso" de algún evento, esta bandera es útil por ejemplo cuando la forma de avisar del dispositivo externo es un pulso que puede venir en cualquier momento. En general se usan para cuando uno decide hacer polling, como el caso del ejercicio del 2014 que comentas. Respecto a los puertos con memoria: son esencialmente iguales a un puerto normal solo que con un flip flop de por medio. ¿Con que motivo va este flip flop? Hay veces que no sabemos si el dispositivo de salida mantiene su estada estable o solo la da por un momento. Ejemplo, en este caso sabemos que cuando hay un flanco en clk la señal en data se mantendrá estable hasta el siguiente dato, por lo que no es necesario memorizarlo con un flip flop. Distinto sería si lo único que sabemos es que en el flanco de clk el dispo pone sus datos pero no sabemos por cuanto. En ese caso habría que agregar el FF D que comentas vos. De esta forma el dato quedará memorizado en el momento correcto y cuando clk interrumpa estaremos tranquilos de que cuando llegue a preguntar por DATA en la rutina de atención estará el dato esperado ya que nos encargamos de mantenerlo estable. Volviendo un poco a este ejercicio, lo que tu dices "para recibir los datos que vienen en forma serial en DATA, me hubiera parecido razonable poner un FF-D con el CLK_PS2 conectado en su entrada de reloj y con DATA conectado en su entrada D" estaría bien esta solución pero sería redundante el FF de Data ya que los datos se mantienen por si solos.
Lo de CLR_FF la verdad me parece extraño, tendría que meterme a ver bien el ejercicio, pero me parece extraño, porque podrían limpiarlo con la señal INTA clásica, sino hay que tener algunos cuidados en la rutina de atención y demás.
El ejercicio 3: Respecto a este ejercicio primero comento el tema de la señal ready, la letra dice "Cuando llega el pulso de ready se debe leer el estado de la transmisión en la salida status de la radio" y si no leí muy rápido no dice mas nada respecto a status. Lo único que se es que necesito saber cuanto vale status en el momento exacto en el que hay un pulso en ready el tema es que no se si status se mantiene hasta que yo lo lea, por eso va el puerto con memoria cuyo clk va conectado a ready, para mantener el dato.
Respecto al sensor, uno podría pensar exactamente lo mismo, no se si mantiene Sendat hasta que yo baje busy. Otra cosa es que dice que produce datos a una tasa variable, leyendo la letra a mi esto me genera la siguiente duda: Si me mando un dato y antes de que yo lo lea genera otro! ¿Me mantiene el dato anterior? Lo único que se es que no coloca ese dato nuevo en sendat y que no me manda un pulso en nuevo data hasta que yo le avise. Sin dudas si hubiera estado en ese parcial hubiera preguntado si el dispositivo mantiene o no su entrada, al final siempre es esto lo importante.
De todas formas esto es lo que creo yo, invito a un profe a comentar su opinión. Espero haber sido de ayuda, saludos!