Share via


Horloge murale et registres de position de liaison

Le contrôleur HD Audio contient un registre d’horloge murale 32 bits qui s’incrémente à la fréquence d’horloge de la liaison audio HD et bascule environ toutes les 89 secondes. Software utilise ce compteur pour synchroniser entre deux ou plusieurs appareils de contrôleur en mesurant la dérive relative entre les horloges matérielles des appareils.

En outre, le contrôleur Audio HD contient un ensemble de registres de position de lien. Chaque moteur DMA a un registre de position de lien qui indique la position de lecture ou d’écriture actuelle des données transmises par le moteur via hd Audio Link. Le registre de position exprime la position actuelle sous la forme d’un décalage d’octets à partir du début de la mémoire tampon cyclique :

  • Dans un flux de rendu, le registre de position de lien indique le décalage de mémoire tampon cyclique de l’octet suivant que le moteur DMA enverra sur le lien vers le codec.

  • Dans un flux de capture, le registre de position de lien indique le décalage de mémoire tampon cyclique de l’octet suivant que le moteur DMA recevra du codec sur le lien.

Le décalage de mémoire tampon cyclique est simplement le décalage en octets de la position de lecture ou d’écriture actuelle à partir du début de la mémoire tampon cyclique. Lorsque vous atteignez la fin de la mémoire tampon, la position est encapsulée au début de la mémoire tampon et le décalage de mémoire tampon cyclique est réinitialisé à zéro. La mémoire tampon cyclique réside dans la mémoire système. Pour plus d’informations, consultez la Spécification audio haute définition Intel sur le site web d’Intel HD Audio .

Un pilote de fonction en mode noyau peut lire directement l’horloge murale et les registres de position de liaison. Pour activer l’accès direct, le pilote de bus Audio HD mappe la mémoire physique qui contient les registres dans la mémoire virtuelle système. Le pilote de fonction appelle la routine GetWallClockRegister ou GetLinkPositionRegister pour obtenir un pointeur d’adresse virtuelle système vers le registre de l’horloge murale ou un registre de position de lien. Ces deux routines sont disponibles dans les deux versions de hd Audio DDI.

Le matériel du contrôleur audio HD reflète l’horloge murale et les registres de position de liaison dans les pages mémoire qui ne contiennent aucun autre registre dans le contrôleur. Par conséquent, si le pilote de fonction mappe l’horloge murale ou les registres de position mis en miroir en mode utilisateur, aucun programme en mode utilisateur ne peut accéder aux autres registres du contrôleur. Le pilote n’autorise jamais un programme en mode utilisateur à toucher ces autres registres et à programmer le matériel.

La mise en miroir d’inscriptions doit prendre en charge la taille de page du processeur hôte. Selon l’architecture du processeur hôte, une taille de page standard peut être de 4 096 ou 8 192 octets.