Vous êtes sur la page 1sur 32

Composants couche physique (hardware)

le processeur exécute les


instructions machine,
c’est le cerveau du
système
les mémoires vives
(RAM, cache) stockent
les données et les
instructions
le bus permet le transfert
de données entre les
différents composants
souvent implémenté
sur la carte mère.
 
les périphériques : disques durs  , clés USB, imprimantes, mo-
niteur (écran), clavier, souris, cartes d’extension (graphique),
manettes de jeu, lecteurs de CD/DVD, etc.
20/32
Image due à http://asri-education.org/node/110
À l’intérieur du boitier on peut trouver cette carte mère. Elle est
le socle utilisé par tous les éléments de la machine pour
communiquer.
Image due à http://asri-education.org/node/110
1 Ce gros carré blanc est le socket (socle) du processeur.
Image due à http://asri-education.org/node/110
2 Emplacements (slots) pour accueillir les barrettes de RAM.
Image due à http://asri-education.org/node/110
3 Ces grandes barres blanches sont destinées à accueillir
divers types de cartes d’extension (son, graphique), elles
s’appellent ports PCI (Peripheral Component Interconnect).
Image due à http://asri-education.org/node/110
4 Un port plus rapide pour la carte graphique (Accelerated
Graphics Port). Les ordinateurs plus récents utilisent le plus
rapide PCI Express.
Image due à http://asri-education.org/node/110
5 Cette petite puce contient le BIOS (Basic Input/Output
System), c.t.d, un petit programme qui s’exécute en premier
lorsqu’on allume la machine et qui permet de la configurer.
Image due à http://asri-education.org/node/110
6 Cette pile sert à alimenter le BIOS ; c’est grâce à elle que
l’ordinateur retient l’heure même lorsqu’il n’est pas allumé.
Image due à http://asri-education.org/node/110
7 Le connecteur blanc sert à l’alimentation électrique.
Les autres trois sont des ports IDE pour connecter des disques
durs ou des lecteurs CD/DVD.
Image due à http://asri-education.org/node/110
8 Sur le côté de la carte mère on retrouve les connecteurs
(clavier, souris, réseaux, USB).
1 Les premiers programmes/dessins en langage Processing

2 Comprendre l’ordinateur : notions d’architecture


Les couches et les fonctions de base d’un ordinateur
Mémoires et Processeur
Du langage processing à la couche matérielle

22/32
Mémoires : bits, octets, méga-octets
La donnée de base manipulée par la machine est le bit. Il
peut prendre deux valeurs : 0 et 1.
Un octet (ou byte) est une chaîne de 8 bits. Un octet permet
de coder des valeurs numériques ou jusqu’à 256 caractères
différents.

Il y a deux usages pour quantifier les kilooctets (Koctets),


mégaoctet (MOctets) et gigaoctets (Goctets)
Koctets 1000 octets 210 = 1024 octets
Moctets 1.000.000 octets 220 = 1.048.576 octets
Goctets 109 octets 230 octets
23/32
Les mémoires de
Horloge
Processeur
Central

Bus
l’ordinateur
Mémoire d' échange
Centrale Interface d’entrées/sorties Une « mémoire » est un composant
électronique capable de stocker
temporairement des informations

• Une mémoire est caractérisée par :


– Sa capacité, représentant le volume global d'informations
(en bits) que la mémoire peut stocker (par exemple 1
Goctets, soit 230 octets, soit 230 * 8 bits.
– Son temps d'accès, correspondant à l'intervalle de temps
entre la demande de lecture/écriture et la disponibilité de la
donnée.

• L’ordinateur contient différents niveaux de mémoire,


organisés selon une hiérarchie mémoire.
Joëlle Delacroix - NFA004 14
Les mémoires de l’ordinateur
• L’ordinateur contient différents niveaux de mémoire, organisés selon une hiérarchie
mémoire.

Mémoires vives : mémoires volatiles : Mémoires de masse :


mémoires permanentes
01101110
1
10010011 01110001

10001000

11111111

Mémoires de masse
REGISTRES Mémoires Caches Mémoires Centrales
500 Goctets - Toctets
N bits (32, 64) Koctets (L1,L2) Goctets
5 millisecondes
1 nanoseconde 5 nanosecondes 10 nanosecondes

Au plus près du cpu Capacité, vitesse Au plus loin du cpu

Mémoire volatile : le contenu de la mémoire n’existe que si il y a


une alimentation électrique (typiquement les mémoires caches et mémoire centrale)
Mémoire permanente, de masse : mémoire de grande capacité dont
le contenu demeure même sans alimentation électrique (typiquement le disque dur)
Joëlle Delacroix - NFA004 16
La vitesse (débit) des mémoires

Décrypter “temps d’accès 10 nanosecondes”


10 nanosecondes = 10 1019 = 1018 secondes =⇒ 108 accès
par seconde (100MHz)
système de 64 bits =⇒ un accès = 8 octets
vitesse mémoire = 108 · 8 = 800Moctets par seconde (MBs)
Attention : MBs (octets par sec.) 6= Mbs (bits par sec.)
 
Observation : Un CPU à 1000MHz peut exécuter une ins-
truction par nanosec. Mais si la RAM a un temps d’accès
de 10 nanosec, le CPU est ralenti, sauf s’il utilise la cache. 


24/32
La vitesse (débit) des mémoires

Décrypter “temps d’accès 10 nanosecondes”


10 nanosecondes = 10 1019 = 1018 secondes =⇒ 108 accès
par seconde (100MHz)
système de 64 bits =⇒ un accès = 8 octets
vitesse mémoire = 108 · 8 = 800Moctets par seconde (MBs)
Attention : MBs (octets par sec.) 6= Mbs (bits par sec.)
 
Observation : Un CPU à 1000MHz peut exécuter une ins-
truction par nanosec. Mais si la RAM a un temps d’accès
de 10 nanosec, le CPU est ralenti, sauf s’il utilise la cache. 


24/32
Exemples de vitesses de mémoires/réseaux
mémoires RAM années 1990 ≈ ±200MBs
mémoires RAM années 2000 ≈ ±1500MBs
mémoires RAM années 2010 ≈ ±10GBs

disques durs années 2000 ≈ 25MBs


disques durs années 2010 ≈ 150MBs – 600MBs
USB 2.0 : max 60MBs, souvent ≈10MBs
USB 3.0 : max 500MBs

Cable ethernet (RJ45) : Cat 5 ≈ 10MBs, Cat 6 < 120MBs


Wi-Fi ≈ 1-3MBs en moyenne (802.11a ou 802.11g)
beaucoup plus avec de nouveaux standards (802.11ad)
doubler la distance =⇒ diviser le débit par 3 ou 4 approx.
ADSL ≈ <12MBs en moyenne, fibre ≈ jusqu’à 120MBs
Youtube en 720p HD nécessite <0.5MBs
25/32
Exemples de vitesses de mémoires/réseaux
mémoires RAM années 1990 ≈ ±200MBs
mémoires RAM années 2000 ≈ ±1500MBs
mémoires RAM années 2010 ≈ ±10GBs

disques durs années 2000 ≈ 25MBs


il y a une tête de lecture mécanique
disques durs années 2010 ≈ 150MBs – 600MBs
SSD (Solid State Drive) sans aucun élément mécanique
USB 2.0 : max 60MBs, souvent ≈10MBs
USB 3.0 : max 500MBs

Cable ethernet (RJ45) : Cat 5 ≈ 10MBs, Cat 6 < 120MBs


Wi-Fi ≈ 1-3MBs en moyenne (802.11a ou 802.11g)
beaucoup plus avec de nouveaux standards (802.11ad)
doubler la distance =⇒ diviser le débit par 3 ou 4 approx.
25/32
Exemples de vitesses de mémoires/réseaux
mémoires RAM années 1990 ≈ ±200MBs
mémoires RAM années 2000 ≈ ±1500MBs
mémoires RAM années 2010 ≈ ±10GBs

disques durs années 2000 ≈ 25MBs


disques durs années 2010 ≈ 150MBs – 600MBs
USB 2.0 : max 60MBs, souvent ≈10MBs
USB 3.0 : max 500MBs

Cable ethernet (RJ45) : Cat 5 ≈ 10MBs, Cat 6 < 120MBs


Wi-Fi ≈ 1-3MBs en moyenne (802.11a ou 802.11g)
beaucoup plus avec de nouveaux standards (802.11ad)
doubler la distance =⇒ diviser le débit par 3 ou 4 approx.
ADSL ≈ <12MBs en moyenne, fibre ≈ jusqu’à 120MBs
Youtube en 720p HD nécessite <0.5MBs
25/32
Le processeur
Horloge
Processeur • Le processeur (CPU, pour Central Processing Unit) est
Central
le cerveau de l'ordinateur. Il permet de manipuler, des
Bus
données et des instructions codées sous forme binaires.
Mémoire d' échange • Le processeur est un circuit électronique cadencé au
Centrale Interface d’entrées/sorties rythme d'une horloge interne qui envoie des impulsions,
appelées « top ». La fréquence d'horloge, correspond
nombre d'impulsions par seconde. Elle s'exprime en Hertz
(Hz).

– Ordinateur à 2 GHz  l’horloge envoie 200 000 000


000 battements par seconde.

Circuits électroniques composés de millions de transistors placés dans un boîtier


comportant des connecteurs d'entrée-sortie, surmonté d’un ventilateur.
 circuit intégré ou puce Joëlle Delacroix - NFA004 12
Le processeur : performances

GT400
Pentium II 64 bits
32 bits 3 milliards
7 500 000 transistors
4004
4 bits transistors
2300
transistors

La Loi de Moore a été exprimée en 1965 par Gordon Moore, un des trois
fondateurs d'Intel. Elle postule que le nombre de transistors sur une puce
double tous les deux ans.
Les composants du processeur

L’horloge fournit un signal régulier pour synchroniser tout le


fonctionnement du CPU
Unité arithmétique et logique effectue les calculs sur des don-
nées écrites dans des registres et stocke le résultats
dans un autre registre
registres : petites mémoires internes très rapides,
pouvant être accédées facilement. La taille des
registres dépend de l’architecture (32 bits ou 64
bits).
Unité d’interface mémoire transfert les données à partir des mé-
moires vers les registres et vice-versa
Unité de comande décode les instructions, fait appel à l’unité
arithmétique/logique ou à l’unité d’interface mémoire.

26/32
Fonctionnement du processeur
Plusieurs étapes :
1. L’unité de commande demande à Récupérateur {

commande
d'instructions

Unité de
l’interface mémoire de récupérer une
instruction (en. : instruction fetch)
Décodeur
2. Le décodeur découpe l’instruction d'instructions
en plusieurs parties telles qu’elles
Intérface
puissent être gérés par l’unité mémoire
arithmétique-logique et les registres
(flèches vertes)
3. L’unité arithmétique et logique Registres

mémoire
vers la
réalise l’instruction décodée, ex.,
l’addition de deux nombres stockés
dans des registres Unité
4. Écrire le résultat dans un registre arithmétique
et par la suite dans la mémoire, à et logique
l’aide de l’interface mémoire
27/32
Fonctionnement du processeur
Plusieurs étapes : Récupérateur {

commande
1. L’unité de commande demande à d'instructions

Unité de
l’interface mémoire de récupérer une
instruction (en. : instruction fetch) Décodeur
2. Le décodeur découpe l’instruction d'instructions
en plusieurs parties telles qu’elles Intérface
puissent être gérés par l’unité mémoire
arithmétique-logique et les registres
(flèches vertes) Registres

mémoire
vers la
3. L’unité arithmétique et logique
réalise l’instruction décodée, ex.,
l’addition de deux nombres stockés
Unité
dans des registres arithmétique
4. Écrire le résultat dans un registre et logique
et par la suite dans la mémoire, à
l’aide de l’interface mémoire
27/32
Fonctionnement du processeur
Plusieurs étapes :
1. L’unité de commande demande à Récupérateur {

commande
d'instructions

Unité de
l’interface mémoire de récupérer une
instruction (en. : instruction fetch)
Décodeur
2. Le décodeur découpe l’instruction d'instructions
en plusieurs parties telles qu’elles
Intérface
puissent être gérés par l’unité mémoire
arithmétique-logique et les registres
(flèches vertes)
3. L’unité arithmétique et logique Registres

mémoire
vers la
réalise l’instruction décodée, ex.,
l’addition de deux nombres stockés
dans des registres Unité
4. Écrire le résultat dans un registre arithmétique
et par la suite dans la mémoire, à et logique
l’aide de l’interface mémoire
27/32
Fonctionnement du processeur
Plusieurs étapes :
1. L’unité de commande demande à Récupérateur {

commande
d'instructions

Unité de
l’interface mémoire de récupérer une
instruction (en. : instruction fetch)
Décodeur
2. Le décodeur découpe l’instruction d'instructions
en plusieurs parties telles qu’elles
Intérface
puissent être gérés par l’unité mémoire
arithmétique-logique et les registres
(flèches vertes)
3. L’unité arithmétique et logique Registres

mémoire
vers la
réalise l’instruction décodée, ex.,
l’addition de deux nombres stockés
dans des registres Unité
4. Écrire le résultat dans un registre arithmétique
et par la suite dans la mémoire, à et logique
l’aide de l’interface mémoire
27/32
1 Les premiers programmes/dessins en langage Processing

2 Comprendre l’ordinateur : notions d’architecture


Les couches et les fonctions de base d’un ordinateur
Mémoires et Processeur
Du langage processing à la couche matérielle

28/32
Exemple de programme Processing

Est-ce que l’exécution est la même sur toute machine ?


Quelles opérations/calculs sont réellement exécutés par la
machine ?
La fonction ellipse(..) cache des appels au système
29/32
Langages de haut niveau et de bas niveau

Tout langage est traduit finalement en langage assembleur !


Mais il peut y avoir une série de traductions : Processing→
Java→ Machine Virtuelle Java→ Assembleur
30/32
• L’assembleur est un langage qui permet d’écrire directement
des instructions machine pour le processeur
• Voici le code assembleur qui effectue la somme de deux
variables
 
z=x+y 


mov AL , x ; c o p i e r x dans l e r e g i s t r e AL
mov BL , y ; c o p i e r y dans l e r e g i s t r e BL
add AL , BL ; f a i r e l a somme : i n s t r u c t i o n AL=AL+BL

mov z , AL ; c o p i e r r e g i s t r e AL −> v a r i a b l e z
 

Rappels organisation
registres :
Instructions Classiques Assembleur
PUSH : ajouter au sommet de la pile MOV : copier un registre
POP : récupérer le sommet de la pile (ou case mémoire)
JMP : sauter à une autre ligne dans un autre

Vous aimerez peut-être aussi