Organisation interne
Le 68000 est le premier processeur de Motorola avec des registres de
données de 32 bits en interne.
- 8 registres de données D7 - DO
- 8 registres adresse A0 - A7
- Les pointeurs de pile user USP et superviseur SSP.
Remarque :
Le registre adresse A7 pointe sur le pointeur de pile correspondant à l'état courant du
processeur.
- Un compteur Programme PC pointe sur l'adresse de l'instruction suivante
à exécuter.
- Un registre d'état SR sur 16 bits
|
|
Le transfert des Données - bus Adresses et Données
Bus Données D15-D0
Le 68000 échange les données sur un bus de 16 bits.
Il peut exécuter des instructions portant sur des données de taille 8, 16 ou 32 bits.
Le transfer une donnée de 32 bits d'un registre vers l'extérieur s'effectue avec 2
cycles bus (16 bits + 16 bits).
Bus Adresse A23 - A1
L'adressage est réalisé sur 24 bits : Le processeur
peut adresser un espace mémoire de 16 Méga octets.
Le bus adresse ne distribuée que 23 lignes (A23 à A1). Le 68000 accède à 2 adresses
simultanément avec son bus "données" de 16 bits. Pour constituer des mémoires
16 bits, sont associées 2 mémoires de 8 bits l'une sur le bus "Données" Haut
et l'autre sur le bus "Données" Bas.
Alignement "Adresses - Données"
L'alignement "Adresses - Données" est "gros boutiste". L'octet
poids fort du bus "Données" est situé à une adresse paire et l’octet de
poids faible est situé à une adresse impaire. Les lignes de contrôle UDS et LDS,
valides à l’état bas ("0" logique), sont activées lors d'un transfert de
données et associées à la parité de l’adresse :
- UDS - Upper Data Strobe - est active
lorsqu’une donnée circule sur le bus Donnée haut adresse et correspond à une adresse
paire.
- LDS - Lower Data Strobe - est active
lorsqu’une donnée circule sur le bus Donnée bas et correspond à une adresse impaire.
Pour le 68000 et le 68010, une adresse impaire ne peut être utilisée
pour une donnée de taille octet. Ces processeurs ne supportent pas le mode désaligné
(une interruption "Erreur d'alignement - d'adresse").
Principe de sélection d’un bloc mémoire
Donnée |
UDS |
LDS |
Mémoire sélectionnée |
Octet à une adresse paire |
0 |
1 |
Mémoire @ paire |
Octet à une adresse impaire |
1 |
0 |
Mémoire @ impaire |
Mot de 16 ou 32 bits |
1 |
1 |
Les deux |
Dialogue avec les périphériques
Le protocole du 68000 est asynchrone avec poignée de main. Les informations mise en
œuvre pour gérer le protocole sont :
- AS - Address Strobe : Sortie du
processeur. Une adresse valide est présentée sur le bus d’adresse.
- R/W : Sortie du processeur. Lecture pour la valeur
"1", écriture pour la valeur "0".
- DTACK - Data Transfer Acknowledge :
Entrée qui informe le processeur que le périphérie concerné par le transfert a
terminé.
En lecture, le processeur sait que la Donnée est disponible.
En écriture, le périphérique a enregistré de la Donnée.
Le chien de garde
Un protocole asynchrone peut être bloquant si le composant ne s'acquitte
pas des "Données". Le processeur attend que l'information /DTACK
soit valide pour mettre fin au cycle bus.
Un chien de garde est amorcé par /AS="0"
et surveille la durée du cycle (temps). Si la durée est trop longue le chien de garde
active la borne BERR du µP et occasionne une Interruption "Erreur
de Bus".
L'initialisation du processeur
Elle a lieu au Reset du processeur. Le processeur prélève dans la table
des vecteurs :
A l'adresse "0", la valeur du pointeur de pile superviseur
qu'il place dans le registre SSP.
SSP ß [000000]
A l'adresse "4", la valeur l'adresse de la première instruction
qu'il place dans le registre PC.
PC ß [000004]
|
|
Remarque :
Les valeurs stockées aux adresses 0 et 4 :
Quand le Reset se produit-il ?
Lorsque les informations /HALT et /RESET passent à
"1" après être maintenue à "0" pendant au moins un temps de 100 ms. |
|
|
Causes et moyens pour générer les
informations /HALT et /RESET
Ces informations doivent être activées pour provoquer l’initialisation
du processeur lorsque :
- d’une part, l’utilisateur appuie sur le bouton poussoir RESET (remise à zéro).
- d’autre part, le système est mis sous tension ( détection de la présence de l’alimentation
en énergie du système processeur).
On utilise des circuits spécialisés comme par exemple le TL77050 de
Texas. |
|
- |