El códec AC'97 parece dominar el mundo de la E / S digital, pero lo extraño es que no tiene interrupciones ni búferes, por lo que es difícil interactuar con un controlador, que tiene otras actividades. El AC97 exige realizar una encuesta periódica (44k veces por segundo), verificando el tiempo para comunicar una próxima muestra. Esta no es la forma habitual de comunicación por lo general. Por lo general, la CPU llena un búfer y se le notifica cuando la operación se completa o espera explícitamente el resultado si no tiene nada más que hacer. Dicho "procesamiento por lotes" es más eficiente porque, al principio, enviar ráfagas es más eficiente que hacer un artículo una vez y, en segundo lugar, reduce el cambio de contexto n veces, lo que también optimiza los recursos computacionales en consecuencia. Pero, necesitas un FIFO para eso. Lo que es bueno en esto, en la muestra a tiempo, el diseño terrible de AC97 y ¿por qué a nadie le importa? Veo que Xilinx lo arregla con la placa de demostración ML507 (veo FIFO en el controlador AC97 introducido allí) pero tengo la placa V5 Genesys de Digilent cuyo controlador no proporciona ninguna FIFO. Para que Microblaze deba comunicar una muestra cada 1/44100 de segundo. ¿Es eficiente? ¿Cómo se supone que debes controlarlo?