Les Systemes A Base de Microprocesseur
Les Systemes A Base de Microprocesseur
Les Systemes A Base de Microprocesseur
le concept de "LSI (Large Scale Integration)" permettant d'intgrer plusieurs milliers de portes sur un mme substrat. l'arrive maturit de la technologie MOS caractrise par sa faible consommation.
La conjugaison de ces vnements a permis de regrouper une unit centrale d'ordinateur dans un seul circuit intgr appel "microprocesseur". Depuis, une multitude de composants de ce type sont apparus au sein de familles provenant essentiellement de grands constructeurs amricains : Intel, Motorola, Advanced Micro Devices (AMD), Texas Instruments,... et japonais : NEC, Mitsubishi,... Grce aux progrs de l'intgration, l'augmentation des performances a port sur :
la vitesse de fonctionnement. la largeur des mots traits (8, 16, 32, 64 bits). le nombre et la complexit des oprations ralisables.
L'intgration a galement permis de rassembler le microprocesseur et les lments associs (mmoire, organes d'entre-sortie,...) au sein d'un seul circuit appel "microcontrleur". Ce type de composant s'est rpandu dans un trs grand nombre de domaines (tlcommunications, tlvision, lectromnager, hifi...). L'objectif de ce cours est double : prsenter les notions de base ncessaires la comprhension des systmes utilisant des microprocesseurs et raliser des travaux pratiques permettant de programmer en langage machine (assembleur) une application d'acquisition de donnes.
- Le bus de donnes : c'est un ensemble de fils bidirectionnels qui va permettre le transfert de donnes entre les diffrents lments du systme. C'est par ce bus que sont transmises les donnes qui doivent tre traites par le microprocesseur. A l'inverse, c'est galement par ce bus que transitent les rsultats en sortie du microprocesseur. Autrement dit, toutes les donnes entrantes et sortantes du microprocesseur sont vhicules par le bus de donnes qui fixe la longueur du mot chang avec la mmoire. - Le bus d'adresses : il permet d'adresser un lment par le microprocesseur .il est unidirectionnel .il dtermine la capacit maximale d'adressage du systme, c'est dire le nombre maximum de mots de la mmoire associe (ex : 16 bits "adressent" 64 Kmots). - Le bus de commandes et de contrle : c'est un bus qui permet de vhiculer les signaux de contrles et de commandes tels que l'horloge les signaux Rd/Wr etc ... Ce bus sert coordonner tous les changes d'informations dcrits prcdemment. Il vhicule des donnes qui valident la mmoire et les ports d'entres ) sorties. Il introduit des dlais d'attente lorsque des informations sont envoyes un priphrique qui prsente une vitesse de traitement rduite. Le bus de commandes vite les conflits de bus lorsque deux lments cherchent communiquer en mme temps. Remarque : Dans certains cas, le bus de donnes et le bus d'adresses sont multiplexs sur un seul bus. Une logique externe doit alors effectuer le dmultiplexage. -La mmoire sert au rangement de deux types d'informations : -Des donnes : les informations traite par le microprocesseur. -Des instructions : ensemble d'informations codes qui gre l'activit du microprocesseur.
Remarque : La mmoire morte (ROM : Read Only Memory) range en gnral le programme d'initialisation du systme (exemple dans le PC elle range le BIOS : Basic Input Ouput systeme ) . La mmoire vive (RAM : Random Axes Memory) sert au rangement des programmes utilisateurs c'est une mmoire volatile. - Les interfaces d'entres sorties vont permettre au microprocesseur de communiquer avec le monde extrieur, Nous trouvons des ports utiliss exclusivement pour l'entre, et d'autres ports exclusivement pour la sortie. Il existe aussi des ports bidirectionnels. Donc le microprocesseur peut lire des donnes partir d'une interface d'entre (exemple souris, clavier disque dur, Etc. ...) de mme il peut restituer le rsultat de son traitement au monde extrieur en adressent des interfaces de sortie (tel que les imprimantes le clavier etc. ...) donc les interfaces d'entres / sorties vont soulager le microprocesseur pour la communication avec le monde extrieur. Le microprocesseur doit Donc contrler les fonctions effectues par les autres modules, il doit chercher ainsi que dcoder des instructions ranger en mmoire, et il doit adresser des interfaces d'entres/sorties pour lire des donnes du monde extrieur, et restituer le rsultat de son traitement.
Chaque opration que le microprocesseur va effectuer est code (c'est--dire pour chaque instruction on assigne un code qui ne peut pas tre modifi ni chang par un autre code) appel instruction code ou opration code , pour excuter une instruction le microprocesseur transmet l'adresse se trouvant dans le registre compteur de programme la mmoire , la mmoire retourne au microprocesseur l'octet adresse par ce dernier ( le code de l'instruction) celui-ci sera stocker dans un registre appel registre d'instructions (RI) , donc Le registre d'instructions contient la prochaine
instruction tre excute par le processeur. Cette instruction sera achemine (par un bus de donnes) au dcodeur d'instructions qui sera charg de l'interprter.
de contrle qui va "dverrouiller" l'entre de cette destination pour que l'information qui circule sur le bus puisse y entrer (et ne pas entrer ailleurs en mme temps). Il s'agit donc essentiellement d'un automate excutant les diffrentes squences propres chaque instruction. Cet automate peut tre ralis de plusieurs faons (cbler ou micro-programmer et dans les deux cas le jeu d'instructions est fixe). La plupart des units de traitement sont micro- programmes et donc jeux d'instructions fixes.
Pour lire une donne de la mmoire le microprocesseur doit connatre son emplacement, en effet il dpose son adresse sur le bus d'adresses puis gnre le signal READ (il demande une opration de lecture de la mmoire) alors la donne sera achemine vers le microprocesseur travers le bus de donnes. La donne sera stocke dans un registre dans le microprocesseur.
Remarque : Si la donne est un code opratoire d'une instruction alors elle sera loge dans le registre d'instructions sinon elle sera loge dans un registre de donnes (en gnral l'accumulateur)
Ces circuits entranent toujours des temps de retard supplmentaires ce qui oblige le microprocesseur utiliser des Wait Stat (temps de retard) pour synchroniser les transferts entre la mmoire et la CPU. La figure prcdente montre que le microprocesseur perd environ 10 ns pour avoir l'information cause du dcodage et la buffrisation du bus. Remarque : Parfois le microprocesseur utilise plus qu'un seul Wait Stat pour synchroniser avec ces priphriques (tout dpend du temps que le priphrique demande pour achever son fonctionnement)
Les donnes changes entre un priphrique et le processeur transitent par l'interface (ou contrleur) associ ce priphrique .L'interface possde de la mmoire tampon pour stocker les donnes changes (suivant le type d'interface, cette mmoire tampon fait de 1seul octet quelques Mga-octets).L'interface stocke aussi des informations pour grer la communication avec le priphrique : - des informations de commande, pour dfinir le mode de fonctionnement de l'interface: sens de transfert (entre ou sortie), mode de transfert des donnes (par scrutation ou interruption), etc. Ces informations de commandes sont communiques l'interface lors de la phase d'initialisation de celle-ci, avant le dbut du transfert. - des informations d'tat, qui mmorisent la manire dont le transfert c'est effectu (erreur de transmission, rception d'informations, etc). Ces informations sont destines au processeur. Lors de l'excution des instructions d'entres/sorties, le processeur met 1 sa borne IO/M et prsente l'adresse E/S sur le bus d'adresse. Le signal IO/M indique aux circuits de dcodage d'adresses qu'il ne s'agit pas d'une adress en mmoire principale, mais de l'adresse d'une interface d'entres/sorties. Remarque : La communication entre le microprocesseur et les interfaces dentres/sorties peut tre srie (sur un seul fil bit par bit) ou parallle (sur plusieurs fils)