La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

3-Présentation d’un µP simple

Présentations similaires


Présentation au sujet: "3-Présentation d’un µP simple"— Transcription de la présentation:

1 3-Présentation d’un µP simple
Microprocesseur avec un bus de données sur 16 bits et un bus d’adresses sur 12 bits (soit 4096 mots adressables). Le chemin de données doit comprendre au minimum : un registre compteur programme (PC) : un registre stockant l’adresse de la prochaine instruction à exécuter. un registre accumulateur (ACC) : un registre stockant la donnée sur laquelle on travaille. une UAL qui permet d’exécuter des opérations arithmétiques et logiques de base (addition, soustraction, ET/OU/OUX logique)…

2 Codage des Instructions
Chaque instruction est codée sur 16 bits et comprend : le champ code opération : indique le type d’instruction dont il s’agit (add, …). le champ code opérande : adresse de la donnée. Une instruction d’addition, par exemple, utilise la donnée stockée à l’adresse spécifiée, ainsi que le registre accumulateur comme opérande implicite, puis stocke le résultat dans l’accumulateur. L’action réalisée est : ACC ¬ ACC + mem16 [addr]. On parle de machine une adresse car une seule opérande est définie explicitement dans le codage de l’instruction. Les instructions sont lues depuis la mémoire à partir de l’adresse 0, à des adresses consécutives.

3 Jeu d’Instructions La programmation d’un programme complet directement en code machine binaire devient très rapidement fastidieuse :on définit un langage symbolique nommé langage d’assemblage permettant de représenter les instructions par des mnémoniques. On délègue la traduction du programme source en code binaire exécutable à un programme : l’assembleur.

4 Chemin de données

5 Chemin de données Les éléments du chemin de donnés sont : l’UAL,
le registre accumulateur (ACC) : il contient la donnée sur laquelle on travaille. Il renvoie des informations vers la machine d’état (valeur nulle et valeur positive ou nulle). le compteur programme (PC : Program Counter) : il contient à tout instant l’adresse de la prochaine instruction à exécuter. le registre d’instruction (IR : Instruction Register) : il contient l’instruction qui est en train d’être exécutée. des multiplexeurs (MUXA et MUXB) qui permettent d’aiguiller les données. une porte 3 états qui permet d’amener le contenu du registre accumulateur sur le bus de données, et de déconnecter l’accumulateur du bus de données quand la mémoire est en lecture. Les registres disposent d’une commande de chargement et de remise à zéro synchrone (non représentée). l’UAL reçoit, en plus de ses entrées et sortie, un code permettant d’identifier la fonction UAL sélectionnée.

6 Séquencement des Instructions
La machine d’état récupère des informations en provenance de la partie traitement (opcode, accZ, acc15) et génère des commandes internes pour contrôler l’activation du chemin de données adéquat pour réaliser l’instruction en train d’être exécutée et des commandes externes pour assurer le dialogue du microprocesseur avec la mémoire. Le séquencement des différentes actions est cadencé par l’horloge clk. L’exécution d’un programme entier consiste à répéter l’exécution de l’instruction pointée par le PC jusqu’à la dernière instruction. L’exécution d’une instruction peut être réalisée en deux phases : phase d’acquisition (fetch) : on lit en mémoire l’instruction pointée par le PC et on la transfère dans le registre d’instruction RI. On incrémente le compteur programme pour qu’il pointe sur l’instruction suivante. Dès que l’instruction est dans le registre d’instruction, elle est décodée. phase d’exécution (execute) : l’opérande est lue en mémoire (si nécessaire). L’opération UAL est exécutée, et le résultat est rangé dans l’accumulateur ACC.

7 Séquencement des Instructions

8 Exemple de Programme

9 Phase d’acquisition (Fetch)
1 LDA var1 ADD var2 STO res B+1 STOP LDA var1 Var1=1 Var2=2 res

10

11 Phase d’exécution 0x004 0x004 LDA var1 ADD var2 LDA var1 STO res B
STOP Var1=1 Var2=2 res 0x001

12

13 Phase d’acquisition (Fetch)
2 1 LDA var1 ADD var2 STO res STOP ADD var2 Var1=1 Var2=2 res

14

15 Phase d’exécution 0x005 LDA var1 ADD var2 STO res STOP Var1=1 Var2=2

16

17 Instructions de Saut JMP Addr : Fetch
1 JMP 0x004 JMP 0X004

18 JMP Addr : Exécution 0X004 0X004 JMP 0X004

19 JSR Addr : Fetch 1 JSR 0x004 JSR 0x004

20 JSR Addr : Exécution 0x004 0x004 1 1 0x004

21 RET : Fetch 6 6 7 JSR 0x004 RET RET

22 RET : Exécution Actions réalisées : PC  SPC 1 1


Télécharger ppt "3-Présentation d’un µP simple"

Présentations similaires


Annonces Google