100% ont trouvé ce document utile (3 votes)
5K vues164 pages

Informatique Generale

Le cours d'informatique générale vise à introduire les concepts fondamentaux de l'informatique et des réseaux, tout en permettant aux étudiants de comprendre le fonctionnement des ordinateurs et leur importance dans divers domaines. Les objectifs spécifiques incluent la définition de l'informatique, l'évolution des ordinateurs, la manipulation des systèmes d'exploitation, et l'application de l'informatique dans des secteurs comme la gestion, la médecine et l'éducation. Le contenu du cours est structuré en plusieurs chapitres et inclut des évaluations basées sur la présence, les travaux pratiques et des examens.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (3 votes)
5K vues164 pages

Informatique Generale

Le cours d'informatique générale vise à introduire les concepts fondamentaux de l'informatique et des réseaux, tout en permettant aux étudiants de comprendre le fonctionnement des ordinateurs et leur importance dans divers domaines. Les objectifs spécifiques incluent la définition de l'informatique, l'évolution des ordinateurs, la manipulation des systèmes d'exploitation, et l'application de l'informatique dans des secteurs comme la gestion, la médecine et l'éducation. Le contenu du cours est structuré en plusieurs chapitres et inclut des évaluations basées sur la présence, les travaux pratiques et des examens.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INSTITUT SUPERIEUR DE COMMERCE DE GOMA

SECTION INFORMATIQUE DE GESTION


GOMA/ NORD-KIVU

INFORMATIQUE
GENERALE
A l’usage des étudiants de 1èr Graduat
Pr. Dr. Ir. Jeannot FATAKI N. BAZONGA

Année Académique 2018-2019


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

I. OBJECTIFS DU COURS
I.1. OBJECTIFS GENERAUX
Le cours d’informatique générale a pour objectifs :
- D‘introduire les concepts généraux relatifs à l‘Informatique et aux
réseaux en particulier
- D‘informer l‘étudiant sur la vision générale de l‘informatique dès sa
genèse jusqu‘aux inventions actuelles,
- D‘aider l‘étudiant à saisir et à comprendre le fonctionnement d‘un
ordinateur,
- D‘amener l‘étudiant à manipuler l‘ordinateur
- D‘aider l‘étudiant à découvrir l‘importance de cet outil de travail et à
s‘intéresser à cette branche si possible dans sa formation.
- D‘habituer l‘étudiant à s‘intégrer ou à s‘adapter dans le domaine de
la mondialisation de l‘information
- D‘amener l‘étudiant à maîtriser les commandes essentielles du
système d‘exploitation
- D‘amener l‘étudiant à savoir sauvegarder les informations sur
d‘autres supports magnétiques

I.2. OBJECTIFS SPECIFIQUES


A la fin du cours, l‘étudiant devra être capable de :
- Définir le cours d‘informatique et déterminer les objectifs,
- Faire un bref aperçu historique
- Distinguer l‘évolution technique des ordinateurs : les différents types
d‘ordinateurs, leurs caractéristiques et leur rôle,
- D‘expliquer les termes usuels
- Définir l‘ordinateur
- Définir le codage et dire son utilité,
- Définir le système de numération
- Citer et représenter les différents systèmes de numération et établir
les conversions nécessaires,
- Comparer les différents systèmes de numération et établir les
conversions nécessaires,
- Décrire la structure et le fonctionnement de l‘ordinateur, citer les
différents composants de l‘ordinateur,
- Citer les différentes unités de l‘ordinateur,

Informatique générale Page 1


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

- Classifier et distinguer les différents types de clavier, de reconnaître


et utiliser les différentes touches des fonctions, manipuler le clavier
en utilisant correctement les différentes unités,
- De reconnaître leur importance et leur mode de fonctionnement et les
manipuler correctement,
- Citer les différentes parties de l‘unité centrale, dire leur importance
et leur rôle
- Définir un logiciel et distinguer un logiciel de base ou un système
d‘exploitation d‘un logiciel d‘application
- Citer quelques systèmes d‘exploitation
- Décrire un répertoire et un sous répertoire,
- Définir et décrire le Windows
- Expliquer et montrer comment mettre en marche le Windows
- Identifier et expliquer tous les éléments de l‘écran de Windows
- Expliquer l'utilité du menu démarrer
- Expliquer la barre des tâches
- Expliquer et montrer comment démarrer et arrêter un ordinateur et un
programme en général,
- Expliquer et montrer comment ouvrir et fermer un document
- Etc.

II. CONTENU DU COURS


Chapitre I. Généralités
Chapitre II. Présentation du matériel informatique et son évolution
Chapitre III. Circuits logiques
Chapitre IV. Codage et numération
Chapitre V. Logiciels et Langages de programmation
Chapitre VI : Les réseaux

III. MODE D’INTERVENTION

Le cours sera donné sous formes de :

- d‘exposés oraux par le professeur


- de travaux pratiques par les assistants
- de séminaires par groupe d‘étudiants et des travaux dirigés

Informatique générale Page 2


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

IV. MODE D’EVALUATION

L‘évaluation du cours portera sur :

- la présence au cours
- les travaux dirigés et les travaux pratiques
- les interrogations
- l‘examen oral ou écrit

V. BIBLIOGRAPHIQUE SOMMAIRE

1. Jamila Sam Haroud « Informatique I : Cours d‘introduction à


l‘informatique et à la programmation INTRODUCTION (1) Laboratoire
d‘Intelligence Artificielle Faculté I&C, ÉCOLE POLYTECHNIQUE
2. Tellier I., « Introduction à l‘informatique cours de L1 Miashs, Lille3,
France.
3. Jeannot FATAKI N. BANZONGA, Technologies de l‘Information et de
la Communication « Impact des TIC dans l‘accélération de la croissance
économique (données et statistiques), Editions Edilivre, Saint-Denis,
France, Juillet 2016, 76 pages, ISBN : 976-2-33413-511-5.
4. Jeannot FATAKI N. BAZONGA, Initiation aux Réseaux et à Internet,
Editions Jets d‘Encre, Paris, France, Août 2016, 227 pages. ISBN : 978-2-
35485-767-7.
5. Jeannot FATAKI N. BAZONGA, Langage de Programmation Visual
Basic avec exercices résolus – Le langage de requête structuré SQL – A
l‗usage des débutants. Editions Edilivre, Saint-Denis, France, Novembre
2016,196 pages, ISBN : 978-2-33421-006-5.

6. http://www.berti-editions.com

Informatique générale Page 3


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

CHAPITRE I. GENERALITES
I.1. Définition de l’informatique
Le mot Informatique est un acronyme obtenu par la
concaténation des trois premières syllabes et les trois dernières syllabes
des deux mots consécutifs : Information et automatique.
L‘Informatique se définit à la fois comme une science et une
technique du traitement rationnel et automatique de l‘information grâce à
un système de machine appelé ordinateur ( hardware ) et un ensemble de
programmes spécifiques appelé logiciels.
I.2. Terminologie

 Une science : elle obéit à des lois


 Une technique : car elle est constituée de diverses modalités
d‘application dites lois.
 Information : c‘est la donnée de base ; c‘est le support de
connaissance humaine et de communication dans les domaines
technique, économique et social. Ces données peuvent être de type
numérique, alphanumérique, sonore, sous forme de paroles, sous
forme d‘images, etc.
 Traitement : c‘est l‘ensemble des opérations appliquées aux données
de base (informations) pour obtenir des résultats ;
 Rationnel : l‘information traitée obéit à une certaine logique et à des
normes préétablies ;
 Automatique : L‘ordinateur applique une série de transformations
aux données entrées sans intervention extérieure. En d‘autres termes,
l‘action de la main humaine se limite à l‘encodage (à l‘entrée de
données). Toutes les autres transformations que l‘information subie
reste gérées par l‘ordinateur ;

Notons cependant que lorsqu’on parle d’ordinateur, on


voit de fois le matériel et les logiciels.

Informatique générale Page 4


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

I.3. Applications de l’informatique


Actuellement, l‘informatique s‘applique à tous les domaines de
la vie (domaine scientifique, domaines de la gestion, dans les affaires,
domaine médical, domaine technique, domaine industriel, dans
l‘enseignement, dans la communication, etc.).
Parlons de quelques domaines d‘applications :
I.3.1. Informatique de Gestion
C‘est un domaine de l‘informatique qui s‘occupe de
l‘automatisation de toutes les fonctions relevant des activités d‘une
entreprise. Il s‘agit de fonctions telles que :
- La fonction d‘approvisionnement : elle comporte la gestion des
approvisionnements et la gestion des stocks.
- La fonction de production : elle concerne la gestion des processus
industriels de fabrication de produits finis et semi-finis.
- La fonction de vente : elle concerne la facturation, la gestion des
commandes, les ventes par correspondance, etc.
- La fonction d‘administration : elle comprend la gestion du personnel,
la gestion de la paie, la gestion de la comptabilité, la gestion des flux
monétaires, etc.

I.3.2. Informatique scientifique

C‘est un domaine qui s‘occupe du traitement automatique des


calculs complexes dans la plupart des domaines scientifiques tels que la
recherche opérationnelle, la statistique, etc.

I.3.3. Informatique industrielle

Elle concerne l‘automatisation des processus de production, la


conduite des machines-outils, le contrôle des commandes industrielles, etc.

I.3.4. Informatique médicale


Elle concerne l‘automatisation de la gestion des dossiers
médicaux pour assurer un suivi rapide et efficace des malades et faciliter

Informatique générale Page 5


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

des diagnostics médicaux suite à des études comparatives des cas déjà
mémorisés dans l‘ordinateur.
Elle concerne aussi l‘interprétation de formes graphiques : on peut citer
l‘électrocardiogramme, l‘électroencéphalogramme, les analyses de sang et
de prélèvements, etc.
I.3.5. Informatique documentaire
Il s‘agit de l‘automatisation de la documentation. Avec
l‘ordinateur, on peut enregistrer des informations relatives à des
documents, ainsi que des textes.
I.3.6. La bureautique
Elle concerne l‘automatisation de tous les travaux de bureau
(traitement de texte, courriers électronique, etc.)
I.3.7. L’Enseignement Assisté par Ordinateur (E.A.O)
C‘est un domaine de l‘Informatique qui permet de
programmer, au moyen de certains logiciels, des leçons en les fractionnant
en une suite d‘informations brèves et faciles à assimiler. Ces informations
sont présentées sous forme de questions dont les difficultés sont graduelles,
allant du simple au complexe. L‘étudiant est invité à répondre à ces
questions. Et l‘ordinateur peut soit confirmer ou faire des remarques à
l‘étudiant selon que la réponse est correcte ou erronée.
I.3.8. La Conception Assistée par Ordinateur (C.A.O)
C‘est un domaine qui permet d‘aider un ingénieur, un
architecte, un chercheur à concevoir des pièces, des immeubles, des engins,
en utilisant des logiciels spécialisés.
I.3.9. La Robotique
C‘est un domaine de l‘informatique qui permet de concevoir et
de mettre en œuvre des dispositifs appelés robots.
I.3.10. La télématique

Il s‘agit d‘un traitement automatique de l‘information à


distance. On parle de télétraitement. Il s‘agit d‘un couplage de
l‘informatique et la télécommunication.

Informatique générale Page 6


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

I.3.11. L’infographie
C‘est le couplage de l‘informatique et le graphisme.
I.3.12. Intelligence Artificielle (I.A)

Selon Larousse : l‘intelligence est la faculté de comprendre, de


donner un sens, l‘aptitude à s‘adapter à une situation, à choisir en fonction
des circonstances, la capacité de comprendre telle ou telle chose, l‘aptitude
à résoudre des problèmes. L‘intelligence distingue l‘homme de l‘animal.
Les facultés de l‘intelligence sont donc :
- La capacité à résoudre des problèmes ;
- La perception ;
- La capacité d‘apprentissage ;
- La capacité d‘adaptation ;
- La capacité d‘abstraction ;
- La culture générale
- Le raisonnement ;
- La créativité ;
- Etc.

L‘intelligence Artificielle est un domaine de l‘informatique qui


veut utiliser l‘ordinateur comme un moyen de simulation des processus
naturels ou comme support des capacités ordinairement attribués à
l‘homme. Par exemple : avoir un ordinateur qui écrit sous la dictée ou
corriger des fautes, qui traduit des textes, des joueurs d‘échecs, des robots
qui se déplacent sur d‘autres planètes grâce à des informations fournies par
des ingénieurs au moyen des ordinateurs, … Avoir donc, des machines
intelligentes. L‘intelligence artificielle étudie les techniques pour résoudre
des problèmes liés à l‘analyse, le traitement et l‘apprentissage des
connaissances (objets du monde, les faits sur ces objets, la classification de
ces objets et les règles heuristiques (méthode de résolution de problèmes
non fondée sur un modèle formel et qui n‘aboutit pas nécessairement à une
solution optimale). Comme domaines de l‘intelligence artificielle, nous
pouvons citer : Le traitement des langues naturelles (analyse et
compréhension des textes, traduction assistée par ordinateur, traduction
automatique, commande par téléphone, etc.), la robotique, les réseaux des
neurones, la reconnaissance des formes (visuelles et sonores), les systèmes
experts, l‘Enseignement Assisté par Ordinateur (E.A.O.), la Conception
Assistée par Ordinateur (CAO), etc.

Informatique générale Page 7


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Chapitre II. Présentation du matériel informatique et son évolution

II.1. Les 3 grandes lignes de pensée

L‘histoire de l‘informatique débute par l’invention de machines (la


fonction crée l‘organe) qui au départ correspondent à des lignes de pensée
différentes. L‘informatique résultera de la fusion des savoirs acquis dans
ces domaines. Elle n‘est pas une synthèse de plusieurs disciplines, mais
plutôt une discipline entièrement nouvelle puisant ses racines dans le
passé. Seul l‘effort permanent du génie créatif humain l‘a rendue
accessible au grand public de nos jours.

Les machines à
calculer

Les automates
Les machines
programmables

Les trois grandes


lignes de pensée

Figure I.1 : Les trois grandes lignes de pensée de l’histoire de


l’informatique

II.1.1 Les machines à calculer

La Pascaline de Pascal, 17ème siècle. Pascal invente la Pascaline,


première machine à calculer (elle exécute seulement l‘addition et la
soustraction), pour les calculs de son père.

La machine multiplicatrice de Leibniz, 17ème siècle. Leibniz améliore la


machine de Pascal pour avoir les quatre opérations de base (+,-,*,/).

Informatique générale Page 8


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

II.1.2 Les automates


Les automates, les horloges astronomiques, les machines militaires dès le
12ème siècle.
Un automate est un dispositif se comportant de manière automatique,
c'est-à-dire sans intervention d'un humain. Ce comportement peut être figé,
le système fera toujours la même chose, ou bien peut s'adapter à son
environnement.

a) En mécanique
Dans le domaine de la mécanique, on nomme automate un appareil
renfermant divers dispositifs mécaniques et/ou électriques, qui lui
permettent d'exécuter une séquence déterminée d'opérations de manière
synchronisée.

L'automate est donc un objet programmé et doté d'une mémoire. Le


support en est une came (organe mécanique permettant de transformer un
mouvement de rotation en mouvement de translation ou de rotation) dont
la lecture et la transmission des informations sont assurées par les mêmes
systèmes mécaniques et physiques développés dans l'Antiquité : leviers,
poulies, courroies, engrenages, compression/dilatation des gaz, mécanique
des fluides. Ils se sont beaucoup développés avec les progrès de
l'horlogerie. Ce terme désigne en particulier une machine qui reproduit le
mouvement et les attitudes d'un être vivant (Vaucanson (français), Jacquet-
Droz (suisse)).

Exemples

Informatique générale Page 9


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.2. : Le canard de Vaucanson Figure I.3. Le mécanisme du canard mécanique


de Vaucanson.

Figure I.4. : Horloge ancienne Figure I.5. L‘automate « joueur d'échec »


de von Kempelen

Figure I.6 : Les automates Jacquet-Droz (suisse)

b) En informatique

Dans le domaine de l'informatique, on nomme automate une machine à


traiter de l'information. Par opposition à la notion de fonction continue,
cette information est de nature discrète: nombres entiers, par exemple 0 ou
1, caractères "a, b, c ...". Un automate est caractérisé par :

Informatique générale Page 10


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 un ensemble de variables discrètes d'entrée, de sortie et d'états


internes.
 deux fonctions discrètes: l'une déterminant les sorties en fonction des
entrées et de l'état interne au temps précédent, l'autre le nouvel état
interne en fonction des entrées et de l'état interne au temps précédent.
Ces fonctions sont appliquées à des intervalles de temps fixes: le
temps est donc lui aussi discrétisé.
Exemples:
 Les portes logiques, ET, OU, OU exclusif... Une porte ET, par
exemple, donne en sortie la variable 1 si au moins une de ses entrées
reçoit un signal 1 ; sinon elle donne 0.
 Les diverses composantes de l'unité centrale d'un ordinateur, par
exemple de l'Unité Logique et Arithmétique, sont des automates.
 la machine de Turing est un automate, elle fait partie des automates
accepteurs de chaines de caractères. Ceux-ci peuvent se classer en
différents modèles formels (voir par exemple : les automates finis,
les automates à pile, la machine de Turing).
Les champs d'application de la notion d'automate sont immenses:
mathématiques discrètes, informatique théorique aussi bien théorie de la
compilation qu'informatique parallèle, systèmes complexes (automates
cellulaires et théorie de l'auto-organisation et de l'émergence), etc. La
notion d'automate a émergé des besoins de programmation relatifs à
l'analyse syntaxique : elle permettait de remplacer par des données - faciles
à modifier - et un programme de cheminement unique ce qui aurait
demandé un programme bien plus complexe et surtout bien plus délicat à
maintenir par la suite (ce principe a été ensuite celui des systèmes experts).
La métalangue de Backus rend plus rigoureuse l'expression d'automates, et
facilite leur élaboration par des programmes comme lex et yacc. Elle a
donné lieu aussi à plusieurs travaux théoriques qui n'ont pas toujours eu de
retombée pratique évidente (nécessitant l'hypothèse d'une mémoire infinie,
par exemple).

Informatique générale Page 11


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.7. : Exemple d‘un diagramme d‘automate fini

c) En langage courant

Dans le langage courant, on qualifie familièrement automate une personne


qui agit mécaniquement, soit d'une manière inconsciente (somnambule),
soit sous l'impulsion d'une volonté extérieure.

Le terme peut aussi désigner un robot. Cependant, quelle est la différence


entre robots et automates ? La différence essentielle entre un robot et un
automate est liée à son principe de fonctionnement :

 un robot dispose d‘un ou de plusieurs bras articulés alors qu‘un


automate pousse les boîtes sur des canaux prévus à cet effet ;
 l‘automate traite plusieurs demandes d‘éjection simultanément alors
que le robot traite les demandes de manière séquentielle (il est de ce
fait plus lent à l‘éjection) ;
 à la différence de l‘automate, le robot peut également ranger les
commandes.

Informatique générale Page 12


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

1.3 Les machines programmables

Le métier à tisser de Jacquard, 1752-1834.

Figure I.8. : Les métiers à tisser Figure I.9. : Mécanisme Jacquard


Au Musée des arts et métiers
de Joseph-Marie Jacquard

Le Métier Jacquard est un métier à tisser mis au point par le lyonnais


Joseph Marie Jacquard en 1801. La machine Jacquard combine les
techniques des aiguilles de Basile Bouchon, les cartes perforées de Falcon
et du cylindre de Vaucanson. Cette utilisation de cartes perforées fait qu'il
est parfois considéré comme l'ancêtre de l'ordinateur.

Figure I.10 : Carte perforée à 80 colonnes. Figure I.11 : Cartes perforées pour le métier
Jacquard.

Les cartes perforées guident les crochets qui soulèvent les fils de chaînes.
Elles permettent de faire des motifs compliqués. Grâce à lui, il est possible
pour un seul ouvrier de manipuler le métier à tisser, au lieu de plusieurs
auparavant. À Lyon, le métier Jacquard fut mal reçu par les ouvriers de la
soie (les Canuts) qui voyaient en lui une cause possible de chômage. C'est
la cause de la Révolte des Canuts. Les ouvriers cassent les machines. À
l'origine, Jacquard travailla sur ce projet afin de limiter le travail des
enfants, qui étaient souvent employés comme aides par leurs parents
Informatique générale Page 13
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

tisseurs. Mais il regretta toute sa vie les conséquences sociales de cette


innovation. En effet, les enfants durent trouver du travail ailleurs dans des
usines où les conditions étaient plus difficiles. En parler lyonnais, ce métier
est parfois appelé bistanclaque (métier à tisser utilisé par les canuts
(ouvrier tisserand de soie travaillant sur un métier à tisser, au XIXème
siècle.)).

Les métiers Jacquard traditionnels sont encore utilisés pour des motifs
complexes comme le brocart (étoffe de soie brochée d‘or ou d‘argent) ou le
damas (étoffe de soie à fleurs ou à dessins en relief où le satin et le taffetas
sont mêlées ensemble et qui se fabriquait originairement à Damas, en
Syrie ; les fleurs sont en satin à l‘endroit et forment le taffetas et le fond de
l‘envers, et le taffetas qui fait le fond à l‘endroit est le satin de l‘envers) ,
tandis que les métiers Jacquard actuels, de grandes dimensions et
entièrement automatisés, produisent de grandes quantités de tissus à
motifs.

De nos jours, les métiers Jacquard, sous une forme modernisée, produisent
la plupart des tissus à motifs pour l'habillement, l'ameublement, le linge de
maison, etc.

Ce fut le début de commercialisation des machines mécaniques


scientifiques (usage militaire en général).

Babbage : invente la première machine analytique programmable.

Bref, nous pouvons schématiser l‘histoire de l‘informatique par la figure


suivante :

Informatique générale Page 14


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.12 : Histoire de l‘informatique

II.2. Les générations de matériels

On admet généralement que l'ère de l'informatique qui couvre peu de


décennies se divise en plusieurs générations essentiellement marquées par
des avancées technologiques telles que nous révèle la figure ci-après :

Deuxième
génération
1955-1965

Première
génération Troisième
1945-1954 génération
1966-1973

Quatrième
génération
1974 - ?
Les générations
de matériels

Figure I.13 : Générations de matériels informatiques


Informatique générale Page 15
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

II.2.1 Première génération 1945-1954

C‘est la génération de l’informatique scientifique et militaire. Il faut


résoudre les problèmes des calculs répétitifs. Création de langages surtout
scientifiques avec succès et échecs dans le but de résoudre les problèmes
précédents.
Technologie lourde (Tube et tore de ferrite), chaque tube représentait un «
bit » dont la valeur est 1 ou 0 selon que le tube est allumé ou étend. Cette
technologie avait beaucoup d‘inconvénients dont :
- problèmes de place (encombrement de la mémoire centrale)
- consommation électrique
- éclatement des tubes sous l‘effet de la chaleur (des pannes)
- très grandes nations seules possèdent l‘outil informatique.

II.2.2 Deuxième génération 1955-1965

C‘est la naissance de l’informatique de gestion.


Nouvelle technologie basée sur le transistor et le circuit imprimé. Le
langage Fortran règne en maître incontesté. Le langage de programmation
Cobol orienté gestion, devient un concurrent de Fortran.
Avantages :
- Diminution de l‘encombrement de la mémoire centrale
- Réduction de la consommation électrique et de la chaleur
- Accroissement de la fiabilité (moins de pannes)
- Les nations riches et les très grandes entreprises accèdent à l’outil
informatique.

II.2.3 Troisième génération 1966-1973

C‘est la naissance du circuit intégré.


Nouvelle technologie basée sur les transistors et le circuit intégré montés
sur des puces en silicium sur lesquelles on va essayer de concentrer le
maximum des transistors.
On a donc connus successivement des niveaux d‘intégrations suivants :
- SSI (Small Scale Integration)
- MSI (Midle Scale Integration)

Avantages :
- Les ordinateurs occupent moins de volume,
- consomment moins d‘électricité

Informatique générale Page 16


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

- sont plus rapides. Les ordinateurs sont utilisés le plus souvent pour
des applications de gestion.
- Élimination quasi-totale des pannes
- Les PME et PMI de tous les pays peuvent se procurer des matériels
informatiques.

II.2.4 Quatrième génération à partir de 1974 - ?


La mémoire centrale est composée des circuits densément concentrés :
On a donc connu les niveaux d‘intégration suivants :
- LSI (Large Scale Integration)
- VLSI (Very Large Integration)

Avantages
- Amélioration de tous les avantages des machines de la 3 ème
génération.
- Miniaturisation accentuée.

Et c‘est ainsi qu‘on est arrivé à la naissance de la micro-informatique. La


création des microprocesseurs permet la naissance de la micro-
informatique (le micro-ordinateur Micral de R2E est inventé par un
français François Grenelle en 1973). Steve Jobs (Apple) invente un
nouveau concept vers la fin des années 70 en recopiant et en
commercialisant les idées de Xerox parc à travers le Macintosh et son
interface graphique.
Un individu peut actuellement acheter son micro-ordinateur dans un
supermarché.

Voici, le tableau synthèse :

Informatique générale Page 17


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Tableau I.14. : Tableau synoptique des générations d’ordinateurs

II.3. L'ordinateur

II.3.1. Définition

Un ordinateur est une machine électronique dotée d'une unité de


traitement lui permettant d'exécuter des programmes enregistrés. Cette
machine permet de traiter automatiquement les données, ou informations,
selon des séquences d'instructions prédéfinies appelées aussi programmes.

Elle interagit avec l'environnement grâce à des périphériques comme le


moniteur, le clavier, la souris, l'imprimante, le modem, le lecteur de
CD ou DVD, le flash disk (liste non-exhaustive). Les ordinateurs peuvent
être classés selon plusieurs critères (domaine d'application, taille ou
architecture).

Dans un sens tout public, un ordinateur (est une unité de fonctionnement


autonome, qui comprend :
- une Unité Centrale (U.C.)
- un certain nombre de périphériques
- un certain nombre de logiciels de base.

Informatique générale Page 18


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

L‘ensemble de ses éléments constitue une unité de travail. Chaque unité de


travail va avoir une configuration qui va dépendre de ses utilisateurs.

La technologie actuelle d'ordinateurs date du milieu du xxe siècle. Dans


cette technologie, un ordinateur est un ensemble de circuits électroniques
qui manipulent des données sous forme binaire.

Question : Quel est le rôle de l‘ordinateur ?

L‘ordinateur a pour rôle :


- le traitement d‘informations provenant de données par
l‘intermédiaire des périphériques d‘entrées et de fournir les
résultats de ces traitements aux périphériques de sortie.

Exemple : (algorithmique) Comment calculer la surface d‘un rectangle ?

Les données : La longueur et la largeur du rectangle.


Le résultat : La surface du rectangle.
Le traitement : surface = longueur * largeur.

L‘ordonnancement des tâches à accomplir par le programme sur


l‘ordinateur sera le suivant :

 La saisie des valeurs de la longueur et de la largeur par un


périphérique d‘entrée.
 Le calcul par le processeur de la surface.
 La restitution du résultat par un périphérique de sortie.

Les séquences de traitement pré-informatisées (l‘algorithme).


Saisir au clavier (longueur, largeur)
Calculer (surface = longueur * largeur)
Afficher à l‘écran (surface)

II.3.2. Historique

En 1936, la publication de l'article fondateur de la science informatique


« On Computable Numbers with an Application to the
Entscheidungsproblem » par Alan Turing allait donner le coup d'envoi à
la création de l'ordinateur programmable. Il y présente sa machine de

Informatique générale Page 19


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Turing, le premier calculateur universel programmable, et invente les


concepts de programmation et de programme.

Plusieurs définitions formelles proches les unes des autres peuvent être
données d'une machine de Turing. L'une d'elle, relativement courante, est
choisie ici.

Une machine de Turing est un septuplet (Q, Γ, B, Σ, q0, δ, F) où

 Q est un ensemble fini d'états ;


 Γ est l'alphabet de travail des symboles de la bande;
 est un symbole particulier (dit blanc) ;
 Σ est l'alphabet des symboles en entrée ( );
 est l'état initial ;
 est la fonction de transition ;
 est l'ensemble des états acceptants (ou finaux, terminaux).

Les flèches dans la définition de δ représentent les deux déplacements


possibles de la tête de lecture, à savoir le déplacement à gauche et le
déplacement à droite. La signification de cette fonction de transition peut
être expliquée sur l'exemple suivant : signifie que si la
machine de Turing est dans l'état q1 et qu'elle lit le symbole x, elle écrit y à
la place de x, va dans l'état q2, et déplace sa tête de lecture vers la gauche.

Le fonctionnement de la machine de Turing est alors le suivant. À chaque


étape de son calcul, la machine évolue en fonction de l'état dans lequel elle
se trouve, et du symbole inscrit dans la case du ruban où se trouve la tête
de lecture. Ces deux informations permettent la mise à jour de l'état de la
machine grâce à la fonction de transition. À l'instant initial, la machine se
trouve dans l'état q0, et le mot inscrit sur le ruban est l'entrée du
programme. La machine s'arrête lorsqu'elle rentre dans un état terminal. Le
résultat du calcul est alors le mot inscrit sur le ruban.

Turing publie ensuite un texte de 35 pages où il a conçu une machine


imaginaire capable d'effectuer tout calcul à partir d'un code binaire en 0 et
1. Il affirme que ceci va permettre de mettre en œuvre un programme
illimité de calculs. Il suggère que cette machine pourrait être réelle et
pourrait être programmée à travailler en 0 et 1. Le résultat des problèmes
traités serait impossible à distinguer des résultats d'un cerveau humain.
C'est la naissance de l'intelligence artificielle, car le calcul est le même,
quel que soit l'objet, machine ou homme, qui le fait. Calculer est une

Informatique générale Page 20


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

fonction multi réalisable par l'homme ou la machine. Le fait qu'une


opération soit simulable par une machine, c'est semblable au mécanisme,
mais ce qui change, ce sont les mécanismes de « computation »
(computer).

Von Neumann s'oppose à Skinner lors d'un séminaire sur le thème :


mécanismes cérébraux dans le comportement. Il est le premier à utiliser
le mot « cybernétique » (vient de « gouvernail », le cerveau gouverne,
désigne la science de tout système capable d'autorégulation et de
communication, comme les êtres humains). Skinner veut restaurer le
béhaviorisme (étude objective du comportement, refusant l‘introspection
(observation intérieure), ramenant les conduites à une chaine de stimuli et
de réponses). Von Neumann veut concevoir un programme enregistré et
programmé dans la machine : c'est la naissance du premier ordinateur. En
1951, est organisé à Paris, par le CNRS, le colloque de la machine à
calculer : c'est la naissance de la psychologie cognitive conçue comme
computation.

Peu avant la Seconde Guerre mondiale, apparurent les premières


calculatrices électromécaniques, construites selon les idées d'Alan Turing.
Les machines furent vite supplantées par les premiers calculateurs
électroniques, nettement plus performants.

Le premier ordinateur fonctionnant en langage binaire fut le Colossus,


conçu lors de la Seconde Guerre Mondiale, il n'était pas Turing-complet
bien qu'Alan Turing ait travaillé au projet. À la fin de la guerre, il fut
démonté et caché à cause de son importance stratégique. L'ENIAC, mis en
service en 1946, est le premier ordinateur entièrement électronique
construit pour être Turing-complet.

Le mot ordinateur fut introduit par IBM (International Business


Machines Corporation) France en 1955. François Girard, alors
responsable du service publicité de l'entreprise, eut l'idée de consulter son
ancien professeur de lettres à Paris, Jacques Perret, afin de lui demander de
proposer un mot caractérisant le mieux possible ce que l'on appelait
vulgairement un calculateur (traduction littérale du mot anglais
« computer »). Ce dernier proposa « ordinateur », un mot tombé en
désuétude désignant anciennement un ordonnateur, voire la notion d'ordre
ecclésiastique dans l'église catholique (ordinant). Le professeur suggéra
plus précisément « ordinatrice électronique », le féminin ayant pu
permettre, selon lui, de mieux distinguer l'usage religieux de l'usage
Informatique générale Page 21
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

comptable du mot. Le premier ordinateur multitâche est le Bull Gamma 60


en 1958.

Le premier ordinateur dit familial est le Apple II, lancé en janvier 1977. Il
a été suivi de nombreux autres, notamment l'Atari 400 en 1979, l'Hector et
le Sinclair ZX 81 en 1981, le Commodore 64 en 1982, l'Oric-1 en 1983,
l'Apple IIe, l'Amstrad CPC 464 en 1984 (suivi des 664 puis 6128).

Figure I.16 : Colossus Mark II Figure I.17: L'ENIAC

Figure I.18 : Un ordinateur Bull-Micral P2 Figure I.19 : Un ordinateur Apple II en 1977


français en 1972

Informatique générale Page 22


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.20 : Figure d‘un Atari 400 en 1979 Figure I.21 : Figure d‘un Atari 400 en 1987

Figure I.22 : Figure d‘un Atari 400 en 1982 Figure I23 : Figure d‘un Apple IIe

Figure I.24 : Figure d‘un Amstrad CPC 464 et son moniteur couleur

II.3.3. Utilité de l’ordinateur

Un ordinateur est une machine à traiter de l‘information. L‘information


est fournie sous forme de données traitées par des programmes (exécutés
par des ordinateurs).
Les ordinateurs furent d'abord utilisés pour le calcul (en nombres entiers
d'abord, puis flottants i.e. nombres à virgule). On ne peut cependant les
assimiler à de simples calculateurs : en effet, le résultat du traitement d'un

Informatique générale Page 23


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

ordinateur peut être non seulement une série de nombres, mais aussi un
nouveau programme (utilisable par cet ordinateur ou par un autre).

SCHEMA de BASE d’un ORDINATEUR


(type VON NEUMANN)
Processeur

U U
Périphériques Mémoire centrale Périphériques
d'entrées E E de sorties

Unité Unités d'échange


Centrale

Périphériques
d'entrées/sorties

 Dans l'architecture de von Neumann, les données sont banalisées


et peuvent être interprétées indifféremment comme des nombres, des
instructions, des valeurs logiques ou tout symbole défini
arbitrairement (lettre de l‘alphabet, par exemple).

 Le calcul représente une des applications possibles. Dans ce cas, les


données sont traitées comme des nombres.
 L‘ordinateur est utilisé aussi pour ses possibilités d'organisation de
l’information, entre autres sur des périphériques de stockage
magnétique. On a calculé à la fin des années 1980 que sans les
ordinateurs il faudrait toute la population française juste pour faire
dans ce pays le seul travail des banques.
o Cette capacité d‘organiser les informations a généralisé l‘usage
du traitement de texte dans le grand public ;
o la gestion des bases de données relationnelles permet
également de retrouver et de consolider des informations

Informatique générale Page 24


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

réparties vues par l'utilisateur comme plusieurs tables


indépendantes.

Cette création d'un néologisme (cette typologie) fut à l'origine de


traductions multiples des expressions Super computer, superordinateur ou
supercalculateur, et Quantum computer, calculateur quantique ou
ordinateur quantique. Dans ce dernier cas, l'utilisation du mot
« ordinateur » est justement surfaite car les possibilités envisageables pour
le calcul quantique sont loin de la polyvalence d'un « ordinateur ».

L‘expérience a appris à distinguer dans un ordinateur deux aspects, dont le


second avait été au départ sous-estimé :

 l’architecture physique, matérielle (alias hardware ou hard) ;


 l’architecture logicielle (alias software ou soft) ; un ordinateur très
avancé techniquement pour son époque comme le Gamma 60 de la
compagnie Bull n‘eut pas le succès attendu, pour la simple raison
qu‘il existait peu de moyens de mettre en œuvre commodément ses
possibilités techniques. Le logiciel - et son complément les services
(formation, maintenance, ...) - forment depuis le milieu des années
1980 l‘essentiel des coûts d‘équipement informatique, le matériel n‘y
ayant qu‘une part minoritaire.

II.3.4. Architectures et fonctionnement d’un ordinateur

Parmi toutes les machines inventées par l'Homme, l'ordinateur est celle qui
se rapproche le plus du concept anthropologique suivant :

Organe d'entrée. Organe de traitement de l'information. Organe de


sortie

Chez l'Homme, les organes d'entrée sont les cinq sens, l'organe de
traitement est le cerveau dont les logiciels sont l'apprentissage avec des
mises à jour constantes en cours de vie, puis les organes de sortie sont les
muscles. Pour les ordinateurs modernes, les organes d'entrée sont le clavier
et la souris et les organes de sortie, l'écran, l'imprimante, le graveur de
DVD, etc.

Les techniques utilisées pour fabriquer ces machines ont énormément


changé depuis les années 1940 et sont devenues une technologie (c‘est-à-
Informatique générale Page 25
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

dire un ensemble industriel organisé autour de techniques) à part entière


depuis les années 1970. Beaucoup utilisent encore les concepts définis par
John von Neumann, bien que cette architecture soit en régression : les
programmes ne se modifient plus guère eux-mêmes (ce qui serait considéré
comme une mauvaise pratique de programmation), et le matériel prend en
compte cette nouvelle donne en séparant aujourd'hui nettement le stockage
des instructions et des données, y compris dans les caches.

II.3.4.1. Qu’entend-t-on par architecture ?

L'architecture d'un système à microprocesseur représente l‘organisation de


ses différentes unités et de leurs interconnexions. Le choix d'une
architecture est toujours le résultat d'un compromis :
- entre performances et coûts
- entre efficacité et facilité de construction
- entre performances d'ensemble et facilité de programmation
- etc …

II.3.4.2. Qu’est-ce qu’un microprocesseur ?

Un microprocesseur est un circuit intégré complexe. Il résulte de


l‘intégration sur une puce de fonctions logiques combinatoires (logiques
et/ou arithmétique) et séquentielles (registres, compteur, etc…). Il est
capable d'interpréter et d'exécuter les instructions d'un programme. Son
domaine d‘utilisation est donc presque illimité.
Le concept de microprocesseur a été créé par la Société Intel. Cette
Société, créée en 1968, était spécialisée dans la conception et la fabrication
de puces mémoire. À la demande de deux de ses clients — fabricants de
calculatrices et de terminaux — Intel étudia une unité de calcul
implémentée sur une seule puce. Ceci donna naissance, en 1971, au
premier microprocesseur, le 4004, qui était une unité de calcul 4 bits
fonctionnant à 108 kHz. Il résultait de l‘intégration d‘environ 2300
transistors.

Remarque :

La réalisation de circuits intégrés de plus en plus complexe a été rendue


possible par l‘apparition du transistor en 1947. Il a fallu attendre 1958 pour
voir apparaître le 1ier circuit intégré réalisé par Texas Instrument.

Informatique générale Page 26


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.25 : Figure d‘un Microprocesseur

II.3.4.3. Rappels

Les informations traitées par un microprocesseur sont de différents types


(nombres, instructions, images, vidéo, etc…) mais elles sont toujours
représentées sous un format binaire. Seul le codage changera suivant les
différents types de données à traiter. Elles sont représentées physiquement
par 2 niveaux de tensions différents.
En binaire, une information élémentaire est appelé bit (binary digit) et ne
peut prendre que deux valeurs différentes : 0 ou 1.
Une information plus complexe sera codée sur plusieurs bits. On appelle
cet ensemble un mot.
Un mot de 8 bits est appelé un octet.

a) Représentation d’un nombre entier en binaire :

Les nombres sont exprimés par des chiffres pouvant prendre deux valeurs
0 ou 1. A chaque chiffre est affecté un poids exprimé en puissance de 2.
Ex : ( 101 )2 = 1  2² + 0  21 + 1 20 = ( 5 )10.

b) Représentation d’un nombre entier en hexadécimal :

Lorsqu‘une donnée est représentée sur plus de 4 bits, on préfère souvent


l‘exprimer en hexadécimal. Les nombres sont exprimés par des chiffres et
des lettres pouvant prendre 16 valeurs :
0123456789ABCDEF
A chaque chiffre est affecté un poids exprimé en puissance de 16.

Informatique générale Page 27


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Ex : (9A)16 = 9161 + A160 = 9161 + 10160 = (154)10

Attention !! :

1 kilobit = 210 bit = 1024 bit


1 mégabit = 210 kbit = 1024 kbit
1 gigabit = 210 Mbit = 1024 Mbit
1 térabit = 210 Gbit = 1024 Gbit

II.3.4.4. Où trouve-t-on des systèmes à microprocesseur ?

Les applications des systèmes à microprocesseurs sont multiples et variées :


- Ordinateur, PDA
- console de jeux
- calculatrice
- télévision
- téléphone portable
- distributeur automatique d‘argent
- robotique
- lecteur carte à puce, code barre
- automobile
- instrumentation
- etc…

Figure I.26 : Exemples de systèmes à microprocesseurs

II.3.4.5. Architecture de base

II.3.4.5.1. Modèle de von Neumann

Informatique générale Page 28


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Pour traiter une information, un microprocesseur seul ne suffit pas, il faut


l‘insérer au sein d‘un système minimum de traitement programmé de
l‘information. John Von Neumann est à l'origine d'un modèle de machine
universelle de traitement programmé de l‘information (1946). Cette
architecture sert de base à la plupart des systèmes à microprocesseur
actuel. Elle est composée des éléments suivants :

 une unité centrale


 une mémoire principale
 des interfaces d‘entrées/sorties

Les différents organes du système sont reliés par des voies de


communication appelées bus.

UNITE MEMOIRE INTERFACES


CENTRALE PRINCIPALE E/S

BUS

Figure I.25 : Modèle de Von Neumann

II.3.4.5.1.1. L’unité centrale

Elle est composée par le microprocesseur qui est chargé d‘interpréter et


d‘exécuter les instructions d‘un programme, de lire ou de sauvegarder les
résultats dans la mémoire et de communiquer avec les unités d‘échange.
Toutes les activités du microprocesseur sont cadencées par une horloge.
On caractérise le microprocesseur par :
 sa fréquence d‘horloge : en MHz ou GHz
 le nombre d‘instructions par secondes qu‘il est capable d‘exécuter :
en MIPS (unité de mesure servant à évaluer la puissance d‘un
microprocesseur).
Informatique générale Page 29
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 la taille des données qu‘il est capable de traiter : en bits

II.3.4.5.1.2. La mémoire principale

Elle contient les instructions du ou des programmes en cours d‘exécution


et les données associées à ce programme. Physiquement, elle se décompose
souvent en :
 une mémoire morte (ROM = Read Only Memory) chargée de stocker
le programme. C‘est une mémoire à lecture seule.
 une mémoire vive (RAM = Random Access Memory) chargée de
stocker les données intermédiaires ou les résultats de calculs. On
peut lire ou écrire des données dedans, ces données sont perdues à la
mise hors tension.

Remarque :

Les disques durs, disquettes, Flash, Dvd, Cd-rom, etc… sont des
périphériques de stockage et sont considérés comme des mémoires
secondaires.

II.3.4.5.1.3. Les interfaces d’entrées/sorties

Elles permettent d‘assurer la communication entre le microprocesseur et


les périphériques (Capteur, clavier, moniteur ou afficheur, imprimante,
modem, etc…).

II.3.4.5.1.4. Les bus

Un bus est un ensemble de fils qui assure la transmission du même type


d‘information. On retrouve trois types de bus véhiculant des informations
en parallèle dans un système de traitement programmé de l‘information :
- un bus de données : bidirectionnel qui assure le transfert des
informations entre le microprocesseur et son environnement, et
inversement. Son nombre de lignes est égal à la capacité de traitement du
microprocesseur.
- un bus d'adresses: unidirectionnel qui permet la sélection des
informations à traiter dans un espace mémoire (ou espace adressable) qui

Informatique générale Page 30


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

peut avoir 2n emplacements, avec n = nombre de conducteurs du bus


d'adresses.
- un bus de commande: constitué par quelques conducteurs qui assurent la
synchronisation des flux d'informations sur les bus des données et des
adresses.

II.3.4.5.1.5. Décodage d’adresses


La multiplication des périphériques autour du microprocesseur oblige la
présence d‘un décodeur d’adresse chargé d‘aiguiller les données
présentes sur le bus de données.
En effet, le microprocesseur peut communiquer avec les différentes
mémoires et les différents boîtiers d‘interface. Ceux-ci sont tous reliés sur
le même bus de données et afin d‘éviter des conflits, un seul composant
doit être sélectionné à la fois.
Lorsqu‘on réalise un système micro programmé, on attribue donc à chaque
périphérique une zone d‘adresse et une fonction « décodage d‘adresse » est
donc nécessaire afin de fournir les signaux de sélection de chacun des
composants.
DECODEUR
D‘ADDRESSES

BUS D’ADRESSES

BUD DE COMMANDES

UNITE MEMOIRE INTERFACES


CENTRALE PRINCIPALE E/S

BUS DE DONNEES

Figure I.27 : Principe du décodeur d‘adresses

Informatique générale Page 31


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Remarque : lorsqu‘un composant n‘est pas sélectionné, ses sorties sont


mises à l‘état « haute impédance » afin de ne pas perturber les données
circulant sur le bus (elle présente une impédance de sortie très élevée =
circuit ouvert).

II.3.4.6. Les mémoires

Une mémoire est un circuit à semi-conducteur permettant d‘enregistrer, de


conserver et de restituer des informations (instructions et variables). C‘est
cette capacité de mémorisation qui explique la polyvalence des systèmes
numériques et leur adaptabilité à de nombreuses situations. Les
informations peuvent être écrites ou lues. Il y a écriture lorsqu'on
enregistre des informations en mémoire, lecture lorsqu'on récupère des
informations précédemment enregistrées.

II.3.4.6.1. Organisation d’une mémoire

Une mémoire peut être représentée comme une armoire de rangement


constituée de différents tiroirs. Chaque tiroir représente alors une case
mémoire qui peut contenir un seul élément : des données. Le nombre de
cases mémoires pouvant être très élevé, il est alors nécessaire de pouvoir
les identifier par un numéro. Ce numéro est appelé adresse. Chaque
donnée devient alors accessible grâce à son adresse

Adresse Case mémoire

7 = 111

6 = 110

5 = 101

4 = 100

3 = 011

2 = 010

1 = 001

0 = 000
0 = 000 0001 1010

Informatique générale Page 32


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Avec une adresse de n bits il est possible de référencer au plus 2n cases


mémoire. Chaque case est remplie par un mot de données (sa longueur m
est toujours une puissance de 2). Le nombre de fils d‘adresses d‘un boîtier
mémoire définit donc le nombre de cases mémoire que comprend le
boîtier. Le nombre de fils de données définit la taille des données que l‘on
peut sauvegarder dans chaque case mémoire.

En plus du bus d‘adresses et du bus de données, un boîtier mémoire


comprend une entrée de commande qui permet de définir le type d‘action
que l‘on effectue avec la mémoire (lecture/écriture) et une entrée de
sélection qui permet de mettre les entrées/sorties du boîtier en haute
impédance.

On peut donc schématiser un circuit mémoire par la figure suivante où l‘on


peut distinguer :

Données
en n bits

MEMOIRE Données en m bits


R/W

CS

Figure I.27 : Schéma d‘un circuit mémoire

 les entrées d‘adresses


 les entrées de données
 les sorties de données
 les entrées de commandes :
- une entrée de sélection de lecture ou d‘écriture. ( R/ W )
- une entrée de sélection du circuit. ( CS )

Une opération de lecture ou d‘écriture de la mémoire suit toujours le même


cycle :

1. sélection de l‘adresse
2. choix de l‘opération à effectuer (R / W )

Informatique générale Page 33


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

3. sélection de la mémoire ( CS = 0 )
4. lecture ou écriture la donnée

Remarque :

Les entrées et sorties de données sont très souvent regroupées sur des
bornes bidirectionnelles.

II.3.4.6.2 Caractéristiques d’une mémoire

 La capacité : c‘est le nombre total de bits que contient la mémoire.


Elle s‘exprime aussi souvent en octet.
 Le format des données : c‘est le nombre de bits que l‘on peut
mémoriser par case mémoire. On dit aussi que c‘est la largeur du mot
mémorisable.
 Le temps d’accès : c‘est le temps qui s'écoule entre l'instant où a été
lancée une opération de lecture/écriture en mémoire et l'instant où la
première information est disponible sur le bus de données.
 Le temps de cycle : il représente l'intervalle minimum qui doit
séparer deux demandes successives de lecture ou d'écriture.
 Le débit : c‘est le nombre maximum d'informations lues ou écrites
par seconde.
 Volatilité : elle caractérise la permanence des informations dans la
mémoire. L'information stockée est volatile si elle risque d'être
altérée par un défaut d'alimentation électrique et non volatile dans le
cas contraire.

Remarque :

Les mémoires utilisées pour réaliser la mémoire principale d‘un système à


microprocesseur sont des mémoires à semi-conducteur. On a vu que dans
ce type de mémoire, on accède directement à n'importe quelle information
dont on connaît l'adresse et que le temps mis pour obtenir cette information
ne dépend pas de l'adresse. On dira que l'accès à une telle mémoire est
aléatoire ou direct.
A l'inverse, pour accéder à une information sur bande magnétique, il faut
dérouler la bande en repérant tous les enregistrements jusqu'à ce que l'on
trouve celui que l'on désire. On dit alors que l'accès à l'information est
séquentiel. Le temps d'accès est variable selon la position de l'information

Informatique générale Page 34


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

recherchée. L'accès peut encore être semi-séquentiel : combinaison des


accès direct et séquentiel.
Pour un disque magnétique par exemple l'accès à la piste est direct, puis
l'accès au secteur est séquentiel.

II.3.4.6.3. Différents types de mémoire

II.3.4.6.3.1 Les mémoires vives (RAM)

Une mémoire vive sert au stockage temporaire de données. Elle doit avoir
un temps de cycle très court pour ne pas ralentir le microprocesseur. Les
mémoires vives sont en général volatiles : elles perdent leurs informations
en cas de coupure d'alimentation. Certaines d'entre elles, ayant une faible
consommation, peuvent être rendues non volatiles par l'adjonction d'une
batterie. Il existe deux grandes familles de mémoires RAM (Random
Acces Memory : mémoire à accès aléatoire) :

 Les RAM statiques


 Les RAM dynamiques
a) Les RAM statiques

Le bit mémoire d'une RAM statique (SRAM) est composé d'une bascule.
Chaque bascule contient entre 4 et 6 transistors. La mémoire vive statique
(SRAM) est beaucoup plus rapide (via des temps d'accès moindre), mais
aussi beaucoup plus chère : elle est utilisée notamment dans les
processeurs comme mémoire cache, ce qui permet d'augmenter les
performances du processeur en réduisant les temps d'accès aux données
(les plus importantes).

b) Les RAM dynamiques

Dans les RAM dynamiques (DRAM), l'information est mémorisée sous la


forme d'une charge électrique stockée dans un condensateur (capacité grille
substrat d'un transistor MOS).

En résumé, il est donc utile de retenir, que plus l'ordinateur possède de


mémoire RAM, et plus il pourra exécuter de programmes en même
temps : je dirais même que plus l'on a de RAM et moins l'ordi rame... ;)

Note : 1 Go (Giga Octets) = 1024 Mo (Méga Octets), l'unité permettant de

Informatique générale Page 35


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

quantifier la quantité de mémoire est l'octet, sachant qu'un octet représente


8 bits, et un bit représente soit un 1 soit un 0 (le fameux langage binaire).

Les américains utilisent le byte, 1 byte = 1 octet = 8 bits, attention de ne


pas confondre bit et byte donc.

Remarques :

Voici un historique de quelques DRAM qui ont ou sont utilisées dans les
PC :

• La DRAM FPM (Fast Page Mode, 1987) : Elle permet d'accéder plus
rapidement à des données en introduisant la notion de page mémoire. (33 à
50 Mhz)
• La DRAM EDO (Extended Data Out, 1995) : Les composants de cette
mémoire permettent de conserver plus longtemps l'information, on peut
donc ainsi espacer les cycles de rafraîchissement. Elle apporte aussi la
possibilité d‘anticiper sur le prochain cycle mémoire. (33 à 50 Mhz)
• La DRAM BEDO (Bursted EDO) : On n'adresse plus chaque unité de
mémoire individuellement lorsqu'il faut y lire ou y écrire des données. On
se contente de transmettre l'adresse de départ du processus de
lecture/écriture et la longueur du bloc de données (Burst). Ce procédé
permet de gagner beaucoup de temps, notamment avec les grands paquets
de données tels qu'on en manipule avec les applications modernes. (66
Mhz)

Figure I.29 : Mémoire DRAM

• La Synchronous DRAM (SDRAM, 1997) : La mémoire SDRAM a pour


particularité de se synchroniser sur une horloge. Les mémoires FPM, EDO
étaient des mémoires asynchrones et elles induisaient des temps d'attentes
lors de la synchronisation. Elle se compose en interne de deux bancs de
mémoire et des données peuvent être lues alternativement sur l'un puis sur
l'autre de ces bancs grâce à un procédé d'entrelacement spécial. Le

Informatique générale Page 36


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

protocole d'attente devient donc tout à fait inutile. Cela lui permet de
supporter des fréquences plus élevées qu‘avant (100 Mhz).

Figure I.30 : Mémoire SDRAM

• La DDR-I ou DDR-SDRAM (Double Data Rate Synchronous DRAM,


2000) : La DDR-SDRAM permet de recevoir ou d'envoyer des données
lors du front montant et du front descendant de l‘horloge. (133 à 200 MHz)

Figure I.31 : Mémoire DDRAM – SDRAM

II.3.4.6.3.2. Les mémoires mortes (ROM)

Pour certaines applications, il est nécessaire de pouvoir conserver des


informations de façon permanente même lorsque l'alimentation électrique
est interrompue. On utilise alors des mémoires mortes ou mémoires à
lecture seule (ROM : Read Only Memory). Ces mémoires sont non
volatiles.
Ces mémoires, contrairement aux RAM, ne peuvent être que lue.
L‘inscription en mémoire des données reste possible mais est appelée
programmation. Suivant le type de ROM, la méthode de programmation
changera. Il existe donc plusieurs types de ROM :

 ROM
 PROM
 EPROM
 EEPROM
 FLASH EPROM.

a) LA ROM

Elle est programmée par le fabricant et son contenu ne peut plus être ni
modifié, ni effacé par l'utilisateur.

Informatique générale Page 37


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

a.1) Structure :

Cette mémoire est composée d'une matrice dont la programmation


s‘effectue en reliant les lignes aux colonnes par des diodes. L'adresse
permet de sélectionner une ligne de la matrice et les données sont alors
reçues sur les colonnes (le nombre de colonnes fixant la taille des mots
mémoire).

a.2) Programmation :

L'utilisateur doit fournir au constructeur un masque indiquant les


emplacements des diodes dans matrice.

a.3) Avantages :

 Densité élevée
 Non volatile
 Mémoire rapide

a.4) Inconvénients :

 Écriture impossible
 Modification impossible (toute erreur est fatale).
 Délai de fabrication ( 3 à 6 semaines)
 Obligation de grandes quantités en raison du coût élevé qu'entraîne la
production du masque et le processus de fabrication.

b) La PROM

C‘est une ROM qui peut être programmée une seule fois par l'utilisateur
(Programmable ROM). La programmation est réalisée à partir d‘un
programmateur spécifique.

b.1) Structure :

Les liaisons à diodes de la ROM sont remplacées par des fusibles pouvant
être détruits ou des jonctions pouvant être court-circuitées.

b.2) Programmation :

Informatique générale Page 38


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Les PROM à fusible sont livrés avec toutes les lignes connectées aux
colonnes (0 en chaque point mémoire). Le processus de programmation
consiste donc à programmer les emplacements des « 1 » en générant des
impulsions de courants par l‘intermédiaire du programmateur ; les fusibles
situés aux points mémoires sélectionnés se retrouvant donc détruits.

Le principe est identique dans les PROM à jonctions sauf que les lignes et
les colonnes sont déconnectées (1 en chaque point mémoire). Le processus
de programmation consiste donc à programmer les emplacements des ‗‘0‘‘
en générant des impulsions de courants par l‘intermédiaire du
programmateur ; les jonctions situées aux points mémoires sélectionnés se
retrouvant court-circuitées par effet d‘avalanche.

b.3) Avantages :

 La même chose que la ROM


 Claquage en quelques minutes
 Coût relativement faible

b.4) Inconvénients :

 Modification impossible (toute erreur est fatale).

c) L’EPROM ou UV-EPROM

Pour faciliter la mise au point d'un programme ou tout simplement


permettre une erreur de programmation, il est intéressant de pouvoir
reprogrammer une PROM. La technique de claquage utilisée dans celles-ci
ne le permet évidemment pas. L'EPROM (Erasable Programmable ROM)
est une PROM qui peut être effacée.

c.1) Structure

Dans une EPROM, le point mémoire est réalisé à partir d‘un transistor
FAMOS (Floating gate Avalanche injection Metal Oxyde Silicium). Ce
transistor MOS a été introduit par Intel en 1971 et a la particularité de
posséder une grille flottante.

c.2) Programmation

Informatique générale Page 39


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

La programmation consiste à piéger des charges dans la grille flottante.


Pour cela, il faut tout d‘abord appliquer une très forte tension entre Grille
et Source. Si l‘on applique ensuite une tension entre D et S, le canal
devient conducteur. Mais comme la tension Grille-Source est très
importante, les électrons sont déviés du canal vers la grille flottante et
capturés par celle-ci. Cette charge se maintient une dizaine d'années en
condition normale.
L‘exposition d‘une vingtaine de minutes à un rayonnement ultraviolet
permet d‘annuler la charge stockée dans la grille flottante. Cet effacement
est reproductible plus d‘un millier de fois. Les boîtiers des EPROM se
caractérisent donc par la présence d‘une petite fenêtre transparente en
quartz qui assure le passage des UV. Afin d‘éviter toute perte accidentelle
de l‘information, il faut obturer la fenêtre d‘effacement lors de l‘utilisation.

c.3) Avantages :
 Reprogrammable et non Volatile

c.4) Inconvénients :

 Impossible de sélectionner une seule cellule à effacer


 Impossible d‘effacer la mémoire in-situ.
 l‘écriture est beaucoup plus lente que sur une RAM. (Environ 1000x)

d) L’EEPROM

L‘EEPROM (Electically EPROM) est une mémoire programmable et


effaçable électriquement.
Elle répond ainsi à l‘inconvénient principal de l‘EPROM et peut être
programmée in situ.

d.1) Structure

Dans une EEPROM, le point mémoire est réalisé à partir d‘un transistor
SAMOS reprenant le même principe que le FAMOS sauf que l‘épaisseur
entre les deux grilles est beaucoup plus faible.

d.2) Programmation

Informatique générale Page 40


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Une forte tension électrique appliquée entre grille et source conduit à la


programmation de la mémoire. Une forte tension inverse provoquera la
libération des électrons et donc l‘effacement de la mémoire.

d.3) Avantages :

 Comportement d'une RAM non Volatile.


 Programmation et effacement mot par mot possible.

d.4) Inconvénients :

 Très lente pour une utilisation en RAM.


 Coût de réalisation.

e) La FLASH EPROM

La mémoire Flash s'apparente à la technologie de l‘EEPROM. Elle est


programmable et effaçable électriquement comme les EEPROM.

e.1) Structure

Il existe deux technologie différentes qui se différencient par l‘organisation


de leurs réseaux mémoire : l‘architecture NOR et NAND. L‘architecture
NOR propose un assemblage des cellules élémentaires de mémorisation en
parallèle avec les lignes de sélection comme dans une EEPROM classique.
L‘architecture NAND propose un assemblage en série de ces mêmes
cellules avec les lignes de sélection. D‘un point de vue pratique, la
différence majeure entre NOR et NAND tient à leurs interfaces. Alors
qu‘une NOR dispose de bus d‘adresses et de données dédiés, la NAND est
dotée d‘une interface d‘E/S indirecte. . Par contre, la structure NAND
autorise une implantation plus dense grâce à une taille de cellule
approximativement 40 % plus petite que la structure NOR.

e.2) Programmation

Si NOR et NAND exploitent toutes deux le même principe de stockage de


charges dans la grille flottante d‘un transistor, l‘organisation de leur réseau
mémoire n‘offre pas la même souplesse d‘utilisation. Les Flash NOR
autorise un adressage aléatoire qui permet de la programmer octet par octet
alors que la Flash NAND autorise un accès séquentiel aux données et

Informatique générale Page 41


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

permettra seulement une programmation par secteur comme sur un disque


dur.

e.3) Avantages

Flash NOR :

 Comportement d'une RAM non Volatile.


 Programmation et effacement mot par mot possible.
 Temps d‘accès faible.

Flash NAND :

 Comportement d'une RAM non Volatile.


 Forte densité d‘intégration � coût réduit.
 Rapidité de l‘écriture/lecture par paquet
 Consommation réduite.

e.4) Inconvénients

Flash NOR :

 Lenteur de l‘écriture/lecture par paquet.


 coût.

Flash NAND :

 Ecriture/lecture par octet impossible.


 Interface E/S indirecte

La Flash EPROM a connu un essor très important ces dernières années


avec le boom de la téléphonie portable et des appareils multimédia (PDA,
appareil photo numérique, lecteur MP3, etc...).

I.3.4.6.4. Critères de choix d’une mémoire

Les principaux critères à retenir d‘une mémoire sont :

 Capacité
 Vitesse

Informatique générale Page 42


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 Consommation
 coût

Remarque :
Quelle quantité de mémoire RAM choisir ?

- 256 Mo, 512 Mo : Il s'agit des anciens ordinateurs Mac. C'est le grand
minimum pour utiliser Mac OS X, les applications risquent d'être lentes, il
vaut mieux ajouter une barrette de 256 Mo si possible.

- 1 Go (soit 1024 Mo) : Le minimum de nos jours, c'est suffisant pour la


bureautique, écouter de la musique ou surfer sur le net.

- 2 Go (soit 2048 Mo) : Idéal pour une utilisation un peu plus intensive
(vidéo, jeux, photo...), et notamment lancer plusieurs applications
gourmandes en mémoire.

- 4 Go (soit 2048 Mo) : Configuration professionnelle (vidéo, retouche


d'image...) ou de joueurs. Le meilleur rapport performance/prix.

- 6 Go et plus : Le top du top, mais c'est hors de prix, sauf pour les
utilisateurs professionnels

II.3.4.6.5 Notion de hiérarchie mémoire

Une mémoire idéale serait une mémoire de grande capacité, capable de


stocker un maximum d‘informations et possédant un temps d‘accès très
faible afin de pouvoir travailler rapidement sur ces informations. Mais il se
trouve que les mémoires de grande capacité sont souvent très lentes et que
les mémoires rapides sont très chères. Et pourtant, la vitesse d‘accès à la
mémoire conditionne dans une large mesure les performances d‘un
système. En effet, c‘est là que se trouve le goulot d’étranglement entre un
microprocesseur capable de traiter des informations très rapidement et une
mémoire beaucoup plus lente (ex : processeur actuel à 3Ghz et mémoire à
400MHz). Or, on n‘a jamais besoin de toutes les informations au même
moment. Afin d‘obtenir le meilleur compromis coût-performance, on
définie donc une hiérarchie mémoire. On utilise des mémoires de faible

Informatique générale Page 43


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

capacité mais très rapide pour stocker les informations dont le


microprocesseur se sert le plus et on utilise des mémoires de capacité
importante mais beaucoup plus lente pour stocker les informations dont le
microprocesseur se sert le moins. Ainsi, plus on s‘éloigne du
microprocesseur et plus la capacité et le temps d‘accès des mémoires vont
augmenter.

+
1 ns
< 400 o

Registre
5 ns 8 ko à 4 Mo suivant
les niveaux

10 ns
MémoireJusqu’à
cache1 Go
2 à 8 Mo
Mémoire principale
5 ms 200 Go
Mémoire d‘appui +

Mémoire de masse Capacité


Vitesse
II.3.5. Architecture de base d’un microprocesseur

Un microprocesseur est construit autour de deux éléments principaux :

 Une unité de commande


 Une unité de traitement
associés à des registres chargées de stocker les différentes informations à
traiter. Ces trois éléments sont reliés entre eux par des bus interne
permettant les échanges d‘informations.

Informatique générale Page 44


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.34 : Le microprocesseur et ses éléments

Remarque :

Il existe deux types de registres :

 les registres d'usage général permettent à l'unité de traitement de


manipuler des données à vitesse élevée. Ils sont connectés au bus de
données interne au microprocesseur.
 les registres d'adresses (pointeurs) connectés sur le bus adresses.

II.3.5.1 L’unité de commande

Elle permet de séquencer le déroulement des instructions. Elle effectue la


recherche en mémoire de l'instruction. Comme chaque instruction est
codée sous forme binaire, elle en assure le décodage pour enfin réaliser son
exécution puis effectue la préparation de l'instruction suivante. Pour cela,
elle est composée par :

 le compteur de programme constitué par un registre dont le


contenu est initialisé avec l'adresse de la première instruction du
programme. Il contient toujours l‘adresse de l‘instruction à exécuter.
 le registre d'instruction et le décodeur d'instruction : chacune des
instructions à exécuter est rangée dans le registre instruction puis est
décodée par le décodeur d‘instruction.
 Bloc logique de commande (ou séquenceur) : Il organise
l'exécution des instructions au rythme d‘une horloge. Il élabore tous
les signaux de synchronisation internes ou externes (bus de
commande) du microprocesseur en fonction des divers signaux de
commande provenant du décodeur d‘instruction ou du registre d‘état
par exemple. Il s'agit d'un automate réalisé soit de façon câblée
(obsolète), soit de façon micro programmée, on parle alors de micro
microprocesseur.

II.3.5.2 L’unité de traitement

C‘est le cœur du microprocesseur. Elle regroupe les circuits qui assurent


les traitements nécessaires à l'exécution des instructions :

Informatique générale Page 45


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 L’Unité Arithmétique et Logique (UAL) est un circuit complexe


qui assure les fonctions logiques (ET, OU, Comparaison, Décalage,
etc…) ou arithmétique (Addition, soustraction).
 Le registre d'état est généralement composé de 8 bits à considérer
individuellement. Chacun de ces bits est un indicateur dont l'état
dépend du résultat de la dernière opération effectuée par l‘UAL. On
les appelle indicateur d’état ou flag ou drapeaux. Dans un
programme le résultat du test de leur état conditionne souvent le
déroulement de la suite du programme. On peut citer par exemple les
indicateurs de :

 retenue (carry : C)
 retenue intermédiaire (Auxiliary-Carry : AC)
 signe (Sign : S)
 débordement (overflow : OV ou V)
 zéro (Z)
 parité (Parity : P)
 Les accumulateurs sont des registres de travail qui servent à stocker
une opérande au début d'une opération arithmétique et le résultat à la
fin de l'opération.

II.3.5.3 Schéma fonctionnel

Figure I.35 : schéma fonctionnel de l‘unité de traitement

II.3.5.4. Cycle d’exécution d’une instruction

Informatique générale Page 46


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Le microprocesseur ne comprend qu‘un certain nombre d‘instructions qui


sont codées en binaire. Le traitement d‘une instruction peut être décomposé
en trois phases.

Phase 1: Recherche de l'instruction à traiter

1. Le PC contient l'adresse de l'instruction suivante du programme. Cette


valeur est placée sur le bus d'adresses par l'unité de commande qui émet un
ordre de lecture.
2. Au bout d'un certain temps (temps d'accès à la mémoire), le contenu de
la case mémoire sélectionnée est disponible sur le bus des données.
3. L'instruction est stockée dans le registre instruction du processeur.

Figure I.36 : schéma de recherche de l‘instruction

Phase 2 : Décodage de l’instruction et recherche de l'opérande

Le registre d'instruction contient maintenant le premier mot de l'instruction


qui peut être codée sur plusieurs mots. Ce premier mot contient le code
opératoire qui définit la nature de l'opération à effectuer (addition,
rotation,...) et le nombre de mots de l'instruction.

1. L'unité de commande transforme l'instruction en une suite de


commandes élémentaires nécessaires au traitement de l'instruction.
2. Si l'instruction nécessite une donnée en provenance de la mémoire,
l'unité de commande récupère sa valeur sur le bus de données.
3. L‘opérande est stocké dans un registre.

Informatique générale Page 47


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.36 : schéma de décodage de l‘instruction

Phase 3 : Exécution de l'instruction

1. Le micro- pà) programme réalisant l'instruction est exécuté.


2. Les drapeaux sont positionnés (registre d'état).
3. L'unité de commande positionne le PC pour l'instruction suivante.

Figure I.36 : schéma de l‘exécution de l‘instruction

II.3.5.5. Jeu d’instructions

II.3.5.5.1 Définition

La première étape de la conception d‘un microprocesseur est la définition


de son jeu d‘instructions. Le jeu d‘instructions décrit l‘ensemble des
opérations élémentaires que le microprocesseur pourra exécuter. Il va donc
en partie déterminer l‘architecture du microprocesseur à réaliser et
notamment celle du séquenceur. A un même jeu d‘instructions peut

Informatique générale Page 48


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

correspondre un grand nombre d‘implémentations différentes du


microprocesseur.

II.3.5.5.2. Type d’instructions

Les instructions que l‘on retrouve dans chaque microprocesseur peuvent


être classées en 4 groupes :

 Transfert de données pour charger ou sauver en mémoire, effectuer


des transferts de
registre à registre, etc…
 Opérations arithmétiques : addition, soustraction, division,
multiplication
 Opérations logiques : ET, OU, NON, NAND, comparaison, test,
etc…
 Contrôle de séquence : branchement, test, etc…

II.3.5.5.3 Codage

Les instructions et leurs opérandes (paramètres) sont stockés en mémoire


principale. La taille totale d‘une instruction (nombre de bits nécessaires
pour la représenter en mémoire) dépend du type d‘instruction et aussi du
type d‘opérande. Chaque instruction est toujours codée sur un nombre
entier d‘octets afin de faciliter son décodage par le processeur. Une
instruction est composée de deux champs :

 le code instruction, qui indique au processeur quelle instruction


réaliser
 le champ opérande qui contient la donnée, ou la référence à une
donnée en mémoire (son adresse).

Exemple :

Code Code
instruction opérande
1001 0011 0011 1110

Le nombre d'instructions du jeu d'instructions est directement lié au format


du code instruction.

Informatique générale Page 49


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Ainsi un octet permet de distinguer au maximum 256 instructions


différentes.

II.3.5.5.4 Mode d’adressage

Un mode d'adressage définit la manière dont le microprocesseur va accéder


à l‘opérande. Les différents modes d'adressage dépendent des
microprocesseurs mais on retrouve en général :

 l'adressage de registre où l‘on traite la donnée contenue dans un


registre
 l'adressage immédiat où l‘on définit immédiatement la valeur de la
donnée
 l'adressage direct où l‘on traite une données en mémoire
Selon le mode d‘adressage de la donnée, une instruction sera codée par 1
ou plusieurs octets.

II.3.5.5.5 Temps d’exécution

Chaque instruction nécessite un certain nombre de cycles d‘horloges pour


s‘effectuer. Le nombre de cycles dépend de la complexité de l‘instruction
et aussi du mode d‘adressage. Il est plus long d‘accéder à la mémoire
principale qu‘à un registre du processeur. La durée d‘un cycle dépend de la
fréquence d‘horloge du séquenceur.

II.3.6. Un exemple - le PC

Le terme PC (Personal Computer) a été introduit en 1981 lorsque la firme


IBM (Internal Business Machines) a commercialisé pour la première fois
un ordinateur personnel destiné à une utilisation familiale.
Depuis, les domaines d‘application du PC ont énormément évolué…. De la
gestion de production à la gestion de systèmes d‘acquisition, en passant par
la reconnaissance de forme ou le traitement de l‘image, ses domaines
d‘utilisation sont extrêmement riches et variés. Pour cela, le PC est défini
par une architecture minimale laissant la liberté à chacun de rajouter les
périphériques d‘entrée/sorties nécessaires à l‘utilisation visée, qu‘elle soit
familiale ou professionnelle. Un PC est composé par une unité centrale
associée à des périphériques (clavier, moniteur, carte d‘acquisition, etc…).

Présentation

Informatique générale Page 50


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.37: schéma de présentation d‘un PC

Modélisation

Figure I.38 : schéma de modélisation d‘un PC

II.3.6.1 L’unité centrale

Elle est composée par :

 La carte mère
 Le microprocesseur
 La mémoire
 La carte vidéo
 Les périphériques internes de stockage

Informatique générale Page 51


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

II.3.6.1.1 La carte mère

La carte mère est l'un des éléments essentiels d'un ordinateur. Elle assure la
connexion physique des différents composants (processeur, mémoire, carte
d'entrées/sorties, ...) par l‘intermédiaire de différents bus (adresses,
données et commande). Plusieurs technologies de bus peuvent se côtoyer
sur une même carte mère. La qualité de la carte mère est vitale puisque la
performance de l‘ordinateur dépend énormément d‘elle. On retrouve
toujours sur une carte mère :

 le chipset : c‘est une interface d‘entrée/sortie. Elle est constituée par


un jeu de plusieurs composants chargé de gérer la communication
entre le microprocesseur et les périphériques. C‘est le lien entre les
différents bus de la carte mère.
 le BIOS (Basic Input Ouput Service) : c‘est un programme
responsable de la gestion du matériel : clavier, écran, disques durs,
liaisons séries et parallèles, etc... Il est sauvegardé dans une mémoire
morte (EEPROM) et agit comme une interface entre le système
d‘exploitation et le matériel.
 l’horloge : elle permet de cadencer le traitement des instructions par
le microprocesseur ou la transmission des informations sur les
différents bus.
 les ports de connexion : ils permettent de connecter des
périphériques sur les différents bus de la carte mère. Il existe des
ports « internes » pour connecter des cartes d‘extension (PCI, ISA,
AGP) ou des périphériques de stockage (SCSI, IDE, Serial ATA) et
des ports « externes » pour connecter d‘autres périphériques (série,
parallèle, USB, firewire, etc …)
 Le socket : c‘est le nom du connecteur destiner au microprocesseur.
Il détermine le type de microprocesseur que l‘on peut connecter.

Architecture d’une carte mère

Informatique générale Page 52


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.39 : schéma de représentation de la Carte Mère d‘un PC

Ici le chipset est composé par deux composants baptisés Pont Nord et Pont
Sud. Le pont Nord s‘occupe d‘interfacer le microprocesseur avec les
périphériques rapides (mémoire et carte graphique) nécessitant une bande
passante élevée alors que le pont sud s‘occupe d‘interfacer le
microprocesseur avec les périphériques plus lents (disque dur, CDROM,
lecteur de disquette, réseau, etc…).
On voit apparaître différents bus chargés de transporter les informations
entre le microprocesseur et la mémoire ou les périphériques :

 Bus processeur : on l‘appelle aussi bus système ou FSB (Front Side


Bus). Il relie le microprocesseur au pont nord puis à la mémoire.
C‘est un bus 64 bits.
 Bus IDE : il permet de relier au maximum 2 périphériques de
stockage interne par canal (disque dur ou lecteur
DVDROM/CDROM). Son débit est de 133 Mo/s. Lorsque 2
périphériques sont reliés sur le même canal, un doit être le maître
(prioritaire sur la prise du bus) et l‘autre l‘esclave.
 Bus PCI (Peripheral Component Interconnect) : Il a été créé en 1991
par Intel. Il permet de connecter des périphériques internes. C‘est le
premier bus à avoir unifié l‘interconnexion des systèmes
d‘entrée/sortie sur un PC et à introduire le système plug-and-play. Il

Informatique générale Page 53


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

autorise aussi le DMA. C‘est un bus de 32 bits. On retrouve une


révision du bus PCI sur les cartes mères de serveur ayant une largeur
de bus de 64 bits et une fréquence de 133 MHz.
 Bus AGP (Accelered Graphic Port) :. Il a été créé en 1997 lors de
l‘explosion de l‘utilisation des cartes 3D qui nécessitent toujours plus
de bandes passantes pour obtenir des rendus très réalistes. C‘est une
amélioration du bus PCI. Il autorise en plus le DIME (DIrect
Memory Execution) qui permet au processeur graphique de travailler
directement avec les données contenues dans la RAM sans passer par
le microprocesseur à l‘instar d‘un DMA. C‘est un bus 32 bits et son
débit maximum est de 2 Go/s (en x8).
 Bus ISA (Industry Standard Architecture) : C‘est l‘ancêtre du bus
PCI. On ne le retrouve plus sur les nouvelles générations de cartes
mères.
 Bus SCSI (Small Computer System Interface) : c‘est un bus
d‘entrée/sortie parallèle permettant de relier un maximum de 7 ou 15
périphériques par contrôleur suivant la révision du protocole utilisée.
C‘est une interface concurrente à l‘IDE qui présente l‘avantage de
pouvoir connecter plus de périphériques pour des débits supérieurs.
En outre, ces périphériques peuvent partager le bus lors d‘un
dialogue contrairement à l‘IDE. Mais son coût reste très élevé… elle
est utilisée pour les serveurs.
 Bus USB (Universal Serial Bus): c‘est un bus d‘entrée/sortie plug-
and-play série. Dans sa deuxième révision (USB 2.0), il atteint un
débit de 60 Mo/s. Un de ces avantages est de pouvoir connecter
théoriquement 127 périphériques. Il supporte de plus le hot plug-and-
play (connexion ou déconnexion de périphériques alors que le PC
fonctionne).
 Bus firewire : c‘est un bus SCSI série. Il permet de connecter
jusqu‘à 63 périphériques à des débits très élevés (100 à 400 Mo/s).
Ces applications sont tournées vers la transmission de vidéos
numériques.
 Liaison pont nord/pont sud : ses caractéristiques dépendent du
chipset utilisé. Chaque fabricant a en effet développé une solution
propriétaire pour connecter les deux composants de leur chipset.
Pour Intel, c‘est Intel Hub Architecture (IHA) dont les débits
atteignent 533 Mo/s. Pour Nvidia (en collaboration avec AMD), c‘est
l‘HyperTransport qui atteint des débits de 800 Mo/s.

Remarques :

Informatique générale Page 54


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 Tous les bus « internes » (PCI, IDE, AGP) vont être amenés à
disparaître très rapidement et seront remplacés par des bus série :
 Le Serial Ata, remplaçant du bus IDE, présente des débits de 150
Mo/s qui passeront bientôt à 300 Mo/s dans la prochaine révision
du bus. Il permet de connecter des disques durs ou des lecteurs
optiques.
 Le PCI Express, remplaçant des bus PCI et AGP, permet
d‘atteindre des débits de 250 Mo/s dans sa version de base qui
peuvent monter jusqu‘à 8Go/s dans sa version x16 destinée à des
périphériques nécessitant des bandes passantes très élevées
(application graphique).
 Les bus de connexions filaires tendent à être remplacés par des systèmes
de communications sans fils. A l‘heure actuelle, il existe :
 le Bluetooth qui offre actuellement un débit de 1 Mb/s pour une
portée d‘une dizaine de mètre et qui va servir à connecter des
périphériques nécessitant des bandes passantes faibles (clavier,
souris, etc…).
 le WIFI (WIreless FIdelity Network) qui permet de connecter des
ordinateurs en réseau. La dernière révision permet des débits de
54 Mb/s.

Exemple : Carte mère ASUS A7N8X

Informatique générale Page 55


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.40 : schéma Carte mère ASUS A7N8X

II.3.6.1.2 Le microprocesseur

Le microprocesseur est bien entendu l‘élément essentiel du PC. Nous


avons vu que les performances d‘un microprocesseur étaient liées à son
architecture et sa fréquence de fonctionnement. A l‘heure actuelle, le
marché des microprocesseurs pour PC est dominé par deux principaux
constructeurs : Intel et AMD. Ceux-ci ont adopté deux stratégies
Informatique générale Page 56
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

différentes pour réaliser des microprocesseurs toujours plus performants.


Intel, fort de son savoir-faire, a choisi de fabriquer des microprocesseurs
toujours plus rapide en terme de fréquence de fonctionnement alors
qu‘AMD essaie plutôt d‘optimiser ses architectures afin qu‘elles soient
capables d‘exécuter toujours plus d‘instructions par cycle d‘horloge. Ces
deux optiques se retrouvent dans les références des microprocesseurs de
chaque marque. Lorsqu‘Intel désigne chaque nouveau microprocesseur par
sa fréquence, AMD préfère utiliser un P-Rating se référant aux
performances des microprocesseurs Intel.
Chaque fondeur utilise des sockets et des chipsets différents pour leurs
microprocesseurs. Ainsi, le choix d‘un microprocesseur impose forcément
un choix sur un type de carte mère. Pour connaître les performances d‘un
microprocesseur, il ne faut donc pas se fier à la seule valeur de sa
fréquence de fonctionnement. Il faut prendre en compte toutes les
caractéristiques liées à son architecture et ne pas oublier de l‘entourer d‘un
chipset et d‘une mémoire performants. La dernière chose à ne pas omettre
lorsqu‘on choisit un microprocesseur est son système de refroidissement.
En effet, plus la fréquence augmente et plus la dissipation thermique sera
importante. Un microprocesseur mal refroidit peut entraîner des
dysfonctionnements au sein du PC voir même la destruction du
microprocesseur lui-même. Il faut prévoir un système d‘air cooling
(ventilateur + radiateur ou heat pipe) ou de water cooling (circuit de
refroidissement à eau).

Informatique générale Page 57


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Exemple : Microprocesseur haut de gamme Décembre 2004

Référence Athlon 64 4000 + Pentium 4 3.4GHz Pentium M 2GHz


Extreme Edition
Support Socket 939 Socket 478 Socket 478 (portable)
Fréquence 2400 MHZ 3400 MHz 2000 MHz
Bus 200 MHz 200 MHz quad 100 MHz quad
processeur pumped pumped
Finesse 0.13 μm 0.13 μm 0.09 μm
gravure
Cache L1 128 ko 8 ko 32 ko
Cache L2 1024 ko 512 ko 2048 ko
Fréquence 2400 MHz 3400 MHz 2000 MHz
cache L2
Architecture AMD K8 Intel NetBurst Intel NetDothan

II.3.6.1.3 La mémoire

La qualité et la quantité de mémoire d‘un PC vont permettre, au même titre


que le microprocesseur, d‘accroître les performances de celui-ci. Si on
dispose d‘un microprocesseur performant, encore faut-il que la mémoire
puisse restituer ou sauvegarder des informations aussi rapidement qu‘il le
désire. La fréquence de fonctionnement de la mémoire est donc un
paramètre essentiel. De même, si on veut réduire le nombre d‘accès aux
périphériques de stockage secondaire qui sont très lents (disque dur,
CDROM, etc…), il faudra prévoir une quantité mémoire principale
suffisante.
Aujourd‘hui, toutes les mémoires que l‘on retrouve sur les PC sont des
RAM dynamiques
(DRAM). Elles sont toutes synchronisées sur l‘horloge du bus processeur
(FSB). Un boîtier mémoire est constitué de 3 éléments fondamentaux qui
sont :

Informatique générale Page 58


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 La matrice de cellules mémoires


 Les buffers d‘entrée/sortie
 Le bus de données
Dans les premières SDRAM, tous les ensembles fonctionnaient à 100
MHz. C'est à dire que la cellule mémoire fournissait une information
mémoire toutes les 10 ns au buffer d‘entrée/sortie qui lui-même la
renvoyait sur le bus à une fréquence de 100 MHz. Comme les DRAM
fonctionnent sur 64 bits, on avait une bande passante de 800 Mo/s. Les
différentes évolutions de la SDRAM permirent d‘atteindre une fréquence
de 166 MHz.

Actuellement, les technologies de DRAM permettent d‘effectuer des accès


à la mémoire sur le front montant et descendant de l‘horloge (DDR-I
SDRAM) et ainsi de doubler la bande passante mémoire sans en modifier
la fréquence de fonctionnement. Pour cela, il faut bien entendu que la
matrice mémoire puisse délivrer 2 informations par cycle d‘horloge. Les
DDR les plus rapides permettent d‘atteindre des fréquences de 200 MHz
pour l‘accès à la matrice de cellules. Néanmoins, on commence à
approcher les limites de fonctionnement du cœur de la mémoire.

Informatique générale Page 59


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure I.41 : sortes de mémoire


La prochaine technologie reviendra donc à une fréquence de 100 MHz
pour la matrice de cellules mais doublera la fréquence du buffer
d‘entrée/sortie pour compenser (DDR II SDRAM). Il faut donc que le
cœur de la mémoire puisse délivrer 4 informations par cycle d‘horloge.
Tout ceci est rendu possible en divisant le nombre de matrices mémoire.
Dans le cas de la SDRAM, la matrice de cellules mémoire est constituée
d‘un seul bloc physique contre deux pour la DDR-I puis quatre pour la
DDR-II.

De plus, de nombreux chipsets permettent de gérer deux canaux d‘accès à


la mémoire et donc d‘accéder simultanément à deux modules de mémoire
différents. Le PC sera donc plus performant s‘il utilise, par exemple, deux
barrettes de 256 Mo plutôt qu‘une seule de 512 Mo. (Bus quad pumped
d‘Intel)

Exemple : Dénomination des mémoires SDRAM

La bande passante est théoriquement doublée si les barrettes sont utilisées en ―dual channel‖.

Informatique générale Page 60


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

II.3.6.1.4 La carte vidéo

Le rôle de la carte graphique est de convertir les données numériques à


afficher en un signal compréhensible par un écran. Alors qu'à ses débuts, la
carte vidéo se chargeait uniquement d'afficher une simple image formée de
points colorés (pixel), les derniers modèles apparus se chargent d'afficher
des images en 3D d'une grande complexité. C‘est donc un système à
microprocesseur à elle seule qui est composée par :

 Un GPU (Graphics Processor Unit)


 De la mémoire vidéo
 D‘un dispositif de conversion analogique numérique : RAMDAC.
 D‘entrées/sorties vidéo

La carte vidéo communique avec la mémoire centrale et le


microprocesseur par l‘intermédiaire d‘un bus. Actuellement, c‘est le bus
AGP qui est le plus utilisé mais il va progressivement être remplacé par le
PCI Express qui présente des débits beaucoup plus élevés (8 Go/s contre 2
Go/s).

II.3.6.1.4.1 Le GPU

Le GPU est le processeur central de la carte graphique.

Il se charge du traitement des données vidéo, permettant ainsi de soulager


le microprocesseur. Son rôle est de traiter les objets envoyés par le
microprocesseur puis d‘en déduire les pixels à afficher. En effet, dans le
cas de l‘affichage de la scène 3D, le microprocesseur communique au GPU

Informatique générale Page 61


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

les données à afficher sous forme vectorielle. Les objets sont donc définis
par une masse de points représentant leurs coordonnées dans l‘espace.

Pour afficher un objet à l‘écran, le GPU procède en plusieurs étapes :

1. placer les objets dans le repère et leur appliquer des transformations


(translation, rotation,
etc…)
2. appliquer les effets de lumières sur chaque objet
3. décomposer les objets en petits triangles puis en fragments
4. appliquer des textures et des effets sur les fragments
5. afficher les pixels résultants de l‘association des fragments
Pour cela, il est constitué d‘un immense pipeline principal. Celui-ci
comprend au moins un vertex shader (étape 1 et 2), un setup engine (étape
3) et un pixel shader (étape 4 et 5).

Remarques :

 toutes ces opérations doivent être effectuées pour tous les pixels de la
scène à afficher. Pour une image en 1600x1200, cela fait 1 920 000
pixels à calculer, soit près de 6 millions de fragments !!!! D‘autant
plus que pour bien faire, le GPU doit être capable d‘afficher 50
images/s soit calculer 300 millions de fragments par seconde… Ceci
explique pourquoi les GPU des cartes 3D récentes sont plus
complexes que les derniers microprocesseurs.
 Pour utiliser au mieux les capacités des cartes graphiques on dispose
d'API (Application Program Interface) qui sont des langages de
description et de manipulation des objets :
 Direct3D de Microsoft
 OpenGL

II.3.6.1.4.2 La mémoire vidéo

Elle sert à stocker les images et les textures à afficher. Elle doit présenter
des débits très importants. Actuellement, la plupart des cartes graphiques
sont dotées de DDR SDRAM.

II.3.6.1.4.3 Le RAMDAC

Informatique générale Page 62


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Le Ramdac (Random Access Memory Digital Analog Converter) convertit


les signaux délivrés par la carte en signaux analogiques compatibles avec
la norme VGA des moniteurs. Plus la fréquence du RAMDAC d'une carte
graphique ne sera élevé, plus le rafraîchissement et la résolution de l'image
pourront être élevée. Le confort visuel apparaît à partir d‘un
rafraîchissement de 72 Hz (fréquence à laquelle sont rafraîchies les lignes à
afficher). En principe, la fréquence du RAMDAC est donc de l‘ordre de :

Largeur écran x Hauteur écran x fréquence rafraîchissement x 1.32

On rajoute un coefficient de 1.32 à cause du temps perdu par le canon à


électron lors de ces déplacements.

Exemple :

Pour une résolution de 1600x1200 à une fréquence de 85Hz, il faudra un


RAMDAC de1600x1200x85x1.32= 215 Mhz !!!
II.3.6.1.4.4 Les entrées/sorties vidéos

La sortie vers le moniteur se fait par l‘intermédiaire d‘une sortie au format


VGA. Maintenant, la plupart des cartes disposent d‘une sortie TV au
format S-vidéo. Depuis l‘explosion des écrans LCD, elles disposent aussi
souvent d‘un port DVI en plus du port VGA. Le port DVI est numérique et
ne nécessite pas la traduction des données par le RAMDAC.

II.3.6.1.5 Les périphériques internes de stockage

Ce sont les périphériques de type mémoire de masse. On les appelle ainsi


pour leur grande capacité de stockage permanent. Ces périphériques sont
dotés d‘un contrôleur permettant de les faire dialoguer avec le
microprocesseur. Actuellement, les plus répandus sont l‘IDE et le SCSI. Le
SCSI présente des débits plus importants que l‘IDE (160Mo/s contre
133Mo/s) et permet de connecter plus de périphériques sur le même
contrôleur (7 contre 4). Néanmoins, cette technologie étant plus onéreuse,
on la retrouve surtout sur des serveurs alors que l‘IDE est présent dans tous
les PC. A l‘heure actuelle, ces deux types de contrôleur sont en fin de vie
et sont progressivement remplacés par des contrôleurs de type Serial ATA.
Ce sont des contrôleurs série dérivés de l‘interface IDE qui vont permettent
d‘atteindre des débits de 600 Mo/s.

Informatique générale Page 63


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Les périphériques internes de stockage sont principalement des


périphériques utilisant des supports magnétiques (disque dur) ou optiques
(CDROM, DVDROM).

II.3.6.1.5.1 Le disque dur

Les disques durs sont capables de stocker des quantités impressionnantes


d'informations, et surtout de les ordonner et de les retrouver rapidement.

Principe :

Le disque dur est constitué de plusieurs plateaux empilés, entre lesquels se


déplace un bras comptant plusieurs têtes de lecture. Chaque plateau est
recouvert d'une surface magnétique sur ses deux faces et tourne à une
vitesse comprise entre 4000 et 15000 tr/min. La tête de lecture/écriture est
composée par un aimant autour duquel est enroulée une bobine.
Pour écrire, on fait passer un courant électrique dans la bobine ce qui crée
un champ magnétique. Les lignes de champ magnétique traversent la
couche d'oxyde et orientent celui-ci en créant de petits aimants dont le sens
est donné par le sens du courant dans la bobine.
Pour lire, on fait passer la tête de lecture/écriture sur le support magnétisé
qui crée un courant induit dans la bobine dont le sens indique s'il s'agit d'un
0 ou d'un 1.

Le formatage :

Le formatage de bas niveau permet d'organiser la surface du disque en


éléments simples (pistes et secteurs) qui permettront de localiser
l'information. Le nombre total de pistes dépend du type de disque. Il est
effectué en usine lors de la fabrication du disque.
Informatique générale Page 64
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Chaque piste est découpée en secteurs. Toutefois l'unité d'occupation d'un


disque n'est pas le secteur, trop petit pour que le système puisse en tenir
compte. On utilise alors un groupe d'un certain nombre de secteurs (de 1 à
16) comme unité de base. Ce groupe est appelé Bloc ou Cluster. C'est la
taille minimale que peut occuper un fichier sur le disque. Pour accéder à un
secteur donné, il faudra donc déplacer l'ensemble des bras et attendre
ensuite que ce secteur se positionne sous les têtes. L‘accès à un bloc est
aléatoire alors que l‘accès à un secteur est séquentiel.

Une autre unité de lecture/écriture est le cylindre. Un cylindre est constitué


par toutes les pistes superposées verticalement qui se présentent
simultanément sous les têtes de lecture/écriture.

En effet, il est plus simple d'écrire sur les mêmes pistes des plateaux
superposés que de déplacer à nouveau l'ensemble des bras.
Le formatage de haut niveau permet de créer un système de fichiers
gérable par un système d'exploitation (DOS, Windows, Linux, OS/2, etc
...).

La défragmentation :

A mesure que l'on stocke et supprime des fichiers, la répartition des


fichiers sur les différents clusters est modifiée. L'idéal, pour accéder
rapidement à un fichier, serait de pouvoir stocker un fichier sur des clusters
contigus sur le même cylindre. La défragmentation permet de réorganiser
le stockage des fichiers dans les clusters pour optimiser la lecture.

Les caractéristiques :

 capacité en Go
 vitesse de rotation en tours minutes
 temps d'accès exprimé en millisecondes
 interface (IDE, SCSI, SATA)

Informatique générale Page 65


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 taux de transfert moyen exprimé en Mo par seconde

A noter que les disques durs actuels sont équipés de cache mémoire afin de
diminuer les temps d‘accès.

II.3.6.1.5.2 Les disques optiques

Le disque optique numérique résulte du travail mené par de nombreux


constructeurs depuis 1970. La terminologie employée varie selon les
technologies employées et l‘on retrouve ainsi les abréviations de CD
(Compact Disk), CDROM (CD Read Only Memory), CDR, (CD
Recordable), DVD (Digital Video Disk), DVDROM (DVD Read Only
Memory), etc… Le Compact Disc a été inventé par Sony et Philips en
1981 dans le but de fournir un support audio et vidéo de haute qualité. Les
spécifications du Compact Disc ont été étendues en 1984 afin de permettre
au CD de stocker des données numériques. En 1990 Kodak met au point le
CD-R. Un CD est capable de stocker 650 ou 700 Mo de données et 74 ou
80 min de musique. Le taux de transfert d'un CD-ROM est de 150 ko/s, ce
qui correspond au taux de transfert d‘un lecteur de CD audio. On peut
monter jusqu'à 7200 ko/s (48X) avec un lecteur de CDROM.

Principe CD-ROM:

Un CD-ROM est un disque de 12 cm de diamètre composé de plusieurs


couches superposées :

 une couche principale en polycarbonate, un plastique résistant et


laissant passer la lumière
 une couche métallique réfléchissante composée de plats et de creux
 une couche de vernis protecteur qui vient protéger le métal de
l'agression des UV

Informatique générale Page 66


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Plusieurs technologies différentes existent en fonction du type de CD : CD-


ROM, CD-R, CD-RW. Le principe de lecture/écriture utilise un rayon
infrarouge d'une longueur d'onde de 780 nm.
Lors de la lecture d'un CD, le faisceau laser traverse la couche de
polycarbonate puis rencontre ou non un creux. Lors d‘un passage devant
un creux, la lumière du laser est fortement réfractée, de telle sorte que la
quantité de lumière renvoyée par la couche réfléchissante est minime.
Alors que pour un passage devant un plat, la lumière est pratiquement
entièrement réfléchie.
Lorsque le signal réfléchi change, la valeur binaire est 1. Lorsque la
réflexion est constante, la valeur est 0. A noter que contrairement aux
disques durs, un CD n'a qu'une seule piste organisée en spirale.

Cette piste n‘est pas régulière mais oscille autour de sa courbe moyenne.
La fréquence de ces oscillations est de 22,05 kHz. Cette oscillation permet
à la tête de lecture de suivre la courbe et de réguler la vitesse de rotation du
CD.
Pour l‘écriture, il faut utiliser un graveur avec des supports adéquats (CD-
R ou CD-RW). Les techniques sont assez similaires qu'il s'agisse d'un CD-
R ou d'un CD-RW. Dans le cas d'un CD-R, on ajoute une couche de
colorant organique pouvant être brûlé par un laser 10 fois plus puissant que
le laser requit pour lire un CD. Cette couche de colorant est photosensible.
Lorsqu'elle est soumise à une forte lumière, elle l'absorbe et sa température
augmente à plus de 250°, ce qui fait qu'elle brûle localement, et crée des
plages brûlées et non brûlées. Les creux et bosses du CD classique sont
donc ici remplacés par le passage d'une zone brûlée à une zone non brûlée
qui réfléchisse plus ou moins de lumière. Pour les CD-RW, on utilise un
alliage métallique qui possède la particularité de pouvoir retrouver son état
d‘origine en utilisant un laser à 200 degrés (effacement).

Informatique générale Page 67


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Les méthodes d’écriture :

 Mono session : Cette méthode crée une seule session sur le disque et
ne donne pas la possibilité de rajouter des données sur le CD.
 Multisession : Cette méthode permet de graver un CD en plusieurs
fois, en créant une table des matières (TOC pour table of contents) de
14Mo pour chacune des sessions.
 Track At Once : Cette méthode permet de désactiver le laser entre
deux pistes, afin de créer une pause de 2 secondes entre chaque piste
d'un CD audio.
 Disc At Once : Contrairement à la méthode précédente, le Disc At
Once écrit sur le CD en une seule traite. Les musiques sont donc
enchaînées.

Les techniques de gravures :

 Burn Proof ou Just Link : Le problème des graveurs était l'envoi des
données à un rythme suffisant. Lorsque les données n‘étaient plus
présentes dans le buffer du graveur, il y avait une rupture de flux.
Ceci entraînait l‘arrêt de la gravure par manque de données et le
CDR était inutilisable. Pour corriger ce type d'erreurs, les fabricants
utilisent maintenant des techniques qui suspendent la gravure lorsque
les données ne sont pas présentes, et la reprend dès que les données
sont de nouveau présentes dans le buffer. Cette technique est appelée
JUST LINK chez la majorité des fabricants, Burn-Proof chez
Plextor.
 L'overburning : cette technique permet de dépasser légèrement la
capacité du support vierge afin de stocker un peu de données
supplémentaires. Pour ce faire, il faut que le logiciel de gravure, ainsi
que le graveur, supportent cette technique.

Informatique générale Page 68


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Caractéristiques d’un lecteur/graveur :

 la vitesse maximum de gravage des CD-R


 la vitesse maximum de gravage des CD-RW
 la vitesse maximum de lecture des CD
 interface (IDE, SCSI, SATA)

Principe DVDROM :

Le DVD-ROM (Digital Versatile Disc - Read Only Memory) est apparu en


1997 et est principalement dédié à la vidéo. C‘est en fait un CD-ROM dont
la capacité est bien
plus grande. En effet, la lecture/écriture est effectuée à partir d‘un laser
rouge (650 et 635 nm) et permet d‘obtenir des creux beaucoup plus petits
et donc de stocker plus d‘informations. Les deux longueurs d‘ondes
utilisées permettent de lire/écrire sur des DVD "double couche". Ces
disques sont constitués d'une couche transparente et d'une couche réflexive
et permettent donc de stocker encore plus d‘informations sur un seul CD.

Il existe 3 types de DVD réinscriptibles et incompatibles :

 DVD-RAM : le disque simple face permet de stocker 2.6 Go. Il n‘est


pas compatible avec les lecteurs de salon.
 DVD-RW de Sony, Philips et HP permet de stocker 4.7Go par face.
Il est entièrement compatible avec les platines de salon.
 DVD+RW est le nouveau standard concurrent au DVD-RW. Il est
entièrement compatible avec les platines de salon. Plusieurs marques
ont formé une alliance et développent des graveurs DVD présentant
des temps d‘accès plus faible et des vitesses de gravure plus
importante.

Informatique générale Page 69


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

II.3.7. Les périphériques d’entrée et de sortie

Les périphériques sont chargés d‘effectuer des tâches d‘entrées et/ou de


sortie de l‘information.
En voici quelques-uns.
II.3.7.1. Périphériques d’entrée
Clavier, souris, crayon optique, écran tactile, stylo code barre, carte son,
scanner, caméra, etc.

II.3.7.2. Périphériques de sortie

Ecran, imprimante, table traçante, carte son, télécopie, modem etc.

II.3.7.3. Périphériques d’entrée sortie


Mémoire auxiliaire (sert à stocker les données et les programmes):

1. Stockage de masse sur disque dur ou disquette.


2. Bande magnétique sur dérouleur (ancien) ou sur streamer.
3. Mémoire clef USB
4. CD-Rom, DVD, disque magnéto-électrique etc…

II.3.8. Information – informatique

II.3.8.1 Les définitions

L‘information est le support formel d‘un élément de connaissance


humaine susceptible d‘être représentée à l‘aide de conventions (codages)
afin d‘être conservée, traitée ou communiquée.

Informatique générale Page 70


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

L‘informatique est la science du traitement de l‘information dans les


domaines scientifiques, techniques, économiques et sociaux.
Une donnée est la représentation d‘une information sous une forme
conventionnelle (codée) destinée à faciliter son traitement.

Schéma simplifié du traitement de l’information

II.3.8.2 Critère algorithmique élémentaire

Une application courante est justiciable d‘un traitement informatique si :


Il est possible de définir et de décrire parfaitement les données d‘entrée et
les résultats de sortie.
Il est possible de décomposer le passage de ces données vers ces résultats
en une suite d‘opérations élémentaires dont chacune peut être exécutée par
une machine.

Nous pouvons considérer ce critère comme une définition provisoire d’un


algorithme.

Informatique générale Page 71


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Chapitre III : Les circuits logiques

III.1. Logique élémentaire pour l’informatique

III.1.1 Calcul propositionnel naïf

Construire des programmes est une activité scientifique fondée sur le


raisonnement logique. Un peu de logique simple va nous aider à disposer
d‘outils pratiques mais rigoureux pour construire des programmes les plus
justes possibles. Si la programmation est un art, c‘est un art rigoureux et
logique. La rigueur est d‘autant plus nécessaire que les systèmes
informatiques manquent totalement de sens artistique.
Une proposition est une propriété ou un énoncé qui peut avoir une valeur
de vérité vraie (notée V) ou fausse (notée F).
" 2 est un nombre impair " est une proposition dont la valeur de vérité est
F.
Par abus de langage nous noterons avec le même symbole une
proposition et sa valeur de vérité, car seule la valeur de vérité d‘une
proposition nous intéresse ici.
Soit l‘ensemble P = {V, F} des valeurs des propositions.
On le munit de trois opérateurs appelés connecteurs logiques : , , .
 : P x PP (se lit " et ")
 : P x PP (se lit " ou ")
 : P  P (se lit " non ")
Ces connecteurs sont définis en extension par leurs tables de vérité :

P q p p  p 
q q
V V F V V
V F F F V
F V V F V
F F V F F

III.1.2 Propriétés des connecteurs logiques

 Nous noterons p = q , le fait « la proposition p et la proposition q ont


la même valeur de vérité ».
 L‘étudiant pourra démontrer à l‘aide des tables de vérité par
exemple, que  et possèdent les propriétés suivantes :
Informatique générale Page 72
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

p q = q p


p q = q p
p (q r) = (p q) r
p (q r) = (p q) r
p (q r) = (p q) (p r)
p (q r) = (p q) (p r)
p p = p
p p = p
p = p
(p q) = p q
(p q) = p q
 Nous notons p q, la proposition : p q (l’implication). La
table de vérité du connecteur :
P q p 
q
V V F
V F F
F V V
F F V

 Il est aussi possible de prouver des " égalités " de propositions en


utilisant des combinaisons de résultats précédents.

Exemple : Montrons que : p q = q p (implication contraposée),


par définition et utilisation évidente des propriétés :
p q = p q = q p = q) p = q p

III.1.3 Règles de déduction

Assertion : c‘est une proposition construite à l‘aide des connecteurs


logiques (, en particulier) dont la valeur de vérité est toujours V
(vraie).
Les règles de déduction permettent de faire du calcul sur les assertions.
Nous abordons ici le raisonnement rationnel sous son aspect automatisable,
en donnant des règles d‘inférences extraites du modèle du raisonnement
logique du logicien Gentzen. Elles peuvent être une aide très appréciable
lors de la construction et la spécification d‘un programme.
Les règles de déduction sont séparées en deux membres. Le premier
contient les prémisses ou hypothèses de la règle, le deuxième membre est
Informatique générale Page 73
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

constitué par une conclusion unique. Les deux membres sont séparés par
un trait horizontal. Gentzen classe les règles de déduction en deux
catégories : les règles d‘introduction car il y a utilisation d‘un nouveau
connecteur, et les règles d‘éliminations qui permettent de diminuer d‘un
connecteur une proposition.

p1 , p2 ,..., pn
Syntaxe d’une telle règle :
q

Quelques règles de déductions pratiques :

pq
Règle d‘introduction du :
q
pq
Règle d‘introduction du :
q
pq
Règle d‘introduction du :
q
pq pq
Règles d‘élimination du : ,
q p

p, p  q
Règle du modus ponens :
q

q , p  q
Règle du modus tollens :
p
Le système de Gentzen contient d‘autres règles sur le ou et sur le non.
Enfin il est possible de construire d‘autres règles de déduction à partir de
celles-ci et des propriétés des connecteurs logiques. Ces règles permettent
de prouver la valeur de vérité d‘une proposition. Dans les cas pratiques
l‘essentiel des raisonnements revient à des démonstrations de véracité
d‘implication.
La démarche est la suivante : pour prouver qu‘une implication est vraie,
il suffit de supposer que le membre gauche de l‘implication est vrai et de
montrer que sous cette hypothèse le membre de droite de l‘implication est
vrai.

Exemple :

Soit à montrer que la règle de déduction R0 suivante est exacte :


p  q, q  r
R0 : (transitivité de  )
pr

Informatique générale Page 74


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Hypothèse : p est vrai

nous savons que : p  q est vrai et que q  r est vrai


p, p  q
 En appliquant le modus ponens : nous déduisons que : q est
q
vrai.
 En appliquant le modus ponens à (q , q  r) nous déduisons que : r
est vrai.
 Comme p est vrai (par hypothèse) on applique la règle d‘introduction
de  sur (p , r) nous déduisons que : p  r est vrai (cqfd).
Nous avons prouvé que R0 est exacte. Ainsi nous avons construit une
nouvelle règle de déduction qui pourra nous servir dans nos raisonnements.
Nous venons d'exhiber un des outils permettant la construction raisonnée
de programmes. La logique interne des ordinateurs est encore actuellement
plus faible puisque basée sur la logique booléenne, en attendant que les
machines de 5ème génération basées sur la logique du premier ordre
(logique des prédicats, supérieure à la logique propositionnelle) soient
définitivement opérationnelles.
Nous avons prouvé que R0 est exacte. Ainsi nous avons construit une
nouvelle règle de déduction qui pourra nous servir dans nos raisonnements.
Nous venons d'exhiber un des outils permettant la construction raisonnée
de programmes. La logique interne des ordinateurs est encore actuellement
plus faible puisque basée sur la logique booléenne, en attendant que les
machines de 5ème génération basées sur la logique du premier ordre
(logique des prédicats, supérieure à la logique propositionnelle) soient
définitivement opérationnelles.

III.2. Algèbre de Boole

III.2.1 Axiomatique pratique

Du nom du mathématicien anglais G.Boole qui l‘inventa. Nous choisissons


une axiomatique compacte, l‘axiomatique algébrique :

On appelle algèbre de Boole tout ensemble E muni de deux lois de


compositions internes notées par exemple : , ,
 une application involutive f (f2 = Id ) de E dans lui-même,notée

Informatique générale Page 75


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 chacune des deux lois , , est associative et commutative,


 chacune des deux lois , , est distributive par rapport à l‘autre,
 la loi  admet un élément neutre unique noté e1,
x E, x  e1 = x

 la loi  admet un élément neutre noté e0,


xE, x  e0 = x
 tout élément de E est idempotent pour chacune des deux lois :
xE, x  x = x et x  x = x
 axiomes de complémentarité :

 lois de Morgan :

(x,y) E2,
(x,y) E2,

III.2.2 Exemples d’algèbre de Boole

a) L‘ensemble P(E) des parties d‘un ensemble E, muni des opérateurs


intersection  , union  , et l‘application involutive complémentaire dans
E  CE , (si E ≠  ), si E est fini et possède n éléments, P(E) est de
cardinal 2n.
Il suffit de vérifier les axiomes précédents en substituant les lois du nouvel
ensemble E aux lois , , et x . Il est montré en mathématiques que
toutes les algèbres de Boole finies sont isomorphes à un ensemble (P(E),
, CE ) : elles ont donc un cardinal de la forme 2n.
b) L‘ensemble des propositions (en fait l'ensemble de leurs valeurs {V, F}
) muni des connecteurs logiques  (l‘application involutive) ,  ,  , est
une algèbre de Boole minimale à deux éléments.

Informatique générale Page 76


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

III.2.3 Notation des électroniciens

L‘algèbre des circuits électriques est une algèbre de Boole minimale à


deux éléments :

L‘ensemble E = {0,1} muni des lois " " et " + " et de l‘application
complémentaire

Formules pratiques et utiles (résultant de l’axiomatique) :

a+1=1 a.1 = a
a+0=a a.0 = 0
a+a=a a.a = a
a+ a = 1 a. a = 1
a b = a .b a.b = a + b
0= 1 1= 0

Formule d’absorbtion :

a+(b.a) = a.(a+b) = (a+b).a = a+b.a = a

Montrons par exemple : a+(b.a) = a


a+(b.a)= a+a.b = a.1+a.b = a.(1+b) = a.1 = a
Le reste se montre de la même façon.
Cette algèbre est utile pour décrire et étudier les schémas électroniques,
mais elle sert aussi dans d‘autres domaines que l‘électricité. Elle est
étudiée ici parce que les ordinateurs actuels sont basés sur des composants
électroniques. Nous allons descendre un peu plus bas dans la réalisation
interne du cœur d‘un ordinateur, afin d‘aboutir à la construction d‘un
additionneur en binaire dans l‘UAL.

Tables de vérité des trois opérateurs :

X y x xy x+y
1 1 0 1 1
1 0 0 0 1
0 1 1 0 1
0 0 1 0 0

Informatique générale Page 77


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

III.3.Circuits booléens ou logiques

Nous représentons par une variable booléenne x  {0,1} le passage d‘un


courant électrique.
Lorsque x = 0, nous dirons que x est à l‘état 0 (le courant ne passe pas)
Lorsque x = 1, nous dirons que x est à l‘état 1 (le courant passe)
Une telle variable booléenne permet ainsi de visualiser, sous forme d‘un bit
d‘information (0,1) le comportement d‘un composant physique laissant ou
ne laissant pas passer le courant.
Nous ne nous préoccuperons pas du type de circuits électriques permettant
de construire un circuit logique (les composants électriques sont basés sur
les circuits intégrés). Nous ne nous intéresserons qu‘à la fonction logique
(booléenne) associée à un tel circuit.
En fait un circuit logique est un opérateur d‘une algèbre de Boole c‘est-à-
dire une combinaison de symboles de l‘algèbre {0,1}, . ,+, x ).

III.3.1 Principaux circuits

Nous proposons donc 3 circuits logiques de base correspondant aux deux


lois internes et à l‘opérateur de complémentation involutif.

Le circuit OU associé à la loi " + "

La table de vérité de ce circuit est celle de l'opérateur +

Le circuit ET associé à la loi "":

La table de vérité de ce circuit est celle de l'opérateur 

Le circuit NON associé à la loi " " :

La table de vérité est celle de l'opérateur involutif

Informatique générale Page 78


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

On construit deux circuits classiques à l’aide des circuits précédents :

L’opérateur XOR = " ou exclusif " :

dont voici le schéma :

Table de vérité du ou exclusif :

a b a 
b
1 1 0
1 0 1
0 1 1
0 0 0

L’opérateur NAND (le NON-ET):

dont voici le schéma :

Table de vérité du Nand :

a b a 
b
1 1 0
1 0 1
0 1 1
0 0 1

Informatique générale Page 79


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

L’opérateur NOR (le NON-OU):

dont voici le schéma :

Table de vérité du Nor :

a b ab
1 1 0
1 0 0
0 1 0
0 0 1

L'on montre facilement que les deux opérateurs NAND et NOR répondent
aux critères axiomatiques d'une algèbre de Boole, ils sont réalisables très
simplement avec un minimum de composants électroniques de type
transistor et diode (voir paragraphes plus loin). Enfin le NOR et le NAND
peuvent engendrer les trois opérateurs de base non, et , ou. :

Opérateur de Réalisation de l'opérateur en NAND ou


base en NOR

circuit ET

circuit OU

circuit NON

Informatique générale Page 80


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Expression des 3 premiers opérateurs ( , + , . ) à l'aide de NAND et de


NOR

III.3.2 Fonction logique associée à un circuit

Un circuit logique est un système de logique séquentielle où la


valeur de sortie S (état de la variable booléenne S de sortie)
dépend des valeurs des entrées e1,e2,...,en (états des variables
booléennes d‘entrées ei ). Sa valeur de sortie est donc une
fonction S = f(e1,e2,...,en).

Pour calculer la fonction f à partir d‘un schéma de circuits logiques, il


suffit d‘indiquer à la sortie de chaque opérateur (circuit de base) la valeur
de l‘expression booléenne en cours. Puis, à la fin, nous obtenons une
expression booléenne que l‘on simplifie à l‘aide des axiomes ou des
théorèmes de l‘algèbre de Boole.

Exemple :

En simplifiant S : (a+b). b + = b + b (formule d‘absorbation)


b + b = 1.

III.3.3 Circuit logique associé à une fonction

A l‘inverse, la création de circuits logiques à partir d‘une fonction


booléenne f à n entrées est aussi simple. Il suffit par exemple, dans la
fonction, d‘exprimer graphiquement chaque opérateur par un circuit, les
entrées étant les opérandes de l‘opérateur. En répétant l‘action sur tous les
opérateurs, on construit un graphique de circuit logique associé à la
fonction f.

Informatique générale Page 81


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Exemple : Soit la fonction f de 3 variables booléennes, f (a,b,c) =


(a+b)+(b.c)

Construction progressive du circuit associé.

1°) opérateur " + " :

2°) branche supérieure de l’opérateur " + " :

3°) branche inférieure de l’opérateur " + " :

Les électroniciens classent les circuits logiques en deux catégories : les


circuits combinatoires et les circuits séquentiels (ou à mémoire).

Un circuit combinatoire est un circuit logique à n entrées dont la fonction


de sortie ne dépend uniquement que des variables d'entrées.
Un circuit à mémoire (ou séquentiel) est un circuit logique à n entrées
dont la fonction de sortie dépend à la fois des variables d'entrées et des
états antérieurs déjà mémorisés des variables de sorties.

Informatique générale Page 82


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Exemple de circuit à mémoire

La sortie intermédiaire S2 est évaluée en


fonction de la sortie S3 : S2 = b . S3
(valeur de S3 un temps avant)

Si b=0 alors S2 = 0
Si b=1 alors S2 = S3
f( a , b , S3 ) = S3 Nous avons S3 = S1 + S2
En notant S'3 la valeur au temps t0 et
S3 la valeur au temps t0+dt, il vient que
S3 = S1 + b . S'3

Table de vérité associée à ce circuit :

A b S1 S2 S3 f(a,b,S3)
1 1 0 S'3 S'3 S'3
1 0 0 0 0 1
0 1 1 S'3 1 0
0 0 1 0 1 0

Dans le cas a=1 et b=1 ce circuit fictif fournit le complément de la valeur


antérieure.

Quelques noms de circuits logiques utilisés dans un ordinateur

- Circuit combinatoire : additionneur, multiplexeur, décodeur,


décaleur, comparateur.
- Circuit à mémoire : bascules logiques.

III.3.4 Additionneur dans l’UAL (circuit combinatoire)

a) Demi-additionneur

Reprenons les tables de vérités du " " (Xor), du " + " et du " " et
adjoignons la table de calcul de l‘addition en numération binaire.

Informatique générale Page 83


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Tout d‘abord les tables comparées des opérateurs booléens :

a b a  a+b ab
b
1 1 0 1 1
1 0 1 1 0
0 1 1 1 0
0 0 0 0 0

Rappelons ensuite la table d‘addition en numération binaire :

+ 0 1
0 0 1
1 1 0(1)

0(1) représente la retenue 1 à reporter.

En considérant une addition binaire comme la somme à effectuer sur deux


mémoires à un bit, nous observons dans l‘addition binaire les différentes
configurations des bits concernés (notés a et b).

Nous aurons comme résultat un bit de somme et un bit de retenue :

bit a bit b bit somme bit de


retenue

1+ 1= 0 1
1+ 0= 1 0
0+ 1= 1 0
0+ 0= 0 0

Si l‘on compare avec les tables d‘opérateurs booléens, on s‘aperçoit que


l‘opérateur "" (Xor) fournit en sortie les mêmes configurations que le bit
de somme, et que l‘opérateur "" (Et) délivre en sortie les mêmes
configurations que le bit de retenue.
Il est donc possible de simuler une addition binaire (arithmétique binaire)
avec les deux opérateurs "" et "". Nous venons de construire un demi-
additionneur ou additionneur sur un bit. Nous pouvons donc réaliser le
circuit logique simulant la fonction complète d‘addition binaire, nous

Informatique générale Page 84


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

l‘appellerons " additionneur binaire "(somme arithmétique en binaire de


deux entiers en binaire).

Schéma logique d’un demi-additionneur

Ce circuit est noté :

Une des constructions les plus simples et la plus pédagogique d‘un


additionneur complet est de connecter entre eux et en série des demi-
additionneurs (additionneurs en cascade). Il existe une autre méthode
dénommée " diviser pour régner " pour construire des additionneurs
complets plus rapides à l‘exécution que les additionneurs en cascade.
Toutefois un additionneur en cascade pour UAL à 32 bits, utilise 2 fois
moins de composants électroniques qu‘un additionneur diviser pour régner.
Nous concluons donc qu‘une UAL n‘effectue en fait que des opérations
logiques (algèbre de Boole) et simule les calculs binaires par des
combinaisons d‘opérateurs logiques

Soient a et b deux nombres binaires à additionner dans l‘UAL. Nous


supposons qu‘ils sont stockés chacun dans une mémoire à n bits. Nous
notons apet bp leur bit respectif de rang p. Lors de l‘addition il faut non
seulement additionner les bits ap et bp à l‘aide d‘un demi- aditionneur, mais
aussi l‘éventuelle retenue notée Rp provenant du calcul du rang précédent.

Informatique générale Page 85


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Additionneur en cascade (addition sur le bit de rang p)

On réadditionne Rp à l‘aide d‘un demi-additionneur à la somme de apet bp


et l‘on obtient le bit de somme du rang p noté Sp. La propagation de la
retenue Rp+1 est faite par un " ou " sur les deux retenues de chacun des
demi-additionneurs et passe au rang p+1. Le processus est itératif sur tous
les n bits des mémoires contenant les nombres a et b.

Notation du circuit additionneur :

Soit un exemple fictif de réalisation d'un demi-additionneur simulant


l'addition binaire suivante :

Informatique générale Page 86


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

0 + 1 = 1. Nous avons figuré le passage ou non du courant à l'aide de deux


interrupteurs (valeur = 1 indique que l'interrupteur est fermé et que le
courant passe, valeur = 0 indique que l'interrupteur est ouvert et que le
courant ne passe pas)
Le circuit « et » fournit le bit de retenue soit : 0 1 = 0

Le circuit « Xor » fournit le bit de somme soit : 0 1 = 1


Nous figurons le détail du circuit Xor du schéma précédent lorsqu'il reçoit
le courant des deux interrupteurs précédents dans la même position (l'état
électrique correspond à l'opération
0 1 = 1 )

Si l‘UAL effectue des additions sur 32 bits, il y aura 32 circuits comme le


précédent, tous reliés en série pour la propagation de la retenue.
Un exemple d'additionneur sur deux mémoires a et b à 2 bits contenant
respectivement les nombres 2 et 3 :

Informatique générale Page 87


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Les 4 interrupteurs figurent le passage du courant sur les bits de même


rang des mémoires a=2 et b=3, le résultat obtenu est la valeur attendue soit
2+3 = 5.

Notation du circuit additionneur sur 2 bits :

Remarque :

Ce circuit d'addition sur 2 bits engendre en fait en plus des bits de somme
un troisième bit de retenue qui sera généralement mémorisé dans le bit de
retenue (bit de carry noté C) du mot d'état programme ou PSW (Progral
Status Word) du processeur. C'est le bit C de ce mot qui est consulté par
exemple afin de savoir si l'opération d'addition a généré un bit de retenu ou
non.

III.3.5 Circuit multiplexeur (circuit combinatoire)

C'est un circuit d'aiguillage comportant 2n entrées, n lignes de sélection et


une seule sortie. Les n lignes de sélection permettent de "programmer" le
numéro de l'entrée qui doit être sélectionnée pour sortir sur une seule sortie
(un bit). La construction d'un tel circuit nécessite 2n circuits "et", n circuits
"non" et 1 circuit "ou".

Notation du multiplexeur :

Informatique générale Page 88


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

III.3.6 Circuit démultiplexeur (circuit combinatoire)

C'est un circuit qui fonctionne à l'inverse du circuit précédent, il permet


d'aiguiller une seule entrée (un bit) sur l'une des 2n sorties possibles, selon
la "programmation"( l'état ) de ses n lignes de sélection.

Notation du démultiplexeur :

III.3.7 Circuit décodeur d'adresse (circuit combinatoire)

C'est un circuit composé de n lignes d'entrées qui représentent une adresse


sur n bits et de 2n lignes de sortie possibles dont une seule est sélectionnée
en fonction de la "programmation" des n lignes d'entrées.

Notation du décodeur d'adresse :

Exemple d'utilisation d'un décodeur d'adresse à 8 bits :

Informatique générale Page 89


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

On entre l'adresse de la ligne à sélectionner soit 10100010 ( A0 =1 , A1 = 0,


A2 = 1, … , A7 = 0 ) ce nombre binaire vaut 162 en décimal, c'est donc la
sortie S162 qui est activée par le composant comme le montre la figure ci-
dessous.

La construction d'un circuit décodeur d'adresse à n bits nécessite 2 n circuits


"et", n circuits "non". Ce genre de circuits très fréquent dans un ordinateur
sert à sélectionner des registres, des cellules mémoires ou des lignes de
périphériques.

III.3.8 Circuit comparateur (circuit combinatoire)

C'est un circuit réalisant la comparaison de deux mots X et Y de n bits


chacun et sortant une des trois indications possibles X+Y ou bien X>Y ou
X<Y. Il possède donc 2n entrées et 3 sorties.

Notation du comparateur de mots à n bits :

III.3.9 Circuit bascule (circuit à mémoire)

C'est un circuit permettant de mémoriser l'état de la valeur d'un bit. Les


bascules sont les principaux circuits constituant les registres et les
mémoires dans un ordinateur.
Les principaux types de bascules sont RS, JK et D, ce sont des dispositifs
chargés de "conserver" la valeur qu'ils viennent de prendre.

Schéma électronique et notation de bascule RS minimale théorique


notation
Informatique générale Page 90
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Notation

Table de vérité associée à cette bascule :

R S Qt+dt Qt représente la valeur de la sortie au temps t, Qt+dt


1 1 représente la valeur de cette même sortie un peu plus tard
1 0 0 au temps t+dt.
0 1 1 L'état R=1 et S=1 n'est pas autorisé
0 0 Qt L'état R=0 et S=0 fait que Qt+dt = Qt , la sortie Q
conserve la même valeur au cours du temps, le circuit
"mémorise" donc un bit.

Si l'on veut que le circuit mémorise un bit égal à 0 sur sa sortie Q, on


applique aux entrées les valeurs R=1 et S=0 au temps t0, puis à t 0+dt on
applique les valeurs R=0 et S=0. Tant que les entrées R et S restent à la
valeur 0, la sortie Q conserve la même valeur (dans l'exemple Q=0).
En pratique ce sont des bascules RS synchronisées par des horloges (CLK
pour clock) qui sont utilisées, l'horloge sert alors à commander l'état de la
bascule. Seule la sortie Q est considérée.

Dans une bascule RS synchronisée, selon que le top d'horloge change d'état
ou non et selon les valeurs des entrées R et S soit d'un top à l'autre la sortie
Q du circuit ne change pas soit la valeur du top d'horloge fait changer
(basculer) l'état de la sortie Q.

Schéma électronique général et notation d'une bascule RS synchronisée


notation

Notation

Informatique générale Page 91


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Remarque

Certains types de mémoires ou les registres dans un ordinateur sont conçus


avec des variantes de bascules RS (synchronisées) notée JK ou D.

Schéma électronique général et notation d'une bascule de type Dnotation

Notation

Fonctionnement pratique d'une telle bascule D dont les entrées sont reliées
entre elles. Supposons que la valeur de l'entrée soit le booléen x (x=0 ou
bien x=1) et que l'horloge soit à 0.

En simplifiant le schéma nous obtenons une autre présentation faisant


apparaître la bascule RS minimale théorique décrite ci-haut :

Or la table de vérité de cet élément lorsque les entrées sont égales à 0


indique que la bascule conserve l'état antérieur de la sortie Q:

R S Qt+dt

Informatique générale Page 92


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

0 0 Qt

Conclusion pour une bascule D

Lorsque l'horloge est à 0, quel que soit la valeur de l'entrée D (D=0 ou


D=1) une bascule D conserve la même valeur sur la sortie Q.

Que se passe-t-il lorsque lors d'un top d'horloge celle-ci passe à la


valeur 1 ?

Reprenons le schéma simplifié précédent d'une bascule D avec une valeur


d'horloge égale à 1.

Nous remarquons que sur les entrée R et S nous trouvons la valeur x et son
complément , ce qui élimine deux couples de valeurs d'entrées sur R et S
(R=0 , S=0) et (R=1 , S=1). Nous sommes sûrs que le cas d'entrées non
autorisé par un circuit RS (R=1 , S=1) n'a jamais lieu dans une bascule de
type D. Il reste à envisager les deux derniers couples (R=0 , S=1) et (R=1 ,
S=0). Nous figurons ci-après la table de vérité de la sortie Q en fonction de
l'entrée D de la bascule (l'horloge étant positionnée à 1) et pour éclairer le
lecteur nous avons ajouté les deux états associés des entrées internes R et S
:

X R S O Nous remarquons que la sortie Q prend la valeur de


0 1 0 0 l'entrée D
1 0 1 1 (D=x), elle change donc d'état.

Conclusion pour une bascule D

Informatique générale Page 93


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Lorsque l'horloge est à 1, quel que soit la valeur de l'entrée D (D=0 ou


D=1) une bascule D change et prend sur la sortie Q la valeur de l'entrée D.

III.3.10 Registre (circuit à mémoire)

Un registre est un circuit qui permet la mémorisation de n bits en même


temps. Il existe dans un ordinateur plusieurs variétés de registres, les
registres parallèles, les registres à décalage (décalage à droite ou décalage à
gauche) les registres séries.
Les bascules de type D sont les plus utilisées pour construire des registres
de différents types en fonction de la disposition des entrées et des sorties
des bascules : les registres à entrée série/sortie série, à entrée série/sortie
parallèle, à entrée parallèle/sortie parallèle, à entrée parallèle/sortie série.
Voici un exemple de registre à n entrées parallèles (a0,a1,…,an-1) et à n
sorties parallèles (s0,s1,…,sn-1) construit avec des bascules de type D :

Examinons le fonctionnement de ce "registre parallèle à n bits"


La ligne CLK fournit le signal d'horloge, la ligne RAZ permet l'effacement
de toutes les sorties sk du registre, on dit qu'elle fournit le signal de
validation :

Lorsque RAZ = 0 on a (s0=0, s1=0, …, sn-1=0)


Lorsque RAZ = 1 on a (s0= q0, s1= q1, …, sn-1= qn-1)

Donc RAZ=0 sert à effacer tous les bits de sortie du registre, dans le cas où
RAZ=1 qu'en est-il des sorties sk. D'une manière générale nous avons par
construction sk = RAZ. qk :

Informatique générale Page 94


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 Tant que CLK = 0 alors, comme RAZ=1 nous avons s k = qk (qk est
l'état antérieur de la bascule). Dans ces conditions on dit que l'on "lit
le contenu actuel du registre".
 Lorsque CLK = 1 alors, tous les qk basculent et chacun d'eux prend
la nouvelle valeur de son entrée ak. Comme RAZ=1 nous avons
toujours sk = qk (qk est le nouvel état de la bascule). Dans ces
conditions on dit que l'on vient de "charger le registre" avec une
nouvelle valeur.

Notations des différents types de registres :

Registre série/série

Registre série/parallèle

Registre parallèle/série Registre parallèle/parallèle

Registre à décalage

C'est un registre à entrée série ou parallèle qui décale de 1 bit tous les bits
d'entrée soit vers "la droite" (vers les bits de poids faibles), soit vers "la
gauche" (vers les bits de poids forts). Un registre à décalage dans un
ordinateur correspond soit à une multiplication par 2 dans le cas du
décalage à gauche, soit à une division par 2 dans le cas du décalage à
droite.

Conclusion mémoire-registre

Informatique générale Page 95


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Nous remarquons donc que les registres en général sont des mémoires
construites avec des bascules dans lesquelles on peut lire et écrire des
informations sous forme de bits. Toutefois dès que la quantité
d'information à stocker est très grande les bascules prennent physiquement
trop de place (2 NOR, 2 AND et 1 NON). Actuellement, pour élaborer une
mémoire stockant de très grande quantité d'informations, on utilise une
technologie plus compacte que celle des bascules, elle est fondée sur la
représentation d'un bit par 1 transistor et 1 condensateur. Le transistor
réalise la porte d'entrée du bit et la sortie du bit, le condensateur selon sa
charge réalise le stockage du bit.
Malheureusement un condensateur ne conserve pas sa charge au cours du
temps (courant de fuite inhérent au condensateur), il est alors indispensable
de restaurer de temps en temps la charge du condensateur (opération que
l'on dénomme rafraîchir la mémoire) et cette opération de
rafraîchissement mémoire a un coût en temps de réalisation. Ce qui veut
donc dire que pour le même nombre de bits à stocker un registre à bascule
est plus rapide à lire ou à écrire qu'une mémoire à transistor, c'est pourquoi
les mémoires internes des processeurs centraux sont des registres.

III.3.11 Mémoire SRAM et mémoire DRAM

Dans un ordinateur actuel coexistent deux catégories de mémoires :


1°) Les mémoires statiques SRAM élaborées à l'aide de bascules : très
rapides mais volumineuses (plusieurs transistors pour 1 bit).
2°) Les mémoires dynamiques DRAM élaborées avec un seul transistor
couplé à un condensateur :

Très facilement intégrables dans une petite surface, mais plus lente que les
SRAM à cause de la nécessité du rafraîchissement.
Voici à titre indicatif des ordres de grandeur qui peuvent varier avec les
innovations technologiques rapides en ce domaine :
SRAM temps d'accès à une information : 5 nanosecondes
DRAM temps d'accès à une information : 50 nanosecondes

Fonctionnement d'une DRAM de 256 Mo fictive

La mémoire physique aspect extérieur :

Informatique générale Page 96


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Le schéma général de la mémoire :

Vcc = alimentation électrique


D1 à D8 = bits de données (1 octet
ici)
Ligne, Colonne = lignes de
sélection soit d'une adresse de ligne
soit d'une adresse de colonne
W = autorisation d'écriture
R = validation de lecture
A0, … , A13 = adresse d'une ligne
ou adresse d'une colonne
= symbole de mise à la masse

Nous adoptons une vision abstraite de l'organisation interne de cette


mémoire sous forme d'une matrice de 214 lignes et 214 colonnes soient en
tout 214. 214= 228 cellules de 1 octet chacune (228 octets = 28. 220 o = 256 .
220 o = 256 Mo, car 1 Mo = 220 o)
Ce qui donne une matrice de 16384 lignes et 16384 colonnes, numérotées
par exemple de
0 14
2 = 1 jusqu'à 2 = 16384, selon la figure ci-dessous :

Dans l'exemple ci-dessus :

Informatique générale Page 97


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

La sélection d'une ligne de numéro m donné (d'adresse m-1 donnée) et


d'une colonne de numéro k donné (d'adresse k-1 donnée) permet de
sélectionner directement une cellule contenant 8 bits.

Exemple de sélection de ligne dans la matrice mémoire à partir d'une


adresse (A0, … , A13) , dans notre exemple théorique la ligne de numéro
20 = 1 a pour adresse (0,0,…,0) et la ligne de numéro 214 = 16384 a pour
adresse (1,1,…,1). Lorsque l'adresse de sélection d'une ligne arrive sur les
pattes (A0, … , A13) de la mémoire elle est rangée dans un registre interne
(noté tampon) puis passée à un circuit interne du type décodeur d'adresse à
14 bits (14 entrées et
14
2 = 16384 sorties) qui sélectionne la ligne adéquate.

Il en va de même pour la sélection d'une colonne :

Informatique générale Page 98


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

La sélection d'une ligne, puis d'une colonne permet d'obtenir sur les pattes
D, D2, …, D8 de la puce les 8 bits sélectionnés. Ci- dessous une sélection
en mode lecture d'une cellule de notre mémoire de 256 Mo :

Il est possible aussi d'écrire dans une cellule de la mémoire selon la même
démarche de sélection.
Pour opérer une lecture il faut que la ligne de validation R de la mémoire
soit activée, pour opérer une écriture, il faut que la ligne de validation W
de la mémoire soit activée.
En attendant une nouvelle technologie (optique, quantique, organique,…)
les constituants de base d'un ordinateur sont fondés sur l'électronique à
base de transistor découverts à la fin des années quarante. De nos jours
deux technologie de transistor sont présentes sur le marché : la technologie

Informatique générale Page 99


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

TTL (Transistor Transistor Logic) la plus ancienne et la technologie MOS


(Metal Oxyde Semiconductor).

III.3.12 Afficheur LED à 7 segments

On utilise dans les ordinateurs des afficheurs à LED, composés de 7 led


différentes qui sont allumées indépendamment les unes des autres, un
circuit décodeur à 3 bits permet de réaliser simplement cet affichage :

III.3.13 Compteurs

Ce sont des circuits chargés d'effectuer un comptage cumulatif de divers


signaux.
Par exemple considérons un compteur sur 2 bits avec retenue éventuelle,
capable d'être activé ou désactivé, permettant de compter les changements
d'état de la ligne d'horloge CLK. Nous proposons d'utiliser deux demi-
additionneurs et deux bascules de type D pour construire le circuit :

Informatique générale Page 100


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Le circuit compteur ci-dessus possède deux entrées En et CLK, il possède


trois sorties a0, a1 et carry.
Ce compteur sort sur les bits a0, a1 et sur le bit de carry le nombre de
changements en binaire de la ligne CLK (maximum 4 pour 2 bits) avec
retenue s'il y a lieu.
La ligne d'entrée En est chargée d'activer ou de désactiver le compteur

Notation pour ce compteur :

Fonctionnement de l'entrée En (enable) du compteur précédent :

 Lorsque En = 0, sur la première bascule en entrée D nous avons D =


a0  0 (or nous savons que :  x, x  0 = x ), donc D = a0 et Q ne
change pas de valeur. Il en est de même pour la deuxième bascule et
son entrée D vaut a1. Donc quoiqu'il se passe sur la ligne CLK les

Informatique générale Page 101


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

sorties a0 et a1 ne changent pas, on peut donc dire que le comptage


est désactivé lorsque le enable est à zéro.

 Lorsque En = 1, sur la première bascule en entrée D nous avons D =


a0 1 (or nous savons que : x, x 1 = x ), donc Q change de
valeur. On peut donc dire que le comptage est activé lorsque le
enable est à un.

Utilisons la notation du demi-additionneur pour représenter ce compteur à


2 bits :

un demi-additionneur

Le compteur à 2 bits

En généralisant à la notion de compteur à n bits nous obtenons le schéma


ci-après :

Informatique générale Page 102


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

III.3.14 Réalisation électronique de circuits booléens

Dans ce paragraphe nous indiquons pour information anecdotique au


lecteur, à partir de quelques exemples de schémas électroniques de base,
les réalisations physiques possibles de différents opérateurs de l'algèbre de
Boole.
Le transistor est principalement utilisé comme un interrupteur électronique,
nous utiliserons les schémas suivants représentant un transistor soit en TTL
ou MOS et une diode.

Circuits (ET, OU , NON) élaborés à partir de diodes :

NON

OU ET

Circuits (NOR, NAND, NON) élaborés à partir de transistor MOS :

NON
NOR
NAND

Informatique générale Page 103


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Ce sont en fait la place occupée par les composants électroniques et leur


coût de production qui sont les facteurs essentiels de choix pour la
construction des opérateurs logiques de base.
Voici par exemple une autre façon de construire une circuit NOR à partir
de transistor et de diodes :

Le lecteur intéressé consultera des ouvrages d'électronique spécialisés afin


d'approfondir ce domaine qui dépasse le champ de l'informatique qui n'est
qu'une simple utilisatrice de la technologie électronique en attendant
mieux !
Finissons ce paragraphe, afin de bien fixer nos idées, par un schéma
montrant comment dans une puce électronique sont situés les circuits
booléens :

Supposons que la puce précédente permette de réaliser plusieurs fonctions


et contienne par exemple 4 circuits booléens : un OU, un ET, deux NON.
Voici figuré une possible implantation physique de ces 4 circuits dans la
puce, ainsi que la liaison de chaque circuit booléen avec les pattes du
composant physique :

Informatique générale Page 104


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Pour information, le micro-processeur pentium IV Northwood de la société


Intel contient environ 55 000 000 (55 millions) de tansistors, le micro-
processeur 64 bits Opteron de la société concurrente AMD plus récent que
le pentium IV, contient 105 000 000 (105 millions) de transistor.

Informatique générale Page 105


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

CHAPITRE III : CODAGE ET NUMERATION

III.1. Codage de l’information

III.1.1 Codage en général : le pourquoi


 Dans une machine, toutes les informations sont codées sous forme
d'une suite de "0" et de "1" (langage binaire). Mais l'être humain ne
parle généralement pas couramment le langage binaire.
 Il doit donc tout "traduire" pour que la machine puisse exécuter les
instructions relatives aux informations qu'on peut lui donner.
 Le codage étant une opération purement humaine, il faut produire
des algorithmes qui permettront à la machine de traduire les
informations que nous voulons lui voir traiter.
Le codage est une opération établissant une bijection entre une
information et une suite de " 0 " et de " 1 " qui sont représentables en
machine.

III.1.2. La notion de bit

L‘unité de base de la théorie de l‘information est le bit, contraction de


binary digit, qui signifie en anglais nombre binaire. Un bit, par
définition, est un composant quelconque ne pouvant se trouver que dans
deux états possibles, exclusifs l‘un de l‘autre. On peut imaginer bien des
dispositifs physiques pouvant répondre à cette définition, et nombre d‘entre
eux ont été exploités au moins une fois dans l‘histoire de l‘informatique.
Ainsi, par exemple :
 une lampe électrique qui est soit allumée soit éteinte : les tout
premiers ordinateurs, dans les années 40, utilisaient ainsi des milliers
de lampes ou «tubes à vide» : un tel dispositif était hélas en panne
dès qu‘une lampe grillait ;
 un fil électrique dans lequel le courant circule ou pas (ou sa version
miniaturisée, le «circuit intégré») : c‘est évidemment le composant
de base des ordinateurs, avec les transistors qui peuvent, eux, être
vus comme des interrupteurs miniatures. Les fibres optiques réalisent
la même fonction que les fils, mais avec la lumière au lieu de
l‘électricité.
 un aimant pouvant être polarisé «Sud» ou «Nord» : les mémoires des
ordinateurs actuels, leur «disque dur», ainsi que les anciennes
disquettes, sont composés de milliards de petits aimants ;

Informatique générale Page 106


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 une surface ayant soit un creux soit une bosse : les CD-audio, les
CD-Rom, les DVD, ne sont rien d‘autre que des morceaux de
plastique gravés de creux et de bosses tellement minuscules que seul
un faisceau laser peut les distinguer ;
 un récipient pouvant être plein ou vide : il y a, à la Cité des Sciences
de la Villette, un «calculateur à eau» fonctionnant avec des seaux et
des tuyaux remplis d‘eau.
Par convention, pour s‘abstraire de ces contingences matérielles, on appelle
l‘un des deux états possibles d‘un tel composant 0, et l‘autre 1. Ces deux
symboles sont arbitraires et n‘ont pas de signification numérique. On aurait
tout aussi bien pu choisir les symboles a et b à la place, ou tout autre
couple de deux signes distincts, puisque c‘est uniquement cette distinction
qui est importante.
A partir de maintenant, un bit sera donc pour nous un espace dans lequel
on pourra soit écrire 0, soit écrire 1. Que faire avec de tels composants
aussi élémentaires ?
Avec une seul, pas grande chose, mais avec plusieurs, beaucoup de choses !
Si, en effet, on dispose de deux bits, alors le nombre total d‘états possibles
que peuvent prendre ces deux bits est de quatre : 00, 01, 10 ou 11.
Si on en prend trois, alors huit combinaisons sont possibles : 000, 001, 010,
011, 100, 101, 110, 111. On peut représenter ces huit combinaisons comme
tous les différents parcours possibles dans un arbre où chaque branche est
un choix entre 0 ou 1, comme dans la figure suivante :

Informatique générale Page 107


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

1
0

0 1
1 0

0 1 0 1 1
0 0
Fig. : arbre des combinaisons possibles de 3 bits

En fait, ajouter un bit multiplie par deux le nombre de combinaisons


possibles, puisque le bit ajouté a lui-même deux états possibles. Dans la
représentation arborescente, cela revient à dédoubler chaque «feuille» de
l‘arbre (chaque dernier élément), et donc à multiplier par deux le nombre
total de chemins possibles (égal au nombre de feuilles). Ce raisonnement
permet de montrer que, avec n bits, on a 2n combinaisons possibles.

Le bit est l’unité de comptage de la mémoire des ordinateurs. Les


multiples utilisés se comptent également en puissance de deux :

 1 octet (byte en anglais) = 8 bits (8 = 23) et permet 28 = 256


combinaisons différentes possibles
 1 Kilo-octet = 210 octets = 1024 octets, et coïncide presque avec la
définition usuelle du kilo qui vaut 103
 1 Méga-octet = 1024 Kilo-octets, soit environ 106 octets
 1 Giga-octet = 1024 Méga-octets, soit environ 109 octets
 1 Téra-octet = 1024 Giga-octets, soit environ 1012 octets

Pour avoir un ordre de grandeur de ces valeurs : une disquette a une


capacité d‘environ 1 Méga-octet, une clé USB entre 64 Méga-octet et 1
Giga octet, un CD contient environ 600 Méga-octet, un DVD jusqu‘à
environ 17 Giga-octets. La mémoire des disques durs actuels se compte
aussi en Giga-octets. On peut en déduire par exemple le nombre d‘aimants
Informatique générale Page 108
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

contenus sur une disquette... Voyons maintenant comment coder les


données (numérique, alphanumérique, images, sons, etc.) à l‘aide de bits.

III.1.2 Codage des caractères : code ASCII

Parmi les codages les plus connus et utilisés, le codage ASCII (American
Standard Code for
Information Interchange) étendu est le plus courant (version ANSI sur
Windows).
Voyons quelles sont les nécessités minimales pour l‘écriture de documents
alphanumériques simples dans la civilisation occidentale. Nous avons
besoin de :

Un alphabet de lettres minuscules ={a, b, c,...,z} : soient 26 caractères


Un alphabet de lettres majuscules ={A,B,C,...,Z} : soient 26 caractères
Des chiffres {0,1,...,9} : soient 10 caractères
Des symboles syntaxiques {? , ; ( " ... : au minimum 10 caractères
Soit un total minimal de 72 caractères
Si l‘on avait choisi un code à 6 bits le nombre de caractères codables aurait
été de 26 = 64 ( tous les nombres binaires compris entre 000000 et
111111), nombre donc insuffisant pour nos besoins.
Il faut au minimum 1 bit de plus, ce qui permet de définir ainsi 27 = 128
nombres binaires différents, autorisant alors le codage de 128 caractères.
Initialement le code ASCII est un code à 7 bits (27 = 128 caractères). Il a
été étendu à un code sur 8 bits ( 28 = 256 caractères ) permettant le codage
des caractères nationaux (en France les caractères accentués comme :
ù,à,è,é,â,...etc) et les caractères semi-graphiques.
Les pages HTML qui sont diffusées sur le réseau Internet sont en code
ASCII 8 bits.
Un codage récent dit " universel " est en cours de diffusion : il s‘agit du
codage Unicode sur 16 bits (216 = 65536 caractères).
De nombreux autres codages existent adaptés à diverses solution de
stockage de l‘information (DCB, EBCDIC,...).

III.1.3 Codage des nombres entiers : numération

Les nombres entiers peuvent être codés comme des caractères ordinaires.
Toutefois les codages adoptés pour les données autres que numériques sont
trop lourds à manipuler dans un ordinateur. Du fait de sa constitution, un

Informatique générale Page 109


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

ordinateur est plus " habile " à manipuler des nombres écrits en numération
binaire (qui est un codage particulier).

Nous allons décrire trois modes de codage des entiers les plus connus.
Nous avons l‘habitude d‘écrire nos nombres et de calculer dans le système
décimal. Il s‘agit en fait d‘un cas particulier de numération en base 10.

Il est possible de représenter tous les nombres dans un système à base b (b


entier, b1). Nous ne présenterons pas ici un cours d‘arithmétique, mais
seulement les éléments nécessaires à l‘écriture dans les deux systèmes les
plus utilisés en informatique : le binaire (b=2) et l‘hexadécimal (b=16).
Lorsque nous écrivons 5876 en base 10, la position des chiffres 5,8,7,6
indique la puissance de 10 à laquelle ils sont associés :
5 est associé à 103
8 est associé à 102
7 est associé à 101
6 est associé à 100
Il en est de même dans une base b quelconque (b=2, ou b=16). Nous
conviendrons de mentionner la valeur de la base au-dessus du nombre afin
de savoir quel est son type de représentation.
b
Soit un nombre xn .xn1 ...x0 x écrit en base b avec n+1 symboles.

 " x k " est le symbole associé à la puissance " bk "


 " x k " {0,1, ... , b-1}

Lorsque b=2 (numération binaire)

Chaque symbole du nombre x, " x k "  {0,1}; autrement dit les nombres
binaires sont donc écrits avec des 0 et des 1, qui sont représentés
physiquement par des bits dans la machine.

Voici le schéma d‘une mémoire à n+1 bits (au minimum 8 bits dans un
micro-ordinateur) :

Informatique générale Page 110


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Les cases du schéma représentent les bits, le chiffre marqué en dessous


d‘une case, indique la puissance de 2 à laquelle est associé ce bit (on dit
aussi le rang du bit).
Le bit de rang 0 est appelé le bit de poids faible.
Le bit de rang n est appelé le bit de poids fort.

III.1.4 Les entiers dans une mémoire à n+1 bits

Ce codage est celui dans lequel les nombres entiers naturels sont écrits en
numération binaire (en base b=2).
Le nombre " dix " s‘écrit 10 en base b=10, il s‘écrit 1010 en base b=2.
Dans la mémoire ce nombre dix est codé en binaire ainsi:

Une mémoire à n+1 bits (n>0), permet de représenter sous forme binaire
(en binaire pur) tous les entiers naturels de l'intervalle [ 0 , 2n+1 -1 ].
soit pour n+1=8 bits, tous les entiers de l'intervalle [ 0 , 255 ]
soit pour n+1=16 bits, tous les entiers de l'intervalle [ 0 , 65535 ]

III.1.5 Codage des nombres entiers

Ce codage permet la représentation des nombres entiers relatifs.


Dans la représentation en binaire signé, le bit de poids fort ( bit de rang n
associé à 2n ) sert à représenter le signe (0 pour un entier positif et 1 pour
un entier négatif), les n autres bits représentent la valeur absolue du
nombre en binaire pur.

Exemple du codage en binaire signé des nombres +14 et -14 :

+14 est représenté par 0000...01110

-14 est représenté par 1000...01110


Informatique générale Page 111
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Une mémoire à n+1 bits (n>0), permet de représenter sous forme binaire
(en binaire signé) tous les entiers naturels de l'intervalle [- (2n - 1) , (2n -1)]
 soit pour n+1=8 bits, tous les entiers de l'intervalle [-127 , 127]
 soit pour n+1=16 bits, tous les entiers de l'intervalle [-32767 , 32767]
Le nombre zéro est représenté dans cette convention (dites du zéro positif)
par : 0000...00000

Remarque : Il reste malgré tout une configuration mémoire inutilisée :


1000...00000. Cet état binaire ne représente à priori aucun nombre entier ni
positif ni négatif de l‘intervalle [- (2n - 1) , (2n -1)]. Afin de ne pas perdre
inutilement la configuration " 1000...00000 ", les informaticiens ont décidé
que cette configuration représente malgré tout un nombre négatif
parce que le bit de signe est 1, et en même temps la puissance du bit
contenant le "1", donc par convention -2n.
L‘intervalle de représentation se trouve alors augmenté d‘un nombre :
il devient : [-2n ,2n -1]
 soit pour n+1=8 bits, tous les entiers de l'intervalle [-128 , 127]
 soit pour n+1=16 bits, tous les entiers de l'intervalle [-32768 , 32767]
Ce codage n‘est pas utilisé tel quel, il est donné ici à titre pédagogique. En
effet le traitement spécifique du signe coûte cher en circuits électroniques
et en temps de calcul. C‘est une version améliorée qui est utilisée dans la
plupart des calculateurs : elle se nomme le complément à deux.

III.1.6. Un autre codage des nombres entiers

Ce codage, purement conventionnel et très utilisé de nos jours, est dérivé


du binaire signé ; il sert à représenter en mémoire les entiers relatifs.
Comme dans le binaire signé, la mémoire est divisée en deux parties
inégales; le bit de poids fort représentant le signe, le reste représente la
valeur absolue avec le codage suivant :
Supposons que la mémoire soit à n+1 bits, soit x un entier relatif à
représenter :

si x > 0, alors c'est la convention en binaire signé qui s'applique (le bit de
signe vaut 0, les n bits

Informatique générale Page 112


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

restants codent le nombre), soit pour le nombre +14 :

+14 est représenté par 0000...01110

si x < 0, alors (3 étapes à suivre) :


 On code la valeur absolue du nombre x, |x| en binaire signé.
 Puis l‘on complémente tous les bits de la mémoire (complément à 1
ou complément restreint). Cette opération est un non logique
effectué sur chaque bit de la mémoire.
 Enfin l‘on additionne +1 au nombre binaire de la mémoire (addition
binaire).

Exemple, soit à représenter le nombre -14 en suivant les 3 étapes :

 codage de |-14|= 14

 complément à 1

 addition de 1

Le nombre -14 s'écrit donc en complément à 2 : 1111..10010.


Un des intérêts majeurs de ce codage est d‘intégrer la soustraction dans
l‘opération de codage et de ne faire effectuer que des opérations simples et
rapides (non logique, addition de 1).

Nous venons de voir que le codage utilisait essentiellement la


représentation d'un nombre en binaire (la numération binaire) et qu'il fallait

Informatique générale Page 113


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

connaître les rudiments de l'arithmétique binaire. Le paragraphe III.2. traite


de ce sujet.

III.1.7. Grands nombres et nombres décimaux

Pour coder les grands nombres sans risquer les erreurs précédentes, et pour
coder les nombres décimaux (c‘est-à-dire avec une virgule), la méthode
adoptée s‘appelle «représentation en virgule flottante». Son principe est de
normaliser l‘écriture de ces nombres, en jouant sur les puissances de la
base, et de coder indépendamment la partie «exposant» et la partie
«mantisse» du résultat.

Exemple 2 En base 10, on peut écrire :

27000000 = 0, 27.109
0, 000027 = 0, 27.10−4
Tout nombre en base 10 peut ainsi s‘écrire sous la forme d‘un nombre
décimal commençant par 0,... suivi de ce qui s‘appelle la «mantisse», qui
contient les chiffres significatifs du nombre (et commence donc toujours
par un chiffre différent de 0) et multiplié par une certaine puissance entière
de 10 (éventuellement négative). Le principe est exactement le même si la
base de la numérotation est 2.
Par exemple le nombre 27 en base 2 peut s‘écrire :
11011 = 0, 11011.2101, où 11011 est la mantisse et 101 (qui vaut 5 en base
10) est l‘exposant.
Dans la représentation en virgule flottante, un espace mémoire est réservé
pour coder la mantisse, et un autre est réservé pour coder la valeur de la
puissance. Un nombre trop grand pour être codé de façon traditionnelle sur
deux octets peut être codé correctement avec ce système.
La représentation en virgule flottante n‘exclut pourtant pas tout risque
d‘erreur : pour un nombre très grand avec beaucoup de chiffres
significatifs, l‘ordre de grandeur du nombre sera conservé (grâce au codage
de l‘exposant) mais le détail des décimales peut être perdu. De même un
nombre très proche de 0, dont l‘exposant est très grand en valeur absolue et
négatif peut ne pas être représenté correctement : tout ordinateur a sa limite
en terme de représentation des nombres (pour les petits nombres, on parle
de «epsilon machine»).
Les nombres décimaux qui s‘écrivent avec un nombre infini non
périodique de chiffres après la virgule (par exemple) n‘appartiennent pas

Informatique générale Page 114


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

au monde du «discret » : les coder avec des 0/1 impose donc une part
d‘approximation irrémédiable.
Les «erreurs d‘arrondis» sont une conséquence directe et inévitable du
codage des nombres réels à l‘aide de symboles discrets.
III.1.8. Les tableaux
Les tableaux, utiles dans les tableurs ou les bases de données, peuvent être
eux aussi codés à l‘aide de 0/1. Imaginons par exemple que nous
souhaitions coder le tableau suivant, qui ne contient que des nombres
entiers :

12 5 -3 0 -1
-15 7 2 0 5
-8 -2 0 1 2

Pour représenter un tel tableau, il suffit par exemple :


 de repérer le nombre de lignes et le nombre de colonnes du tableau ;
 de fixer un nombre de bits permettant de coder à la fois le nombre de
lignes et de colonnes et chacune des données présentes dans une case
du tableau ;
 de coder successivement chacune de ces données dans une longue
chaîne de 0/1.
Dans notre exemple, le tableau a 3 lignes et 5 colonnes, et tous les nombres
qu‘il contient sont inférieurs à 16 = 24 en valeur absolue. Chacune de ces
données peut donc être codée sur 5 bits (le premier bit servira pour le
signe). En codant successivement le nombre de lignes puis le nombre de
colonnes et enfin chaque case lue de gauche à droite et de haut en bas, on
obtient la chaîne suivante (pour faciliter la lecture, on laisse un espace
entre chaque donnée distincte) :
00011 00101 01100 00101 10011 00000 10001 11111 00111 00010 00000
00101 11000 10010 00000 00001 00010
A partir de cette chaîne, et à condition bien sûr de connaître les
conventions de codage, on peut entièrement reconstituer le tableau initial.
De même, on peut aussi coder un tableau de données discrètes hétérogènes
(par exemple : dont certaines cases contiennent un nombre et d‘autres cases
un ou des caractères). Dans ce cas, il faut prévoir d‘inclure dans le codage
quelques bits qui signalent, pour chaque case, la nature de la donnée
qu‘elle contient. Par exemple, si chaque case ne peut contenir qu‘un

Informatique générale Page 115


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

nombre ou qu‘un caractère, il suffit de le signaler par un bit supplémentaire


(valant 0 pour «caractère» et 1 pour «nombre») associé à chaque case,
indiquant comment interpréter les bits suivants.
Les bases de données et les logiciels documentaires sont essentiellement
constitués de tableaux de données hétérogènes, constituant ce que nous
appelons des «données factuelles». Par exemple, le catalogue (simplifié)
d‘une bibliothèque peut avoir la forme du tableau de la figure ci-après,
dans lequel chaque colonne est d‘un type particulier. Dans notre exemple,
les trois premières colonnes seraient de type «chaîne de caractères» (il
faudrait préciser pour chacune le nombre de caractères maximum qu‘elle
peut contenir), la dernière étant de type «nombre entier».
Titre de livre
Nom auteur Prénom auteur Date parution
disponible
Mme Bovary Floribert Gustave 1857
Notre Dame de Paris Hugo Victor 1831
Les misérables Hugo Victor 1862
… … … …
III.1.9. Codage des sons
Fig. : Début d‘un catalogue simplifié de bibliothèque
Les sons semblent être de nature différente des symboles et des nombres.
On va en fait montrer comment un son, via une part d‘approximation, peut
se ramener à une suite de nombres. Un son peut (très schématiquement) se
représenter par une courbe exprimant son amplitude en fonction du temps,
comme sur la figure ci-après. Un son réel est en fait une superposition de
courbes de ce genre, mais l‘oreille humaine n‘est pas sensible à toutes les
«harmoniques» qu‘il contient. Le principe du fameux format de codage
appelé MP3 est, précisément, de ne coder que la partie du son que les sens
humains perçoivent.
Pour coder une telle courbe continue en bits, il est nécessaire de la
discrétiser, c‘est-à-dire de transformer les paramètres qui la définissent (le
temps et l‘amplitude), qui varient suivant des échelles continues, en
paramètres discrets ne pouvant prendre qu‘un nombre fixé de valeurs
distinctes. On peut décomposer ce processus en deux étapes :

Informatique générale Page 116


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Fig. : Courbe sonore continue


 Etape 1 : on discrétise le temps, en abscisse, en procédant à un
échantillonnage : le temps est «découpé en morceaux» à intervalles
réguliers. On appelle fréquence d‘échantillonnage le nombre
d‘intervalles découpés par seconde (ainsi, doubler la fréquence
d‘échantillonnage revient à multiplier par deux le nombre de
morceaux découpés, c‘est-à-dire à diviser par deux la largeur de
chaque morceau) ;
 Etape 2 : on discrétise l‘amplitude en approchant la courbe par un
nombre : pour chaque intervalle de temps, on prend le nombre qui
permet de «s‘approcher le plus possible» de la courbe réelle.
En appliquant ce traitement à la courbe de la figure ci-dessus, avec une
fréquence d‘´echantillonnage de 1 unit´e par seconde et en n‘acceptant que
des valeurs entières.
Pour l‘amplitude, on obtient la nouvelle courbe de la figure ci-dessus.
Pour coder cette courbe, il suffit maintenant de coder successivement les
valeurs correspondant à chaque morceau de temps. Dans notre exemple,
ces valeurs successives sont approximativement : 4, 7, 11, 11, 7, 3, 2 6, 11,
12. A condition de connaître la fréquence d‘échantillonnage, la donnée de
ces nombres suffit à reconstruire la courbe discrétisée, et donc à
reconstituer les variations du son initial.
Sur notre exemple, l‘approximation semble grossière, mais en prenant une
fréquence d‘échantillonnage très grande et un codage des nombres
permettant une grande précision pour les réels, la courbe discrète suit de si

Informatique générale Page 117


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

près la courbe réelle que le son y est parfaitement retranscrit. Dans un CD-
audio haute fidélité, par exemple, la fréquence d‘échantillonnage est de 44
100 échantillons par seconde. Le nombre de bits occupés par un CD-audio
usuel (non codé en MP3) est d‘environ 500 Méga octets.

Fig. : courbe sonore discrétisée

III.1.10 : Codage des images

Il y a plusieurs manières de coder une image, de la «discrétiser». On


distingue principalement deux formats de codage, chacun étant adapté à un
type d‘image particulier et à un usage particulier.

1. Le codage «bit map»

Ce codage est utilisé pour numériser des images existantes (photos,


reproductions de peintures...). Il est donc plutôt adapté à l‘analyse et au
traitement des images. Son principe est celui du quadrillage : l‘image est
découpée à travers une grille au maillage plus ou moins fin, suivant des
lignes horizontales et verticales. Cette grille découpe donc l‘image en petits
éléments rectangulaires appelés «pixels» (par contraction de l‘anglais
picture element). On appelle définition d‘une image numérique le nombre
de pixels qu‘elle contient par unité d‘espace, donc par cm2. Cette définition
est d‘autant plus grande que la grille est fine, et donc que les pixels sont
petits. Pour coder une image ainsi découpée, il suffit maintenant d‘associer
à chaque pixel sa couleur dominante, et de coder les couleurs des pixels les
unes après les autres, dans un ordre fixé à l‘avance (par exemple de haut en
bas et de gauche à droite).

Informatique générale Page 118


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Les codages des couleurs les plus courants sont les suivants :

 le codage en noir et blanc pur : un bit suffit alors pour coder un


pixel, suivant une association arbitraire (par exemple : 0 pour blanc
et 1 pour noir) ;
 le codage en 256 couleurs (ou 256 niveaux de gris) : le spectre des
couleurs (ou des niveaux de gris) est découpé en 256, et un code
arbitraire sur un octet est associé à chacune des nuances (rappel : 1
octet = 8 bits et permet donc de coder 28 = 256 couleurs différentes
possibles)
 le codage en 16 millions de couleurs : ce codage, aussi appelé RGB
(pour Red, Green, Blue), utilise la décomposition des couleurs à
l‘aide des 3 couleurs primaires (rouge, vert et bleu), comme pour les
écrans de télévision. Rappelons qu‘additionner des faisceaux
lumineux tend à les éclaircir (puisque le blanc est la somme de toutes
les couleurs) ; les règles d‘addition des rayons lumineux ne sont donc
pas les mêmes que celles des additions des couches de peinture... La
contribution de chaque couleur primaire à la définition d‘une certaine
couleur est alors codée sur 1 octet, ce qui nécessite donc 3 octets
pour coder chaque pixel. Dans ce cas, le premier octet code la
contribution du rouge à la couleur du pixel, le deuxième la
contribution du vert et le troisième celle du bleu (or 28*3 vaut environ
16 millions, donc il y a bien 16 millions de couleurs différentes qui
peuvent être codées par ce système).

Lorsqu‘on numérise une image à l‘aide d‘un scanner, il faut préciser la


définition de l‘image et le codage des couleurs souhaité ; ces 2 paramètres
conditionnent fortement l‘espace mémoire nécessaire au codage de
l‘image. Le codage d‘une image «bit map» à haute définition et à l‘aide de
couleurs fines nécessite un grand nombre de bits. La figure ci-après montre
la même image bit map à deux échelles différentes, pour illustrer
l‘importance de la définition dans l‘impression globale rendue par une telle
image. Les images bit map sont souvent ce qui occupe le plus de place
dans la mémoire des ordinateurs...

Informatique générale Page 119


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Fig : 142. : Images bits map

III.1.11. Le codage vectoriel

Ce codage sert principalement à la synthèse d‘images. Il est


particulièrement bien adapté aux images qui se présentent sous la forme de
schémas ou de plans.
Il y en a plusieurs variantes, suivant que l‘image à créer doit être vue en 2
ou en 3 dimensions.

 Images en 2D : Le codage vectoriel en 2D considère qu‘une image


est une combinaison de figures géométriques standards : ellipses,
droites, rectangles, flèches... Un code arbitraire peut être associé à
chacune de ces figures (il y en a un nombre fini). Par ailleurs,
l‘espace du dessin est repéré par un système de coordonnées
classiques, désignées habituellement par X et Y. Pour repérer une
figure particulière dans un dessin, il suffit de connaître :
 sa nature (par exemple : un rectangle) déterminée par son code
;
 les coordonnées (X, Y) de deux points extrêmes qui permettent
de le situer sans ambiguïté dans l‘espace (pour un rectangle :
son coin supérieur gauche et son coin inférieur droit) ;
 son éventuelle couleur de trait et de remplissage (repérée
comme pour les images bit map).

Contentons-nous ici de dessins «au crayon», sans tenir compte des


couleurs.
Imaginons par exemple que les codes des figures standards soient les
suivants :

Informatique générale Page 120


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

- ellipse : 000 ;
- rectangle : 001 ;
- ligne continue : 010 ...

et que l‘on veuille coder le dessin de la figure ci-dessous :

Fig 143. : Dessin vectoriel

Les coordonnées (supposées entières) des points extrêmes peuvent aussi


être codées sur 3 bits. Chaque figure élémentaire est alors représentée par 5
groupes de 3 bits chacun. Par exemple, l‘ellipse de la figure 2.8 est codée
par : 000 001 100 101 001. Dans ce code, le premier groupe de 3 bit est le
code de la figure ellipse, les deux suivants codent les nombres 1 et 4, qui
sont les coordonnées (X,Y) du point qui circonscrit cette ellipse en haut à
gauche, les deux derniers codent les nombres 5 et 1 qui sont les
coordonnées (X,Y) du point qui la circonscrit en bas à droite. Le dessin
complet se code par la succession des codes des figures élémentaires (dans
un ordre quelconque) qui le composent, soit par exemple :

000 001 100 101 001 001 011 101 111 010 010 010 101 101 000
← code de l‘ellipse → ← code du rectangle → ← code de la ligne→

D‘autres codes représentant la couleur de trait et de remplissage de chaque


figure élémentaires, l‘ordre de superposition de ces figures, etc. devraient
être ajoutés à cette suite.
Le codage vectoriel 2D est celui qui est exploité par les logiciels de dessin
usuels comme PaintBrush, et il permet de faire subir simplement les

Informatique générale Page 121


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

transformations géométriques classiques (translations, rotations, symétries,


homothéties...) aux images.
Il est très économe en espace mémoire, et c‘est aussi la raison pour laquelle
il est utilisé pour créer des animations sur Internet avec la technologie
«Flash».
 Images en 3D : Le principe de ce codage est exactement le même
que le précédent, sauf que les primitives graphiques utilisées sont des
volumes (sphères, cylindres, parallélopipèdes...) au lieu d‘être des
figures de la géométrie plane. C‘est lui qui est utilisé dans les
logiciels de CAO (Conception Assisté par Ordinateur), de réalité
virtuelle, ou pour les effets spéciaux numériques dans les films... Il
nécessite un effort de modélisation considérable pour représenter un
environnement complet uniquement à partir de primitives, mais
permet ensuite des applications spectaculaires en simulant les
interactions opérant dans cet environnement. Plus la modélisation est
fine, plus la capacité de mémoire et de calcul nécessaire est
importante.

III.1.12. Codage numérique et codage analogique

En résumé, les données manipulées par les ordinateurs sont exclusivement


des données discrètes, c‘est-à-dire des données distinctes les unes des
autres et qu‘on peut énumérer une par une.. Le monde du discret, dans
lequel on peut énumérer chaque entité distincte les unes après les autres
s‘oppose au monde du continu, dans lequel ce n‘est pas possible.
Mathématiquement, un ensemble est discret s‘il peut être mis en bijection
avec N ou une partie de N, il est continu s‘il peut être mis en bijection avec
l‘ensemble des nombres réels R, ou un de ses intervalles. Dans R,
contrairement à N, on ne peut pas ―compter‖, c‘est-à-dire énumérer tous
ses éléments les uns après les autres sans en oublier aucun. Une autre
manière de caractériser les données discrètes est précisément leur caractère
codable à l‘aide d‘un alphabet fini (par exemple 0/1).
On parle aussi de codage numérique (0 et 1 sont des nombres), mais cela
ne signifie pas, nous l‘avons vu, qu‘il ne code que les nombres.
Les caractères alphanumériques et les nombres entiers appartiennent
naturellement au monde du discret, et leur codage numérique ne pose donc
pas de problème.
En effet, quand il s‘agit de traiter des données de nature discrète à l‘aide
d‘un autre dispositif discret, le codage/décodage est exact, c‘est-à-dire qu‘il
préserve toute l‘information.

Informatique générale Page 122


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

En revanche, les nombres réels, les sons et les images appartiennent au


monde du continu. C‘est pourquoi jusqu‘à l‘émergence de l’informatique
multimédia, leur codage passait plutôt par un mode analogique : un tel
code traduit des données continues à l‘aide d‘un autre dispositif lui aussi
continu. Par exemple, dans les anciens disques en vinyle et les anciennes
cassettes audio, le son était codé et restitué grâce à un sillon continu, dont
la forme reproduisait (par une relation «d‘analogie») la courbe des sons. La
radio FM et la télévision hertzienne actuelle sont encore transmises à l‘aide
d‘ondes continues dont les variations (les «modulations») traduisent
suivant une échelle continue les variations du son. Les photographies
―argentiques‖ sont réalisées à l‘aide d‘une surface (quasi) continue de
produit chimique réactif qui restitue le continuum de nuances du spectre
des couleurs. Les anciennes cassettes vidéo reproduisaient ainsi, une par
une, les images d‘un film sur leur bande.
Le codage numérique, lui, n‘a droit qu‘aux symboles 0 et 1. Pour coder
numériquement des données continues, il faut donc passer par une phase de
discrétisation ou numérisation, qui se paie par une part d‘approximation.
La qualité du son des CD-audio est néanmoins supérieure à celle des
anciens disques «33 tours», et la définition des photographies numériques
s‘approche à grands pas de la précision des photographies traditionnelles.

III.1.13. Codages/décodages et changements de codes

L‘échange de données entre matériels fonctionnant sous un mode


numérique ou analogique impose parfois de passer par des phases de
numérisation. Les plus courants de ces dispositifs sont les suivants :
 les modems (contraction de «modulateur»/«démodulateur») sont des
appareils qui transforment des données discrètes sous forme de bits
en données analogiques pouvant circuler sur les lignes téléphoniques
(et réciproquement). Ils sont donc indispensables pour relier les
ordinateurs entre eux en passant par le réseau téléphonique français
(qui, lui, transmet des données continues). Les boîtiers fournis pour
se connecter à l‘Internet haut débit (freebox, livebox et autres) en
sont les versions améliorées. L‘ADSL est en effet simplement une
technologie qui emploie pour transmettre ses données des fréquences
non utilisées par la voie humaine dans les conversations
téléphoniques. C‘est pourquoi on peut à la fois téléphoner et

Informatique générale Page 123


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

envoyer/recevoir des données en passant pas la même ligne


téléphonique avec ces boitiers.
 les scanners ou numériseurs, transforment des images quelconques
(textes ou photos) en suites de bits codant ces images sous forme «bit
map». Par ailleurs, les différents types de données étant, comme nous
l‘avons vu, codés de façon spécifique, il peut parfois être nécessaire
de passer d‘un mode de codage à un autre. C‘est ce que réalisent des
logiciels comme :
 les Optical Character Recognizer (OCR) sont des programmes qui
transforment les images sous forme «bit map» d‘un texte en une suite
de caractères ASCII. Ils peuvent aussi reconnaître la mise en page du
texte et la traduire dans les codes spécifiques utilisés pour les
représenter dans les traitements de textes. Ils sont indispensables si
on veut «traiter» avec un éditeur ou un traitement de textes un fichier
(2.4) issu de la numérisation d‘un texte écrit.
 les vectoriseurs d’images transforment les dessins sous forme «bit
map» en images vectorielles. Ils sont utilisés pour traiter des plans
techniques ou des dessins d‘architectes.
De manière générale, tout logiciel qui permet de manipuler des données de
natures différentes (par exemple, des caractères et des nombres) accorde un
rôle primordial à la notion de typage ou de format. Connaître le type d‘une
donnée, en effet, est indispensable pour savoir comment interpréter la suite
de 0/1 qui la code.
Enfin, certains codages sont plus économiques que d‘autres, au sens où ils
nécessitent de réserver un plus ou moins grand nombre de bits pour coder
une même donnée.
Les logiciels de compression de données ont pour objectif de réduire au
maximum l‘espace mémoire occupé par le codage d‘un certain type de
données. Les stratégies qu‘ils mettent en œuvre varient évidemment
suivant la nature des données, et donc des codages, qu‘ils ont à traiter, et
suivant que la compression visée est exacte ou approchée (c‘est-à-dire si
elle préserve ou non toute l‘information présente ou pas).
Par exemple, pour compresser l‘image «bit map» d‘un texte, on peut
commencer par coder de façon vectorielle les espaces blancs de la page.
Pour le codage d‘une scène vidéo (correspondant à une succession
d‘images «bit map»), on peut se contenter de coder complètement la
première image, puis seulement la différence entre chaque image et la
précédente...
On comprend mieux, à l‘issue de ce passage en revue de tous les codages
utilisés en informatique, la puissance du monde numérique : elle vient de la
Informatique générale Page 124
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

capacité à stocker et à échanger des informations de nature très variées sur


un seul support, sous forme de bits. La distinction élémentaire, abstraite,
entre deux états possibles de n‘importe quel dispositif permet une
combinatoire suffisante pour apparemment tout «coder».
Loin d‘être limitée, cette stratégie a rendu possible l‘apparition du
multimédia (qui associe textes, sons et images) dans les CD-Rom ou
l‘Internet et donné naissance aux «autoroutes de l‘information».

III.2. Numération

Ce paragraphe peut être ignoré par ceux qui connaissent déjà les éléments
de base des calculs en binaire et des conversions binaire-décimal-
hexadécimal, dans le cas contraire, il est conseillé de le lire.
Pour des commodités d'écriture, nous utilisons la notation indicée pour
représenter la base d'un nombre en parallèle de la représentation avec la
barre au-dessus. Ainsi 14510 signifie le nombre 145 en base dix; 11010112
signifie 1101011 en binaire.

III.2.1 Opérations en binaire

Nous avons parlé d‘addition en binaire ; comme dans le système décimal,


il nous faut connaître les tables d‘addition, de multiplication, etc... afin
d‘effectuer des calculs dans cette base. Heureusement en binaire, elles sont
très simples :

Exemples de calculs (109+19=12810 =100000002 ) et (22x5=110) :

Addition

1101101
+ 10011
_____________
100000002 =12810

Informatique générale Page 125


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Multiplication

10110
x 101
____________
10110
10110..
___________
11011102 =11010

Vous noterez que le procédé est identique à celui que vous connaissez en
décimal. En hexadécimal (b=16) il en est de même. Dans ce cas les tables
d‘opérateurs sont très longues à apprendre.
Etant donné que le système classique utilisé par chacun de nous est le
système décimal, nous nous proposons de fournir d‘une manière pratique
les conversions usuelles permettant d'écrire les diverses représentations
d‘un nombre entre les systèmes décimal, binaire et hexadécimal.

III.2.2 Conversions base quelconque  décimal

Voici ci-dessous un rappel des méthodes générales permettant de convertir


un nombre en base b (b>1)en sa représentation décimale et
réciproquement.

b
A ) Soit xn xn1 ... x0 un nombre écrit en base b.

Pour le convertir en décimal (base 10), il faut :


convertir chaque symbole xk en son équivalent a k en base 10, nous
obtenons ainsi la

suite de chiffres : a n ,...., a 0

Exemple, soit b=13, les symboles de la base 13 sont : { 0, 1, 2, 3, 4, 5, 6, 7,


8, 9, A, B, C }
Si le chiffre xk de rang k du nombre s'écrit C, son équivalent en base 10
est a k =12

Informatique générale Page 126


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

réécrire le nombre comme une somme :

effectuer tous les calculs en base 10 (somme, produit, puissance).

B ) Soit " a " un nombre écrit décimal et à représenter en base b :

La méthode utilisée est un algorithme fondé sur la division


euclidienne.
 Si a < b, il n'a pas besoin d'être converti.
 Si a = b, on peut diviser a par b. Et l‘on divise successivement les
différents quotients q k obtenus par la base b.
De manière générale on aura :

a = bk .rk  bk 1.rk 1  ...  b.r1  r0 (où ri est le reste de la division de a


par b).
En remplaçant chaque ri par son symbole équivalent pi en base b, nous
obtenons :

Cet algorithme permet d'obtenir une représentation de a dans la base b.

Informatique générale Page 127


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Les pi équivalents en base 13 sont:


r0 = 8 p0 = 8
r1 = 11 p1 = B
r2 = 10 p2 = A
r3 = 2 p3 = 2 Donc 623510 = 2AB813

Dans les deux paragraphes suivants nous allons expliciter des exemples
pratiques de ces méthodes dans le cas où la base est 2 (binaire).

III.2.3 Exemple de conversion décimal  binaire

Soit le nombre décimal 3510 , appliquons l'algorithme précédent afin de


trouver les restes successifs :

Donc : 3510 = 1000112

III.2.4. Exemple de conversion binaire  décimal

Informatique générale Page 128


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Soit le nombre binaire : 11011012


Sa conversion en décimal est immédiate :

11011012 = 26 +25 +23 +22 +1 =64+32+8+4+1 =10910


Les informaticiens, pour des raisons de commodité (manipulations
minimales de symboles), préfèrent utiliser l‘hexadécimal plutôt que le
binaire. L‘humain, contrairement à la machine, a quelques difficultés à
fonctionner sur des suites importantes de 1 et de 0. Ainsi l‘hexadécimal (sa
base b=24 étant une puissance de 2) permet de diviser, en moyenne, le
nombre de symboles par un peu moins de 4 par rapport au même nombre
écrit en binaire. C‘est l‘unique raison pratique qui justifie son utilisation
ici.

III.2.5. Conversion binaire  hexadécimal

Nous allons détailler l‘action de conversion en 6 étapes pratiques :


 Soit a un nombre écrit en base 2 (étape 1).
 On décompose ce nombre par tranches de 4 bits à partir du bit de
poids
faible (étape 2).
 On complète la dernière tranche (celle des bits de poids forts) par des
0 s‘il y a lieu (étape 3).
 On convertit chaque tranche en son symbole de la base 16(étape 4).
 On réécrit à sa place le nouveau symbole par changements successifs
de chaque groupe de 4 bits,(étape 5).
 Ainsi, on obtient le nombre écrit en hexadécimal (étape 6).

Exemple :

Soit le nombre 1111012 à convertir en hexadécimal.

Informatique générale Page 129


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Résultat obtenu :

1111012 = 3D16

III.2.6 Conversion hexadécimal  binaire

Cette conversion est l‘opération inverse de la précédente. Nous allons la


détailler en 4 étapes :

 Soit a un nombre écrit en base 16 (ETAPE 1).


 On convertit chaque symbole hexadécimal du nombre en son écriture
binaire (nécessitant au plus 4 bits) (ETAPE 2).
 Pour chaque tranche de 4 bits, on complète les bits de poids fort par
des 0 s'il y a lieu (ETAPE 3).
 Le nombre " a " écrit en binaire est obtenu en regroupant toutes les
tranches de 4 bits à partir du bit de poids faible, sous forme d‘un seul
nombre binaire (ETAPE 4).

Exemple :

Soit le nombre 23D516 à convertir en binaire.

Résultat obtenu :

23D516 = 100011110101012

Informatique générale Page 130


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

CHAPITRE V. Logiciels et langages de programmation

Introduction

Les logiciels (Software) comprennent les programmes ou les


instructions qui, lorsqu‘elles sont exécutées, permettent à l‘ordinateur
d‘effectuer des tâches spécifiques. On parle de la partie intelligente de
l‘ordinateur.

On peut répartir les logiciels en trois grandes familles :

 Les logiciels de base ou systèmes d‘exploitation ;


 Les logiciels d‘applications comprenant :
 Les logiciels d‘aide à la programmation

V.1. Logiciels de base ou Systèmes d’exploitation.

V.1.0. Notion de système d’exploitation

Un ordinateur est constitué de matériel (hardware) et de logiciel (software).


Cet ensemble est à la disposition de un ou plusieurs utilisateurs. Il est donc
nécessaire que quelque chose dans l‘ordinateur permette la communication
entre l‘homme et la machine. Cette entité doit assurer une grande souplesse
dans l‘interface et doit permettre d‘accéder à toutes les fonctionnalités de la
machine. Cette entité douée d‘une certaine intelligence de communication
se dénomme " la machine virtuelle ". Elle est la réunion du matériel et du
système d‘exploitation (que nous notons OS par la suite pour Operating
System).
Le système d'exploitation (noté SE ou OS, abréviation du terme anglais
Operating System), est chargé d'assurer la liaison entre les ressources
matérielles, l'utilisateur et les applications (traitement de texte, jeu vidéo,
...). Ainsi lorsqu'un programme désire accéder à une ressource matérielle, il
ne lui est pas nécessaire d'envoyer des informations spécifiques au
périphérique, il lui suffit d'envoyer les informations au système
d'exploitation, qui se charge de les transmettre au périphérique concerné
via son pilote.

Informatique générale Page 131


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

APPLICATIONS

SYSTEME
D‘EXPLOITATION

PILOTES

MATERIEL

C‘est l‘intermédiaire obligé entre l‘homme et la machine et sans lui la


machine n‘est pas utilisable.
V.1.1. Rôles du système d'exploitation
Parmi les logiciels les plus usuels, il en est un qui est devenu indispensable
à tous les ordinateurs actuels : c‘est le système d‘exploitation ou système
opératoire (traduction de «Operating System»). Le système d‘exploitation
d‘un ordinateur est en quelque sorte son gestionnaire central, son chef
d‘orchestre. En tant que programme, il peut être écrit en Assembleur
(sinon, il est écrit dans un autre langage et compilé) et est en permanence
actif quand l‘ordinateur est sous tension. En fait, quand on allume un
ordinateur, on provoque automatiquement la recopie du système
d‘exploitation du disque dur vers la mémoire centrale ; ce programme étant
volumineux, c‘est ce qui explique que le «démarrage» d‘une machine soit
si long.

Ses rôles principaux sont les suivants :

 fournir une «interface» entre l‘ordinateur et l‘utilisateur pour


permettre à ce dernier de donner des ordres à la machine (par
exemple : lire ou écrire des informations dans la mémoire, lancer
une impression...) ou pour lui signaler les erreurs d‘exécution ; cette
interface prend soit la forme d‘un langage de commande (comme
«MS-DOS», Shell) soit la forme d‘objets graphiques à manipuler
(fenêtres, menus...) ;
 gérer les «ressources» de l‘ordinateur, à savoir ses mémoires, son
microprocesseur et ses périphériques : les systèmes d‘exploitation
actuels, en effet, sont «multitâches» ; cela signifie qu‘ils permettent
à plusieurs programmes de s‘exécuter en même temps, et se

Informatique générale Page 132


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

chargent de répartir l‘occupation des ressources utilisées par chacun


d‘eux (par exemple si deux programmes P1 et P2 sont lancés en
même temps, le système d‘exploitation permettra à un petit bout de
P1 de s‘exécuter, puis laissera la place à un petit bout de P2, puis de
nouveau à un petit bout de P1, etc., de sorte que l‘utilisateur aura
l‘impression que P1 et P2 sont exécutés en parallèle, alors que le
processeur est toujours unique et séquentiel) ;
 être indépendant du matériel, masquer les particularités de la
machine en substituant aux ressources physiques des abstractions
(par exemple, la notion de fichier, sur laquelle nous reviendrons, est
une notion abstraite, indépendante de la nature du support sur lequel
les données de ce fichier sont réellement stockées) ;
 contrôler les usagers en leur donnant des droits différents selon leur
statut (associés par exemple à différents mots de passe).

En résumé, le système d‘exploitation est la couche logicielle de base qui


s‘intercale toujours entre l‘utilisateur et le matériel, comme l‘illustre le
schéma suivant de la figure suivante :

Figure : Rôle du Système d‘exploitation

Le système d‘exploitation d‘un ordinateur est chargé d‘assurer les


fonctionnalités de communication et d‘interface avec l‘utilisateur. Un OS
est un logiciel dont le grand domaine d‘intervention est la gestion de toutes
les ressources de l‘ordinateur :

 mémoires,
 fichiers,
 périphériques,
 entrée-sortie,
 interruptions, synchronisation...
Informatique générale Page 133
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Un système d‘exploitation n‘est pas un logiciel unique mais plutôt une


famille de logiciels. Une partie de ces logiciels réside en mémoire centrale
(nommée résident ou superviseur), le reste est stocké en mémoire de
masse (disques durs par exemple).
Afin d‘assurer une bonne liaison entre les divers logiciels de cette famille,
la cohérence de l‘OS est généralement organisée à travers des tables
d‘interfaces architecturées en couches de programmation (niveaux abstraits
de liaison). La principale tâche du superviseur est de gérer le contrôle des
échanges d‘informations entre les diverses couches de l‘OS.
V.1.2. Historique des principaux types de systèmes d’exploitation (OS)
Nous avons vu dans le tableau synoptique des différentes générations
d‘ordinateurs que les OS ont subi une évolution parallèle à celle des
architectures matérielles. Nous observons en première approximation qu‘il
existe trois types d‘OS différents, si l‘on ignore les systèmes rudimentaires
de la 1ère génération.

a) MONOPROGRAMMATION

La 2ème génération d‘ordinateurs est équipée d‘OS dits de


"monoprogrammation " dans lesquels un seul utilisateur est présent et a
accès à toutes les ressources de la machine pendant tout le temps que dure
son travail. L‘OS ne permet le passage que d'un seul programme à la fois.
A titre d‘exemple, supposons que sur un tel système 5 utilisateurs
exécutent chacun un programme P1, P2, P3, P4, P5 :

Dans l‘ordre de la figure ci-haut, chaque Pi attend que le Pi+1 précédent ait
terminé son exécution pour être exécuté à son tour.
Voici l‘exemple de diagramme des temps d‘exécution de chaque
programme Pi de la figure ci-haut.

Informatique générale Page 134


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

L‘axe des abscisses du diagramme des temps d'exécution, indique l‘ordre


de passage précédent (P5, puis P4 etc...) nous voyons que les temps
d‘attente d‘un utilisateur ne dépendent pratiquement pas de la durée
d‘exécution de son programme mais surtout de l‘ordre du passage (les
derniers sont pénalisés surtout si en plus leur temps propre d‘exécution est
faible comme P1 par exemple).
Une vision abstraite et synthétique d‘un tel système est de considérer que 5
tables suffisent à le décrire. La table :
 des unités logiques,
 des unités physiques,
 des états,
 de ventilation des interruptions,
 des canaux.
Relativement aux temps d’attente, un système de monoprogrammation est
injuste vis à vis des petits programmes.

b) MULTIPROGRAMMATION

La 3ème génération d‘ordinateur a vu naître avec elle les OS de


multiprogrammation. Dans un tel système, plusieurs utilisateurs peuvent
être présents en " même temps " dans la machine et se partagent les
ressources de la machine pendant tout leur temps d‘exécution.

En reprenant le même exemple que précédemment, P1, P2, P3, P4, P5 sont
exécutés cycliquement par l‘OS qui leur alloue les ressources nécessaires
(disque, mémoire, fichier,...) pendant leur tranche de temps d‘exécution.
Nous exposons dans l'exemple ci-dessous uniquement des exécutions ne
nécessitant jamais d‘interruptions, ni de priorité, et nous posons comme
hypothèse que le temps fictif alloué pour l‘exécution est de 1 seconde :

Informatique générale Page 135


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Dans la figure ci-haut, chaque Pi se voit allouer une tranche de temps


d'exécution (1 seconde), dès que ce temps est écoulé, l'OS passe à
l'exécution du Pi+1 suivant etc…

Voici l‘exemple de diagramme des temps d‘exécution cyclique de chaque


programme Pi de la figure ci-dessus :

Nous observons dans le diagramme des temps d'exécution que le système


exécute P5 pendant 1 seconde, puis abandonne P5 et exécute P4 pendant 1
seconde, puis abandonne P4..., jusqu'à l'exécution de P1, lorsqu‘il a fini le
temps alloué à P1, il recommence à parcourir cycliquement la liste (P5, P4,
P3, P2, P1)et réalloue 1 seconde de temps d‘exécution à P5 etc... Jusqu‘à
ce qu‘un programme ait terminé son exécution et qu‘il soit sorti de la table
des programmes à exécuter.
Une vision abstraite déduite du paragraphe précédent et donc
simplificatrice, est de décrire un tel système comme composé des 5 types
de tables précédentes en y rajoutant de nouvelles tables et en y incluant la
notion de priorité d‘exécution hiérarchisée. Les programmes se voient
affecter une priorité qui permettra à l‘OS selon les niveaux de priorité, de
traiter certains programmes plus complètement ou plus souvent que
d‘autres.

Informatique générale Page 136


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Relativement aux temps d’attente, un système de multiprogrammation


rétablit une certaine justice entre petits et gros programmes.

N.B.

On parle également de Systèmes multitâches : Un système d'exploitation


est dit «multitâche» (en anglais multithreaded) lorsque plusieurs «tâches»
(également appelées processus) peuvent être exécutées simultanément.

c)TEMPS-PARTAGE

Il s‘agit d‘une amélioration de la multiprogrammation orientée vers le


transactionnel. Un tel système organise ses tables d‘utilisateurs sous forme
de files d‘attente.
L‘objectif majeur est de connecter des utilisateurs directement sur la
machine et donc d‘optimiser les temps d‘attente de l‘OS (un humain étant
des millions de fois plus lent que la machine sur ses temps de réponse).
La 4ème génération d‘ordinateur a vu naître les réseaux d‘ordinateurs
connectés entre eux et donc de nouvelles fonctionnalités, comme
l‘interfaçage réseau, qui ont enrichi les OS déjà existants. De nouveaux OS
entièrement orientés réseaux sont construits de nos jours.

N.B.

On parle également de systèmes à temps partagé : Un système est dit à


temps partagé lorsqu'un quota de temps est alloué à chaque processus par
l'Ordonnanceur. C'est notamment le cas des systèmes multi-utilisateurs qui
permettent à plusieurs utilisateurs d'utiliser simultanément sur une même
machine des applications différentes ou bien similaires : le système est
alors dit «système transactionnel». Pour ce faire, le système alloue à
chaque utilisateur une tranche de temps.

V.1.3. Systèmes d'exploitation actuels

De nos jours, les systèmes d'exploitation sont des systèmes de


multiprogrammation dirigés vers certains types d'applications, nous citons
les trois types d'application les plus significatifs.

Informatique générale Page 137


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

a) Système interactif

Un tel système a vocation à permettre à l'utilisateur d'intervenir


pratiquement à toutes les étapes du fonctionnement du système et pendant
l'exécution de son programme (Windows Xp, Linux sont de tels systèmes).

b) Système temps réel

Comme son nom l'indique, un système de temps réel exécute et


synchronise des applications
en tenant compte du temps, par exemple un système gérant une chaîne de
montage de pièces à assembler doit tenir compte des délais de présentation
d'une pièce à la machine d'assemblage, puis à celle de soudage etc.…

c) Système embarqué

C'est un système d'exploitation dédié à des applications en nombre restreint


et identifiées : par exemple un système de gestion et de contrôle des
mesures à l'intérieur d'une sonde autonome, un système pour assistant
personnel de poche, système pour téléphone portables se connectant
à internet etc.…
Les principales caractéristiques d'un système d'exploitation de
multiprogrammation sont fondées sur la gestion des processus et la gestion
de la mémoire à allouer à ces processus.
Il existe aussi d’autres types de systèmes d’exploitation tels que :
a) Systèmes préemptifs :

Un système est dit préemptif lorsqu'il possède un ordonnanceur


(aussi appelé planificateur), qui répartit, selon des critères de priorité, le
temps machine entre les différents processus qui en font la demande.

b) Systèmes multiprocesseurs

Le multiprocessing est une technique consistant à faire


fonctionner plusieurs processeurs en parallèle afin d'obtenir une puissance
de calcul plus importante que celle obtenue avec un processeur haut de
gamme ou bien afin d'augmenter la disponibilité du système (en cas de
panne d'un processeur).

V.1.4. Les types de systèmes d'exploitation

Informatique générale Page 138


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

On distingue plusieurs types de systèmes d'exploitation, selon


qu'ils sont capables de gérer simultanément des informations d'une
longueur de 16 bits, 32 bits, 64 bits ou plus.

V.1.5. Exemples de quelques systèmes d’exploitation sur micro-


ordinateur

Les systèmes d‘exploitation les plus couramment installés sur les


ordinateurs actuels sont :

 MS-DOS (officiellement abréviation de «Microsoft Disk Operating


System» mais, il semblerait que le D provienne en fait de «Dirty» :
sale, malpropre, crasseux...) : système en voie de disparition,
exclusivement mono tâche, défini par un langage de commande. Il
constituait la base des systèmes «Windows» de Microsoft jusqu‘à
Windows 3.1 inclus (c‘est-à-dire que dans ces systèmes, les
manipulations d‘objets graphiques étaient en fait traduites en
commandes MS-DOS) ; C‘est un Système d'exploitation développé
par MICROSOFT, D'où le nom MSDOS. Le système MSDOS est un
système d'exploitation de type clavier, c'est à dire que l'utilisateur se
sert du clavier comme intermédiaire entre lui et l'ordinateur. Il ne
gère qu‘un seul poste et ne permet donc qu‘un seul utilisateur à la
fois. On dit qu‘il est mono-utilisateur ou mono-tâche. Problème :
MSDOS ne permet pas le travail du microprocesseur en multitâche,
c'est à dire lancé plusieurs programmes simultanément.
 Windows 95, 98, Millénium, 2000 XP, NT, VISTA, 7 : systèmes
d‘exploitation multitâches de Microsoft ayant pris la place de MS-
DOS (la version NT est plus particulièrement destinée à la gestion
des ordinateurs en réseaux), la prochaine version annoncée pour 20
07 s‘appellera Vista et une autre version 2010 Windows 7;
 la série des MacOS (Mac Intosh Operating System), dont la dixième
version, notée OS X, est sortie il y a quelques années, équipe les
Macintosh de la firme Apple : ces systèmes ont introduit les
premiers, dès 1984, les outils d‘interface graphiques (menus,
fenêtres...). Les systèmes actuels de Mac sont en fait des variantes du
système Linux ;
 Linux : version pour PC d‘un célèbre système d‘exploitation nommé
Unix, multitâche et multiutilisateur, destiné initialement aux gros
ordinateurs scientifiques, dits aussi «stations de travail». Il est
constitué d‘un langage de commande (appelé Shell) et sa

Informatique générale Page 139


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

particularité est d‘avoir été écrit par des programmeurs bénévoles,


qui le diffusent de manière libre (le code source est disponible) et
gratuite. A l‘heure actuelle, il est associé à des environnements
graphiques comme «Gnome» ou «KDE». On appelle «distribution
Linux» (dont les plus diffusées à l‘heure actuelle s‘appellent
«Fedora», «Mandriva»,«Debian» et «Ubuntu») l‘ensemble constitué
par une version de Linux, certains environnements graphiques et
certains autres programmes nécessaires à son installation sur un PC.

Quelques remarques

 WINDOWS : Le système WINDOWS type 3.0, 3.1, 3.11 n'est pas


un système d'exploitation. Il a besoin du système MS DOS pour
fonctionner. C'est un programme qui est un intermédiaire de type
souris.
 WINDOWS 9x : En septembre 1995, sort le système d'exploitation
Windows 95. A la différence de Windows 3.x, il n'a pas besoin de
MSDOS pour travailler, malgré qu'il garde une couche MSDOS en
arrière plan ( peu visible pour l'utilisateur ). Il peut travailler en
multitâche. L'avantage de Windows 95 est multiple. Il a révolutionné
le système d'exploitation par son interface visuel et ses particularités
techniques. C'est un système d'exploitation utilisant la souris. En
septembre 1998, Microsoft sort une version améliorer de Windows
95 (Nommée WINDOWS
 98) qui corrige certains défaut de la première mouture mais garde
cependant la même interface visuelle.
 WINDOWS NT : Système d'exploitation de type serveur client. La
gamme NT en version 4 actuellement est prévue pour faire
fonctionner un réseau en se servant d'un serveur et de poste client. Il
est prévu pour permettre une sécurité accrue pour les données.
 NOVELL : Pas vraiment un système d'exploitation mais un logiciel
uniquement prévu pour un serveur dans un réseau. Les postes clients
ont cependant besoin d'une couche pour accéder à celui−ci.
 UNIX : C'est également un système d'exploitation, multiposte, et
multitâche. UNIX est développé par la société USL (Unix Système
Laboratories). LINUX est la version PC de l‘UNIX, mais tous les
deux utilisent les mêmes commandes.
 OS2 : Système d'exploitation multitâche développé par la société
IBM. On le rencontre sur les micro−ordinateurs PS/2 d'IBM ou les
compatibles PC à partir des 386. Ce système intègre une interface

Informatique générale Page 140


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

graphique et permet ainsi de remplacer l'association MS DOS /


WINDOWS. Windows 95 lui ressemble étrangement.
 CP/M : Control Program for Micro-Computer est l‘un des premiers
systèmes d‘exploitation de la micro-informatique. Il a tendance à
disparaître actuellement dominé par le MS-DOS
 PROLOGUE : Système d‘exploitation français, multitâches et
multiutilisateur.
 PICK SYSTEM : Multitâche, multi-utilisateur particulièrement
adapté pour la gestion des données.
 NETWARE : Multitâche, multi-utilisateur et multiposte (1 à 1000
postes). Il gère les réseaux NOVEL.

V.1.6. La hiérarchie des répertoires (ou dossiers) et des fichiers

Nous avons vu dans la première partie de ce document que les données


stockées par les ordinateurs peuvent provenir de sources très variées :
textes, formules mathématiques, images, etc., chacune correspondant à un
mode de codage spécifique. Il ne saurait pourtant être question de stocker
toutes ces données «en vrac» dans la (les) mémoire(s) des ordinateurs. De
même que pour classer rationnellement des documents papiers, on les
range dans des pochettes et des classeurs, le système d‘exploitation gère la
mémoire disponible à l‘aide de fichiers et de répertoires (on parle aussi de
dossiers).
Un fichier sert à stocker des données de même nature (par exemple :
caractères provenant d‘un texte ou fichier son contenant la version
numérisée d‘une chanson).
C‘est une unité logique : un fichier ne correspond pas à un espace mémoire
réservé une fois pour toute, il n‘a pas de taille fixe prédéfinie et les données
qu‘il contient peuvent éventuellement ne pas être contigües en mémoire.
Mais, pour l‘utilisateur, la façon dont le système d‘exploitation gère les
fichiers est invisible (les informaticiens disent «transparente»). Tout est fait
pour que l‘utilisateur ait l‘impression que les fichiers qu‘il visualise se
présentent comme des suites de données cohérentes.
Dans les systèmes Windows, les fichiers reçoivent un nom qui se termine
toujours par une «extension» de 3 lettres précédée d‘un point. Ces 3 lettres
permettent de repérer avec quel logiciel le fichier a été rempli : elles
indiquent donc indirectement le mode de codage des données stockées
dans ce fichier. Ainsi, un fichier «.txt» contient du texte, donc est code par
une succession de bits correspondant à des codes ASCII, un fichier «.exe»

Informatique générale Page 141


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

est un programme exécutable, codé sous formes d‘instructions


élémentaires, un fichier «.bmp» code une image bitmap...
Les dossiers (ou répertoires), eux, sont plutôt à considérer comme des
boîtes ou des classeurs : ils ne contiennent pas directement des données,
mais servent d‘unités de rangement, pour recevoir soit des fichiers, soit
d‘autres dossiers (ils peuvent aussi rester vides).
Les fichiers et les dossiers sont structurés dans la mémoire de l‘ordinateur
de façon arborescente.

V.1.7. Les autres couches logicielles

Tout logiciel installé sur une machine prend place «au-dessus» du système
d‘exploitation, avec qui il échange les données nécessaires à son
fonctionnement. Par exemple, quand un logiciel prévoit une fonction
«impression», la demande d‘exécution de cette instruction par l‘utilisateur
est transmise par le logiciel au système d‘exploitation, seul habilité à lancer
une telle commande.
La figure ci-après donne une représentation imagée de cet «empilement».

Fig. : Empilement du système d‘exploitation et d‘un logiciel applicatif

Les couches logicielles peuvent bien sûr se superposer indéfiniment les


unes aux autres, comme dans la figure ci-après. Dans cette dernière figure,
Netscape est un navigateur (ancêtre de Mozilla et de Firefox), un «Plug-in»
est un logiciel donnant des fonctionnalités supplémentaires aux navigateurs
Internet, permettant par exemple de visualiser des vidéos ou d‘écouter des
fichiers musicaux en MP3.
Informatique générale Page 142
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Fig. : Empilement de plusieurs logiciels

Une telle organisation en «couches» explique pourquoi quand on installe


un nouveau programme dans un ordinateur, il faut tenir compte des autres
couches déjà présentes (et principalement du système d‘exploitation) : un
programme prévu pour échanger des données/ordres avec Linux sera
incapable de fonctionner avec Windows (et réciproquement).
Les machines vendues dans le commerce ont ainsi tendance à inclure de
plus en plus de couches préinstallées. La tendance en informatique est donc
d‘«internaliser» le plus possible de traitements, pour faciliter l‘usage
courant des ordinateurs. Chaque couche constitue en quelque sorte une
machine spécialisée dans certains services.

V.2. Logiciels d’application

Ces programmes appelés progiciels (produits de logiciels) sont


des ensembles des programmes disponibles pour toute une gamme de
fonctions telles que le traitement de texte, la gestion des bases de données,
les statistiques, les communications, etc.

V.2.1. Logiciels de traitement de texte.

Informatique générale Page 143


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Un traitement de texte est un programme permettant de traiter


le texte. Par rapport à la machine à écrire, l‘ordinateur a apporté la
possibilité extraordinaire de stocker en mémoire les textes frappés au
clavier. Grâce à des programmes de traitement de texte, un texte entré et
sauvegardé est modifiable et remaniable à l‘infini.
Quelques programmes de traitement de texte :
- WP (Word Perfect)
- WORD
- WORDSTAR
- WORKS
- FRAMEWORK
- PAGE MAKER
- AMI PRO etc.
Tous ces programmes permettent :
- La saisie des textes au clavier ;
- La conservation des textes sur supports magnétiques (disquettes, disque
dur, etc.) ;
- La consultation des textes à l‘écran ;
- Le traitement (correction, fusion des différents textes, mise à jour) ;
- L‘impression des textes.
V.2.2. Systèmes de gestion de base de données.
1) Qu'est-ce qu'une base de données?

Une base de données (son abréviation est BD, en anglais DB,


database) est une entité dans laquelle il est possible de stocker des données
de façon structurée et avec le moins de redondance possible. Ces données
doivent pouvoir être utilisées par des programmes, par des utilisateurs
différents. Ainsi, la notion de base de données est généralement couplée à
celle de réseau, afin de pouvoir mettre en commun ces informations, d'où
le nom de base. On parle généralement de système d'information pour
désigner toute la structure regroupant les moyens mis en place pour
pouvoir partager des données.

Informatique générale Page 144


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

2) Utilité d'une base de données?

Une base de données permet de mettre des données à la disposition


d'utilisateurs pour une consultation, une saisie ou bien une mise à jour, tout
en s'assurant des droits accordés à ces derniers. Cela est d'autant plus utile
que les données informatiques sont de plus en plus nombreuses.

Une base de données peut être locale, c'est-à-dire utilisable sur une
machine par un utilisateur, ou bien répartie, c'est-à-dire que les
informations sont stockées sur des machines distantes et accessibles par
réseau.

L'avantage majeur de l'utilisation de bases de données est la possibilité de


pouvoir être accédées par plusieurs utilisateurs simultanément.

3) La gestion des bases de données

Afin de pouvoir contrôler les données ainsi que les utilisateurs, le besoin
d'un système de gestion s'est vite fait ressentir. La gestion de la base de
données se fait grâce à un système appelé SGBD (système de gestion de
bases de données) ou en anglais DBMS (Database management system).
Le SGBD est un ensemble de services (applications logicielles) permettant
de gérer les bases de données, c'est-à-dire:

 permettre l'accès aux données de façon simple


 autoriser un accès aux informations à de multiples utilisateurs
 manipuler les données présentes dans la base de données (insertion,
suppression, modification)

Informatique générale Page 145


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Le SGBD peut se décomposer en trois sous-systèmes:

 le système de gestion de fichiers:


il permet le stockage des informations sur un support physique
 le SGBD interne:
il gère l'ordonnancement des informations
 le SGBD externe:
il représente l'interface avec l'utilisateur
4) Les principaux SGBD

Les principaux systèmes de gestion de bases de données sont les suivants:

 Borland Paradox
 Filemaker
 IBM DB2
 Ingres
 Interbase
 Microsoft SQL server
 Microsoft Access
 Microsoft FoxPro
 Oracle
 Sybase
 MySQL
 PostgreSQL
 mSQL
 SQL Server 11

V.2.3. Les tableurs


1). Qu‘est-ce qu'un tableur ?

Un tableur (ou chiffrier électronique) est un logiciel permettant de


manipuler des données numériques et d'effectuer automatiquement des
calculs sur des nombres stockés dans un tableau. Il est ainsi possible
d'automatiser des calculs complexes mettant en jeu un grand nombre de
paramètres en créant des tableaux appelés feuilles de calcul.

Informatique générale Page 146


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

De plus les tableurs permettent également de créer facilement des


représentations graphiques à partir des données saisies :

 histogrammes
 courbes

 diagrammes à secteurs

 ...

Ainsi le tableur est un outil pouvant servir aussi bien pour des activités de
secrétariat afin de saisir et d'organiser de nombreuses données, mais aussi à
un niveau stratégique et décisionnel en permettant de créer des
représentations graphiques synthétisant les informations.

2) Les principaux tableurs

Il existe de nombreux tableurs développés par les grands éditeurs. Les


principaux tableurs sont :

 Microsoft Excel, de la suite bureautique Microsoft Office


 Sun StarOffice Calc, de la suite StarOffice
 OpenCalc, de la suite OpenOffice
 IBM/Lotus 1-2-3 de la suite SmartSuite
 Corel Quattro Pro de la suite WordPerfect
 KSpread de la suite libre KOffice sous Linux

V.2.4. Logiciels de communication.

1) Logiciels de Messagerie.
Ce sont des logiciels permettant de lire ou d‘écrire des messages sur
Internet.
- Sous Unix : Elm, Pine etc.
- Sous Windows: Outlook Express, Microsoft Outlook.
2) Logiciels de Navigation.
C‘est un programme d‘application permettant de rendre l‘ordinateur
capable de se connecter sur le réseau Internet.
- Internet Explorer développé par Microsoft

Informatique générale Page 147


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

- Netscape développé par Claris Corporation.


3) Logiciels vocaux.
C‘est un logiciel de reconnaissance vocale.
Ex. : Voice mail.
4) Autres logiciels de communication.
- AOL Instant Messenger, MSN Messenger, Netmeeting, Yahoo
Messenger, etc.

V.2.5. logiciels de traduction.

Ce sont des logiciels permettant d‘obtenir de façon automatique une


traduction de tout type de texte (lettres, rapport, articles, …) d‘une langue
source vers une autre langue (cible).

Exemples : Reverso, MySoft, Systran, Vocabulario, etc.

V.2.6. Virus et antivirus.

1). Notion de Virus.

Un virus est un petit programme informatique situé dans le corps d'un


autre, qui, lorsqu'on l'exécute, se charge en mémoire et exécute les
instructions que son auteur a programmées. La définition d'un virus
pourrait être la suivante : "tout programme d'ordinateur capable d'infecter
un autre programme d'ordinateur en le modifiant de façon à ce qu'il puisse
à son tour se reproduire."

Le véritable nom donné aux virus est CPA soit Code Auto-Propageable,
mais par analogie avec le domaine médical, le nom de "virus" leur a été
donné.

Les virus résidents (appelés TSR en anglais pour Terminate and stay
resident) se chargent dans la mémoire vive de l'ordinateur afin d'infecter
les fichiers exécutables lancés par l'utilisateur. Les virus non résidants
infectent les programmes présents sur le disque dur dès leur exécution.

Le champ d'application des virus va de la simple balle de ping-pong qui


traverse l'écran au virus destructeur de données, ce dernier étant la forme
de virus la plus dangereuse. Ainsi, étant donné qu'il existe une vaste
gamme de virus ayant des actions aussi diverses que variées, les virus ne

Informatique générale Page 148


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

sont pas classés selon leurs dégâts mais selon leur mode de propagation et
d'infection.

On distingue ainsi différents types de virus :

 les vers sont des virus capables de se propager à travers un réseau


 les troyens (chevaux de Troie) sont des virus permettant de créer une
faille dans un système (généralement pour permettre à son
concepteur de s'introduire dans le système infecté afin d'en prendre le
contrôle)
 les bombes logiques sont des virus capables de se déclencher suite à
un événement particulier (date système, activation distante, ...)
2) Notion d'antivirus

Un antivirus est un programme capable de détecter la présence de virus


sur un ordinateur et, dans la mesure du possible, de désinfecter ce dernier.
On parle ainsi d'éradication de virus pour désigner la procédure de
nettoyage de l'ordinateur.

Il existe plusieurs méthodes d'éradication :

 La suppression du code correspondant au virus dans le fichier infecté


;
 La suppression du fichier infecté ;
 La mise en quarantaine du fichier infecté, consistant à le déplacer
dans un emplacement où il ne pourra pas être exécuté.
V.3. Logiciel d’aide à la programmation.

V.3.1. Qu'appelle-t-on langage informatique?

On appelle "langage informatique" un langage destiné à décrire


l'ensemble des actions consécutives qu'un ordinateur doit exécuter. Les
langages naturels (par exemple l'anglais ou le français) représentent
l'ensemble des possibilités d'expression partagé par un groupe d'individus.
Un langage informatique est une façon pratique pour nous (humains) de
donner des instructions à un ordinateur.

- Le langage utilisé par le processeur, c'est-à-dire les données telles qu'elles


lui arrivent, est appelé langage machine. Il s'agit d'une suite de 0 et de 1
(du binaire) mais pour plus de "clarté il peut être décrit en hexadécimal.
Informatique générale Page 149
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Toutefois le langage machine n'est pas compréhensible facilement par


l'humain moyen :o)

Ainsi il est plus pratique de trouver un langage intermédiaire,


compréhensible par l'homme, qui sera ensuite transformé en langage
machine pour être exploitable par le processeur.

L'assembleur est le premier langage informatique qui ait été utilisé. Celui-
ci est encore très proche du langage machine mais il permet déjà d'être plus
compréhensible. Toutefois un tel langage est tellement proche du langage
machine qu'il dépend étroitement du type de processeur utilisé (chaque
type de processeur peut avoir son propre langage machine). Ainsi un
programme développé pour une machine ne pourra pas être porté sur un
autre type de machine (on désigne par le terme "portable" un programme
qui peut être utilisé sur un grand nombre de machines). Pour pouvoir
l'utiliser sur une autre machine il faudra alors parfois réécrire entièrement
le programme!

Un langage informatique a donc plusieurs avantages:

 il est plus facilement compréhensible que le langage machine


 il permet une plus grande portabilité, c'est-à-dire une plus grande
facilité d'adaptation sur des machines de types différents
Les langages informatiques peuvent grossièrement se classer en deux
catégories: les langages interprétés et les langages compilés.

1) Langage interprété

Un langage informatique est par définition différent du langage machine. Il


faut donc le traduire pour le rendre intelligible du point de vue du
processeur. Un programme écrit dans un langage interprété a besoin d'un
programme auxiliaire (l'interpréteur) pour traduire au fur et à mesure les
instructions du programme.

2) Langage compilé

Un programme écrit dans un langage dit "compilé" va être traduit une fois
pour toutes par un programme annexe (le compilateur) afin de générer un
nouveau fichier qui sera autonome, c'est-à-dire qui n'aura plus besoin d'un
programme autre que lui pour s'exécuter (on dit d'ailleurs que ce fichier est
exécutable).
Informatique générale Page 150
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Un programme écrit dans un langage compilé a comme avantage de ne


plus avoir besoin, une fois compilé, de programme annexe pour s'exécuter.
De plus, la traduction étant faite une fois pour toute, il est plus rapide à
l'exécution.
Toutefois il est moins souple qu'un programme écrit avec un langage
interprété car à chaque modification du fichier source (fichier intelligible
par l'homme: celui qui va être compilé) il faudra recompiler le programme
pour que les modifications prennent effet.

D'autre part, un programme compilé a pour avantage de garantir la sécurité


du code source. En effet, un langage interprété, étant directement
intelligible (lisible), permet à n'importe qui de connaître les secrets de
fabrication d'un programme et donc de copier le code voire de le modifier.
Il y a donc risque de non-respect des droits d'auteur.

3) Langages intermédiaires

Certains langages appartiennent en quelque sorte aux deux catégories


(LISP, Java, Python, ..) car le programme écrit avec ces langages peut dans
certaines conditions subir une phase de compilation intermédiaire vers un
fichier écrit dans un langage qui n'est pas intelligible (donc différent du
fichier source) et non exécutable (nécessité d'un interpréteur). Les applets
Java, petits programmes insérés parfois dans les pages Web, sont des
fichiers qui sont compilés mais que l'on ne peut exécuter qu'à partir d'un
navigateur internet (ce sont des fichiers dont l'extension est .class).

V.3.2. Quelques exemples de langages couramment utilisés

Voici une liste non exhaustive de langages informatiques existants :

Langage Domaine d'application principal


Compilé/interprété
ADA Le temps réel langage compilé
BASIC Comme son nom l'indique... langage interprété
C Programmation système langage compilé
C++ Programmation système objet langage compilé
Cobol Gestion langage compilé
Fortran Calcul langage compilé
langage
Java Programmation orientée Internet
intermédiaire
MATLAB Calcul mathématique langage interprété
Mathematic Calcul mathématique langage interprété

Informatique générale Page 151


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

a
langage
LISP Intelligence artificielle
intermédiaire
Pascal Enseignement langage compilé
Prolog Intelligence artificielle langage interprété
Traitement de chaînes de
Perl langage interprété
caractères

Informatique générale Page 152


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Chapitre VI : LES RESEAUX INFORMATIQUES

Un réseau est constitué de composants reliés entre eux pour échanger des
données.
Le réseau téléphonique en est un exemple, existant bien avant les
ordinateurs.
L‘idée de connecter des ordinateurs remonte en fait aux années 60. C‘était
l‘époque de la guerre froide entre Américains et Soviétiques. Or, il est
apparu dans ce contexte que stocker des informations stratégiques (en
particulier militaires) dans un ordinateur unique rendait le site de ce
stockage très vulnérable à une attaque ciblée. Pour remédier à cette
faiblesse, des chercheurs américains ont eu l‘idée de répartir le stockage de
données sensibles entre plusieurs machines distantes mais reliées entre
elles, la défaillance ou la destruction de l‘une d‘elles pouvant être
compensée par les autres.
Le réseau mis en place à cette occasion n‘est autre que l‘ancêtre de
l‘Internet...
Au-delà des motivations stratégiques initiales, la constitution de réseaux
informatiques apporte une dimension supplémentaire à la puissance des
machines. Ils permettent en particulier de mettre en commun leurs
ressources (mémoires, processeur et périphériques). Ainsi, à l‘intérieur
d‘un réseau, des données stockées sur une certaine machine sont
disponibles à toutes les autres qui lui sont reliées (ce qui évite de les
recopier à plusieurs endroits). De même, un calcul important peut être
réparti entre les processeurs de plusieurs ordinateurs. Enfin, plusieurs
machines peuvent être reliées par l‘intermédiaire d‘un réseau à une
imprimante ou à un scanner, ce qui est plus économique que d‘en associer
à chacune d‘elles. Tout se passe donc comme si la capacité de stockage (la
mémoire) et la capacité de calcul (processeur) d‘une machine mise en
réseau étaient augmentées de celles des machines auxquelles elle est reliée.
En contrepartie de cette mise en commun, des systèmes de sécurité doivent
être mis en place afin d‘éviter que quiconque ayant accès aux données
disponibles sur un réseau puisse les modifier ou les détruire à sa guise...
Les ordinateurs seront sans doute de plus en plus indissociables des
réseaux dans lesquels ils sont intégrés. Il est donc primordial de
comprendre les principes de fonctionnement de ces nouvelles organisations
à la fois matérielles et logicielles.

Informatique générale Page 153


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

VI.1 La notion de protocole

Le réseau informatique le plus simple que l‘on puisse imaginer est celui
qui est constitué de deux ordinateurs reliés entre eux.

Pour qu‘ils puissent s‘échanger des données, ces deux ordinateurs doivent
tout d‘abord disposer d‘un moyen physique de faire circuler entre eux des
bits : en général un cordon ou un système émetteur/récepteur d‘ondes.
Mais cela ne suffit pas ! En effet, comment un ordinateur peut-il «savoir»
s‘il doit attendre des données, comment reconnaît-il le début ou la fin
d‘une transmission ? Il faut pour cela définir des conventions d‘échange,
un langage commun pour communiquer. C‘est ce qu‘on appelle un
«protocole de communication». Nous-mêmes, quand nous téléphonons,
nous utilisons un protocole implicite qui consiste généralement à échanger
un «allô» puis à décliner son identité. Les fins de communications sont
également balisées par des formules d‘au revoir plus ou moins rituelles.
Les ordinateurs procèdent de même, mais de façon systématiquement
normalisées.
Imaginons par exemple deux ordinateurs A et B reliés physiquement entre
eux.
A doit transmettre à B le contenu d‘un fichier de données. Comme un
fichier peut être de taille arbitrairement grande, il ne peut être question de
l‘envoyer « d‘un seul coup » à travers le cordon. Les données doivent tout
d‘abord‘ être découpées en parties appelées «trames». Une trame est
constituée d‘un ensemble de bits. Parmi ceux-ci, certains sont les bits de
données (le code du fichier à transmettre), d‘autres sont des bits de contrôle
nécessaires au protocole : ils servent à numéroter les trames, à donner leur
longueur, etc.
Imaginons que la taille du fichier à transmettre impose de le découper en 3
trames, numérotées respectivement 1, 2 et 3. Les étapes de la transmission
du fichier peuvent alors par exemple être les suivantes :

 A envoie une demande de connexion à B;


 B répond à A qu‘il est prêt à recevoir des données ;
 A envoie à B la première trame de son fichier ;
 B confirme la réception de cette première trame ;
 A envoie à B la deuxième trame de son fichier ;
 B annonce avoir mal reçu cette deuxième trame ;
 A renvoie de nouveau la deuxième trame ;
 B confirme avoir bien reçu la deuxième trame ;

Informatique générale Page 154


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

 A envoie la troisième trame de son fichier ;


 B confirme avoir bien reçu la troisième trame ;
 A annonce la fin de la connexion ;
 B accepte la fin de connexion.

Chacune de ces étapes correspond à un échange de bits : chaque phase de


l‘échange est codée suivant le protocole de communication commun aux
deux machines.
Un protocole est ainsi un langage spécifique qui comprend à la fois des
mots clés (pour signifier le début ou la fin d‘une transmission) et des règles
(redemander une trame qui a été mal reçue, etc.). Il est bien sûr stocké sous
forme de couche logicielle dans la mémoire de chaque ordinateur qui
l‘utilise.

VI.2 Topologie des petits réseaux

Quand on veut étendre la notion de réseau à plus de deux composants


(qu‘ils soient des machines ou autre chose !), une des premières questions
qui se pose est sa topologie, c‘est-à-dire l‘organisation, l‘architecture
concrète de ses connexions.
Ce paramètre est particulièrement important puisqu‘on souhaite que tout
point du réseau puisse communiquer avec n‘importe quel autre.
La solution apparemment la plus simple consiste à relier physiquement
chaque point à tous les autres, comme sur le schéma de la figure ci-après :

Figure : Réseau à connexions complètes

Mais une telle solution n‘est pas du tout économique en nombre de


connexions physiques (il faut mettre des fils partout !) et est de ce fait
inapplicable.

Informatique générale Page 155


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Figure : Réseau en anneau

Pour les réseaux informatiques de petite taille (jusqu‘à 100 machines


environ), les topologies adoptées sont généralement plutôt en anneau
(figure 3.21), en étoile (figure 3.22) ou en bus (figure 3.23). Notons que
dans le cas d‘un réseau en étoile, le point central auquel sont reliées toutes
les machines n‘est pas lui - même une machine mais un composant
particulier (dans les réseaux informatiques, on l‘appelle un «hub»).
Toute topologie «hybride», obtenue en combinant ces différentes
possibilités, est aussi possible. Ces organisations sont celles employées
dans les réseaux locaux, c‘est- à-dire ceux qui permettent de relier des
machines à l‘intérieur d‘un même site de travail (comme une entreprise ou
une université.

Figure : Réseau en étoile

Figure : Réseau en bus

Informatique générale Page 156


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

VI.3 Exemples de protocoles pour les petits réseaux

Les trames circulant sur de tels réseaux doivent spécifier les références de
leur expéditeur et de leur destinataire. Les protocoles de communication
pour l‘échange de données dans les réseaux locaux doivent en outre
prendre en compte la topologie avec laquelle ces réseaux sont constitués.
On donne ici la description de deux protocoles parmi les plus simples et les
plus courants.
– protocole CSMA (Carrier Sense Multi Access), utilisé dans les réseaux
locaux de type «Ethernet», en bus ou en anneau. Dans ce protocole, quand
une machine veut émettre des données à destination d‘une autre, elle
commence par se mettre «à l‘écoute» de la ligne à laquelle elle est reliée.
Si aucune trame n‘y circule déjà, alors l‘émission est autorisée. Il y a alors
un risque que plusieurs machines aient effectué ce test au même moment,
et donc que plusieurs trames soient envoyées ensemble sur la même ligne
et entrent en «collision».
Un tel événement, quand il survient, a pour effet d‘interrompre la
connexion.
Chacune des machines émettrices doit donc ré-envoyer la trame perdue.
Pour éviter qu‘une autre collision se produise immédiatement, le protocole
stipule que chaque machine émettrice doit attendre pendant un temps
aléatoire (tiré au sort par chacune d‘elle) avant de procéder à cette ré-
émission. Il semblerait que ce protocole soit efficace pour des réseaux
n‘excèdent pas 1 à 2 km. Au-delà, les collisions entre trames sont
incessantes et le réseau perd beaucoup en efficacité.
– protocole du jeton, utilisé pour les réseaux en anneaux. Un «jeton» est
une suite de bits circulant en permanence (dans un certain sens, toujours le
même) de machine en machine sur l‘anneau. Il symbolise le droit d‘accès à
ce réseau et peut donc se trouver dans deux états possibles : un état «libre»
et un état «occupé». Le principe du protocole qui l‘utilise est qu‘une
machine ne peut émettre des données qu‘à condition qu‘elle prenne
possession du jeton.

Figure : Exemple de transmission dans un réseau

Informatique générale Page 157


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

Le plus simple est de l‘illustrer sur un exemple. Imaginons donc que dans
l‘anneau de la figure 3.24, dans lequel la flèche indique le sens de
circulation du jeton, la machine A veuille transmettre des données à la
machine C. On suppose de plus que le jeton arrive dans l‘état «libre» à la
machine A. Les étapes de la transmission d‘une trame seront alors les
suivants :
– A met le jeton dans l‘état «occupé» et envoie la trame destinée à C (dans
le même sens de circulation que le jeton) ;

– B fait suivre le tout ;


– C se reconnait comme destinataire des données, il les conserve donc et
envoie un accusé de réception à destination de A;
– D fait suivre le tout ;
– A reçoit l‘accusé de réception de C, il remet le jeton dans l‘état «libre» et
le fait suivre.
Pendant tout le temps o`u le jeton est dans l‘état «occupé», aucune autre
machine n‘a le droit d‘émettre des données. Un tel protocole, plus
contraignant que le précèdent, permet le fonctionnement de réseaux de
plusieurs dizaines de km. Plusieurs améliorations sont possibles, comme le
fait de faire circuler plusieurs jetons en même temps, ou la constitution
d‘un réseau en «double boucle», o`u chaque connexion est dédoublée, afin
d‘éviter les pannes en cas de coupure d‘une ligne.

VI.4 Les réseaux maillés

Quand il s‘agit de relier entre eux un tr`es grand nombre de composants


(comme pour le réseau téléphonique) ou quand on veut interconnecter
entre eux une multitude de petits réseaux locaux (comme pour Internet),
une autre organisation est nécessaire.
La topologie la plus adaptée est alors celle du réseau maill2. Comme son
nom l‘indique, elle se propose de constituer un filet (net en anglais !) dont
les points extrêmes sont les composants à relier et dont les «mailles», les
nœuds intermédiaires sont ce que nous appellerons des relais. Un réseau
maill2 peut ainsi prendre la forme de la figure 3.25 (les relais sont figurés
par des rectangles noirs, les ronds peuvent eux- mêmes d2signer des
réseaux locaux) :

Informatique générale Page 158


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

VI.5 Deux protocoles possibles dans les réseaux maillés

Comment transitent les données entre deux points dans un réseau maillé ?
Quel protocole y est mis en place ? On distingue deux stratégies, répondant
à deux types d‘usages différents : la commutation de circuits (mode de
fonctionnement des téléphones fixes) et la commutation par paquets (qui
régit le fonctionnement de l‘Internet).
Chacune correspond à un protocole particulier, qui englobe les protocoles
précédents (et constitue donc des couches s‘empilant sur celles
correspondant à ces protocoles).
– la commutation de circuits :
Le principe de cette méthode est de réserver une ligne physique reliant les
deux points du réseau durant tout le temps o`u ils s‘échangent des données.
Les relais sont alors plutôt appelés des «commutateurs» ; ils servent
d‘aiguillage dans le maillage. Cet aiguillage est constant pendant toute la
durée de la connexion.
C‘est ainsi que fonctionnent les communications entre téléphones fixes.
Jusque dans les années 70 en France, des standardistes devaient jouer le
rôle de «commutateurs » humains, pour mettre en contact les
correspondants. Cette fonction a depuis été automatisée.

Figure : Réseau maillé

Cette méthode est bien adaptée à la transmission en continue de grandes


quantités de données. Son principal inconvénient est que la recherche d‘un
circuit libre entre deux points donnés est une procédure difficile et
coûteuse qui doit être renouvelée à chaque nouvelle émission, et également
en cas de panne en cours de communication. De plus, quand un tel réseau
est saturé, il n‘y a rien d‘autre à faire que d‘attendre la libération d‘une
Informatique générale Page 159
@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

ligne. Enfin, pour que tout se passe bien dans une transmission par
commutation de circuits, l‘envoyeur
et le destinataire doivent fonctionner à la même vitesse ; sinon, c‘est le
point le plus lent qui impose sa vitesse.
– La commutation par paquets :
Cette méthode a constitué l‘innovation majeure qui a permis le
développement du réseau Internet. Son principe est de découper les
données à transmettre entre deux points en «paquets» autonomes qui vont
transiter dans le réseau indépendamment les uns des autres. Un paquet
contient plus d‘information qu‘une trame : il peut contenir plusieurs
trames. Pour qu‘une telle stratégie fonctionne, il faut que les paquets
contiennent toutes les informations nécessaires à la reconstitution du
message. Un paquet inclut donc notamment :
– les coordonnées de son envoyeur ;
– les coordonnées de son destinataire ;
– les données elles-mêmes à transmettre (du moins une portion d‘entre
elles, sous forme d‘une ou plusieurs trames) ;
– la place du paquet dans l‘ensemble des données à transmettre.
Les relais sont dans ce cas appelés des «routeurs». Ce sont généralement
eux-mêmes des ordinateurs qui décodent les informations de chaque
paquet et prennent l‘initiative de les faire suivre sur une ligne ou une autre.
Les paquets provenant d‘un même fichier transitent donc indépendamment
les uns des autres sur le réseau et peuvent suivre des chemins différents. A
leur arrivée, ils doivent être remis dans le bon ordre (soit par le dernier
routeur soit par le récepteur) pour que le message complet transmis soit
reconstitué.
Il est possible d‘utiliser le réseau Internet, qui fonctionne ainsi, pour faire
passer des communications téléphoniques. La transmission donne alors
parfois l‘impression d‘être hachée, discontinue. Ce phénomène s‘explique
justement par le fait que la conversation orale est alors découpée en
paquets et que leur ré ordonnancement à l‘arrivée prend du temps, surtout
si l‘un d‘eux met plus de temps que les autres à parvenir à destination.
Cette technique, plus souple que la précédente, est bien adaptée à des
besoins de connexions simultanées et multiples, ce qui est le cas le plus
courant en informatique. Elle est aussi plus fiable que la précédente. En
effet, en cas de panne d‘un des routeurs ou d‘une des lignes, le chemin des
paquets est simplement modifié en cours de route sans qu‘une nouvelle
émission soit nécessaire.
De même, des paquets peuvent continuer à être émis même si le réseau est
saturé, parce que les routeurs (qui, rappelons-le, sont des ordinateurs

Informatique générale Page 160


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

spécialisés) ont eux- mêmes une mémoire interne. Ils peuvent donc stocker
provisoirement des paquets en attente.
Enfin, une telle organisation ne nécessite pas de synchronisation préalable
entre l‘émetteur et le destinataire. Elle s‘arrange parfaitement de matériels
hétérogènes.

VI.6. L’Internet

L‘Internet est certainement le réseau le plus connu, et la littérature le


concernant est pléthorique. Nous ne ferons qu‘effleurer ici quelques-unes
de ses caractéristiques.
Internet est en fait un réseau de réseaux associant des sous-réseaux de
structures hétérogènes.
Ce qui le caractérise, c‘est un ensemble de protocoles de communication
permettant à ces structures de communiquer entre elles via des routeurs,
au-delà de leurs différences techniques.
Internet trouve son origine dans la stratégie militaire évoquée au début de
ce chapitre. Son ancêtre s‘appelait ARPAnet (réseau conçu pour l‘ARPA
ou Advanced Research Project Agency, le département de la défense
américain) et est n´e en 1969.
A l‘époque, il a relié quatre universités de la côte ouest américaine, leur
permettant des connexions à distance et des échanges de courriers
électroniques.
D`es 1972, une quarantaine de lieux s‘étaient joints à ce premier réseau, et
des structures équivalentes avaient vu le jour en France et en Angleterre.
C‘est à ce moment que le protocole TCP (pour Transmission Control
Protocol) a été défini, à l‘initiative de Vint Cerf. Il inclura plus tard le
protocole IP (Internet Protocol), et on parle désormais de TCP/IP. En 1980,
ces protocoles sortent du secret militaire et entrent dans le domaine public ;
n‘importe qui peut les utiliser gratuitement.
C‘est ce qui a permis à Internet de prendre le pas sur les autres réseaux
naissant à cette époque, au point qu‘à partir de 1988, le nombre de
connexions double chaque année. L‘année suivante voit la création du
RIPE (Réseau IP Européen), chargé de coordonner Internet en Europe, et
deux informaticiens du CERN (le laboratoire de physique nucléaire à la
frontière franco-suisse) inventent le moyen de définir et de transmettre des
documents hypertextes : c‘est la création du langage HTML (Hyper Text
Markup Language), du protocole HTTP (Hyper Text Transfer Protocol) et
la naissance du World Wide Web (littéralement «toile d‘araignée
mondiale»). Cette nouvelle fonction commencera à prendre un essor

Informatique générale Page 161


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

considérable grâce à «Mosaic», le premier «navigateur» doté d‘une


interface graphique, bientôt relayé par Netscape en 1995.
A l‘heure actuelle, les principales fonctions d‘Internet sont les suivantes :

– l‘échange de courriers électroniques ;


– la messagerie instantanée
– le transfert de fichiers ou FTP (File Transfer Protocol) ;
– le contrôle à distance d‘une machine par «Telnet» ;
– l‘échange d‘informations dans des forums de discussion comme les
«News» ;
– la visite des sites multimédia du Web.

L‘accès à chacune de ces fonctions pour un particulier nécessite un


minimum d‘équipements. Tout d‘abord, il faut des moyens matériels. En
plus, bien sûr, d‘un ordinateur, un modem ou un boîtier ADSL est
nécessaire pour relier celui-ci avec le réseau téléphonique (voir partie 2.8),
dont l‘infrastructure est utilisée pour se rattacher à un routeur. Mais l‘accès
aux routeurs eux-mêmes est le privilège de sociétés ou d‘organismes qui
ont payé ce droit et qui s‘appellent des «pourvoyeurs de service».
Tout particulier qui souhaite disposer d‘un point d‘entrée sur Internet doit
donc s‘abonner à un tel pourvoyeur. Les universités françaises sont leur
propre pourvoyeur de service : elles sont rattachées au Réseau à haut débit
Renater, spécialement mis en place pour la recherche et l‘enseignement
supérieure. L‘abonnement à un pourvoyeur donne généralement droit à une
adresse électronique et à la possibilité de stocker des pages personnelles
sur un serveur, c‘est-à-dire une machine contenant des données accessibles
en permanence à partir de tous les points du réseau. Enfin, un ordinateur
connecté physiquement à Internet ne sera capable d‘accéder vraiment aux
données de ce réseau que s‘il dispose des couches logicielles adaptées aux
protocoles TCP/IP.
Ces programmes peuvent être soit spécialisés dans une certaine fonction
(«Thunderbird » ne permet que de gérer son courrier électronique) soit plus
généralistes (avec «Mozilla», on peut s‘occuper de son courrier, «surfer sur
le Web» et éditer des pages HTML).
Les protocoles TCP/IP peuvent aussi être utilisés dans le cadre d’un
réseau local privé : on parle alors d‘Intranet. Un tel réseau rend
disponibles les fonctions d‘Internet (en particulier la visite de pages Web),
mais à un nombre restreint d‘utilisateurs.
Ils sont de plus en plus utilisés dans les entreprises ou les grandes
organisations.

Informatique générale Page 162


@ Prof. Dr. Ir. Jeannot FATAKI N. BAZONGA

L‘explosion actuelle d‘Internet semble promettre l‘émergence d‘un


«nouvelle économie» (via notamment le commerce électronique) et de
services nouveaux (pour la formation à distance, par exemple). Elle pose
aussi des problèmes juridiques et éthiques inédits dans les domaines de la
sécurité (paiement électronique, piratage, téléchargements illégaux, etc.),
du fichage de données personnelles et des droits d‘auteurs, problèmes
amplifiés par le caractère «hors frontière» de tout ce qui se passe sur
Internet.

VI.7 Le Web et son avenir

Le Web désigne l‘ensemble des pages hypertextes lisibles à partir des


navigateurs, et l‘ensemble des données auxquelles elles donnent accès
(fichiers sons, images, vidéo, etc.). Chaque page est désignée par son URL
(Uniform Ressource Locator), appelée aussi son adresse. La particularité
du Web est la présence de liens entre pages, qui permettent justement la
«navigation» de page en page par de simples clics de souris.

Le Web est né en 1991 à l‘initiative d‘un informaticien du Cern, Tim


Berners-Lee. On peut dire que le Web est à l‘Internet ce que le logiciel est
au matériel dans un ordinateur.

Il est aussi structuré en réseau, mais c‘est un réseau virtuel, dont la


structure est complètement indépendante de la structure physique de
l‘Internet : la création de liens est laissée à l‘initiative des créateurs de
pages. Deux pages stockées dans des serveurs situés aux antipodes l‘un de
l‘autre sur la planète peuvent être très proches si elles contiennent des liens
qui permettent de passer de l‘une à l‘autre. Le Web s‘est ainsi développé
spontanément, grâce aux multiples contributeurs bénévoles qui l‘ont
investi. Il constitue à l‘heure actuelle une source de données et
d‘informations quasi inépuisable.

L‘un de ses créateurs, Tim Berners-Lee cherche maintenant à promouvoir


une évolution importante : il s‘agit de rendre les données du Web
(essentiellement textuelles, à l‘heure actuelle) compréhensibles non
seulement aux humains mais aux ordinateurs, afin d‘améliorer la recherche
d‘information et le raisonnement automatique à l‘échelle de l‘Internet :
c‘est le projet du «Web sémantique». L‘aventure du Web n‘en est encore
qu‘à son enfance...

Informatique générale Page 163

Common questions

Alimenté par l’IA

Floating-point representation allows computer systems to handle very large and very small numbers effectively, which is essential for scientific and engineering calculations. By separating a number into a mantissa and an exponent, floating-point allows for a wider dynamic range than fixed-point, thereby handling real numbers without excessive storage space. However, this representation can lead to precision errors due to the finite number of bits available for the mantissa and exponent, posing challenges in achieving exact numerical values .

The complement to two method is used in binary systems for representing signed integers. It simplifies the arithmetic operations, particularly subtraction, by handling positive and negative values in the same binary structure. This method also eliminates the need for separate circuits for sign handling, thereby saving time and resources during computation, leading to efficient processing of arithmetic operations in contemporary computing systems .

Memory hierarchy is designed to optimize the trade-off between speed and capacity by using different types of memory for different tasks. Fast but small memory, like cache, is used for frequently accessed data or instructions to speed up processing, while larger but slower memory, like main memory, stores less frequently used data. This approach balances cost and performance by improving access speed where it's needed most while maintaining overall storage capacity .

Bus architectures in computer motherboards offer several advantages: they provide structured pathways for data transfer across various components, ensure compatibility and communication efficiency, and allow for expandability through additional connections like PCI slots. By standardizing data exchange methods, bus systems facilitate integration and interoperability of diverse components, while also supporting system scalability .

The BIOS (Basic Input/Output System) is integral to system initialization and hardware management on a computer motherboard. It is stored in a read-only memory and interfaces between the operating system and hardware components such as the keyboard, display, and storage devices. It provides the necessary instructions for the system's initial boot process and ongoing hardware configurations, ensuring proper hardware functionality and system readiness for loading the operating system .

Address decoding is crucial in microprocessor systems to manage communication with multiple peripherals and memories through a single data bus. It prevents data conflicts by ensuring that only one component is selected for interaction at once. Each peripheral is assigned a specific address zone; the address decoder produces selection signals required for precise component communication, facilitating orderly data exchange .

The clock in a microprocessor is critical for timing and synchronizing all activities. It sets the pace at which a microprocessor interprets and executes program instructions, reads or saves results to memory, and communicates with exchange units. This regular timing is essential for ensuring orderly operations .

Operating systems manage multitasking on a single processor by using time-sharing techniques. The OS scheduler alternates access to the processor between multiple programs in small time slices, allowing each to execute a bit of processing before switching. This rapid switching creates the illusion of parallelism, though the processor handles tasks sequentially, ensuring resource distribution and system responsiveness .

Unicode significantly extends the character set covered by ASCII from 256 to 65,536, accommodating a wide variety of characters from different languages and symbols worldwide. This solves the problem of limited representation and international character support that ASCII could not address. The widespread adoption of Unicode facilitates consistent text and symbol representation across various systems and countries, promoting global digital communication .

Embedded systems are specialized computing systems performing dedicated functions within larger systems. The primary challenge is the limited resources—such as processing power, memory, and energy—due to their compact, cost-effective design. However, they benefit systems by enhancing efficiency, reliability, and specific functionality. They're crucial in applications like automotive controls, home appliances, and medical devices, providing tailored solutions with minimal waste .

Vous aimerez peut-être aussi