Documente Academic
Documente Profesional
Documente Cultură
ducation
et Technologie
Traitement formel
Le codage des informations
Architecture et fonctionnement
d'un ordinateur
La programmation et ses
langages
Le logiciel
Initiation l'informatique
Charles Duchteau
5.51
Dcembre 2002
1
Introduction
Mme si nous allons, ds lors, parler de tout autre chose que d'ordinateur, le fait mme
que le mot informatique appelle immdiatement celui d'ordinateur montre qu'il est essentiel de
prendre le prtexte d'une "dfinition" de ce dernier pour aborder l'essentiel : le caractre
formaliste des traitements d'informations exig par les caractristiques de l'ordinateur.
1.1
L'ordinateur ?
C'est
une machine
traiter des informations, de manire formelle (ou formaliste)
pour autant qu'on lui ait pralablement indiqu comment mener bien ce traitement.
CeFIS-FUNDP
Ch. Duchteau
Initiation l'informatique
Ch. Duchteau
CeFIS-FUNDP
2
... de manire formelle ...
Une manire frappante d'illustrer le propos du prsent chapitre est de retenir le slogan
suivant :
ne dites plus informatique ,
dites "inFORMEatique !
Principe 2-1: ne dites plus informatique
2.1
Il importe ici de bien saisir dans quel sens les mots "traiter des informations" doivent
tre entendus dans le contexte qui nous occupe.
Un point de dpart possible consiste chercher, dans notre exprience personnelle des
situations o ils nous semble bien "traiter des informations". Il est important cependant de
prciser ces exemples pour viter que n'importe quelle activit rationnelle soit prsente
comme "traitement d'informations"; et cela, mme si certains affirment que toute activit du
cerveau humain est traitement d'informations et que, ds lors, tous nos comportements
participent d'un certain traitement d'informations.
Les exemples sont fort nombreux, mais afin de pouvoir la fois obtenir des
descriptions prcises, nous prsenterons ces traitements d'information sous une forme
commune. Les exemples obiront donc la schmatisation suivante :
Informations
reues
(Entres)
Traitements
Informations
rendues
(Sorties)
Informations
consultes
Figure 2-1 : schma d'un traitement d'informations
Sans la contrainte apporte par la schmatisation ci-dessus, beaucoup de propositions de
"traitement d'informations" (par un tre humain) comportent comme effet (comme sortie) non
CeFIS-FUNDP
Ch. Duchteau
Initiation l'informatique
des informations "objectivables", mais plutt des comportements, des attitudes, des actions,...
C'est vrai qu'au del des traitements d'informations eux-mmes, les canaux (en informatique,
on dirait les priphriques) par lesquels les informations sont acquises ou rendues marquent
une norme diffrence entre les ordinateurs et les humains.
devient
Un texte d'une dizaine
de pages, en franais
et
Prendre des notes pendant un cours
devient
L'enregistrement vido
d'une heure de confrence
Quelques pages de
texte crit
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
de pages, en franais
La version traduite
du texte
Un dictionnaire
franais-anglais
La description d'une
fonction mathmatique
La drive de la fonction
fournie
un formulaire
de physique
Le texte de la solution
du problme
mais aussi (mme si nous n'avons pas le sentiment que le traitement d'information suivant soit
d'une grande difficult) :
L'infinitif d'un verbe
rgulier de la premire
de l'indicatif, du conditionnel et du
conjugaison
subjonctif
Ch. Duchteau
Initiation l'informatique
ou plus rflexes (pour ne pas employer les termes "automatiques" ou "machinaux") si l'on veut
voir merger des exemples comme celui de la conjugaison ou ceux des manipulations
numriques.
A chaque fois que c'est possible, nous classons peu peu ces propositions pour obtenir
le tableau suivant :
Traitement formel ou
aisment formalisable
Traitements portant
sur des nombres
Traitements portant
sur le langage
(texte,...)
Autres
- rsumer un texte
- synthtiser une confrence
- traduire un texte
- crire une dissertation
- corriger l'orthographe d'un texte
- ...
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
il est normal que la cellule correspondant au traitement non formel de nombres reste
vide : les manipulations numriques sont par nature formelles1; pour additionner,
soustraire, multiplier, il n'est pas ncessaire que les nombres concerns aient un
sens. Ce n'est pas un hasard si les premiers ordinateurs se sont appels des
calculateurs lectroniques : le calcul (portant sur des nombres) entre parfaitement dans
les "comptences" du "manipulateur formaliste" qu'est l'ordinateur2.
Il nous suffit de nous interroger sur ce que nous pensons que l'ordinateur pourra faire avec
des nombres pour obtenir une srie d'exemples corrects : additionner, soustraire, comparer,...
C'est bien normal puisque les manipulations numriques de l'ordinateur sont identiques aux
ntres et ne font en aucun cas rfrence une signification des nombres manipuls.
Il est tout aussi normal que la cellule correspondant aux manipulations formalistes
portant sur du texte (ou plus gnralement sur des informations langagires) n'ait t
complte qu'avec peine puisque nos traitements portant sur du texte ne sont presque
jamais formels. Un texte, d'abord nous le lisons pour en prendre connaissance; on ne
lit pas "Notre-Dame de Paris pour le plaisir de dclarer que ce roman comporte
348.832.766 mots ou qu'on y trouve 173 fois le mot "encore".
Essayez donc de prvoir les manipulations que l'ordinateur peut accomplir sur un texte : vous
verrez, que contrairement ce que vous pouviez de prvoir concernant les nombres, vos
suggestions seront bien moins nombreuses.
Et mme quand les traitements voqus propos de textes sont formalisables, nous ne
nous y attelons pas de manire formaliste. La conjugaison est cet gard clairante :
conjuguer correctement peut se faire en ne tenant compte que de la forme (= de la
succession des lettres) du verbe conjuguer, mais ce n'est pas en voquant ces rgles
formelles que nous conjuguons : c'est par euphonie, de manire presque rflexe et non
en manipulant les lettres constituant pronoms, radicaux et terminaisons. Plus
profondment, ceci veut dire que le dcorticage formaliste auquel l'informatique nous
oblige ne nous est pas naturel puisque, mme pour les tches formalisables nous ne
pouvons prendre appui sur nos manires de procder : nous serions bien incapables
d'ailleurs en gnral de prciser ce que sont ces processus; ils ne font en tout cas
gnralement pas appel des procdures conscientes.
-
La dcision de placer tel exemple dans telle cellule du tableau est videmment en
partie arbitraire. Face la tche "dtecter les fautes d'orthographe dans un texte", on
peut, selon ce qu'on sous-entend par ces mots, la considrer comme formalisable
(sinon on ne parlerait pas des "correcteurs orthographiques" associs aux logiciels de
traitement de texte) ou comme difficilement formalisable, si l'on attend une dtection
fine des erreurs grammaticales.
"On ne peut parler de signification attache un nombre. 4 ne veut rien dire. C'est un repre."
..."L'information numrique a donc ceci de trs particulier qu'elle est un contenant sans contenu, une
forme sans signification." (Arsac 87).
Le chapitre suivant nous montrera d'ailleurs que quelles que soient les informations que nous pensons lui
faire manipuler, l'ordinateur reste essentiellement un calculateur
CeFIS-FUNDP
Ch. Duchteau
2.2
Initiation l'informatique
suit :
La description d'un traitement d'informations est formelle ou
formaliste si elle ne fait appel qu' la forme, l'apparence des
informations traites sans jamais se rfrer au sens que nous leur
donnons.
Un traitement d'informations est formalisable s'il est possible d'en
donner une description formelle.
Il est formalis , si cette description formelle a dj t ralise.
C'est sans doute le terme formalisable qui rend le mieux compte de l'effort qui est au
coeur de la discipline informatique, celui d'une description purement formelle des traitements.
En effet, l'informatique peut tre vue comme une entreprise et une dmarche (une qute sans
fin ?) pour faire reculer vers la droite la frontire dfinie dans le tableau ci-dessus, pour largir
la colonne du formalis et rduire celle o les traitements semblent seulement redevables du
sens.
L'objet de l'informatique, c'est en effet de transformer du formalisable
en formalis.
La frontire entre le formel et le non formel n'est donc pas rigide ou impermable,
puisque tout l'effort de l'informatique est de faire passer certains traitements dans la colonne
de gauche. .
De plus, mme si la distinction formel - non formel est essentielle, elle n'est pas
toujours simple tablir, sauf pour ceux qui, justement, ont une longue exprience de
l'informatique ou de l'utilisation des outils qu'elle a scrt et ont ds lors intgr les
contraintes relatives au caractre formaliste des traitements. Plutt que de parler de deux
catgories, il serait d'ailleurs prfrable d'voquer un continuum sur lequel on classerait les
traitements d'information :
Trs facilement
formalisable
4
5
formel : qui concerne uniquement la forme. Une distinction purement formelle. Qualits formelles d'une
oeuvre. Qui considre la forme, l'apparence plus que la matire, le contenu. Classement, plan formel. (Le
Petit Robert, 1993).
Formaliste : qui observe les formes, les formalits avec scrupule. (Le Petit Robert, 1993)
Formaliser : rduire (un systme de connaissances) ses structures formelles. (Le Petit Robert, 1993)
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
domaine du formalisable. C'est ici essentiellement une question d'opinion : la traduction d'un
texte constitue-t-elle un traitement formalisable ? et la synthse d'un texte ? et la correction de
l'orthographe ?
Il est en tout cas indispensable de proposer un critre mme s'il est imparfait ou
approximatif qui permette en quelque sorte de mesurer le degr de difficult de formaliser un
traitement d'information.
2.3
J'ai un ami portugais qui ne connat pas un tratre mot de franais, et je souhaite lui
donner (en portugais videmment) les indications ncessaires certains travaux. Il est facile
de voir que je pourrai par exemple lui fournir la marche suivre pour qu'il puisse conjuguer
un verbe franais : il ne sera pas conscient qu'il est en train de conjuguer, il serait parfaitement
incapable de prononcer les suites de caractres que je vais lui demander d'crire, il ne
comprendra pas ce que signifie le travail que je lui commande, mais cela n'a aucune
importance : en suivant mes indications il va conjuguer en franais.
Ainsi en se limitant un verbe rgulier du premier groupe, mes instructions (en
portugais) pourraient tre du style :
-
...
il crit porter
le mot devient port
il crit je porte
...
Mme si cela est fort loin des contraintes syntaxiques des langages de programmation (voir la
suite du cours), nous venons de concevoir ainsi un premier programme ( destination du
copain portugais). Nous allons y revenir, puisque (et cela illustre bien cette difficult de
formaliser) ce premier exemple de programme est aussi le premier exemple de programme
incorrect... On notera que nous sommes ici aux prises avec la quatrime partie de la
"dfinition" pralablement donne pour l'ordinateur : "pour autant qu'on lui ait indiqu
comment mener bien ces traitements".
De la mme manire nous pourrons expliquer notre ami portugais (mme s'il n'y
comprend rien) comment raliser une addition crite, comment calculer une moyenne, et
mme en prenant pas mal de temps comment calculer la drive d'une fonction mathmatique
lmentaire.
Mais si le travail consiste donner (en portugais) les rgles qui vont permettre de
rsumer un texte crit en franais, on devine qu'il s'agit l d'une tche redoutable, peut-tre
mme impossible.
Il importe de bien insister ici sur le fait qu'il s'agit de donner les indications pour un texte
quelconque, qu'on n'a videmment pas devant les yeux lorsqu'on rdige ces indications.
CeFIS-FUNDP
Ch. Duchteau
Initiation l'informatique
Sinon, si c'tait de la synthse de tel texte prcis qu'il s'agissait, la solution serait immdiate :
je le rsume moi-mme, je donne ce rsum mon ami qui n'a plus qu' le rendre. Ce que je
veux c'est lui indiquer comment rsumer n'importe quel texte, c'est avoir formalis le
processus de synthse d'un texte.
On voudrait que face un texte qu'il ne comprend pas (puisque c'est un texte franais),
o il ne voit qu'une succession de lettres et de mots, il puisse l'aide de nos indications
produire un autre texte franais (qu'il ne comprendra pas davantage) et qui constitue un
rsum du premier... On mesure j'espre toute la difficult du processus.
Et on devine que des stratgies formalistes simples comme "rcrire le texte en ne
retenant qu'un mot sur cinq" conduiront un charabia qui ne constituera en aucune manire
une synthse du texte original.
Le mme dfi se rencontre si la travail consiste traduire un texte du franais vers
l'anglais. On pourrait penser une approche consistant fournir au copain portugais un
lexique franais - anglais qui comporterait par exemple les quivalences :
il
he
la
the
porte
door
ce qui conduirait immanquablement traduire la courte phrase "il la porte" par "he the door"...
Mais ce qu'il est essentiel de saisir c'est que si demain on dispose pour ces diverses
tches des indications ncessaires destination du copain portugais, aprs-demain, on pourra
les faire faire par l'ordinateur : le problme de leur formalisation sera rgl.
Le propos n'est videmment pas ici d'assimiler les capacits d'un humain avec celles d'un
ordinateur. Mais du point de vue de la ncessit de formaliser (dcrire les traitements sur la
seule base de la forme des informations traiter, sans jamais faire intervenir la signification, le
sens que nous attachons ces informations), le passage par un homme ne comprenant pas
notre langue mais auquel nous pouvons prter par ailleurs les mmes possibilits de
traitements formels que les ntres (il peut compter, additionner, reprer une suite de
caractres dans un texte,...) est clairant.
On lira ce propos la magnifique contribution "Esprits, cerveaux et programmes" de John
Searle dans (Hofstadter 87).
2.4
10
le logiciel, ce sont les indications de traitement, conues par un homme (ou une quipe) et dont il est
question dans la pseudo-dfinition apporte plus haut.
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Il y a mieux : lorsqu'un mot fautif est dtect, une liste de corrections envisageables est
propose par le correcteur orthographique. Il est amusant de dcrypter dans les mots alors
proposs la stratgie - videmment purement formelle- suivie par le programmeur (= celui qui
a donn les indications).
Ainsi la phrase "J ai Laic desborder le l", conduit le correcteur orthographique
pingler le mot fautif "Laic", qui voit alors proposer comme candidats "Alice, Laciez, Laiss,
Laisse, Laisser, Laissez, Lache, Lain, Lait, Laies, Lac, Lanc". On apprciera le fait que
comme l'original, les mots proposs le sont en tout cas avec une majuscule. "desborder" lui ne
provoque l'apparition que de deux propositions (dont on notera la proximit smantique avec
"dborder" : "dessouder" et "destroyer" ! Enfin, "l" conduit aux suggestions "le, l, lai, lei,
let"... Voil autant d'illustrations du caractre formaliste des traitements.
Si l'on veut bien, pour quelques instants, se mettre dans la "peau de l'ordinateur" et
pour en terminer avec ces problmes de mots, tout pour "lui" (y compris nos plus beaux textes
franais) est comparable ce que sont pour vous les "textes" qui suivent :
CeFIS-FUNDP
Ch. Duchteau
11
Initiation l'informatique
ou
ou mieux encore
Je vous laisse le soin de souligner les mots fautifs du premier, de mettre au pass le
second et d'crire au pluriel, chaque fois bien entendu que vous le jugez opportun, le
troisime...Vous voil maintenant "le portugais" de chacun de ceux qui, comprenant
parfaitement ces textes, devraient vous donner pour chacune de ces tches les indications
ncessaires.
2.5
La programmation
12
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
explications, notre ami portugais se voit confier le soin de conjuguer le verbe "aimer", il
fournira sans sourciller "je aime", puisque c'est l ce que nos indications lui ordonnent. On
pourra toujours alors corriger7 la premire version en ajoutant les considrations
indispensables sur les verbes commenant par une voyelle. Puis on se rendra compte (toujours
en se limitant aux verbes rguliers du premier groupe -ceux en "er"-) qu'il y a aussi le
problme du "h" (j'hsite, mais je hume); ces "dtails" rgls, j'aurai la surprise de voir l'ami
portugais, servi par un utilisateur factieux, conjuguer sans problme "je cerisie" (premire
personne de l'indicatif prsent du verbe "cerisier") ou "je plombie"... et il me faudra alors lui
fournir, en plus des indications, la liste des verbes acceptables...
C'est cela le dfi qui est au coeur de la programmation : comment dcrire, sur la seule
base de la forme, sans jamais rfrer au bon sens ou une commune exprience, des
traitements d'informations que nous n'accomplissons pas de manire formaliste. Je l'ai voqu
plus haut, nous conjuguons essentiellement par euphonie et non pas en appliquant je ne sais
quelle rgle; nous conjuguons sans rflchir... Et mme lorsqu' l'cole fondamentale nous
avons appris conjuguer, l'essentiel tait dj fait : nous crivions sans doute parfois "ils
porte", jamais "vous portons".
Vous pouvez passer en revue les tches prcdemment classes comme "aisment
formalisables" (crire un nombre en toutes lettres, conjuguer, trier, calculer une drive) et
vous admettrez sans doute que l'adverbe aisment est peut-tre un peu exagr... sauf
lorsqu'on compare ces tches celles de la seconde colonne (rsumer, traduire, synthtiser,...).
C'est ce qui fait sans doute de la programmation -mme si d'autres difficults viennent
de ce que l'ordinateur est infiniment plus formaliste encore que notre ami portugais - une des
activits les plus inhabituelles et les plus complexes.
2.6
Et l'intelligence ?
Il est prsent vident que, de notre point de vue d'tre humain, d'autres termes
peuvent tre accols l'axe qui va de l' "aisment formalisable" au "trs difficilement
formalisable".
Trs facilement
formalisable
En informatique on dit "debugger" (ter les "bugs"); mme si l'exotisme du terme en amoindrit peut-tre
la porte, il s'agit bien de corriger des erreurs...
Mme si la description des traitements formaliss qui dcrivent ce processus n'est pas simple; on retrouve
nouveau le foss entre le "faire" (immdiat, rflexe,...) et le "faire faire" (qui ne peut se baser que sur
des considrations de forme); c'est ce foss qui constitue toute la difficult de l'activit de programmation.
CeFIS-FUNDP
Ch. Duchteau
13
Initiation l'informatique
Si l'on veut bien en effet parler non d'intelligence, mais de comportements intelligents,
la question du comportement intelligent d'un systme (mme informatis) me semble pouvoir
tre pose11 et mrite plus qu'un haussement d'paules ou que les anathmes de ceux qui
dfinissent l'intelligence comme "ce que ne font pas (encore) les ordinateurs".
Il faut sans doute dissocier la question de l'intelligence et celle de la conscience : vous
pouvez me montrer votre intelligence, jamais vous ne pourrez me prouver votre conscience ou
le fait que vous "pensez". Le seul tre dont je sois certain qu'il est conscient et qu'il pense,
c'est moi. (et encore!!!).
2.7
Questions rcapitulatives
(Surtout 1, 2, 3, 7 et 8). Les autres sont l pour les "mordus".
1.
Pouvez vous classer chacun des exemples de traitements d'informations suivants sur
l'axe qui va du "facilement formalisable" au "trs difficilement formalisable". Justifiez
et expliquez votre rponse. Si vous pensez que le traitement est "assez aisment
formalisable", imaginez sans entrer dans le dtail comment on pourrait s'y prendre .
a.
b.
9
10
11
14
Dtecter dans un texte crit en franais les fautes d'orthographe d'usage ou les
fautes de frappe.
Informations en entre : le texte dactylographi
Informations en sortie : le mme texte avec les mots fautifs souligns.
Corriger dans un texte franais les fautes d'orthographe d'usage et les fautes de
frappe.
Informations en entre : le texte dactylographi
Ce qu'on appelle le "logiciel", et dans le cas du jeu d'chec on en devine la taille et la complexit...
Un ordinateur "tout seul" ou "tout nu" (= sans logiciel) , a n'existe pas; et comme a n'existe pas, a ne
peut forcment pas "tre intelligent".
et l'a t depuis bien longtemps (avant mme la naissance de l'ordinateur) par des gens comme Turing qui
considrait mme la question plus choquante "Les machines peuvent-elles penser ?" (Cf. Hofstater 87, pp.
61-76).
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
2.
3.
4.
12
CeFIS-FUNDP
Ch. Duchteau
15
5.
Initiation l'informatique
6.
AATGCTA
Commentez le passage suivant :
Les molcules de la vie, protines et acides nucliques, portent leur information
inscrite sous la forme d'enchanements linaires d'acides amins (pour les protines)
ou de nuclotides (pour les acides nucliques). Ces successions de signes cods sont
analogues celles des lettres dans un mot, des mots dans une phrase ou d'un phrase
dans un paragraphe. Il est donc normal que les programmes mis au point par les
informaticiens pour traiter des chanes de caractres puissent tre adapts au traitement
de l'information biologique. Ces programmes permettent le stockage, le traitement, la
manipulation de l'information biologique. (tir de "L'aventure du vivant", de J. de
Rosnay, Editions du Seuil).
16
7.
Pourriez-vous citer l'une ou l'autre tche propos desquelles l'tre humain parlerait de
"traitement d'informations" et qui sont hors de porte (actuellement en tout cas) de
l'ordinateur ?
8.
Pourriez vous prciser dans quel contexte nous avons voqu le "critre du copain
portugais" ? Expliquez.
Ch. Duchteau
CeFIS-FUNDP
3
... des informations...
Introduction
Nous savons prsent que les traitements permis par l'ordinateur auront toujours un
caractre formel (ou formaliste) et que ds lors le mot "information" y prendra un sens trs
particulier.
Il reste cependant dire sous quelle forme les diverses informations devront tre
"crites" pour tre acceptable par l'ordinateur. Sous quelle forme l'ordinateur accepte-t-il un
texte, une image, des sons,...?
Ce que nous allons prsent dcouvrir c'est que
Pour qu'une information soit acceptable par l'ordinateur, il faut que
nous puissions la reprsenter, la coder par une srie finie de nombres
entiers.
Principe 3-1: codage de l'information
Les "connaisseurs" objecteront sans doute qu'en ralit, l'alphabet de l'ordinateur tant
binaire, il ne dispose pour "crire" les informations que nous lui fournissons que de 2
symboles (habituellement nots 0 et 1).
L'exprience m'a montr qu'il est inutile (et mme nuisible) ce stade de la dcouverte du
monde de l'informatique de polluer la dmarche par des dtails qui n'apportent rien d'essentiel
et vont au contraire mettre l'accent sur des caractristiques anecdotiques cette tape. Il
suffit de savoir que pour l'ordinateur "tout est nombre" et non qu'en plus, ces nombres, il ne
les crit pas comme nous le faisons.
Lorsqu'on en saura plus sur la "machine" ordinateur et son organisation interne, il sera
toujours temps de parler de l'criture des nombres en binaire. Inutile d'ajouter ici des dtails
qui augmentent le caractre mystrieux des traitements effectus par l'ordinateur.
3.2
Codage
Nous sommes tellement accoutums employer les signes qui constituent notre
langage crit que nous n'imaginons plus qu'il s'agit l d'un code1. Ainsi, vous tes
actuellement en train de lire ces quelques lignes, et de dcoder (sans en tre vraiment
1
Code : systme de symboles destin reprsenter et transmettre une information. (Le Petit Robert,
1993)
CeFIS-FUNDP
Ch. Duchteau
17
Initiation l'informatique
conscient) leur contenu. Notez qu'ici le mot "dcoder" est essentiellement employ dans le
sens de "comprendre". Cette lecture-dcodage ne vous demande d'ailleurs pratiquement aucun
effort.
C'est seulement si subitement vous vous trouvez face au "texte"
que ce dernier
va sans doute vous faire sursauter. Il y a l une succession de signes qui n'ont aucune
signification, aucun sens pour vous. C'est seulement si je vous indiquais le systme de codage
employ que, en associant chaque signe un autre signe -habituel-, vous reconstitueriez, sous
une autre forme le message cod, forme laquelle vous seriez capable d'associer un sens.
Notons que nous nous retrouvons nouveau aux prises avec des termes difficiles
comme signe (ou symbole), comme sens (ou signification).
Pourriez vous trouver des informations qui se prsentent sous plusieurs formes
diffrentes, mais en dessous desquelles nous identifions pourtant la mme
information ?
Une mme information peut souvent se prsenter sous des formes diverses. Ainsi,
TELEPHONE
ou encore
Tlphone
Tlphone
"
quatre
QUATRE
4
IV
IIII
Le vrai problme tant de savoir pourquoi nous disons qu'il s'agit pourtant chaque
fois de la mme information, alors que les formes sont pourtant diffrentes et qu'il n'y a aucun
rapport formel entre les "dessins"
et Tlphone.
18
Avec les anecdotes bien connues lorsque l'information n'est pas reconnue donc mal transcrite. Lisez donc
haute voix la phrase suivante (que je transcris phontiquement) puis tentez de l'crire : "Lai poul ctai
sv dai kon leur avai ouvair la porte."
J'aime beaucoup cet exemple car j'ai encore trs vivaces dans la mmoire les souvenirs des exercices de
transcription que nous faisions en 3me ou 4me primaire, o il s'agissait d'crire en chiffres des nombres
donns en lettre et rciproquement. Ainsi, si aujourd'hui "vingt-deux" et "22" reprsentent la mme
information, cela rsulte d'un apprentissage que nous avons tous men dans notre enfance.
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
nous en ayons intgr les rgles. Un bel exemple en est l'alphabet morse dont les dbutants
dchiffrent pniblement les messages lettre aprs lettre et que les experts sont capables de
"lire" presque couramment.
En tant qu'tre humain, nous parlerons videmment plus volontiers de code ou de
codage lorsque nous n'avons pas encore assimil (par apprentissage) le systme de
reprsentation en question.
3.3
Notons que les quelques lignes qui prcdent posent plus de questions qu'elles
n'apportent de rponses. Et ceci est li l'ternel dbat, rveill par l'informatique, entre forme
et sens. Ce sont ces questions qui sont au coeur de disciplines comme la linguistique ou la
smiologie (mme si l'on y parle plutt de "signifiant" (forme) et "signifi" (sens)). Je ne
souhaite pas ici prolonger ce dbat, mais il est vident que des questions comme les suivantes
sont au coeur de l'informatique :
-
Puisque "4" et "quatre" reprsentent ou voquent pour nous (tres humains parlant
franais) la mme chose, quelle peut bien tre cette chose ? (Notons que le fait d'crire
"information" au lieu de "chose", mme si elle montre que cette question est au coeur
de l'informatique, ne change rien la question).
Est-ce que ce que nous nommons sens ou signification est autre chose qu'une forme
particulire au sein de notre cerveau, qu'une certaine configuration de circuits
neuronaux ?
On est videmment loin de la technique, des RAM et des MegaBytes avec ce type de
problmatique. Certains trouveront sans doute ces questions sans intrt; pourtant l'ambition
de l'informatique n'est elle pas de formaliser la plupart des traitements dont nous sommes
capables : lire, crire un texte sous la dicte, reconnatre un visage au milieu d'une centaine
d'autres,...
3.4
Pour qu'une information 4(ou qu'un ensemble d'informations) soit acceptable par
l'ordinateur, il faut que nous puissions la coder, la reprsenter sous la forme d'une srie finie
de nombres entiers. On verra dans la suite qu'en ralit ces nombres eux-mmes sont crits en
binaire (et non en dcimal), mais cela est sans importance pour l'instant. Nous allons donc
prsent passer en revue un certain nombre d'informations donnes sous des formes qui nous
sont habituelles et dcider si ces informations sont codables sous forme de sries de nombres
entiers et proposer un tel systme de codage.
Pourriez vous imaginer un codage en une srie finie de nombres entiers pour
l' information suivante :
BONJOUR
A quel ensemble d'informations votre systme de codage est-il applicable ?
Pourrait-on l'tendre ?
CeFIS-FUNDP
Ch. Duchteau
19
3.5
Initiation l'informatique
Codage de texte
Il est vraiment fort simple de dcouvrir une premire bauche de solution la petite
question pose ci-dessus. Il suffit videmment d'associer lettres majuscules et chiffres
A
1
B
2
C
3
...
...
...
Z
26
Ainsi, le code peut-il se dcrire par la correspondance :
Ensemble
des
majuscules
une lettre majuscule
et ds lors
lettres
BONJOUR
se coderait par
2 15 14 10 15 21 18
Mais on devine immdiatement que, comme seules les majuscules sont codables dans
ce systme, il ne serait pas possible de coder les informations suivantes :
COMMENT VAS TU ?
(puisqu'on n'a pas associ de nombre l'espace et au point d'interrogation)
et encore moins
J'hsite; peut-tre, parler d'INFORMATION !
puisque les lettres minuscules, les minuscules accentues, les signes de ponctuation ne sont
pas cods (du moins dans le code propos).
Il est pourtant facile d'imaginer des extensions possibles pour que chacun des
caractres habituellement utiliss trouve un numro. Ceci a donn lieu plusieurs systmes de
codage dont les plus connus sont le systme ASCII et le systme ANSI.
32
33
34
35
36
37
38
39
40
41
0
1
2
3
4
5
6
7
8
9
48
49
50
51
52
53
54
55
56
57
A
B
C
D
E
F
G
H
I
J
65
66
67
68
69
70
71
72
73
74
[
\
]
^
_
`
Ch. Duchteau
91
92
93
94
95
96
a
b
c
d
e
f
g
h
i
j
97
98
99
100
101
102
103
104
105
106
{
|
}
~
123
124
125
126
CeFIS-FUNDP
Initiation l'informatique
*
+
,
.
/
42
43
44
45
46
47
:
;
<
=
>
?
@
...des informations...
58
59
60
61
62
63
64
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
pourquoi les entiers de 0 31 ne sont-ils pas repris pour coder certains des caractres ?
1.
Les premiers entiers positifs disponibles correspondait (et correspondent encore) des
caractres spciaux : les caractres de contrle. Ces derniers datent des dbuts de
l'informatique et nous hritons l, comme souvent, de choix faits dans le pass et dont
la pertinence n'est plus aujourd'hui vidente.
Ces caractres de contrle servent provoquer des ractions particulires des systmes
informatiques. Ainsi, fort souvent le caractre cod 7 provoque un bip sonore. Le
caractre cod 13 est celui correspondant l'appui sur la touche Entre (aussi appele
Return) et marque sur le clavier par le symbole (on appelle souvent ce caractre
"retour du chariot", en anglais "carriage return" par analogie avec le "retour du
chariot" des machines crire). De mme, on le dcouvrira sans la suite, ces caractres
de contrle sont employs par exemple par l'ordinateur pour signaler aux imprimantes
des changements effectuer lors de l'impression : passage des caractres italiques,
gras,... alors que les caractres habituels sont simplement imprims.
Une remarque importante ici : nous aurons l'occasion de signaler plus loin dans le
cours que "l'ordinateur n'existe pas", ce slogan exprimant le fait que ce que nous avons
toujours en face de nous c'est un couple "ordinateur + logiciel"5. Il n'est donc pas
possible de prvoir coup sr le comportement du systme "ordinateur + logiciel",
tant que nous n'avons pas prcis quel est ce logiciel.
5
Le logiciel, ce sont les programmes, les "indications de traitement" dont il est question dans la dfinition
propose au dbut. C'est le logiciel qui dtermine le comportement de l'ordinateur lorsqu'il reoit un
"caractre".
CeFIS-FUNDP
Ch. Duchteau
21
Initiation l'informatique
Ds lors l'effet d'un caractre de contrle sur le systme ne peut tre prvu que si l'on
connat le logiciel, le programme, qui est actuellement en train de guider, de gouverner
le comportement de l'ordinateur. Ainsi, le caractre cod 7 ne provoque pas toujours
6un bip sonore.
2.
Le code ASCII primitif permettait de coder les 128 caractres ncessaires l'criture
des textes anglais (qui ne connaissent pas les lettres accentues). Face aux besoins des
utilisateurs non anglophones, le nombre de caractres cods a t tendu : les entiers
de 128 255 permettant de coder 128 caractres supplmentaires pour donner ce qu'on
appelle le code ASCII tendu :
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
Comme le montre le tableau ci-dessus, les caractres accentus sont prsent cods.
On y trouve galement des caractres "graphiques" comme ,, etc.. Ces caractres
peuvent servir "dessiner" des encadrements comme
TITRE
Les caractres grecs ainsi qu'un certain nombre de symboles sont galement cods (par
des entiers entre 128 et 255).
Signalons enfin que les 128 derniers caractres de ce code ASCII tendu peuvent tre
diffrents selon les besoins des langues utilisatrices.
6
22
toujours est un mot viter lorsqu'on tente de dcrire des rgles de comportement de l'ordinateur. Mais
c'est ce dernier terme "ordinateur" qui employ seul n'a pas de sens : le seul mot pertinent est "systme
informatique" qui englobe alors l'ordinateur et le programme qui est en train de le contrler. Aucune rgle
n'est valable pour "l'ordinateur", on peut seulement donner des rgles pour "tel systme".
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
nous avons associ un nombre chacun des ces constituants lmentaires, des
constituants diffrents tant bien entendu reprsents par des nombres diffrents et
chaque constituant se voyant associer un nombre;
une information tant alors une suite de ces constituants (un texte est une suite de
caractres), nous la codons grce la suite des nombres correspondants.
CeFIS-FUNDP
Ch. Duchteau
23
Initiation l'informatique
Remarquez quel point cette criture en nombres constitue bien ce que nous appelons
un codage tant donn notre difficult dchiffrer le message correspondant, le
dcoder. Dcoder signifie d'ailleurs pour nous, passer de l'criture "en nombres"
l'criture habituelle "en caractres" qui va prendre du sens. Combien de temps,
d'apprentissage et d'exercices nous faudrait-il pour devenir capable de lire un message
"en nombres" et ce qu'il prenne immdiatement un sens, sans repasser par l'criture
"en caractres".
3.6
Voyez-vous une possibilit (ou des possibilits diffrentes) de coder (sous forme
d'une srie d'entiers) n'importe quel nombre comportant une virgule (compos ds
lors d'une partie "entire" et d'une partie "dcimale", comme -23,85 ou 0,067") ?
Nous pourrions inventer bien des manires de coder les nombres et cela en fonction de
la manire dont nous allons morceler l'information "nombre" en constituants lmentaires.
Ainsi, nous pouvons voir "236", comme un "mot", une suite de caractres et la coder
comme telle : nous sommes alors ramen au cas prcdent. Ainsi dans le texte "ils taient 236
prsents", "236" est vu simplement comme une suite de caractres et sera cod en utilisant 3
nombres entiers (par exemple travers le code ASCII. "236" est dans ce cas un mot et non un
nombre.
Mais il est de nombreux cas o 236 doit tre considr comme un nombre entier et
devra pouvoir tre manipul comme tel (il faudra pouvoir le faire additionner ou soustraire
d'un autre). Il est alors indispensable que 236 soit cod comme un entier.
24
Comment, lorsque nous frappons 236 au clavier, l'ordinateur peut-il savoir qu'il s'agit
d'un mot ( coder en accord avec le code ASCII) ou qu'il s'agit d'un nombre entier (
coder comme tel) ?
Un priphrique d'entre est un des canaux par lequel l'ordinateur reoit des informations venues de
l'extrieur. Ainsi le clavier, la souris, le scanner,... sont des priphriques d'entre. Les priphriques de
sortie sont les canaux travers lesquels l'ordinateur nous rend les informations aprs traitement, comme
l'cran ou l'imprimante.
Cf. plus loin d'autres manires de s'en sortir...
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
Le plus simple pour les entiers, puisque nous devons les coder sous la forme d'entiers
est videmment de les laisser tels quels; le codage de 236 est btement 236.9
En ce qui concerne les nombres avec une virgule, de nombreuses solutions sont
envisageables :
-
On peut les voir comme des "mots", on les code alors comme ces derniers par la suite
des codes des caractres les constituant.
Si on souhaite les considrer comme des nombres, on pourrait imaginer de scinder ces
nombres en deux constituants : la partie entire d'une part et la partie dcimale d'autre
part. Ainsi le nombre -23,85 se coderait par la suite des deux entiers -23 et 85. On
devine cependant immdiatement la difficult de ce type de codage : comment
coderait-on -23,085, ou -23, 0085 ? tant entendu que, vu comme des nombres 85, 085
ou 0085 sont en ralit le mme nombre (les deux dernires critures tant d'ailleurs
inhabituelles).
Si l'on persiste dans cette voie, on devine qu'il faut en quelque sorte indiquer le rang de
la partie dcimale (s'agit-il de 85 centimes, de 85 millimes, ... ?).On coderait par
exemple :
-23,85
-23,085
-23,0085
?
-
-23
-23
-23
85
85
85
2
3
4
-2385/100
-2385
100
-23,085
-23085/1000
-23085 1000
-23,0085
-230085/10000
-230085 10000
qu'on pourrait encore videmment coder, puisque le second lment du code est
toujours une puissance de 10, en indiquant quelle est cette puissance :
-23,85
-2385/100
-2385
2 (= le dnominateur est 100, soit 10 2 )
-23,085 -23085/1000 -23085 3 (= le dnominateur est 1000, soit 10 3 )
-23,0085 -230085/10000 -230085 4
La question se pose videmment de savoir comment le systme informatique "comprend" lorsque nous
frappons 236 au clavier qu'il s'agit du mot constitu des 3 caractres 2, 3 et 6 (qui seront alors cods en
accord avec le code ASCII) ou bien qu'il s'agit de l'entier 236. Comme toujours, la rponse cette
question consiste simplement signaler qu'un systme informatique, ce n'est pas l'ordinateur "tout nu",
mais plutt l'ordinateur quip de tel logiciel prcis. C'est le logiciel qui indique alors si 236 doit tre
cod comme une suite de 3 caractres ou plutt comme un nombre entier.
CeFIS-FUNDP
Ch. Duchteau
25
Initiation l'informatique
Il ne reste plus qu'un tout petit pas accomplir pour arriver au codage des rels en
virgule flottante tel qu'il est pratiqu en informatique.
On crira alors :
-23,85
= -2,385 x 10 1 -2385 1
(-2385
est
la
succession des chiffres significatifs, la mantisse du nombre et 1 est l'exposant de 10)
-238,5
= -2,385 x 10 2 -2385 2
(-2385
est
la
succession des chiffres significatifs, la mantisse du nombre et 2 est l'exposant de 10)
-0,02385
= -2,385 x 10 -2 -2385 -2
(-2385
est
la
succession des chiffres significatifs, la mantisse du nombre et -2 est l'exposant de 10)
-23,085
= -2,3085 x 10 1 -23085 1
(-23085
est
la
succession des chiffres significatifs, la mantisse du nombre et 1 est l'exposant de 10)
26
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
3.7
...des informations...
Codage de dessins
Imaginez que vous disposiez d'une feuille de papier portant le dessin suivant :
On remarque que les informations portes par cette feuille sont en noir et blanc et sont
constitues de portions de texte "imprim" ou "manuscrit", de caricatures, de dessins, ...
Il est sans doute plus malais ici de proposer une stratgie. Le principe en est pourtant
bien connu : c'est celui du tramage; on va en quelque sorte poser une grille (aussi serre que
possible) sur l'image. Deux nombres seront d'emble important pour dcrire cette grille : le
nombre de petits carrs en largeur et ce mme nombre en hauteur. Plus ces nombres sont
levs, plus la surface de chaque petit carr est petite (et plus le dessin tram sera proche de
CeFIS-FUNDP
Ch. Duchteau
27
Initiation l'informatique
l'original). Cela fait, on examinera l'intrieur de chacun de ces petits carrs avec un critre qui
permette de dcider s'il doit tre considr comme noir ou comme blanc. On obtient donc
pour toute l'image un quadrillage comme celui montr ci-dessous pour une partie :
Il ne reste plus alors qu' en dduire une longue liste d'entiers : d'abord le nombre de
carrs sur la largeur, puis ce nombre sur la hauteur, puis une succession de 0 (pour coder par
exemple "carr blanc") ou de 1 (pour coder "carr noir").
Si le dessin original est en couleur, le principe du tramage ne change pas; il faut
seulement plus de nombres diffrents pour reprsenter les couleurs prendre en compte.
3.7.1 Discrtisation
Il faut noter que, pour la premire fois, nous avons t contraint de remplacer (coder)
une image comportant (en thorie en tout cas) une infinit de points (encore que cette phrase
comporte les deux termes bien embarrassants infinit et point) par une image constitue d'un
nombre fini de (petits) carrs. Le processus de numrisation (transformation d'informations en
une srie de nombres entiers) (on dit aussi parfois digitalisation) s'est ici accompagn d'une
discrtisation.
C'est la mme discrtisation qui est l'oeuvre lorsque nous remplaons une courbe
bien lisse
28
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
par une approximation qui n'utilise plus qu'un nombre fini de segments :
10
11
Dans le Petit Robert, discret est dfini comme "qui ne peut prendre qu'un nombre fini ou dnombrable de
valeurs". Dans (Politis 83), on trouve la dfinition "qui dsigne ou reprsente des donnes sous forme
d'lments distincts ou spars tels que des caractres ou des grandeurs physiques ne pouvant prendre que
des valeurs distinctes ou spares".
Encore que, on le verra dans la suite, les tailles possibles de la mantisse et de l'exposant seront limites et
que, ds lors, il arrivera qu'un nombre comportant trop de chiffres significatifs soit tronqu lors de son
codage en machine.
CeFIS-FUNDP
Ch. Duchteau
29
Initiation l'informatique
C'est un codage de ce type qui est sous-jacent au travail de la plupart des logiciels de
traitement de dessin de type "paint" : ils agissent sur des reprsentations discrtises
des graphiques manipuls.
Une reprsentation (ou un codage) bitmap d'un dessin est d'un constitue d'un nuage
de points, chacun de ces points (ou plutt de ces minuscules carrs) s'appelant un pixel
(picture element).
30
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
Imaginez que vous disposiez d'une feuille de papier portant le dessin suivant :
CeFIS-FUNDP
Ch. Duchteau
31
Initiation l'informatique
Voyez-vous cependant une situation o l'on ait fait l'effort de doter l'ordinateur d'un
logiciel qui le rende capable de reconnatre au sein d'un "graphique" certains
"objets" ?
Il parat en tout cas vident qu'il faut avoir dcrit pralablement au systme les objets
ou les types d'objets qu'on peut alors lui demander de reconnatre ou de dtecter au
sein d'un graphique. Il reste alors le rendre capable d'y dtecter les objets (les
formes) concerns : c'est tout le problme de la reconnaissance des formes.
-
Imaginez que vous disposiez d'une feuille de papier portant le texte suivant :
BONJOUR
COMMENT CA VA ?
Pourriez-vous proposer un systme de codage (sous la forme d'une suite de nombres
entiers) pour ce "dessin"?
Il est pourtant un cas o une reconnaissance automatique d'objets (et le type de codage
vectoris correspondant) est utilis : c'est celui de la reconnaissance automatique des
caractres. Ainsi, pour une feuille du type de celle portant les quelques mots ci-dessus, le
texte va dans un premier temps tre scann et donc la feuille sera code en une succession de
points noirs et de points blancs (codage bitmap) comme ci-dessous.
32
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
3.8
Codage de sons
Pourriez vous faire digrer votre ordinateur les 5 premires secondes du premier
mouvement du concerto n 23 pour piano de Mozart ?
N'oubliez pas qu'une fois de plus ces 5 secondes de musique devront tre
transformes en une srie finie de nombres entiers
12
En se rappelant bien que ce nuage de points est en ralit une suite de nombres...
CeFIS-FUNDP
Ch. Duchteau
33
Initiation l'informatique
C'est en ralit le son lui mme ou plutt le signal lectrique auquel il donne naissance
(pour peu qu'on dispose d'un micro) qui va tre cod (aprs une discrtisation analogue celle
opre pour les images).
Mais il est sans doute bon d'abord de rappeler quels sont les principes qui prsidaient,
par exemple, la gravure des (anciens) disques (les 33 ou 45 tours "noirs") et comment sur
base d'un tel disque grav on pouvait reconstituer un son analogue celui qui avait t "mis
en conserve" dans le disque considr.
34
1.
Les vibrations sonores (ondes sonores) qui ne sont que des mouvements des molcules
de l'air, font vibrer la membrane d'un micro.
2.
Ces vibrations de la membrane, analogues (semblables) aux vibrations de l'air qui leur
ont donn naissance, sont transformes ( l'aide d'un lectroaimant) en un signal
lectrique dont l'amplitude et la frquence traduisent la force et la hauteur du son qui
l'a provoqu. Le micro transforme donc les oscillations acoustiques en oscillations
lectriques.
3.
Le signal lectrique provoque alors des mouvements d'un stylet graveur qui traduit les
oscillations lectriques en mouvements et donc en une gravure plus ou moins profonde
d'un sillon dans une matrice qui servira produire les disques.
4.
Chaque disque porte donc un trs long sillon en spirale et dont les caractristiques
refltent finalement les vibrations sonores qui ont t l'origine de tout le processus.
5.
A l'inverse, un lectrophone est essentiellement dot d'une aiguille de lecture dont les
mouvements, engendr par le sillon du disque, sont transforms en signal lectrique.
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
6.
...des informations...
Il faut remarquer que dans les tout premiers dispositifs d'enregistrement, le micro tait
remplac par un norme pavillon, ce dernier accol une membrane canalisait les oscillations
acoustiques et les mouvements de la membrane se transmettaient un stylet graveur qui lui
tait solidaire et qui gravait un sillon dans un cylindre de cire en rotation. Il n'y avait donc pas
de signal lectrique engendr par le processus. Il suffisait inversement de placer le stylet qui
jouait alors le rle de "lecteur" sur le sillon ainsi grav et de remettre le cylindre en rotation
pour que la membrane vibre et engendre des oscillations sonores amplifies par le pavillon.
Si l'on veut que l'ordinateur puisse digrer les sons, il est indispensable qu' un
moment du processus, il y ait codage sous la forme d'une srie finie de nombres. C'est le
signal lectrique qui va tre discrtis et cette discrtisation donnera naissance aux nombres
souhaits.
Le dbut du processus, consiste nouveau en la transformation des oscillations
acoustiques en un signal lectrique.
1.
CeFIS-FUNDP
Ch. Duchteau
35
Initiation l'informatique
discrtisation (de passage du continu et de l'infini au discontinu fini) qui est ici
l'oeuvre : il est le fait d'un dispositif, le convertisseur analogique-numrique.
2.
Une fois ces normes sries de nombres ainsi obtenues, on pourrait fort bien les
envoyer un ordinateur. Le schma ci-dessus voque cependant la mise en conserve
de ces nombres : ils sont "gravs", un par un -et en ralit sous forme binaire et non
dcimale- sous la forme de minuscules cuvettes successives sur un support qui pourra
tre relu, le disque compact.13
3.
A l'inverse, un lecteur laser de disques compacts restitue, sur base du long sillon
constitu des micro-cuvettes reprsentant les nombres, ces nombres eux-mmes (ou
plutt les signaux lectriques "en escalier" les reprsentant).
4.
Bien videmment, c'est lorsque le signal sonore a t numris (cod sous la forme
d'une suite de nombres) que l'ordinateur peut entrer dans la danse. En ralit, il peut tre dot
d'un priphrique d'entre constitu d'un micro et d'un convertisseur analogique-digital, ce qui
le rend donc capable de capter des sons, devenus sries de nombres.
3.9
Et les odeurs ?
Je me contenterai ici de reproduire un article paru dans le journal "Le Soir" et dat du
samedi 17 septembre 1994.
Un four qui a du nez
13
36
Comme on s'en doute, cette prsentation simplifie ne s'attache qu'aux principes mis en oeuvre sans entrer
dans les dtails "techniques". Il faut tre conscient cependant que ce sont ces "dtails" qui font la
diffrence entre de belles ides et une technologie efficace.
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
La seule conclusion en tirer, c'est qu'en tout cas que les odeurs sont devenues des
nombres.
Les informations considres sont en nombre fini (ce qui est assez rare) ou ces
informations sont constitues d'un assemblage d'informations lmentaires qui sont,
elles, en nombre fini. Ces informations lmentaires constituent en quelque sorte un
alphabet dont la succession des signes construit les informations considres. C'est le
cas des textes (franais) : mme si ces textes sont varis et multiples, ils sont obtenus
par juxtaposition des symboles d'un alphabet, les caractres.
Il suffit alors de coder par des entiers ces symboles lmentaires (ce qui est toujours
possible puisqu'ils sont en nombre fini). Le codage d'une suite de ces symboles
lmentaires se fait alors simplement en juxtaposant les nombres qui codent chacun
des symboles constitutifs.
2.
S'il n'est pas possible de mettre en vidence aisment un alphabet qui soit tel que les
informations considres puissent tre considres comme formes d'un assemblage
fini des lments de cet alphabet, il est alors ncessaire de passer par un processus de
discrtisation qui va approximer les informations en cause.
On va donc remplacer les informations initiales par d'autres, caractrises par le fait
qu'on peut y mettre en vidence un nombre fini de constituants lmentaires : ce sont
ces derniers qui constitueront les symboles de l'alphabet considrer.
Dans le cas d'une image en noir et blanc, quels sont les constituants de l'alphabet
lmentaire dont la juxtaposition permet de dcrire l'image discrtise.
Ainsi, dans le cas d'une image en noir et blanc, aprs discrtisation les deux seuls
symboles carr noir et carr blanc suffisent par juxtaposition pour reconstituer l'image
trame. L'alphabet est donc ici constitu des deux symboles # et $; et il suffit de
coder ces derniers par des nombres entiers pour tre capable de coder l'image
discrtise tout entire.
CeFIS-FUNDP
Ch. Duchteau
37
Initiation l'informatique
Ajoutons enfin qu'il est impratif que le processus de discrtisation et de codage soit,
autant que possible, pris en charge par le systme lui-mme et des priphriques spcialiss. Il
y a videmment face une dicte (orale) un monde entre la solution consistant faire frapper
le texte au clavier par un tre humain et la cration du mme texte par l'ordinateur quip d'un
systme de reconnaissance vocale.
il est vident que de lgres dformations vont apparatre dans le signal obtenu, par rapport au
signal initial (figur par les diffrences prsentes ci-contre entre le signal initial -en gris- et
le signal final).
38
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
Lorsque le signal reprsente des nombres diffrents, il est forcment initialement du type
suivant :
CeFIS-FUNDP
Ch. Duchteau
39
Initiation l'informatique
On remarquera qu'il est cependant possible dans ce cas de reconstituer les nombres
initialement reprsents. Autrement dit, mme si le signal reprsentant 16 arrive dgrad, il
est toujours possible de dtecter qu'il s'agit bien de 16 et non de 15 ou 17. Cette permanence
des reprsentations numriques sera d'ailleurs d'autant plus marque que finalement, les
nombres eux-mmes seront cods avec les deux seuls symboles 0 et 1.
40
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
Ecriture
Papier
Crayon
stylo,...
Traces sur
du papier
Rel
"mdiatiser"
Informations
Ecriture
Papier
Machine
crire
Traces sur
du papier
Rel
"mdiatiser"
Informations
Ecriture
Papier
Imprimerie
Traces sur
du papier
Rel
"mdiatiser"
Informations
De la mme manire, pour s'intresser des informations d'une autre nature, il y a une
multitude de moyens de saisir une "image" du rel : peinture, dessin (y compris avec un
support papier-crayon du mme type que pour l'criture), photographie, etc. On a par
exemple :
Rel
"mdiatiser"
Informations
Appareil photo
Pellicule
Dveloppement
Capture
d'image
Photographie
ou
Rel
"mdiatiser"
Informations
Capture
d'image
Appareil
photo
Pellicule
Pellicule
impressionne
Ch. Duchteau
41
Rel
"mdiatiser"
Informations
Saisir
Techniques
mises en
oeuvre pour la
saisie
Initiation l'informatique
Objet
support
Pellicule
impressionne
Restituer
Dveloppement
Tirage
"Rel" restitu
Photos
La diapositive est galement un support d'image qui ncessite pour pouvoir livrer
correctement l'information qu'elle recle un dispositif technique (projecteur) d'une certaine
complexit.
Et nous voici aujourd'hui avec les photos mystrieusement stockes au sein mme des
appareils "numriques" qui ont permis de les prendre ou sur mini-disques magntiques.
En ce qui concerne le son et les dispositifs permettant de le conserver, on est pass du
cylindre de cire, grav et restitu par le mme "phonographe", au disque microsillon, la
42
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
bande magntique, qui demandent des dispositifs de plus en plus sophistiqus pour passer du
son "en conserve" sa "consommation" par les oreilles humaines; avec en finale aujourd'hui
les CD et leurs "lecteurs laser".
Quel que soit le mdia envisag, l'opration de restitution des informations
"enfermes" dans l'objet support est indispensable :
Rel
"mdiatiser"
Informations
Saisir
Techniques
mises en
oeuvre pour la
saisie
Objet
support
Restituer
Techniques
mises en oeuvre
pour la
restitution
"Rel" restitu
Informations
Le cinma est, pour des raisons qui apparatront plus loin, intressant puisqu'il a
conserv les mouvements sous la forme d'une succession d'images instantanes. Puis, sur le
mme support sont venus prendre place la fois les images animes et le son, le dispositif de
projection/reproduction devenant plus sophistiqu.
3.12.1.3 Le multi-mdia " l'ancienne" : peu de possibilits de modifier les objets supports
On peut, pour chacun des supports envisags, considrer quelles sont les possibilits
de modification de cet objet support dont on dispose. Ces moyens sont extrmement variables
et mettent en branle des technologies plus ou moins sophistiques, depuis la gomme et le
crayon pour les supports crits "papier-crayon" jusqu'aux retouches des pellicules
photographiques.
On a donc nouveau, quel que soit le mdia envisag, une multitude de schmas
permettant de rendre compte des possibilits de modifier la reprsentation du rel mise en
uvre.
Ainsi, pour le mdia "papier-crayon" :
Modifier
Modifier
gomme
crayon
annotations
effaceur
stylo
annotations
Traces
sur du
papier
Traces
sur du
papier
CeFIS-FUNDP
Ch. Duchteau
43
Initiation l'informatique
Il faut admettre cependant que les possibilits de modification sont le plus souvent
extrmement limites ou qu'elles ncessitent des appareils extrmement sophistiqus
auxquels la plupart d'entre nous n'ont pas accs. Qu'on pense par exemple aux possibilits
nulles ou fort rduites qu'on a de modifier un disque 33 tours, une pellicule photographique,
etc..
Mais, mme face des possibilits limites, le schma commenc s'enrichit :
Modifier
Techniques de
modification
Rel
"mdiatiser"
Informations
Saisir
Techniques
de saisie
Objet support
Restituer
Techniques
mises en oeuvre
pour la restitution
"Rel" restitu
Informations
Traces sur du
papier
Livres
Archives
Bibliothque
Stocker
44
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
Modifier
Techniques de
modification
Rel
"mdiatiser"
Informations
Saisir
Techniques
de saisie
Objet support
Restituer
Techniques
mises en oeuvre
pour la restitution
"Rel" restitu
Informations
Techniques
de stockage
Stocker
On voit donc apparatre le problme du stockage comme une opration part entire.
C'est essentiellement pour montrer que la permanence de l'objet support est un facteur
important et dcisif. crire ou dessiner sur du sable est videmment une manire de d'utiliser
comme "objet support", mais dans ce cas, le stockage long terme risque de poser quelques
problmes et je ne suis pas certain qu'on puisse vraiment parler dans ce cas de "mdia".
3.12.1.5 Le multi-mdia " l'ancienne" : communiquer les objets supports
Cette communication se rduit le plus souvent un transport pur et simple (c'est cela
que servait et que sert encore en grande partie la poste)
Transporter
Poste, fax,...
Document crit
(papier, livre,...)
Ch. Duchteau
45
Initiation l'informatique
Dans tous les cas, et quel que soit le mdia envisag le problme de la communication
du support fait partie intgrante des proccupations :
Modifier
Transporter
Techniques de
modification
Rel
"mdiatiser"
Informations
Saisir
Techniques
de saisie
Objet support
Techniques de
communication
Techniques
mises en oeuvre
pour la restitution
Restituer
"Rel" restitu
Informations
Techniques
de stockage
Stocker
Ce qui est donc au cur de l'utilisation des divers mdias (au sens que je leur donne
ici) c'est finalement un schma qui peut s'achever de la manire suivante :
Modifier
Transporter
Techniques de
modification
Rel
"mdiatiser"
Informations
Saisir
Techniques
de saisie
Objet support
Techniques de
communication
Restituer
Techniques
mises en oeuvre
pour la restitution
"Rel" restitu
Informations
Techniques
de stockage
Stocker
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
prsent prendre une importance capitale : c'est elle qui se cache derrire la plupart des
logiciels permettant par exemple la modification d'un texte ou la retouche d'images.
3.12.2.1 Les moyens "multi-mdia" : une juxtaposition de mdias et de technologies
dissemblables
Voici la dfinition du multimdia (que j'cris ici multi-mdia) lors de l'apparition de ce
mot :
"Multimdia adj. - 1980; de multi- et mdia. Qui concerne plusieurs mdias; qui
est diffus par plusieurs mdias. Campagne publicitaire multimdia." [Le
nouveau Petit Robert, 1993]
Le schma prsent ci dessus va se dcliner de multiples manires, d'aprs les "traits"
du rel (la nature des informations) qu'on veut garder, d'aprs les dispositifs mis en uvre
pour saisir, stocker, modifier, ventuellement transporter, et restituer les informations
considres comme pertinentes.
L'criture (au sens classique) sur divers supports recouvre toute une classe de modes
de saisie, dpendant d'ailleurs du support retenu (burin + pierre, crayon + papier, imprimerie +
papier,...).
La saisie d'images couvre galement un norme champ allant des divers types de
peintures au scanner des ordinateurs en passant par la photographie, avec une mention
spciale pour les diapositives.
Les informations sonores ont mis plus longtemps pouvoir tre "mdiatises" : le
solfge tait une forme de reprsentation de cette ralit sonore particulire qu'est la musique,
sur le modle de l'criture; puis sont venus les phonographes et le stockage du son dans la cire
des rouleaux, puis les disques microsillons, les bandes magntiques et enfin les CD et leurs
lecteurs lasers.
Je ne m'attarderai pas sur le cinma, la vido,... sur les manires de transporter les
informations reprsentes (tlgraphe, tlphone, tlvision, courrier lectronique).
Je n'ai gure voqu non plus les possibilits et les modalits de modification des
informations conserves dans l'objet support (depuis la gomme jusqu'au logiciel de retouche
d'images, en passant par le mixage des studios d'enregistrement).
Le schma ci-dessus doit tre recommenc des dizaines de fois : chaque fois qu'un
mode de stockage, de saisie, de restitution,... change, on est quitte pour en adapter et en
prciser les lments.
Bref, le multi-mdia, mise en uvre de procds divers permettant sur des supports
diffrents de stocker des informations de toutes natures l'aide de technologies absolument
dissemblables, on connat et depuis fort longtemps ! Mais, jusqu' prsent, une prsentation
multi-mdia devait faire appel des appareils aussi diffrents qu'un tableau noir, un
rtroprojecteur et ses transparents, un projecteur de dias, un magntoscope et le poste de
tlvision qui l'accompagne, etc..
3.12.2.2 Les moyens multi-mdias revisits par l'informatique : le multimdia
Et puis vint l'ordinateur... qui ne changea rien tout cela pendant presque 50 ans. Les
mdias restrent "multi" peut tre, mais spars srement.
C'est le MacIntosh de Apple qui montra la voie : assez rapidement, il devint l'outil qui
se rpandit dans les secrtariats pour la production de texte et l'instrument de choix des
graphistes pour le traitement de l'image.
CeFIS-FUNDP
Ch. Duchteau
47
Initiation l'informatique
Depuis le milieu des annes 90, les "PC" sont eux aussi devenus "multimdia". Les
ordinateurs, qu'on appelait encore il y a peu des "calculateurs lectroniques", seraient-ils
devenus "bons tout faire", de la cration de texte la retouche de photos en passant par le
travail du son.
Comme on le verra, l'ordinateur reste un calculateur, manipulant des nombres. Et
pourtant c'est aussi un instrument permettant aujourd'hui de stocker et de traiter notre
demande son, texte, image, vido,... O est le miracle ?
Il n'y a pas de miracle : si l'on veut qu'un outil manipuler des nombres soit capable
de traiter toutes sortes d'informations de nature et de formes diverses, il suffit tout btement
de transformer ces informations en srie de nombres.
Que croyez-vous que l'ordinateur reoive lorsque vous pressez la touche "a" sur le
clavier ? Qu'est ce qui "remplit" les CD-ROM (mais aussi les CD musicaux) et les disques
durs ? Qu'est ce que l'ordinateur envoie votre imprimante ? De quoi sont faits les documents
que vous recevez "sur Internet" ?... La rponse est identique chaque fois : il s'agit de
nombres (ou en tout cas d'une reprsentation physique de nombres).
Texte
Images
Sons
Texte
C
O
D
A
G
E
Des nombres
D
E
C
O
D
A
G
E
Images
Sons
Mouvements
A partir du moment o texte, images (fixes ou animes), sons, etc. peuvent tre
transforms en sries de nombres (on dit le plus souvent numriss ou digitaliss), ils peuvent
tre manipuls, modifis, stocks et transports par un dispositif unique, apte grer
seulement des nombres, l'ordinateur.
L'apport se marque de manire claire au sein d'une dfinition rcente ;
"Multimdia n m. - Technologie intgrant sur un support lectronique des
donnes multiples (son, texte, images fixes ou animes). Adj : des encyclopdies
multimdias" [Le Petit Robert, 1998]"
48
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
Il reste seulement imaginer des manires de reprsenter (on dit aussi coder) textes,
images et sons sous la forme de sries de nombres et de mettre au point des dispositifs qui
assurent aussi automatiquement que possible ce codage :c'tait l'objet de ce chapitre.
Bien videmment, il faut galement des dispositifs de restitution qui assurent le
dcodage, pour que les nombres manipuls redonnent naissance des informations qui nous
soient accessibles : texte, image, vido, son,...
Mais ce qui a radicalement chang, c'est que c'est un outil unique, l'ordinateur (et tous
les priphriques qui l'entourent) qui va servir saisir, modifier, stocker, transporter, restituer,
les informations, quelle que soit la forme o elles se prsentent nous. Plutt que de
multimdia, c'est d'un monomdia universel qu'il faudrait parler. L'ordinateur va pouvoir lui
seul se substituer toutes les techniques dont l'Humanit s'tait dote au fil des sicles pour
"mdiatiser" le rel. Le matre mot ici est celui de numrisation (codage de l'information en
une suite de nombres).
Parler de multimdia, c'est simplement reconnatre que toute
information, quelle que soit sa forme, pourra, aprs numrisation, tre
traite par un outil unique, l'ordinateur, puis tre restitue sous une
forme habituelle et acceptable.
Principe 3-1 : c'est la numrisation qui est au coeur du multimdia
Dans ces conditions, c'est vrai que l'ordinateur devient un outil universel pour traiter
du texte, des images, des sons,... Et plutt que de devoir recommencer des dizaines de fois la
Figure 3-28, on pourra dornavant se contenter d'un schma unique :
Modifier
Transporter
Logiciels
divers
Rel
"mdiatiser"
Informations
Coder
Priphriques
d'entre
Des nombres
(en mmoire)
Tlmatique
Restituer
Priphriques
de sortie
"Rel"
restitu
Informations
Supports
mmoire
externes
Stocker
SYSTEME INFORMATIQUE
Figure 3-30 : schma global de la mdiatisation dans le cas d'un systme informatique
Si les TIC vous font peur, adoptez les TeTIN!
Matriser ces univers nouveaux qui se sont ouverts autour de l'utilisation des ordinateurs, c'est
aussi comprendre les mots qui en parlent et l'volution des conceptions que refltent les
termes employs. Ainsi, pendant plus de 40 ans, on a tout bonnement parl d'informatique
CeFIS-FUNDP
Ch. Duchteau
49
Initiation l'informatique
pour dsigner l'activit de ceux qui tentaient de tirer parti des ordinateurs pour rsoudre des
problmes de natures diverses, mais qui tous tournaient autour du "traitement automatique de
l'information".
Vers le milieu des annes 80, sont apparus, en mme temps que les PC commenaient
envahir les bureaux, les outils logiciels qui devaient permettre tout le monde, et plus
seulement aux informaticiens, de tirer parti des ordinateurs qui taient devenus "personnels".
C'tait le dbut de la seconde tape de la courte histoire de l'informatique : aprs
l'informatique rserve aux informaticiens, on dbouchait sur une multitude d'outils logiciels
la porte des utilisateurs "nafs". On a alors commenc parler de NTI (Nouvelles
Technologies de l'Information) pour dsigner, de manire assez floue d'ailleurs, ce mlange
de technique, de concepts issus de l'informatique, d'usages, etc.
Pendant que les rseaux se rpandaient, permettant aux ordinateurs de communiquer entre
eux, et alors que les "nouvelles" technologies commenaient prendre de l'ge, on a
nouveau chang de vocable pour dsigner cette nouvelle ralit : ce sont aujourd'hui des TIC
(Technologies de l'Information et de la Communication) qu'on parle le plus souvent.
Et ce que nous apprend la numrisation qui permet et sous-tend le phnomne multimdia,
c'est que tous les traitements permis par le multimdia portent sur l'information numrise et
que ds lors on se trouve face des TeTIN (Technologies de Traitement de l'Information
Numrise).
La mesure mme du temps qui passe (des dures) a t analogique : le fuite du temps
tait analogue au passage du sable dans un sablier ou celui de l'eau dans une clepsydre. Il se
fait aujourd'hui en comptant les oscillations d'un cristal.
J'ai voqu ci-dessus le passage des vieux disques 33 tours vinyles (o le trac du
sillon tait analogue aux oscillations sonores qui leur avaient donn naissance) au disque
compact (o c'est une reprsentation de nombres que l'on peut trouver le long du sillon).
Dans le mme ordre d'ide, on parle aujourd'hui de tlphone numrique ou de
tlvision numrique : dans les deux cas il s'agit de transformer son ou image en nombres, de
transporter ces derniers (sans dgradation irrparable), et de reconstituer l'arrive le son ou
l'image original.
50
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...des informations...
3.14 Questions
1.
2.
On appelle graphe un ensemble de noeuds ou de sommet lis entre eux par des arcs et
on en donne en gnral une reprsentation graphique dont voici un exemple :
Pourriez vous trouver des informations qui se prsentent sous plusieurs formes
diffrentes, mais en dessous desquelles nous identifions pourtant la mme
information ?
4.
Existe-t-il votre connaissance une manire de reprsenter les sons du langage parl
sous forme crite, donc de coder des sons par des signes crits ?
5.
CeFIS-FUNDP
Ch. Duchteau
51
6.
52
Initiation l'informatique
Que proposeriez vous comme codage numrique des diffrentes mains (constitues de
13 cartes) d'une donne au whist ?
Ch. Duchteau
CeFIS-FUNDP
4
... pour autant qu'on lui ait indiqu comment mener bien
ce traitement ...
Introduction
Nous savons prsent que les traitements permis par l'ordinateur auront toujours un
caractre formel (ou formaliste) et que ds lors le mot "information" y prendra un sens trs
particulier.
La pseudo-dfinition donne prcdemment, insiste sur la ncessit d'indications de
traitements qui permettent et contrlent le travail de traitement d'informations par l'ordinateur.
Nous pouvons ds lors noncer un principe supplmentaire :
TOUT ce que fait un ordinateur, il le fait gouvern par un programme
Principe 4-1 : tout ce que fait un ordinateur, il le fait gouvern par un programme
Traitements
Informations
rendues
(Sorties)
Informations
consultes
peut se redessiner :
CeFIS-FUNDP
Ch. Duchteau
53
Informations
reues
(Entres)
Traitements
Informations
traites
Indications de
traitement
Informations
consultes
Indications
supplmentaires
Initiation l'informatique
Informations
rendues
(Sorties)
Ainsi donc, un ordinateur nu ( = sans programme pour le faire agir) n'existe pas. A
tout moment, ce qu'on a en face de soi, c'est toujours un tandem ordinateur + programme.
C'est la raison pour laquelle, plutt que de parler dans la suite d'ordinateur, nous utiliserons le
terme systme informatis, qui insiste sur le fait que la seule ralit est l'ordinateur quip de
l'un ou l'autre programme qui guide et dtermine ses actions.
Bien entendu, le point de vue adopt sera fort diffrent suivant qu'il s'agit de celui de
l'utilisateur du couple ordinateur-programme ou de celui du programmeur qui va devoir crer
la partie programme de ce mme couple.
4.2
=instrument
logiciel
54
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...pour autant...
un ordinateur, mais toujours face un systme particulier ordinateur + logiciel, aux ractions
spcifiques1.
L'une des demandes les plus frquemment formules par les dbutants (futurs utilisateurs)
est celle d'une initiation pratique (et rapide) aux "manipulations de base" de l'ordinateur : quels
sont les savoir faire lmentaires face l'cran et au clavier ? en un mot, "comment utiliser un
ordinateur ?".
Le formateur est alors dans la position inconfortable du vendeur d'appareils lectromnagers
face un client qui souhaiterait tre rapidement mis au courant des "manipulations de base"
de l'lectromnager. Nous savons tous que "l'appareil lectromnager" n'existe pas et que le
vendeur a intrt se faire prciser si la curiosit du client potentiel se porte plutt sur les
lessiveuses ou les aspirateurs.
Il en va malheureusement de mme de l'ordinateur. Le seul "objet" existant est toujours un
couple ordinateur-logiciel. Un ordinateur "nu" (= sans programme qui le gouverne) n'existe pas
et l'utilisateur n'a jamais faire qu' un tandem particulier "ordinateur-logiciel", les
comportements de ces couples pouvant tre extrmement divers. Ceci est d'autant plus
dissimul que rien ne se modifie dans l'aspect physique du partenaire ordinateur des couples
voqus : l'utilisateur a l'impression de garder la mme "machine" en face de lui, alors mme
que ce concept de machine "nue" n'est pas pertinent.
Notons au passage que cette rduction du systme informatique (ordinateur + logiciel) sa
seule composante matrielle est ce qui rend tellement choquantes des associations comme
"intelligence artificielle" ou des questions comme "l'ordinateur est-il intelligent ?". Si il y a
"intelligence" dans le comportement d'un systme informatique, il faut redire que c'est dans la
partie logicielle qu'elle se trouve : elle sort du cerveau d'un homme qui a d faire l'effort
d'objectiver, de formaliser et d'enclore dans un programme des traitements qui, lorsqu'ils
prennent le contrle de l'ordinateur lui donnent un comportement plus ou moins "intelligent"
(Cf. plus haut). Dans le contexte des utilisations de systmes informatiques, parler
d'ordinateur (seul) n'a tout bonnement aucun sens.
CeFIS-FUNDP
Ch. Duchteau
55
Initiation l'informatique
S'il est un mot bannir du vocabulaire des utilisations de systmes informatiss, c'est
bien le terme "toujours" : la mme action (pression de touche, clic de la souris) ne produit pas
"toujours" les mmes effets
Dans l'univers MS-DOS, l'appui simultan sur les touches Alt Ctrl et Del
produit (presque) "toujours" un ramorage du systme; ce n'est plus vrai
sous Windows; l'appui sur la touche F1 est souvent (pas "toujours") un appel
l'aide; un double-clic sur le nom d'un fichier lance une application ou
produit un message d'erreur; ... Je pourrais ajouter des centaines d'exemples
la liste. Je suis incapable d'en fournir un seul d'une action qui produise
toujours le mme effet; sauf peut tre l'action de retirer la prise de courant...
et encore, il y a les portables...
Combien de fois n'est-il pas arriv qu'un utilisateur novice, qui achevait
d'utiliser un diteur ou un systme de traitement de texte et se retrouvait aux
prises avec MS-DOS, m'ait appel pour tenter d'effacer les lignes "syntax
error" ou "file not found" apparues suite des manipulations inadquates du
systme d'exploitation. L'instant d'avant, il pouvait sa guise "remonter" dans
le texte affich l'cran; quelques secondes plus tard sur le mme cran
l'opration est impossible et n'a plus de sens. En effet, l'cran MS-DOS
retrace une histoire , celle des changes entre l'utilisateur et le systme; par
contre, c'est un espace, celui du texte modifiable, dans un traitement de texte.
Accder une ligne suprieure pour la transformer, cela a du sens dans un
traitement de texte, o la mtaphore spatiale s'applique l'cran, mais cela n'a
pas de sens en MS-DOS o l'cran est une suite d'instants, une histoire; cela
reviendrait vouloir modifier le pass.
Dans l'utilisation des systmes informatiss, vous ne pouvez jamais
dire "toujours"!
Principe 4-2 : il ne faut jamais dire "toujours"
4.3
56
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
...pour autant...
Programmer
c'est
FAIRE FAIRE
Principe 4-3 : programmer, c'est faire faire
L'ordinateur, qui comme ci-dessus ne peut tre "nu", sera, dans ce contexte de la
programmation, peru non comme un instrument ou un outil qui va aider l'accomplissement
d'un travail, mais plutt comme un excutant qui sera charg d'effectuer une tche. Il est donc
bien plus ressenti comme un obstacle que comme une aide : il faut tout lui dire de la manire
de mener bien la tche concerne.
Nous le verrons dans la suite, c'est l'ordinateur quip d'un langage de programmation qui est
l'interlocuteur du programmeur. Ce langage de programmation va permettre d'exprimer les
indications ncessaires aux traitements, de concevoir et de rdiger les programmes
souhaits.
Programmeur
il conoit
il excutera
Tche
elle gouvernera
marche suivre
Figure 4-2 : schma de l'activit de programmation
=executant
langage de programmation
et
Programmer, c'est
CeFIS-FUNDP
Ch. Duchteau
57
5
... machine...
Architecture gnrale
Nous avons vu que le schma propos page 3 (Figure 2-1 : schma d'un traitement
d'informations) qui prside tout traitement d'information se particularise dans le cas d'un
traitement opr par un systme informatique sous la forme propose page 54 (Figure
4-1 :schma d'un traitement d'informations par un systme informatique).
Ce schma va s'incarner en une ralisation matrielle qui constituera en quelque sorte
l'architecture gnrale d'un systme informatique.
C'est dessein que nous parlerons dsormais de "systme" informatique et non plus
d'ordinateur, puisque, comme nous le savons, "l'ordinateur n'existe pas" (Cf. le principe de la
page 53).
Unit centrale
Priphriques
d'entre
Priphriques
de sortie
Mmoire
centrale
Processeur
Liaisons
Mmoire
externe
Figure 5-1 : architecture gnrale d'un systme informatique
D'abord, le centre du systme, l'unit centrale. C'est l que les traitements sur les
donnes sont effectus, sur base des indications de traitement qui y sont galement
prsentes.
Ensuite, les priphriques d'entre : leur rle est de transformer une information qui se
prsente sous une forme qui nous est habituelle en une srie finie d'entiers, acceptable
CeFIS-FUNDP
Ch. Duchteau
59
Initiation l'informatique
par l'ordinateur (voir le principe nonc page 17). Un priphrique d'entre a donc
pour rle de coder l'information sous une forme acceptable par l'unit centrale.
Egalement les priphriques de sortie : leur rle est de transformer des informations
telles que l'ordinateur les manipule (srie finie d'entiers) en une forme qui nous soit
davantage habituelle. Un priphrique de sortie a donc pour rle de dcoder
l'information manipule par l'ordinateur (des nombres entiers) en une forme habituelle
pour nous, tres humains.
Enfin, la mmoire externe (on dit aussi mmoire de masse, ou mmoire de stockage
long terme) : elle mmorise la fois des informations (donnes) susceptibles d'tre
traites par l'ordinateur et des indications de traitement (programmes) supplmentaires.
On utilise souvent comme synonyme les termes "information" et "donne" pour dsigner ce
que manipule l'ordinateur. Il s'agit bien entendu, dans tous les cas, d'une forme code de ce
que, entre tres humains, nous appelons "information" ou "donne".
Et pour terminer, le cas chant, des liaisons entre le systme considr et d'autres
systmes informatiques : priphriques de communication, connexion un rseau,...
Nous reviendrons dans la suite sur divers composants de ce systme, mais nous allons
dans un premier temps, nous focaliser sur l'unit centrale et procder en quelques sortes des
zooms successifs qui nous amneront examiner avec de plus en plus de dtails de quoi est
faite cette unit centrale.
5.2
L'unit centrale
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
processeur et susceptibles de le faire agir. Mais surtout, la raison pour laquelle nous parlons
de programme excutable, c'est que nous utiliserons souvent dans la suite le mot programme
pour dsigner, toujours des indications de traitement, mais qui ne sont pas directement
acceptables, excutables, par le processeur.
5.2.1.2 Les deux types de mmoire centrale
Nous pouvons, sur base des principes noncs et de constatations que chacun peut
faire, laborer un court raisonnement :
On sait que :
TOUT ce que fait un ordinateur, il le fait gouvern par un programme (page 53)
Pour qu'un programme excutable puisse faire agir le processeur, il doit tre prsent en
mmoire centrale (principe nonc ci-dessus).
On constate que :
Si l'on soutient que les programmes qui font ainsi agir l'ordinateur au dbut de son
activit ont t amens de l'extrieur (c'est dire, par exemple, des mmoires de masse ou
mmoires externes), on ne fait que reporter d'un cran le problme. En effet, aller chercher ces
programmes sur les mmoires de masse constitue une action de l'ordinateur et ds lors, en
vertu des deux principes rappels, il faut qu'un programme soit dj prsent en mmoire
centrale pour permettre cette action.
Cette chane doit bien s'interrompre par la conclusion que, ds le dbut, des
programmes rsident dj en mmoire centrale. De plus, ces programmes (et des donnes
associes) doivent rester dans cette mmoire mme lorsque l'ordinateur n'est plus sous
tension, puisque ces programmes le font agir ds qu'il est aliment en lectricit. Il est donc
indispensable qu'une partie de la mmoire centrale puisse garder les programmes et donnes
qu'elle contient, mme en l'absence d'alimentation lectrique. Cette mmoire dont le contenu
est prserv et est essentiel au moment de la mise sous tension de l'ordinateur est la mmoire
morte.
Il nous faut galement admettre qu'une autre partie de la mmoire centrale est non
prserve : c'est celle qui accueillera les programmes et donnes supplmentaires venant des
mmoires externes et qui rendront l'ordinateur capables d'un tas d'actions supplmentaires.
Cette zone de mmoire, "vide" au dmarrage de l'ordinateur et qui se remplira pendant le
travail avec des programmes (et des donnes) venus de l'extrieur est la mmoire vive.
CeFIS-FUNDP
Ch. Duchteau
61
Principe
TOUT ce que fait un
ordinateur, il le fait
gouvern par un
programme
Initiation l'informatique
Constatation
Ds son branchement,
l'ordinateur "fait des
choses"
Conclusion
Un programme fait
agir l'ordinateur
ds le dbut
Principe
Pour qu'un programme
puisse faire agir
l'ordinateur il doit tre
en mmoire centrale
Conclusion
Ce programme doit rester
en mmoire centrale et y
persister mme lorsque
l'ordinateur n'est pas
branch
Conclusion
Une zone de la mmoire
centrale doit garder les
informations qui y sont
contenues mme sans
alimentation lectrique
Conclusion
Il existe de la
mmoire morte
Son contenu ne disparat jamais, mme lorsque l'ordinateur n'est plus aliment en
courant lectrique; c'est en quelque sorte une zone de mmoire dont le contenu est
gard en permanence, une zone de mmoire "increvable".
On notera au passage le paradoxe qui veut que la mmoire qui reste en quelque sorte
toujours "vivante" (en me pardonnant cet abus) s'appelle la mmoire "morte".
62
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
LIRE
Mmoire
Processeur
Copie de la
donne
Copie de la
donne
Donne
ECRIRE
Mmoire
Processeur
Donne
Copie de la
donne
Nouvelle donne
CeFIS-FUNDP
Ch. Duchteau
63
Initiation l'informatique
mmoire vive, constituent le (ou une partie du) systme d'exploitation (voir page
173) de l'ordinateur.
Ce court programme enferm en mmoire morte et charg d'amener les programmes
supplmentaires indispensables au fonctionnement de l'ordinateur est le
programme de bootstrapping (ou en abrg de "boot").
Un ensemble de programmes et de donnes correspondant aux actions les plus
rudimentaires dont l'ordinateur est capable; ainsi on y trouve par exemple les
programmes permettant des lectures partir du clavier et des affichages l'cran.
Ces programmes correspondant des actions fort lmentaires seront activs de
trs nombreuses reprises par des programmes plus labors, chargs en mmoire
vive, et qui "passeront la main" ces programmes du BIOS, enferms dans la
mmoire morte.
5.2.1.2.2 La mmoire vive
C'est la zone de mmoire dans laquelle viendront prendre place programmes et
donnes venant de l'extrieur. Elle a les caractristiques suivantes :
Le processeur peut y accder tant en lecture qu'en criture; cet accs complet est
rappel par l'acronyme anglais dsignant la mmoire vive : RAM (Random1 Access
Memory).
1
2
64
Le terme Random ne sera pas davantage explicit; dans l'acronyme RAM, c'est le terme Access qu'il faut
souligner.
Voir ci-aprs pour une description plus complte des mmoires de masse (mmoires externes) :
disquettes, disques durs, CD-ROM, cassettes,
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
On pourrait peut-tre proposer une solution o ces donnes soient conserves sur les
mmoires externes (comme par exemple le disque dur) et charges (= amenes) en RAM lors
de l'opration de bootstrapping. Cette solution ne rsiste cependant pas la constatation que
cette opration (qui consiste au dmarrage aller chercher sur les mmoires de masse des
programmes et donnes essentielles la poursuite du travail) ncessite que les caractristiques
de ces mmoires externes soient connues, avant de pouvoir y accder.
En d'autres termes, avant mme d'aller pcher des informations sur le disque dur, le
systme doit connatre le type et les caractristiques de ce disque dur : ces caractristiques ne
peuvent donc tre portes par le disque : elles devraient tre disponibles avant mme d'avoir
t lues.
La solution consiste alimenter une petite portion de la mmoire vive (modifiable) par
une batterie ou une pile lectriques qui assure la "survie" des informations qui y sont
mmorises, mme en l'absence dbranchement sur le rseau (= quand l'ordinateur est
"teint").
C'est un type particulier de mmoire vive, la CMOS, caractrise par le fait qu'elle
ne ncessite qu'une faible alimentation lectrique pour conserver les donnes
(modifiables) mmorises qui est utilise dans ce cas.
CeFIS-FUNDP
Ch. Duchteau
65
Initiation l'informatique
bien, chaque fois en prsence de modles d'une certaine "ralit" (peut tre insaisissable
autrement qu'en la modlisant).
Nous savions dj que pour tre traitables par un ordinateur, toutes les informations
devaient tre codes sous le forme de sries finies de nombres entiers (Principe 3-1: codage de
l'information, page 17). Nous pouvons faire prsent un pas de plus : ces nombres entiers
devront eux mmes tre crits sous la forme de succession de 0 ou de 1 : l'alphabet de
l'ordinateur est binaire.
L'alphabet de l'ordinateur est binaire : tout ce qui est crit (cod) en
mmoire centrale, les donnes comme les programmes excutables,
est crit sous la forme d'une succession des symboles 0 et 1.
Principe 5-2 : l'alphabet de l'ordinateur est binaire
Il ne faut pas confondre alphabet et langage : nous avons le mme alphabet ( trs peu de
choses prs) que les allemands ou les portugais, et nous ne parlons videmment pas le
mme langage. L'alphabet de l'ordinateur est binaire, il ne comporte que les deux signes 0 et
1. Le langage de l'ordinateur (pour autant que ce terme ait du sens) pourrait tre compris
comme l'ensemble des mots "compris" par le processeur et capables de la faire agir. On
pourrait alors dire que tous les ordinateurs ont le mme alphabet (binaire) mais que seuls des
ordinateurs quips du mme processeur ont le mme langage.
ou
Une telle case lmentaire, ne pouvant prendre que l'une des deux valeurs 0 ou 1 est
appele un BIT (BInary digiT ou chiffre binaire).
On a pris l'habitude de dsigner par 0 et 1 les deux symboles constitutifs de l'alphabet des
ordinateurs. N'importe quel autre couple de symboles distincts conviendrait videmment. On
pourrait avoir choisi O (pour ouvert) et F (pour ferm) ou encore C (pour charg) et D (pour
dcharg),
Il faut noter qu' l'instar d'une porte qui ne peut tre qu'ouverte ou ferme, un BIT ne peut tre
que 0 ou 1. Une case lmentaire de mmoire n'est jamais vide : elle contient toujours soit 0
soit 1.
5.2.1.3.2 L'octet
Si l'unit lmentaire de la mmoire est bien le BIT, on a pourtant pris l'habitude,
essentiellement pour des raisons historiques, de considrer la mmoire comme organise en
groupes ou en paquets de 8 bits. Un tel groupe est appel octet ou byte.
66
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Comme on le verra dans la suite, l'octet est une unit trop petite et, exactement comme
un parle de gramme et de kilogramme, on parle aussi d'octet et de kilo-octet. Mais nous
reviendrons ces units, ci-aprs, quand nous aurons pu leur donner un peu plus de sens et de
porte.
Retenons en tout cas que
Tout ce que codera un ordinateur sera crit octet par octet, aussi bien
les informations manipules que les instructions des programmes qui
feront agir le processeur
Principe 5-3 : l'octet est l'unit de taille mmoire et de quantit d'information
CeFIS-FUNDP
Ch. Duchteau
67
Initiation l'informatique
Adresses
Bus d'
adresses
Contenus
00000000 (0)
00000001 (1)
00000010 (2)
11111101 (253)
11111110 (254)
11111111 (255)
01000001 (65)
00000011 (3)
Bus de donnes
Le processeur indique la
cellule laquelle il veut
accder (pour lire ou pour
crire) en prcisant son
adresse
Le processeur recueille le
contenu de la cellule dont
l'adresse est prcise ou
bien y transfre une
nouvelle donne
Processeur
Figure 5-6 : les adresses
Il est important de ne pas confondre l'adresse d'un emplacement mmoire avec son
contenu. Dans le schma prsent ci-dessus, nous avons suppos que les adresses des cellules
mmoires taient crites sur un octet et que les contenus de ces cellules taient galement d'un
octet.
Il est essentiel d'avoir saisi ce mode de fonctionnement : le travail consiste essentiellement en
des changes entre la mmoire centrale et le processeur. Le processeur indique l'adresse de
la cellule concerne par cet change ( travers le bus d'adresses) et crit ou lit ( travers le
bus de donnes) dans cette cellule.
6 x 10
68
0
0 centaine
0 x 10
3
3 dizaines
1
3 x 10
Ch. Duchteau
4
4 units
0
4 x 10
CeFIS-FUNDP
Initiation l'informatique
Comme on s'est donn dix symboles (0 compris), on dit qu'on note les nombres en
base 10 et ce sont les puissances de 10 qui sont importantes et donnent par ailleurs des
nombres bien "ronds" comme 0, 10, 100, 1000.
5.2.2.2 Comment les nombres sont crits en binaire
Le codage binaire suit les mmes rgles, mais comme on ne permet que deux
symboles (0 et 1), c'est les puissances de deux qui seront importantes.
Ainsi, on commence avec
1
pour noter un
11
100
signifiant une quatraine, zro deuzaine et zro unit pour noter quatre
puis
puis
etc..
Un nombre comme
1
1 seizaine
0 huitaine
1 quatraine
0 deuzaine
1 unit
1x2
0x2
1x2
0x2
1x2
signifie donc seize + quatre + un, soit vingt et un, qui serait crit 21 (deux dizaines et une
unit) en notation dcimale.
Pour passer de la notation dcimale la notation binaire, la mthode est simple et je
vais l'illustrer sur un exemple : le codage en binaire de cent.
divisions successives
1
on
divise
par 2
Quotient :
0
Reste :
1
3
on
divise
par 2
Quotient :
1
Reste :
1
6
on
divise
par 2
Quotient :
3
Reste :
0
12
on
divise
par 2
Quotient :
6
Reste :
0
25
on
divise
par 2
Quotient :
12
Reste :
1
50
on
divise
par 2
Quotient :
25
Reste :
0
100
on
divise
par 2
Quotient :
50
Reste :
0
On divise donc le nombre initial puis les quotients successifs obtenus par 2 en notant
chaque fois le reste de cette division (qui sera forcment 1 ou 0). On arrte lorsque le quotient
est nul : les restes successifs obtenus donnent alors (de gauche droite) l'criture en binaire du
2
nombre initial. Ici, 100 s'crira donc en binaire 1100100 (une quatraine (2 ) + une trente5
6
deuzaine (2 ) + une soixante-quatraine (2 ))
Il faut bien noter que les nombres bien "ronds" sont en binaire les puissances de 2
(alors qu'en dcimal, il s'agissait des puissances de 10) :
CeFIS-FUNDP
Ch. Duchteau
69
10
100
1000
10000
100000
Initiation l'informatique
soit en dcimal
soit en dcimal
soit en dcimal
soit en dcimal
soit en dcimal
etc.
2
4
8
16
32
jusque
1
70
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Il va de soi que dans ce cas l'entier est cod comme la succession des caractres qui le
composent et pour coder "253", on utilisera 3 octets.
5.2.3.2.2 Les entiers vus comme des nombres
Lorsqu'on souhaite par exemple effectuer des calculs sur les entiers considrs, il est
vident qu'ils doivent tre considrs comme des nombres en non comme du texte.
Il suffit d'indiquer sur combien d'octets sont cods les entiers. Malheureusement, la
rponse cette question n'est pas uniforme. Le chapitre prcdent nous a appris que la seule
ralit tait toujours un systme informatique, autrement dit, un couple ordinateur + logiciel.
Le choix du nombre d'octets retenus pour crire en mmoire un entier dpend donc du logiciel
qui quipe l'ordinateur considr.
C'est toujours le mme problme : parler du codage des entiers par l'ordinateur n'a pas de
sens (puisque "l'ordinateur n'existe pas". C'est on le devine, le logiciel qui contrle l'ordinateur
qui fait dcider de la manire dont ce qui est frapp au clavier va tre cod en mmoire; "253"
frapp au clavier sera cod comme du texte (sur trois octets) si c'est tel ou tel logiciel qui est
l'oeuvre et cod comme un entier sur deux octets si c'est tel autre ou sur 4 octets pour un
troisime.
Si nous retenons (ce qui est fort souvent le cas) le chiffre de deux octets, pour le
codage d'un nombre entier, nous sommes en mesure de mener le raisonnement suivant : en
gnral (sauf si on souhaite ne reprsenter que des nombres positifs), un BIT va servir
retenir le signe du nombre entier considr :
signe
En ralit, le codage du signe est un peu plus complexe que ce qui est indiqu ici, mais
le rsultat revient en gros admettre que un BIT tant perdu pour le signe, il ne reste plus que
15 bits pour crire l'entier coder.
La rponse est alors immdiate : avec les 15 bits restant on a droit 215 configurations
diffrentes, soit 32.768 configurations. Si 0 est compt comme positif (et cod avec une
succession de 15 zros), on pourra donc crire sur les 15 bits les nombres entre 0 et 32.767 (ce
qui fait bien 32.768 configurations diffrentes).
Pour les ngatifs, on a droit aussi 32.768 configurations; comme on peut commencer
-1, on pourra crire les nombres de -1 -32.768.
Ainsi, on pourra coder au total tous les entiers entre -32.768 et 32.767.
Comme on le voit, les entiers codables sont relativement limits en taille. Mme si l'on
augmente le nombre d'octets utiliss pour ce codage, il subsistera toujours une borne priori
sur la grandeur des entiers manipulables.
CeFIS-FUNDP
Ch. Duchteau
71
Initiation l'informatique
ensemble est infini : il n'y a pas de limite la taille des entiers. En informatique, c'est
seulement un intervalle fini de l'ensemble des entiers qui est reprsentable et manipulable : on
ne peut coder tous les entiers imaginables.
Voici par exemple, dans le cas d'un petit programme, crit en Pascal, qui
commande l'ordinateur de placer en mmoire (dans deux cases destines
contenir des entiers et constitues chacune de deux octets) puis d'en afficher
la somme, le rsultat surprenant obtenu :
var A,B : integer;
begin
A:=20000;
B:=20000;
(on demande l'affichage de la somme des contenus des deux casiers contenant
chacun l'entier 20000)
end.
Le rsultat correct, 40.000, qui n'est pas codable est remplac par un nombre
ngatif, -25.536 !
Avec certains logiciels, le rsultat est aberrant : la somme de deux entiers positifs
donne un rsultat ngatif. Avec d'autres, les choses sont plus claires : l'ordinateur "se plante"
ou signale une erreur.
5.2.3.3 Le codage des nombres rels
Il faut signaler nouveau que la succession des symboles constituant le nombre peut
tre vues comme du texte cod octet par octet. Ainsi, "345,56" peut tre cod comme du texte,
sur 6 octets successifs.
Ce qui intresse ici, c'est de considrer "345,56" comme un nombre. On sait dj qu'il
sera cod, en virgule flottante, sous la forme de deux entiers, la mantisse soit 34556 et
l'exposant soit 2. Rappelons en effet qu'on passe de
345,56 3,4556 x 102 puis 34556 et 2 (Voir page 24)
On devine dans ces conditions que mantisse et exposant intervenant dans le codage du
nombre seront cods sparment sur un certain nombre d'octets.
72
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
A nouveau, il me faut signaler que la ralit est un peu plus complique que ce que j'en dcris
ici. L'important, ce sont les conclusions auxquelles on arrive.
Si par exemple la mantisse est code sur 3 octets et l'exposant sur 1 octet, on est
conduit aux contraintes suivantes :
Les trois octets de la mantisse permettent puisque l'un des bits est perdu pour le signe
un nombre maximal de l'ordre de 223 soit 8.388.608 qui est un nombre de 7 chiffres.
Retenons donc que le nombre de chiffres gards dans l'criture de la mantisse est
limit cause du codage effectu.
Le codage de l'exposant sur un octet conduit, puisque l aussi un BIT est perdu pour le
signe, un exposant de l'ordre de 27 soit 128.
Il faut cependant ajouter que, comme le codage se fait en binaire, l'criture en virgule flottante
fait appel aux puissances de 2 et non de 10 et que ds lors si l'exposant maximal est de
128
l'ordre de 128, la grandeur du nombre est de l'ordre de 2
ou, en revenant la base 10, de
38
l'ordre de 10 .
Ainsi donc l'exposant est limit, mme s'il permet de coder des nombres de l'ordre de
1038 qui sont normes.
Ds lors, travers le codage de la mantisse et de l'exposant, on constate les deux faits
essentiels suivants :
Le nombre de chiffres possibles pour l'criture du rel, ce que l'on appelle souvent le
nombre de chiffres significatifs, est limit; par ailleurs l'exposant, mme s'il permet de
considrer des nombres d'un trs grand ordre de grandeur est aussi limit. Un exemple fera
mieux comprendre ces deux constatations.
Supposons, pour simplifier l'explication, que les octets retenus pour coder la mantisse
conduisent trois chiffres significatifs seulement et que l'exposant puisse tre de l'ordre de 30.
Si je fournis les nombres 1234999,0 et 1234000,0 et que je demande de calculer la diffrence,
le rsultat au lieu d'tre comme il se doit 999,0 sera gal 0 : le systme ne fera aucune
diffrence entre les deux nombres 1234999.0 et 1234000.0. En effet
1234999.0
devient
1.23 x 106
puisque seuls trois chiffres significatifs peuvent tre
codages sont bien identiques.
1234000.0
devient
1.23 x 106
retenus pour la mantisse et ces deux
Le codage des nombres rels, avec une taille limite pour la mantisse, conduit donc
omettre lors du codage certains chiffres significatifs. Des erreurs surviennent alors cause de
ces oublis : c'est ce qu'on appelle des erreurs de troncature.
En rsum, il faut retenir que
Les nombres rels codables et manipulables par l'ordinateur mme
s'ils peuvent tre normes ( cause de la taille permise pour l'exposant)
ne sont cods qu'en retenant un certain nombre de chiffres significatifs
( cause de la mantisse). On constate alors des erreurs qui peuvent tre
importantes : les erreurs de troncature.
!
CeFIS-FUNDP
73
Initiation l'informatique
C,D :
begin
0.00000000000000E+0000
9.99000000000000E+0002
74
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Vient ensuite le codage de la succession de tous les pixels, avec pour chaque pixel
simplement l'indication de la couleur qui le caractrise. Cette couleur peut tre code sur
octet (2 pixels codable sur un octet, ce qui conduit 16 couleurs seulement), un octet (256
couleurs) ou trois octets (16.777.216 couleurs).
5.2.3.5 Le codage des sons
Nous savons dj qu'un chantillonnage du signal lectrique correspondant au son
traiter est effectu. Lorsque l'on souhaite que le codage du son ait une qualit analogue celle
des CD-Audio, cet chantillonnage se fait avec une frquence de 44,1 KHz (le signal est
analys 44.100 fois par seconde). On utilise en gnral deux octets pour coder chacune des
valeurs obtenues lors de l'chantillonnage et cela pour chaque canal (gauche et droit) dans le
cas d'un son stro. C'est donc 2 x 44.100 x 2 octets, soit 176400 octets (environ 176 Ko), qui
sont alors ncessaire pour coder une seconde de son, avec cette qualit. Le codage de son
rclame donc des quantits normes de mmoire, puisque pour coder une minute, plus de 10
millions d'octets (10 Mo) sont ncessaires. (Voir ci-dessous la dfinition du Ko et du Mo).
Le MgaOctet (Mo) qui vaut 1024 Ko (210 Ko ou 220 octets), soit environ 500 pages.
Le GigaOctet (Go) qui vaut 1024 Mo (210 Mo ou 220 Ko ou 230 octets), soit environ
500.000 pages.
CeFIS-FUNDP
Ch. Duchteau
75
Initiation l'informatique
Le TraOctet (Mo) qui vaut 1024 Go, soit environ 500.000.000 pages.
7_13_19_22_28_35
mme si on vous assure que les caractres du second texte constituent coup sr les rsultats
du prochain tirage gagnant du Lotto ! Pour l'informaticien, ces deux documents comportent la
mme quantit d'information !
76
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Mmoire centrale
Interface d'entre/sortie pour l'accs aux priphriques d'entre,
aux priphriques de sortie et aux mmoires externes
Bus de commande
Bus d'adresses
Registre d'adresses
Bus de donnes
Registres
Registre d'instruction
Compteur
ordinal
Horloge
Unit Arithmtique et
logique
Unit de commande
Processeur
L'horloge interne du processeur : ce sont les battements de cette horloge qui cadencent
le travail de toute l'unit centrale. Tout le fonctionnement du processeur, l'accs la
mmoire, etc., est synchronis sur le rythme impos par cette horloge. Sa frquence,
sur les processeurs actuels quipant les PC, est de l'ordre de 200 MHz (200 MgaHertz
soit 200 millions de battements par seconde).
J'ai signal ci-dessus que ce compteur ordinal est un registre: Ce terme de registre dsigne
simplement une cellule de mmorisation prsente au sein du processeur. C'est un peu
comme une cellule mmoire ceci prs qu'elle fait partie du processeur et non de la
mmoire centrale.
CeFIS-FUNDP
Ch. Duchteau
77
Initiation l'informatique
78
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Ces instructions correspondent des actions dont le processeur est capable : aller chercher
le contenu d'une ou plusieurs cellules mmoire pour les ramener dans des registres de
l'UAL, additionner les contenus de certains de ces registres en plaant le rsultat dans
un autre registre, recopier en mmoire le contenu d'un de ces registres, etc..
Le langage machine est donc l'ensemble des instructions propres un processeur et qui vont
le faire agir. Ce langage est propre chaque type de processeur et il est donc abusif de parler
de "langage machine" comme si les termes de ce langage taient communs toutes les
machines. Il faudrait en ralit parler du langage de tel type de processeur, les instructions le
composant tant diffrentes de celles du langage d'un autre type de processeur.
Ch. Duchteau
79
Initiation l'informatique
Il est essentiel d'avoir compris qu'il ne s'agit ici que d'un exemple,
extrmement simplifi, mais qui illustre les principes de fonctionnement de
tout ordinateur. Tout ordinateur fonctionne un peu comme cela, mais pas
exactement comme cela.
80
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Bus d'adresses
00000
00001
(0)
(1)
00010
00011
(2)
(3)
00100
00101
(4)
(5)
00110
00111
(6)
(7)
01000
01001
(8)
(9)
01010
01011
(10)
(11)
01100
01101
(12)
(13)
01110
01111
(14)
(15)
10000
10001
(16)
(17)
10010
10011
(18)
(19)
10100
10101
(20)
(21)
10110
10111
(22)
(23)
11000
11001
(24)
(25)
11010
11011
(26)
(27)
11100
11101
(28)
(29)
11110
11111
(30)
(31)
Bus de donnes
Registre d'adresses
Reg
d'instruct.
Registre de donnes
Compteur ordinal
Code condition
Unit de contrle
CeFIS-FUNDP
Ch. Duchteau
81
Initiation l'informatique
5.2.7.2 Un modle simplifi de langage machine adapt au modle simplifi d'unit centrale
Chaque instruction destination du processeur simplifi est code sur un octet et a la
structure suivante :
Les trois premiers bits de l'octet codant l'instruction constituent le code opratoire,
c'est dire l'indication de l'opration effectuer par le processeur. Le code opratoire
tant cod sur 3 bits, on a donc la possibilit de dsigner seulement 8 (23) oprations
diffrentes.
Les 5 bits suivants de l'octet codant une instruction dsignent en gnral une adresse
mmoire (pour y lire ou y crire une donne).
Les 8 instructions disponibles sont les suivantes :
1.
L'instruction de lecture : son code opratoire est 000, la seconde partie (=les 5 bits
suivants) est une adresse. Son effet est prendre copie du contenu de la cellule dont
l'adresse est indique et de l'amener travers le bus de donnes dans le registre de
donnes de l'UAL (dont elle remplace l'ancien contenu). On notera que le contenu de
la cellule consulte n'est pas modifi.
2.
L'instruction d'criture en mmoire : son code opratoire est 001, la seconde partie
(=les 5 bits suivants) est l'adresse d'une cellule mmoire. Son effet est copier dans la
cellule dont l'adresse est indique le contenu du registre de donnes de l'UAL.
L'ancien contenu de cette cellule est perdu; par contre, le registre de l'UAL garde son
contenu inchang.
3.
L'instruction d'addition : son code opratoire est 010, la seconde partie (=les 5 bits
suivants) est une adresse. Son effet est prendre copie du contenu de la cellule dont
l'adresse est indique, de l'amener travers le bus de donnes vers l'UAL et de
l'additionner au contenu actuel de ce registre de donnes.
Dans cette version extrmement simplifie, on ne se proccupe pas des dbordements qui
peuvent se produire lorsque l'addition conduit un rsultat qui ne tient plus sur un seul octet.
Par exemple, si le registre de donnes contenait 10000000 (128 en dcimal) et que cette
instruction d'addition ramne comme contenu de cellule l'octet 10000011) (131 en dcimal), la
somme 100000011 (259) ne peut pas tenir sur le seul octet constituant le registre de donnes.
Dans les vrais processeurs, cette ventualit est bien entendu traite.
4.
L'instruction de soustraction : son code opratoire est 011, la seconde partie (=les 5
bits suivants) est une adresse. Son effet est prendre copie du contenu de la cellule dont
l'adresse est indique, de l'amener travers le bus de donnes vers l'UAL et de la
soustraire du contenu actuel de ce registre de donnes. Comme d'habitude, le contenu
de la cellule consulte reste inchang, et l'ancien contenu du registre de donne est
perdu.
5.
L'instruction de comparaison : son code opratoire est 100, la seconde partie (=les 5
bits suivants) est une adresse. Son effet est prendre copie du contenu de la cellule dont
l'adresse est indique, de l'amener travers le bus de donnes vers l'UAL et de la
comparer au contenu actuel du registre de donnes. Le rsultat de cette comparaison
va se retrouver dans le registre code condition de l'UAL
82
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Si le code condition vaut 10, le compteur ordinal prend comme valeur l'adresse
qui accompagnait l'instruction de branchement conditionnel. Ainsi, si l'instruction
tait 10101100 (code condition 101 : branchement si code condition vaut 10,
adresse 01100) le compteur ordinal prendra cette valeur 01100, condition que le
code condition soit gal 10.
Si le code condition ne vaut pas 10, le compteur ordinal augmentera simplement
de 1, comme la fin de l'excution de n'importe quelle instruction.
En d'autres termes, si une instruction de comparaison prcdente avait fait passer le
code condition 10 (ce qui signifie que lors de cette comparaison le registre de
donnes tait strictement suprieur la donne ramene) le compteur ordinal sautera
la valeur crite aprs le code opratoire 101; sinon le compteur ordinal augmentera
simplement de 1.
Si la situation tait la suivante (code condition gal 10, compteur ordinal gal
00010) lorsque l'instruction de branchement a t ramene :
101
Reg
01100
d'instruct.
Registre de donnes
00010
Compteur ordinal
10
Code condition
Unit de contrle
CeFIS-FUNDP
Ch. Duchteau
83
101
01100
Reg
d'instruct.
Initiation l'informatique
Registre de donnes
01100
10
Compteur ordinal
Code condition
Unit de contrle
01100
d'instruct.
Registre de donnes
00010
Compteur ordinal
00
Code condition
Unit de contrle
01100
Reg
d'instruct.
Registre de donnes
00011
10
Compteur ordinal
Code condition
Unit de contrle
7.
8.
Si le code condition vaut 00, le compteur ordinal prend comme valeur l'adresse
qui accompagnait l'instruction de branchement conditionnel. Ainsi, si l'instruction
tait 11001100 (code condition 110 : branchement si code condition vaut 00,
adresse 01100) le compteur ordinal prendra cette valeur 01100, condition que le
code condition soit gal 00.
Si le code condition ne vaut pas 00, le compteur ordinal augmentera simplement
de 1, comme la fin de l'excution de n'importe quelle instruction.
L'instruction de branchement pure et simple. Son code opratoire est 111. Elle a pour
effet de recopier dans le compteur ordinal les 5 bits accompagnant le code opratoire.
On aura compris que le rle des instructions de branchement est de rompre la squentialit
de l'excution des instructions constituant un programme. En effet, pour toutes les instructions
habituelles, le compteur ordinal augmente de 1 la fin de leur excution; comme le compteur
ordinal dsigne l'adresse de l'instruction qui sera ensuite excute, on constate que les
instructions seront excutes dans l'ordre o elles se succdent en mmoire centrale.
84
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
En rsum, le jeu des instructions disponibles pour ce modle simplifi d'unit centrale
est donc le suivant :
Code
Opratoire
000
Adresse Opration
commande
?????
Action produite
CHARGER
CeFIS-FUNDP
Ch. Duchteau
85
Initiation l'informatique
4 brancher l'instruction qui porte le numro 6 si le code condition vaut 10; sinon continuer
normalement
5 amener c, contenu de la cellule 12, dans le registre de donnes de l'UAL
le registre de donnes contient prsent c; on est dans le cas o a+b est infrieur ou
gal c
a+b>c
code condition vaut 10
a+b=c
a+b<c
code condition vaut 01
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
00000
00001
(0)
(1)
00010
00011
(2)
(3)
00100
00101
(4)
(5)
alors les ????? deviennent 00101 (5) puisque la dernire instruction (celle o il faut sauter) est
range dans la cellule d'adresse 00101.
Si le programme tait rang partir de la cellule d'adresse 00010 (2), comme cidessous
Adresses
00000
(0)
00001
00010
(1)
(2)
00011
00100
(3)
(4)
00101
00110
(5)
(6)
00111
(7)
alors les ????? deviendraient 00111 (7) puisque la dernire instruction (celle o il faut sauter)
est range dans la cellule d'adresse 00101.
Dans ce qui suit, on rangera le programme partir de la cellule 00000. Notons au
passage qu'il tait impratif que le rangement du programme en mmoire prserve la zone
constitue des cellules d'adresses 10, 11 et 12 qui contenaient les donnes a, b et c.
CeFIS-FUNDP
Ch. Duchteau
87
Initiation l'informatique
On a initialement :
Adresses
Bus d'adresses
00000
(0)
00001
00010
(1)
(2)
00011
00100
(3)
(4)
00101
00110
(5)
(6)
00111
01000
(7)
(8)
01001
01010
(9)
(10)
00001010 10
01011
01100
(11)
(12)
01001011 75
10001100 140
b
c
01101
01110
(13)
(14)
01111
10000
(15)
(16)
10001
10010
(17)
(18)
10011
10100
(19)
(20)
10101
10110
(21)
(22)
10111
11000
(23)
(24)
11001
11010
(25)
(26)
11011
11100
(27)
(28)
11101
11110
(29)
(30)
11111
(31)
Bus de donnes
Registre d'adresses
Reg Instruct
Registre de donnes
Compt. ordinal
Code condition
Unit de contrle
88
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
On notera au passage que les contenus des cellules 0 et 10 sont identiques, comme
celles de 1 et 11 ou 2 et 12. Nous y reviendrons.
Ce qui va provoquer le dmarrage de l'excution est le fait que le compteur ordinal,
prend la valeur 00000 suite l'excution de l'instruction qui prcdait.
CeFIS-FUNDP
Ch. Duchteau
89
Initiation l'informatique
00000
(0)
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
(1)
01001011
10001100
10100101
00001100
00101101
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
00001010 10
01001011 75
10001100 140
(11)
(12)
(13)
(14)
(15)
Bus d'adresses
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
Bus de donnes
00000
Registre d'adresses
3
000
01010
Reg Instruct
Registre de donnes
00000
Compt. ordinal
Code condition
90
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
l'adresse 01010 (10) mentionne par cette instruction CHARGER est place dans le registre
d'adresses
Bus d'adresses
00000
00001
(0)
(1)
00010
00011
(2)
(3)
00100
00101
(4)
(5)
00110
00111
(6)
(7)
01000
01001
01010
(8)
(9)
(10)
00001010 10
01011
(11)
01001011 75
01100
(12)
10001100 140
01101
01110
(13)
(14)
01111
... ... ...
(15)
10110
10111
(22)
(23)
11000
11001
(24)
(25)
11010
11011
(26)
(27)
11100
11101
(28)
(29)
11110
11111
(30)
(31)
01010
Bus de donnes
Registre d'adresses
4
000
01010
Reg Instruct
00000
00001010
Registre de donnes
7
Compt. ordinal
Code condition
CeFIS-FUNDP
Ch. Duchteau
91
Initiation l'informatique
le contenu du compteur ordinal, soit 00001, est transfr dans le registre d'adresses
l'instruction 01001011 contenue dans la cellule d'adresse 00001 (1) est slectionne et
10
Bus d'adresses
00000
(0)
00001
(1)
00010
(2)
00011
00100
(3)
(4)
00101
00110
(5)
(6)
00111
01000
(7)
(8)
01001
01010
(9)
(10)
00001010 10
01011
01100
(11)
(12)
01001011 75
10001100 140
01101
01110
(13)
(14)
01111
... ... ...
(15)
10110
10111
(22)
(23)
11000
11001
(24)
(25)
11010
11011
(26)
(27)
11100
11101
(28)
(29)
11110
11111
(30)
(31)
00001
Bus de donnes
Registre d'adresses
10 010
01011
00001010
Reg Instruct
8
Registre de donnes
00001
Compt. ordinal
Code condition
92
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
l'adresse 01011 (11) mentionne par cette instruction ADDITIONNER est place dans le
registre d'adresses
12
13
14
12
Bus d'adresses
01100
01101
01110
01111
... ... ...
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
10001100 140
(12)
(13)
(14)
(15)
01011
Bus de donnes
Registre d'adresses
11
010 01011
13
Reg Instruct
Registre de donnes
00010
Compt. ordinal
01010101
14
Code condition
CeFIS-FUNDP
Ch. Duchteau
93
Initiation l'informatique
le compteur ordinal voit son contenu 00010 transfr dans le registre d'adresses
16
l'instruction 10001100 contenue dans la cellule d'adresse 00010 (2) est slectionne et
17
16
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
... ...
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
Bus d'adresses
00001010 10
01001011 75
10001100 140
00010
Registre d'adresses
Bus de donnes
17
15
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
100 01100
Reg Instruct
01010101
Registre de donnes
00010
Compt. ordinal
Code condition
Unit de contrle
94
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
l'adresse 01100 (12) mentionne par cette instruction COMPARER est place dans le
registre d'adresses
19
20
21
19
Bus d'adresses
01101
01110
01111
... ... ...
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
01100
Registre d'adresses
18
Bus de donnes
100 01100
20
Reg Instruct
01010101
Registre de donnes
00011
01
Compt. ordinal
Code condition
21
CeFIS-FUNDP
Ch. Duchteau
95
Initiation l'informatique
le compteur ordinal voit son contenu 00011 transfr dans le registre d'adresses
23
l'instruction 10100101 contenue dans la cellule d'adresse 00011 (3) est slectionne et
24
23
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
... ... ...
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
Bus d'adresses
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
00001010 10
01001011 75
10001100 140
00011
Registre d'adresses
Bus de donnes
24
101 00101
01010101
Reg Instruct
Registre de donnes
22
00011
01
Compt. ordinal
Code condition
Unit de contrle
96
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
cette instruction demande de sauter l'instruction d'adresse 00101 (5) si le code condition
vaut 10 et cela en plaant cette adresse 00101 dans le compteur ordinal; dans le cas
contraire le compteur ordinal est simplement augment de 1. Comme ici, le code condition
vaut 01, c'est cette dernire ventualit qui est choisie : le compteur ordinal s'incrmente de
1 et passe 00100 (4). Il n'y a donc pas au cours de l'excution de cette instruction de
branchement de nouvel accs la mmoire.
Adresses
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
... ... ...
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
00011
Registre d'adresses
100 01100
Reg Instruct
01010101
Registre de donnes
00100
01
Compt. ordinal
Code condition
25
CeFIS-FUNDP
Ch. Duchteau
97
Initiation l'informatique
le contenu du compteur ordinal, soit 00100, est transfr dans le registre d'adresses
27
l'instruction 00001100 contenue dans la cellule d'adresse 00100 (4) est slectionne et
28
27
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
... ... ...
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
Bus d'adresses
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
00001010 10
01001011 75
10001100 140
00100
Bus de donnes
Registre d'adresses
28
26
000 01100
01010101
Reg Instruct
Registre de donnes
00100
01
Compt. ordinal
Code condition
Unit de contrle
98
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
l'adresse 01100 (12) mentionne par cette instruction CHARGER est place dans le registre
d'adresses
30
la cellule d'adresse 01100 (12) est slectionne et son contenu 10001100 (140)
31
32
30
Bus d'adresses
01101
01110
01111
... ... ...
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
01100
Registre d'adresses
29
Bus de donnes
000 01100
31
Reg Instruct
10001100
Registre de donnes
00101
Compt. ordinal
01
Code condition
32
CeFIS-FUNDP
Ch. Duchteau
99
Initiation l'informatique
le contenu du compteur ordinal, soit 00101, est transfr dans le registre d'adresses
34
l'instruction 00101101 contenue dans la cellule d'adresse 00101 (5) est slectionne et
35
34
00110
00111
01000
01001
01010
01011
01100
01101
01110
... ... ...
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
Bus d'adresses
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
00001010 10
01001011 75
10001100 140
00101
Bus de donnes
Registre d'adresses
35
33
001 01101
10001100
Reg Instruct
Registre de donnes
00101
01
Compt. ordinal
Code condition
Unit de contrle
100
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
l'adresse 01101 (13) mentionne par cette instruction SAUVER est place dans le registre
d'adresses
37
38
le contenu 10001100 (140) du registre de donnes est crit dans cette cellule
39
37
Bus d'adresses
01110
01111
... ... ...
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
01100
Registre d'adresses
36
Bus de donnes
001 01101
38
Reg Instruct
10001100
Registre de donnes
00110
01
Compt. ordinal
Code condition
39
CeFIS-FUNDP
Ch. Duchteau
101
Initiation l'informatique
2me phase
102
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
CeFIS-FUNDP
Ch. Duchteau
103
2.
Initiation l'informatique
Il est impratif de se rendre compte que le modle simplifi prsent ici, s'il
nous a permis d'exposer et d'illustrer les principes qui sont la base du
fonctionnement de pratiquement tous les ordinateurs, est infiniment plus
simple que les units centrales relles. Quelques remarques vont permettre
d'largir le propos.
L'unit centrale est constitue d'une mmoire centrale et d'un processeur : entre ces
deux entits, instructions et donnes vont pouvoir tre changes.
Les instructions constituant les programmes qui vont faire agir le processeur sont
enregistres en mmoire centrale au mme titre que les donnes; rien ne permet donc
de distinguer une instruction (code en binaire) d'une donne (code en binaire). Ces
instructions peuvent elles-mmes tre modifies pendant l'excution du programme
qu'elles constituent.
Une seule instruction la fois est amene de la mmoire centrale et excute par
l'unique processeur.
Ces principes de fonctionnement restent ceux de la plupart des ordinateurs modernes.
104
CeFIS-FUNDP
Initiation l'informatique
Chaque processeur est caractris par les actions dont il est capable et par le jeu
d'instructions qui vont commander ces actions. Ces instructions, qui sont toujours des
configurations binaires, constituent le langage du processeur, ce qu'on appelle parfois
le langage machine.
Le concept de langage machine, au singulier, est inadquat : il y a autant de langages
machines que de types de processeurs diffrents.
Bien videmment, l'volution dans le temps de ces processeurs fait qu'on peut en quelque
sorte y tracer une gnalogie et les successeurs d'un processeur donn continuent le plus
souvent "comprendre" le langage du processeur auquel ils succdent, l'inverse n'tant pas
ncessairement vrai.
La rponse ces questions est en grande partie commune : c'est un autre programme
qui se charge d'aller chercher le programme excuter (par exemple sur une mmoire de
masse : disquette, disque dur,...) et les donnes et les place des endroits convenables de la
mmoire. Ce programme se termine par un branchement l'adresse de la premire instruction
du programme qui vient d'tre install. A la fin de l'excution du programme considr, c'est
CeFIS-FUNDP
Ch. Duchteau
105
Initiation l'informatique
Ainsi, la mise en marche d'un ordinateur de type PC, le compteur ordinal prend la
valeur 1048560, ce qui provoque l'excution d'un programme log en mmoire morte
partir de l'adresse 1048560. Ds lors une srie de programmes situs en ROM sont
excuts les uns "passant la main" (par un branchement) aux autres, en un
enchanement purement dterministe. Bien videmment, au bout d'un temps, ce sont
les interventions venues de l'extrieur sous forme de donnes (au dpart du clavier
ou de la souris, par exemple) qui vont faire voluer le flot des programmes qui seront
chargs en mmoire et excuts. (0ctobre 1998)
Il est donc important d'avoir cette vision dynamique de ce qui se passe dans l'unit
centrale : plusieurs programmes cohabitent en mmoire centrale, s'excutent certains
moments et passent ensuite la main d'autres.
Ce qu'on peut en tout cas dire c'est qu' aucun moment le processeur n'est "arrt";
constamment des instructions sont ramenes, excutes et, le compteur ordinal se modifiant,
font place d'autres, et cela sans arrt.
106
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
On peut aisment calculer que si le registre d'adresses possde une taille de n bits, 2n
cellules pourront tre adressables. Si chaque cellule adressable a une taille d'un octet, on aura
alors 2n octets de mmoire adressable.
C'est sans doute le moment de rappeler les prfixes, tant multiplicatifs que de
division :
kilo
x 1.000
mili
/1.000
mega
x 1.000.000
micro
/1.000.000
giga
x 1.000.000.000
nano
/1.000.000.000
tera x 1.000.000.000.000
pico /1.000.000.000.000
Pour donner un ordre d'ide de ce qu'est une nano-seconde, disons que la lumire qui
se propage pourtant 300.000 km/s, parcourt seulement 30 centimtres pendant une nanoseconde.
CeFIS-FUNDP
Ch. Duchteau
107
Initiation l'informatique
Les mmoires les plus rapides actuellement (SRam) ont des temps d'accs de
quelques nano-secondes (une petite dizaine de ns). Les mmoire plus lentes (DRam)
ont des temps d'accs de quelques dizaines de ns. Il y a environ un facteur 10 entre
les temps d'accs mmoires les plus lentes et les plus rapides.
Autant que possible, le programme actuellement actif rside en tout ou en partie dans
cette zone de mmoire-cache laquelle le processeur accde beaucoup plus
rapidement qu'au reste de la mmoire; il en est de mme pour les donnes actuellement
traites.
MEMOIRE
CENTRALE
CLASSIQUE
Figure 5-34 : rle de la mmoire cache
108
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
bits et on en est aujourd'hui des processeurs 64 bits (8 octets sont changs d'un coup entre
la mmoire centrale et le processeur).
Un petit exemple fera comprendre le progrs apport par le passage d'un processeur
8 bits un processeur 16 bits. Nous savons que les entiers sont souvent cods sur 2
octets en mmoire (Voir page 71). Imaginons donc que nous avons deux entiers A et
B dont nous souhaitons obtenir simplement la somme. Le premier entier A est cod
sur deux octets et le second B galement. Avec un langage machine du type de celui
dvelopp dans l'exemple trait ci-dessus et avec un processeur 16 bits, il suffit de
trois "voyages" entre la mmoire et le processeur pour obtenir la somme. En effet,
on va amener (dans un registre de donnes du processeur) en une fois les deux
octets dans lesquels A est crit (premier transfert),
on va galement amener en une fois les deux octets codant B pour les additionner
ceux dj prsents dans le registre de donnes (deuxime transfert);
enfin le rsultat (cod sur deux octets) sera en une fois transfr vers les deux
cellules de la mmoire qui contiendront le codage de la somme (troisime
transfert).
Par contre, avec un processeur 8 bits, il faudra en tout 6 transferts :
on va amener (dans un registre de donnes du processeur) l'octet codant la partie
droite du nombre A; comme on ne peut transfrer qu'un octet la fois, c'est la
seule possibilit;
on va amener l'octet codant la partie droite du nombre B en l'additionnant la
partie droite de A dj prsente dans le processeur;
on va transfrer l'octet constituant la somme des deux parties droites ainsi
obtenue dans une cellule de la mmoire : celle-ci contiendra la partie droite du
rsultat; (on garde dans le processeur le report ventuel obtenu suite l'addition);
on va amener (dans un registre de donnes du processeur) l'octet codant la partie
gauche du nombre A; comme on ne peut transfrer qu'un octet la fois, c'est la
seule possibilit;
on va amener l'octet codant la partie gauche du nombre B en l'additionnant la
partie gauche de A dj prsente dans le processeur (et au report ventuel obtenu
suite l'addition des parties droites);
on va transfrer l'octet constituant la somme des deux parties gauches ainsi
obtenue dans une cellule de la mmoire : celle-ci contiendra la partie gauche du
rsultat.
Pour effectuer le mme traitement d'addition de deux entiers, il aura bien fallu 6
transferts avec un processeur 8 bits et seulement 3 avec un processeur 16 bits !
CeFIS-FUNDP
Ch. Duchteau
109
Initiation l'informatique
On devine que certains processeurs disposent d'instructions plus puissantes et que, par
exemple, une seule instruction permettrait alors de faire le mme travail :
00001111
code opratoire, cod
sur un octet et commandant de lire successivement le contenu de
deux cellules mmoire
(dont les adresses suivent) et de placer le
rsultat dans une cellule (dont l'adresse suit
galement)
00000001
adresse (1) code sur un octet
de la cellule
contenant
la
premire donne
00000010
adresse (2) code sur un octet
de la cellule
contenant
la
seconde donne
qui doit tre
additionne la
premire
00000011
adresse (3) code sur un octet
de la cellule o
le rsultat de
l'addition doit
tre plac.
Il est vident que l'criture de programmes, dans ce cas, utilisera bien moins
d'instructions que dans le premier cas voqu.
Le nombre et la puissance des instructions propres un processeur constituent ds lors
un paramtre important de description de l'efficacit d'un systme.
5.2.9.9 La vitesse d'horloge
On a vu (page 77) que les battements d'une horloge permettaient de synchroniser le
travail des divers lments de l'unit centrale. La frquence laquelle cette horloge oblige ces
divers lments travailler est videmment un paramtre important. Les valeurs actuelles de
cette frquence sont de plusieurs centaines de mga-hertz (= plusieurs centaines de millions
de battements pas seconde). On annonce (avec le Pentium IV) 2 GHz de frquence.
110
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
En MHz
2000
1500
1130
1000
450
500
12
100
200
33
166
0,108
1971
1979
1982
1985
1989
1993
1995
1997
1999
2000
CeFIS-FUNDP
Ch. Duchteau
111
Initiation l'informatique
1000
En MIPS
1000
800
600
600
250
400
200
0,06
70
11
2,66
0,75
300
Processeurs
Pe
nt
iu
m
Pe
nt
iu
m
Pr
o
Pe
nt
iu
m
II
Pe
nt
iu
m
III
80
38
80
48
6
28
80
80
40
04
88
Afin de rsumer l'volution des systmes (bass sur les micro-processeurs Intel), on
peut proposer le tableau suivant (11/2001) :
Type
4004
8088
80286
80386
Anne
1971
1979
1982
1985
16 bits
16 bits
32 bits
8 bits
16 bits
32 bits
20 bits
24 bits
32 bits
5 8 MHz
6 12 MHz
16 33 MHz
Vitesse (MIPS)
0,06 MIPS
0,33 0,75
0,9 2,66
5 11 MIPS
Nombre de transistors
2300
29.000
134.000
275.000
Prix (en $)
200
360
360
299
112
4 bits
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Type
80486
Pentium
Pentium Pro
Pentium II
Anne
1989
1993
1995
1997
32 bits
32 bits
32 bits
32 bits
64 bits
64 bits
64 bits
32 bits
32 bits
32 bits
60 166 MHz
Vitesse (MIPS)
20 70 MIPS
Nombre de transistors
1.600.000
3 millions
Prix (en $)
950
878
974
Remarques
Mmoire cache de
8 Ko
Coprocesseur
arithmtique
Type
Pentium III
Pentium IV
Anne
1999
2000 ?
32 bits
64 bits
64 bits
32 bits
1,4 GHz
2,8 GHz
Vitesse (MIPS)
Nombre de transistors
Prix (en $)
8,2 millions
28 millions (avec le
cache) ?
42 millions
(avec le cache)
Cache interne de
512 Ko
Cache interne de
256 Ko
Comme prcis, on n'value plus gure en MIPS les performances des processeurs rcents.
CeFIS-FUNDP
Ch. Duchteau
113
Initiation l'informatique
!
5.3
Le co-processeur arithmtique, ajout aux processeurs de la fin des annes 80, est un
dispositif spcialis dans le calcul portant sur les nombres rels cods en virgule
flottante. Ce dispositif fait aujourd'hui partie intgrante des processeurs.
5.3.1 Rle
A complter
5.3.2 Contenu
A complter
5.3.3 Classification
A complter
Disquettes
5"1/45
Double
densit
Disquettes
5"1/46
Haute
densit
Disquettes
3"
Double
densit2
Disquettes
3"
Haute
densit
Disques
durs
Disques
CD ROM
Disques
CD
Disques
DVD ROM
Capacit
2 Go ( 8 Go
4 Go
360Ko
1,2 Mo
720 Ko
1,44 Mo
20 Go
600 Mo
600 Mo
17 Go
Temps
d'accs
Pas de sens
100 ms (
600 ms
200 ms
100 ms (
600 ms
200 ms
100 ms (
600 ms
200 ms
100 ms (
600 ms
200 ms
5 ms ( 20
ms
10 ms
80 ms (
200 ms
100 ms
100 ms (
200 ms
200 ms
100 ms (
200 ms
200 ms
Vitesse de
transfert6
500 K/s ( 3
Mo/s
2 Mo/s
30 Ko/s (
150 Ko/s
30 Ko/s (
150 Ko/s
30 Ko/s (
150 Ko/s
30 Ko/s (
150 Ko/s
1 Mo/s ( 20
Mo/s
10 Mo/s
5 Mo/s
5 Mo/s
10 Mo/s
5
6
114
En voie de disparition
moyenne et pas instantane
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Prix du
lecteur
Prix du
support
7000 F (
30.000 F
2500 F
2500 F
2500 F
2500 F
5000 F (
30.000 F
4.000 F
Graveur
10.000 F
10.000 F
250 F( 700
10 F( 50 F
10 F( 50 F
15 F( 50 F
15 F( 50 F
pas de sens
pas de sens
50 F
Pas de sens
5.4
5.5
5.5.1 L'cran
A complter
quel est le rle (plus ou moins grand) de l'ordinateur dans la prparation de ce qui doit
tre envoy l'imprimante ?
5.5.2.2.1 Les changes de type texte (et les imprimantes travaillant en mode texte)
Les octets envoys par l'ordinateur l'imprimante reprsentent des caractres : ainsi
chaque octet est interprt par l'imprimante, par exemple travers le code ASCII, comme
reprsentant un caractre tracer.
Si l'imprimante est capable de tracer sur le papier les caractres correspondant aux
octets reus, c'est qu'elle possde pour chaque caractre possible la reprsentation point par
point du dessin raliser. Ainsi, recevant l'octet 657 (caractre A dans le code ASCII),
l'imprimante consulte le dessin bitmap (point par point) qu'elle a pour ce caractre et imprime
sur le papier le nuage de points ainsi trouv.
Not en dcimal et non en binaire comme c'est rellement le cas, pour des questions de facilit de lecture.
CeFIS-FUNDP
Ch. Duchteau
115
Initiation l'informatique
C'est donc que l'imprimante dispose d'une mmoire morte dans laquelle ces
informations pour le trac sont enfermes. L'imprimante peut d'ailleurs possder plusieurs
polices diffrentes (Roman, Sans Serif, Courier...), dans plusieurs types d'impression (italique,
largi, gras, ...). Voici par exemple le type de reprsentation qu'elle pourrait possder.
116
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Ainsi, sur les imprimantes de type EPSON (qui furent longtemps un standard en ce
qui concerne les imprimantes matricielles), ce sont des suites de caractres
commenant toujours par le caractre de code 27 (souvent appel "Escape", et
obtenu au clavier par l'appui sur la touche "Esc") qui jouent le rle d'indicateurs pour
ces changements. Par exemple, la suite de code 27 (Esc) et 52 (4) demandent
l'imprimante un passage en italique.
Sur la HP 500 (une des imprimantes jet d'encre les plus rpandues), c'est la
squence 27 (Esc) 40 (() 115 (s) 49 (1) 83 (S) qui provoque le passage au mode
italique.
C'est la raison pour laquelle, lorsqu'on dite ou lorsqu'on demande l'affichage d'un
fichier contenant un texte dj prpar par un logiciel de traitement de texte et
destination d'une imprimante travaillant en mode texte, on y trouve, non seulement
des caractres normaux, mais encore un tas de caractres inattendus et correspondant
aux caractres de contrle insrs dans le texte original.
Signalons encore que ce travail "en mode texte" est de plus en plus rare dans les
environnements de travail actuels. Il tait pourtant le plus souvent la rgle pour les logiciels
travaillant dans l'environnement MS-DOS sur PC.
5.5.2.2.2 Les changes de type graphique (et les imprimantes travaillant en mode graphique)
Ici, les octets envoys par l'ordinateur ne sont plus interprts comme codant des
caractres mais plutt comme dcrivant une portion de graphique tracer sur le papier.
L'imprimante interprte donc les octets comme la reprsentation bitmap (point par point) d'un
graphique imprimer sur le papier.
Disons d'emble que dans ce cas c'est l'ordinateur qui se charge de la plus grande
partie du travail. C'est lui, qui disposant simplement de la signification graphique (pour
l'imprimante concerne) des diffrents octets (= quel octet envoyer pour que l'imprimante
sorte telle configuration de points sur un petit espace de la feuille), va calculer quels octets
envoyer pour obtenir textes et graphiques.
Il faut donc remarquer qu'ici, lorsque du texte (des caractres) doivent tre tracs par
l'imprimante, c'est l'ordinateur qui se charge de la tche consistant calculer quels octets
"graphiques" envoyer pour que l'imprimante dessine les caractres souhaits.
Dans ce mode d'change graphique, l'imprimante se contente donc de dessiner sur base
des indications convenables correspondant aux octets reus de l'ordinateur. Elle est alors
capable de dessiner aussi bien des graphiques que du texte, condition que l'ordinateur se
charge de lui envoyer les octets de commandes de trac souhaites.
CeFIS-FUNDP
Ch. Duchteau
117
Initiation l'informatique
On verra ci-dessous que dans le cas des imprimantes aiguilles ou jet d'encre, la tte
d'impression se dplace horizontalement le long du papier en y laissant un ensemble de points
disposs verticalement. Ainsi, si le dessin et le texte figurant ci dessous doivent tre tracs par
l'imprimante
C'est donc l'ordinateur qui, ici, va envoyer les octets reprsentant les diverses colonnes
(avec les combinaisons de points noirs ou blancs) l'imprimante, celle-ci se contentant
d'aligner les colonnes de points ainsi commandes.
Les rsultats obtenus sur l'imprimante correspondent donc essentiellement, non aux
capacits de cette dernire, mais au travail pralable fait par l'ordinateur, donc aux possibilits
des logiciels utiliss. Il faut savoir qu'un environnement comme Windows (sur les PC)
travaille essentiellement de cette manire. Au point de vue des polices disponibles, on n'est
plus du tout limit par celles dont l'imprimante possderait en mmoire morte une description
bitmap, mais uniquement par celles dont l'ordinateur possde la description.
?
118
Nous avons vu qu'il existait deux modes de codage des dessins : bitmap et
vectoris. Si l'ordinateur possde un mode de reprsentation des caractres
faire tracer par l'imprimante, quel est selon vous le mode de codage le
plus appropri ?
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Ajoutons encore que frquemment, c'est d'une description vectorise des diffrents
caractres (dans diffrentes polices et selon diffrentes mises en valeur) que le systme
dispose. Une telle description vectorise considre un caractre non comme un ensemble de
points, mais comme un objet compos de segments, de courbes, etc.. Ainsi, par exemple, le
caractre A peut tre dcrit par quelques grandeurs comme dans le schma ci-aprs :.
L
h
Disposant de ce type de description, il est ais de passer un trac bitmap (point par
point) qui sera aussi correct que possible, quelle que soit la taille du caractre tracer : il
suffit d'ajuster chaque fois les longueurs L et h
Ainsi en est-il, sous Windows, des polices dites True Type : le systme qui possde
la description vectorise de ces polices, en gnre une description bitmap, tenant
compte de la taille souhaite, et envoie cette description l'imprimante graphique.
Il est important de saisir que si l'on dispose seulement d'une reprsentation bitmap du
caractre, dans une taille donne
ce qui donne, vu de prs
CeFIS-FUNDP
Ch. Duchteau
119
Initiation l'informatique
Une autre solution envisageable, si l'on veut en rester une reprsentation de type
bitmap, est de disposer de cette reprsentation pour diverses tailles de caractres. Dans ce cas,
il ne suffit donc pas que l'ordinateur possde la description point par point du caractre A,
mais plutt la description point par point du caractre A pour toutes les tailles souhaites. On
devine la quantit d'informations stocker pour faire dessiner dans plusieurs tailles, pour
diffrents styles, tous les caractres de plusieurs polices.
5.5.2.2.3 Les changes de type programme
Dans ce dernier cas les octets transmis par l'ordinateur constituent un programme (=
des indications de traitement) qui sera excut par l'imprimante et lui fera produire une page.
On devine aisment que dans ce cas l'imprimante est en ralit un ordinateur part entire,
disposant d'un processeur et d'une bonne capacit de mmoire vive pour stocker et excuter
les programmes ainsi reus.
Nous aurons l'occasion dans la suite d'aborder la programmation et les langages de
programmation. Pour faire court, ces langages permettent, avec un mode d'expression
suffisamment proche du ntre de dcrire les traitement attendus par l'ordinateur. Un
programme exprim dans un tel langage doit cependant tre traduit pour donner naissance
un programme "en langage machine" (= dans le langage du processeur concern), le seul qui
soit excutable.
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Signalons enfin que ce sont essentiellement les imprimantes Laser et jets d'encre qui
travaillent de cette manire : une "laser" est donc avant tout un ordinateur (spcialis dans le
travail d'impression).
5.5.2.3 Les paramtres descriptifs et d'valuation d'un imprimante
5.5.2.3.1 Type des changes
Le premier critre important est celui du type d'changes permis : dans quel mode
(texte, graphique, programme) l'imprimante peut-elle travailler ? Nous dcouvrirons cidessous les imprimantes matricielles, jet d'encre et laser. Disons ds prsent que les deux
premires familles travaillent souvent en mode texte et en mode graphique et que la dernire
le fait en mode programme.
5.5.2.3.2 Vitesse d'impression
Il s'agit videmment d'un critre fort important : combien de caractres par seconde
(CPS) une imprimante travaillant en mode texte est-elle capable d'imprimer; combien de
minutes faut-il une imprimante travaillant en mode graphique ou programme pour produire
une page, ou mieux, combien de pages par minute (PPM) ce type d'imprimante peut-elle
sortir ?
Nous disposons donc de deux units : les CPS (caractres par seconde), pour les
imprimantes de type texte, les PPM (pages par minute) pour les deux autres types.
5.5.2.3.3 Rsolution
C'est du nombre de points distincts qui peuvent tre imprims par unit de longueur
(tant horizontalement que verticalement) qu'il s'agit ici. On parle galement de "dfinition" ou
de "densit" dans ce contexte. Cette rsolution s'exprimera en points par pouce (en anglais
Dot Per Inch : DPI). Plus ce nombre est lev, plus la qualit du document imprim sera
remarquable.
5.5.2.3.4 La taille de la mmoire tampon
Quel que soit le mode de relation entre l'ordinateur et l'imprimante, on devine
aisment que si cette dernire avait seulement la possibilit de stocker un seul octet avant de
l'imprimer, l'ordinateur perdrait un temps norme envoyer, un par un, les octets qu' chaque
fois l'imprimante traiterait.
Notons d'ailleurs que ce mode de fonctionnement serait absolument impossible pour le
travail en mode programme.
Les imprimantes disposent donc en gnral d'une zone de mmoire vive qui sert de
tampon (buffer en anglais) permettant de stocker plusieurs octets (reprsentant des caractres,
des colonnes de points ou encore des instructions) en attente d'impression. Plus la mmoire
tampon est importante, moins nombreux seront les changes entre ordinateur et imprimante et
ds lors plus rares seront les interruptions du travail de l'ordinateur pour l'envoi de paquets
d'octets.
Ce sont, on le devine, les imprimantes travaillant en mode programme qui disposent
de la plus grande taille de mmoire : on parle alors simplement de mmoire vive plutt que de
mmoire tampon.
5.5.2.3.5 Autres paramtres importants
-
CeFIS-FUNDP
Ch. Duchteau
121
Initiation l'informatique
Disons qu'en ralit, il y a plus d'un fil pour prendre en compte des contraintes
techniques (par exemple, l'imprimante doit pouvoir signaler certaines choses
l'ordinateur). Ce type de liaison srie est compatible avec des distances assez
importantes (l'imprimante peut tre loigne de l'ordinateur). Enfin, ces liaisons sries
sont frquemment utilises pour relier l'ordinateur autre chose qu'une imprimante
(autre ordinateur, modem,...).
Dans le cas d'une liaison parallle ce sont les 8 bits constituant un octet qui seront
envoys ensemble le long de 8 fils de liaison et qui chemineront en parallle
Comme ci-dessus il faut signaler qu'il y a en ralit plus de 8 fils, pour des raisons
techniques, mais le principe est bien celui dcrit. Ce mode de liaison est gnralement
limit en longueur : on ne peut gure dpasser les 3 mtres de distance entre
l'ordinateur et son imprimante.
Beaucoup d'imprimantes sont connectables au choix en srie ou en parallle,
videmment travers des prises physiquement distinctes.
-
122
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Le nombre d'aiguilles est variable : on trouve des imprimantes 9 aiguilles (ce sont
bien entendu celles dont la rsolution est la moins bonne), 24 aiguilles ou mme davantage.
Beaucoup d'entre elles offrent la possibilit d'une impression brouillon (rapide mais de
qualit mdiocre) ou encore d'une impression de meilleure qualit (en anglais : Near Letter
Quality : qualit presque courrier).
Les caractristiques essentielles de ce type d'imprimante sont les suivantes :
-
leur vitesse en mode texte dpend de la qualit attendue, mais elle est relativement
faible (180 300 CPS sont des valeurs maximales; en mode graphique, il faut en
gnral plusieurs minutes pour produire une page;
CeFIS-FUNDP
Ch. Duchteau
123
Initiation l'informatique
les modles d'entre de gamme sont bon marchs, de mme que les consommables.
elles travaillent gnralement soit en mode texte, soit en mode graphique, soit, le plus
souvent, en mode programme;
leur vitesse reste assez rduite, en gnral de plusieurs minutes par page (surtout en
impression couleur);
leur rsolution est de 300 DPI ou plus, ce qui conduit des documents d'excellente
qualit;
les modles d'entre de gamme sont bon marchs, mais les consommables sont trs
chers ce qui dbouche sur un prix d'utilisation assez lev.
124
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
elles sont assez chres, de mme que les consommables et ne peuvent tre amorties
que lorsque les quantits imprimes sont importantes.
Voici titre d'exemple le rsultat d'une impression Laser :
CeFIS-FUNDP
Ch. Duchteau
points
, un
125
Initiation l'informatique
A,B,C
Et voici, sous un petit graphique, un texte en police Times, 12 points, avec quelques mots en taille 7
Et pour continuer
points, un passage en italique et un passage en gras.
quelques mots dans la police Script, puis quelques uns dans la
police Braggadocio, puis dans la police Colonna, puis dans la police DESDEMONA.
126
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Taille de la
mmoire tampon
10.000 F ( 30.000 F
Prix
Prix par page
1F
Jet d'encre
- N/B ou couleur
- silencieuse
- bonne qualit
- Texte + graphique
- prix
lev
des
cartouches
Laser
- silencieuse
- rapide
- pour usage intensif
- travaille en mode
programme
(processeur intgr)
300 DPI
600 DPI
4 ppm ( 20 ppm
12.000 F ( 30.000 F
3F (N/B)
20 F
(
(Couleur)
1 Mo ( 70 Mo
(RAM)
50.000 F ( 200.000
F et +
2,50 F
120 F
5.5.2.5 Questions
1. Le texte suivant peut il avoir t produit par une imprimante travaillant en mode
texte ? Et en mode graphique ? Et en mode programme ?
TEXTE BIEN HORIZONTAL
Et le texte suivant ?
2.
8
9
Expliquez pourquoi.
Pensez-vous que l'on puisse parler de la rsolution d'une imprimante travaillant en
mode texte ? Pourquoi ?
3.
Un de vos amis souhaite acqurir une imprimante. Quelles questions lui poseriez-vous
pour l'aider prendre sa dcision.
4.
CeFIS-FUNDP
Ch. Duchteau
127
5.
Initiation l'informatique
Par quel(s) type(s) d'imprimante (texte, graphique, programme) le texte suivant est-il
vraisemblablement produit ?
Le texte crit ici fait un mlange puvantable de polices
128
Ch. Duchteau
CeFIS-FUNDP
6
... pour autant qu'on lui ait indiqu comment mener bien
ce traitement ...
Introduction
6.1.1 Programmer ?
Nous avons eu dj l'occasion d'aborder l'activit de programmation (Cf. page 56); le
schma qui est au cur de cette activit est le suivant
Dispositif
excutant
Programmeur
il conoit
il excutera
Tche
elle gouvernera
marche suivre
Figure 6-1 : schma de l'activit de programmation
Rappelons que :
dans notre contexte, un programme est une srie d'indications d'oprations effectuer
sur des donnes, dans un certain ordre.
Ch. Duchteau
129
Initiation l'informatique
il conoit
Processeur
Calcul
il gouvernera
programme en
langage-machine
Figure 6-2 : schma de l'activit de programmation en langage machine
Le dispositif excutant qui nous destinons les programmes crits en langage machine
est ici clairement le processeur et le type de tche excute par ce dernier est toujours
explicitement un calcul (addition, comparaison,... de nombres (cods en binaire)).
Nous avons compris galement que seules les instructions formules explicitement en
binaire (code opratoire et adresses prcises) et correspondant exactement aux possibilits du
processeur pouvaient prendre place en mmoire pour constituer un programme excutable
(par le processeur).
130
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
6.2
6.2.2 Les oprations permises sur les donnes et la manire d'exprimer ces
oprations
Quels types de traitements de ces donnes vais-je pouvoir commander au sein des
instructions et comment vais-je exprimer ces traitements possibles : c'est la seconde question
ou le second critre travers lequel j'examinerai chacun des langages de programmation
envisag.
6.3
A la lumire de ces critres, on peut rexaminer le langage machine (ou plutt les
langages machines, puisqu'il y en a autant que de type de processeurs).
6.3.2 Les oprations permises sur les donnes et la manire d'exprimer ces
oprations, en langage machine
Ces oprations sont exactement celles dont le processeur est capable : additionner,
comparer, soustraire,... Elles doivent tre exprimes par le code opratoire (en binaire)
figurant au sein des instructions. On colle donc compltement aux possibilits opratoires du
processeur et on exprime ces oprations travers le code opratoire.
CeFIS-FUNDP
Ch. Duchteau
131
Initiation l'informatique
Le dispositif excutant est le processeur et la tche effectue est toujours une suite de
calculs.
Les donnes sont ranges dans les cellules de la mmoire et dsignes dans le
programme par leurs adresses explicites (en binaire).
Les oprations souhaites sont exprimes dans le code opratoire. Elles correspondent
exactement aux possibilits du processeur.
la squence,
le branchement,
le branchement conditionnel.
132
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
6.4
Programme
en langage
machine
000 01010
010 01011
100 01100
101 00101
000 01100
001 01101
Programme en langage
d'assemblage
)
)
)
)
)
)
LOAD A
ADD B
COMP C
JUMPP FIN
LOAD C
FIN
SAVE D
6.4.2 Les oprations permises sur les donnes et la manire d'exprimer ces
oprations, en langage d'assemblage
Les codes opratoires, difficiles mmoriser, sont ici remplacs par des
mnmoniques. Ainsi, l'opration de chargement dans le registre de donnes, partir de la
mmoire, est dsigne par le mot LOAD (charger en anglais); l'addition du contenu d'une
cellule au registre de donnes sera not ADD, qui est tout de mme plus ais mmoriser que
le code opratoire 001. Il en sera de mme pour les autres instructions : SUB, COMP, JUMP,
JUMPP, JUMPN, SAVE.
Notons que les oprations commandes par ces mnmoniques continuent tre
exactement celles dont le processeur est capable.
Ch. Duchteau
133
Initiation l'informatique
)
)
)
JUMPP FIN
LOAD C
FIN
SAVE D
On ne doit donc plus se soucier de manire explicite des adresses prcises des
instructions vers lesquelles s'effectuent les sauts ni, ds lors, des adresses occupes en
mmoire par le programme. Ceci constitue une relle facilit.
Notons que les manires d'organiser le droulement des oprations par les langages
d'assemblage collent encore tout fait ce qui se passait en langage machine et au
fonctionnement mme du processeur.
Langage d'assemblage
a
b
c
rsultat
* 01010 (10)
* 01011 (11)
* 01100 (12)
* 01101 (13)
JUMPP
FIN
Ch. Duchteau
FIN
SAVE D
CeFIS-FUNDP
Initiation l'informatique
Les oprations sont dsignes par des mnmoniques; les cellules o sont ranges les
donnes et les adresses des instructions vers lesquelles on effectue des branchements
(sauts) font l'objet de dsignations symboliques.
CeFIS-FUNDP
Ch. Duchteau
135
Initiation l'informatique
Une instruction en langage d'assemblage est donc un texte comportant en gnral trois
partie :
Label (tiquette)
Dsignation de l'opration
facultatif
mnmonique
Dsignation symbolique
Les cellules contenant les donnes traiter sont dsignes par des symboles : A, B1,
..., mais on continue donc travailler sur le contenu de cellules mmoire.
Les oprations permises sont exprimes par des mnmoniques. Elles correspondent
exactement aux possibilits du processeur.
la squence,
le branchement,
le branchement conditionnel.
mais, l'instruction o l'on saute reoit un label (tiquette); c'est ce label qui figure dans
l'instruction de branchement.
6.5
Des pas dcisifs vont tre ici accomplis et qui vont dfinitivement nous loigner du
processeur et de ses contraintes. En d'autres termes, s'il va toujours s'agir de faire traiter des
donnes par un dispositif, il faut se faire de ce dispositif une image qui n'est plus du tout celle
du processeur et du fonctionnement, dcrit prcdemment, de l'unit centrale. En effet, ce que
vont permettre les langages volus, tant comme oprations que comme dsignation des
donnes ou manires de commander le droulement du programme, est tellement loign des
contraintes et fonctionnement de l'unit centrale que rfrer explicitement cette dernire
n'est plus utile. Il faut trouver une autre image du dispositif qu'on va commander travers les
programmes qu'on souhaite crire en utilisant les langages volus.
Bien entendu, ces programmes crits en langages volus, devront tre traduits pour
qu'on obtienne leur correspondant en langage machine. A ce niveau, on va retrouver le
processeur et ses contraintes, mais ce niveau, les langages volus vont justement permettre
de ne plus s'en soucier.
136
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
6.5.1 Une autre reprsentation du dispositif excutant dans le cas des langages
volus
Nous allons apporter une description mtaphorique de "que dois-je imaginer de ce qui
se passe l'intrieur de l'ordinateur, quand je conois des programmes en langage volu". La
description relle du fonctionnement de l'unit centrale n'est donc plus de mise ici : c'est autre
chose pour laquelle on crit les programmes en langage volu. Cette autre chose, je
l'appellerai tout au long de ce dveloppement l'excutant-ordinateur. C'est l'ordinateur
transfigur par sa comprhension apparente des indications que je veux bien lui fournir,
exprimes dans un langage volu.
6.5.1.1 L'excutant-ordinateur
C'est le moment o jamais de relire le point 4.3 "Le point de vue du programmeur",
page 56 et de se rappeler une fois de plus le schma de l'activit de programmation :
Excutantordinateur
Programmeur
il conoit
il excutera
Tche
elle gouvernera
marche suivre
Figure 6-3 : schma de l'activit de programmation
Ch. Duchteau
137
Initiation l'informatique
L'excutant dispose d'une srie de "casiers" tiquets. Un tel casier est caractris par :
Le contenu du casier : ce qui y transitera, c'est une donne (nombre entier, nombre
rel, caractre, chane (succession) de caractres).
Le type du casier qui dtermine le genre de donne susceptible d'y prendre place
(entier, rel, caractre, chane de caractres).
Je n'aborderai pas ici le concept de donne de type boolen; je ne souhaite pas tre complet
ou exhaustif, mais seulement donner une ide des possibilits et contraintes de la
programmation en langage volu
tiquette (nom) du casier
Contenu du casier
AGE
26
Figure 6-5 : un casier de type entier
Le vocable habituellement utilis en programmation pour parler de ces casiers est celui de
variable : une variable est donc d'un type donn (entier, rel, caractre, chane de
caractres), elle porte un nom et possde un contenu. Comme on le verra le type et le nom
d'une variable sont fixs tandis que son contenu est susceptible d'tre modifi.
Il dispose galement d'une norme "malle donnes", dont il pourra, le moment venu
et sur les injonctions du programme le gouvernant, tirer n'importe quelle donne de l'un
quelconque des types cits (nombre entier, nombre rel, caractre, chane de caractres).
Malle donnes
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
CLAVIER
ECRAN
+-/* <>=
Malle donnes
6.5.1.3 L'excutant-ordinateur dans le cas des langages volus : les instructions pour le
faire agir
A prsent que nous savons dans quel environnement fonctionne cet excutantordinateur, il nous reste prciser les instructions que nous allons pouvoir lui fournir. Elles
sont seulement au nombre de trois :
CeFIS-FUNDP
Ch. Duchteau
139
Initiation l'informatique
parfois condense en :
le nom d'un casier (c'est videmment le contenu qui est alors dsign), comme
Place (copie du contenu de) Somme dans (le casier) Total
ou
comme le montrent les exemples ci-dessus, chaque fois qu'on mentionne un casier dans
la description d'une donne, ce casier sera seulement consult et copie de son contenu
sera prise; un casier consult n'est donc pas vid de son contenu.
140
Voici titre d'illustration la manire dont ces actions, dcrites ici de manire
mtaphorique, s'expriment dans deux langages de programmation connus, BASIC
d'une part, PASCAL de l'autre :
Affectation
En PASCAL s'crit :=
En BASIC s'crit =
Compteur := 1
Taux := Total / N
Compteur = 1
Taux = Total / N
Lecture
En PASCAL1 : readln
En BASIC : input
readln(Nom)
input Nom
Affichage
En PASCAL : write
En BASIC : print
Affiche 15
Affiche Total / N
write(15)
write(Total / N)
print 15
print Total / N
Rappelons bien qu'il ne s'agit pas ici d'tre complet propos de la description des langages envisags : ils
sont l seulement titre d'illustration du propos.
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
6.5.3 Les oprations permises sur les donnes et la manire d'exprimer ces
oprations, en langage volu
C'est ici que la distance avec les langages machine ou d'assemblage et avec les
possibilits relles du processeur est la plus marque.
Trois instructions de base caractrisent les langages volus impratifs :
l'affectation : c'est l'instruction par laquelle on place une donne dans un casier. Ce
qui fait la vritable porte de cette instruction, c'est ce qui se cache ici derrire ce que
nous appelons "donne" : ce peut tre une constante, la copie du contenu d'une autre
CeFIS-FUNDP
Ch. Duchteau
141
Initiation l'informatique
variable ou encore une expression faisant intervenir des constantes, des variables et
des oprations plus ou moins sophistiques.
On devine qu'une simple affectation note
Place Somme + X dans Somme
va dboucher, lorsqu'on aura la traduire en une srie d'instructions en langage
machine pour le processeur, sur un grand nombre de ces instructions :
o
celles qui iront chercher les contenus des cellules correspondant la variable
Somme (c'est en gnral plusieurs cellules, 2 classiquement pour une variable
de type entier), pour les disposer successivement dans le registre de donnes du
processeur;
celles qui iront replacer dans les cellules correspondant Somme les rsultats
des additions effectues.
en ce qui concerne les nombres : des oprations ou des outils "simples" comme
addition, multiplication, soustraction, division, gnration d'un nombre
alatoire, valeur absolue, reste de la division entire, puissance,... et quelques
fonctions plus sophistiques comme les fonctions trigonomtriques (sinus,
cosinus,...), les fonctions trigonomtriques inverses (arc sinus, ...), les
logarithmes, etc.;
de chercher si une chane est prsente au sein d'une autre (et partir
d'o),
de fournir la longueur d'une chane,
de recoller des chanes,
d'insrer une chane au sein d'une autre partir d'un endroit prcis,
etc.
l'instruction de lecture ou d'entre permet de saisir une donne partir d'un des
priphriques d'entre pour la faire placer dans une variable (d'un type adapt la
donne reue)
L'exemple simplifi d'unit centrale dcrit plus haut n'avait pas permis d'illustrer le mcanisme
des entres/sorties et donc la gestion des priphriques. Ceci nous entranerait beaucoup trop
142
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
loin, comme par exemple devoir prsenter les interruptions. On se doute bien que dans la
ralit des instructions permettent d'amener en mmoire des donnes reues sur un
priphrique d'entre et l'inverse, d'envoyer sur un priphrique de sortie des contenus de
cellules mmoire.
Nous avons dj indiqu plus haut que cette instruction d'entre qui provoque la
lecture d'une donne partir du clavier s'nonce readln en Pascal et input en Basic.
Retenons en tous cas que, en ce qui concerne les oprations de manipulation des
donnes (ceux qui permettent d'crire ce que nous avons appel les expressions), ils sont
nombreux et sophistiqus dans les langages volus et terriblement loigns des possibilits
du processeur.
CeFIS-FUNDP
Ch. Duchteau
143
condition non
vrifie
Initiation l'informatique
if condition then go to 30
condition
vrifie
ou
SI condition ALORS
... ... ...
... ... ...
SINON
... ... ...
... ... ...
suite
ou
PROGRAMME ANNEXE
EXPLICATIF (PROCEDURE)
... ... ...
... ... ...
... ... ...
... ... ...
144
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Ce concept de condition a dj t abord page 141 dans la description de l'excutantordinateur. Il prend toute sa porte quand on sait qu'il sera essentiellement utilis au sein des
structures organisationnelles.
Une condition sera toujours constitue d'une ou de plusieurs comparaisons de
donnes (par <, >, =, etc.); dans ce dernier cas, les comparaisons pourront tre lies par les
mots ET ou OU. Le mot NON pourra galement tre employ pour exprimer aisment le
contraire (ngation) d'une condition. L'essentiel est qu'on puisse dcider au moment o elle
est value que la condition est vraie (vrifie) ou fausse (non vrifie).
C'est rellement la condition qui donne sens aux branchements conditionnels, aux
rptitions et aux alternatives qui en font usage.
condition 2
accompagns des flches qui font sauter ailleurs dans l'organigramme; ils s'expriment
par l'instruction if condition then go to label (note en rouge sur le schma qui suit);
les branchements sont rendus par les flches et traduits par les instructions go to label
(nots en bleu, sur le schma).
On notera que de plus toutes les instructions du programme sont numrotes.
En ralit, seules les instructions vers lesquelles des sauts sont effectus sont tenues de
porter un label (numro ou symbole) pour qu'on puisse y rfrer lors des sauts commands
par les branchements et branchements conditionnels.
CeFIS-FUNDP
Ch. Duchteau
145
10 instruction 1
Initiation l'informatique
instruction 1
20 instruction 2
Branchement
conditionnel
instruction 2
condition 1
F
40 instruction 3
instruction 3
Branchement
conditionnel
50 if condition 2 then go to 40
Branchement
condition 2
60 instruction 4
instruction 4
70 if condition 3 then go to 10
condition 3
Branchement
conditionnel
F
80 instruction 5
instruction 5
90 go to 10
100 instruction 6
instruction 6
146
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
la squence :
instruction;
instruction;
instruction;
la rptition
rpter
... ...
jusqu' ce que ...
ou
tant que ...faire
... ...
ou
R
E
P
E
T
E
R
l'alternative
condition
si ... alors
... ...
sinon
... ...
l'appel de
procdure
Procdure annexe
INSTRUCTION
COMPLEXE (et
rfrence une procdure
annexe)
Bien entendu, ces structures peuvent tre imbriques : par exemple au sein d'une
rptition, on trouve une alternative, au sein de laquelle figure un appel de procdure, etc..
Voici titre d'exemple un tel GNS, dans lequel figurent des instructions d'affectation
et de sortie :
CeFIS-FUNDP
Ch. Duchteau
147
Initiation l'informatique
Affiche Compteur
Figure 6-9 : exemple de GNS
On notera l'imbrication des diverses structures : au sein d'une squence, on trouve une
rptition; au sein de cette dernire, on trouve une squence qui comporte une alternative,
etc.
Que fait faire le programme ci-dessus ? Que fournit-il ? Que fait-il simuler ?
6.5.7 Un exemple
Nous allons prsent, titre d'illustration, programmer une tche simple, en langage
volu, go to d'une part, structur d'autre part. La tche consiste lire une srie de nombres
rels puis fournir d'une part la moyenne de tous les nombres lus strictement positifs et,
d'autre part, la moyenne des nombres strictement ngatifs.
Remarquons au passage que la tche considre est parfaitement anodine et qu'elle ne
demanderait gure d'invention ou d'intelligence pour tre mene bien. Tout change
videmment lorsqu'il s'agit de la faire faire par l'excutant-ordinateur, dcrit pages 137 et
suivantes.
On devine que la lecture et le traitement des diverses donnes seront donc rpts par
l'excutant-ordinateur; mais il subsiste une questions centrale : comment signaler ce mme
148
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
excutant que la succession des nombres traiter est termine. Entre humains, celui qui
fournirait les nombres se contenterait d'indiquer, une fois le dernier trait, "c'est fini".
Mais ici, la rptition que nous commanderons va chaque fois demander
l'excutant de lire un nombre rel. Pas question, lorsqu'il reviendra une n-ime fois lire un rel
(fourni au clavier par l'utilisateur) de subitement lui fournir "fin" ou "c'est fini" ou toute autre
donne qui ne soit pas un rel.
Nous allons ds lors utiliser un "tour de main" bien connu en programmation : nous
demanderons l'utilisateur de terminer sa liste de nombres rels par la fourniture d'un nombre
rel particulier qui servira seulement signaler que c'est termin. Cette donne "bidon" est de
mme nature (relle) que les vraies donnes, mais elle vient la fin et ne compte pas : ce n'est
pas une donne prendre en compte, elle est seulement l pour arrter le processus.
Cette donne bidon, nous la ferons pralablement choisir par l'utilisateur et lui
demanderons donc de la fournir avant que la lecture de la srie des donnes ne commence. On
arrtera les traitements lorsque la donne (finalement) fournie sera identique la donne
bidon pralablement prcise.
Nous aurons de cette manire la condition d'arrt : lorsque la donne lue sera identique
la donne bidon (qu'on retiendra, bien entendu).
6.5.7.2 La liste des variables ncessaires
Le concept de base au sein des langages volus est celui de variable : il nous faut
dcider, sur base de la stratgie mise en lumire, quelles seront les variables, leur type et leur
utilit :
Donnee
de type rel
Bidon
de type rel
de type rel
SommeDesNegatifs
de type rel
On pourrait s'tonner de la manire d'crire (sans espace et sans accent) les noms des
variables; les langages volus mettent des contraintes sur les manires de dnommer les
variables : beaucoup n'admettent pas l'espace ou le tiret au sein des noms de variables et
refusent les lettres accentues et autres cdille.
CeFIS-FUNDP
Ch. Duchteau
149
Initiation l'informatique
et sans avoir dress la liste des variables ncessaires. La plupart des langages go to ne
demandaient d'ailleurs pas qu'on dclare la liste des variables qui allaient tre utilises au
sein du programme : quand une variable devenait ncessaire, on la nommait et on l'utilisait
sans plus de prcaution.
De plus, les noms choisis pour ces variables taient le plus souvent extrmement sibyllins et
souvent sans rapport avec le rle que ces variables allaient jouer au sein du programme : ici,
elles se seraient probablement appeles A, B, ...N, I, ...
10
SommeDesPositifs = 0
20
CompteurDesPositifs = 0
30
SommeDesNegatifs = 0
40
CompteurDesNegatifs = 0
50
input Bidon
60
input Donnee
70
Donnee <= 0
F
Donnee = 0
F
80
SommeDesPositifs =
SommeDesPositifs + Donnee
90 CompteurDesPositifs =
CompteurDesPositifs + 1
100 go to 140
120 SommeDesNegatifs =
SommeDesNegatifs + Donnee
130 CompteurDesNegatifs =
CompteurDesNegatifs + 1
F
Affiche SommeDesPositifs / CompteurDesPositifs
150
Ch. Duchteau
Initiation l'informatique
SommeDesPositifs
CompteurDesNegatifs
CompteurDesPositifs
Donnee
Bidon
???
100
SommeDesPositifs
CompteurDesNegatifs
CompteurDesPositifs
10
Donnee
Bidon
10
100
SommeDesPositifs
CompteurDesNegatifs
CompteurDesPositifs
12
Donnee
Bidon
100
SommeDesPositifs
CompteurDesNegatifs
CompteurDesPositifs
-5
12
Donnee
Bidon
-5
100
juste avant le test de la ligne 140 qui suivra la lecture et le traitement de la quatrime
donne
SommeDesNegatifs
SommeDesPositifs
CompteurDesNegatifs
CompteurDesPositifs
-5
112
Donnee
Bidon
100
100
on affichera alors comme moyenne : -5 pour les ngatifs (ce qui est correct), mais
112/3 soit 37.33 pour la moyenne des positifs, ce qui est absurde (puisque les donnes
prendre en compte taient 10 et 2).
CeFIS-FUNDP
Ch. Duchteau
151
Initiation l'informatique
10
SommeDesPositifs = 0
20
CompteurDesPositifs = 0
30
SommeDesNegatifs = 0
40
CompteurDesNegatifs = 0
50
input Bidon
60
input Donnee
Donnee = Bidon
F
70
Donnee <= 0
F
80
Donnee = 0
F
1
Affiche SommeDesPositifs / CompteurDesPositifs
Affiche SommeDesNegatifs / CompteurDesNegatifs
152
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Cette fois, la dernire donne lue, celle qui est identique la donne bidon lue au tout
dbut, n'est plus traite; elle provoque seulement l'affichage des moyennes.
On devine que ds que les organigrammes deviennent un peu longs et comportent de
nombreux branchements conditionnels, le fil du droulement de l'excution devient difficile
suivre. Les branchements et branchements conditionnels transforment le parcours en une
sorte de "jeu de piste" dans lesquels ces branchements et branchements conditionnels
peuvent envoyer d'un endroit n'importe quel autre.
Il subsiste pourtant encore une erreur dans le programme ainsi conu. Voyez
vous laquelle ? Que donnerait l'excution avec une donne bidon qui serait
gale 100 et une suite de donnes lues ensuite qui serait 2, 4, 100 ?
Il est possible que dans la succession des donnes traiter, il n'y ait que des donnes
positives ou que des donnes ngatives. Dans ce cas, la fin du programme, lors du
calcul des moyennes, un problme surviendra cause d'une division par 0. En effet, si,
par exemple, aucune donne strictement ngative n'a t lue, on se retrouve la fin
avec CompteurDesNegatifs qui vaut 0; en effet, on ne passe jamais par les lignes 130
et 140 du programme et CompteurDesNegatifs reste inchang et garde donc la valeur 0
qu'on lui avait donne la ligne 40. Et ds lors, la ligne 170, on commande une
division par 0 en demandant le calcul de SommeDesNegatifs / CompteurDesNegatifs.
Si l'on veut remdier cette erreur, il est indispensable de remplacer la partie encadre
en pointills la fin de l'organigramme prcdent par l'organigramme qui suit.
Il faut bien entendu modifier les lignes 160 et 170 du programme pour y traduire le
morceau d'organigramme rajout.
6.5.7.5 Expression du programme dans un langage go to : troisime et dernier essai
Ne figure ci-aprs que la fin rvise de l'organigramme; le dbut de l'organigramme
prcdent reste valable :
CeFIS-FUNDP
Ch. Duchteau
153
Initiation l'informatique
CompteurDesPositifs = 0
160 if CompteurDesPositifs = 0
then go to 166
F
Affiche SommeDesPositifs / CompteurDesPositifs
CompteurDesNegatifs = 0
168 if CompteurDesNegatifs =
0 then go to 174
F
Affiche SommeDesNegatifs / CompteurDesNegatifs
154
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
V
Place
Donnee
SommeDesPositifs
SommeDesPositifs
F
+
dans
Donnee < 0
V
CompteurDesPositifs = 0
V
Affiche "Pas de donne positive"
Affiche SommeDesPositifs /
CompteurDesPositifs
CompteurDesNegatifs = 0
V
Affiche "Pas de donne ngative"
Affiche SommeDesNegatifs /
CompteurDesNegatifs
CeFIS-FUNDP
Ch. Duchteau
155
Initiation l'informatique
writeln(SommeDesPositifs / CompteurDesPositifs)
if CompteurDesNegatifs = 0 then
writeln('Pas de donne ngative)
else
writeln(SommeDesNegatifs / CompteurDesNegatifs)
end.
On peut sans doute mieux apprcier la diffrence d'expression entre langage " go to"
et langage structur en plaant cte cte les textes des programmes en Basic et en Pascal :
Expression en Basic
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
162
164
166
168
170
172
174
180
156
Expression en Pascal
program MOYENNE;
var SommeDesNegatifs, SommeDesPositifs, Donnee, Bidon:
real;
CompteurDesNegatifs, CompteurDesPositifs : integer;
begin
SommeDesPositifs := 0;
CompteurDesPositifs := 0;
SommeDesNegatifs := 0;
CompteurDesNegatifs := 0;
readln(Bidon);
readln(Donnee);
while Donnee <> Bidon do
begin
if Donnee > 0 then
begin
SommeDesPositifs = SommeDesPositifs + Donnee
SommeDesPositifs := SommeDesPositifs + Donnee;
CompteurDesPositifs = CompteurDesPositifs + 1
CompteurDesPositifs := CompteurDesPositifs + 1;
go to 60
end
if Donnee = 0 then go to 60
else
if Donnee < 0 then
begin
SommeDesNegatifs = SommeDesNegatifs + Donnee
SommeDesNegatifs := SommeDesNegatifs +
Donnee;
CompteurDesNegatifs = CompteurDesNegatifs + 1
CompteurDesNegatifs := CompteurDesNegatifs
+ 1;
go to 60
end;
readln(Donnee);
end;
if CompteurDesPositifs = 0 then
if CompteurDesPositifs = 0 then go to 166
writeln('Pas de donne positive')
print SommeDesPositifs / CompteurDesPositifs
else
go to 168
writeln(SommeDesPositifs / CompteurDesPositifs)
print "Pas de nombre positif"
if CompteurDesNegatifs = 0 then
if CompteurDesNegatifs = 0 then go to 174
writeln('Pas de donne ngative)
print SommeDesNegatifs / CompteurDesNegatifs
else
go to 180
writeln(SommeDesNegatifs / CompteurDesNegatifs)
print "Pas de nombre ngatif"
end.
end
SommeDesPositifs = 0
CompteurDesPositifs = 0
SommeDesNegatifs = 0
CompteurDesNegatifs = 0
input Bidon
input Donnee
if Donnee = Bidon then go to 160
if Donnee <= 0 then go to 120
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Traduction pour
tel autre processeur
Expression en langage
machine pour le
processeur concern
Expression en langage
machine pour l'autre
processeur concern
Processeur 2
Processeur 1
Ch. Duchteau
157
Initiation l'informatique
Avec l'interprte
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
recette
la main est passe ce petit bout de programme, rsultat de la traduction : les diverses
instructions sont excutes;
etc..
L'interprteur
Dans le cas de l'expression d'un traitement dans un langage volu, une traduction vers le
langage machine est indispensable. C'est l'ordinateur lui-mme qui s'en charge, gouvern par
un programme compilateur ou par un programme interprteur.
Compilateur et interprteur sont donc deux programmes faisant effectuer la traduction par
l'ordinateur. Ils permettent au programmeur de s'affranchir compltement des caractristiques
de l'ordinateur sur lequel le programme finira par tourner.
Avec le compilateur, on dispose ct du
programme source (texte en langage
volu) d'un programme objet (en langage
machine).
CeFIS-FUNDP
Ch. Duchteau
159
Initiation l'informatique
160
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
CeFIS-FUNDP
Ch. Duchteau
161
Initiation l'informatique
toutes les tches de tris, comme par exemple trier une liste de mots par ordre
alphabtique ou trier une srie de nombres;
les problmes de recherche dans une liste : il s'agit de dterminer, par exemple, si un
mot est ou non prsent dans une longue liste de mots, liste trie ou non;
dans le mme ordre d'ide, on peut avoir analyser la tche consistant dterminer si
une chane de caractres fait partie d'une autre chane de caractres; ces algorithmes
permettent par exemple de faire vrifier par l'ordinateur si une chane
"TGCCGTACCTGGTTGCATTGGC" se retrouve ou non au sein d'une chane de
plusieurs dizaines ou centaines de milliers de combinaisons des lettres T, G, A et C; le
problme de la recherche d'un mot au sein d'un texte est videmment tout fait
semblable;
tous les problmes poss au sein de ce qu'on appelle la "thorie des graphes"; un
graphe est, par exemple, une combinaison de sommets et d'arcs joignant ces sommets :
12
11
4
5
5
11
11
13
3
8
13
14
11
8
6
10
4
12
5
Figure 6-11 : un graphe
Dans le graphe prsent ici, les arcs ont tous, par exemple, un certain "poids". On peut
poser les problmes suivants :
trouver tous les couples de sommets qui sont joints par un chemin (succession
d'arcs);
trouver entre deux sommets un chemin (succession d'arcs) de poids minimal (le
poids d'un chemin tant la somme des poids des arcs le composant);
etc.
On peut faire tat de milliers de situations problmes trouvant leur origine dans la
thorie des graphes et ayant donn lieu de nombreuses recherches d'algorithmes.
162
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
6.6
Les langages prsents jusqu'ici servent dcrire ce qui sera attendu de l'ordinateur
sous la forme d'une "marche suivre". Les programmes exprims dans ces langages sont
constitus d'ordres : ils s'crivent en quelque sorte " l'impratif". On a donn ce style de
langage de programmation, donc au type de programmes rsultants, le nom de
programmation imprative ou encore de programmation procdurale : on y exprime les
indications de traitement sous la forme d'une succession d'ordres.
Ces langages sont les plus rpandus. Mais il existe, en rponse des problmes
particuliers, d'autres styles de programmation, o les programmes prennent d'autre formes
qu'une succession d'ordres donns un excutant : l'approche logique en est un exemple.
Nestor
est pre de
est pre de
Martine
Dominique
est pre de
est pre de
est mre de
est mre de
est mre de
Etienne
Charles
est pre de
Jean-Franois
est mre de
est pre de
Claire
Hlne
Ch. Duchteau
163
Initiation l'informatique
de_sexe_feminin(claire).
de_sexe_feminin(helene).
mere(martine, yvonne).
mere(charles, yvonne).
mere(etienne, yvonne).
mere(jean_francois, martine).
pere(charles, nestor).
pere(claire,charles).
pere(helene,charles).
pere(etienne,nestor).
pere(jean_francois,dominique).
pere(martine,nestor).
La syntaxe utilise se comprend d'elle mme; on notera les commentaires dlimits par
/* */. Il reste donner quelques rgles : ce sont essentiellement celles qui dfinissent des
vocables nouveaux comme parent, frre, sur,...
164
frere(X, Y) if
de_sexe_masculin(Y) and
pere(X, P) and
pere(Y, P) and
mere(X, M) and
mere(Y, M)
X <> Y.
soeur(X, Y) if
de_sexe_feminin(Y) and
pere(X, P) and
pere(Y, P) and
mere(X, M) and
mere(Y, M)
X <> Y.
oncle(X, U) if
parent(X, P) and
frere(P, U).
grand_pere(X, G) if
pere(P,G) and
parent(X,P).
grand_mere(X, G) if
mere(P,G) and
parent(X,P).
CeFIS-FUNDP
Initiation l'informatique
Techniquement, ce que nous avons dj crit doit tre prcd de l'annonce des divers
prdicats dfinis :
domains
personne = symbol
predicates
de_sexe_masculin(personne)
de_sexe_feminin(personne)
pere(personne,personne)
mere(personne,personne)
soeur(personne,personne)
parent(personne,personne)
frere(personne,personne)
oncle(personne,personne)
grand_pere(personne,personne)
grand_mere(personne, personne)
Voil quoi ressemble un "programme" exprim dans un tel langage de type logique
(ici, il s'agit d'une version dj ancienne de PROLOG).
L'excution d'un tel programme prend la forme de questions que l'utilisateur peut
poser au programme. En voici quelques unes (il est important d'avoir le schma gnalogique
sous les yeux) :
En franais courant
Question au programme
Rponse du programme
Goal : grand_pere(claire, X)
X=nestor
1 Solution
Goal : oncle(jean_francois,X)
X=charles
X=etienne
2 Solutions
False
Goal : parent(charles, P)
P=yvonne
P=nestor
2 Solutions
Goal : soeur(X,Y)
X=charles, Y=martine
X=etienne, Y=martine
2 Solutions
X=jean_francois
X=claire
X=helene
3 Solutions
No Solution
videmment, comme l'habitude, les questions doivent tre formules avec les termes exacts
utiliss dans le programme; des erreurs ce niveau sont payes comptant :
De qui Martine est-elle grandmre ?
CeFIS-FUNDP
Goal : grandmere(X,martine)
(on a crit grandmere et non
grand_mere, comme il aurait
fallu
Ch. Duchteau
fallu.
De qui Dominique est-il le frre ? Goal : frere(X, Dominique)
(on notera la majuscule
Dominique)
Initiation l'informatique
X=etienne, Dominique=charles
X=martine, Dominique=charles
X=charles, Dominique=etienne
X=martine, Dominique=etienne
4 Solutions
On aura devin qu'on va pouvoir, propos d'un domaine prcis et bien dlimit,
dcrire les faits et les rgles relevants pour le domaine considr. On peut d'ailleurs faire en
sorte (mais ce n'est pas le propos ici) que le programme-lui-mme pose une srie de questions.
6.6.1.2 Un exemple "zoologique"
Voici titre d'exemple l'excution d'un programme (un rien plus compliqu que celui
sur la gnalogie) et qui nonce faits et rgles dans le domaine de la zoologie. Voici d'abord,
titre anecdotique, quelques extraits de ce programme :
l_animal_est(un_tigre) if
c_est_un(mammifere) and
c_est_un(carnivore) and
positive(a,une_couleur_fauve) and
positive(a,des_raies_sombres).
..........................................
c_est_un(mammifere) if
positive(a,des_poils).
c_est_un(mammifere) if
positive(peut,donner_du_lait).
c_est_un(un_oiseau) if
positive(a,des_ailes).
c_est_un(un_oiseau) if
positive(peut,voler) and
positive(peut,pondre_des_oeufs).
.........................................
Goal : run
l'animal a des_poils ? oui
l'animal peut manger_de_la_viande ? oui
l'animal a une_couleur_fauve ? oui
l'animal a des_taches_sombres ? non
l'animal a des_dents_pointues ? oui
l'animal a des_serres ? non
l'animal peut donner_du_lait ? oui
l'animal a des_raies_sombres ? oui
Votre animal pourrait tre un_tigre
Goal : run
l'animal a des_poils ? oui
l'animal peut manger_de_la_viande ? non
l'animal a des_dents_pointues ? non
l'animal peut donner_du_lait ? oui
l'animal a des_sabots ? oui
l'animal a un_long_cou ? oui
l'animal a de_longues_pattes ? oui
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Ch. Duchteau
167
Initiation l'informatique
Age 63 ans
Glycmie 8 mol/1
le malade est-il vu dans des circonstances particulires
Coma, reanimation, pre-op, grossesse (pour une femme) ?
Non, consultation
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
M
U
M
U
U
M
U
M
U
M
U
M
U
M
U
M
U
M
M
M
M
M
M
M
M
M
6.7
CeFIS-FUNDP
Ch. Duchteau
169
7
... pour autant qu'on lui ait indiqu comment mener bien
ce traitement ...
Le logiciel
7.1
L'architecture logicielle
7.1.2 Le logiciel
Nous dsignerons par ce terme gnral "le logiciel" cette seconde ralit du monde de
l'informatique et des technologies de l'information et de la communication; le monde de
l'informatique est en effet comme une mdaille aux deux faces indissociables : le matriel,
d'une part, le logiciel, d'autre part.
Cette ralit du logiciel n'est videmment pas fige : tout comme les performances du
matriel, le logiciel a volu tant dans l'tendue de ce qu'il permet de raliser que dans les
facilits - on parle de convivialit - qu'il offre aux utilisateurs.
CeFIS-FUNDP
Ch. Duchteau
171
Le logiciel
Initiation l'informatique
Ainsi, par exemple, lors de l'utilisation du logiciel de traitement de texte Word "sous"
Windows sur un PC, on peut imaginer l'intrieur de la mmoire centrale comme constitu
d'une srie de "couches logicielles" s'appuyant les unes sur les autres :
Word
Windows
BIOS
Figure 7-1 : les "couches logicielles"
Chaque couche s'appuie en quelque sorte sur les couches infrieures en sous traitant
ces dernires certaines oprations. Ainsi, lorsqu'on commande au logiciel de traitement
de texte d'enregistrer sur le disque dur, au sein d'un dossier choisi, le texte
confectionn, ce logiciel "passe la main" des programmes de la couche Windows qui
vont se charger du travail souhait.
Il faut donc s'imaginer l'intrieur de la mmoire centrale comme comportant plusieurs dizaines
de programmes qui vont s'appeler les uns les autres, se passant la main pour que chacun
puisse (faire) raliser les oprations qui sont de son ressort. De plus, des programmes
supplmentaires sont frquemment amens partir des mmoires de masse, pour venir
participer au travail global, remplaant en mmoire centrale d'autres programmes devenus
inutiles.
Dans le contexte actuel, il faut y ajouter toute la partie du logiciel charge de grer les
communications avec d'autres ordinateurs, travers les rseaux (rseau local ou
liaison par modem et rseau tlphonique,...); de plus en plus souvent ces logiciels de
communication sont intgrs dans le systme d'exploitation proprement dit.
172
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Le logiciel
(voir page 159). On aura compris que ces logiciels sont essentiellement utiliss dans le
contexte de la programmation et qu'ils ne font donc pas partie des outils
habituellement employs par les utilisateurs "nafs".
7.2
Le systme d'exploitation
"Ensemble des fonctions de base (mais parfois pouvant tre trs avances), permettant
l'usage d'un ordinateur, et sans lequel rien n'est possible."
"Il s'agit du principal logiciel de contrle systme, qui sert de fondation l'ensemble
des logiciels applicatifs."
Ch. Duchteau
173
Le logiciel
Initiation l'informatique
ces programmes assurent les fonctions de base de l'ordinateur (mais qu'est ce qu'une
"fonction de base" ?);
ces programmes ont en charge la gestion des priphriques, des mmoires de masse,
de l'affectation de la mmoire centrale aux divers programmes et donnes;
Ces commandes que l'utilisateur va fournir peuvent prendre des formes diverses : du
texte frapp au clavier ou des combinaisons de touches, mais aussi des "clics" avec la souris.
Cette couche du systme d'exploitation qui prend en charge les changes avec l'utilisateur est
l'interface utilisateur et nous l'aborderons en dtail plus loin.
En quelque sorte, dans ce rle visible, le systme d'exploitation joue un rle un peu
similaire aux logiciels d'applications : l'utilisateur souhaite effectuer certaines oprations
travers le systme d'exploitation. Mais, si l'on voit assez aisment quelles actions vont tre
commandes travers un traitement de texte ou un logiciel de dessin, il est a priori plus
malais de cerner la porte des commandes fournies au systme d'exploitation.
7.2.1.1.1 Le premier rle visible : la gestion des mmoires de masse
Ce qui est vis ici, c'est tout ce qui concerne la manire dont l'utilisateur va organiser
des documents de natures diverses qu'il aura crs et modifis grce l'un ou l'autre logiciel
d'application et "sauvs" sur le disque dur, un CD, une disquette, etc..
Ces divers documents, qui constituent donc les donnes -images, textes, sonstraitables par certains logiciels prennent la forme, sur les mmoires de masse, d'entits qu'on
nomme fichiers. A ct de ces fichiers de donnes, on trouvera aussi sur les mmoires de
masse des fichiers contenant les programmes excutables (par exemple les logiciels
d'application) qui pourront tre amens en mmoire centrale pour commander le processeur.
Ces fichiers seront rpartis dans des dossiers divers : c'est, entre autres, cette
organisation en dossiers contenant d'autres dossiers et des fichiers que le systme
d'exploitation va permettre l'utilisateur de raliser.
174
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Le logiciel
Voici, titre d'illustration, la reprsentation que donne Windows, l'un des systmes
d'exploitation les plus rpandus, de ces dossiers et fichiers :
Figure 7-2 : quelques dossiers et sous dossiers prsents sur mon disque dur
Toujours titre d'exemples, on peut citer quelques unes des oprations concernant
dossiers et fichiers que permet le systme d'exploitation :
afficher une liste de dossiers ou de fichiers prsents sur le disque dur ou un autre
support de mmoire de masse;
crer un dossier nouveau dans lequel on pourra classer ensuite fichiers et dossiers;
copier ou dplacer un fichier ou un groupe de fichiers (ou tout le contenu d'un dossier)
d'un dossier vers un autre;
rechercher sur base d'une partie de son nom ou de certaines de ses caractristiques un
fichier ou un groupe de fichiers;
etc.
Cette liste n'est videmment pas exhaustive...
Ainsi, en ce qui concerne le clavier, on peut prciser quel est le type du clavier (il y en
a plusieurs dizaines, diffrant d'aprs l'emplacement des diverses touches); on peut
aussi choisir le dlai plus ou moins long partir duquel l'appui continu sur une touche
provoque la rptition du caractre choisi, et la vitesse laquelle se fait cette
rptition.
CeFIS-FUNDP
Ch. Duchteau
175
Le logiciel
Initiation l'informatique
On peut aussi prciser divers paramtres pour la souris : inversion des boutons gauche
et droit, vitesse d'un double clic,...
C'est sans doute l'cran qui amne le plus de choix possibles : dfinition (= combien
de pixels affiche, en largeur et en hauteur, l'cran) : 1024 x 768, 800 x 600,...; quelle
est la frquence de rafrachissement,...
Il faut encore y ajouter toutes les options pour les diverses imprimantes, la carte son,...
Unit centrale
Application
(programme)
Systme d'exploitation
Systme d'exploitation
Application
(programme)
Application
(programme)
Mmoire externe
Mmoire externe
Une fois amene en mmoire centrale pour tre excute, une application donne lieu
ce qu'on appelle une tche. Il y a donc en gnral des centaines d'applications disponibles sur
les mmoires externes (disque dur), mais tout moment quelques tches seulement peuvent se
partager l'unit centrale. L'une de ces tches est videmment le systme d'exploitation.
7.2.1.2 Les rles cachs du systme d'exploitation
Si le systme d'exploitation est de temps autre l'interlocuteur direct de l'utilisateur, ce
sont cependant ses rles cachs qui sont sans doute les plus essentiels. Mais comme c'est alors
avec une autre application qu'est en train de travailler l'utilisateur, ces rles cachs restent en
gnral non perus par ce dernier.
Comme on va le voir, le systme d'exploitation est la fois au service des applications
dont il sous-traite une partie du travail (demand par l'utilisateur) mais aussi un genre de "chef
d'orchestre" qui organise le travail des diverses tches en cours, en leur allouant (ainsi qu'aux
176
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Le logiciel
donnes qu'elles traitent) de la place en mmoire, en grant l'accs des unes et des autres aux
priphriques et aux mmoires externes et, ventuellement, en permettant successivement aux
diverses tches en cours "d'avoir la main" (= de commander le processeur) pendant de courts
intervalles de temps.
7.2.1.2.1 Le systme d'exploitation est le "socle logiciel" sur lequel reposent les logiciels
d'application
Bon nombre d'actions commandes un logiciel d'application (charger et ouvrir un
fichier de donnes, enregistrer les donnes traites sous la forme d'un fichier sur les mmoires
externes, imprimer les donnes traites, envoyer ces donnes vers un autre ordinateur,
travers un rseau,...) sont en ralit prises en charge par des programmes du systme
d'exploitation.
C'est donc dire que sans la prsence de ce dernier (prsence active, mais cache
l'utilisateur) les logiciels d'application sont incapables de "tourner". De plus, chaque logiciel
d'application a t conu pour "se reposer" sur un systme d'exploitation bien prcis. On dit
alors que ce logiciel d'application "tourne" sous tel systme d'exploitation; il vaudrait mieux
pourtant dire qu'un logiciel tourne "au dessus" de tel systme d'exploitation, puisqu'il sous
traite ce dernier un certain nombre des actions effectuer.
On parlera ainsi de "Word 6 sous Windows 3.1", "Lotus sous MS-DOS", "Presenter sous
Linux",... A chaque fois, on prcise quelle est la couche systme d'exploitation pour laquelle
tel logiciel d'application a t prvu. Il arrive d'ailleurs qu'un logiciel d'application existe pour
plusieurs systmes d'exploitation, ainsi "Word sous Windows 95 (sur PC)" ou "Word sous
Systme 7 (sur MacIntosh)". Mais on comprend que ces versions ne sont videmment pas
interchangeables.
Un des rles du systme d'exploitation est d'ailleurs en quelque sorte de gommer les
diffrences matrielles (de dtails) qui existeraient entre divers modles d'ordinateurs, pour
que, quelle que soit (dans une certaine mesure) la "couche matrielle", la couche "logiciel
d'application" puisse en tirer parti puisque, entre les deux, la couche "systme d'exploitation"
vient en quelque sorte "gommer" les diffrences.
7.2.1.2.2 C'est le systme d'exploitation qui organise l'occupation de la mmoire centrale
Une tche, c'est un logiciel (programme) et les donnes actuellement traites par ce
dernier. Ces tches (programmes + donnes) doivent tre places en mmoire centrale, sans
empiter les unes sur les autres : c'est l'un des rles (cachs) du systme d'exploitation que
d'allouer des zones de mmoire centrale aux diverses tches en cours et de grer l'arrive de
nouvelles tches et la terminaison d'autres.
Nous avions voqu page 105 cette question de savoir comment un programme se trouvait
log en mmoire centrale, partir de telle ou telle adresse. Nous avions signal que c'tait un
autre programme qui se chargeait de cette installation. Nous savons prsent que c'est le
systme d'exploitation qui joue ce rle pour les programmes d'application.
Mais, qui installe le systme d'exploitation ?
7.2.1.2.3 C'est le systme d'exploitation qui alloue certaines ressources certaines tches
Non seulement le systme d'exploitation gre les allocations de la mmoire centrale,
mais c'est galement lui qui assigne pour une priode donne les priphriques et les
mmoires de masse certaines tches qui les ncessitent.
En rsum, c'est le systme d'exploitation qui organise la cohabitation de tches
diffrentes et qui gre et assigne les diverses ressources disponibles : processeur, mmoire
centrale, priphriques, mmoires de masse,...
CeFIS-FUNDP
Ch. Duchteau
177
Le logiciel
Initiation l'informatique
un ensemble de programmes, prsents sur le disque dur (ou une autre mmoire
externe) et qui sont chargs au dmarrage en mmoire vive et y resteront;
un ensemble plus important de programmes utilitaires qui sont prsents sur le disque
dur et ne seront appels en mmoire centrale qu'au moment o ils deviennent
indispensables.
L'Apple II qui fut l'un des ordinateurs phares de cette poque connaissait deux
systmes d'exploitation diffrents : AppleSoft d'une part (trs rudimentaire et bti
autour d'un interprteur Basic), et le p-Systme UCSD d'autre part (assez volu et
construit autour d'un environnement de programmation Pascal). Par ailleurs, on
pouvait, en adjoignant une carte l'Apple II transformer compltement ce dernier
puisque on lui adjoignait un autre processeur (le Z 80) que son processeur natif (le
6502 de Motorola). quip de ce second processeur, il "tournait" alors sous le
systme d'exploitation CPM.
178
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Le logiciel
7.3
Clavier
Utilisateur
Souris
Interface
utilisateur
Reste du
logiciel
Ecran
Figure 7-5 : le rle de l'interface-utilisateur
Ch. Duchteau
179
Le logiciel
Initiation l'informatique
180
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Le logiciel
Figure 7-7 : MS-DOS, un systme d'exploitation avec une interface en mode texte
Ces interfaces en mode texte ont t la rgle pendant les premires annes d'existence
de la micro-informatique. Dans l'univers PC, cela a subsist jusqu'au milieu des annes 80;
l'univers Apple (avec le MacIntosh) a beaucoup plus rapidement intgr des interfaces de type
graphique.
Ch. Duchteau
181
Le logiciel
Initiation l'informatique
essentiellement constitus de caractres et font donc grand usage des caractres graphiques
rencontrs lorsque nous avons abord le code ASCII (Voir page 22).
Voici par ailleurs deux crans successifs illustrant le dialogue avec le systme
d'exploitation travers une interface intgrant galement menus droulants et usage de la
souris pour fournir les commandes (dans les menus), pour slectionner les fichiers, et pour
effectuer des actions comme la copie, le dplacement, la suppression de fichiers et de
dossiers.
182
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Le logiciel
Ces prmices d'une interface vraiment graphique et intgrant de plus en plus l'usage de
la souris ont eu une trs brve dure d'usage dans l'univers PC; lorsqu'ils sont apparus, de
vritables interfaces graphiques caractrisaient dj le monde MacIntosh chez Apple.
CeFIS-FUNDP
Ch. Duchteau
183
Le logiciel
Initiation l'informatique
l'usage d'icnes qui accompagnent les divers fichiers qui sont lists et caractrisent
d'une certaine manire les types de ces fichiers (excutable, texte, image, son,...);
Nul doute que dans les annes venir, ces interfaces intgreront de plus en plus l'usage
du micro et de commandes orales qui ajouteront des modes d'interventions supplmentaires
l'utilisateur.
7.4
Nous venons de voir que le rle essentiel d'un systme d'exploitation est de servir de
socle, de supporter les logiciels d'application qui ont t dvelopps en s'appuyant sur ce
systme d'exploitation.
Chaque systme d'exploitation est donc accompagn d'un cortge de logiciels
d'application plus ou moins spcialiss et ddicacs des tches spcifiques : logiciels de
bureautique (traitement de texte, publication assiste par ordinateur (PAO), tableur,
gestionnaire de bases de donnes), logiciels de prsentation, logiciels de courrier lectronique,
logiciels de navigation sur le WEB, logiciels graphiques, logiciels de traitement du son, de la
vido,... Sans oublier tous les logiciels spcialiss d'aide des professions particulires :
dessin assist par ordinateur, gestion d'officine de pharmacie ou d'tude notariale, gestion de
bibliothque,...
Bref, ce sont des milliers d'instruments logiciels qui sont mis la disposition de leurs
utilisateurs potentiels. Il serait donc vain de vouloir en faire un recensement et plus absurde
encore de tenter d'en prsenter les usages ou les modes d'utilisation. Et cela d'autant que pour
chacun de ces logiciels, c'est souvent plusieurs versions qui se sont succdes (et continueront
se succder).
184
Ch. Duchteau
CeFIS-FUNDP
8
... traiter l'information ...
CeFIS-FUNDP
Ch. Duchteau
185
9
Bibliographie
9.1
ACM Turing Award Lectures; The First Twenty Years. 1966-1985. ACM Press, New York,
1987.
Initiation l'informatique., Amsterdam : Editions Time-Life, 1986.
L're de l'informatique., Amsterdam : Editions Time-Life, 1987.
BERUBE Y., Initiation aux ordinateurs., Paris, London, New York : McGraw-Hill, Editeurs,
1980.
BRETON P., Une histoire de l'informatique, Paris : Editions du Seuil, 1990.
CLAVIEZ J., Micro-ordinateurs. Que peut-on faire avec ?, Montral : JCI Inc., 1993.
%
9.2
ARSAC J., Les machines penser. Des ordinateurs et des hommes. Editions du Seuil,
Paris, 1987.
BULL , Intelligence artificielle et bon sens. Collection F.R. BULL, Masson, Paris, 1991
CHANGEUX J-P., CONNES A., Matire pense Editions Odile Jacob, Paris, 1989.
DEFAYS D., L'esprit en friche. Les foisonnements de l'intelligence artificielle Pierre
Mardaga, Bruxelles, Lige, 1988.
GANASCIA J-G., L'me machine Les enjeux de l'intelligence artificielle Editions du Seuil,
Paris, 1990.
HOFSTADTER D., Godel, Escher, Bach. InterEditions, Paris, 1985.
CeFIS-FUNDP
Ch. Duchteau
187
Bibliographie
Initiation l'informatique
Les Editions
9.3
BELHOMME D., BERHIN M., ..., Les carnets de la formation multimdia., Codition
CeFIS - Mdia Animation, 1999.
9.4
9.5
9.6
Chapitre 6 : la programmation
DUCHATEAU C., Quand le savoir faire ne suffit plus. Qu'y a-t-il au cur, de la pense
algorithmique et de la programmation., Namur : CeFIS, Facults N-D de la Paix,
1989.
DUCHATEAU C., Images pour programmer. Apprendre les concepts de base. De BoeckWesmael, Bruxelles, 1990.
188
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Les rseaux
9.7
Chapitre 7 : le logiciel
CeFIS-FUNDP
Ch. Duchteau
189
10
Tables et Index
L'ORDINATEUR ? ................................................................................................................................... 1
3.12.2
CeFIS-FUNDP
191
10
Tables et index
3.12.2.1
3.12.2.2
3.13
3.14
Initiation l'informatique
... POUR AUTANT QU'ON LUI AIT INDIQU COMMENT MENER BIEN CE TRAITEMENT ... .. 53
4.1
INTRODUCTION .................................................................................................................................... 53
4.2
LE POINT DE VUE DE L'UTILISATEUR .................................................................................................... 54
4.2.1
Des milliers d'instruments.............................................................................................................. 54
4.2.2
L'ordinateur n'existe pas................................................................................................................ 54
4.2.3
L'outil informatique n'existe pas .................................................................................................... 55
4.3
LE POINT DE VUE DU PROGRAMMEUR .................................................................................................. 56
... MACHINE... .................................................................................................................................................... 59
5.1
ARCHITECTURE GNRALE .................................................................................................................. 59
5.2
L'UNIT CENTRALE .............................................................................................................................. 60
5.2.1
La mmoire centrale ...................................................................................................................... 60
5.2.1.1
5.2.1.2
5.2.1.3
5.2.1.4
5.2.2
5.2.2.1
5.2.2.2
5.2.3
Le modle d'ordinateur de Von Neumann : calculateur universel programme enregistr ............... 104
Le langage machine ........................................................................................................................... 105
Quelques questions ............................................................................................................................ 105
5.2.9.1
5.2.9.2
5.2.9.3
5.2.9.4
5.2.9.5
5.2.9.6
5.2.9.7
5.2.9.8
192
5.2.8.1
5.2.8.2
5.2.8.3
5.2.9
Principes d'architecture........................................................................................................................ 76
Principes de fonctionnement................................................................................................................ 79
5.2.7.1
5.2.7.2
5.2.7.3
5.2.7.4
5.2.7.5
5.2.7.6
5.2.7.7
5.2.8
5.2.6.1
5.2.6.2
5.2.7
Comment les instructions des programmes excutables sont codes en mmoire ......................... 75
Retour sur les units de mesure ..................................................................................................... 75
5.2.5.1
5.2.5.2
5.2.6
5.2.3.1
5.2.3.2
5.2.3.3
5.2.3.4
5.2.3.5
5.2.4
5.2.5
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
5.2.9.9
5.2.9.10
Tables et index
10
La vitesse d'horloge............................................................................................................................110
Le nombre d'instructions excutes par seconde ................................................................................111
5.3
LES MMOIRES EXTERNES ................................................................................................................. 114
5.3.1
Rle.............................................................................................................................................. 114
5.3.2
Contenu........................................................................................................................................ 114
5.3.3
Classification ............................................................................................................................... 114
5.3.4
Paramtres de description et d'valuation .................................................................................. 114
5.3.5
Panorama des dispositifs de mmorisation au sein d'un systme informatique .......................... 115
5.4
LES PRIPHRIQUES D'ENTRE .......................................................................................................... 115
5.5
LES PRIPHRIQUES DE SORTIE.......................................................................................................... 115
5.5.1
L'cran......................................................................................................................................... 115
5.5.2
Les imprimantes........................................................................................................................... 115
5.5.2.1
5.5.2.2
5.5.2.3
5.5.2.4
5.5.2.5
Fonction .............................................................................................................................................115
Types d'changes entre l'ordinateur et l'imprimante...........................................................................115
Les paramtres descriptifs et d'valuation d'un imprimante ...............................................................121
Les diverses varits d'imprimantes ...................................................................................................122
Questions............................................................................................................................................127
... POUR AUTANT QU'ON LUI AIT INDIQU COMMENT MENER BIEN CE TRAITEMENT ... 129
6.1
INTRODUCTION ................................................................................................................................. 129
6.1.1
Programmer ? ............................................................................................................................. 129
6.1.2
Le langage machine..................................................................................................................... 129
6.1.3
Les limitations de l'expression en langage machine.................................................................... 130
6.2
LE TRIPLE POINT DE VUE SUR LES LANGAGES DE PROGRAMMATION .................................................. 131
6.2.1
L'organisation des donnes traiter et la manire de les dsigner ............................................ 131
6.2.2
Les oprations permises sur les donnes et la manire d'exprimer ces oprations..................... 131
6.2.3
Les manires d'organiser l'excution des instructions commandes ........................................... 131
6.3
RETOUR SUR LE LANGAGE MACHINE ................................................................................................. 131
6.3.1
L'organisation des donnes traiter et la manire de les dsigner, en langage machine........... 131
6.3.2
Les oprations permises sur les donnes et la manire d'exprimer ces oprations, en langage
machine 131
6.3.3
Les manires d'organiser l'excution des instructions commandes, en langage machine ......... 132
6.3.4
En rsum, pour le langage machine........................................................................................... 132
6.4
UN PREMIER PAS : LES LANGAGES D'ASSEMBLAGE ............................................................................ 133
6.4.1
L'organisation des donnes traiter et la manire de les dsigner, en langage d'assemblage... 133
6.4.2
Les oprations permises sur les donnes et la manire d'exprimer ces oprations, en langage
d'assemblage.............................................................................................................................................. 133
6.4.3
Les manires d'organiser l'excution des instructions commandes, en langage d'assemblage . 133
6.4.4
Une comparaison langage machine - langage d'assemblage ...................................................... 134
6.4.5
Les assembleurs........................................................................................................................... 135
6.4.6
En rsum, pour les langages d'assemblage................................................................................ 135
6.5
LES LANGAGES VOLUS IMPRATIFS ............................................................................................... 136
6.5.1
Une autre reprsentation du dispositif excutant dans le cas des langages volus ................... 137
6.5.1.1
6.5.1.2
6.5.1.3
6.5.1.4
L'excutant-ordinateur........................................................................................................................137
L'excutant-ordinateur dans le cas des langages volus : son environnement ..................................137
L'excutant-ordinateur dans le cas des langages volus : les instructions pour le faire agir .............139
L'excutant-ordinateur dans le cas des langages volus : les conditions...........................................141
6.5.2
L'organisation des donnes traiter et la manire de les dsigner, en langage volu impratif
141
6.5.3
Les oprations permises sur les donnes et la manire d'exprimer ces oprations, en langage
volu 141
6.5.4
Les manires d'organiser l'excution des instructions commandes, en langage volu ............ 143
6.5.4.1
6.5.4.2
6.5.4.3
6.5.5
6.5.6
6.5.7
CeFIS-FUNDP
Ch. Duchteau
193
10
Tables et index
6.5.7.1
6.5.7.2
6.5.7.3
6.5.7.4
6.5.7.5
6.5.7.6
6.5.8
6.5.8.1
6.5.8.2
6.5.8.3
6.5.9
Initiation l'informatique
6.5.9.1
6.5.9.2
6.5.9.3
6.5.9.4
6.5.9.5
6.5.10
Les macros dveloppes au sein des logiciels ( complter) .................................................. 161
6.5.11
L'algorithmique....................................................................................................................... 161
6.6
LES LANGAGES VOLUS DE TYPE LOGIQUE ...................................................................................... 163
6.6.1
Des faits et des rgles .................................................................................................................. 163
6.6.1.1
6.6.1.2
6.6.2
6.6.2.1
6.6.2.2
6.7
... POUR AUTANT QU'ON LUI AIT INDIQU COMMENT MENER BIEN CE TRAITEMENT ... 171
7.1
L'ARCHITECTURE LOGICIELLE ........................................................................................................... 171
7.1.1
La dualit matriel-logiciel.......................................................................................................... 171
7.1.2
Le logiciel .................................................................................................................................... 171
7.1.3
L'architecture logicielle ............................................................................................................... 171
7.1.4
Les deux strates essentielles du logiciel....................................................................................... 172
7.2
LE SYSTME D'EXPLOITATION ........................................................................................................... 173
7.2.1
Les rles du systme d'exploitation.............................................................................................. 174
7.2.1.1
7.2.1.2
7.2.2
Le chargement du systme d'exploitation en mmoire : le bootstrapping ................................... 178
7.2.3
Quelques systmes d'exploitation................................................................................................. 178
7.3
L'VOLUTION DES INTERFACES D'UTILISATION DES LOGICIELS ET DES SYSTMES D'EXPLOITATION ... 179
7.3.1
Les interfaces en mode texte ........................................................................................................ 180
7.3.1.1
7.3.1.2
7.3.2
Les interfaces semi-graphiques.................................................................................................... 181
7.3.3
Les interfaces graphiques ............................................................................................................ 183
7.4
LES LOGICIELS D'APPLICATION .......................................................................................................... 184
... TRAITER L'INFORMATION .................................................................................................................... 185
BIBLIOGRAPHIE ............................................................................................................................................ 187
9.1
9.2
9.3
9.4
9.5
9.6
9.7
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
10.1
10.2
10.3
10.4
Tables et index
10
Ch. Duchteau
195
10
Tables et index
Initiation l'informatique
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Tables et index
10
CeFIS-FUNDP
Ch. Duchteau
197
10
Tables et index
Initiation l'informatique
10.4 Index
CPS (caractres par seconde) ............... 121
A
adresse.....................................................67
affectation......................................139, 141
affichage........................................140, 143
algorithmique ........................................161
alphabet ...................................................37
alternative..............................................144
analogique ...............................................50
ANSI .......................................................23
appel de procdure ................................144
application.............................................176
ASCII ......................................................20
assembleur.............................................135
B
binaire......................................................66
bitmap................................30, 74, 115, 117
bootstrapping.........................................178
branchement ............................................84
branchement conditionnel .......................83
buffer.....................................................121
bus d'adresses ..........................................79
bus de commandes ..................................79
bus de donnes ........................................79
byte..........................................................66
C
caractres de contrle......................21, 116
codage ...............................................17, 37
codage de dessins ..............................27, 74
codage de sons ..................................33, 75
codage de texte..................................20, 70
codage des nombres entiers.....................71
codage des nombres rels..................24, 72
code .........................................................19
code opratoire........................................79
commande .............................................174
compilateur....................................157, 159
compteur ordinal .............................77, 104
condition................................................145
conditions ..............................................141
convertisseur analogique-numrique ......36
convertisseur numrique-analogique ......36
correcteur grammatical ...........................11
correcteur orthographique .......................10
couche logicielle ...................................172
198
D
dessin vectoris..................................... 119
discrtisation..................................... 28, 37
disque compact ....................................... 36
dossier................................................... 174
DPI (Dot Per Inch) ............................... 121
draw ........................................................ 31
E
chantillonnage....................................... 35
entre .................................................... 142
erreur de troncature ................................ 73
excution ................................................ 80
exposant.................................................. 73
F
faire faire ................................................ 56
fichier.................................................... 174
formalisable .............................................. 8
formel ................................................. 8, 76
frquence d'horloge .............................. 110
G
GigaOctet (Go) ....................................... 75
GNS .............................................. 146, 148
graphes de Nassi-Schneidermann......... 146
H
horloge.................................................... 77
I
imprimante............................................ 115
imprimante jet d'encre ....................... 124
imprimante laser ................................... 124
imprimante matricielle ......................... 122
information ............................................. 19
informatique ............................................. 8
instruction
d'affectation ........................................................... 139
de lecture................................................................ 139
de sortie.................................................................. 140
Ch. Duchteau
CeFIS-FUNDP
Initiation l'informatique
Tables et index
interprteur............................................ 159
interprteur............................................ 158
OCR ........................................................ 33
octet.........................................................66
ordinogramme ....................................... 145
organigramme ............................... 145, 146
KiloOctet (Ko)........................................ 75
L
label ...................................................... 136
langage de programmation ................... 131
langages go to .................................... 143
langages d'assemblage .......................... 133
langages machine.................................. 105
langages structurs................................ 144
lecture ................................................... 142
liaison parallle..................................... 122
liaison srie ........................................... 122
logiciel ............................................ 53, 171
11
P
priphrique de sortie.............................. 60
priphrique d'entre...................24, 30, 60
pilote d'imprimante ............................... 117
PPM (pages par minute)........................ 121
processeur ............................................... 76
programmation ..................................12, 56
langage ...................................................................131
programmeur........................................... 54
d'application........................................................... 172
de base ................................................................... 172
reconnaissance de la parole..................... 36
reconnaissance optique ...........................32
registre.....................................................77
registre d'adresses.................................... 77
registre d'instruction................................78
rptition ............................................... 144
rsolution............................................... 121
ROM ....................................................... 63
communiquer ........................................................... 45
modifier ................................................................... 43
restituer .................................................................... 42
saisir......................................................................... 41
stocker...................................................................... 44
S
scanner .................................................... 30
setup ........................................................ 65
sortie...................................................... 143
systme d'exploitation...........................173
systme expert.......................................167
systme informatis ................................ 54
tche ......................................................176
traitements d'information ..........................3
tramage.................................................... 27
numrique ............................................... 50
numrisation ........................................... 28
UAL ........................................................78
UNICODE............................................... 23
unit arithmtique et logique .................. 78
objet ........................................................ 31
CeFIS-FUNDP
Ch. Duchteau
199
11
Tables et index
200
Initiation l'informatique
V
variable ......................................... 138, 141
vectoris.................................................. 31
virgule flottante ................................ 26, 72
vitesse d'impression.............................. 121
Ch. Duchteau
CeFIS-FUNDP