Académique Documents
Professionnel Documents
Culture Documents
V.1.Historique
Le premier microprocesseur a été fabriqué par la société américaine INTEL en 1971. C'était
un 4 bits baptisé 4004 destiné à équiper des calculatrices de bureau. En 1972 INTEL produit le
premier microprocesseur 8 bits baptisé 8008 par référence au précédent. Ce microprocesseur
était destiné à répondre à un contrat de fabrication d'un terminal. En réalité le 8008 s'est révélé
trop lent pour satisfaire le cahier des charges du terminal et INTEL a décidé de tenter le
lancement de ce produit sur le marché grand public.
L'énorme succès de cette initiative fut à l'origine de la fabrication massive des
microprocesseurs. Le 8008 est constitué de 3300 transistors et effectue 60000 instructions par
seconde grâce à une horloge à 300KHz. A la suite du succès du 8008, INTEL produisit, dès
1974, le 8080 qui constituera le premier élément de la future famille de microprocesseurs de ce
fabriquant. Fort de ses 6000 transistors, le 8080, doté d'une horloge à 2MHz effectue 640000
instructions par seconde. En 1974, MOTOROLA, autre fondeur de silicium, décide de lancer le
6800 qui constituera lui aussi le début d'une grande famille.
En 1978, INTEL a réussi d’inventer le premier microprocesseur 8086 à 16 bits étant la base
de de la famille Intel 80x86 (8086, 80186, 80286, 80386, 80486, Pentium, ...). Plusieurs
microprocessus actuels sont disponibles à base de 32bits ou 64 bits pour la fabrication des
ordinateurs [V.1]
V.2.Définition :
Un microprocesseur est un circuit intégré fabriqué par le silicium, dédié à contrôler et traiter les
informations dans un micro-ordinateur, il est capable d’exécuter des milliers instructions par
secondes suivant un programme
Il faut faire la distinction entre CPU, processeur, microprocesseur et microcontrôleur,
DSP [V.2]:
Le processeur, c'est le nom générique ou commun. C’est un composant (ou une carte
électronique) puissant (par opposition au microprocesseur).
Chapitre V Architecture et fonctionnement du microprocesseur
Le microprocesseur, c'est un composant généraliste (il peut tout faire, et n'est optimisé
pour rien), employé préférentiellement dans les systèmes informatiques, qui nécessite
quelques circuits complémentaires pour pouvoir dialoguer avec son environnement.Selon
les types il peut traiter directement des données de 8, 16, 32, 64 et même quelquefois 128
bits. C'est le composant de base de l'informatique, mais en instrumentation on lui
préférera généralement des composants plus spécialisés, donc plus optimisés pour les
tâches qu'on leur confiera, et donc plus performants.
Le microcontrôleur est plus adapté aux applications embarquées car il comporte sur sa
puce un certain nombre d'interfaces en plus du microprocesseur (Ram, ROM, I/O,…),par
contre il est généralement moins puissant en terme de rapidité ou de taille de mémoire
adressable et le plus souvent cantonné aux données de 8 ou 16 bits.
Le processeur de signal (DSP : Digital Signal Processeur) est beaucoup plus spécialisé
calcul. Il est optimisé pour le traitement du signal, mais n'est pas prévu pour accomplir
des tâches généralistes de bas niveau qu'exécutent les deux précédents
Figure V.1 : Le microprocesseur de Marcian Hoff et Federico Faggin inventé 1971 [V.3 ]
V.7.Langage machine :
Langage machine est un langage numérique sous forme binaire exécuté par le microprocesseur
après une traduction ou compilation qui consiste à transformer un code source lisible par un
humain en un fichier binaire exécutable par une machine.
V.8.Langage assembleur :
Langage assembleur ou langage d’assemblage est un langage informatique de plus bas niveau
consiste à un nombre des symboles appelés mnémonique c’est-à-dire des mots abrégés traduits
en langage machine pour exécuter une instruction comme (Add, Soust,Mov, …..) , le langage
machine convertit ces mnémoniques en langage machine , ainsi que les valeurs (écrites en
décimal) en binaire et les libellés d'emplacements en adresses, en vue de créer par exemple un
fichier objet ou un fichier exécutable.
La méthode de programmation en langage assembleur s’établit comme suivant :
Définir le problème à résoudre : que faut-il faire exactement ?
• D´déterminer des algorithmes, des organigrammes : comment faire ? Par quoi commencer,
puis poursuivre ?
• Rédiger le programme (code source) :
– utilisation du jeu d’instructions (mnémoniques) ;
– création de documents explicatifs (documentation).
• Tester le programme en réel ;
Chapitre V Architecture et fonctionnement du microprocesseur
• Corriger les erreurs (bugs) ´éventuelles : déboguer le programme puis refaire des tests jusqu’`a
obtention d’un programme fonctionnant de manière satisfaisante.
Réalisation pratique d’un programme :
• Rédaction du code source en assembleur `a l’aide d’un ´éditeur (logiciel de traitement de texte
ASCII) :
– édit sous MS-DOS,
– notepad (bloc-note) sous Windows,
• Assemblage du code source (traduction des instructions en codes binaires) avec un assembleur :
– MASM de Microsoft,
– TASM de Borland,
– A86 disponible en shareware sur Internet, ...
Pour obtenir le code objet : code machine exécutable par le microprocesseur ;
• Chargement en mémoire centrale et exécution : rôle du système d’exploitation (ordinateur) ou
d’un moniteur (carte de d´développement `a base de microprocesseur).
Pour la mise au point (d´débogage) du programme, on peut utiliser un programme d’aide
`a la mise au point (comme DEBUG sous MS-DOS) permettant :
• l’exécution pas à pas;
• la visualisation du contenu des registres et de la m´mémoire ;
• la pose de points d’arrêt ...
Exemple :
name "add-sub"
org 100h
mov al, 5 ; bin=00000101b
mov bl, 10 ; hex=0ah or bin=00001010b
; 5 + 10 = 15 (decimal) or hex=0fh or bin=00001111b
add bl, al
; 15 - 1 = 14 (decimal) or hex=0eh or bin=00001110b
sub bl, 1
; print result in binary:
mov cx, 8
print: mov ah, 2 ; print function.
Chapitre V Architecture et fonctionnement du microprocesseur
de séquences basées sur les instructions élémentaires, ce qui nécessite un compilateur très évolué
dans le cas de programmation en langage de haut niveau.
Le choix dépendra des applications visées. En effet, si on diminue le nombre d'instructions, on
crée des instructions complexes (CISC) qui nécessitent plus de cycles pour être décodées et si on
diminue le nombre de cycles par instruction, on crée des instructions simples (RISC) mais on
augmente alors le nombre d'instructions nécessaires pour réaliser le même traitement.