Académique Documents
Professionnel Documents
Culture Documents
Médard-Sylvain OVONO
Diplômé en Electrotechnique de l’ENSET (Gabon)
Diplômé en Informatique Appliquée aux SE de l’ULB. (Belgique)
Docteur en S.E, didactique de l’Informatique (Algorithmique) d’AMU. (France)
SYLLABUS DE COURS
INFORMATIQUE GENERALE 1
Code : 3ESB1103
Syllabus strictement réservé aux étudiants, toute reproduction sans l’accord de l’auteur est interdite.1
HISTORIQUE
L’ordinateur, cette machine à calculer moderne, est l’aboutissement d’une longue série de
perfectionnements qui s’échelonnent sur plusieurs siècles.
A l’origine, on trouve la machine la plus élémentaire : LE BOULIER CHINOIS, qui apparaît environ 2
500 avant notre ère. Il est constitué d’un certain nombre de boules pouvant être déplacées le long de
tiges parallèles. Il permet d’effectuer des opérations arithmétiques élémentaires.
On peut situer la naissance d’une véritable machine à calculer en 1642, lorsque Blaise Pascal, dans le
but de simplifier la tâche de son père, commissaire pour la levée des impôts en Normandie, invente la
machine arithmétique « LA PASCALINE ». Le but de Pascal était de rendre mécanique l’opération
d’addition et en particulier le « report », source fréquente d’erreurs, grâce à un système de roues
dentées munies d’ergots.
Au 17ème siècle toujours, Claude Perrault invente un boulier dont le report se fait automatiquement et
le mathématicien allemand Gottfried Wilhem Leibniz conçoit une machine permettant de faire les
quatre opérations par l’intermédiaire de roues à pignons.
Au cours du 19ème siècle quelques nouvelles inventions voient le jour : l’arithmomètre de Thomas de
Colmar conçu à partir des idées de Leibniz (1820), la machine à curseur du suédois Odhner (1875), le
comptomètre à clavier de l’américain Felt (1885). Toutes ces machines étaient capables d’effectuer les
quatre opérations arithmétiques.
L’ancêtre des calculateurs modernes a été conçu par le mathématicien anglais Charles Babbage (entre
1820 et 1834). On y trouvait, en effet, les trois éléments essentiels de nos calculateurs, à savoir : un
organe d’introduction de données, un organe de sortie des résultats et un organe de calcul et de contrôle.
L’introduction de données se faisait soit par cartes perforées, soit par des cadrans. La sortie des
résultats se faisait aussi soit par cartes perforées, soit par l’intermédiaire du cadran, soit par
l’impression sur papier. L’organe de calcul utilisait des dispositifs mécaniques et une mémoire était
réalisée par l’intermédiaire de roues dentées. Les opérations à effectuer étaient, elles aussi, introduite
à l’aide de cartes perforées, ce qui rendait le traitement automatique.
En 1890 le statisticien américain Hermann Hollerith, afin de permettre le dépouillement plus rapide
du recensement de la population américaine met au point une machine électromécanique. Puis il
fonde en 1896 la « Tabulating Machine Company ». C’est aussi lui qui introduit le format standard de
cartes perforées dont les dimensions sont celles du billet d’un dollar de l’époque.
Thomas Watson construit en 1911 la machine à cartes perforées dont un premier modèle avait été
réalisé par l’ingénieur américain Powers en 1907. Watson reprendra en 1924 la « Tabulating Machine
Company » pour fonder la firme IBM (International Business Machine).
Parallèlement, en 1924 également, une machine électromagnétique à cartes perforées est conçue par
l’ingénieur norvégien Bull dont les brevets sont exploités par les français qui créent en 1931 la
« Compagnie des Machines Bull ».
Les besoins des mathématiciens, des physiciens nucléaires, la mise au point de la bombe atomique
pendant la deuxième guerre mondiale ainsi que le déchiffrement des messages codées ennemis vont
intensifier les recherches sur les machines à calculer. Dans les années 30, à l’Université de Harvard,
Howard AIKEN conçoit, sur les idées de Babbage, la « Automatic Sequence Controlled Computer Mark
I », elle fonctionnera en 1944. On enregistre à cette époque un temps de calcul de l’ordre de 1/3 de
seconde pour l’addition, 6 secondes pour la multiplication et 11 secondes pour la division.
En 1940, la Compagnie Bull réalise un autre équipement utilisant toujours la technique des relais
électromagnétiques dans les organes de commande et de calcul.
De 1945 à 1946, à l’Université de Pennsylvanie, Presper Eckert et John Mauchly mettent au point
l’ENIAC. Cette machine permet de diviser les temps de calcul par 1000 mais présente l’inconvénient
d’un trop grand encombrement (270 m3 – 30 tonnes).
Deux idées nouvelles vont alors modifier la conception des machines mises au point à cette époque
(machines dites de la première génération). Les instructions, au lieu d’être exécutées au fur et à
mesure de leur introduction en machine, vont être soumises en bloc et conservées en mémoire, d’où
elles seront traitées les unes après les autres pour être exécutées.
2
Le système décimal utilisé jusqu’alors va céder la place au système binaire. Ces deux innovations sont
dues au professeur John Von Neumann de l’Université de Princeton (1947). L’EDVAC de l’Université
de Pennsylvanie et L’EDSAC à l’Université de Cambridge étaient fondés sur ces deux principes.
Les innovations technologiques vont, dès 1959, permettre une diminution du volume des
équipements, de la consommation électrique et du dégagement de chaleur. C’est l’époque où
apparaissent les mémoires à tores de ferrite1, les transistors2, les circuits imprimés3 et de nouveaux
supports des informations, les bandes et tambours magnétiques (calculateurs de la 2 ème génération).
Les vitesses de traitement et les capacités des mémoires s’en trouvent considérablement augmentées.
Ces perfectionnements donnent aux « ordinateurs » (néologisme français imaginé par IBM-France
pour traduire le mot anglais « computer ») une plus grande sûreté de fonctionnement, une facilité
d’emploi permettant d’assurer des tâches de plus en plus vastes par un nombre plus important
d’utilisateurs.
Dès 1963, une nouvelle étape dans la miniaturisation des équipements est franchie (3 ème génération).
Les circuits intégrés4 remplacent progressivement les circuits imprimés. On voit apparaître des mini-
et des micro-ordinateurs dont les coûts de plus en plus réduits permettent une plus grande diffusion
au sein des entreprises. On dépasse actuellement des vitesses d’exécution de l’ordre de quelque
dizaine de picosecondes (=10-12).
1
Tores de ferrite : un tore (anneau) de ferrite (composé d’oxydes métalliques) est susceptible d’être magnétisé dans les deux sens
opposés, sens que l’on peut représenter par 0 et 1, les deux chiffres du système de numération binaire.
2
Transistor : dispositif constitué principalement de semi-conducteur (sélénium, silicium et surtout germanium). Le mot transistor vient
de l’expression TRANsfer reSISTOR et a été utilisé par J. Bardeen et W.H. Brattain de la « Bell Telephone » pour désigner le dispositif
qu’ils avaient conçu.
3
Circuits imprimés : Circuits comportant un ensemble d’éléments (résistances, condensateurs…) qui sont connectés entre eux.
4 Circuits intégrés : les éléments et les connections d’un circuit imprimé sont cette fois introduits dans de petits morceaux de semi-
conducteurs.
3
Quelques dates importantes dans histoire des supports, représentations et manipulations de
l’information
? Concept de nombre
-12000 Ecriture sur tablette d’argile (Tchécoslovaquie)
-3000 Tablette d’argile en comptage (Mésopotamie), Papyrus (Egypte)
-2600 Abaque (Chine)
-1800 Numération de position (Mésopotamie)
-400 Table de comptage (Grèce)
-200 Papier (Chine)
-100 Tablette de cire (Grèce et Rome)
400 Parchemin (Europe)
1440 Imprimerie par caractères mobiles (Gutenberg)
1621 Règle à calcul (Oughtred)
1642 Machine à additionner (Pascal)
1671 Machine à calculer (Leibniz)
1686 Crayon
1728 Métier à tisser guider par carte perforées
1820 Analycal engine (Babbage)
1828 Porteplume
1868 Machine à écrire
1890 Trieuse et tabulatrice à cartes perforées (Hollerith)
1907 Lampe triode (de Forest)
1919 Relais électrique
1944 Mark I (Aiken)
1946 ENIAC (Mauchly et Eckert)
1948 Premier programme enregistré (sur Mark II), Transistor
1949 Tambour magnétique
1950 Bande magnétique
1951 Tore de ferrite
1953 Circuit imprimé, 1er ordinateur commercial (1er génération)
1956 FORTRAN (Formula Translator)
1959 Ordinateur de la 2nd génération, circuit intégré, COBOL (Common Bisiness Oriented
Language)
1962 Microprocesseur, Calculatrice électronique de poche
1964 Ordinateur de la 3ème génération
1965 BASIC (Beginner’s All-purpose Symbolic Instruction Code)
1967 Mémoire à bulles
1968 PASCAL
1970 Disque magnétique souple
1977 Microordinateur individuel
4
ARCHITECTURE DE BASE D’UN ORDINATEUR
GENERALITES
NOTION DE PROGRAMME
Un programme est une suite d’instructions élémentaires, qui vont être exécutées dans
l’ordre par le processeur. Ces instructions correspondent à des actions très simples,
comme additionner deux nombres, lire ou écrire une case mémoire, etc. Chaque
instruction est codifiée en mémoire sur quelques octets.
Le processeur est capable d’exécuter des programmes en langage machine, c’est-à-
dire composés d'instructions très élémentaires suivant un codage précis. Chaque type
de processeur est capable d’exécuter un certain ensemble d’instructions, son jeu
d’instructions. Pour écrire un programme en langage machine, il faut donc connaître
les détails du fonctionnement du processeur qui va être utilisé.
I.1. LE PROCESSEUR
Le processeur est un circuit électronique complexe qui exécute chaque instruction très
rapidement, en quelques cycles d'horloges. Toute l’activité de l’ordinateur est cadencée
par une horloge unique, de façon à ce que tous les circuits électroniques travaillent
ensembles.
La fréquence de cette horloge s’exprime en MHz (millions de battements par seconde).
Par exemple, un ordinateur “PC Pentium 133” possède un processeur de type Pentium et
une horloge à 133 MHz.
Pour chaque instruction, le processeur effectue schématiquement les opérations
suivantes :
1. Lire en mémoire (MP) l'instruction à exécuter ;
2. Effectuer le traitement correspondant ;
3. Passer à l’instruction suivante.
5
I.2. LA MÉMOIRE PRINCIPALE (MP)
La mémoire est divisée en emplacements de taille fixe (par exemple 8 bits) utilisés pour
stocker instructions et données.
En principe, la taille d’un emplacement mémoire pourrait être quelconque ; en fait, la
plupart des ordinateurs en service aujourd'hui utilisent des emplacements mémoire d’un
octet (byte en anglais, soit 8 bits, unité pratique pour coder un caractère par exemple).
6
I.2.2. OPÉRATIONS SUR LA MÉMOIRE
Notons que les opérations de lecture et d'écriture portent en général sur plusieurs octets
contigus en mémoire : un mot mémoire. La taille d'un mot mémoire dépend du type de
processeur ; elle est de :
-1 octet (8 bits) dans les processeurs 8 bits (par exemple Motorola 6502) ;
- 4 octets dans les processeurs 32 bits (par ex. Intel 80486 ou Motorola 68030).
Le processeur est parfois appelé CPU (de l’anglais Central Processing Unit) ou encore MPU
{Micro-Processing Unit) pour les microprocesseurs.
Un microprocesseur n’est rien d'autre qu’un processeur dont tous les constituants sont
réunis sur la même puce électronique (pastille de silicium), afin de réduire les coûts de
fabrication et d'augmenter la vitesse de traitement. Les microordinateurs sont tous
équipés de microprocesseurs.
L’architecture de base des processeurs équipant les gros ordinateurs est la même que
celle des microprocesseurs.
Le processeur utilise toujours des registres, qui sont des petites mémoires internes très
rapides d'accès utilisées pour stocker temporairement une donnée, une instruction ou une
adresse. Chaque registre stocke 8, 16 ou 32 bits.
7
Parmi les registres, le plus important est le registre accumulateur, qui est utilisé pour stocker
les résultats des opérations arithmétiques et logiques. L'accumulateur intervient dans une
proportion importante des instructions.
Par exempte, examinons ce qu’il se passe lorsque le processeur exécute une instruction
comme "Ajouter 5 au contenu de ta case mémoire d’adresse 180" :
C’est l'unité de commande (voir figure suivante) qui déclenche chacune de ces
actions dans l’ordre. L'addition proprement dite est effectuée par l'UAL.
Le processeur est relié à l'extérieur par les bus de données et d'adresses, le signal d'horloge
et les signaux de commandes
8
Les informations circulent à l'intérieur du processeur sur deux bus internes, l’un pour les
données, l'autre pour les instructions.
RTUAL : Registre Tampon de l'UAL, stocke temporairement l'un des deux opérandes d’une
instruction arithmétique (la valeur 5 dans l'exemple donné plus haut) ;
RTA : Registre Tampon d'Adresse, utilisé pour accéder à une donnée en mémoire.
Les informations échangées entre la mémoire et le processeur circulent sur des bus. Un
bus est simplement un ensemble de n fils conducteurs, utilisés pour transporter n signaux
binaires.
Le bus d'adresse est un bus unidirectionnel : seul le processeur envoie des adresses.
Il est composé de a fils ; on utilise donc des adresses de a bits. La mémoire peut posséder
au maximum 2a emplacements (adresses 0 à 2a -1).
Le bus de données est un bus bidirectionnel. Lors d’une lecture, c’est la mémoire qui
envoie un mot sur le bus (le contenu de remplacement demandé) ; lors d'une écriture,
c'est le processeur qui envoie la donnée.
9
II- LES ENTREES / SORTIES
Les ordinateurs sont utilisés pour traiter et stocker des informations. Nous avons jusqu'ici
décrit le fonctionnement du processeur et la mémoire principale. Nous allons maintenant
étudier comment un ordinateur peut échanger de l’information avec son environnement
; ces échanges d'informations sont nommés entrées/sorties (ou I/O, Input/Output en
anglais).
Nous avons dans les chapitres précédents décrits de façon simplifiée les bus reliant le
processeur à la mémoire principale. Nous avons distingué le bus d'adresse, le bus de
données et le bus de commandes (signaux de commandes type R/W).
En fait, la plupart des échanges d'informations dans l’ordinateur se font sur des bus :
connexions processeur/mémoire, mais aussi connexions entre le processeur et les
interfaces d'entrées sorties. Il existe une grande variété de bus ; chacun est caractérisé
par sa largeur (nombre de bits) et sa fréquence (nombre de cycles par secondes, en
Méga-Hertz).
Le bus local est le bus le plus rapide, sur lequel sont directement connectés le processeur
et la mémoire principale. Il regroupe un bus de données un bus d’adresse et de signaux
de commandes.
Le bus local est aussi relié aux contrôleurs des bus d’extensions, et parfois à des contrôleurs
de mémoire cache.
10
Le bus d’extension ISA (Industry Standard Architecture) est le plus répandu sur PC. De
fréquence relativement basse et de caractéristiques peu puissantes, il est utilisé pour con-
necter des cartes relativement lentes (modems, cartes sons, ...).
Les principales caractéristiques du bus ISA (PC-AT) sont : 16 bits de données, 24 bits
d’adresse, 16 lignes d'interruption, fréquence 8 MHz.
Le premier bus PC basé sur ces principes a été te bus VLB [VESA Local Bus), qui est
actuellement remplacé par le bus PCI (Peripheral Comportent interface).
Le bus PCI équipe la grande majorité des PC récents. Notons qu'il n'est pas réservé au
processeur INTEL, puisqu’il est aussi utilisé sur les Macintosh à base de processeurs
PowerPC. Le principe du bus PCI est justement de dissocier le processeur et les bus.
Cette séparation permet d’utiliser une fréquence de bus différente de celle du processeur
et facilite l’évolution des machines.
11
La figure ci-dessus représente l’architecture d'un PC avec bus PCI.
Le contrôleur PCI est la plupart du temps intégré sur la carte mère (il s’agit d'un circuit
intégré complexe dont les performances sont cruciales pour celles du PC).
Les connecteurs (slot) PCI sont réservés aux périphériques demandant de hauts débits :
cartes vidéo, contrôleurs SCSI, cartes réseaux haut débit.
Nous revenons dans cette partie sur les différents types de mémoires utilisés dans les
ordinateurs. Nous nous intéressons au fonctionnement des mémoires vives (ou volatiles],
qui ne conservent leur contenu que lorsqu’elles sont sous tension.
Ce type de mémoire est souvent désigné par l'acronyme RAM, Random Access Memory,
signifiant que la mémoire adressable par opposition aux mémoires secondaires
séquentielles comme tes bandes. Nous mentionnerons aussi différents types de mémoires
mortes, qui sont des circuits accessibles uniquement en lecture (ROM, Read Only
Memory).
La mémoire vive (RAM) est utilisable pour écrire ou lire des informations. Elle constitue la
plus grande partie de la mémoire principale d'un ordinateur.
On peut réaliser des mémoires RAM avec deux technologies différentes, les RAM
dynamiques (DRAM), et les RAM statiques (SRAM).
12
III.1.2. MÉMOIRES VIVES DYNAMIQUES (DRAM)
Les boîtiers de mémoire dynamique enferment une pastille de silicium sur laquelle sont
intégrées un très grand nombre de cellules binaires. Chaque cellule binaire est réalisée à
partir d'un transistor relié à un petit condensateur. L’état chargé ou déchargé du
condensateur permet ae distinguer deux états (bit 0 ou bit 1).
Les mémoires DRAM sont utilisées en informatique, mais leur usage se répond aussi pour
des objets grand public, comme la télévision numérique. Les boitiers sont fabriqués en très
grandes séries dons des usines spécialisées, qui demandent des investissements énormes
(une nouvelle chaîne de fabrication coûte de l’ordre d'un milliard de dollars).
Lorsque des usines de nouvelle génération sont mises en service, les prix des mémoires
baissent dans le monde entier. La demande de mémoires augmentant sans cesse, les prix
remontent, avant la construction de nouvelles usines, etc. Les prix des mémoires subissent
ainsi des cycles économiques.
On trouve des boitiers DRAM de 256k x 1 bit, 256k x 4bits, 1M x I bit, 16M x 4bits...
Les mémoires statiques n'utilisent pas de condensateurs : chaque cellule binaire est
réalisée à l’aide de 4 transistors formant un bistable, circuit restant d'un Létal 0 ou 1 tant
qu’il est alimenté électriquement.
Les SRAM permettent des temps d’accès plus court que les DRAM, mais sont plus
coûteuses car leur construction demande 4 fois plus de transistors que tes DRAM.
Les SRAM sont utilisées lorsque Lan désire maximiser les performances, par exemple pour
construire des mémoires caches.
Notons aussi l'existence des boitiers SRAM CMOS, caractérisé par leur très faible
consommation en énergie : une petite pile électrique suffit à tes maintenir en activité
plusieurs années. Ces mémoires, de petite capacité, sont utilisées par exempte dans
certains agendas électroniques pour te grand public.
Les modules SIMM Single In-line Memory Module sont des groupes de boîtiers de mémoires
dynamiques montés sur un circuit imprimé rectangulaire allongée, appelé barrette.
Chaque barrette SIMM offre une capacité importante (1 à 16 Mo, voir le giga), et s'entiche
sur des connecteurs prévus à cette effet sur la carte mère de l'ordinateur.
13
Les barrettes SIMM, utilisées au départ sur les stations de travail et les Macintosh, équipent
aujourd’hui tous les PC.
Les mémoires mortes ne sont normalement accessibles qu’en lecture. On distingue diffé-
rents types de circuits de mémoires mortes :
ROM : circuit intégré dont le contenu est déterminé une fois pour toute au moment de la
fabrication.
Le coût relativement élevé de leur fabrication impose une fabrication en grandes séries,
ce qui complique lo mise à jour de leur contenu. Au départ, ces mémoires étaient utilisées
pour stocker les parties bas niveau du système d'exploitation de l’ordinateur (BIOS du PC
par exemple).
PROM (Programmable ROM) : Alors que la mémoire ROM est enregistrée de manière
irréversible lors de sa fabrication, la mémoire PROM est configurée par l'utilisateur en
utilisant un programmateur de PROM, utilisé pour enregistrer son contenu. Le circuit PROM
ne peut plus être modifié par la suite.
EPROM (Erasable PROM) : Les mémoires EPROM sont des PROM reconfigurables : il est
possible de les effacer pour les reprogrammer. L'effacement se produit en exposant le
boitier à un fort rayonnement ultraviolet (UV). Pour cela, le boîtier est percé d'une fenêtre
transparente permettant l'exposition du circuit intégré. L’opération d’effacement
nécessite de retirer l’EPROM de son support et entraîne sont immobilisation pendant
environ 30 minutes.
EEPROM (Electricaly Erasable PROM) : Même principe qu’une EPROM, mais l'effacement
se fait à l'aide de signaux électriques, ce qui est plus rapide et pratique.
FLASH EPROM Les mémoires FLASH sont similaires aux mémoires EEPROM, mais
l’effacement peut se faire sélectivement par blocs et ne nécessite pas le démontage du
circuit. Le temps d'écriture d’un bloc de mémoire FLASH est beaucoup plus grand que
celui d'écriture d'une mémoire RAM, mais du même ordre que celui d'un disque dur.
L’accès en lecture à une EEPROM est à peu près aussi rapide qu’a un DRAM. On utilise
donc parfois des cartes de mémoire FLASH comme mémoire secondaires, par exemple
pour les ordinateurs portables.
14
III.3. MÉMOIRES CACHES
Chacun des différents types de mémoires primaires et secondaires que nous avons décrits
est caractérisé par un temps d’accès et une capacité caractéristique. Plus l'on s'éloigne
du processeur, plus la capacité et le temps d'accès augmentent :
On constate que le processeur est nettement plus rapide que la mémoire principale.
Dans les premières parties de ce cours, nous avons supposé pue presque chaque
instruction du processeur effectuait un accès, en lecture ou en écriture à la mémoire
principale. Si c’était réellement le cas, te processeur passerait la majeure partie de son
temps à attendre les accès mémoire, et l'on n’utiliserait pas pleinement ses possibilités.
15
III.3.3. EFFICACITE D’UN CACHE : PRINCIPE DE LOCALITÉ
L'utilisation d’une mémoire coche n'est efficace que s’il arrive fréquemment qu'un mot
demandé par le processeur se trouve déjà dans te cache.
Nous avons vu, sans entrer dans les détails, qu'une donnée entrait dans te cache
lorsqu'elle était lue en mémoire principale. Le premier accès à une donnée est donc lent,
mais les accès suivants à la même adresse vont être plus rapides.
On conçoit aisément que plus le programme que l’on exécute fait des accès mémoires
variés, moins le cache sera efficace.
Rappelons que le processeur effectue deux types d’accès mémoires : lecture des
instructions, et lecture (ou écriture) des données. Les accès aux instructions sont toujours
différents (on passe à chaque fois à l’adresse de l'instruction suivante), sauf lorsque te
programme effectue des répétitions (boucles), ce qui se produit en fait très fréquemment
(les longs calculs sont souvent effectués par répétition d’une suite d’instructions assez
courte).
Les accès aux variables se répètent eux aussi fréquemment (les variables locales d’une
fonction par exemple sont souvent accédées chacune un grand nombre de fois).
16
II-FONCTIONNEMENT DES ORDINATEUR
Il paraît essentiel de retenir qu'un ordinateur permet de manipuler rapidement et sans
erreur un grand nombre d’informations.
En fait, les procédés utilisés par ordinateur sont fort proches de la façon dont travaille un
opérateur humain. Ainsi, dans l’accomplissement d'une tâche, un ordinateur fonctionne
comme un employé (un homme) qui exécute fidèlement les instructions de son chef.
Remarque :
1- L'écriture sur une mémoire impose l'effacement préalable de son contenu initial.
En effet, ce mode d'exécution est typique à celui de la mémoire d’un ordinateur,
son contenu peut être modifié à la guise du programmeur.
2- La résolution d’un problème par un ordinateur impose sa décomposition en
opérations élémentaires. L’ordinateur opère généralement de cette manière en
se servant de programme de traduction (assembleurs- compilateurs).
3- Un ordinateur commence par recopier les instructions sur une mémoire qui servira
aussi pour les résultats intermédiaires. Une mémoire peut contenir à la fois des
données et des instructions.
A ce niveau, il est important d'introduire deux notions essentielles :
1- Résoudre un problème général à l’aide d'une machine ne peut se faire que s’il a
été préalablement décomposé en problèmes plus simples, résolubles par la
machine, se présentant sous la forme d’une suite d’opérations à exécuter les unes
à la suite des autres sans intervention extérieure.
On appelle algorithme une telle succession d’opérations permettant d’obtenir un
résultat escompté de façon automatique.
2- Pour être compréhensible par l’ordinateur un algorithme doit être formalisé. Il doit
être traduit et transcrit avec des codes et des termes réservés à cet usage. On
parle d’écriture de programme dans un langage précis.
Deux types d’erreurs sont possibles :
1- Utilisation d’un terme inconnu, on parle d'erreur syntaxique
2- L’exécution ne fournit pas le résultat attendu : C’est l'erreur logique.
𝒊=𝒏
∑ 𝒃𝒊 𝒂𝒊 = 𝒃𝒊 𝒂𝒏 + ⋯ + 𝒃𝟐 𝒂𝟐 + 𝒃𝟏 𝒂𝟏 + 𝒃𝟎 𝒂𝟎
𝒊=𝟎
Avec :
bi : chiffre de la base de rang i
ai : puissance de la base a d'exposant de rang i
Exemple : base 10
1986= (1 x 103) + (9x 102) + (8x 101) + (6x10°)
A- LE SYSTÈME DÉCIMAL
Le système décimal est celui dans lequel nous avons le plus l'habitude d'écrire. Chaque
chiffre peut avoir 10 valeurs différentes : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, de ce fait, le système
décimal a pour base 10.
Chaque chiffre du nombre est à multiplier par une puissance de 10 : c'est ce que l'on
nomme le poids du chiffre.
L'exposant de cette puissance est nul pour le chiffre situé le plus à droite et s'accroît d'une
unité pour chaque passage à un chiffre vers la gauche.
12 435 = 1 x 104 + 2 x 103 + 4 x 102 + 3 x 101 + 5 x 10°.
Cette façon d'écrire les nombres est appelée système de numération de position.
Dans notre système conventionnel, nous utilisons les puissances de 10 pour pondérer la
valeur des chiffres selon leur position, cependant il est possible d'imaginer d'autres
systèmes de nombres ayant comme base un nombre entier différent.
Le système octal utilise un système de numération ayant comme base 8 (octal => latin
octo = huit).
Il faut noter que dans ce système nous n'aurons plus 10 symboles mais 8 seulement :0, 1,2,
3, 4, 5, 6,7.
Ainsi, un nombre exprimé en base 8 pourra se présenter ainsi qu’il suit : (745)8
18
Lorsque l'on écrit un nombre, il faudra bien préciser la base dans laquelle on l'exprime
pour lever les éventuelles indéterminations (745 existe aussi en base 10).
Ainsi le nombre sera mis entre parenthèses (745 dans notre exemple) et indicé d’un
nombre représentant sa base (8 est mis en indice).
Cette base obéira aux mêmes règles que la base 10, vue précédemment, ainsi on peut
décomposer (745)8 de la façon suivante :
(745)8 = 7 x 8 2 + 4 x 8 1 + 5 x 8 0
(745)8 = 7 x 64 + 4 x 8 + 5 x 1
(745)8 = 448 + 32 +5
C- LE SYSTEME BINAIRE
Actuellement, à l'instar du processeur, la mémoire centrale se représente sous la forme
de circuits intégrés. On parle de « microprocesseur » et de « puces » tant ces composants
ont été miniaturisés.
Si les progrès techniques ont permis d'améliorer la vitesse d'exécution des ordinateurs, leur
fiabilité et leurs tailles, les principes de fonctionnement en sont restés sensiblement
identiques. Un courant électrique passe ou ne passe pas. (II y a ou non une différence de
potentiel). Un tel type de fonctionnement nécessite de représenter en machine toutes les
instructions et toutes les quantités comme une succession de :
- « passe » ou « ne passe pas »
- « oui » ou « non »
- « vrai » ou « faux »
- « 1 » ou « 0 »
D-NOMBRE BINAIRE
On parle alors de nombre binaire succession de chiffres binaires par analogies avec les
chiffres décimaux que nous utilisons.
Le système décimal (ou représentation décimale) comprend dix (10) symboles (de 0 à9),
on parle de base 10.
Alors que les chiffres binaires ne peuvent prendre que deux valeurs (0 et 1) : c'est la base2.
Dans un nombre, chacun des chiffres a une valeur définie par la position qu'il y occupe
et par la base utilisée.
19
Ainsi, en base 10 on a :
(9516)10 = 9 x 103+ 5x102 + 1 x 101 + 6x100
(11)10= 1 x 101 + 1 x 100
En binaire :
(11)2 = 1 x 21 + 1 x 20 = 310
(1 01 1 00) 2 = 1 x 25 + 0 x 24 + 1 x 23 + 1 X 22 + 0 x 21 + 0 x 2° = 44 10
Chiffre binaire est souvent abrégé en BIT : Blnairy digiT
E- NOMBRE HEXADÉCIMAL
Tableau de correspondances
Décimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hexadécim 0 1 2 3 4 5 6 7 8 9 A B C D E F
Binaire
al 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
F- INSTRUCTIONS MACHINES
Les instructions exécutables par le processeur sont aussi mémorisées sous forme d'une suite
de bits. En général, on les représente sur papier sous la forme hexadécimale. La plupart
d'entre elles s'écrivent à l'aide de deux chiffres hexadécimaux, c'est à dire de 8 bits. Un
bloc de 8 bits s'appelle un octet (ou byte).
En base b. on utilise b chiffres. Notons ai la suite des chiffres utilisés pour écrire un nombre
X = an an-1 … a1 a0
Dans le cas général, en base b, le nombre représenté par une suite de chiffres anan-1
…a1a0 est donné par :
Les nombres fractionnaires sont ceux qui comportent des chiffres après la virgule.
Dans le système décimal, on écrit par exemple :
12,346= 1 xl01 +2xl0o+3xl0-1 +4xl0-2+6xl0-3
anan-1 ... a1 ao, a-1 a-2 ... a-p = anbn+an-l bn-l+ ... +aobo+a-l b-l+ ... +a-pb-p
21
J- PASSAGE D'UNE BASE QUELCONQUE À LA BASE 10
Exemple en hexadécimal :
Nombres entiers : On procède par divisions successives. On divise le nombre par la base,
puis le quotient obtenu par la base, et ainsi de suite jusqu'à l'obtention d'un quotient nul.
La suite des restes obtenus correspond aux chiffres dans la base visée, a0 a1 …. an.
Partie fractionnaire :
22
L-CAS DES BASES 2, 8 ET 16
Ces bases correspondent à des puissances de 2 (21; 23et 24), d'où des passages de
l'une à l'autre très simples. Les bases 8 et 16 sont pour cela très utilisées en
informatique, elles permettent de représenter rapidement et de manière compacte
des configurations binaires. La base 8 est appelée notation octale, et la base 16
notation hexadécimale.
De même, chaque chiffre octal représente 3 bits. On manipule souvent des nombres
formés de 8 bits, nommés octets, qui sont donc notés sur 2 chiffres hexadécimaux.
M- OPÉRATIONS ARITHMÉTIQUES
II.1.2-MEMOIRES ET CODIFICATIONS
A. STRUCTURE DE LA MÉMOIRE
Afin de pouvoir manipuler plus aisément les informations binaires qui sont stockées
en mémoire centrale, on regroupe généralement les bits en blocs appelés « mots ».
La taille des mots diffère d'un ordinateur à l'autre. On rencontre fréquemment des
mots de 1, 2, ou 3 octets (8, 16, 24 ou 32 bits).
Pour retrouver plus facilement ces mots en mémoire, on les numérote à partir de 0,
ce numéro est appelé l'adresse du mot.
Lorsqu'une mémoire est grande, on réunit parfois les mots en pages qui sont
également numérotées.
Les tailles des mémoires sont généralement exprimées en nombres de mots, dont il
faut connaître la taille, ou plutôt en nombre d'octets, de kilo octets (1024=210 octets
; k ou Ko), méga octets (10242 octets ; M ou Mo) ou giga octets (10243 octets ; G ou
Go).
23
B-CODIFICATION DES NOMBRES ENTIERS
La représentation (ou codification) des nombres est nécessaire afin de les stocker et
manipuler par un ordinateur. Le principal problème est la limitation de la taille du
codage : un nombre mathématique peut prendre des valeurs arbitrairement
grandes, tandis que le codage dans l'ordinateur doit s'effectuer sur un nombre de
bits fixé.
Entiers naturels
Les entiers naturels (positifs ou nuls) sont codés sur un nombre d'octets fixé (un octet est
un groupe de 8 bits). On rencontre habituellement des codages sur 1, 2 ou 4 octets, plus
rarement sur 64 bits (8 octets, par exemple sur les processeurs DEC Alpha).
Un codage sur n bits permet de représenter tous les nombres naturels compris entre 0 et
2n -1. Par exemple sur 1 octet, on pourra coder les nombres de 0 à 255 = 28 -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. Si nécessaire, on
complète à gauche par des zéros (bits de poids fort).
Entiers relatifs
Il faut ici coder le signe du nombre.
Plusieurs codifications sont d'usage. La codification directe (utiliser le bit de poids le plus
fort comme « bit de signe » : O pour + et 1 pour -), celle du complément à 1 (complément
de a est 𝑎 ̅) et le complément à deux (la plus utilisée).
On utilise le codage en complément à deux, qui permet d'effectuer ensuite les
opérations arithmétiques entre nombres relatifs de la même façon qu'entre nombres
naturels.
1. Entiers positifs ou nuls : On représente le nombre en base 2 et on range les bits comme
pour les entiers naturels. Cependant, le bit de poids fort est toujours à 0 : on utilise donc
n-1 bits. Le plus grand entier positif représentable sur n bits en relatif est donc 2 n-1 -1
2. Entiers négatifs : Soit x un entier positif ou nul représenté en base 2 sur n-1 bits
Or sur n bits, 2n-1 est représenté par n-1 zéros, donc on à x + y = 0 modulo 2n-l, ou encore y
= -x. y peut être considéré comme l'opposé de x.
24
Pour obtenir le codage d'un nombre x négatif, on code en binaire sa valeur absolue sur
n-1 bits, puis on complémente (ou inverse) tous les bits et on ajoute 1.
Exemple : soit à coder la valeur -2 sur 8 bits. On exprime 2 en binaire, soit 0000 0010. Le
complément à 1 est 11111101. On ajoute 1 et on obtient le résultat : 1111 1110.
Remarques :
(a) le bit de poids fort d'un nombre négatif est toujours 1 ;
(b) sur n bits, le plus grand entier positif est 2n-1 -1 = 011 ...1;
(c) sur n bits, le plus petit entier négatif est -2n-1
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.
Le code ASCII représente chaque caractère sur 7 bits (on parle parfois de code ASCII
étendu, utilisant 8 bits pour coder des caractères supplémentaires).
Notons que le code ASCII original, défini pour les besoins de l'informatique (en langue
anglaise) ne permet pas la représentation des caractères accentués (é, è, à, ù, …),
et encore moins des caractères chinois ou arabes. Pour ces langues, d'autres
codages existent, utilisant 16 bits par caractères.
- Les lettres se suivent dans l'ordre alphabétique (codes 65 à 90 pour les majuscules,
97 à 122 pour les minuscules), ce qui simplifie les comparaisons.
- On passe des majuscules aux minuscules en modifiant le 5ième bit, ce qui revient à
ajouter 32 au code ASCII décimal.
25
- Les chiffres sont rangés dans l'ordre croissant (codes 48 à 57), et les 4 bits de poids
faibles définissent la valeur en binaire du chiffre.
26
La principale différence entre les langages informatiques et les langues naturelles
réside dans l'absence d'ambigüité : alors que certaines phrases du français peuvent
être interprétées différemment par différents auditeurs, tous seront d'accord pour
dire ce que fait un programme donné.
C'est pour répondre à ces problèmes qu'ont été développés dès les années 50 des
langages de plus haut niveau. Dans ces langages, le programmeur écrit selon des
règles strictes mais dispose d'instructions et de structures de données plus
expressives qu'en assembleur. Par exemple, dans certains langages comme
MATLAB, on pourra écrire en une ligne que l'on désire multiplier deux matrices, alors
que le programme correspondant en assembleur prendrait quelques centaines de
lignes.
1- Les langages de bas niveau : une instruction de programme se traduit par une
seule instruction machine. Leur programme de traduction s'appelle un
assembleur ;
27
III.4. PRINCIPAUX LANGAGES
Les fonctions du DOS s'utilisent comme celles du BIOS, via des vecteurs d'interruptions.
Elles offrent des fonctionnalités de plus haut niveau que le BIOS (entrées/sorties,
ouverture de fichiers sur disque, etc.).
III.7. AUTRES SYSTEMES D'EXPLOITATION
Les systèmes d'exploitation les plus répandus sont les suivants :
29
IV- ARCHITECTURE DES RESEAUX
DÉFINITION
A- LE SERVEUR
30
B- LES STATIONS
Ce sont des ordinateurs classiques qui sont connectés au serveur donc au réseau. Ils
ont donc ainsi la possibilité de consulter la base de données que constitue le serveur
et aussi, une station a la possibilité de communiquer avec les autres stations du réseau.
Dans le cadre d'un réseau international, à partir de n'importe quelle station, on peut
consulter un serveur ou une autre station quel que soit son emplacement
géographique, à condition que l'information souhaitée ne soit pas protégée.
C- LES PÉRIPHÉRIQUES
La réalisation d'un réseau obéit à certaines contraintes d'équipement dont les plus
importants sont :
-Un serveur ;
-Des stations ;
-Des cartes interfaces réseau
• NIM (network interface module)
• NIC (network interface card)
Les réseaux sont classés en fonction de leur taille. On distingue donc ainsi trois
principaux types de réseaux :
31
A- LE LAN
C'est le réseau local par définition car il permet en effet de relier des ordinateurs qui se
trouvent dans un même immeuble ou distancés géographiquement au maximum de 2 à
6 Km. Ce type de réseau est souvent utilisé dans les sociétés pour relier les différents
services.
B-LE MAN
C'est un réseau qui peut être beaucoup plus étendu que le précédent. En effet, il
peut relier des stations qui se trouvent dans des villes différentes les stations peuvent
au maximum être distancées de 80 Km.
C-LE WAN
32
Par ailleurs, les réseaux sont aussi classés selon leur mode de construction (architecture).
En effet, il existe trois principales topologies :
Ethernet ;
Token ring;
Etoile.
A- TOPOLOGIE ETHERNET
On peut décrire le réseau Ethernet comme une longueur de câble servant d'épine dorsale
à l'ensemble. La spécification d'Ethernet fut mise au point par DELL, INTEL et Xérox (norme
DIX)
33
B-TOPOLOGIE TOKEN RING (ANNEAU A JETON)
Comme son nom l'indique, le réseau token ring met en œuvre un câble en anneau
fermé relié à chaque PC en deux points. C'est IBM qui a développé le token ring.
C-TOPOLOGIE EN ETOILE
La topologie en étoile est construite à partir d’un nœud qui émule plusieurs liaisons
point à point.
34
II- LES RESEAUX SANS FIL
Un réseau sans fil (wireless network) est un réseau permettant à plusieurs ordinateurs
de communiquer sans liaison filaire. La communication s'effectue en utilisant les
ondes du spectre électromagnétique de la zone radio ou infrarouge à la place des
signaux électriques véhiculés par l'intermédiaire des câbles.
Les réseaux sans fil peuvent être classés en différentes catégories, ceci en fonction
de la zone de couverture (rayon dans lequel une connexion est possible) et de la
topologie.
A-LE WPAN
WPAN (Wireless Personnal Area Nefwork), réseau personnel sans fil. Il a une portée d'une
dizaine de mètre. Il existe principalement en technologie Bluetooth.
B-LE WLAN
WLAN (Wireless Local Area Nefwork), réseau local sans fil. Il a une portée d'une centaine
de mètre. La technologie Wi-Fi (Wireless Fidelity) étant la plus répandu pour ce type
de réseau.
C-LE WMAN
WMAN (Wireless Métropolitain Area Nefwork), réseau métropolitain sans fil. Il a une portée
de quatre à dix kilomètres.
E-LE WWAN
WWAN (Wireless wide Arec Nefwork), réseau étendu sans fil. Il a une zone de couverture à
l'échelle d'un pays.
Par ailleurs, les réseaux sans fil, en fonction de leur topologie, peuvent être définis en
deux principales architectures :
35
Dans le mode infrastructure, des points d'accès permettent l'échange d'informations
entre les équipements du réseau sans fil. Dans une cellule, c'est-à-dire dans une zone
de couverture d'un point d'accès, toute communication entre deux équipements
passe ainsi obligatoirement par le point d'accès.
On distingue deux topologies en mode infrastructure :
- La Topologie BSS (Basic Service Set). Elle compte un seul point d'accès qui
peut gérer jusqu'à 30 équipements.
Dans le mode ad-hoc ou IBSS (Independent Basic Service Set), les différents
équipements communiquent directement entre eux sans passer par un point
d'accès.
III-1-HISTORIQUE
36
devait-il être abandonné, en raison de sa faiblesse évidente : le réseau dépend en
effet de l'ordinateur central, et tout problème au niveau de ce dernier coupe la
communication entre toutes les machines.
Réseau en étoile
La solution qui s'imposa fût pour ainsi dire celle d'une démocratie absolue : aucun
des ordinateurs ne serait plus important que les autres, et il n'y aurait pour la
transmission de l'information nul chemin obligé. Le réseau devient ainsi indestructible
; en cas d'attaque, d'explosion atomique, de panne de l'une des machines ...
l'ensemble n'est que partiellement affecté.
C'est cette organisation qui fonde l’Internet ; la connexion est toujours possible, mais
le chemin pris peut-être long et complexe (ce qui explique la lenteur de certaines
transmissions, voire leur arrêt en cas « d'embouteillage »). Lorsque l'on envoie un
courrier électronique à un autre abonné en France, il se peut qu'il transite par
l'Australie ou tout autre continent (même si la plupart du temps le trajet effectué est
plus court).
37
Réseaux en étoile
Dans les années 70 le réseau en toile se développa, sous l'impulsion des militaires et
des chercheurs ; il reliait alors essentiellement les grands centres universitaires, et
servait à l'échange de données numériques. Le grand public, outre le fait qu'il n'avait
pas les possibilités techniques d'y accéder, ne pouvait trouver aucun intérêt à un tel
réseau ; en effet, les machines nécessaires à son utilisation étaient encombrantes et
coûteuses.
L'avènement de la micro-informatique bouleversa les données ; par des procédés de
miniaturisation de plus en plus efficaces, on put en effet à la fin des années 70
construire des ordinateurs dont la dimension commençait à devenir raisonnable ; on
allait pouvoir utiliser sa machine dans son bureau plutôt que dans son garage. Pour
ces raisons de taille, on nomma ces ordinateurs des micro-ordinateurs, et la chute du
prix des composants électroniques contribua à rendre leur achat possible pour des
utilisateurs amateurs. Tous ses paramètres contribuèrent à la naissance de
l'informatique domestique et familiale au début des années 80.
- A la fin des années 1960, le ministère de la défense des Etats-Unis a créé un réseau
pour interconnecter les ordinateurs militaires dons le but de faciliter l'échange de
données entre divers chercheurs qui travaillaient sur des projets militaires.
- En 1969, le département de la défense américaine inaugure DARPAnet (Défense
Advanced Research Projects Agency network).
- En 1971, DARPAnet devient ARPANET (Advanced Research Projects Agency
Network). C'est ce nouveau réseau qui devint l'internet.
- En 1973, avec l'apparition des protocoles de communication ARPANET traverse
l'atlantique et se connecte avec l'Angleterre et la Norvège. Apparition en même
temps l'e-mail, FTP et Telnet.
- En 1980 ARPANET se divise en deux réseaux : un réseau militaire (Defense Dota
Network) et un réseau universitaire NSFnet (National Science Fondation net Work).
- En 1982, NSFnet donne naissance à l'Internet (Internet est la contraction
d'international et network). La vitesse de communication sur le réseau passe
rapidement de 56KB/s à 1544 KB/s.
- En 1985 : création du réseau NSFNET par la NSF (National Science Foundation),
38
pour les institutions scolaires et de Recherche.
- En 1988, apparition des premiers serveurs IRC (Internet Release Chat) qui disposent
de la possibilité de discuter en temps réel sur Internet.
- En 1991 : introduction du WWW (world wide web, "la toile") ouvrant le net ou public
en facilitant la navigation.
- En 1992 : introduction de la dimension multimédia (son, image et texte) dons le web
- En 1994 : création de NETSCAPE (logiciel de navigation).
III-2-FONCTIONNEMENT
PRINCIPE : deux acteurs sont mis en jeu : d'un côté le client qui effectue des Requêtes en
direction du serveur, de l'autre le serveur qui exécute ces requêtes et renvoie le résultat
au client. Le client et le serveur désignent des logiciels qui communiquent grâce à un
protocole.
TCP /IP : Transfert Control Protocol/ Internet Protocol : c'est l'ensemble de règles qui
définissent :
Un routeur est un équipement particulier qui reçoit les paquets d'octets et qui désigne le
prochain routeur où il faut les expédier.
II.2.1. L'ADRESSE IP
Adresse universelle permettant d'identifier une machine connectée sur INTERNET. Elle est
constituée d'un numéro de 32 bits, composé de 4 octets notés en décimal (de 0 à 255)
séparés par un point.
39
Le DNS (Domain Nome Server) serveur servant à traduire le nom en adresse IP à chaque
requête.
On envisage maintenant passer de 32 bits à 128 bits du fait de la forte demande d'internet
(1000 milliards de connections).
Le WWW est le service le plus célèbre d'internet. Il permet à partir d'une page ou format
HTML de lire des documents multimédias (texte, image, son et vidéo).
Le HTTP est le protocole du web, il gère les requêtes des documents d'un client en
direction d'un serveur grâce à l'hypertexte.
Les fournisseurs d'accès Internet vous permettent d'ouvrir des boîtes aux lettres.
On peut ainsi :
- Envoyer des lettres ;
- Attacher des fichiers (texte, son, et image ...)
- Répondre à un message ;
- Transférer un message à d’autres ;
Pour se connecter comme client à un serveur, il fout établir une liaison physique par un fil
reliant la station à se serveur. Le même type de connexion est possible sur une station
d'un réseau local dont l'une des machines est connectée à internet.
40
II.3.2. PASSAGE ENTRE INTERNET ET TELEPHONE
Disposant d'un réseau téléphonique classique (type RTC), vous devez brancher sur la prise
téléphonique un MODEM (modulateur/démodulateur). Ce modem va se charger des
traductions entre signaux numériques et analogiques.
On peut aussi utiliser une puce (sorte de clé USB).
-ADSL (Asymétric Digital Subscriber Line) dont le débit va jusqu'à plus de 2 Gbps ;
41
-Le satellite offrant un débit de plus de 800Kbps.
42