Analyse temporelle et CDC
Dans une FIFO asynchrone de 16 mots de profondeur, quelle est la raison correcte pour laquelle les pointeurs d'écriture et de lecture ont 5 bits, soit 1 bit de plus que l'adresse ?
- AParce qu'il faut 5 bits pour représenter les adresses de 16 mots
- BPour pouvoir distinguer, lorsque les pointeurs sont égaux, l'état vide (même tour) de l'état plein (un tour d'écart)
- CPour utiliser le bit supplémentaire comme parité et détecter les erreurs de pointeur
Afficher la réponse et l'explication
Réponse : B. Pour pouvoir distinguer, lorsque les pointeurs sont égaux, l'état vide (même tour) de l'état plein (un tour d'écart)
Les adresses de 16 mots s'expriment sur 4 bits, mais avec des pointeurs de 4 bits seulement, lorsque les adresses de lecture et d'écriture coïncident, on ne peut pas distinguer l'état vide, où tout a été lu, de l'état plein, où l'écriture a fait un tour complet et rattrapé la lecture. En ajoutant un 5e bit qui indique le tour, on peut, en comparaison binaire, conclure à l'état vide si les 5 bits coïncident, et à l'état plein si seul le bit de poids fort diffère. Avec des pointeurs en code de Gray, la comparaison pour détecter l'état plein change légèrement. Le bit n'est pas utilisé comme parité.
Continuer : 9 autres questions sur Analyse temporelle et CDC