Vous êtes sur la page 1sur 36

Université Abdelmalek Essaadi

Faculté des Sciences et Techniques de


Tanger

Algorithmique et Programmation 1
Pr. Abdelhamid ZOUHAIR Pr. Aziz MAHBOUB

Intitulé du module Algorithmique et Programmation 1

Etablissement dont relève le module Faculté des Sciences et Techniques de Tanger

Filière Tronc commun: MIP , MIPC

Semestre d’appartenance du module S1

A. U: 2020/2021

Objectif du Module

Initier les étudiants avec les éléments de


base de l’algorithmique et la programmation
en langage C.

1
Algorithmique et Programmation 1

Chapitre1 : Généralités
1. Survol des systèmes de numération
2. Codage
3. Composants d’un Ordinateur

Système de numération

Un système de numération est une représentation de


variables (c’est un moyen de compter et de dire des nombres).
Ces variables codées sont basées sur un ensemble de
symboles appelés «chiffres» et de règles de composition
représentant les opérations entre ces variables. Les
opérations de base sont l’addition, la multiplication
et les autres opérations arithmétiques.
Un système de numération se définit par deux éléments:
• La base du système : La base d’un système numérique est le
nombre de chiffre de l’ensemble.
• Les symboles du système.

2
Système de numération

En informatique, les systèmes de numération les plus


utilisés sont les suivants:

Chiffres
Système Base Exemple
(Symboles)

Décimal 10 0-9 121.9

Hexadécimal 16 0-9,A,B,C,D,E,F 1A7.F2

Octal 8 0-7 121,6

Binaire 2 0-1 1011.1101


5

Numération et codage

En général, les nombres sont présentés en base décimale ou base 10.


Ce système est composé de 10 symboles (ou chiffres ou digits : 0, 1,
2, 3...9), permettant de coder tous les nombres à partir des
puissances de 10.
Par exemple, on peut décomposer le nombre 2542,24 :
(2542,24)10 = 2.103 + 5.102 + 4.101 + 2.100 + 2.10 -1 + 4.10 -2

Base Base

La position respective des chiffres représente leur poids (unité,


dizaine, millier,...) et l’association de chiffres est appelé nombre.
Dans le cas d’un nombre codé en base 10, on parle de nombre
décimal.

3
Base d’un système

La base d’un système numérique est le nombre de


chiffre de l’ensemble.

( N ) r = [ (partie entière) , (fraction) ] r

r → base
N → nombre
Exemple : [ 124 , 659 ]10

Base d’un système

Notation polynomiale et poids de chiffres :


La représentation d’un nombre axée sur le poids du chiffre
dépendamment de sa position suggère une notation simple du
nombre. Cette notation indique, de plus, le poids du chiffre et ainsi
facilite la quantification du nombre exprimé dans une autre base.

n −1
( N) r = ∑ar j
j

j=− m

[N]r= an-1 rn-1+an-2 rn-2+…+ a0 r0 + a-m+1 r-m+1+a-m r-m

4
Base d’un système

Exemple:
Pour le système binaire (r=2) et N=1101.101

(N)2= [1101.101]2=1x23+1x22+1x20 + 1x2-1+ 1x2-3

Autres Exemples: [191.27]10 et [ 4021.2]5

[191.27]10 = 1X102 + 9X101 + 1X100 + 2X10-1 + 7X10-2

[ 4021.2]5 =4X53 + 0X52 + 2X51 + 1X50 + 2x5-1

Conversion et Correspondance

Correspondance entre les Bases


Hexadé. Décimal Octal Binaire Hexadé. Décimal Octal Binaire

Base16 Base10 Base 8 Base 2 Base16 Base10 Base 8 Base 2


0 0 0 0 8 8 10 1000
1 1 1 1 9 9 11 1001
2 2 2 10 A 10 12 1010
3 3 3 11 B 11 13 1011
4 4 4 100 C 12 14 1100
5 5 5 101 D 13 15 1101
6 6 6 110 E 14 16 1110
7 7 7 111 F 15 17 1111

Hexadé. == Hexadécimal 10

5
Système de numération

Exercice 1 :
1. Décomposer les nombres décimaux suivants en
base 10 : 100, 345,789.56
2. Écrire 120 en base 7.
3. Écrire 421 en base 5.
4. Écrire 100 en base 2.

11

Système Binaire

6
Système Binaire

Les mémoires mémorisent, transmettent et transforment Les


informations et les données (nombres, textes, images, sons, ...) par
une suite de chiffres binaires (bits).

Un bit ne peut prendre que deux valeurs : 0 et 1.

Toute information sera traitée comme une suite de 0 et de 1.

En pratique la mémoire est organisée en octets (paquets de 8 bits).


• Dans un ordinateur, on regroupe les bits 8 par 8.
• C’est en fait le composant de base des mémoires vives et mémoires
de masse.
• Un ensemble de 8 bits se nomme un octet (Byte en anglais).

13

Système Binaire

Le système binaire est un système de numération utilisant la


base 2;
Par exemple le nombre décimal (243)10 se note : (11 110 011)2

Bit de poids Base


fort

Bit de poids
fort

En faisant des divisions entières successives par 2, on obtient une


suite de restes (en bleu). En lisant les restes du bas vers le haut on
obtient : (11 110 011)2. 14

7
Système Binaire

Équivalent décimal :
la numération décimale peut être construite à partir de la
numération binaire en utilisant méthode suivante:
Soit la numération binaire suivante 1011.1101, nous
cherchons son équivalent décimal:
1011.1101 = 1x8 + 0x4 +1x2 + 1x1 + 1x0.5 + 1x0.25 +
0x0.125 +1x0.0625
Par conséquent 1011.1101 = 11.8125
Autre Exemple :
A partir de cette représentation (11 110 011)2 on obtient le
nombre décimal suivant :
(1 x 27 )+ (1 x 26 )+ (1 x 25 ) + (1 x 24) + (0 x 23) + (0 x 22) + (1
x 21) + (1 x 20) = 128 + 64 + 32 + 16 + 0 + 0 + 2 + 1
= (243) 10 15

Système Binaire

Exercice 2 :
Trouver la représentation en base binaire de :
(67)10, (128) 10 et (566) 10.

Trouver la représentation en base décimale de :


(11 101 010) 2 et (1 010 101 010 100 001) 2.

16

8
Système Binaire

Conversion d’un nombre fractionnaire :

Le développement s’arrête lorsque la précision voulue


est obtenue.

17

Système Binaire

Exercice 3:
Trouver la représentation en base binaire de :
(1.25)10, (1.24) 10 et (5.75) 10.

18

9
Les nombres négatifs
Comment calculer les codes des nombres négatifs ?
En décimal : -xxx, Mais : Ordinateur 0/1 uniquement
Les nombres négatifs sont codés de façon que les opérations
classiques puisent être effectuées normalement. Autrement dit, 2
+ (-2) doit bien donner 0 pour somme.
En pratique, comment faire?
Les nombres positifs sont codés normalement; tandis que les
nombres négatifs sont codés selon leur complément à deux. Le
calcul se fait en deux étapes :
1. Prendre le complément du nombre = Remplacer tous les 0 par des 1 et
tous les 1 par des 0.
2. Ajouter 1 à sa valeur= Calcul du complément à 2 = Ajouter 1 au
complément à 1
Exemple : -100
100 en décimal est égal à 01100100 en binaire
Complément du nombre : 10011011
On ajoute 1 : 10011011+1 =10011100
-100 est donc égal à 10011100 19

Opérations arithmétiques
L’addition
Pour additionner deux nombres binaires, on procède de la même
façon que dans l'arithmétique des nombres décimaux.
On écrit les nombres sur des lignes successives en les mettant en
colonne, en partant de la droite ; ensuite on additionne les chiffres
de chaque colonne en commençant par celle de droite.

Règles d’addition :
0+ 0=0
0+ 1=1
1+ 0=1
1+ 1 = 0 avec retenue de 1

Exemple :

1 1 Retenues
10001101
+ 1001
___ ___ ___ ___
1001 0110
20

10
Opérations arithmétiques

L’addition
Règles d’addition : Exemple 2 :
(1011)2 + (0110)2
0 1 Soit (11)10 + (6)10 = (17)10
+
0 0 1 1 1 1 Retenues
1 0 1 1 11
+ 0 1 1 0 6
1 1 0* ------------------------

1 0 0 0 1 17
* 1 + 1 = 10
Je pose 0 et je retiens 1
(17)10

21

Opérations arithmétiques

La soustraction

Règles de soustraction Exemple :

0 1 (1011)2 - (0110)2
- Soit (11)10 - (6)10 = (5)10

0 0 1* 1 0 1 1
- 0 1 1 0
-----------------------
1 1 0 1 Retenues

0 1 0 1
* Je pose 1 et je retiens 1

(5)10

22

11
Opérations arithmétiques

La multiplication
Règles de multiplication Exemple
(1011)2 x (110)2
0 1 Soit (11)10 x (6)10 = (66)10
x 1 0 1 1
x 1 1 0
0 0 0 ------------------------

1 1 1 1
1 0 1 0 0 0 0
1 0 1 1 .

1 0 1 1 . .
------------------------------
(66)10 1 0 0 0 0 1 0

23

Opérations arithmétiques

La division
101100 100
-100
------- 1 0 1 1 (44)10
1 1
110 Sens de lecture
-100
-------
100
Exemple
-100
(101100)2 ÷ (100)2
-------
0 Soit (44)10 ÷ (4)10 = (11)10

24

12
Système binaire

Conversion du nombre N exprimé dans la base 8


vers la base 2 et vice versa
Convertir un nombre N exprimé en base 8 vers la
base 2 s’effectue en remplaçant chacun des chiffres
du nombre par leur équivalent binaire sur 3 bits;
Convertir un nombre N exprimé en base 2 vers la
base 8 s’effectue en découpant la chaîne binaire N en
paquet de 3 bits depuis le bit de poids faible jusqu’au
bit de poids fort pour la partie entière.

25

Système binaire

Conversion du nombre N exprimé dans la base 8 vers la


base 2 et vice versa :

26

13
Système binaire

Conversion du nombre N exprimé dans la base 8 vers la


base 2 et vice versa :

27

Système binaire

Exercice 4 :
Trouver la représentation en base binaire de : (67)8,
(128) 8 et (566) 8.
Trouver la représentation en base octal de :
(11 101 010)2 et (1 010 101 010 100 001)2.

28

14
Système binaire

Conversion du nombre N exprimé dans la base


16 vers la base 2 et vice versa.
Convertir un nombre N exprimé en base 16 vers la
base 2 s’effectue en remplaçant chacun des chiffres du
nombre par leur équivalent binaire sur 4 bits;
Convertir un nombre N exprimé en base 2 vers la base
16 s’effectue en découpant la chaîne binaire N en
paquet de 4 bits depuis le bit de poids faible jusqu’au
bit de poids fort pour la partie entière.

29

Système binaire

Conversion du nombre N exprimé dans la base


16 vers la base 2 et vice versa :

30

15
Système binaire

Conversion du nombre N exprimé dans la base


16 vers la base 2 et vice versa :

31

Système binaire

Exercice 5 :
Trouver la représentation en base binaire de : (67)16,
(128) 16 et (566) 16.
Trouver la représentation en base hexadécimal de :
(11 101 010) 2 et (1 010 101 010 100 001) 2.

32

16
Algorithmique et Programmation 1

Chapitre1 : Généralités
1. Survol des systèmes de numération
2. Codage
3. Composants d’un Ordinateur

33

Codage de l’information
Codage des nombres entiers

La représentation (ou codage) des nombres est nécessaire afin de les


stocker et manipuler par un ordinateur.

Dans le codage des nombres, le principal problème rencontré est la


limitation de la taille du codage : la valeur d’un nombre peut être
arbitrairement grande, mais comme nous travaillons dans un
environnement “fini” (les mémoires sont finies en taille), le codage dans
l’ordinateur doit s’effectuer sur un nombre de bits fixé.

Les valeurs minimales et maximales des nombres manipulés par les


machines sont donc limitées.

Un nombre entier peut être :

Un entier naturel (positif ou nul)


Un entier relatif (positif, nul ou négatif)
34

17
Codage de l’information
Codage des entiers naturels
Cas des entiers naturels (positifs ou nuls)
Les entiers naturels (positifs ou nuls) sont codés sur un nombre d’octets
fixé.
On rencontre habituellement des codages sur 1, 2 ou 4 octets, plus rarement
sur 64 bits (en fonction de l’architecture du processeur).
Un codage sur n bits permet de représenter tous les nombres naturels entre 0
et 2n − 1. Par exemple sur 1 octet, on pourra coder les nombres de 0 à 255 =
28 − 1.

Le codage en machine est effectuée de la façon suivante :


1. On représente le nombre en base 2 et on range les bits dans les cellules
binaires
correspondant à leur poids binaire, de la droite vers la gauche.
2. Si nécessaire, on complète à gauche par des zéros (bits de poids fort).

Exemple : codage de l’entier (144)10 sur 2 octets :


(144)10 = (0000000010010000)2
Exercice 6: Coder les nombres entiers suivants :
243 sur 1 octet
412 sur 2 octets 35

Codage de l’information
Codage des entiers relatifs
Cas des entiers relatifs (positifs ou négatifs)
Les nombres entiers relatifs peuvent être positifs ou négatifs. Ils
possèdent donc un signe que nous devons donc représenter sur
machine.
En effet, la base 2 ne permet de représenter que des entiers positifs.
Pour représenter un entier signé, on utilise le codage en complément à
deux.
Beaucoup de processeurs manipulent les entiers signés en complément
à 2 sur 32 bits ou sur 64 bits.
La raison est que les additions sont très faciles à effectuer avec cette
représentation.
Il faut distinguer entre deux cas des entiers relatifs :
1.Les entiers relatifs positifs ou nuls
2.Les entiers relatifs négatifs

36

18
Codage de l’information
Codage des entiers relatifs

1. Entiers relatifs positifs ou nuls


Pour coder un entiers relatifs positifs ou nuls :
• On représente le nombre en base 2 et on range les bits dans les cases
mémoires comme pour les entiers naturels.
• Cependant, la case contenant le bit de poids fort est toujours à 0
(signe +) : on utilise donc n − 1 bits pour représenter un entiers
relatifs positifs ou nuls et non pas n bits.
• Le plus grand entier relatif positif représentable sur n bits est donc
2n−1 − 1 (puisque le bit le plus à gauche est fixé à zéro).

Exercice 7 :
Donner la représentation du nombre entier relatif 163 sur 1 octet.
(pas possible)

37

Codage de l’information
Codage des entiers relatifs
2. Entiers relatifs négatifs
Pour obtenir le codage sur n bits d’un nombre x négatif, on procède comme suit :
1.On code en binaire sa valeur absolue sur n bits.
2.On complémente (ou on inverse) tous les bits.
3.On ajoute 1 (addition binaire).
NB: Complémenter signifie que l’on transforme les 0 en 1 et vice versa.
Exemple : Soit à coder la valeur −2 sur 8 bits.
On exprime la valeur absolue de −2, à savoir 2, en binaire sur 8 bits, soit :
00000010.
On complémente la séquence 00000010, on obtient donc : 11111101.
On ajoute 1 (addition binaire) et on obtient comme résultat : 11111110.
Remarque :
Le bit le plus significatif est utilise pour représenter le signe du nombre :
si le bit le plus fort = 1 alors nombre negatif
si le bit le plus fort = 0 alors nombre positif
Les autres bits codent la valeur absolue du nombre
Exemple : Sur 8 bits, codage des nombres -24 et -128 en (bs)
-24 est code en binaire signe par : 1 0 0 1 1 0 0 0(bs)
-128 hors limite nécessite 9 bits au minimum 38

19
Codage de l’information
Codage des entiers relatifs
Exercice 8 :
Coder 100 et -100 en binaire signe sur 8 bits.

Exercice 9 :
Calculer la somme de (1101)2 + (11)2 en posant l’addition, puis vérifier votre
résultat en passant par la base dix.

39

Codage de l’information
Codage des nombres réels (norme IEEE)
Représentation IEEE-754 :
Un même nombre réel peut être écrit de différentes façons.
Par exemple: le nombre 110 00 peut être écrit des façons suivantes :
110 00 = 0.110 x 25 = 110 x 22 = 0.0110 x 26
Pour éviter des représentations différentes du même nombre, la norme IEEE
propose une représentation normalisée des nombres réels en binaire.
L’intérêt principal de la norme IEEE est de normaliser la représentation
en base 2 des nombres réels afin d’avoir des comportements
identiques des programmes sur des machines différentes.
Représentation IEEE :
La norme IEEE définit des codages des nombres réels en :
simple précision (sur 32 bits)
double précision (sur 64 bits).
Quadruple précision (sur 80 bits)

40

20
Codage de l’information
Codage des nombres réels (norme IEEE)
Représentation IEEE : codage en simple précision :
La représentation IEEE en simple précision permet de décomposer un nombre
réel en trois parties (trois zones distinctes) : signe, exposant et mantisse (la suite
de bits après la virgule), le tout sur 32 bits.
le signe sur 1 bit
l'exposant sur 8 bits en arithmétique signé
la mantisse (ensemble des chiffres à droite de la virgule)sur 23 bits qui correspond
aux nombre décimal.
Un nombre réel peut s’écrire en binaire : ± 1, mantisse x 2n
Par exemple : 100 0000 1111 = 1,00 0000 1111 × 210
Le codage IEEE simple précision d’un nombre réel a la forme suivante :
seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm

s : signe : il est représenté sur le bit de poids fort : 1 pour un réel négatif, 0
pour un réel positif.
e : exposant : il est codé sur les 8 bits. On code en binaire la valeur e = n +
127 où e: exposant codé, n: exposant réel, 127 excédent (en simple
précision)).
m : mantisse : il est codée sur les 23 bits de poids faibles.
41

Codage de l’information
Codage des nombres réels (norme IEEE)

Représentation IEEE : codage en simple précision :


Méthode de codage d’un nombre réel en simple précision :
1.Chercher le signe : 1 pour un réel négatif, 0 pour un réel positif.
2.Convertir en binaire le nombre réel.
3.Construire la mantisse en écrivant la représentation binaire du
nombre réel de la façon suivante : 1, mantisse × 2n
4.Constituer l'exposant codé en décimal : e = n + 127
5.Convertir l'exposant codé en binaire
6.Etendre la partie fractionnaire (la mantisse) à 23 bits
7.Ecrire la représentation IEEE en simple précision du nombre réel.

42

21
Codage de l’information
Codage des nombres réels (norme IEEE)

Exemple :
Traduire en binaire simple précision 32 bits le nombre : - 6,625
1. Signe : 1
2. Convertir en binaire le nombre réel : (6,625)10 = (110,1010)2
3. Construire la mantisse en écrivant la représentation binaire du nombre réel de
la façon suivante : 1, mantisse × 2n : 110,1010 = 1,101010 x 22
4. Constituer l'exposant codé en décimal : exposant = 2+127= 129
5. Convertir l'exposant codé en binaire : (129)10 = (1000 0001 )2
6. Etendre la mantisse à 23 bits : 101 0100 0000 0000 0000 0000
7. Ecrire la représentation IEEE en simple précision du nombre réel.

(- 6,625)10 =

Question :
qu’elle est la représentation IEEE simple précision du nombre + 6, 625 ?
L'opposé de - 6,625, soit + 6,625, s'obtient en mettant le bit de signe à 0.
43

Codage de l’information
Codage des caractères

Les caractères sont des données non numériques : il n’y a pas


de sens à additionner ou multiplier deux caractères.
Par contre, il est souvent utile de comparer deux caractères, par
exemple pour les trier dans l’ordre alphabétique.
Les caractères, appelés symboles alphanumériques, incluent
les lettres majuscules et minuscules, les symboles de
ponctuation (& ˜ , . ; # " - etc), et les chiffres.
Le codage des caractères est fait par une table de
correspondance indiquant la configuration binaire représentant
chaque caractère.
Il existe plusieurs types de codage des caractères : EBCDIC,
ASCII, UTF, Unicode, …
NB : Un texte, ou chaîne de caractères, sera représenté comme
une suite de caractères.

44

22
Codage de l’information
Codage des caractères

Les codes les plus connus sont :


Le code ASCII :
Il permet de représenter des caractères sur 7 bits : on peut
représenter des lettres majuscules et minuscules, des chiffres, des
caractères spéciaux , par exemple #,{,(, et des caractères non
imprimables qui servaient à envoyer des données sur un réseau.
Le code ISO 8859-1 :
Chaque caractère est représenté sur 8 bits et ce codage est une
extension du codage ASCII : il propose en plus des lettres
accentuées utilisées dans de nombreux alphabets. Il existe d'autres
extensions à 8 bits du code ASCII, qui ne sont pas compatibles entre-
elles.
Le codage Unicode :
Ce système de codage représente des caractères sur 16 bits : il peut
afficher des caractères dans des alphabets non latin, l'alphabet
cyrillique par exemple.

45

Codage de l’information
Codage des caractères

Code ASCII :
À chaque caractère est
associée une configuration
de 8 chiffres binaires (1
octet), le chiffre de poids fort
(le plus à gauche) étant
toujours égal à 0.

Table de correspondance
du codage ASCII

46

23
Codage de l’information
Codage des caractères

Code ASCII :

Table de correspondance
du codage ASCII

47

Codage de l’information
Codage des caractères

Exercice 10 :

En utilisant le code ASCII, écrire votre nom et votre prénom sans


oublier de mettre les initiales en majuscule.

48

24
Algorithmique et Programmation 1

Chapitre1 : Généralités
1. Survol des systèmes de numération
2. Codage
3. Composants d’un Ordinateur

49

Architecture des ordinateurs


Définition
Décrire ce qu’est un ordinateur est une tache qui n’est pas facile :
Toute machine capable de manipuler des informations binaires peut être qualifiée
d'ordinateur.

Ordinateur: machine électronique programmable capable de réaliser des calculs


logiques sur des nombres binaires.

C’est une machine Hardware


Le fonctionnement est basé sur une architecture matérielle (processeur, support de
stockage, interfaces utilisateurs, connexion, . . .) dont le fonctionnement est soumis aux
lois de la physique.
C’est une machine programmable Software
Machine capable de remplir des tâches différentes selon les instructions qui lui sont
adressées. Ces instructions, rédigées sous forme de programmes par les informaticiens,
sont traitées en fin de course par le matériel de l’ordinateur.
Interaction Hardware/Software
l’informaticien n’a pas a interagir directement avec le matériel. Tous les ordinateurs
disposent d’une couche logicielle appelée système d’exploitation.
Cette couche est en charge de faire la passerelle entre l’informaticien, ses outils, les
programmes qu’il développe et, les composants et leur fonctionnement.
Grande variété d’ordinateurs : pocket PC, Apple Macintosh, stations SUN, super-
ordinateur, … 50

25
Architecture des ordinateurs
Rapidité des évolutions technologiques (illustré par la loi de Moore,
1975)
Moore postulait le doublement du nombre de transistors des
microprocesseurs tous les 2 ans entre 1971 et 2001 .
Actuellement : doublement d’une grandeur (vitesse, capacité, etc.) tous
les 18 à 24 mois.
Nombreux principes de base communs à tous les ordinateurs
Type et représentation des informations.
La manière dont les composants internes dialoguent, etc…

Un ordinateur manipule des données.


Un ordinateur réalise les opérations suivantes :
• le traitement des données
• la mémorisation des données.
• le transfert de données.
• le contrôle des opérations.
51

Architecture des ordinateurs


Histoire : évolutions architecturales

Les théories mathématiques


1840 : L’algorithmique :
Ada Lovelace, mathématicienne britannique, définit le principe des
itérations successives d’opérations dans l’exécution d’un programme.
En l’honneur du mathématicien Al Khawarizmi (780-850), elle nomme le
processus logique d’exécution d’un programme : algorithme.

1854 : Algèbre de Boole :


Georges Boole développe une nouvelle forme de logique, à la
fois symbolique et mathématique.
C’est une algèbre binaire n’acceptant que deux valeurs
numériques : 0 et 1.
et munie de deux lois de composition interne (le ET et le OU)
L’algèbre de Boole est à l’origine des ordinateurs à arithmétique
binaire.
52

26
Architecture des ordinateurs
Histoire : évolutions architecturales

19 ème siècle : automate et machine à calcul

20 ème siècle : Von Neumann décrit un modèle de


machines universelles qui possède
• une mémoire
• une unité arithmétique et logique
• une unité d’entrées/sorties (I/O)
• unité de commande (UC)

53

Architecture des ordinateurs


Histoire : évolutions architecturales

1ère génération
1945-1957
1945 : Naissance de l’ordinateur :

1945 : Apparition du premier “vrai” ordinateur par John Eckert et John


Mauchly : ENIAC : Electronic Numerical Integrator And Calculator

Caractéristiques :
Premier ordinateur électronique
Machines volumineuses et peu fiables
Utilisation de tubes à vide (18000 Tubes)
Poids : 30 tonnes
Surface : 170 m²
Exécute 40 000 opération/s Câblage du programme

1947 : Invention du transistor


54

27
Architecture des ordinateurs
Histoire : évolutions architecturales

1ère génération
1944-1952 : Architecture de Von Neumann : 1945-1957
5 composants essentiels dans l’architecture de Von Neumann :
L’unité arithmétique et logique (UAL), qui effectue les
opérations de base
l’unité de contrôle (commande), qui est chargée du séquençage
des opérations
la mémoire, qui contient à la fois les données et le programme
les dispositifs d’entrée-sortie, qui permettent de communiquer
avec le monde extérieur.

55

Architecture des ordinateurs


Histoire : évolutions architecturales

2ème génération
Machines fiables: 1958- 1964
• Technologie à transistors
• Exécute 200 000 opérations/s
• Premiers langages de programmation évolués
(COBOL, FORTRAN, LISP)

1958 : Invention du circuit intégré sur silicium

mini ordinateur DEC PDP-1 (1961)

56

28
Architecture des ordinateurs
Histoire : évolutions architecturales

3ème génération
1965- 1971
•Technologie des circuits intégrés
• Exécute 1 000 000 opération/s
• Avènement du système d’exploitation complexe
4004 de INTEL(1971)
(UNIX, Pascal, Basic, CISC)
• 1971 : premier microprocesseur 4004 de INTEL: Toutes les
composantes de la CPU sont réunies sur une même puce

•1964 : IBM lance la famille 360 des ordinateurs compatibles


Début de l’ère des « Mainframes »

PDP 8E (1965) 57

Architecture des ordinateurs


Histoire : évolutions architecturales

4ème génération
1972- 1977
1971 : Processeur Intel 4004
2300 transistors dans un unique circuit intégré
Fréquence de 740 kHz, 0,092 MIPS
(millions d'instructions par seconde)

•Technologie LSI (large SI)


• Exécute 10 000 000 opérations/s
• Avènement de réseaux de machines
• Traitement distribué/réparti

Micral-N (1973) 58

29
Architecture des ordinateurs
Histoire : évolutions architecturales

5ème génération
1978 et +
• Technologie VL/WSI (very large, wafer)
• Systémes distribués interactif
• Multimédia, traitement de données non numériques:
(textes, images, paroles)
• Parallélisme massif, client-serveur
• …
• 1980 : IBM sort le PC (Personal Computer)
Début de l’ère de l’informatique individuelle

59

Architecture des ordinateurs


Histoire : évolutions architecturales

2002 : Ordinateur de bureau


(DeskTop)

2002 : Ordinateurs Portable et


Ultraportable

2011 : Processeur Intel Core i7 2600K


Plus de 1,4 milliards de transistors
Fréquence de 3,4 GHz
4 cœurs, 8 threads
128300 MIPS

Entre le processeur Intel 4004 (1971) et le processeur Intel Core i7


2600K (2011) :
La fréquence a été multipliée par 4600
La puissance en MIPS a été multipliée par 1,4 million 60

30
Architecture des ordinateurs
Principaux éléments de l’ordinateur

Nous ne nous intéresserons par la suite qu'aux ordinateurs de type PC,


appelés aussi ordinateurs compatible IBM, car IBM est la firme qui a créé les
premiers ordinateurs de ce type et a longtemps été le leader dans ce
domaine, à un tel point qu'elle contrôlait les standards, copiés par les autres
fabricants.

Ecran
Souris

Périphériques Ordinateur

clavier

Unité
Centrale
61

Architecture des ordinateurs


Les périphériques

Les périphériques (d’entrées / sorties )


le clavier :
Permet la saisit de caractères
permettant l’envoi des ordres au
microprocesseur et d’introduire
des données et des programmes
la souris
Déplace le curseur sur l’écran
pour sélectionner, déplacer.

L’écran ou moniteur
Périphérique d’affichage de
l’ordinateur c’est l’interface entre
l’utilisateur et l’ordinateur.
62

31
Architecture des ordinateurs
Les périphériques

Les périphériques (d’entrées / sorties )

Autres Exemples de périphériques d’entrées :

Scanner

Exemples de périphériques de sorties :

Imprimante Carte son

Le disque dur : stocke en permanence des données sur des disques


magnétiques rigides empilés appelés plateaux. Plusieurs caractéristiques : la
capacité ; le taux de transfert ; la vitesse de rotation des plateaux.

63

Architecture des ordinateurs


Composantes de l’unité centrale

Unité de traitement ( Unité Centrale)


L’unité centrale est composé (généralement) de :
Boîtier (support ).
Carte Mère.
Microprocesseur.
Mémoire (RAM).
Carte graphique et carte son.
Disque dur.
Lecteur disquette.
Lecteur CD-ROM.
Alimentation.

64

32
Architecture des ordinateurs
Composantes de l’unité centrale

Boîtier :
C’est le support des composants de l’ordinateur.
En général on a deux types de boîtier :

Format Tour

Format Bureau

65

Architecture des ordinateurs


Composantes de l’unité centrale

La carte mère:
L'élément constitutif principal de l'ordinateur est la carte-mère, c'est sur
cette carte que sont connectés ou soudés l'ensemble des éléments
essentiels de l'ordinateur.
La carte-mère contient des éléments embarqués (intégrés à la carte) :

Le chipset, circuit qui contrôle la majorité des ressources (interface de


bus du processeur, mémoire cache et mémoire vive, slots
d'extension,...)
L'horloge et la pile du CMOS (Complementary Metal-Oxyde Semiconductor).
Le BIOS (Basic Input/Output System).
Le bus système …
Il existe plusieurs façons de caractériser une carte-mère:

son facteur d'encombrement.


son chipset.
son type de support de processeur.
66

33
Architecture des ordinateurs
Composantes de l’unité centrale

La carte mère:
Port
Ports de
d’alimentation
RAM Bios Connecteurs
type ATX
Chipset IDE
support
de
processe
ur
La
Pile
Port ps\2 du
CMOS
Pour
Souris

Port ps\2
Pour
clavier Port
Port LPT USB
Ports
Port d’extension
Port RJ45 Entrée\sor
série carte tie audio AGP , PCI
réseau carte son ,ISA,…
intégrée intégrée 67

Architecture des ordinateurs


Composantes de l’unité centrale

Le chipset :
C’est un circuit électronique chargé de coordonner les échanges de données
entre les divers composants de l'ordinateur (processeur, mémoire; ...).

Le BIOS (Basic Input/Output System) :


C’est le programme basique servant d'interface entre le système d'exploitation
et la carte-mère. Le BIOS est stocké dans une ROM (mémoire morte, c'est-à-
dire une mémoire en lecture seule), ainsi il utilise les données contenues dans
le CMOS pour connaître la configuration matérielle du système.

Le processeur (aussi appelé microprocesseur):


C’est le cerveau de l'ordinateur, car il exécute les instructions des programmes
grâce à un jeu d'instructions. Le processeur est caractérisé par sa fréquence,
c'est-à-dire la cadence à laquelle il exécute les instructions. Ainsi, un
processeur à 600 Mhz effectuera 600 millions d'opérations par seconde.
La carte-mère possède un emplacement (parfois plusieurs dans le cas de
cartes-mères multi-processeurs) pour accueillir le processeur. On distingue
deux catégories de supports :
• slot : il s'agit d'un connecteur rectangulaire dans lequel on enfiche le
processeur verticalement.
• socket : il s'agit d'un connecteur carré possédant un grand nombre de
petits connecteurs sur lequel le processeur vient directement s'enficher.
68

34
Architecture des ordinateurs
Composantes de l’unité centrale

Microprocesseur Type Socket Microprocesseur Type Slot

69

Architecture des ordinateurs


Composantes de l’unité centrale

La mémoire :
Reçoit les données et les programmes, il en existe 3 types:
• La mémoire vive appelée RAM stocke temporairement des données pendant
l’exécution d’un programme (son contenu est par contre détruit dès lors que
l'ordinateur est éteint ou redémarré).
• La mémoire ROM qui contient les informations essentielles son contenu est
figé.
• La mémoire de masse ou mémoire externe fixe les informations qui sont
conservées lors de l’arrêt de l’ordinateur (disque-dur).
La mémoire Cache:
La mémoire-cache permet au processeur de se "rappeler" les opérations déjà
effectuées auparavant.

Les connecteurs d'extension (slots) :


Les connecteurs d'extension sont des réceptacles dans lesquels il est possible
d'enficher des cartes d'extension, c'est-à-dire des cartes offrant de nouvelles
fonctionnalités ou de meilleures performances à l'ordinateur. 70

35
Architecture des ordinateurs
Composantes de l’unité centrale

Unité de Mesure de stockage :


L’Octet : un octet = 8 Bits.
Un bit c’est soit 1 soit 0.
Utilisé pour calculer la capacité du disque dur, CD-
ROM, Disquette, …

Unité de Mesure de fréquence :


Le Hertz .
Utilisé pour calculer la Fréquence du Microprocesseur,
la RAM, ….

71

Références Bibliographique

1. Dominic Grenier, Notes de cours « Circuits Logiques », Université LAVAL.


2. MAHBOUB Aziz, «Algorithmique et Programmation 1 », Tronc commun : MIP, MIPC,
FST de Tanger, Année Universitaire : 2019/2020.
3. A. El Mhouti, «Algorithmique et Programmation 1 », Tronc commun : MIP, FST
AL’Hocima.
4. Ben Hammouda Manel, «Architecture des ordinateurs », ISG Tunis.
5. « Cours d'initiation à l'informatique », Publié par Romain Bianchi.
6. SABATIER Fabienne, «TRANSMISSION DES DONNEES INFORMATIQUES ».
7. « Les opérations arithmétiques en binaire et les nombres binaires signés », Lycée
AGORA, Classe de BTS.
8. Cours d'initiation à l'informatique (https://slideplayer.fr/slide/3239116/)
9. Bessedik. I, Faculté de Médecine, Université d’Oran, Cours sur les Systèmes de
numération.
10.https://www.electronique-et-informatique.fr/Electronique-et-
Informatique/Digit/Proc_ordi/Systemes_numeriques.php
11.https://www.siloged.fr/cours/html/codage_info/codage_des_nombres_signs_et_dci
maux.html
12.…

72

36

Vous aimerez peut-être aussi