Académique Documents
Professionnel Documents
Culture Documents
Chapitre 1
Introduction
Quest-ce quun ordinateur ? Que peut-on faire avec un ordinateur ? Lobjectif de cette
introduction est de rpondre de manire informelle ces questions.
On peut dcrire un ordinateur comme un dispositif matriel permettant en principe deffectuer nimporte quel calcul sur des donnes discrtes. Prcisons chaque composante de cette
dfinition.
1.1.1
Discret vs continu.
On distingue donnes discrtes et donnes continues. Une donne est discrte si elle est
compose dun nombre fini (ou dnombrable) dlments bien dfinis, isols les uns des autres.
Les chiffres, les nombres, les lettres, les mots, les phrases, les notes de musiques, les nuclotides, les acides amins . . . peuvent tre considrs comme des lments bien dfinis, isols les
uns des autres. Tout ensemble fini, toute liste de tels lments peut donc tre considr comme
une donne discrte. Ainsi, les ensembles de nombres entiers, les textes, les codes gntiques
(composs de nuclotides) et les protines (composes dacides amins), les uvres musicales
. . . peuvent tre considrs comme des donnes discrtes.
TACATCTTCTTTAAAGGTAAGGTTGCTCAACCA
Fig. 1.1 Un fragment de code gntique.
En revanche, les nombres rels, les formes et les objets physiques en gnral, les sons, la
peinture, lcriture manuscrite et les calligrammes sont des donnes continues.
On peut objecter cette classification quune lettre trace sur une feuille peut tre vue
comme une image, cest--dire comme un objet continu, quune protine est un objet physique et donc un objet continu mais aussi que nimporte quel objet physique peut tre dcrit
comme une suite finie datomes parfaitement diffrencis et donc comme une donne discrte.
Cette objection est parfaitement valide et cest une dcouverte importante que davoir compris que nombre de systmes matriels peuvent tre dcrits, des niveaux diffrents, la fois
comme des donnes discrtes et continues. Par exemple, une protine est la fois une suite
1
(discrte) dacides amins et une structure matrielle (continue) dploye dans lespace trois
dimensions.
Codage numrique et analogique
Coder un objet, cest le reprsenter ou reprsenter certaines de ses composantes essentielles
dans un systme particulier. On parle de codage numrique lorsquon reprsente un objet par
des nombres et de codage analogique lorsquon reprsente un objet par une donne continue.
Dans un codage analogique, on souhaite prserver directement une forme ou une caractristique physique de lobjet. Par exemple, un paysage peut tre reprsent de manire analogique
comme un agencement de textures chimiques sur une pellicule photographique, une chanson
peut tre reprsente de manire analogique comme un sillon de hauteur variable imprim sur
un disque en vynil, un texte peut tre recopi de manire manuscrite sur une feuille . . .
Dans un codage numrique1 , on associe conventionnellement des nombres (ou des donnes
discrtes en gnral) aux composantes de lobjet que lon veut reprsenter de manire pouvoir
reconstituer ou seulement dsigner sans ambiguit la forme ou la caractristique physique qui
nous intresse. Les mots permettent de dsigner des choses ; la suite de nombres inscrits dans
un disque compact permet de reconstituer des sons.
Un codage numrique reprsente un objet par des donnes discrtes dont lunit de base est
le bit (binary digit) : 0 ou 1. Un bit peut tre ralis physiquement de manires trs diverses :
le courant passe ou non, un trou ou non (cartes perfores), une bosse ou non (micro-cuvette
et zone plane : disque laser, CD-audio, CD-ROM, DVD Digital Video Disk), aimantation sud
ou nord (disques et disquettes).
Un bit ne permettant pas de coder grand chose, on utilise un systme dunits bas sur
loctet 2 , qui est une suite de 8 bits. Les units suivantes sont le KiloOctets (1Ko = 210 octets =
1024 octets), le MgaOctets (1Mo = 210 Ko), le GigaOctets Go (1Go = 210 Mo), le TeraOctets
(1To = 210 Go) et le PetaOctets (1Po = 210 To).
Combien dobjets diffrents peut-on coder avec n bits ? Les codes possibles sont toutes les
suites de n lments pris parmi 0 ou 1. Il y en a 2n . On peut donc coder 2n objets avec n
bits : 2 avec 1 bit, 28 = 256 avec 1 octet. On doit souvent rsoudre le problme inverse : on
dispose de m objets distincts ; combien de bits sont ncessaires pour pouvoir les coder, de telle
manire que deux objets diffrents aient deux codes diffrents. Rponse : le plus petit nombre
entier n tel que 2n m.
Le nombre y tel que 2y = m est le logarithme en base 2 de m.
Rappels sur les logarithmes. Si b est un rel strictement suprieur 1, la fonction x bx
est une bijection continue drivable dfinie de R valeurs dans ]0, [. Sa bijection inverse est
le logarithme de base b. Elle est note logb . On sintressera principalement la valeur b = 2,
cest--dire au logarithme en base 2. Quelques proprits :
pour tout x > 0, blogb (x) = x,
pour tout rel x, logb (bx ) = x,
pour tout x > 0, on a ln x = loge (x) o ln e = 1,
1
La traduction anglaise de numrique est digital qui provient de digit qui veut dire chiffre. En franais, la
racine digit se rapporte aux doigts et non aux chiffres et la traduction littrale codage digital est proscrire !
2
byte en anglais.
1.1. INTRODUCTION
logb (x)
ln x
log10 (x)
. En particulier, log2 (x) =
=
.
logb (b)
ln 2
log10 (2)
Combien faut-il de bits pour coder 16000 objets ? Une calculatrice permet de trouver que
log2 (16000) 13, 96. Il faut donc 14 bits.
On remarquera que 210 = 1024 est proche de 1000 : cette remarque permet deffectuer des
calculs approximatifs rapidement :
16000 24 210 = 214 .
Que peut-on reprsenter par des 0 et des 1 ? Rponse : toutes les donnes discrtes !
Les valeurs de vrit. Une proposition logique est vraie ou fausse. On peut donc coder
les deux valeurs de vrit possibles sur 1 bit. Le plus souvent, Vrai est cod par 1 et
Faux par 0. La reprsentation des valeurs logiques par des nombres a conduit la notion
de calcul logique, fondamental dans le dveloppement de linformatique. Des exemples
de calculs logiques seront donns la fin de ce cours.
Nombres. Les nombres entiers sont reprsentables en base 2, cest--dire en nutilisant
que les chiffres 0 et 1. Par exemple 23 = 24 +22 +21 +20 est reprsent par 10111 en base
2. On peut galement reprsenter les entiers ngatifs en convenant par exemple que le
premier bit reprsentera le signe, 0 pour un nombre ngatif et 1 pour un nombre positif.
Le nombre -23 sera alors cod par 010111. Un nombre rationnel pq peut tre reprsent
par le couple dentiers (p, q). Mais il ne suffit pas de juxtaposer un codage de p un
codage de q pour pouvoir reconstituer le couple : la suite 010111 dsigne t-elle le couple
(-2,3) ou le couple (-1,-5) ? On peut par exemple choisir de doubler les bits des codages
de p et q et dcider conventionnellement quils seront spars par 01. Le rationnel -2/3
sera alors reprsent par 00110001111111. En revanche, il est impossible de reprsenter
la fois tous les nombres rels par des suites finies de 0 et de 13 . Un chapitre de ce cours
est consacr aux codages usuels des nombres.
Lettres. Pour coder tous les caractres utiliss dans les textes, 1 octet est amplement
suffisant. Le code ASCII (pour American Standard for Communication and International
Interchange) reprsente 128 caractres de base (cods sur 7 bits). Ce code, mis au point
pour la langue anglaise, ne contient pas de lettres accentues. Il a t tendu 8 bits
pour pouvoir coder 128 autres caractres : on parle alors de code ASCII tendu. Ce
dernier nest pas unique et dpend des lieux dutilisation.
Les 32 premiers caractres ne sont pas imprimables : il sagit de caractres de contrle
qui permettent par exemple de revenir en dbut de ligne (LF - Line Feed, code ASCII
10) ou de passer la ligne suivante (CR - Carriage Return, code ASCII 13).
Les 26 lettres majuscules sont codes conscutivement de 65 90, les 26 lettres minuscules sont codes de 97 122. Il suffit donc dajouter 32 au code ASCII dune lettre
majuscule pour obtenir le code de la lettre minuscule correspondante.
3
La raison de cette impossibilit nest pas quun nombre rel peut avoir un dveloppement dcimal infini
puisque les nombres 1/3 ou sont reprsentables sans ambiguit par quelques caractres ; ceci nest pas d
non plus au fait quil y a une infinit de nombres rels puisquil y a aussi une infinit de nombres entiers ou
rationnels. Les rels ne sont pas codables par des suites finies de 0 et de 1 parce quil y en a (beaucoup) plus
que de telles suites : on peut dmontrer quil nexiste pas de bijection entre R et lensemble des suites finies de
0 et de 1.
1.1. INTRODUCTION
Ces donnes proviennent de larticle Le son numrique de Jean-Franois Pilou, disponible sur le site
www.commentcamarche.net qui contient un grand nombre de documents concernant linformatique au sens
large et tlchargeables gratuitement.
6
Disquettes, mmoire RAM, disques durs seront dfinis dans la suite.
7
Daprs Maurice Emile Baudot (1845-1903), ingnieur franais qui tudia le tlgraphe.
1.1.2
Il est plus facile de donner des exemples de calcul que de dfinir ce quest un calcul.
Exemples de calculs. Additionner deux nombres. Calculer la 10000me dcimale de .
Calculer le millionime nombre premier. Ranger les lettres dun mot dans lordre croissant des
lettres dans lalphabet. Compter les frquences dapparition de chaque mot dans une oeuvre
littraire. Calculer si une position aux checs est gagnante contre toute riposte8 .
Ide gnrale. Un calcul peut toujours tre ralis de manire systmatique en un nombre
fini dtapes lmentaires (ceci nest pas une dfinition).
Exemple : comment faire dire quelquun qui ne connat que deux oprations lmentaires
calculer le reste de la division dun entier par un autre
comparer deux nombres entiers
si un entier est premier ou non ? On peut par exemple lui donner les consignes suivantes
Pour savoir si un nombre N est premier :
(1) Si N est gal 0 ou 1, alors N nest pas premier.
(2) Sinon, soit P=2 ;
(3) si le reste de la division de N par P est gal 0 alors
si N=P alors N est premier
sinon N nest pas premier
sinon jouter 1 P et recommencer ltape (3)
Il faut dmontrer que cette suite de consigne est correcte, cest--dire quelle permet de
conclure correctement pour tous les nombres entiers.
8
Une rgle stipule quune partie est nulle lorsque la mme configuration est apparue 3 fois : cette rgle
implique que le nombre de parties est fini.
1.1. INTRODUCTION
Dautres suites de consignes peuvent convenir et peuvent tre juges prfrables la prcdente. Plus concises, plus claires, mieux structures, il est plus facile de sassurer quelles
permettent de calculer ce quon souhaite.
Soit P=2.
Tant que P est plus petit que N et que P ne divise pas N
ajouter 1 P.
Si P=N alors N est premier sinon N nest pas premier.
On appelle algorithme 9 la description dun calcul laide dinstructions lmentaires, de
tests et autres structures de contrles 10 . On peut dfinir prcisment ce quest un calcul en
dfinissant les briques de base des algorithmes constitues par les instructions lmentaires,
les tests et les structures de contrles. Mais il y a un risque alors de dfinir autant de notions
de calculs que densembles de briques de base. Plusieurs mathmaticiens11 de la premire
moiti du XXme sicle ont propos, indpendamment les uns des autres, une dfinition de ce
quest un calcul : toutes se sont rvles quivalentes. La thse de Church-Turing, adopte par
lensemble des mathmaticiens et des informaticiens, nonce que ces dfinitions quivalentes
constituent une dfinition adquate de la notion de calcul.
Un langage de programmation est constitu dun jeu dinstructions lmentaires ainsi que
dun ensemble de rgles dassemblage de ces instructions. Un programme est le codage dun algorithme dans un langage de programmation particulier. Quelques langages de programmation
usuels : Pascal, C, C++, Ada, Prolog12 , Lisp, Smalltalk, Java, . . .
Lalgorithme ci-dessus, cod en Pascal, donne le programme suivant :
P:=2;
while (P<N) and (N mod P <>0) do
P:=P+1;
If P=N then premier:=true else premier:=false;
La dfinition propose dans les premires lignes de cette introduction stipule quun ordinateur doit tre capable en principe deffectuer nimporte quel calcul : comment peut-on en
tre sr ? Turing a montr quil existe des machines universelles capable deffectuer tous les
calculs dfinis par la thse de Church-Turing, autrement dit tous les calculs imaginables. Ces
machines universelles sappellent des ordinateurs ! Toutes ces questions sont tudies par un
domaine de linformatique thorique qui sappelle la thorie de la calculabilit. Un ordinateur
nest donc pas un simple calculateur ; un ordinateur a la puissance de tous les calculateurs
imaginables !
Existe t-il des choses que lon ne peut pas calculer ? La plupart des fonctions que lon
connat sont calculables par un ordinateur. Et pourtant, la plupart des fonctions ne sont pas
calculables13 !
9
Un exemple de fonction non calculable : les mathmatiques sont composes dun ensemble
daxiomes (des formules logiques que lon tient pour vraies) et de rgles de dduction logique
qui permettent de construire dautres formules vraies (par exemple, si P est vraie et si P Q
est vraie, alors Q est vraie). Connaissant les axiomes et les rgles de dduction, on pourrait
esprer programmer un ordinateur pour quil dise si oui ou non une formule F est dductible
des axiomes14 . La fonction correspondante est bien dfinie :
f (F ) = 1 si F est dductible des axiomes et 0 sinon.
Un tel programme pourrait tre trs utile pour savoir si telle conjecture est vraie ou non !
Malheureusement, on peut prouver quun tel programme nexiste pas15 .
La dfinition propose ci-dessus mentionne galement lattnuateur en principe : que signifie t-il ? Un ordinateur peut calculer tout ce qui est calculable si lon suppose quil peut
disposer de tout le temps ncessaire pour mener bien ses calculs, mais aussi, de tout lespace ncessaire (mmoire) pour noter des rsultats intermdiaires. Cela nest pas trs raliste.
Le domaine de linformatique qui sintresse aux calculs pratiquement ralisables sappelle la
complexit algorithmique.
Depuis lantiquit, les hommes aiment se poser des nigmes qui nont pas lair trs difficile
rsoudre mais dont la rsolution effective met en jeu des nombres normes, si grands quil
semble impossible de pouvoir les traiter.
Une des anecdotes les plus clbres a trait linvention du jeu dchecs. Son inventeur
ne demanda pour rcompense quun peu de bl : un grain sur la premire case, deux sur la
seconde, quatre sur la troisime et ainsi de suite, en doublant le nombre de grains chaque
fois, jusqu la soixante quatrime. Le total dpasse, et de loin, la production mondiale de bl !
On a depuis construit des exemples de fonctions calculables mais pratiquement inatteignables bien plus redoutables encore. Cest par exemple le cas de la fonction Ack dAckerman,
dfinie de N N valeurs dans N par
Si m = 0, Ack(m, n) = n + 1
si m > 0 et n = 0, Ack(m, n) vaut Ack(m 1, 1)
si m > 0 et n > 0, Ack(m, n) vaut Ack(m 1, Ack(m, n 1))
On peut facilement se convaincre que cette fonction est calculable. Calculez Ack(2, 2) puis
Ack(5, 5).
Lensemble des fonctions boolennes, qui peut tre mis en bijection avec lensemble des parties de N, nest
donc pas dnombrable. Or, il ny a pas plus de fonctions boolennes calculables quil ny a de manires dcrire
un programme ou un algorithme. Comme les programmes sont des suites finies de caractres et quil ny a
quun nombre fini de caractres disponibles, le nombre de programmes possibles est dnombrable. CQFD.
La dmonstration ci-dessus nest qu moiti satisfaisante car elle dit que la plupart des fonctions boolennes
sont non calculables sans proposer de mthode pour en construire une ! En revanche, elle permet daffirmer
quune fonction boolenne dont les images sont choisies alatoirement (en tirant pile ou face) est certainement
non calculable.
14
La question de savoir si un tel programme peut exister a t pose, en dautres termes, par Hilbert en
1900.
15
Une premire ide pour raliser un tel programme consiste faire appliquer toutes les rgles de dduction
tous les axiomes de telle manire que le programme balaie toutes les dmonstrations possibles. Un tel
programme peut effectivement tre construit ; il montrera quune formule dductible lest effectivement mais
il sera incapable de prouver quune formule nest pas dductible. On peut alors imaginer de compliquer le
programme en lui soumettant la fois la formule et sa ngation : comme une formule est soit vraie soit fausse
(et dans ce cas, sa ngation est vraie), on peut esprer conclure. Malheureusement ce nest pas le cas. Gdel,
mathmaticien et logicien allemand du dbut du XXme sicle a montr que pour la plupart des systmes
axiomatiques utiliss, il existe des formules logiques qui ne sont pas dductibles, non plus que leur ngation.
1.1. INTRODUCTION
1.1.3
Un dispositif matriel
Pour ceux qui sintressent lhistoire des ordinateurs et de linformatique en gnral, nous conseillons Une
histoire de linformatique de Philippe Breton, paru aux ditions du Seuil dans la collection Points Sciences.
Une recherche sur internet conduit aussi rapidement des sites trs intressants.
17
Le principal biographe dAlan Turing, Andrew Hodges, maintient un site web sur son oeuvre :
http ://www.turing.org.uk/turing/.
10
1.1.4
Exercices
1.1. INTRODUCTION
11
pourra t-on stocker lensemble de ces renseignements (pour tous les tudiants) sur
une disquette ? en mmoire vive (RAM) dun ordinateur ordinaire ? sur un disque
dur de capacit standard ?
(exercice donn lexamen de deuxime session en 2002).
12. On souhaite effectuer des dessins sur une grille carre comprenant 64x64 cases (ou pixels).
Chaque point est repr par un couple dentiers (x, y) o x et y sont compris entre 0 et
63. On supposera que x et y sont crits en binaire.
(a) Combien faut-il de bits pour coder un point ?
On suppose que les dessins seront composs de trois types dlments : des segments,
des rectangles dont les cts sont parallles aux axes et qui pourront tre pleins
ou vides. Ainsi, le dessin de la figure ci-dessous est compos dun rectangle vide
ADJI, dun rectangle plein BCF E et de deux segments GK et KH.
63
J
E
B C
0
0
63
12
1.2
13
Von Neumann rdige en 1945 un texte dune dizaine de pages dans lequel il dcrit les plans
dune nouvelle machine, lEDVAC (Electronic Discrete Variable Computer). Cest sur cette
architecture que fonctionnent encore actuellement la plupart des ordinateurs.
Unit centrale
Unit de
commande
Unit
arithmtique
et logique
Mmoire
Principale
Priphriques
Registres
Bus
14
Le temps daccs la mmoire est une donne critique : il est de quelques millisecondes
pour le disque dur (mmoire de masse) et de quelques dizaines de nanosecondes pour la
mmoire principale. On peut amliorer le temps dexcution des algorithmes en introduisant
une mmoire cache, proche du processeur (et donc plus rapide) de faible capacit servant
conserver les mots mmoires les plus frquemment utiliss.
Le processeur
Le rle du processeur ou CPU (Central Processing Unit) ou UC (Unit Centrale) est
dexcuter les programmes stocks en mmoire principale en chargeant les instructions, en les
dcodant et en les excutant lune aprs lautre.
LUC dispose dune mmoire de travail prive qui lui permet de stocker des rsultats temporaires : les registres. Le registre compteur ordinal (CO) ou program Counter (PC) contient
ladresse de la prochaine instruction excuter. Le registre instruction (RI) contient linstruction en cours dexcution. Dautres registres, en nombre variable, servent stocker des
rsultats intermdiaires.
Excution dune instruction : cycle de chargement dcodage excution
1. Reprer grace au registre CO la prochaine instruction excuter et la charger dans le
registre RI.
2. Charger dans le compteur ordinal CO ladresse de linstruction suivante.
3. Analyser et dcoder linstruction contenu dans le RI.
4. Localiser en mmoire les donnes ncessaires linstruction.
5. Charger ces donnes dans les registres gnraux de lUC.
6. Faire excuter linstruction par lUAL.
7. Reprendre ltape 1 (sauf si linstruction qui vient dtre excute est celle qui demande
darrter lexcution du programme).
Lhorloge
Dans un ordinateur, non seulement les donnes traites sont discrtes mais le droulement
des oprations se fait aussi selon un temps discrtis. Une horloge, le plus souvent calibre
laide doscillateurs quartz, met rgulirement une suite dimpulsions, comme un mtronome, qui sert scander les oprations. Le temps dun cycle, ou priode de lhorloge, est
une caractristique des processeurs : 500 Mhz ou 1 Ghz, cest--dire une impulsion tous les
milliardimes de secondes, deviennent des valeurs courantes.
Exemple
On considre une mmoire RAM contenant 16 mots mmoires dun octet. Il suffit donc de
4 bits pour adresser un mot mmoire. On suppose lexistence dun registre accumulateur ACC
dun octet, pouvant contenir nimporte quel mot mmoire. On suppose que les instructions
peuvent tre codes par les quatre premiers bits dun mot mmoire :
ADD a. Pour additionner le contenu du registre accumulateur au mot mmoire situ
ladresse a de la mmoire RAM. Le rsultat est stock dans laccumulateur ; code 0000.
15
ADD #a. Pour additionner le contenu du registre accumulateur avec la valeur a. Le rsultat
est stock dans laccumulateur ; code 0001.
JMP a. Pour charger ladresse a dans le compteur ordinal (instruction de branchement inconditionnel) ; code 0010.
JNZ a. Si le contenu de laccumulateur est diffrent de zro, ladresse a est charge dans le
compteur ordinal (instruction de branchement conditionnel) ; code 0011.
SHL. Pour dcaler les bits du registre accumulateur dune position vers la gauche (le dernier
bit devient gal 0) ; code 0100.
LOAD a. Pour charger le registre accumulateur avec le mot mmoire situ ladresse a ; code
0101.
LOAD #a. Pour charger la valeur a dans le registre accumulateur ; code 0110.
STO a. Pour ranger la valeur contenue dans le registre accumulateur ladresse a en RAM ;
code 0111.
STOP. Arrt du programme ; code 1111.
Exemple En reprenant les trois tapes de droulement dune instruction dcrites plus haut,
dcrire pour chacune des tapes le contenu du registre accumulateur, du compteur ordinal et
de la mmoire lors de lexcution de la squence dinstructions commenant ladresse 0. Le
contenu initial de la mmoire est le suivant :
adresse
0000
0001
0010
0011
0100
0101
0110
0111
contenu
01010111
00010001
00110100
00000110
01110110
11110000
00011110
00010100
contenu
LOAD 7
ADD #1
JNZ 4
ADD 6
STO 6
STOP
30
20
16
1.2.1
Exercices
1. La machine de von Neumann tait compose de cinq parties : la mmoire, lunit arithmtique et logique, lunit de contrle et les dispositifs dentres et de sorties. La mmoire
disposait de 4096 mots, chaque mot faisant 40 bits, cest--dire deux instructions de 20
bits ou un entier sign de 40 bits. Les instructions comprenaient 2 champs : 8 bits
pour le type dinstruction et 12 bits pour adresser un des 4096 mots de la mmoire.
Cette citation est extraite de Architecture de lordinateur, A. Tannenbaum, Eds Dunod.
Assurez-vous que vous comprenez tous ses termes.
2. Quelle est la distance parcourue par la lumire pendant un cycle dun processeur cadenc
1GHz ?
3. On suppose que la mmoire RAM dun ordinateur contient 16 mots-mmoire dun octet
chacun. Chaque mot mmoire peut donc tre dsign par un entier de 0 15, reprsentable sur 4 bits (son adresse). LUnit Centrale de cet ordinateur contient
un registre CO (compteur ordinal) de 4 bits qui contient ladresse de la prochaine
instruction excuter,
un registre RI (registre instruction) de 4 bits qui contient linstruction en cours dexcution,
un registre ACC (accumulateur) dun octet pouvant contenir nimporte quel mot mmoire.
On considre 4 instructions, code chacune sur un mot mmoire.
LOAD x1 x2 x3 x4 , code par 0000x1 x2 x3 x4 : cette instruction charge la valeur contenue
ladresse x1 x2 x3 x4 de la mmoire RAM dans le registre ACC.
STO x1 x2 x3 x4 , code par 0010x1 x2 x3 x4 : cette instruction charge la valeur contenue
dans laccumulateur ladresse x1 x2 x3 x4 de la mmoire RAM.
JNZ x1 x2 x3 x4 , code par 0011x1 x2 x3 x4 : si le contenu de laccumulateur est diffrent
de 0, cette instruction crit ladresse x1 x2 x3 x4 dans le compteur ordinal CO ; si le
contenu de laccumulateur est gal 0, cette instruction ne fait rien.
STOP, code par 11111111 : cette instruction arrte le droulement du programme.
On rappelle que le droulement dun programme se fait de la manire suivante :
i. Charger le contenu du CO dans le RI
ii. Modifier le CO pour quil dsigne linstruction suivante
iii. Analyser et dcoder linstruction figurant dans le RI
iv. Localiser en mmoire dventuelles donnes ncessaires cette instruction
v. Excuter linstruction
vi. Reprendre ltape (a) si la dernire instruction excute est diffrente de
STOP.
(a) Dcrivez ltat de la mmoire RAM aprs le droulement du programme lorsque le
contenu du CO est gal 0000 et lorsque la mmoire RAM contient initialement
les valeurs suivantes.
RAM
00000000
00111000
00001010
00101100
00001011
00101010
00001100
00101011
11111111
00000001
11110000
00001111
10101010
...
17
18