Introduction à l`architecture des ordinateurs

publicité
Informatique Mathématiques Supérieures
Introduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateurs
Ordinateur ?
Aujourd’hui, les ordinateurs font partie de notre quotidien et ils
sont présents sous plusieurs formes, par exemple :
Les ordinateurs de bureau ;
Introduction à l’architecture des ordinateurs
Ordinateur ?
Aujourd’hui, les ordinateurs font partie de notre quotidien et ils
sont présents sous plusieurs formes, par exemple :
Les ordinateurs de bureau ;
Les tablettes numériques ;
Introduction à l’architecture des ordinateurs
Ordinateur ?
Aujourd’hui, les ordinateurs font partie de notre quotidien et ils
sont présents sous plusieurs formes, par exemple :
Les ordinateurs de bureau ;
Les tablettes numériques ;
Les smartphones.
Introduction à l’architecture des ordinateurs
Ordinateur ?
Aujourd’hui, les ordinateurs font partie de notre quotidien et ils
sont présents sous plusieurs formes, par exemple :
Les ordinateurs de bureau ;
Les tablettes numériques ;
Les smartphones.
Introduction à l’architecture des ordinateurs
Ordinateur ?
Aujourd’hui, les ordinateurs font partie de notre quotidien et ils
sont présents sous plusieurs formes, par exemple :
Les ordinateurs de bureau ;
Les tablettes numériques ;
Les smartphones.
Question.
Quels sont leurs points communs ?
Introduction à l’architecture des ordinateurs
Ordinateur ?
Vu de l’extérieur, on peut observer que nos exemples ont en
communs :
Une source d’énergie ;
Introduction à l’architecture des ordinateurs
Ordinateur ?
Vu de l’extérieur, on peut observer que nos exemples ont en
communs :
Une source d’énergie ;
La réception d’information de la part de l’utilisateur ;
Introduction à l’architecture des ordinateurs
Ordinateur ?
Vu de l’extérieur, on peut observer que nos exemples ont en
communs :
Une source d’énergie ;
La réception d’information de la part de l’utilisateur ;
L’émission d’information vers l’utilisateur.
Introduction à l’architecture des ordinateurs
Ordinateur ?
Vu de l’extérieur, on peut observer que nos exemples ont en
communs :
Une source d’énergie ;
La réception d’information de la part de l’utilisateur ;
L’émission d’information vers l’utilisateur.
Introduction à l’architecture des ordinateurs
Ordinateur ?
Vu de l’extérieur, on peut observer que nos exemples ont en
communs :
Une source d’énergie ;
La réception d’information de la part de l’utilisateur ;
L’émission d’information vers l’utilisateur.
Question.
Est-ce que cela définit un ordinateur ?
Introduction à l’architecture des ordinateurs
Non !
Introduction à l’architecture des ordinateurs
Non !
Contre-exemple : Une voiture !
Introduction à l’architecture des ordinateurs
Non !
Contre-exemple : Une voiture ! Une voiture partage les points
cités précédemment.
Question.
Mais alors qu’y a-t-il de différent ?
Introduction à l’architecture des ordinateurs
Non !
Contre-exemple : Une voiture ! Une voiture partage les points
cités précédemment.
Question.
Mais alors qu’y a-t-il de différent ?
Réponse :
Une voiture reçoit et envoie des données mais ne les traite pas...
Introduction à l’architecture des ordinateurs
L’ordinateur
Alors qu’est-ce qu’un ordinateur ?
Introduction à l’architecture des ordinateurs
L’ordinateur
Alors qu’est-ce qu’un ordinateur ? Il s’agit d’une machine permettant de traiter
automatiquement l’information(Informatique = Information + Automatique). Il
peut agir sur celle-ci de plusieurs façons, voici les différentes actions possibles par un
ordinateur sur l’information :
Introduction à l’architecture des ordinateurs
L’ordinateur
Alors qu’est-ce qu’un ordinateur ? Il s’agit d’une machine permettant de traiter
automatiquement l’information(Informatique = Information + Automatique). Il
peut agir sur celle-ci de plusieurs façons, voici les différentes actions possibles par un
ordinateur sur l’information :
L’acquisition de l’information. L’ordinateur est capable d’acquérir de
l’information en provenance des différents périphériques d’entrées comme par
exemple, le clavier, la souris, la webcam, ...
Introduction à l’architecture des ordinateurs
L’ordinateur
Alors qu’est-ce qu’un ordinateur ? Il s’agit d’une machine permettant de traiter
automatiquement l’information(Informatique = Information + Automatique). Il
peut agir sur celle-ci de plusieurs façons, voici les différentes actions possibles par un
ordinateur sur l’information :
L’acquisition de l’information. L’ordinateur est capable d’acquérir de
l’information en provenance des différents périphériques d’entrées comme par
exemple, le clavier, la souris, la webcam, ...
Le stockage de l’information. La mémoire d’un ordinateur permet de stocker
l’information. Il y a en a essentiellement deux types : la mémoire de masse et la
mémoire morte (ex : disque dur, clé USB, ...) pour le stockage définitif ; la
mémoire vive - RAM - et les registres pour le stockage temporaire.
Introduction à l’architecture des ordinateurs
L’ordinateur
Alors qu’est-ce qu’un ordinateur ? Il s’agit d’une machine permettant de traiter
automatiquement l’information(Informatique = Information + Automatique). Il
peut agir sur celle-ci de plusieurs façons, voici les différentes actions possibles par un
ordinateur sur l’information :
L’acquisition de l’information. L’ordinateur est capable d’acquérir de
l’information en provenance des différents périphériques d’entrées comme par
exemple, le clavier, la souris, la webcam, ...
Le stockage de l’information. La mémoire d’un ordinateur permet de stocker
l’information. Il y a en a essentiellement deux types : la mémoire de masse et la
mémoire morte (ex : disque dur, clé USB, ...) pour le stockage définitif ; la
mémoire vive - RAM - et les registres pour le stockage temporaire.
La transformation de l’information. Le processeur permet de transformer
l’information. Il se décompose essentiellement en deux parties : l’unité de
commande pour la lecture et le décodage ; l’unité de traitement pour l’exécution
des instructions.
Introduction à l’architecture des ordinateurs
L’ordinateur
Alors qu’est-ce qu’un ordinateur ? Il s’agit d’une machine permettant de traiter
automatiquement l’information(Informatique = Information + Automatique). Il
peut agir sur celle-ci de plusieurs façons, voici les différentes actions possibles par un
ordinateur sur l’information :
L’acquisition de l’information. L’ordinateur est capable d’acquérir de
l’information en provenance des différents périphériques d’entrées comme par
exemple, le clavier, la souris, la webcam, ...
Le stockage de l’information. La mémoire d’un ordinateur permet de stocker
l’information. Il y a en a essentiellement deux types : la mémoire de masse et la
mémoire morte (ex : disque dur, clé USB, ...) pour le stockage définitif ; la
mémoire vive - RAM - et les registres pour le stockage temporaire.
La transformation de l’information. Le processeur permet de transformer
l’information. Il se décompose essentiellement en deux parties : l’unité de
commande pour la lecture et le décodage ; l’unité de traitement pour l’exécution
des instructions.
La restitution de l’information. L’ordinateur restitue l’information à l’utilisateur
grâce aux périphériques de sorties ; par exemple, l’écran, l’imprimante, ...
Introduction à l’architecture des ordinateurs
L’ordinateur
Alors qu’est-ce qu’un ordinateur ? Il s’agit d’une machine permettant de traiter
automatiquement l’information(Informatique = Information + Automatique). Il
peut agir sur celle-ci de plusieurs façons, voici les différentes actions possibles par un
ordinateur sur l’information :
L’acquisition de l’information. L’ordinateur est capable d’acquérir de
l’information en provenance des différents périphériques d’entrées comme par
exemple, le clavier, la souris, la webcam, ...
Le stockage de l’information. La mémoire d’un ordinateur permet de stocker
l’information. Il y a en a essentiellement deux types : la mémoire de masse et la
mémoire morte (ex : disque dur, clé USB, ...) pour le stockage définitif ; la
mémoire vive - RAM - et les registres pour le stockage temporaire.
La transformation de l’information. Le processeur permet de transformer
l’information. Il se décompose essentiellement en deux parties : l’unité de
commande pour la lecture et le décodage ; l’unité de traitement pour l’exécution
des instructions.
La restitution de l’information. L’ordinateur restitue l’information à l’utilisateur
grâce aux périphériques de sorties ; par exemple, l’écran, l’imprimante, ...
Introduction à l’architecture des ordinateurs
L’ordinateur
Alors qu’est-ce qu’un ordinateur ? Il s’agit d’une machine permettant de traiter
automatiquement l’information(Informatique = Information + Automatique). Il
peut agir sur celle-ci de plusieurs façons, voici les différentes actions possibles par un
ordinateur sur l’information :
L’acquisition de l’information. L’ordinateur est capable d’acquérir de
l’information en provenance des différents périphériques d’entrées comme par
exemple, le clavier, la souris, la webcam, ...
Le stockage de l’information. La mémoire d’un ordinateur permet de stocker
l’information. Il y a en a essentiellement deux types : la mémoire de masse et la
mémoire morte (ex : disque dur, clé USB, ...) pour le stockage définitif ; la
mémoire vive - RAM - et les registres pour le stockage temporaire.
La transformation de l’information. Le processeur permet de transformer
l’information. Il se décompose essentiellement en deux parties : l’unité de
commande pour la lecture et le décodage ; l’unité de traitement pour l’exécution
des instructions.
La restitution de l’information. L’ordinateur restitue l’information à l’utilisateur
grâce aux périphériques de sorties ; par exemple, l’écran, l’imprimante, ...
Remarque : Il existe des périphériques pouvant remplir plusieurs fonctions d’entrées
et de sorties ; les écrans tactiles par exemple.
Introduction à l’architecture des ordinateurs
Théorie et Histoire
En 1937, soit environ une décennie avant la conception des
premiers ordinateurs, Alan Turing, un mathématicien britannique,
définit de façon théorique la machine suivante, désormais appelé
machine de Turing :
Introduction à l’architecture des ordinateurs
Théorie et Histoire
En 1937, soit environ une décennie avant la conception des
premiers ordinateurs, Alan Turing, un mathématicien britannique,
définit de façon théorique la machine suivante, désormais appelé
machine de Turing :
Machine de Turing
Une machine de Turing possède un ruban infini sur lequel on a
disposé des données. Elle peut lire, traiter, et en écrire d’autres.
Introduction à l’architecture des ordinateurs
Théorie et Histoire
En 1937, soit environ une décennie avant la conception des
premiers ordinateurs, Alan Turing, un mathématicien britannique,
définit de façon théorique la machine suivante, désormais appelé
machine de Turing :
Machine de Turing
Une machine de Turing possède un ruban infini sur lequel on a
disposé des données. Elle peut lire, traiter, et en écrire d’autres.
Au bout d’un certain temps, il se peut qu’elle s’arrête, on peut
alors lire le résultat du calcul sur le ruban.
Introduction à l’architecture des ordinateurs
Théorie et Histoire
Machine de Turing universelle
Alan Turing démontre qu’on peut construire une machine
universelle i.e. capable de simuler toutes les autres. Pour l’utiliser,
on rentre simplement en entrée la description de la machine à
simuler et les données d’entrée de cette machine.
Introduction à l’architecture des ordinateurs
Théorie et Histoire
Machine de Turing universelle
Alan Turing démontre qu’on peut construire une machine
universelle i.e. capable de simuler toutes les autres. Pour l’utiliser,
on rentre simplement en entrée la description de la machine à
simuler et les données d’entrée de cette machine.
Et là est l’idée révolutionnaire : La description de la machine
(qu’on peut traduire comme algorithme ici) est donc considérée
comme une donnée ! ! !
Introduction à l’architecture des ordinateurs
Définition
Définition.
gOrdinateur
Ordinateur
Un ordinateur est la réalisation concrète d’une machine
de Turing universelle, c’est-à-dire une machine traitant des
informations et capable d’accepter comme donnée d’entrée
n’importe quel algorithme et de l’exécuter.
Introduction à l’architecture des ordinateurs
Définition
Définition.
gOrdinateur
Ordinateur
Un ordinateur est la réalisation concrète d’une machine
de Turing universelle, c’est-à-dire une machine traitant des
informations et capable d’accepter comme donnée d’entrée
n’importe quel algorithme et de l’exécuter.
Voyons maintenant quel est le modèle architectural qui permet de
”réaliser concrètement” le concept de machine de Turing universelle.
Introduction à l’architecture des ordinateurs
Schéma : architecture de Von Neuman
Malgré la complexité des ordinateurs actuels, le schéma grossier
qui régit leur fonctionnement est resté très proche du schéma de
l’architecture de Von Neumann :
Introduction à l’architecture des ordinateurs
Les différents types de mémoire
Attention !
Il faut distinguer :
le type de l’information traitée ; par exemple un nombre
entier, un nombre décimal, une image, une chaı̂ne de
caractères, un programme, une vidéo,...
Introduction à l’architecture des ordinateurs
Les différents types de mémoire
Attention !
Il faut distinguer :
le type de l’information traitée ; par exemple un nombre
entier, un nombre décimal, une image, une chaı̂ne de
caractères, un programme, une vidéo,...
et la représentation en machine qui n’est autre qu’une
succession de bits i.e. de 0 ou de 1 ! Une même succession de
bits peut représenter des objets de type différents.
Introduction à l’architecture des ordinateurs
Les différents types de mémoire
Introduction à l’architecture des ordinateurs
Les différents types de mémoire
• Les registres sont des emplacements mémoires internes au processeur
dans lesquels ces derniers exécutent les instructions. Leur nombre varie
d’une dizaine à une centaine, et leur capacité dépasse rarement quelques
dizaines d’octets (o).
Introduction à l’architecture des ordinateurs
Les différents types de mémoire
• La mémoire cache est une mémoire rapide permettant de réduire les délais
d’attente des informations stockées dans la mémoire centrale. Il existe
plusieurs niveaux de caches qui se distinguent par leur vitesse d’accès. La
capacité d’un cache se compte en kilo-octets (Ko) pour les deux premiers
niveaux et en méga-octets (Mo) pour le troisième.
Introduction à l’architecture des ordinateurs
Les différents types de mémoire
• La mémoire centrale contient le code et les données des programmes
exécutés par le processeur ; elle se compte actuellement en giga-octets
(Go).
Introduction à l’architecture des ordinateurs
Les différents types de mémoire
• La mémoire de masse désigne tous les moyens de stockage pérenne dont
on dispose : disque dur, clé USB, DVD, etc... Lors du lancement d’une
application, les données essentielles sont copiées dans la mémoire centrale,
et les programmes sont conçus pour minimiser les accès à la mémoire de
masse, très lente. La mémoire de masse tend de plus en plus à être mesurée
en téra-octets (To).
Introduction à l’architecture des ordinateurs
Les différents types de mémoire
• Et pour finir, même si celle-ci n’apparaı̂t pas dans le schéma, un ordinateur possède une mémoire morte ou ROM : c’est une mémoire permanente,
elle est non modifiable. Elle contient le firmware (BIOS ou UEFI) qui permet de charger le système d’exploitation.
Introduction à l’architecture des ordinateurs
Quantité d’information
Une information est représentée dans l’ordinateur et manipulée par
celui-ci sous forme binaire, c’est-à-dire une suite de 0 et de 1 (une
suite de bits)
8 bits forment un octet ;
Introduction à l’architecture des ordinateurs
Quantité d’information
Une information est représentée dans l’ordinateur et manipulée par
celui-ci sous forme binaire, c’est-à-dire une suite de 0 et de 1 (une
suite de bits)
8 bits forment un octet ;
1 000 = 103 octets forment un kilo-octet (1 ko)
1 024 = 210 octets forment un kibioctet (1 kio) ;
Introduction à l’architecture des ordinateurs
Quantité d’information
Une information est représentée dans l’ordinateur et manipulée par
celui-ci sous forme binaire, c’est-à-dire une suite de 0 et de 1 (une
suite de bits)
8 bits forment un octet ;
1 000 = 103 octets forment un kilo-octet (1 ko)
1 024 = 210 octets forment un kibioctet (1 kio) ;
1 000 ko = 106 octets forment un méga-octet (1 Mo)
1 024 kio = 220 octets forment un mébi-octet (1 Mio) ;
Introduction à l’architecture des ordinateurs
Quantité d’information
Une information est représentée dans l’ordinateur et manipulée par
celui-ci sous forme binaire, c’est-à-dire une suite de 0 et de 1 (une
suite de bits)
8 bits forment un octet ;
1 000 = 103 octets forment un kilo-octet (1 ko)
1 024 = 210 octets forment un kibioctet (1 kio) ;
1 000 ko = 106 octets forment un méga-octet (1 Mo)
1 024 kio = 220 octets forment un mébi-octet (1 Mio) ;
1 000 Mo = 109 octets forment un giga-octet (1 Go)
1 024 Mio = 230 octets forment un gibi-octet (1 Gio).
Introduction à l’architecture des ordinateurs
Quantité d’information
Une information est représentée dans l’ordinateur et manipulée par
celui-ci sous forme binaire, c’est-à-dire une suite de 0 et de 1 (une
suite de bits)
8 bits forment un octet ;
1 000 = 103 octets forment un kilo-octet (1 ko)
1 024 = 210 octets forment un kibioctet (1 kio) ;
1 000 ko = 106 octets forment un méga-octet (1 Mo)
1 024 kio = 220 octets forment un mébi-octet (1 Mio) ;
1 000 Mo = 109 octets forment un giga-octet (1 Go)
1 024 Mio = 230 octets forment un gibi-octet (1 Gio).
1 000 Go = 1012 octets forment un téra-octet (1 To)
1 024 Mio = 240 octets forment un tébi-octet (1 Tio).
Introduction à l’architecture des ordinateurs
Quantité d’information
Une information est représentée dans l’ordinateur et manipulée par
celui-ci sous forme binaire, c’est-à-dire une suite de 0 et de 1 (une
suite de bits)
8 bits forment un octet ;
1 000 = 103 octets forment un kilo-octet (1 ko)
1 024 = 210 octets forment un kibioctet (1 kio) ;
1 000 ko = 106 octets forment un méga-octet (1 Mo)
1 024 kio = 220 octets forment un mébi-octet (1 Mio) ;
1 000 Mo = 109 octets forment un giga-octet (1 Go)
1 024 Mio = 230 octets forment un gibi-octet (1 Gio).
1 000 Go = 1012 octets forment un téra-octet (1 To)
1 024 Mio = 240 octets forment un tébi-octet (1 Tio).
Un byte est la plus petite unité de mémoire à laquelle on peut accéder ; il correspond (dans la majorité des cas) à 8 bits, c’est-à-dire
un octet.
Introduction à l’architecture des ordinateurs
Quantité d’information
Une information est représentée dans l’ordinateur et manipulée par
celui-ci sous forme binaire, c’est-à-dire une suite de 0 et de 1 (une
suite de bits)
8 bits forment un octet ;
1 000 = 103 octets forment un kilo-octet (1 ko)
1 024 = 210 octets forment un kibioctet (1 kio) ;
1 000 ko = 106 octets forment un méga-octet (1 Mo)
1 024 kio = 220 octets forment un mébi-octet (1 Mio) ;
1 000 Mo = 109 octets forment un giga-octet (1 Go)
1 024 Mio = 230 octets forment un gibi-octet (1 Gio).
1 000 Go = 1012 octets forment un téra-octet (1 To)
1 024 Mio = 240 octets forment un tébi-octet (1 Tio).
Un emplacement mémoire (d’un byte) est repéré par son adresse,
manipulée dans les registres internes des processeurs.
Introduction à l’architecture des ordinateurs
Quantité d’information
Une information est représentée dans l’ordinateur et manipulée par
celui-ci sous forme binaire, c’est-à-dire une suite de 0 et de 1 (une
suite de bits)
8 bits forment un octet ;
1 000 = 103 octets forment un kilo-octet (1 ko)
1 024 = 210 octets forment un kibioctet (1 kio) ;
1 000 ko = 106 octets forment un méga-octet (1 Mo)
1 024 kio = 220 octets forment un mébi-octet (1 Mio) ;
1 000 Mo = 109 octets forment un giga-octet (1 Go)
1 024 Mio = 230 octets forment un gibi-octet (1 Gio).
1 000 Go = 1012 octets forment un téra-octet (1 To)
1 024 Mio = 240 octets forment un tébi-octet (1 Tio).
Un processeur 64 bits utilise des registres de 64 bits : les instructions,
les entiers et les adresses sont codés sur 8 octets.
Introduction à l’architecture des ordinateurs
Fonctionnement du processeur
Le rôle du processeur pour l’ordinateur
Il est responsable de l’exécution du programme
Introduction à l’architecture des ordinateurs
Fonctionnement du processeur
Le rôle du processeur pour l’ordinateur
Il est responsable de l’exécution du programme
Il ordonne à la mémoire et aux périphériques
Introduction à l’architecture des ordinateurs
Fonctionnement du processeur
Le rôle du processeur pour l’ordinateur
Il est responsable de l’exécution du programme
Il ordonne à la mémoire et aux périphériques
Les instructions sont reçus sous forme de mots écrits en
binaire qui sont stockées dans les registres. L’ensemble de ces
instructions constituent le langage machine.
Introduction à l’architecture des ordinateurs
Fonctionnement du processeur
Le rôle du processeur pour l’ordinateur
Il est responsable de l’exécution du programme
Il ordonne à la mémoire et aux périphériques
Les instructions sont reçus sous forme de mots écrits en
binaire qui sont stockées dans les registres. L’ensemble de ces
instructions constituent le langage machine.
Introduction à l’architecture des ordinateurs
Fonctionnement du processeur
Le rôle du processeur pour l’ordinateur
Il est responsable de l’exécution du programme
Il ordonne à la mémoire et aux périphériques
Les instructions sont reçus sous forme de mots écrits en
binaire qui sont stockées dans les registres. L’ensemble de ces
instructions constituent le langage machine.
Traitement séquentiel des instructions
Les instructions sont traitées séquentiellement (i.e l’une après
l’autre !) donc le processeur ne peut traiter qu’une tâche à la fois.
Introduction à l’architecture des ordinateurs
Fonctionnement du processeur
Un programme est une suite d’instructions (= mots mémoire écrits
en binaire). Pour nous en faciliter la lecture et l’écriture, on
représente ces mots par des mnémoniques comme LOAD, ADD
etc... Ces mnémoniques constituent le langage assembleur.
Introduction à l’architecture des ordinateurs
Fonctionnement du processeur
Un programme est une suite d’instructions (= mots mémoire écrits
en binaire). Pour nous en faciliter la lecture et l’écriture, on
représente ces mots par des mnémoniques comme LOAD, ADD
etc... Ces mnémoniques constituent le langage assembleur.
Exemple
Une instruction est codée en binaire sur 16 bits : le code d’opération
sur 5 bits et une adresse mémoire sur 11 bits
assembleur
machine
LOAD X
01010
explication
charge le contenu de l’adresse X
STO X
01110
range le contenu à l’adresse X
Introduction à l’architecture des ordinateurs
Langages de programmation
Le défaut majeur de la programmation en assembleur : un programme en
assembleur est écrit en termes de ce que sait faire la machine.
Introduction à l’architecture des ordinateurs
Langages de programmation
Le défaut majeur de la programmation en assembleur : un programme en
assembleur est écrit en termes de ce que sait faire la machine.
En particulier, il est dépendant de type du processeur présent dans
l’ordinateur : si on change de processeur, il faut réécrire le programme ! C’est
rédhibitoire !
Introduction à l’architecture des ordinateurs
Langages de programmation
Le défaut majeur de la programmation en assembleur : un programme en
assembleur est écrit en termes de ce que sait faire la machine.
En particulier, il est dépendant de type du processeur présent dans
l’ordinateur : si on change de processeur, il faut réécrire le programme ! C’est
rédhibitoire !
L’invention des langages de programmation va permettre de changer de
paradigme en rédigeant un programme en termes de ce que veut faire
l’utilisateur :
Introduction à l’architecture des ordinateurs
Langages de programmation
Le défaut majeur de la programmation en assembleur : un programme en
assembleur est écrit en termes de ce que sait faire la machine.
En particulier, il est dépendant de type du processeur présent dans
l’ordinateur : si on change de processeur, il faut réécrire le programme ! C’est
rédhibitoire !
L’invention des langages de programmation va permettre de changer de
paradigme en rédigeant un programme en termes de ce que veut faire
l’utilisateur : Le Fortran est le premier langage de haut niveau ayant connu
une large diffusion ; il était (et est toujours) destiné au calcul scientifique.
Introduction à l’architecture des ordinateurs
Langages de programmation
Le défaut majeur de la programmation en assembleur : un programme en
assembleur est écrit en termes de ce que sait faire la machine.
En particulier, il est dépendant de type du processeur présent dans
l’ordinateur : si on change de processeur, il faut réécrire le programme ! C’est
rédhibitoire !
L’invention des langages de programmation va permettre de changer de
paradigme en rédigeant un programme en termes de ce que veut faire
l’utilisateur : Le Fortran est le premier langage de haut niveau ayant connu
une large diffusion ; il était (et est toujours) destiné au calcul scientifique.
Pour exécuter un programme écrit en Fortran, on utilise un compilateur, un
programme chargé de traduire le code source en langage machine. On dit
alors que c’est un langage compilé.
Introduction à l’architecture des ordinateurs
Langages de programmation
Le défaut majeur de la programmation en assembleur : un programme en
assembleur est écrit en termes de ce que sait faire la machine.
En particulier, il est dépendant de type du processeur présent dans
l’ordinateur : si on change de processeur, il faut réécrire le programme ! C’est
rédhibitoire !
L’invention des langages de programmation va permettre de changer de
paradigme en rédigeant un programme en termes de ce que veut faire
l’utilisateur : Le Fortran est le premier langage de haut niveau ayant connu
une large diffusion ; il était (et est toujours) destiné au calcul scientifique.
Pour exécuter un programme écrit en Fortran, on utilise un compilateur, un
programme chargé de traduire le code source en langage machine. On dit
alors que c’est un langage compilé.
Le Python est un langage relativement récent mais très populaire par sa
simplicité. C’est le langage que nous allons utiliser cette année.
Introduction à l’architecture des ordinateurs
Langages de programmation
Le défaut majeur de la programmation en assembleur : un programme en
assembleur est écrit en termes de ce que sait faire la machine.
En particulier, il est dépendant de type du processeur présent dans
l’ordinateur : si on change de processeur, il faut réécrire le programme ! C’est
rédhibitoire !
L’invention des langages de programmation va permettre de changer de
paradigme en rédigeant un programme en termes de ce que veut faire
l’utilisateur : Le Fortran est le premier langage de haut niveau ayant connu
une large diffusion ; il était (et est toujours) destiné au calcul scientifique.
Pour exécuter un programme écrit en Fortran, on utilise un compilateur, un
programme chargé de traduire le code source en langage machine. On dit
alors que c’est un langage compilé.
Le Python est un langage relativement récent mais très populaire par sa
simplicité. C’est le langage que nous allons utiliser cette année. Il s’agit d’un
langage interprété (à une nuance près), il utilise un interprète qui traduit en
”temps réel” le langage en langage machine.
Introduction à l’architecture des ordinateurs
Langages de programmation
Le défaut majeur de la programmation en assembleur : un programme en
assembleur est écrit en termes de ce que sait faire la machine.
En particulier, il est dépendant de type du processeur présent dans
l’ordinateur : si on change de processeur, il faut réécrire le programme ! C’est
rédhibitoire !
L’invention des langages de programmation va permettre de changer de
paradigme en rédigeant un programme en termes de ce que veut faire
l’utilisateur : Le Fortran est le premier langage de haut niveau ayant connu
une large diffusion ; il était (et est toujours) destiné au calcul scientifique.
Pour exécuter un programme écrit en Fortran, on utilise un compilateur, un
programme chargé de traduire le code source en langage machine. On dit
alors que c’est un langage compilé.
Le Python est un langage relativement récent mais très populaire par sa
simplicité. C’est le langage que nous allons utiliser cette année. Il s’agit d’un
langage interprété (à une nuance près), il utilise un interprète qui traduit en
”temps réel” le langage en langage machine.
Introduction à l’architecture des ordinateurs
Traduction en langage machine
Pour exécuter un code écrit dans un langage de programmation, il
faut posséder un traducteur entre ce dernier et le langage machine.
Schématiquement, il en existe de deux types :
un compilateur traduit le code de manière définitive pour créer
un exécutable ;
Introduction à l’architecture des ordinateurs
Traduction en langage machine
Pour exécuter un code écrit dans un langage de programmation, il
faut posséder un traducteur entre ce dernier et le langage machine.
Schématiquement, il en existe de deux types :
un compilateur traduit le code de manière définitive pour créer
un exécutable ;
un interprète simule une machine virtuelle dont le langage
machine serait le langage de programmation lui-même. Le
code est lu, analysé et exécuté instruction par instruction par
l’interprète.
Introduction à l’architecture des ordinateurs
Avantages et inconvénients
Avantages et inconvénients
L’exécutable créé par le compilateur dépend de la machine sur
lequel il a été créé, contrairement à un programme interprété
qui est indépendant de la machine (puisque c’est l’interprète
qui dépend de la machine).
Introduction à l’architecture des ordinateurs
Avantages et inconvénients
Avantages et inconvénients
L’exécutable créé par le compilateur dépend de la machine sur
lequel il a été créé, contrairement à un programme interprété
qui est indépendant de la machine (puisque c’est l’interprète
qui dépend de la machine).
Mais un programme compilé est nettement plus rapide qu’un
programme interprété : toute la phase d’analyse et de
vérification du code source a déjà été faite lors de la phase de
compilation.
Introduction à l’architecture des ordinateurs
Système d’exploitation
Problématique
L’architecture de Von Neumann ne permet d’exécuter qu’un seul
programme à la fois !
Introduction à l’architecture des ordinateurs
Système d’exploitation
Problématique
L’architecture de Von Neumann ne permet d’exécuter qu’un seul
programme à la fois !
Or les utilisateurs d’un ordinateur ont souvent besoin de lancer plusieurs programmes simultanément.
Introduction à l’architecture des ordinateurs
Système d’exploitation
Problématique
L’architecture de Von Neumann ne permet d’exécuter qu’un seul
programme à la fois !
Or les utilisateurs d’un ordinateur ont souvent besoin de lancer plusieurs programmes simultanément.
Solution
Le système d’exploitation (OS=Operating System) : Le
premier programme exécuté lors de la mise en marche est le
système d’exploitation (Linux, Mac OS X, Windows pour les
ordinateurs ; Android, iOS, Windows phone pour les smartphones) ;
il orchestre les autres programmes.
Introduction à l’architecture des ordinateurs
Fonctionnement d’un OS
Interruption matérielle
Dispositif du processeur interrompant le programme en cours et
donnant la main au système d’exploitation lorsque survient un
événement externe ou à une date donnée.
Introduction à l’architecture des ordinateurs
Fonctionnement d’un OS
Interruption matérielle
Dispositif du processeur interrompant le programme en cours et
donnant la main au système d’exploitation lorsque survient un
événement externe ou à une date donnée.
L’illusion du multitâche !
Le système d’exploitation :
Charge en mémoire vive les applications (qui sont stockées sur
la mémoire de masse - un disque dur par ex.) à exécuter (on
parle de tâche ou de processus).
Introduction à l’architecture des ordinateurs
Fonctionnement d’un OS
Interruption matérielle
Dispositif du processeur interrompant le programme en cours et
donnant la main au système d’exploitation lorsque survient un
événement externe ou à une date donnée.
L’illusion du multitâche !
Le système d’exploitation :
Charge en mémoire vive les applications (qui sont stockées sur
la mémoire de masse - un disque dur par ex.) à exécuter (on
parle de tâche ou de processus).
Donne la main à une application.
Introduction à l’architecture des ordinateurs
Fonctionnement d’un OS
Interruption matérielle
Dispositif du processeur interrompant le programme en cours et
donnant la main au système d’exploitation lorsque survient un
événement externe ou à une date donnée.
L’illusion du multitâche !
Le système d’exploitation :
Charge en mémoire vive les applications (qui sont stockées sur
la mémoire de masse - un disque dur par ex.) à exécuter (on
parle de tâche ou de processus).
Donne la main à une application.
Au bout de quelques millisecondes survient une interruption.
Introduction à l’architecture des ordinateurs
Fonctionnement d’un OS
Interruption matérielle
Dispositif du processeur interrompant le programme en cours et
donnant la main au système d’exploitation lorsque survient un
événement externe ou à une date donnée.
L’illusion du multitâche !
Le système d’exploitation :
Charge en mémoire vive les applications (qui sont stockées sur
la mémoire de masse - un disque dur par ex.) à exécuter (on
parle de tâche ou de processus).
Donne la main à une application.
Au bout de quelques millisecondes survient une interruption.
Le système reprend la main, traite l’événement, redonne la
main à une autre tâche.
Introduction à l’architecture des ordinateurs
Téléchargement