PIO和DMA,两种方式的比较:
1.速度上,PIO方式相对较慢些,需要等待状态变化,每次重新下命令,特别是在命令比较多的时候,比较费时。
2.使用资源上,DMA方式需要大量的Memory资源,CORB和RIRB都是要128byte对齐的。
所以BIOS中一般采用PIO 的方式配置Audio Codec,driver一般采用DMA的方式。
Driver:
1.目前MicroSoft的Windows系统(Windows 2000,XP,Vista)中都集成有UAA (Universal Audio Architecture)driver,
提供基本的音频处理能力,包含Audio path的解析和优化,输入输出功能的配置(依照Verb Table的信息)等等,
UAA 1.1在Windows Vista集成,按照HD Audio spec实现的统一的Audio driver,Audio Codec厂商提供的Driver主要是一些图形界面的配置,声音效果,自动探测和功能转换等功能。
2.在Linux系统则主要用ALSA(Advanced Linux Sound Architecture)driver。
另外MicroSoft有自己定义一些额外的要求,对于Verb Table:Pin Config