Avant tout, un registre est un emplacement mémoire de la taille d'un mot (nombre de bits qui varie selon l'architecture et plus particulièrement la largeur du bus.) dans le CPU. Si tout ce charabia ne vous dit rien, je vous propose de lire les pages précédentes sur l'architecture des ordinateurs.
Selon la politique du constructeur, le nombre de registre peut varier, influençant considérablement l'architecture du processeur. Nous nous pencherons sur les registres les plus importants.
Certains registres définis ici sont représentés dans notre exemple de micro architecture.
Angl : Micro Program Counter.
Fr : CO, Compteur Ordinal.
Le MPC contient l'adresse en mémoire l'adresse de l'instruction à exécuter.
A la fin de chaque instruction, la valeur contenue dans le MPC est incrémentée, ce qui signifie que l'instruction à exécuter ensuite se trouve à l'adresse suivante. Dans notre exemple de micro architecture, cela correspond à l'activation des CS17 et CS22.
Nous retrouvons donc une suite d'instructions qui s'exécute de manière parfaitement séquentielle.
Pour modifier la séquence, nous pouvons utiliser un jump ou un branchement. Ces opérations consistent toutes deux à substituer à la valeur contenue dans le MPC une nouvelle valeur qui correspond à l'adresse d'une instruction à exécuter.
La taille du MPC dépend du nombre d'adresses mémoire disponibles. Par exemple, avec un MPC de 16 bits, nous pouvons adresser une mémoire de 216 mots (65536 adresses).
Le programmeur ne peut pas accéder directement au MPC.
Angl : Micro Instruction Register.
Fr : RI, Registre d'Instruction.
Lorsque le cpu lit une instruction dans la Micro Memory, il la place dans le MIR. Dans le cas de notre exemple de micro architecture, la taille du MIR est donc de 22 bits, puisqu'il doit contrôler 22 portes logiques.
Dans le cas ou le CS18 est activé les 10 MSB (les 10 bits de valeurs plus élevées) ne contrôlent plus les portes logiques, mais correspondent à une adresse à envoyer dans le MPC. Cette adresse est celle de la prochaine instruction à exécuter.
L'accumulateur est un registre très important (registre A dans notre exemple). Il contient généralement un des opérandes d'une opération arithmétique et/ou logique. Après le traitement effectué, le résultat retourne dans l'accumulateur, à la place de la valeur de l'opérande.
Il sert parfois de registre-tampon dans les opérations d'entrée/sorties, bien que ce soit le plus souvent le rôle du MDR.
Les tests qui permettent de réaliser des boucles ( TESTZERO, TESTNEG ) portent tous sur la valeur contenue dans le registre A.
La taille de l'accumulateur est identique à la taille des mots mémoire utilisés (16 bits dans notre exemple), mais cette taille peut être doublée dans le cas d'utilisation d'un registre supplémentaire (extension Q). Cette extension de l'accumulateur est possible dans les architectures qui possèdent un registre Q.
Le programmeur peut accéder à l'ACC, qui lui permet de traiter ses données. Dans les cas de processeurs qui possèdent plusieurs accumulateurs, il est nécessaire de préciser dans l'OPCODE quel ACC doit être utilisé.
Angl : General Purpose register, ou scratchpad.
Fr : Registres Généraux, ou registres bloc-notes.
Ce sont des registres qui permettent de conçerver des données utilisées fréquemment pendant le programme, ou des résultats intermédiaires. L'utilisation de ces registres permet d'éviter des accès en Mp plus lente que la Mi.
Ces registres peuvent stocker aussi bien des adresses que des données.
Angl : Index Register.
Fr : Registre d'Indice, ou registre d'index.
Les registres d'indice peuvent être utilisés comme registres généraux, mais sont le plus souvent utilisés pour manipuler des adresses dans le cas d'adressage indexé.
Ce type de registre est donc particulièrement adapté lors de l'utilisation de tableaux. Les différents éléments d'un tableau sont alors accessibles grâce à un index. Certains registres d'indice sont automatiquement incrémentés ou décrémentés après chaque accès.
Angl : Base Register.
Fr : Registres de Base.
Comme pour les registres d'indice, les registres de base permettent de manipuler des adresses.
Ici, les adresses mémorisées sont des adresses de références (adressage basé) auxquelles il faut ajouter la valeur de l'adresse de l'instruction.
Ils sont donc fréquemment employés lors de relocation dynamique, et pour adresser des mémoires dont le nombre de mots dépasse la capacité du champ adresse de l'instruction type.
Angl : Program Status Word.
Fr : registre d'état, vecteur d'état, ou registre condition.
Le PSW est le registre du processeur qui caractérise l'état de la routine qui est cours d'execution sur le processeur. Il contient les informations capitales qu'il faut sauvegarder lors d'une interruption.
Dans le cas d'une architecture 32 bits, la taille du PSW est de 64 bits.
Le PSW comprend des informations sur :
Angl : SP, Stack Pointer.
Fr : registre pointeur de pile.
Registre ou variable pointant vers le haut d'une pile. A chaque fois qu'un élément est déposé dans la pile, ce pointeur est incrémenté d'une quantité égale à la taille de ce qu'on a empilé. De cette façon, il pointera vers la zone mémoire suivante dans laquelle on pourra écrire. Quand un élément est retiré de la pile, ce pointeur est décrémenté de la même quantité.
Dans une micro architecture, le registre pointeur de pile simule une pile par une zone mémoire réservée dans la mémoire centrale.
Le fonctionnement du Stack Pointer Register est identique à celui d'un registre d'adresse mémoire pour la partie pile de la mémoire RAM. Lorsqu'un mot est chargé dans la pile, son adresse est mémorisée dans le SP, ce qui fait qu'il pointe toujours vers le sommet de la pile.
Angl : Memory Address Register.
Fr : RA, Registre Adresse de la mémoire.
Ce registre permet la communication entre le bus de données et le bus d’adresses. Il est donc possible d’utiliser des données stockées en mémoire pour adresser la mémoire.
Le MAR contient donc la valeur de l'adresse de la cellule mémoire en Main Memory avec laquelle le processeur désire travailler (lire ou écrire).
La taille du registre d'adresses est un paramètre important de l'architecture du processeur : la taille du MAR détermine la taille maximum adressable en Main Memory.
Exemple :
Angl : Memory Data Register.
Fr : RM, Registre Mot.
Le MDR est le registre qui permet les accès en lecture ou écriture dans la Main Memory. Le positionnement dans la Main Memory se fait grâce au MAR.
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
112 mots clés dont 101 définis manuellement (plus d'information...).
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)