Vous êtes sur la page 1sur 8

Microprocesseurs & DSP 1

Chapitre 1. Notions de base sur les microprocesseurs


(1 semaine)

1.1 Historique :
En 1941 les allemands construisirent le premier calculateur numérique au monde, le Zuse Z3. C'était
une machine électromécanique (interrupteurs, relais et arbres mécaniques). La machine utilisait le système de
numération binaire. Sa programmation est à base de rubans perforés.
En 1944 les américains construisirent leur premier calculateur numérique, le Mark I. C'était toujours
une machine électromécanique, mais qui utilisait le système de numération décimal. La taille de la machine
était colossale : 16m x 2,4m x 0,5m. En 1946 l'université de Pennsylvanie à Philadelphie dévoile au public le
premier calculateur électronique, ENIAC. C'est une machine de 30 tonnes et d'une dimension de 30,5 x 2,4 x
0,9m. La machine utilise le système de numération décimal et sa programmation se fait par commutateur et
recâblage. Le calculateur utilise près de 18000 tubes à vide. En 1948 IBM construit le premier ordinateur à
programme enregistré, SSEC. Cette même année des chercheurs aux laboratoires Bell inventent le transistor.
C'est l'invention la plus importante du XXe siècle.
En 1960 le circuit-intégré est inventé par Texas Instruments et Fairchild. A cette même date les mini-
ordinateurs firent leurs apparition (exemple : PDP1 de Digital Equipment). C'etait une sorte de calculateur
programmable. La longueur de mots variait de 8 à 24 bits. Vers 1969 il y a eu standardisation de la longueur
de mot à 16 bits pour les minis. Les machines utilisaient surtout les composants discrets, mais commencent à
introduire les circuits-intégrés peu à peu.
En 1971 Intel regroupe toutes les fonctions d'un processeur dans un seul circuit-intégré. C'est la
naissance du premier micro-processeur : le i4004. Avec 2300 transistors sur 10mm2 de silicium il possède la
puissance d'un ENIAC. En 1972 Intel fait sortir le premier micro-processeur 8 bits : i8008. Il intègre 3500
transistors. Deux ans après, Intel fait sortir le premier micro-processeur à usage général : le i8080. Il était 10
fois plus performant que le i8008 et il y avait 4500 transistors sur la puce. C'est la base pour les premiers
micro-ordinateurs.
En 1978 Intel introduit le 8086, un micro-processeur 16 bits. Son jeu d'instructions est toujours
reconnu par les processeurs d'aujourd'hui (compatible x86). Sa puce de 33mm 2 contenait 29000 transistors.
Un an plus tard Intel lance la version moins cher du 8086. Le 8088 à bus de données externe de 8bits. IBM
l'adopte pour son premier ordinateur personnel (le PC).
Le microprocesseur est un composant électronique qui a totalement révolutionné l'informatique. On le trouve
maintenant dans un nombre croissant de matériels. Le nombre de transistors dans les microprocesseurs
d'aujourd'hui n'a cessé d'augmenter, Il dépasse maintenant les 7 milliards pour une surface de qcq 700mm 2.

1.2 Organisation interne des Microprocesseurs :


Un microprocesseur est un circuit-intégré regroupant les fonctions d'un processeur. Le processeur est
un circuit programmable qui exécute les instructions et traite les données des programmes.
Microprocesseurs & DSP 2

Un programme est composé d'instructions rangées en mémoire. Le microprocesseur (CPU) doit lire une
instruction de la mémoire puis la décoder (pour comprendre ce qu'elle lui dit de faire) ensuite l'exécuter.

Fig.1 Fonctionnement d'un processeur


De la figure 1 on en déduit un séquencement de tâche à effectuer par le microprocesseur. C'est le
circuit de commande et de séquencement qui ce charge de ce travail.

Fig.2 Synoptique simple d'un processeur


Si on veut regrouper toutes les fonctions d'un processeur sur une seule puce on aura le schéma de la
figure 3. C'est un microprocesseur avec quatre sections distinctes.

Fig.3 Le microprocesseur.
Microprocesseurs & DSP 3

Les circuits de commande et de séquencement sont regroupés dans ce qu'on a appelé Séquenceur. Ce
dernier est piloté par une horloge à quartz. L'unité d'exécution est devenue l'unité arithmétique et logique.
Un registre est une case mémoire logée dans le microprocesseur. Sa capacité peut varier de un à plusieurs
octets. Pour rechercher une instruction, le microprocesseur doit savoir quelle est l'adresse de la cellule
mémoire à laquelle il doit accéder. Pour cela il dispose d'un registre appelé registre d'adresses, ou pointeur
d'instructions ou compteur ordinal. Le code de l'instruction ramené de la mémoire est enregistré dans ce
qu'on appelle registre d'instructions. Le compteur ordinal s'incrémente automatiquement pour se préparer à
chercher la prochaine instruction. Il pointe vers l'instruction suivante. Si l'exécution d'une instruction procure
un résultat, ce dernier sera temporairement enregistré dans un registre appelé accumulateur.
Si chaque tâche élémentaire du microprocesseur est exécutée en un cycle d'horloge (période) alors
pour exécuter une instruction le microprocesseur aura besoin de trois périodes. Ce temps T est appelé un
cycle d'instruction. (voir figure 4)

Fig.4 Horloge et cycles.

Grâce aux progrès de l'intégration, l'augmentation des performances des microprocesseurs a porté sur :
 la vitesse de fonctionnement.
 la longueur des mots traités (8, 16, 32, 64 bits).
 le nombre et la complexité des opérations réalisables.
 La structure interne
L'unité de mesure de performance des microprocesseurs est le MIPS.
Le μP i4004 avait 0.06MIPS @ 740KHz, le i8088 avait 0.75MIPS @ 10MHz, le pentium en avait 188MIPS
@ 100MHz et l'un des μP récents le i7-5960x en a 238300MIPS @ 3,0GHz.

1.3 Organisation des informations (données, instructions, adresses) et bus :


La longueur du mot traité revient souvent à la longueur de la donnée manipulée. Cette longueur est
fixée par le constructeur. De cette taille dépendent aussi la capacité des registres internes et des bus internes
et externes du microprocesseur. Les longueurs de mots usuelles sont 8, 16, 32 ou 64 bits.
Microprocesseurs & DSP 4

1.3.1. Les bus parallèles


On appelle bus parallèle un ensemble d’équipotentielles électriques qui interconnectent plusieurs
modules à l’intérieur d’un câblage. On voit en figure 5 comment on représente graphiquement un bus
parallèle de largeur m. Le trait est épaissi par rapport à un signal simple, et une barre surmontée d’un nombre
indique la largeur du bus.

Fig.5 Les deux représentations graphiques d’un bus parallèle de largeur m.

On montre également figure 6 les façons habituelles de représenter sur un schéma les sous-bus d’un bus
donné.

Fig.6 Exemples de scindements/regroupements de bus.

On trouve des bus parallèles à tous les niveaux d’une architecture d’ordinateur : dans les structures
internes du processeur, entre le processeur et les autres composants présents sur la carte électronique. Ils
peuvent être présents partout où plusieurs composants doivent échanger des données.
Pour que des modules puissent dialoguer sur un même bus, sur le plan électrique, il faut adopter bien sûr les
mêmes tensions d’alimentation, courants de sortie et d’entrée, etc. Mais il faut aussi empêcher les courts-
circuits sur les lignes de données, lorsque plusieurs modules ont la possibilité d’y écrire.
Microprocesseurs & DSP 5

1.3.2 Sorties haute-impédance :


Certains circuits possèdent des sorties dites trois états (tri-state), c’est à dire qu’en plus de pouvoir
être dans l’état ’0’ ou l’état ’1’ (c’est à dire dans un état électrique de ’basse impédance’), elles peuvent être
dans un troisième état dit de ’haute-impédance’, souvent noté High-Z. Lorsqu’une sortie est en haute-
impédance, tout se passe comme si elle n’était plus connectée, car elle ne produit plus ni ne consomme plus
aucun courant. Cette propriété permettra de relier directement entre-elles plusieurs sorties de ce type, sous
réserve de garantir qu’au plus une seule de ces sorties produise du courant à un moment donné (sous peine de
court-circuit !).
Les circuits ayant des sorties trois états possèdent en interne des composants appelés tampons trois-
états, qui se représentent tels que sur la figure 7.

Fig.7 Tampon 3-états, la sortie est en haute-impédance tant que VALIDE =0.

Après avoir vu les bus et les circuits qui peuvent contrôler ces bus on peut donner maintenant plus de
détails sur le schéma synoptique interne d'un microprocesseur (figure 8).

Fig.8 Schéma synoptique interne d'un microprocesseur.

Les informations qui circulent dans le bus de données sont les instructions des programmes ainsi que
les valeurs numériques manipulées (appelées données). Le bus d'adresses permet de véhiculer les numéros de
cases mémoires que le microprocesseur voudrait accéder (appelés adresses). Le bus de commandes regroupe
toutes les autres lignes de commandes qui sortent du µP ou les différents signaux qui y rentrent.
Microprocesseurs & DSP 6

1.3.3 Données et instructions :


Une donnée (data en anglais) est la représentation d'une information dans un programme : soit dans
le texte du programme (code source), soit en mémoire durant l'exécution. Les données sont souvent codées et
décrivent les choses telles que du texte, des valeurs numériques, de l'image, des sons, etc... Le processus
d'enregistrement des données dans une mémoire s'appelle la mémorisation ou le stockage.
Un ordinateur assure des opérations de traitement de l'information, c'est-à-dire qu'il exécute un
programme informatique constitué d'instructions successives en suivant les directives d'un algorithme . Par
instruction informatique on entend décrire une commande unique. Cette commande exprimée en langages
évolués est souvent décomposée en plusieurs instructions machine (par un compilateur). Cette instruction
machine représentée par un symbole (numérique ou alpha-numérique, dit mnémoniques) permet de donner
des ordres au microprocesseur. Ces instructions sont stockées sous une forme binaire. Pour leur intelligibilité
ces instructions sont symboliquement représentées par un vocabulaire compréhensible par les humains
intitulé assembleur. Le langage machine est le groupe d'instructions machines élémentaires que connaît un
µP. Chaque instruction est une suite de bits qui est interprétée par le µP pour réaliser des opérations de calcul
(le plus souvent arithmétiques) ou autres.

1.4 Différents types de processeurs :


1.4.1 Microprocesseur standard :
Le microprocesseur est uniquement une unité de traitement centrale intégrée dans une puce de
silicium. C’est le cœur d’un système informatique conçu pour effectuer des tâches complexes impliquant des
données. Les microprocesseurs ne disposent pas de mémoires RAM, de ROM, de broches E/S, de timers et
d’autres périphériques sur la puce. Ils doivent être ajoutés à l'extérieur pour rendre le système fonctionnel.
Un bus externe est nécessaire pour assurer l'interface avec les différents composants et périphériques.
Exemples : Intel 8086, Pentium, ou Motorola 6809, 68040. Ce sont des processeurs à usage général.
1.4.2 Microcontrôleur :
Un microcontrôleur est comme un microordinateur avec un processeur, de la mémoire RAM, la
mémoire ROM, des ports série, des timers et des périphériques d'entrées-sorties tous intégrés sur une seule
puce. Il a un bus de contrôle interne non accessible aux développeurs.
Exemples : PIC16F84, 18F4550, MegaAVR de Microchip ; 80C31, 80C52 de Intel etc...
1.4.3 DSP :
Un DSP (Digital Signal Processor) est un microprocesseur spécialisé dans le traitement numérique
du signal. Il s’apparente bien au calcul en parallèle. Exemples : TMS320C50 de Texas Instruments, dsPIC30
de Microchip etc...
1.4.4 API :
Un Automate Programmable Industriel n'est pas vraiment un type de processeur mais plutôt un
dispositif électronique structuré autour de microprocesseurs ou de microcontrôleurs.
Microprocesseurs & DSP 7

1.5 Architectures des ordinateurs :


Il existe deux types d'architectures d’ordinateurs qui décrivent la fonctionnalité et la mise en œuvre
des systèmes informatiques. L’un est l’architecture Von Neumann qui a été conçue par le physicien et
mathématicien renommé John Von Neumann à la fin des années 1940, l’autre est l’architecture de Harvard
qui est basé sur le premier calculateur numérique de l’université Harvard Mark I (une machine
électromécanique).

1.5.1 Architecture type Von Neumann :


L’architecture de type Von Neumann utilise un seul ensemble de bus qui adresse une unique mémoire
pour stocker à la fois les programmes et les données. Cette architecture constitue la base de l'informatique
moderne et est plus facile à mettre en œuvre.

Fig.9 Architecture ''Von Neumann''.

1.5.2 Architecture type Harvard :


L’architecture de type Harvard s’oppose à celle de Von Neumann car c'est une conception de
microprocesseurs qui sépare physiquement la mémoire de données et la mémoire programme.
L’accès à chacune des deux mémoires s’effectue via deux ensembles de bus distincts. Ceci permet
de transférer simultanément les données et les instructions à exécuter. Ce gain en performance
s'obtient cependant au prix d'une complexité accrue de la structure.

Fig.10 Architecture ''Harvard''.


Microprocesseurs & DSP 8

1.6 Architectures des microprocesseurs :


RISC et CISC sont deux architectures de microprocesseurs principalement utilisées de nos jours. La
principale différence entre RISC et CISC réside dans le nombre de cycles de calcul de chacune de leurs
instructions. La différence dans le nombre de cycles utilisés est due à la complexité et au but de leurs
instructions.
1.6.1 Architecture CISC :
Un microprocesseur à jeu d'instructions étendu (en anglais : Complex Instruction Set Computing ou
CISC) désigne un microprocesseur possédant un jeu d'instructions comprenant de très nombreuses
instructions mélangées à des modes d'adressages complexes.

Avec l’architecture CISC, chaque instruction est similaire à une instruction de langage haut niveau.
On n’a besoin que de quelques instructions pour obtenir ce qu’on veut, car chaque instruction fait beaucoup
de choses.

1.6.2 Architecture RISC :


Un microprocesseur à jeu d'instructions réduit (en anglais : Reduced Instruction Set Computing ou
RISC) est un type de microprocesseurs possédant un nombre d'instructions très réduit, aisé à décoder,
uniquement composé d'instructions simples.

Dans l’architecture RISC, chaque instruction est uniquement destinée à réaliser une tâche très petite.
Donc, si on veut accomplir une tâche complexe, on a besoin d’exécuter plusieurs de ces instructions.