Fonctionnement d'un ordinateur/L'interface avec le bus mémoire

Un livre de Wikilivres.
Aller à la navigation Aller à la recherche

Pour rappel, les mémoires RAM et ROM sont connectées à un bus mémoire, qui relie la mémoire avec le processeur, voire avec le reste de l'ordinateur. En théorie, les bus d'adresse et de commande sont de simples entrées, mais le bus de données recèle quelques petites surprises. La commande du bus de données est le fait de deux bits du bus de commande. Le premier est le bit Output Enable, qui permet de connecter/déconnecter la mémoire du bus de données selon les besoins. Lorsque ce bit est à 1, il désactive les broches du bus de données, ce qui stoppe les lectures, mais laisse cependant le bus de commande fonctionner. L'autre bit est le bit R/W des mémoires qui en ont un, qui indique dans quel sens se fait le transfert sur le bus de données.

Tampons 3 états.

Pour rappel, la connexion/déconnexion d'un composant électronique à un bus est réalisée par des circuits trois états, et la mémoire ne fait pas exception. Pour simplifier, on peut voir ceux-ci comme des interrupteurs que l'on peut ouvrir ou fermer, suivant le bit envoyé sur leur entrée de commande. Lorsqu'ils sont ouverts, les entrées-sorties du bus de données sont mises dans un état dit de haute impédance, qui n'est ni un 0 ni un 1. Une sortie en haute impédance n'a pas la moindre influence sur le bus et ne peut donc pas y écrire. L'interface du bus de données est constituée de circuits trois-états, et éventuellement de circuits combinatoires pour commander les circuits trois-états. Si ce circuit combinatoire existe, il prend entrée les bits CS, OE et R/W et fournit les bits de commande des circuits trois-états sur sa sortie.

L'interface mémoire d'une ROM[modifier | modifier le wikicode]

Pour une mémoire ROM, il n'y a qu'un seul sens de transfert, ce qui nécessite un seul circuit trois-états en sortie de chaque bitline, à l'endroit ou celle-ci se connecte sur le bus. Le bit Output Enable, qui indique s'il faut connecter la mémoire au bus ou non, est juste envoyé sur l'entrée de commande de tous les composants trois-états. Ce faisant, tous sont activés ou désactivés en même temps, ce qui est le bus recherché.

Bus en écriture seule.

L'interface mémoire d'une RAM[modifier | modifier le wikicode]

Les mémoires RAM peuvent aussi bien émettre que recevoir des données sur le bus quand elle s'y connecte. Pour chaque fil du bus de données, on a deux circuits trois états : un pour l'émission/écriture et un autre pour la réception/lecture.

Bus en lecture et écriture.

L'interface des RAM mono-port[modifier | modifier le wikicode]

Les circuits trois-états sont commandés par le bit OE, mais aussi par le bit R/W qui décide du sens de transfert. Pour faire la traduction entre ces deux bits et les bits à placer sur l'entrée de commande des circuits trois-états, on utilise un petit circuit combinatoire assez simple.

Sur certaines mémoires, le bus de données est commandé par deux bits : un bit pour indiquer qu'on veut faire une lecture, et un autre bit pour indiquer qu'on veut démarrer une écriture. La combinaison des deux bits permet de coder quatre valeurs : une valeur pour la lecture, une pour l'écriture, et deux autres valeurs qui indiquent qu'il faut déconnecter la mémoire du bus. Dans ce cas, pas besoin de circuit qui fait la traduction : le premier bit est envoyé directement aux circuits trois-états qui s'occupent des lectures, l'autre bit est envoyé aux circuits trois-états sur les entrées d'écriture.

L'interface des RAM multi-ports[modifier | modifier le wikicode]

Sur les mémoires multiports, où le bus de lecture est séparé du bus d'écriture, la situation est légèrement différente. Les circuits trois-états pour la lecture et l'écriture sont séparés, dans le sens où ils ne sont pas relié à la même ligne de bit (bitline). Les circuits trois-états du port de lecture sont commandés par le bit OE, comme illustré ci-dessous. Le port d'écriture est commandés par le bit R/W et le bit OE.

RAM mono-port et circuits trois-états (seuls ceux pour la lecture sont représentés, pas ceux pour l'écriture.