Académique Documents
Professionnel Documents
Culture Documents
Introduction à l’informatique
1
Leçon 1
Introduction
Ce que vous croyez que l’informatique est :
- Il s’agit d’un PC ou d’un MAC ?
- Il s’agit de savoir utiliser MS Word, Excel ou PPT !!
- Il s’agit de connaitre le langage C ou JAVA ou n’importe !!
Ce que l’informatique est vraiment :
- Avoir un modèle sur le fonctionnement d’un ordinateur dans le niveau
adéquat.
- Arriver à comprendre et à gérer la complexité d’un système
informatique.
- Savoir utiliser un ordinateur/microprocesseur/microcontrôleur pour
la résolution d’un problème d’ingénierie quelconque.
ISSAT Kasserine 2
Leçon 1
Hardware
Processeurs
i3,i5,AMD,ARM
Mémoires
Caches, RAM, Disque Dur
Périphérique E/S
(clavier, écran)
ISSAT Kasserine 3
[ Arr 1C
Leçon
A Ls s
s
d, s, C,
l
s
l de
égmd
ISSAT Kasserine ci ée 4
Leçon 1
Système
d’exploitation
Software
Compilateur
Pilotes (Drivers),
Programmation niveau bas (Assembleur)
Jeu d’instruction (ISA)
Interface
Processeur Mémoires
E/S
ISSAT Kasserine 5
Leçon 1
Réponses
1) C’est l’interface entre le niveau Hardware et Software d’un système
2) Ça comporte l’organisation des instructions pour le processeur, le format
de ces instructions, l’accès aux instructions et aux données, les modes
d’adressage.
Langage de
Technologie
programmation
Architecture
des ordinateurs
Systèmes Application
d’exploitation
ISSAT Kasserine 7
Leçon 1
Influence de la technologie
Année Nom Fabricant Horloge max Technologie Nombre de transistors
1974 8080 Intel 2 MHz 6 µm ~ 6000 NMOS
PowerPC IBM-
1993 50 - 80 MHz 0.6 µm ~ 2.6 M
601 Motorolla
ISSAT Kasserine 8
Leçon 1
Résumé
Tout les systèmes à base de microprocesseur se composent de :
ISSAT Kasserine 9
Leçon 2
La conception d’un processeur
simple
10
Leçon 2
Rappels de la 1 ère
leçon
Application
Système
d’exploitation
Software
Compilateur
Pilotes (Drivers),
Programmation niveau bas (Assembleur)
Jeu d’instruction (ISA)
Interface
Processeur Mémoires
E/S
ISSAT Kasserine 11
Leçon 2
Objectifs
1) Connaitre l’architecture interne d’un µP et savoir distinguer
entre les différents éléments qui le constituent.
ISSAT Kasserine 12
Leçon 2
Réponses
1) Stocker, sauvegarder des informations (en binaire 010001110 d’une façon
permanente ou temporaire (des données ou des instructions).
2) Technologie, Taille, Largeur du bus d’adresse.
3) RAM, ROM, cache, EEPROM, etc.
ISSAT Kasserine 14
Leçon 2
ISSAT Kasserine 15
Leçon 2
0x007 Case 7
.
.
Nombre total de cases mémoire
0x002 Case 2
0x001 Case 1
0x000 Case 0
A[2:0] D[7:0]
0xFFF mot N
mot N-1
.
.
.
.. Nombre total de mots
.
0x003 mot 3
0x002 mot 2
0x001 mot 1
0x000 mot 0
A[11:0] D[15:0]
Les registres
Questions ?
1) Comment ça fonctionne ?
2) Où est ce qu’on les trouve ?
3) Quelle est la différence entre un registre et une mémoire ?
Réponses
1) Stocker, ou sauvegarder des informations (en binaire 010001110) d’une façon
temporaire.
2) Situés à proximité du processeur accès rapide.
3) Taille réduite.
ISSAT Kasserine 19
Leçon 2
Concevoir un processeur ?
Bus d’adresse 12 bits
16 bits Contrôle 16 bits
PC IR
Mémoire
16 bits 2 12 mots de 16 bits
16 bits Instructions (+,-, OR,…)
ALU ACC
Données (5,FF,…)
16 bits
MU0
UP Bus de données
Configuration minimale :
UAL : réalise les opérations arithmétiques sur les données.
Accumulator (ACC) : sauvegarde les données en cours de traitement.
Program Counter (PC) : contient l’adresse de la prochaine instruction.
Instruction Register: contient le code de l’instruction en cours d’exécution.
ISSAT Kasserine 20
Leçon 2
Contrôle
PC IR
Mémoire
Instructions (+,-, OR,…)
ALU ACC
Données (5,FF,…)
Bus de données
UP applique le contenu de PC sur le bus d’adresse.
La mémoire renvoie le contenu de la case d’adresse PC. Ce contenu est la 1 ère instruction.
L’instruction est sauvegardée dans IR.
ISSAT Kasserine 21
Leçon 2
Contrôle
PC PC + i IR
Mémoire
Instructions (+,-, OR,…)
ALU ACC
Données (5,FF,…)
Bus de données
L’instruction contenue dans IR est décodée par le circuit de contrôle qui applique les signaux
nécessaires à l’ALU et le reste des éléments de l’UP.
Le PC est incrémenté par l’ALU de la valeur i c’est l’adresse de la prochaine instruction.
ISSAT Kasserine 22
Leçon 2
Contrôle
PC IR
Mémoire
Instructions (+,-, OR,…)
ALU ACC
Données (5,FF,…)
Bus de données
Le registre IR applique l’adresse de la donnée qui va être utilisée par l’ALU.
La mémoire renvoie le contenu de la case dont l’adresse est fournie par IR.
Ce contenu sera utilisé soit par l’ALU ou l’ACC.
ISSAT Kasserine 23
Exécuter : Execute
Leçon 2
Bus d’adresse
Contrôle
PC IR
Mémoire
Instructions (+,-, OR,…)
ALU ACC
Données (5,FF,…)
Bus de données
Les opérations arithmétiques et logiques sont effectuées par l’ALU sur les données suivant
l’instruction.
Le résultat est sauvegardé dans l’ACC.
ISSAT Kasserine 24
Sauvegarde du résultat : Save
Leçon 2
Bus d’adresse
Contrôle
PC IR
Mémoire
Instructions (+,-, OR,…)
ALU ACC
Données (5,FF,…)
Bus de données
Le résultat est copié de l’ACC vers la mémoire. L’adresse de sauvegarde se trouve aussi dans
le registre IR.
Cette opération peut ne pas avoir lieu elle dépend de la nature de l’instruction.
ISSAT Kasserine 25
Leçon 2
?
.
.
..
Mémoire
.
0x003 mot 3
0x002 mot 2
0x001 mot 1
0x000 mot 0
Instructions (+,-, OR,…)
?
.
.
..
.
0x003 mot 3
0x002 mot 2
0x001 mot 1
0x000 mot 0
ISSAT Kasserine 26
Leçon 2
4 bits 12 bits
Opcode = Operation code, avec un Opcode sur 4 bits on peut concevoir 24 = 16 opérations
Le code binaire formé par « Opcode + Opérandes » est appelé code machine.
ISSAT Kasserine 27
Leçon 2
ISSAT Kasserine 28
Leçon 2
Instructions Commentaires
Langage Langage
Assembleur Machine MU0
ISSAT Kasserine 29
Leçon 2
Reg. Adresse
PC
ABCD 02E ABCD
……….
ALU ACC
…..
005 …..
IR
…..
Reg. données
004 …..
7 000
Décodeur
003 STP
1 030
002 STO 030
2 02F
001 ADD 02F
0 02E
000 LDA 02E
Code machine
Au démarrage, les registres sont équivalent Instructions
initialisés à la valeur 0 .
ISSAT Kasserine 30
Leçon 2
Adresse
0000 1234 02F
Reg.
0000 PC
Cycle 1 ABCD 02E
ALU
0000 ACC
……….
données
0000
0 02E IR
Reg.
00000
02E
Décodeur ….. 005
….. 004
002E 7 000 003
MU0
Adresse
PC PC + 1 002E
Reg.
1 030 002
0001
0000 PC
Cycle 2 2 02F 001
ALU
ABCD
0000 ACC 0 02E 000
données
Décodeur
ISSAT Kasserine 31
Leçon 2
Adresse
1234 02F
Reg.
0001 PC
Cycle 1 ABCD 02E
ALU
ABCD ACC
……….
données
0 02F
2 02E IR
Reg.
2 02F
Décodeur ….. 005
….. 004
002F 7 000 003
MU0
Adresse
PC PC + 1 002F
Reg.
1 030 002
0002
0001 PC
Cycle 2 2 02F 001
ALU
ABCD
BE01 ACC 0 02E 000
données
Décodeur
ISSAT Kasserine 32
Leçon 2
Adresse
1234 02F
Reg.
0002 PC
Cycle 1 ABCD 02E
ALU
BE01 ACC
……….
données
2 030
1 02F IR
Reg.
1 030
Décodeur ….. 005
….. 004
0030 7 000 003
MU0
Adresse
PC PC + 1
Reg.
1 030 002
0002
0003 PC
Cycle 2 2 02F 001
ALU
BE01 ACC 0 02E 000
BE01
données
Décodeur
ISSAT Kasserine 33
Leçon 2
Instruction 4 : STP
BE01 030
0003 1234 02F
MU0
Reg. Adresse
ABCD 02E
0003
……….
STOP PC
ALU
BE01 ACC ….. 005
Reg. données
1 000
7 030 ….. 004
IR
7 000 7 000 003
Décodeur
1 030 002
2 02F 001
0 02E 000
Code machine
ISSAT Kasserine 34
Leçon 2
Résumé (1)
L’exécution des opérations dans le processeur est déclenché par un signal
d’horloge (clock).
Un accès mémoire consomme un cycle horloge.
Les instructions LDA, STO, ADD et SUB consomme 2 cycles horloge.
Les instructions JMP, JGE, JNE et STP consomme 1 cycle horloge.
Le registre PC est incrémenté à chaque fois qu’il est utilisé pour pointer
sur la prochaine instruction à exécuter.
Après une mise à zéro (reset), le registre PC est mis à 0 ainsi que le reste des
registres.
ISSAT Kasserine 35
Leçon 2
Résumé (2)
Les processeurs exécutent les instructions sauvegardées dans la mémoire !
Une instruction est composée de 2 champs : Opcode + Opérandes
La configuration minimale pour réaliser un processeur est :
Unité Processeur (ALU, Registres, Unité de contrôle) + Mémoire +
Des bus de communication.
Tous les processeurs fonctionnent avec les mêmes principes que MU0 mais
ont des architectures internes plus complexes.
Cette complexité vient du besoin de plus de performances : temps
d’exécution, consommation d’énergie, Jeu d’instruction plus complet..
ISSAT Kasserine 36
Leçon 2
38
Leçon 3 : Rappel
ISSAT Kasserine 39
Leçon 3
Objectifs
1) Identifier les différentes techniques de conception des
processeurs modernes. (c’est quoi ?)
ISSAT Kasserine 40
Leçon 3
Architectures (1)
Bus Les instructions et les données sont
Mémoire
Instructions sauvegardées dans la même mémoire.
MU0 Architecture Von Neumann
Données
Mémoire
MU0 Les instructions et les données sont
Instr.
Bus 1
sauvegardées dans des mémoires
différentes (Mémoire donnée et
Bus 2 Mémoire programme ou code).
Architecture Harvard
Mémoire
Donn.
ISSAT Kasserine 42
Leçon 3
ISSAT Kasserine 43
Leçon 3
Programme Programme
Compliqué Simple
ou Code ou Code
Architecture Architecture
Simple Compliqué
interne du interne du
processeur processeur
RISC CISC
ISSAT Kasserine 45
Leçon 3
ISSAT Kasserine 46
Leçon 3
Le nombre total de cycle pour l’architecture RISC peut être calculé comme suit :
Le nombre total de cycle pour l’architecture CISC peut être calculé comme suit :
1 ADD × 15 cycles = 15 cycles
Pour cet exemple 1 seule instruction CISC est équivalente à 4 en RISC mais le
gain en nombre de cycle du RISC vs. CISC est de plus de 50 %
ISSAT Kasserine 49
Leçon 3
ISSAT Kasserine 50
Leçon 3
ISA : Tendances
Ils existent des architectures de processeur qui offrent
encore plus de flexibilité du point de vue ISA :
JAVA. Ces instructions sont conçues pour des plateformes qui accueillent
ISSAT Kasserine 51
Leçon 3
les champs Adr. Opér. 1 ou Adr. Opér. 2 ou Adr. Opér. 3 constituent le champs «
opérande » d’une instructions.
Il existe plusieurs façons d’interprétation du contenu de ces opérandes.
ISSAT Kasserine 54
Leçon 3
ISSAT Kasserine 56
Leçon 3
ISSAT Kasserine 57
Leçon 3
ISSAT Kasserine 58
Leçon 3
E1 L S P Temps total = 3 × 60 mn
E2 L S P = 3H
E3 L S P Exécution séquentielle
des tâches L, S et P.
Temps
60 mn 60 mn 60 mn
ISSAT Kasserine 59
Leçon 3
E1 L S P Temps total = 2 × 60 mn
= 2H
E2 L S P
Gain de 33 %
E3 L S P
60 mn 60 mn 60 mn Temps
ISSAT Kasserine 60
Leçon 3
E2 L S P L S P
E3 L S P L S P
Latence = 60 mn Latence = 60 mn
Débit = 1 sac/60 mn Débit = 1 sac/30 mn
Gain en débit
ISSAT Kasserine 61
Leçon 3
ISSAT Kasserine 62
Leçon 3
ISSAT Kasserine 63
Leçon 3
Ins. 1 IF ID DF E S
R
Ins. 2 IF ID DF E S
R
Ins. 3 IF ID DF E S
R
Ins. 4 IF ID DF E SR
A partir du 5ème cycle , le Débit = 1 résultat / 5 cycles
Ce PIPELINE est possible si chaque étape
Cycles 1 2 3 4 5 6 7 8 (IF, ID, etc.) consomme 1 cycle.
Ins. 1 IF ID DF E S R Mais est ce que c’est toujours le cas ?
Ins. 2 IF ID DF E S
R Si par exemple l’ étape exécution (E) de
Ins. 3 Inst. 1 consomme 2 ou 3 cycles ? Quel est
IF ID DF E S
R
l’impact sur l’exécution du reste des
Ins. 4 IF ID DF E S R
instructions ?
A partir du 5ème cycle , le Débit = 1 résultat / cycle
ISSAT Kasserine 64
Leçon 3
Solution ?
Attendre jusqu’à ce que les ressources d’exécution sont libérées.
Comment ?
En insérant un NOP (No Operation)
Cycles 1 2 3 4 5 6 7 8 9 10 11 ….
Ins. 1 IF ID DF E S
Ins. 2 IF ID DF NOP E S
Ins. 3 IF ID DF NOP E S
Ins. 4 IF ID DF NOP E S
ISSAT Kasserine 65
Leçon 3
ISSAT Kasserine 66
Leçon 3
Conclusion :
Pour améliorer les performances d’un produit une des possibilités
c’est de dépenser plus en mémoire.
Question :
Y a-t-il un compromis possible pour avoir un rapport performances /
coût en mémoire plus optimal ?
ISSAT Kasserine 67
Leçon 3
Mémoire : Organisation
Comment organiser la mémoire autour d’un processeur pour obtenir
de bonnes performances tout en contrôlant le coût ?
Mémoire_2
Mémoire_3
Large Lente Pas chère
ISSAT Kasserine 68
Leçon 3
Mémoire cache L1
Mémoire principale
ISSAT Kasserine 70
Leçon 3
ISSAT Kasserine 71
Leçon 3
Architecture
Harvard modifié
ISSAT Kasserine 72
Leçon 3
Instruction_5 interruption.
4. Restitution du Program Counter.
Instruction_6
5. Exécution du programme principal.
Instruction_7 Ret
l’in our d
t er r e
Instruction_8 upt
io n
Instruction_9
ISSAT Kasserine 76
Leçon 3
ISSAT Kasserine 77
Leçon 3
GPU
Graphical Processor Unit
UP Mémoire
FPU
Floating Point Unit
E/S Bus du
processeur
DSP
Digital Signal Processing
ISSAT Kasserine 78
Leçon 3
GPU
Graphical Processor Unit
UP MMU Mémoire
Memory
FPU Management
Unit
Floating Point Unit
DSP
Digital Signal Processing
ISSAT Kasserine 79
Leçon 3
GPU
Graphical Processor Unit
UP1
UP MMU
MMU1 Mémoire
Mémoire 1
Memory
FPU Management
Units
Floating Point Unit
UP2 MMU2 Mémoire 2
DSP
Digital Signal Processing
ISSAT Kasserine 80
Leçon 3
ISSAT Kasserine 81
Leçon 3
ARM11
(Version Quad Cœurs)
ISSAT Kasserine 82
Leçon 3
Résumé (1)
Architectures Von Neumann, Harvard et Harvard modifié
Jeu d’instruction CISC et RISC
Technique de pipeline
Mémoire cache
Modes d’adressage
Interruptions
Coprocesseurs : FPU, GPU, DSP
Architectures Multiprocesseurs
ISSAT Kasserine 83
Leçon 3
Résumé (2)
Les processeurs actuels sont pour la majorité conçus avec plusieurs ou
la totalité des techniques citées.
Chaque processeur est caractérisé par une architecture et un jeu
d’instruction.
Il est possible de trouver les processeurs dans des produits
commercialisés comme ils peuvent être intégrés dans des circuits plus
grands tels que des Microcontrôleurs, des DSPs, des FPGAs, des APIs.
ISSAT Kasserine 84