Processeur 68000

BTS informatique industrielle

David Saint-Mellion

 

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
Registres µp 68000

 

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 :

  • constituent le vecteur de RESET du processeur 68000.

  • Elles doivent être installée en mémoire morte.

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.

-