Différence entre le pointeur binaire et le pointeur de code gris

Dec 06, 2019

Différence entre le pointeur binaire et le pointeur de code gris

(1) En raison de la synchronisation de la prise de contact, le pointeur peut avoir plusieurs bits changés en même temps, et le pointeur binaire peut sauter sur une longueur arbitraire chaque fois qu'il se déplace, ce qui facilite la mise en œuvre de certaines fonctions du FIFO (pour exemple, le matériel contrôle directement la FIFO à partir du cache Un paquet d'erreur est rejeté dans le flux de données); et le pointeur de code Gray ne peut généralement se déplacer que vers le haut ou vers le bas.

(3) Par rapport à la synchronisation directe, la synchronisation par prise de contact nécessite plusieurs cycles d'horloge, de sorte que le jugement à vide des pointeurs binaires est plus "conservateur" que le jugement à vide des pointeurs de code Gray; pour concevoir un FIFO de grande capacité et composé de mémoire, on dit que l'espace perdu à cause d'un jugement conservateur peut être ignoré; mais pour un petit FIFO, ce "conservateur" peut ne pas être acceptable. Par exemple, un FIFO composé de 8 registres. Pour un pointeur codé en code Gray, dans le pire des cas, lorsque la FIFO est jugée pleine par le rédacteur, il n'y a en fait que cinq données stockées en elle (en utilisant un synchroniseur à deux niveaux, cela peut prendre trois Synchronisation de deux cycles et les opérations de lecture se produisent au cours de ces trois cycles); Pour les pointeurs avec codage binaire, lorsque le FIFO est jugé plein, il ne peut y avoir que trois données dans le FIFO ou moins (en utilisant un synchroniseur à deux étages, dans le meilleur des cas, cinq cycles de prise de contact sont nécessaires et des opérations de lecture se produisent dans les cinq cycles).


Envoyez demande