Architecture interne d'une machine
à base de 68000

Page réalisée par:
Philippe Moreau
UPJV

définition des liens entre le micro processeur
et la mémoire centrale (bus de données et bus d'adresse).

La partie du Bus d'Adresse située après le décodeur permet de sélectionner le boitier mémoire qui correspond à l'adresse manipulée (qui contient l'information ou l'endroit où on va stocker l'information) alors que l'autre partie (couleur magenta) permet de donner le numéro de la case dans le boitier.


Organisation de la mémoire

vue du micro processeur 68000

Remarques: l'adresse d'un mot (8, 16 ou 32 bits) = Numéro du mot = Numéro du premier octet qui compose le mot.

Les mots de 16 et 32 bits sont toujours à des adresses paires.

Les registres du micro processeur 68000

Les registres d'un micro processeur sont des organes de stockage. Certains seront utilisés telles des variables, et l'utilisateur pourra y stocker des informations. D'autres sont plus spécifiques et sont modifiés au cours de l'exécution d'un programme par le micro-processeur lui-même.

Le micro processeur 68000 comporte:

  - 8 registres de données (32 bits) qui portent les noms D0, D1, ........., D7

  - 8 registres d'adresses (32 bits) qui portent les noms A0, A1, ........., A7

Attention: même si les registres de données ou d'adresse peuvent être indifféremment utilisés pour stocker des informations quelconque, il existe certaines différences dans les possibilités de manipulations de ceux-ci.

  - on peut manipuler (ex: faire une addition) les registres de données sur 8, 16 ou 32 bits et dans les cas 8 ou 16 bits, les 24 ou 16 autres bits sont conservés (non modifiés)

  - on ne peut manipuler les registres d'adresses que sur 16 ou 32 bits (jamais sur 8 bits) et dans le cas d'une opération sur 16 bits, les 16 autres bits sont écrasés (on supposera ici mis à zéro).

Le registre A7 est aussi appelé SP ou USP et est en fait un pointeur de pile (USP = User Stack Pointer). Cette pile contient, entre autres, les adresses de retour de sous-programme. Il vaut donc mieux éviter l'utilisation de ce registre ou le manipuler avec beaucoup deprécaution.

  - Le registre PC (Program Counter) (32 bits) contient l'adresse de la prochaine instruction à exécuter.

  - Le registre SR (Status Register) (16 bits) contient des indications (bits) qui donnent des informations sur les résultats de la (ou des) dernières opérations. Seuls 10 de ces bits ont une signification, 5 étant interprétés uniquement en mode "superviseur" (l'octet de poids fort), les autres (dans l'octet de poids faible aussi appelé CCR (Condition Code Register)) nous donnent les informations nécessaires pour l'écriture de programme. (dans le schéma ci-dessous, on à indiqué en magenta la valeur des bits X,N,Z,V,C après l'addition de deux octets)

1 - Trace indique si l'on est en mode "pas à pas".

2 - Supervisor indique si on est en mode Superviseur ou Utilisateur (certaines manipulations sont autorisées en mode Superviseur et interdites en mode Utilisateur).

3 - I2I1I0 (masque d'interruption) donne une information en cas de demande d'interruption par un autre programme (établit une hiérarchie dans les programmes en cas de demande d'interruption)