Utilisation de tristates vs multiplexeurs dans une RAM


8

Pourquoi les tristates sont-ils préférés aux multiplexeurs pour sélectionner la sortie de la RAM? L'explication dont j'ai entendu parler est que la RAM est trop grande pour utiliser un multiplexeur mais j'ai besoin de plus de détails.

Une théorie que nous avons trouvée est que l'utilisation d'un multiplexeur nécessiterait un arbre de portes OU pour sélectionner la sortie, ce qui augmenterait considérablement le temps de propagation du signal vers le bus alors qu'avec des états triples, quelle que soit la taille de la RAM, le retard de propagation serait constant.

Est-ce exact?

Merci

Réponses:


6

C'est un problème de "fan-out" ou de "fan-in". Votre théorie est donc plus ou moins précise. Cependant, il y a l'avantage supplémentaire d'utiliser des sorties à trois états que vous pouvez les relier à un bus! Si vous utilisez un multiplexeur CMOS, vous ne pouvez pas partager les fils sur lesquels se trouve la sortie, si vous utilisez des appareils à trois états, vous pouvez partager le bus avec d'autres appareils mis en bus (sous le contrôle d'un arbitre par exemple) ... dans le contexte de RAM, pensez "bus mémoire".


Y a-t-il une référence que vous pourriez me signaler qui explique ce problème en détail? Merci!
Sid


2
Je voulais plus pour une référence pour pourquoi les multiplexeurs ne sont pas utilisés dans la RAM. Bien que la référence cmu l'implique certainement lorsqu'elle mentionne le problème actuel avec les grands fan-in / fan-out, il serait formidable d'avoir une référence qui le mentionne explicitement.
Sid

3

Si l'on construit un réseau de mémoire rectangulaire qui est lu en utilisant un pilote à trois états dans chaque cellule de mémoire, alors un circuit décodeur peut contrôler toutes les cellules dans une rangée. On aura besoin de circuits autour du périmètre de la matrice pour le contrôler, mais la quantité de circuits de contrôle sera proportionnelle à sqrt (N) * lg (N). En revanche, si l'on essayait d'alimenter toutes les cellules de mémoire dans un multiplexeur, on finirait par avoir besoin de beaucoup plus de circuits.

L'approche basée sur un multiplexeur présente certains avantages. Si l'on construisait une mémoire d'un méga mot en utilisant des multiplexeurs bidirectionnels, chaque bit devrait passer par 20 multiplexeurs, mais on pourrait obtenir un système de mémoire en pipeline à très large bande passante si chaque multiplexeur comprenait un verrou. Il faudrait 20 cycles pour effectuer une opération de lecture particulière, mais en 100 cycles, on pourrait commencer 100 lectures différentes. Étant donné que le signal n'aurait pas à aller très loin dans chaque cycle et ne conduirait pas de gros bus, le taux de cycle pourrait être extrêmement élevé.

La question de savoir s'il faut utiliser des multiplexeurs ou des bus finit par être quelque peu similaire à la question de savoir s'il faut utiliser des répéteurs de données lors de l'envoi d'informations sur de longues distances. D'une part, les répéteurs de données ajoutent du retard. D'un autre côté, le temps nécessaire à une transition de signal à une extrémité d'un tronçon de cuivre pour provoquer une transition à l'autre extrémité est asymptotiquement proportionnel au carré de la longueur (puisque l'ajout de longueur ajoute à la fois la résistance et la capacité). L'ajout d'un répéteur au milieu d'un long fil peut finir par améliorer la vitesse car le long terme sera remplacé par deux plus courts avec entre un quart et la moitié du délai le plus long.

Si l'on devait doubler la largeur et la longueur d'une matrice de mémoire sans améliorer le «punch» des circuits de commande de ligne et de colonne, on doublerait plus que le temps nécessaire pour commuter les lignes et les colonnes. En revanche, si l'on devait utiliser quatre baies de mémoire plus petites et multiplexer les sorties, on ajouterait seulement une constante au temps d'accès. Les mémoires plus rapides sont subdivisées en plusieurs matrices plus petites connectées par des multiplexeurs; les mémoires moins chères utilisent moins de multiplexeurs mais ne sont pas aussi rapides.


0

En déclarant trois fois sur un bus, votre système évolue mieux. Vous pouvez simplement ajouter plus de périphériques tristatable, sans avoir à reconfigurer les anciens périphériques et le nouveau périphérique pour coopérer via un nouveau multiplexeur plus grand.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.