Vous êtes sur la page 1sur 21

Chapitre 1: Introduction-

évolution des processeurs

Présenté par :
Hanene Ben Fradj -Zouhour Ben Azouz
ISI-ING1
2019-2020
Objectif du cours
1. Connaitre les unités essentielles d’un système à
base de microprocesseur.
2. Comprendre le processus d’exécution d’un
programme par des composants hardware ( UAL,
portes logiques, transistors,…).
3. Comprendre des mécanismes qui ont mené aux
processeurs de hautes performances
d’aujourd’hui.

2
Les processeurs sont où ?
Bureautique : imprimante, PC, …
Automobile : contrôle de la boîte de vitesse, airbag, radars
de recul, ABS, systèmes d’aide à la conduite, véhicules
autonomes…..
Aéronautique, spatial : robot sur la planète Mars (Curiosity,
perseverance), Station Spatial International (ISS),…
Centrales nucléaires
Processus industriels
Robotique
Domotique : Appareils électroménagers, système de
surveillance…
Télécommunication: Smartphone, routeur..
Multimédia: caméras numériques
Santé: pacemaker( simulateur cardiaque…)
………..
3
Processeurs embarqués

- Snapdragon est un SOC


(System On Chip) utilisé dans
les smartphones.
- Il intègre un processeur RISC
de ARM, un processeur
graphique, un processeur DSP,
Un processeur ASIP, ASIC
(Accélérateur matériel), Bus,
Mémoires,….

4
Historique

Nécessité d ’une machine permettant d’effectuer des tâches complexes
d ’une façon très rapide.

Apparition de la machine ENIAC (Electronical Numerical Integrator And
Calculator) en 1945 à base de tube à vide : pèse 30 tonnes, programmation sur
cartes perforées.

L’invention du transistor en 1948 : prix Nobel en physique

L’invention des circuits intégrés 1958-1959

Premier microprocesseur commercialisé Intel 4004 (4bits) en 1971. Les premiers
processeurs étaient majoritairement basés sur une approche CISC/Von Neumann
avec une architecture mono-bus.

5
Historique

Les progrès en micro-électroniques (VLSI:Very Large Scale Integration) ont mené
à des processeurs qui sont de plus en plus performants.

C’est au milieu des années 1980 que sont apparus les premiers concepts RISC
comme concurrent des architectures CISC.

De nos jours : Diverses architectures qui ont des performances de plus en plus élevées:
mémoires caches, pipeline, superscalaire, VLIW, multi-processeur et multi-cœur.

6
Evolution technologique: Loi de Moore

 Loi empirique qui stipule que le


nombre de transistors double tout
les deux ans puis tout les 18 mois.
 Cette loi est restée valable
pendant des décennies et elle
arrive à sa fin.

Premier microprocesseur 7
d’Intel 4bits (1971)
Structure des systèmes à base de microprocesseurs

Mémoire Processeur Entrées :


Périphérique Clavier,
Unité de D’entrées souris,
Programme Bus données Contrôle capteurs…
+
données Chemin de
Bus adresses
données Périphérique Sorties :
Écran,
de sorties imprimante
Bus contrôle UAL,registres
,… actionneurs

8
Architecture des processeurs

Architecture du jeu d’instructions (ISA)


+

Microarchitecture (Organisation
matérielle) 
Architecture du jeu d’instructions (ISA: Instruction Set Architecture)
• Jeu d’instructions: ensemble d’instructions qui peuvent être exécutées
• Formats des instructions (codage binaire des instructions)
• Les types de données ( 8bits, 16 bits, 32 bits…, entier, virgule flottante)
• Modes d’adressage : registre, immédiat, …
• Autres conditions exceptionnelles de la machine (Interruptions, erreurs,
…)

9
Architecture des processeurs
Une même architecture du jeu d’instructions peut être
implémentée par plusieurs microarchitectures.

Exemples d’ISA:
 X86 (étendu actuellement au IA32 et IA64) : 8086, 80186,
286, 386, 486, Pentium, Pentium Pro, Pentium-4, Core i7,
AMD Athlon……
 MIPS: R2000, R4000, R10000, ...
 ARMv7: ARM Cortex-A9, ARM Cortex-A15…

10
Coordination entre plusieurs niveaux
d’abstraction
L’ISA assure l’interface entre le software et le hardware

Application
Système
d’exploitation
Compilateur
Software
ISA
Hardware Processeur Memoire Entrées/Sorties

Chemin de données & Control


Conception composants
numériques
Conception logique
Transistors
11
temp = v[k];
Programme en langage de haut niveau
v[k] = v[k+1];
(en C, C++, …)
v[k+1] = temp;

Compilateur

lw $15, 0($2)
Programme en langage assembleur lw $16, 4($2)
(exemple MIPS) sw $16, 0($2)
sw $15, 4($2)

Assembleur

1000 1100 0100 1111 0000 0000 0000 0000


Programme en langage machine 1000 1100 0101 0000 0000 0000 0000 0100
1010 1100 0101 0000 0000 0000 0000 0000
1010 1100 0100 1111 0000 0000 0000 0100

Processeur Mémoire
EXECUTION PAR LE Unité de Bus Inst 1000
1000
1100
1100
0100
0101
1111
0000
0000
0000
0000
0000
0000
0000
0000
0100

PROCESSEUR DE CE Contrôle 1010


1010
1100
1100
0101
0100
0000
1111
0000
0000
0000
0000
0000
0000
0000
0100

CODE
MACHINE ???? Chemin de Bus data
12
données
Les principales étapes d’exécution d’un
programme:
Processeur Mémoire
Unité de Bus Inst 1000 1100 0100 1111 0000 0000 0000 0000
1000 1100 0101 0000 0000 0000 0000 0100
Contrôle 1010
1010
1100
1100
0101
0100
0000
1111
0000
0000
0000
0000
0000
0000
0000
0100

Bus data
Chemin de
13
données

1. Lecture (fetch) de l’instruction depuis la


mémoire
2. Décodage de l’instruction (unité de
commande)
3. Exécution de l’instruction ( unité de
traitement, ou accès à la mémoire)
4. Sauvegarde du résultat
13
Architecture Von Newman

 Un seul chemin d'accès à la mémoire


 Un bus de données (programme et données),
 Un bus d’adresse (programme et données)
 Architecture des processeurs d’usage général
 Goulot d'étranglement pour l'accès à la mémoire

14
Architecture Harvard

 Séparation des mémoires programme et données


 Un bus de données (bus d’ adresse et bus de données),
 Un bus d’instructions (bus adresse et bus de données)
 Meilleure utilisation du CPU :
 Chargement du programme et des données en parallèle

15
Jeu d’instructions CISC
 Instructions complexes: 1 instruction égale à plusieurs opérations
 Instructions avec temps d’exécution variables
 Codage des instructions sur une longueur variables  unité de
contrôle complexe
 Modes d’adressage complexes
 Compilateur simple

16
Jeu d’instructions RISC
 Instructions simples : 1 instruction = 1 opération
 Instruction load et store pour accéder à la mémoire
 Temps d’exécution des instructions est équivalent
 Codage des instructions sur une longueur fixe  unité de commande
peu complexe.
 Modes d’adressage simple
 Compilateur complexe

17
Evaluation de la performance

NI
Texécution  NI  CPI  Tc 
IPC  F
NI : nombre des instructions
CPI: nombre de cycles moyen par instruction
Tc : temps de cycle
F : fréquence d' horloge

AMÉLIORATION DES PERFORMANCES


• Paramètre NI
• Jeu d’instructions et compilateur
• Paramètre CPI
• Architecture
Paramètre Tc
• Technologie semi-conducteur et architecture. 18
Evaluation de la performance
Unités de mesures:
 MIPS: Million d‘Instructions machine (assembleur) Par Seconde
1
Débit  ( instructions / sec)
CPI  Tc
1
Débit ( MIPS )  ( Million d ' instructions / sec)
CPI  Tc  10 6

Unités plus fines:


 MOPS: « Million of (integer) Operations Per Second »
 MFOPS: « Million of Floating-point Operations Per Second »

19
Techniques d’optimisation
• Jeux d’instructions et modes d’adressage

• Compilation : génération optimale de codes

• Hiérarchie/ Architecture Mémoire :


- Caches Instructions/Données, caches niveaux L1 ou L2.

• Processeurs spécialisés :
• Processeurs à jeu d’instructions spécialisé(ASIP)
• Processeur de traitement de signal (DSP); Instruction MAC

•Parallélisme
• Pipeline: Chevauchement de l'exécution des instructions
• Superscalaires et VLIW( Very Large Instruction Word): consiste à
disposer de plusieurs unités de traitement en parallèle afin d’exécuter
plusieurs instructions par cycle
• Multi-processeur et multi-cœur.
20
Plan du cours
 Introduction
 Chapitre 1: Fonctionnement du processeur (cas du MIPS).
 Chapitre 2 : Pipeline.
 Chapitre 3 : Architecture ARM.

21

Vous aimerez peut-être aussi