Le premier microprocesseur (Intel 4004) a été inventé en 1972.
Depuis, la puissance des microprocesseurs augmente
exponentiellement. Quels sont donc ces petits morceaux de silicium
qui dirigent nos ordinateurs?
Le processeur (CPU) est le cerveau de l'ordinateur, c'est lui qui
coordine le reste des éléments, il se charge des calculs, bref il
exécute les instructions qui ont été programmées.
Toutes ces opérations sont des informations numériques.
Les microprocesseurs utilisent des petits transistors
(équivalents transistors) pour faire des opérations de base; il y en
a plusieurs millions sur un seul processeur.
Les éléments principaux d'un microprocesseur sont:
- Une horloge qui rythme le processeur. A chaque TOP d'horloge
le processeur effectue une instruction, ainsi plus l'horloge a une
fréquence élevée, plus le processeur effectue d'instructions par
seconde (MIPS: Millions d'instruction par seconde).
Par
exemple un ordinateur ayant une fréquence de 100 Mhz effectue 100
000 000 d'instructions par seconde
- Une unité de gestion des bus qui gère les flux d'informations
entrant et sortant
- Une unité d'instruction qui lit les données arrivant, les
décode puis les envoie à l'unité d'exécution.
- Une unité d'exécution qui accomplit les tâches que lui a donné
l'unité d'instruction.
Le processeur travaille en fait grâce à un nombre très limité de
fonctions (ET logique, Ou logique, addition ...), celles-ci sont
directement câblées sur les circuits électroniques. Il est
impossible de mettre toutes les instructions sur un processeur car
celui-ci est limité par la taille de la gravure, ainsi pour mettre
plus d'instructions il faudrait un processeur ayant une très grande
surface, or le processeur est constitué de silicium et le silicium
coûte cher, d'autre part il chauffe beaucoup. Le processeur traite
donc les informations compliquées à l'aide d'instructions simples.
Le parallèlisme consiste à exécuter simultanément sur des
processeurs différents des instructions relatives à un même
programme. Cela se traduit par le découpage d'un programme en
plusieurs processus qui seront traités par des processeurs
différents dans le but de gagner en temps d'exécution. Cela
nécessite toutefois une communication entre les différents
processus. C'est le même principe de fonctionnement que dans une
entreprise: le travail est divisé en petits processus traités par
des services différents et qui ne servent à rien si la communication
entre les services ne fonctionne pas (ce qui est généralement le cas
dans les entreprises...).
Le pipelining est un principe simple à comprendre. Un programme
comporte généralement des portions de code (plus ou moins grandes)
qui sont traitées de nombreuses fois par le processeur. Le
pipelining consiste donc à éviter d'avoir à réitérer de nombreuses
fois des instructions que l'on a déjà traitées en fournissant
directement le résultat!
L'architecture CISC (Complex Instruction Set Computer, ce
qui signifie "ordinateur avec jeu d'instructions complexes") est
utilisée par tous les processeurs de type x86, c'est-à-dire les
processeurs fabriqués par Intel, AMD, Cyrix, ... Les processeurs
basés sur l'architecture CISC peuvent traiter des instructions
complexes, qui sont directement câblées sur leurs circuits
électroniques, c'est-à-dire que certaines instructions difficiles à
créer à partir des instructions de base sont directement imprimées
sur le silicium de la puce afin de gagner en rapidité d'exécution
sur ces commandes. L'inconvénient de ce type d'architecture
provient justement du fait que des fonctions supplémentaires sont
imprimées sur le silicium, d'où un coût élevé.
D'autre part, les instructions sont de longueurs variables et
peuvent parfois prendre plus d'un cycle d'horloge ce qui les rend
lentes à l'exécution étant donné qu'un processeur basé sur
l'architecture CISC ne peut traîter qu'une instruction à la fois!
Contrairement à l'architecture CISC, un processeur utilisant la
technologie RISC (Reduced Instruction Set Computer, dont la
traduction est "ordinateur à jeu d'instructions réduit") n'a pas de
fonctions supplémentaires câblées. Cela impose donc des programmes
ayant des instructions simples interprétables par le processeur.
Cela se traduit par une programmation plus difficile et un
compilateur plus puissant. Cependant vous vous dîtes qu'il peut
exister des instructions qui ne peuvent pas être décrites à partir
des instructions simples... En fait ces instructions sont
tellement peu nombreuses qu'il est possible de les câbler
directement sur le circuit imprimer sans alourdir de manière
dramatique leur fabrication.
L'avantage d'une telle architecture est bien évidemment le coût
réduit au niveau de la fabrication des processeurs l'utilisant. De
plus, les instructions, étant simples, sont exécutées en un cycle
d'horloge, ce qui rend l'exécution des programmes plus rapides
qu'avec des processeurs basés sur une architecture CISC.
De plus, de tels processeurs sont capables de traîter plusieurs
instructions simultanément en les traitant en parallèle.
A comparer les spécificités des deux types d'architecture on
pourrait conclure que les processeurs basé sur une architecture de
type RISC sont les plus utilisés... Cela n'est malheureusement
pas le cas... En effet les ordinateurs construits autour d'une
architecture RISC nécessitent une quantité de mémoire plus
importante que les ordinateurs de type CISC
*Une
annotation est un commentaire d'un membre dont le but est
d'approfondir le sujet de l'article. Cela peut être une
remarque, un éclaircissement, ou bien une suggestion de liens
appropriés.
© Copyright 2001 Jean-François Pillou
Ce document issu de CommentCaMarche.net est
soumis à la licence
GNU FDL. Permission vous est donnée de distribuer, modifier des
copies de cette page tant que cette note apparaît clairement.
|