Vous êtes sur la page 1sur 148

HAMDI HOCINE

NOTIONS DE STRUCTURE MACHINE


COURS & EXERCICES CORRIGES

Les ditions de luniversit Mentouri Constantine

-I-

-Notions de structure machine-

Avant Propos

V1.1 Hamdi Hocine

Cet ouvrage est destin en premier lieu aux lves techniciens suprieurs des coles
publiques ou prives (universits, centres de formation professionnelle, cole prives
dinformatique), et en second lieu aux lves ingnieurs (grandes coles et universits). Il peut
tre galement utilis avec profit par les toutes les personnes non spcialistes, souhaitant
entreprendre une action de formatio4n continue.
Il a pour but de leur donner les bases pour la comprhension du fonctionnement
interne dun ordinateur, en vue de son exploitation et de sa maintenance ventuelle.
Ce que nous proposons nest pas un cours classique. En effet, la comprhension de la
structure interne dun ordinateur ncessite des connaissances aussi bien en informatique quen
lectronique. Si cela ne pose pas de problmes aux lves ingnieurs (compte tenu de leurs
acquis antrieurs l'tude de cette matire), par contre les lves techniciens suprieurs (en
premire anne informatique) nont pas le minimum (ni en lectronique ni en informatique)
facilitant la comprhension. Cest pour cela que nous avons essay de simplifier au maximum,
en exploitant surtout le volet pratique avec un recours minimum la thorie. Ainsi certains
paragraphes qui sont normalement de nature trs technique, ont t prsents sous un aspect
descriptif avec des exemples pratiques. Cest pour cela quau lieu de dtailler
technologiquement la constitution des composants, nous avons prfr nous limiter un
aspect purement fonctionnel tout en donnant les principales caractristiques avec des ordres
de grandeur des valeurs utilises dans la pratique. Nous esprons ainsi toucher un large
public, et que ce document serve de rfrence consulter en cas de besoin.
Cet ouvrage est-il la traduction fidle de nos intentions pdagogiques ? Nous le
souhaitons vivement, et remercions par avance toutes les personnes qui auront lamabilit de
nous faire part de leurs critiques ou de leurs conseils, afin den amliorer le contenu dans les
prochaines ditions.
Dr Hamdi Hocine
Charg de cours

Au departement dElectronique de lUniversit de


Constantine

-Cours & Exercices corrigs-

-Notions de structure machine-

V1.1 Hamdi Hocine

- Table des matires - PARTIE 1 : COURS


PAGE

CHAPITRE I : STRUCTURE DUN ORDINATEUR


-1- Schma fonctionnel de base de lordinateur
-2- Les priphriques
-3- Interfaces dentre et de sortie (e/s)
-4- Les mmoires
-5- Les bus
-6- Lunite centrale de traitement ou cpu
-7- Le systme dexploitation
-8- Horloges et alimentations
-9- Notions de bus systme et bus local
-10- Notion de carte mre (pour pc)

1
2
3
5
7
8
9

CHAPITRE II : REPRESENTATION DES INFORMATIONS EN MEMOIRE ET CODAGE


-1- Rappels sur les systmes de numration
-1-Principe
-2- Changement de base : nombres entiers et nombres fractionnaires

12

-2- Reprsentation ou codage binaire des nombres en mmoire


-1-Nombres entiers : codage des nombres ngatifs en complment 2
-2-Nombres fractionnaires : techniques de la virgule fixe et de la virgule flottante
-3- Codage des caractres
-1-Code CCITT n 2 (code Baudot) ou code tlgraphique
-2-Code CCITT n5 (ou code ISO) et code ASCII
-3-Code EBCDIC

15
17
18
20
22

CHAPITRE III : LES MEMOIRES


-1- La mmoire centrale
-1-Dfinitions
-2-Principales caractristiques
-3-Espace adressable
-4-Hirachie de mmoire
-5-Ralisation physique de mmoire
-2- Les mmoires de masse
-1-Le disque souple ou disquette (floppy disk)
-2-Le disque dur (hard disk)
-3-Autres procds de stockage

25
29
32
35
37
41
44

CHAPITRE IV : LE PROCESSEUR OU CPU


-1- Architecture standard dun CPU
-1- Notion darchitecture
-2-Principe du processeur
-3- Structure et organisation interne du processeur
-4- Les registres
-5-Les signaux dentr sortie du processeur

58
59
61
64

-2- Fonctionnement du processeur


-1-Structure dinstruction et adresse mmoire
-2-Notions de cycle et tat

66
68

-3- Le logiciel du cpu


-1- Pile et sous-programme
-2-Les indicateurs et leur utilisation
-3-Modes dadressage

70
74
75

- TABLE DES MATIERES -

-Notions de structure machine-

V1.1 Hamdi Hocine

- Table des matires - PARTIE 2 : EXERCICES CORRIGES


CHAPITRE 1 : LOGICIELS ET ENVIRONNEMENT DE PROGRAMMATION

PAGE

-I-Terminologie de base
83
Informatique, hardware et software, systme dexploitation, processeur, carte mre, bus, entres sorties,
interfaces.
-II-Langages et environnement de programmation
85
Les langages, les traducteurs, environnement de programmation.
-III-Les logiciels
61
Editeurs, traitements de texte, tableurs, gestionnaires de bases de donnes,
CHAPITRE 2 : REPRESENTATION DES INFORMATIONS EN MEMOIRE ET CODAGE
Ex 1 & 2 : Rappel sur les systmes de numration et conversions
94
Rappels de cours (notions de base, bit, quartet, octet, mot) ; codage, dcodage, transcodage de nombres
entiers et fractionnaires
Ex 3 & 4 : Reprsentation des nombres en mmoire
99
Codage des entiers naturels, des entiers relatifs, complment 2, nombres fractionnaires en virgule fixe,
nombres fractionnaires en virgule flottante
Ex 5, 6, 7 : Oprations lmentaires en arithmtique non signe
101
Additions binaire, hexadcimale, BCD ; soustraction en complment 2 ; multiplication et division
binaires.
Ex 8 & 9 : Codage, transmission et impression
104
Codage de messages en code baudot, iso, ascii, ebcdic ; transmission : bits de parit, start, stop ;
impression : caractres imprimables et caractres de contrle.
CHAPITRE 3 : LES MEMOIRES
Ex 1, 2, 3 : Bus dadresses, bus de donnes, taille de lespace adressable
107
Ex 4 : Stockage de nombres et de caractres
108
Ex 5 & 6 : Mmoire organise en octets et mmoire organise en mots, techniques de stockage big endian et
little endian
108
Ex 7 : Mmoire segmente
110
Ex 8 & 9 : Ralisation physique de mmoires
110
Ex 10 : Synthse des notions prcdentes
115
Ex 11&12&13&14 : Antmmoire, mmoire pagine, et mmoire virtuelle
118
Ex 15 & 16 : Unit de disque dur : pistes, secteurs, cylindre, capacit, taux de transfert
121
CHAPITRE 4 : LE PROCESSEUR OU CPU
Partie 1 : Rappels de cours
Ex1 Ex5 : Notions de CPU, UC, UAL ; Registres PC, ACC, RI, PSW, SP
Partie 2 : Exercices
Ex6 : Adresses symboliques et adresses physiques, langage assembleur de mimosa
Ex 7 & 8 : Assemblage et dsassemblage
Ex9 : Programmation en langage assembleur
Ex10 : Fetch et excution
Ex11 : Exercice de synthse : assembleur, fetch et excution
Ex12 : Pile et sous programme
Ex13 : Utilisation des bits ou indicateurs zro (Z), carry (C), signe (N)
Ex14 : Algorithmie et programmation en assembleur
Partie 3 : Contrle des connaissances
Ex3-1 : Adressage relatif sur Mimosa
Ex3-2 : Pile et sous programme (mmoire organise en octets)
Ex3-3 : Dsassemblage et excution de programme.
Ex3-4 : Programmation en assembleur et assemblage

125

127
129

132
133
135
137
138
139

- TABLE DES MATIERES -

-1-

-Notions de structure machine-

V1.1 Hamdi Hocine

CHAPITRE I: STRUCTURE DUN ORDINATEUR


Un ordinateur est une machine de traitement de linformation dans la logique binaire
(celle de lalgbre de BOOLE). Lunit lmentaire dinformation est le bit qui peut prendre
pour valeurs 0 ou 1.
Le traitement de linformation se fait par une unit de calcul, do le nom de
calculateur communment attribu lordinateur.
-I- SCHEMA FONCTIONNEL DE BASE DE LORDINATEUR

Alimentations

ROM
(BIOS)

Systme
dExploitation

RAM
Horloges
Mmoire
Centrale
U.C.T ou CPU
Unit Centrale de
Traitement
(microprocesseur)

BUS
Priphriques
dEntre

-clavier
-souris
-scanner
-etc

Interfaces
dEntre

Interfaces
de Sortie

Priphriques
de
Sortie

-cran
-imprimante
-etc

Mmoire
de Masse

-disquette
-disque dur
-compact
disque
-cassette
-etc..

Elments de la structure de base simplifie dun ordinateur

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-2-

V1.1 Hamdi Hocine

-II-LES PERIPHERIQUES

On dsigne sous le terme de priphrique tout lment situ la priphrie de


lordinateur, qui nest pas ncessaire son fonctionnement, mais dont lutilisateur a besoin
pour communiquer avec lordinateur.
On distingue deux catgories de priphriques : les priphriques dentre et les
priphriques de sortie. Les termes entre et sortie dsignent respectivement un transfert
dinformation de lextrieur vers lordinateur (ventuellement le processeur) ou de
lordinateur vers lextrieur.
Parmi les priphriques d'entre on peut citer le clavier, la souris, le crayon optique,
le scanner etc... Le priphrique standard d'entre (stdin) est le clavier.
Parmi les priphriques de sortie on peut citer l'cran et l'imprimante. Le priphrique
standard de sortie (stdout) est l'cran.

-III-INTERFACES DENTRE ET DE SORTIE (E/S)

On les appelle galement coupleurs ou organes d'entre-sortie. Ce terme


dinterface (masculin ou fminin) dsigne un dispositif (matriel ou logiciel) qui permet
deux entits (matrielles ou logicielles) de communiquer entre elles. Ils permettent de faire de
ladaptation dinformation, quelle porte sur la forme (transformation des bits disposs en
parallle vers des bits disposs en srie ou linverse), sur le code (transcodage) ou sur la
vitesse (cas du transfert vers une imprimante par exemple).
Les interfaces dE/S les plus courantes sont les interfaces srie (ports COM) et
parallle (ports LPT : LPT1=PRN pour le premier port dimprimante sous DOS). Linterface
srie a tendance tre remplace par le port USB (Universal Synchronous Bus) qui est
beaucoup plus rapide mais dont lutilisation nest pas encore gnralise.

-IV-LES MEMOIRES

On distingue diffrentes catgories de mmoire, qui sont appeles mmoires primaire


ou principale et secondaire ou auxiliaire. La mmoire principale correspond la mmoire
centrale, et la mmoire auxiliaire correspond la mmoire cache et aux mmoires de masse.

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-3-

V1.1 Hamdi Hocine

-1-La mmoire centrale

Elle est constitue de la RAM et de la ROM.

1-a- RAM (random access memory)


La ram ou mmoire accs alatoire, est appele ainsi car laccs se fait en lecture et
en criture. Ell est galement appele mmoire vive car les informations qui sy trouvent ont
besoin dalimentation pour vivre: ds quon coupe lalimentation, le contenu de cette
mmoire svapore (mmoire volatile).
Par consquent cest une zone de travail et de stockage temporaire de linformation
pour lutilisateur et le systme dexploitation. Pour ne pas perdre les donnes, stockes
temporairement en mmoire ram, il faut effectuer une sauvegarde en mmoire de masse.
La taille de la ram sexprime gnralement en mgaoctets, un octet correspondant au
regroupement de 8 bits.

Remarque:
La ram-cmos est une petite partie de mmoire ram indpendante de la zone de travail,
et fabrique dans la technologie cmos. A lextinction de lordinateur, son rle est de conserver
les informations sur la configuration de lordinateur (priphriques disponibles, interfaces
etc..), ainsi que sur lenvironnement de travail de lutilisateur: clavier franais (azerty) ou
anglais (qwerty), date dans le format franais ou anglais, etcSon contenu est sauvegard en
permanence par une pile ou un un accumulateur.

1-b- ROM (read only memory)


La rom est une mmoire o laccs seffectue uniquement en lecture. Les
informations qui sont contenues dans cette mmoire y ont t crites par le constructeur de
lordinateur. On y trouve gnralement quelques programmes de gestion de lordinateur, dont
une petite partie du systme dexploitation appele BIOS (Basical Input Output System).
Gnralement lutilisateur na pas besoin daccder la rom. Cest pourquoi dans le
langage parl quand on parle de mmoire, on sous entend la mmoire ram.

-2-Mmoires auxiliaires
On classe dans cette catgorie tout ce qui est en plus de la mmoire centrale (ou
principale). On distingue deux types: la mmoire cache et les mmoires de masse.
-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-4-

V1.1 Hamdi Hocine

-2-a-Les mmoires de masse


Comme la mmoire ram, laccs la mmoire de masse se fait en lecture et en
criture. Mais contrairement la ram, cest une unit de sauvegarde donc de stockage
permanent. Cette mmoire est beaucoup moins rapide que la ram.
Les units de sauvegarde les plus utilises sont le lecteur de disque souple ou disquette
(de taille standard 1,44 mgaoctets), le lecteur de disque dur (constitu de plateaux
daluminiun) dont la taille sexprime en gigaoctets, le lecteur de disque compact ou disque
optique numrique (criture par rayon laser et non par procd magntique) de taille standard
650 mgaoctets, le lecteur de cartouches magntiques de tailles varies: 1 Mo, 2 Mo, 120 Mo.

-2-b-La mmoire cache


Comme la mmoire ram est beaucoup moins rapide que le processeur, elle le ralentit
dans ses traitements. De plus la mmoire de masse tant encore moins rapide, laccs aux
donnes en mmoire de masse est trs pnalisant (en terme de vitesse) pour le processeur.
Cest pourquoi on utilise de la mmoire ram additionnelle, qui est beaucoup plus rapide que la
ram de la mmoire centrale. Au lieu de travailler en ram ou daccder la mmoire de masse
pour lire des donnes, le processeur travaille dans cette mmoire (transparente lutilisateur
donc cache pour lui) et prfre y stocker les donnes souvent utilises. Ainsi chaque fois
quil a besoin daccder des donnes, le processeur recherche dabord si elles sont prsentes
en mmoire cache. Ce nest que lorsquelles sont absentes quil accde en RAM ou en
mmoire de masse.
Par consquent plus la taille de la mmoire cache est grande, plus cest intressant
pour le processeur (gain en vitesse des traitements). Comme elle est plus rapide que la ram,
elle est donc plus chre et il faut trouver un compromis prix-taille.

processeur

mmoire

mmoire

mmoire

disque

disque

cache

cache

centrale

dur

compact

de niveau 1

de niveau 2

(processeur)

(ram cache)

disquette

Imprimante

(ram)

Classification de quelques lments par ordre de vitesse dcroissante

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-5-

V1.1 Hamdi Hocine

-V-LES BUS

Ce sont les moyens de transport de linformation lintrieur de lordinateur. On peut


faire lanalogie entre le bus de transport en commun et le bus dordinateur de la manire
suivante : - unit lmentaire dinformation : la personne le bit,
- unit de transport: la place assise le fil,
- capacit de transport ou taille du bus: en nombre de places assises nombre
de bits ou fils.
On distingue trois catgories de bus.

-1-Le bus de donnes


Il transporte les donnes. Sa taille est en gnral gale la taille des mots que traite le
processeur, cest dire le nombre de bits utilis pour coder les donnes.
Si on utilise par exemple un processeur 32 bits (comme le pentium), la taille des
donnes traites est de 32 bits, et il est alors prfrable davoir un bus de donnes 32 bits.

-2-Le bus dadresses


Il transporte ladresse laquelle on veut aller lire ou crire une donne.
Si le bus dadresses comporte n fils, on dira que cest un bus n bits, et sa capacit
dadressage est de 2n , cest dire que le nombre demplacements mmoire que lon peut
adresser (nombre dadresses que lon peut fabriquer) est gal 2n .

-3-Le bus de commande


Cest un ensemble de lignes (fils) de transport des ordres (ou commandes) destins
aux diffrents lments de lordinateur pour effectuer les oprations.

-Chapitre 1 : Structure dun ordinateur-

-6-

-Notions de structure machine-

V1.1 Hamdi Hocine

Dans une opration dcriture ou de lecture en mmoire centrale, on sollicite les trois
bus la fois.
Exemple1 : Pour crire la donne 33 lemplacement mmoire qui a pour adresse 55, la
succession des oprations est la suivante :
-

dpt de la donne (33) sur le bus de donnes,

dpt de ladresse (55) sur le bus dadresses,

activation de la ligne WM (write memory) du bus de commande. La donne 33


scrit alors dans lemplacement mmoire qui a pour adresse 55.

Exemple2 : Pour lire le contenu de lemplacement mmoire qui a pour adresse 54 (et qui
contient la valeur 42), la succession des oprations est la suivante :
-

dpt de ladresse (54) sur le bus dadresses,

activation de la ligne RM (read memory) du bus de commande,

la donne (42) contenue dans lemplacement mmoire qui pour adresse 54 se


retrouve alors automatiquement sur le bus de donnes.
Adresses
Mmoire

Contenu des
emplacements
Mmoire

50

---

51

---

---

---

---

---

54

42

55

33

---

---

Structure de la mmoire ram

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-7-

V1.1 Hamdi Hocine

-VI-LUNITE CENTRALE DE TRAITEMENT ou CPU


Lunit centrale de traitement ou processeur ou CPU (Central Processing Unit) est le
cerveau de l'ordinateur. Elle comprend deux parties essentielles: l'unit arithmtique et
logique (ALU) et l'unit ou organe de commande (CU), ainsi quun ensemble de registres de
travail, et de la mmoire interne auxiliaire.
L'ALU effectue les traitements cest dire toutes les oprations arithmtiques et
logiques.
L'unit de commande, comme son nom lindique, a pour rle de commander l'ALU et
les autres lments internes de l'ordinateur (principalement la mmoire). En vrit cest le
chef dorchestre de lordinateur: cest elle qui coordonne le travail des diffrents lments.
Ainsi par exemple pour effectuer laddition de deux nombres, cest elle qui ordonne au
squenceur de dposer les adresses des nombres sur le bus dadresses, ordonne la mmoire
de sortir les donnes sur le bus de donnes, ordonne lALU deffectuer laddition puis de
dposer le rsultat sur le bus de donnes.
Parmi les fabricants de processeurs les plus clbres on peut citer Intel (processeurs
80x et pentium), Motorola (processeurs 680xx), AMD (processeurs K6 et K7), Cyrix.
Le terme microprocesseur fait rfrence une miniaturisation trs pousse, il dsigne
un processeur avec un fort taux dintgration de composants (plusieurs millions de
transistors).

-VII-LE SYSTEME DEXPLOITATION

Cest un ensemble de programmes de gestion (exploitation) de lordinateur. Le


systme dexploitation accomplit principalement deux fonctions :
- il gre les ressources partages par les diffrents utilisateurs ou les diffrents
programmes dun mme utilisateur (mmoire, entres sorties, etc) ;
- il fournit un ensemble de services pour faciliter le travail de lutilisateur, par
lintermdiaire dune interface appele interface utilisateur. Le langage de commande ( ne
pas confondre avec un langage de programmation) est llment essentiel de cette interface.
Chaque systme dexploitation possde son propre langage de commande.

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-8-

V1.1 Hamdi Hocine

Le systme dexploitation est organis en couches ou en modules ayant chacun une


fonction particulire : gestion mmoire, gestion des E/S, gestion horloges, interface
utilisateur, etc En gnral une petite partie (le BIOS) est en mmoire rom et le reste en
mmoire de masse. Parmi les plus courants on peut citer VMS, UNIX, MSDOS,
WINDOWS_9X, SYSTEME 8, LINUX.

-VIII-HORLOGES ET ALIMENTATIONS
Les lments de lordinateur utilisent des tensions de travail diffrentes; un bloc
dalimentation (botier) fournit les diffrentes tensions ncessaires (+5V,-5V,+12V,-12V, ).
Les diffrents lments travaillant des vitesses diffrentes, les horloges fournissent
les frquences ncessaires chaque lment, pour que chacun travaille son propre rythme.
La frquence de base est celle du bus systme (autour de 100Mhz), les autres sont des sous
multiples ou des multiples de cette frquence, la plus leve tant celle du processeur.

-IX-NOTIONS DE BUS SYSTME ET BUS LOCAL

-1-Bus systme
Il regroupe les bus de donnes, dadresses, de commande, ainsi que les lignes (fils)
dalimentations et dhorloges. Il est disponible sur la carte mre sous forme de slots
dextension (connecteurs dupliqus) pour enficher les cartes dextension ou cartes filles.
Dans le monde du PC, lorigine il sappelait bus IBM. Puis avec le dveloppement
de la technologie et lapparition dautres constructeurs, des bus normaliss sont apparus et les
plus courants sont: le bus ISA (Industry Standard Architecture), le bus EISA (Extended ISA)
moins courant et destin aux ordinateurs serveurs, MCA (Micro Channel Architecture) pour
les ordinateurs PS/2 dIBM, PCMCIA sur les ordinateurs portables.

-2-Bus local
Cest un bus reli directement au processeur pour acclrer les transferts
dinformation. Les plus courants dans le monde du PC sont : le bus PCI (Peripheral
Component Interconnect) qui sert connecter des cartes filles et joue donc le mme rle que
le bus ISA, les bus VESA (Video Electronics Standards Association) et AGP (Accelerated
Graphics Port) ddis au transport rapide des informations graphiques, et qui servent
connecter des cartes graphiques (communment appeles cartes vido).
-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-9-

V1.1 Hamdi Hocine

-X-NOTION DE CARTE MERE (pour PC)

Cest la partie vitale de lordinateur. Cest sur cette carte que viennent se fixer les
composants lectroniques indispensables (processeurs, cartes mmoire, circuits dhorloges,
etc) et les cartes filles dextension correspondant chacune une application dtermine.
Le schma de la carte mre dun compatible PC, par exemple, reprend la structure de
base dun ordinateur donne au paragraphe I. On y remarque un certain nombre de slots ou
bus pour y enficher des cartes filles dextension, et des connecteurs relier des prises
externes par des nappes de fils pour connecter des priphriques. Sur certaines cartes mres
(Xcel2000_ATX par exemple) les nappes ont tendance tre supprimes, et les prises
externes sont directement montes sur la carte mre.
Il ny a quun nombre limit de constructeurs de cartes mres dans le monde, et la
technologie des cartes volue trs rapidement. On remarque ainsi que plusieurs fonctions
assures auparavant par des cartes filles dextension, sont devenues des standards et sont
maintenant intges la carte mre:
-

la fonction de traitements graphiques (carte graphique ou vido). Sur certaines


cartes mres on rajoute de la mmoire Ram spcifique (8Mgaoctets sur la BXpro
par exemple) appele mmoire vido, destine aux traitements graphiques. Sur
d'autres cartes cette mmoire vido est prleve sur la mmoire centrale;

la fonction multimdia: carte son compatible avec la norme Soundblaster, et


joystick pour les simulateurs et les jeux;

la fonction modem (carte fax modem) pour la tlphonie et la fonction rseau (en
gnral au standard ethernet), ne sont pas encore intgres 100% lheure
actuelle. Mme si lessentiel de ces fonctions est intgr, il subsiste quand mme
de petites cartes enfiches directement sur la carte mre dans des ports spcifiques.

Les programmes drivers (pilotes) ncessaires la configuration de la carte mre pour


lutilisation de toutes ses fonctions, sont fournis par le constructeur sur un disque compact qui
accompagne la documentation de la carte mre.

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-10-

V1.1 Hamdi Hocine

-1-BUS DEXTENSION

Les slots ou bus dextension que lon peut rencontrer sur la carte mre dun PC sont:

ISA: de couleur noire, c'est une extension du bus systme pour connecter des cartes filles
dextension. Il peut tre 8 bits ou 16 bits de donnes, et travaille la frquence de 8
mgahertz. La frquence du bus d'extension est diffrente de celle du bus systme.
EISA: identique au prcdent, il arrive 11 mgahertz, mais prsente lavantage majeur de
travailler avec un bus de donnes 32 bits, do un fort gain en vitesse.
PCI: de couleur blanche, il joue le mme rle que le bus ISA, avec lavantage de travailler
la frquence du bus systme de la carte mre (comprise entre 66 et 133 MHz).
BANK RAM ou BUS MEMOIRE: de couleur noire, ce sont les slots du bus mmoire, pour
enficher les barrettes de mmoire ram. Ces slots sont diffrents en fonction de la
technologie de la mmoire: Simm, Dimm, Edo,Rdr. Par exemple la carte mre TXpro2
possde des slots pour les mmoires Simm et Dimm.
VESA et AGP: de couleur marron, ils permettent de connecter des cartes d'applications
graphiques.
SOCKET OU BUS PROCESSEUR: On rencontre gnralement trois types de supports (ou
sockets) pour enficher le processeur dont la frquence varie aujourdh'ui entre 500 MHz et
1GHz, certaines cartes mres en possdant deux de types diffrents:
-le socket 7: support carr et de couleur marron, il est destin aux processeurs "bas de
gamme" (486DX, pentium, cyrix,amd586). On le rencontre gnralement sur des cartes
mres dont le bus systme a une frquence de 66MHz;
-le socket SLOT1: de couleur marron galement, il a une forme longitudinale et reoit "la
carte processeur", sur laquelle se trouvent le processeur, de la mmoire cache de niveau1 et
des composants d'adaptation. Il a t invent spcialement pour les processeurs pentium II et
PIII. Il quipe gnralement les cartes mres dont le bus systme a une frquence de 100MHz.
-le socket PGA 370: galement de forme carre il a une couleur blanche qui le distingue du
socket7. Il est destin recevoir des processeurs Intel-Celeron et des AMD_K6. Actuellement
les recherches d'Intel s'orientent vers ce support pour en faire un bus processeur universel.
Certains processeurs PIII de nouvelle gnration sont destins tre enfichs sur ce support.

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-11-

V1.1 Hamdi Hocine

-2-CONNECTEURS DINTERFACE

Les connecteurs disponibles en fonction du type ou de la technologie de carte mre


sont:
PWR1 et PWR2: connecteurs au format AT et ATX (cf schma de la TXPRO2) relier au
botier dalimentation qui fournit les diffrentes tensions pour la carte mre.
Alim2: ensemble de connecteurs sur la carte mre pour alimenter les boutons (marche-arrt,
reset), le haut parleur, ainsi que les voyants lumineux, disposs sur la carcasse de lordinateur.
IDE ou EIDE (EIDE: Enhanced Integrated Drive Electronics ou lectronique de commande
intgre amliore): connecteurs dinterface relier aux mmoires de masses HD (disque
dur), CD (compact disk) et DVD (digital versatile disk). Si on utilise deux mmoires de masse
sur le mme connecteur, lune devra tre configure en matre (master) et lautre en esclave
(slave) l'aide de cavaliers ("jumpers") disponibles directement sur l'extrieur du botier.
SCSII (Small Computer Systems Interface ou interface pour les sytmes de faible taille): de
mme nature que linterface IDE, elle permet cependant de grer jusqu sept phriphriques
diffrents, et de sadapter automatiquement la vitesse de chacun. De plus cest une interface
plus rapide. Elle a t utilise sur les ordinateurs personnels pour la premire fois par "Apple".
FDC (floppy disk controler): connecteur relier au lecteur de disquette.
COM: connecteurs pour les ports dinterface srie: com1(9 broches) et com2 (25 broches).
USB: connecteur pour le port dinterface srie USB (ultra synchronous bus), beaucoup plus
rapide que le port com. Il a tendance remplacer les ports Com et Centronics.
PRN: connecteur pour le port dinterface parallle au standard centronics, utilis
principalement pour connecter une imprimante.
VGA: connecteur dinterface graphique au standard VGA (video graphics adapter) pour
connecter lcran.
KBD: connecteur pour relier le clavier.
SND: connecteur multimdia pour le son (sound) avec trois prises: une pour le micro (Mic),
une pour les haut parleurs (Line Out), une pour une autre entre de signal (Line In).
JOY ou GAMES: connecteur pour un "Joystick" ou une manette de jeux.
PS2: connecteurs pour relier un clavier ou une souris au format ps2 (invent par IBM).

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-12-

V1.1 Hamdi Hocine

Schma synoptique de la carte mre TXPRO II (INTEL)

ISA1

ISA2

ISA3

SUPPORT
CPU

ALIM2

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-13-

V1.1 Hamdi Hocine

Schma synoptique de la carte mre XCEL2000AT (INTEL)

-Chapitre 1 : Structure dun ordinateur-

-Notions de structure machine-

-14-

V1.1 Hamdi Hocine

Schma synoptique de la carte mre XCEL2000ATX (INTEL)

-Chapitre 1 : Structure dun ordinateur-

-12-

-Notions de structure machine-

V1.1 Hamdi Hocine

CHAPITRE II: REPRESENTATION DES INFORMATIONS EN MEMOIRE


ET CODAGE

-I- RAPPEL SUR LES SYSTEMES DE NUMERATION.

-I-1- Principe
Tout nombre N crit dans une base b peut se mettre sous la forme:
N (b) ( N ) b = a n b n + a n1b n1 + a n 2 b n 2 + ...... + a 0 b 0 + a 1b 1 + a 2 b 2 ...... + a n b n

partie entire

partie fractionnaire

-I-2- Changement de base.

-2-1- Nombres entiers

-2-1-a- Codage: il sagit de transcrire un nombre N exprim en base dix dans une base
b quelconque. La mthode consiste procder par divisions successives par la base, on
s'arrte quand le dernier quotient est nul. Le rsultat sera donn par les restes successifs
obtenus dans l'ordre, en les crivant de droite gauche en fonction des puissances croissantes
de la base, selon la formule suivante (o n est le nombre de divisions et les Ri les restes
successifs) :
( N )b = Rnb n 1 + Rn 1b n 2 + Rn 2b n 3 + ...... + R1b 0

Exemples : - Conversion de (44)10 en base 2. On effectue 6 divisions successives (n=6) et on


aura donc 6 restes :

R6 R5 R4 R3 R2 R1

(44)10 

(1 0 1 1 0 0)2

(543)10 

(1037)8

-2-1-b- Dcodage : cela consiste crire un nombre N exprim dans une base b dans la
base dix. Le rsultat est obtenu en appliquant directement la formule donne dans le principe.
Exemple : (300) 8 = ( 3x82 + 0x81 + 0x80 )10 = 3x64 = (192)10

-Chapitre 2 : Reprsentation des informations en mmoire-

-13-

-Notions de structure machine-

V1.1 Hamdi Hocine

-2-1-c- Transcodage : il consiste transcrire un nombre N crit dans une base b1 vers
une autre base b2, b1 et b2 tant quelconques.
*Cas gnral: cette mthode est valable quelles que soient les bases b1 et b2. Un
transcodage se fera d'abord par dcodage puis par codage.
Dcodage

Codage

base b1

base 10

base b2

*Cas particuliers: Cette technique s'applique particulirement quand la base b2


correspond la base 2, et la base b1 de dpart est une puissance de 2 (b1 = 2 n ). Si on regarde
le plus grand chiffre que l'on peut crire dans la base b1, on se rend compte quil faut en effet
n bits pour coder ce chiffre en binaire. Donc chaque chiffre du nombre N sera exprim sous
la forme d'un nombre binaire ayant n bits.
Exemple :

(3)8 = (011)2
(5)8 = (101)2

(357)8 = (011 101 111)2

(7)8 = (111)2
Remarque :

Pour passer du binaire vers une base b1 qui est une puissance de 2 (b1 = 2 n ),

on regroupe les bits n par n pour obtenir N cod dans la base b1.

Exemple :

(011 101 111)2 = (357)8

*Cas du BCD : un cas particulier intressant cest quand la base b1 est gale dix.
Dans ce cas si on applique la mme mthode que prcdemment, chaque chiffre du nombre N
sera cod sur 4 bits. Le rsultat obtenu n'est pas du binaire mais du dcimal cod en binaire
(BCD pour Binary Coded Decimal). Pour marquer la diffrence avec le binaire et viter les
erreurs dinterprtation, on utilise soit une mise entre parenthses avec une indication de la
base, soit on spare chaque groupe de 4 bits par un point.

Exemple : (10)16 = (00010000)2 et (10)10 = (00010000)BCD 0001.0000

On remarque que les nombres (10)10 et (10)16 qui correspondent deux valeurs
dcimales diffrentes (10 et 16 respectivement) donnent la mme suite de bits, do lintrt
de les diffrencier.

-Chapitre 2 : Reprsentation des informations en mmoire-

-14-

-Notions de structure machine-

V1.1 Hamdi Hocine

-2-2-Nombres fractionnaires

-2-2-a-Dcodage
Pour passer dun nombre fractionnaire N crit dans une base b vers la base 10, il suffit
dappliquer la formule donne par le principe gnral (cf -I-1-).

Exemples :

(10,11)2 = 0x20 + 1x21 + 1x2-1 +1x2-2 = 0 + 2 + 0,5 + 0,25 = (2,75)10


(70,40)8 = 0x80 + 7x81 + 4x8-1 +0x8-2 = 0 + 56 + 4/8 + 0 = (56,50) 10

-2-2-b-Codage
Pour coder un nombre fractionnaire N crit en base 10 dans une base b quelconque, il
faut traiter sparment les parties entire et fractionnaire.
Pour la partie entire il faut procder par divisions successives par la base comme pour
le codage des nombres entiers.
Pour la partie fractionnaire, il faut au contraire procder par multiplications
successives par la base. Les parties entires successives obtenues constituent le rsultat, crit
dans lordre des puissances croissantes de la base.
On arrte les multiplications quand la prcision voulue est obtenue. La prcision dans
la base darrive ne peut pas tre suprieure celle de la base dpart (base10).
Exemple : coder (4,345)10 en base deux avec une prcision de 2-5 (5 chiffres aprs la virgule).
Partie entire : (4)10 = (100)2
Partie fractionnaire : (0,345)10 = (01011)2 .
En effet en procdant par multiplications successives on trouve :
0,345 x 2 = 0,690 partie entire du rsultat gale 0
0,69 x 2 = 1,38 partie entire du rsultat gale 1
0,38 x 2 = 0,76 partie entire du rsultat gale 0
0,76 x 2 = 1,52  partie entire du rsultat gale 1
0,52 x 2 = 1,04  partie entire du rsultat gale 1
Par consquent (4,345)10 = (100,01011)2 .

-Chapitre 2 : Reprsentation des informations en mmoire-

-Notions de structure machine-

-15-

V1.1 Hamdi Hocine

-II-REPRESENTATION OU CODAGE BINAIRE DES NOMBRES EN MEMOIRE

-II-1-Nombres entiers
On dit quun ordinateur traite des mots de n bits sil utilise n bits pour coder les
donnes.
Dans ce cas le plus grand nombre non sign (ou plus grande valeur absolue) que lon
peut coder est gal 2n 1 .

-1-1-Technique valeur absolue plus signe


Si on utilise des nombres signs (positifs ou ngatifs), la technique la plus simple est
de rserver un bit, sur les n disponibles, pour coder le signe. Ce bit le plus significatif (bit de
poids le plus fort) est appel bit de signe. Si le nombre est positif on met le bit de signe
zro, et sil est ngatif on le met un. Ainsi par exemple avec un codage sur 4 bits, +7 scrira
0111 et 7 scrira 1111 : 1 bit pour le signe et 3 bits (n-1=3) pour coder la valeur absolue.
Dans ce cas les plus grands nombres que lon peut coder sont + ( 2n-1 1) et - (2n-1 1).
Linconvnient de cette technique de codage est que le nombre zro est cod deux
fois : + 0 et 0. De plus lors des oprations arithmtiques, il peut y avoir dbordement sur le
bit de poids le plus fort, ce qui entrane des difficults dinterprtation du bit de signe.

-1-2- Technique du complment 2


Pour remdier ces problmes, on utilise la technique du complment 2 pour coder
les nombres ngatifs. Le complment 2 est obtenu par addition de un au complment un
(obtenu en inversant les bits de la valeur absolue : les zros deviennent des uns et vice versa).
Le complment 2 est galement appel complment vrai, et le complment un appel
complment restreint.
C2(-N) = C1(N) + 1 (o N correspond la valeur absolue).
Les plus grands nombres que lon peut coder sont alors + 2n-1 1 et - 2n-1 .

Remarques : * le complment 2 dun nombre positif est lui mme. La technique du


complment deux permet dconomiser un circuit soustracteur dans la conception des UAL.
Ainsi lopration A - B sera considre comme une addition: A+(-B). Il faut donc rajouter A
le complment 2 de (-B) ;
* dans la technique du complment deux, le zro est cod une seule fois, ce
qui libre un code (celui du 0) pour coder un nombre ngatif supplmentaire.
-Chapitre 2 : Reprsentation des informations en mmoire-

-16-

-Notions de structure machine-

V1.1 Hamdi Hocine

-1-3-Conversion du complment deux vers le dcimal


Le bit de poids le plus fort permet de dterminer le signe et la valeur de lquivalent
dcimal du nombre. Sil est gal zro, le nombre est positif et il suffit de convertir
directement en dcimal le code binaire. Sil est gal un, le code binaire correspond au
complment 2 dun nombre qui est ngatif. Pour obtenir la valeur absolue dcimale du
nombre, il faut donc appliquer une nouvelle fois le complment 2 la valeur binaire, puis
faire la conversion en dcimal, et enfin lui affecter le signe moins.

Exemple1 : nombres cods sur quatre bits.


(0011) : le bit de poids le plus fort est gal 0, donc cette srie de bits est le complment
deux d'un nombre positif. Il s'agit de +7.
(1101) : le bit de poids le plus fort est gal 1, donc cette srie de bits est le complment
deux d'un nombre ngatif. Calculons dabord le complment 2 : C2 (1101) = (0011) = 3.
Donc la suite de bits donne est le complment deux de 3.

Exemple 2: le tableau qui suit donne pour chaque srie de bits, sa signification dans les trois
techniques de codage des nombres entiers, avec un codage sur 4 bits.

Srie de bits

Equivalent dcimal

Equivalent dcimal

Equivalent dcimal

Techn.valeur absolue

Tech.val.abs.+ signe

Tech.complment 2

0000

+0

+0

0001

+1

+1

0010

+2

+2

----

--

--

--

----

--

--

--

0111

+7

+7

1000

-0

-8

1001

-1

-7

1010

10

-2

-6

----

--

--

--

----

--

--

--

1110

14

-6

-2

1111

15

-7

-1

-Chapitre 2 : Reprsentation des informations en mmoire-

-17-

-Notions de structure machine-

V1.1 Hamdi Hocine

-II-2-Nombres fractionnaires

-2-1-Technique de la virgule fixe


On rserve un nombre de bits fixe pour les parties entire et fractionnaire. Par exemple
24 bits et 8 bits respectivement, pour un nombre cod sur 32 bits. On dira alors que la
prcision est de 2-8 .
Les deux inconvnients majeurs de cette technique sont que dune part la prcision est
toujours la mme (2-8 dans lexemple), dautre part le plus grand nombre que lon peut coder
est limit ((224-1 1)= (223 1)dans lexemple). Cest pourquoi cette technique est encore
utilise uniquement sur certaines calculatrices.

-2-2- Technique de la virgule flottante


Comme son nom lindique, cette technique est inspire de lcriture dcimale avec les
puissances de 10, o lon peut dplacer sa guise la virgule et modifier en consquence
lexposant de la puissance de 10. Ainsi par exemple 123,5 peut scrire 12,35.101 = 1,235.102
= 0,1235.103 . On dit alors que 1235 reprsente la mantisse et 3 reprsente lexposant.
Sur les n bits utiliss pour le codage des nombres, on rserve m bits pour la mantisse et
son signe (mantisse en gnral purement fractionnaire), et e bits pour lexposant et son
signe (exposant en gnral cod en complment deux).
Signe
MantisseS

1 bit

Exposant
e bits

Mantisse
m-1 bits

7 bits + 1 bit signe

Rserv lextension
de la mantisse

23 bits

Ainsi dans lexemple prcdent, la prcision est gale 2-23 (car mantisse purement
fractionnaire), alors que lexposant en complment 2 cod sur 8 bits varie de 128 (-2(8-1) )
+127 (+2(8-1) 1). Ce qui donne pour valeurs extrmes des nombres Nmin = (- 0,1111). 2-128
et Nmax = (+ 0,1111). 2+127 .
23fois

23 fois

Lintrt de la technique de la virgule flottante est donc double : dune part pour le
mme nombre de bits que pour la virgule fixe, on augmente de manire considrable la
prcision, dautre part le nombre le plus lev que lon peut coder est beaucoup plus grand.

-Chapitre 2 : Reprsentation des informations en mmoire-

-18-

-Notions de structure machine-

V1.1 Hamdi Hocine

-III- CODAGE DES CARACTERES


Le codage de l'information est effectu pour faciliter la communication et la
transmission de l'information, soit l'intrieur d'un ordinateur, soit entre plusieurs ordinateurs,
soit entre un ordinateur et des priphriques. Les codes les plus utiliss sont le code Baudot et
le code ASCII.

-III-1- Code CCITT n 2 (code Baudot) ou code tlgraphique


Ce code invent par Baudot a t normalis par le CCITT (Comit Consultatif
International du Tlgraphe et du Tlphone). Il est destin aux communications
tlgraphiques (do le nom de code tlgraphique). Il est aussi connu sous le nom de code
cinq moments car les caractres (chiffres, lettres, symboles etc) sont cods sur 5 bits.
A chaque caractre alphanumrique on associera donc un code sur 5 bits. Avec cinq
bits on peut obtenir 25 = 32 codes possibles. Sur les trente-deux codes deux sont rservs pour
des caractres de contrle: lun (1Bhex) pour indiquer que ce qui suit est une srie de chiffres,
et l'autre (1Fhex ) pour indiquer les lettres. Les trente codes qui restent sont attribus 2 fois :
une fois pour les chiffres et une fois pour les lettres. Avec cette technique on peut donc coder
soixante caractres car un mme code peut dsigner une lettre ou un chiffre. Par exemple le
code 01hex peut dsigner le chiffre 5 ou la lettre T, et 1Chex dsigne le chiffre 7 ou la lettre U.
Ainsi pour la transmission de la chane de caractres

T O T O 5 9 O U 7 9 , la srie de

codes transmettre est : 1F 01 03 01 03 1B 01 03 1F 03 1C 1B 1C 03 (on remarquera les


deux caractres de contrle avant chaque passage de lettre chiffre et vice versa).
Lors de la transmission chaque groupe de 5 bits (reprsentant linformation utile dun
caractre) est encadr par deux bits : un bit de dbut de caractre (start) et un bit de fin de
caractre (stop).
Remarque : quand on crit les 32 codes hexadcimaux en binaire, on remarque que les 3 bits
de poids les plus forts sont toujours zro. On peut donc les supprimer pour obtenir un
codage sur 5 bits.
Bien que ce code fut rvolutionnaire au moment de son invention, et prsente
lavantage de gnrer un faible volume dinformation transmettre (en nombre de bits), il
prsente cependant trois inconvnients majeurs :
- le nombre de caractres coder est trs limit,
- on ne prend en compte que les caractres majuscules,
- ce code est peu structur (l'ordre logique dattribution des numros de code est difficile
comprendre) donc difficile apprendre.
-Chapitre 2 : Reprsentation des informations en mmoire-

-19-

-Notions de structure machine-

V1.1 Hamdi Hocine

CODE

CODE ASCII

LETTRES

CHIFFRES

BAUDOT

18

41

2D

13

42

3F

0E

43

3A

12

44

--

10

45

33

16

46

--

0B

47

25

05

48

--

0C

49

38

1A

4A

--

H
I

code Lettres

code Chiffres

1E

4B

28

09

4C

29

07

4D

2E

06

4E

2C

03

4F

39

0D

50

30

1D

51

31

0A

52

34

14

53

27

01

54

35

1C

55

37

0F

56

3D

19

57

32

17

58

2F

15

59

36

11

5A

2B

CR (retour chariot)

02

0D

--

LF (saut de ligne)

08

0A

--

SP (espace)

04

20

--

Initialisation des communications

00

--

--

Code chiffres

1B

--

--

Code lettres

1F

--

--

Tableau des codes Baudot et ASCII

-Chapitre 2 : Reprsentation des informations en mmoire-

-20-

-Notions de structure machine-

V1.1 Hamdi Hocine

-III-2- Code CCITT n5 (ou code ISO) et code ASCII


Pour faciliter les changes internationaux dinformation, lISO (International Standard
Organization) a normalis la proposition amricaine ASCII (American Standard Code
Information Interchange), ce qui a donn le code ISO ou version internationale de rfrence.
C'est un code 7 bits (chaque caractre est cod sur 7 bits). Le huitime bit peut tre
utilis soit comme bit de parit pour la protection contre les erreurs de transmission, soit pour
lextension des caractres graphiques (codage de 128 caractres supplmentaires).
On peut donc coder 27 = 128 caractres. Ces caractres se rpartissent en deux groupes
principaux : les caractres de commande ou contrle forment le premier groupe (codes variant
de 00hex 1Fhex). Les caractres nationaux ainsi que les caractres alphanumriques et les
symboles graphiques constituent le groupe 2 (codes variant de 20hex 7Fhex).
-2-1-Code ISO et code ASCII
Dans le tableau de base international certaines positions ont t figes, dautres ont t
laisses au choix entre deux possibilits, et enfin dix positions ont t rserves aux caractres
nationaux. Le code ISO correspond au tableau de base international dans lequel un choix a t
effectu concernant les positions libres ou au choix (cf tableau). Le code ASCII diffre du
code ISO (pour le groupe 2) uniquement par trois codes, pour lesquels le choix des caractres
fait par lISO est diffrent du choix amricain. Il y a donc une diffrence de 6 caractres.
Code

Tableau de base Code ISO

Code ASCII

Hexadcimal international

Version

Signification

franaise

du symbole

23

ou #

24

$ ou

40

Libre

5B

Libre

5C

Libre

5D

Libre

5E

Ev.libre

60

Ev.Libre

7B

Libre

7C

Libre

7D

Libre

7E

Ev.libre

montaire

degr

paragraphe

micro

trma

-Chapitre 2 : Reprsentation des informations en mmoire-

-21-

-Notions de structure machine-

V1.1 Hamdi Hocine

-2-2- Caractres de commande ou de contrle


Les caractres de contrle ou de commande (groupe 1) sont des caractres non
imprimables dont les codes varient entre 00hex et 1Fhex. Ils se rpartissent en cinq catgories
ou sries.
-2-2-a-Srie TC (Commandes de Transmission ) : on trouve ici dix caractres rservs
au contrle des transmissions, dont ceux marquant le dbut (SOH) et la fin (ETB) du bloc, le
dbut (STX) et la fin (ETX) du texte, la fin de transmission (EOT) et le caractre
dchappement (DLE : Data Link Escape).

-2-2-b-Srie FE (mise en page) : six caractres LF (Line Feed ou saut de ligne), CR


(Carriage Return ou retour au dbut de ligne), FF (Form Feed ou saut de page), HT,VT,
(tabulations horizontale et verticale), BS (Back Space ou retour arrire dun caractre).

-2-2-c-Srie DC (commandes de priphrique) : 4 caractres DC1 DC4.

-2-2-d-Srie IS (Sparateurs dInformation) : 4 caractres IS1 IS4.

-2-2-e-Commandes particulires : au nombre de 8, ces caractres sont : ESC (escape),


NUL, SO (Shift Out ou hors code), SI (Shift In ou en code), BEL (sonnerie), CAN (cancel ou
annulation), EM (End of Medium ou fin de support), SUB (substitute).

Remarque : le caractre de commande DEL (delete) a pour code 7F.

-2-3- Bits de parit, start et stop


Les codes ISO et ASCII sont des codes 7 bits, le 8bit (bit de poids le plus fort) peut
tre utilis comme bit de parit : il indique le nombre de bits un dans le code du caractre.
Ce bit peut servir la dtection locale (au niveau caractre) des erreurs de transmission.
La parit peut tre choisie de type paire ou impaire. Dans la parit paire, si le nombre
de bits 1 est un nombre pair, le bit de parit (bp) est mis zro, et il est mis un si ce
nombre est impair. Dans la parit impaire on effectue linverse (un et zro respectivement).
Pour la transmission les bits de chaque caractre sont encadrs par un bit de start et un
ou deux bits de stop. Ces bits ont une valeur fixe prdtermine. On transmet dabord le bit de
start, puis les 7 ( ou 8) bits du code en commenant par le bit de poids le plus faible, et enfin
le(s) bit(s) de stop.
-Chapitre 2 : Reprsentation des informations en mmoire-

-22-

-Notions de structure machine-

V1.1 Hamdi Hocine

Remarque :quand la ligne de communication est au repos, elle est ltat logique 1. Ainsi on
peut dtecter une coupure de la ligne de transmission si elle reste ltat logique zro pendant
longtemps. En gnral le bit de start est ltat logique zro (bstart = 0) pour permettre la
dtection du dbut de la transmission (changement dtat par rapport au repos). Quant au bit
de stop il est ltat logique un (bstop = 1) pour ramener la ligne de transmission son tat de
repos (tat logique un), et dtecter ainsi le dbut de la transmission dun nouveau caractre.
Dans tous les cas, lmetteur et le rcepteur dcident dun commun accord du mode de
communication choisi : avec ou sans bit de parit, un ou 2 bits de stop. La transmission
asynchrone (caractre par caractre) standard utilise 8 bits, sans parit, 1 bit start et 1 bit
stop.

Exemple : Donner la srie de bits transmise lors de la transmission des caractres A et C


cods en code ISO, avec 1 bit de parit (impaire), 1 bit start et 2 bits stop.
Caractre A : code hexadcimal 41  srie de bits correspondante : 100 0001.
Le nombre de bits 1 est pair , comme on utilise la parit impaire  bit de parit = 1.
La srie de 8 bits du caractre A sera alors 1100 0001.
Caractre C : code hexadcimal 43  srie de bits correspondante : 100 0011
Le nombre de bits 1 est impair, comme on utilise la parit impaire bit de parit =0
La srie de 8 bits du caractre C sera alors 0100 0011.
Transmission : on encadre les 8 bits (7bits + bit de parit) de chaque caractre par un bit de
start (gal zro) et deux bits de stop (gaux 1), puis on transmet les bits dans lordre de
droite gauche.
Disposition des bits du caractre : bit stop . bit stop . bit parit . code 7 bits . bit start
Bits transmis pour le caractre A :

1000001

0 .

Bits transmis pour le caractre C :

1000011

0 .

-III-3- Code EBCDIC


Cest un code 8 bits driv du code BCD (Extended BCD Interchange Code), donc
sa logique de numrotation est celle du BCD. Invent par IBM en 1964 pour ses ordinateurs,
il a t trs longtemps utilis par les autres constructeurs dordinateurs. Mais de nos jours il
nest gure utilis et on lui prfre le code ASCII .

-Chapitre 2 : Reprsentation des informations en mmoire-

-23-

-Notions de structure machine-

V1.1 Hamdi Hocine

TD CHAPITRE 2 : REPRESENTATION DES INFORMATIONS EN MEMOIRE


ET CODAGE

-I-RAPPELS SUR LES SYSTEMES DE NUMERATION : CONVERSIONS


1Rappels de cours
-1-1- Dfinition dune base
-1-2-Que dsignent les termes bit, quartet, octet, mot ?
2Conversions
2-1-Nombres entiers

Solutions

-a-(102)3( ? )10

(11)10

-b-(321)10 ( ?)4

(11001) 4

-c-(543)10 ( ?)8

(1037) 8

-d-(22)16 ( ?) 8

(42) 8

-e-(16)7 ( ?) 3

(111) 3

-f-(7F)16 ( ?) 8

(de deux mthodes diffrentes) solution (177) 8

-g-(177)8 ( ?) 16

(7F) 16

-h-(7F)16 ( ?) BCD

(0001.0010.0111) BCD = (127) 10

-2-2-Nombres fractionnaires

Solutions

-a-DcimalBinaire : (9,375) ( ?)

(1001,011)

(4,345)10 ( ?)
-b-BinaireDcimal : (101,101) ( ?)

(100,01011)2 .
(5,625)

-II-REPRESENTATION DES NOMBRES EN MEMOIRE


-3Nombres entiers
-3-1-Codage : En utilisant un codage sur 5 bits, donner lquivalent binaire des
valeurs dcimales suivantes, pour chacun des trois codes tudis (Valeur Absolue Sans Signe,
Valeur Absolue plus Signe, Complment 2) :

+7,+9,+13,-7,-9,-13

-3-2-Dcodage : Considrons chacune des chanes de bits suivantes. Si elle


correspond un codage dun nombre dans chacun des trois codes prcdemment cits, donner
pour chaque chane les trois valeurs dcimales dont cest le code. (00111), (10000), (11111),
(10001)

-Chapitre 2 : Reprsentation des informations en mmoire-

-Notions de structure machine-

-24-

V1.1 Hamdi Hocine

-4-Nombres fractionnaires
-41-Technique de la virgule fixe : Si on utilise 16 bits pour coder les nombres, dont
12 pour la partie entire et 4 pour la partie fractionnaire, donner la prcision, et les valeurs
Nmin et Nmax des nombres que lon peut coder.
-4-2-Technique de la virgule flottante : Si on utilise 16 bits pour coder les nombres
( 4 pour lexposant et 12 pour la mantisse), donner la prcision, les valeurs Nmin et Nmax des
nombres que lon peut coder.

-III-OPERATIONS ELEMENTAIRES EN ARITHMETIQUE NON SIGNEE


-5Addition -5-1-Binaire: dfinir les notions de Carry (retenue) et Overflow (dbordement)
-5-2-Hexadcimal : Faire laddition de (23)16 et (E9)16 de 2 mthodes
diffrentes (directement et en passant par le binaire).
-5-3-BCD : Additionner 0010.1001 et 0001.0101, puis donner lquivalent
dcimal du rsultat.
-6-Soustraction binaire par la mthode du complment 2: effectuer en binaire les
oprations 13 -5 et 5 13.
-7-Multiplication et division binaire par une puissance de 2: montrer qu'on peut le faire
par dcalages successifs gauche ou droite.

-IV-CODAGE , TRANSMISSION ET IMPRESSION


-8-1-Donner la chane de bits correspondant au message suivant : TZ 58K , lors de sa
transmission en code Baudot.
-8-2-Mmes questions que pour lexercice 8-1, si le codage seffectue en code ISO, avec
pour la transmission : b.p. impaire + 1b.start + 2b.stop.
-9-Considrons le message suivant envoyer dun micro vers une imprimante :
AID SP LF 98 SP CR 1 SP A SP 2 SP MILLIONS LF PAR SP MOUTON? CR SP SP ON
SP DELIRE ?
SP = space (espace) ; LF = Line Feed (saut de ligne) ; CR = Carriage Return (retour chariot).
9-1-Donner pour chacun des 4 codes connus, le nombre de bits total ncessaire pour
coder ce message.
9-2-Si le message est transmis en mode asynchrone non standard (bp paire + 1b.start
+ 2b.stop), donner le nombre de bits total reu par limprimante pour chacun des 4 codes.
9-3-Donner la forme du message tel quil apparat sur papier aprs impression par
limprimante.
-Chapitre 2 : Reprsentation des informations en mmoire-

-Notions de structure machine-

-25-

V1.1 Hamdi Hocine

CHAPITRE III : LES MEMOIRES


-I-LA MEMOIRE CENTRALE
-1-Dfinitions
La mmoire centrale est une suite demplacements ou de positions mmoire, ayant
tous le mme nombre de bits (8, 16, 24 , 32 ). Cest la plus petite partie de mmoire laquelle
on peut accder pour une opration de lecture ou dcriture. Chaque emplacement mmoire
est repr par un numro appel adresse mmoire.
Une mmoire peut tre organise en octets (bytes) ou en mots. La taille dun mot
varie dun ordinateur un autre et dpend troitement de la taille des donnes traites par le
processeur. La capacit ou taille dune mmoire sera donc exprime en octets ou en mots,
selon son mode dorganisation.
Exemple : comparer la taille en bits de deux mmoires, lune de 4 mgaoctets et lautre de
512 kilomots de 64 bits chacun.
Il est remarquer au pralable quen binaire 1 kilo vaut 1024 et non pas 1000.
1K1kilo =1024 = 210 103

1Mga1M= 1K x 1K = 220 106 .

4Mo = 4 M x 8 bits = 22 x 220 x 23 bits = 225 bits


512 kilomots de 64 bits = K x K x 64 bits = 2-1 x 210 x 210 x 26 bits = 225 bits.
Les deux mmoires ont donc la mme taille exprime en bits.
-2-Principales caractristiques
-a-Stockage des donnes
La ram tant une zone de travail et de stockage temporaire, on peut donc y trouver les
programmes excuter (ils sont chargs de la mmoire de masse dans la ram pour y tre
excuts) ainsi que les donnes traiter (nombres, caractres, chanes de caractres), le tout
cod en binaire.
En gnral on utilise 8 bits pour coder les caractres, 16 32 bits pour les nombres
entiers, et de 32 64 bits pour les nombres en virgule flottante. Une mmoire organise en
octets est donc bien adapte pour stocker des caractres, alors que la mmoire organise en
mots est mieux adapte pour le stockage des nombres, chacune pouvant et devant bien
entendu stocker les deux types de donnes. Cest pourquoi les ordinateurs dits
scientifiques qui sont destins faire presque exclusivement des calculs ont une mmoire

-Chapitre 3 : Les mmoires-

-26-

-Notions de structure machine-

V1.1 Hamdi Hocine

organise en mots, alors que les ordinateurs gnralistes ont une mmoire organise en
octets.
Il existe deux techniques de stockage et de lecture des informations en mmoire :
big endian et little endian .
Pour stocker une donne dans la technique big endian, on commence par lcriture des
bits de poids les plus forts de la donne dans les positions des bits de poids les plus forts de
lemplacement mmoire.
Dans la seconde technique on fait linverse, cest dire quon traite les bits de poids
les plus faibles en premier.

Exemple : on dsire stocker successivement en mmoire le caractre a , le nombre entier


b , et la chane de caractres fgh . Chaque caractre sera cod sur 8 bits, et le nombre
entier cod sur 32 bits. Les bits du caractre a seront nots a1 a8 , ceux de b de b1 b32 ,
etc Donner la chane de bits dans les 2 techniques de stockage.

@ NUMEROS DES BITS

@ NUMEROS DES BITS

00 --

--

--

--

--

--

--

--

00 --

--

--

--

--

--

--

--

01 a8

a7

--

--

--

a3

a2

a1

01 a8

a7

--

--

--

a3

a2

a1

02 b8

b7

--

--

--

b3

b2

b1

02 b32 b31 --

--

--

b27

b26

b25

03 b16 b15 --

--

--

b11

b10

b9

03 b24 b23 --

--

--

b19

b18

b17

04 b24 b23 --

--

--

b19

b18

b17

04 b16 b15 --

--

--

b11

b10

b9

05 b32 b31 --

--

--

b27

b26

b25

05 b8

--

--

--

b3

b2

b1

06 f8

--

--

--

f3

f2

f1

06 f8

--

--

--

f3

f2

f1

b7

07 g8

g7

--

--

--

g3

g2

g1

07 g8

g7

--

--

--

g3

g2

g1

08 h8

h7

--

--

--

h3

h2

h1

08 h8

h7

--

--

--

h3

h2

h1

09 --

--

--

--

--

--

--

--

09 --

--

--

--

--

--

--

--

Technique Little Endian

Technique Big Endian

Disposition des bits pour une mmoire organise en octets

On remarque que pour la mmoire organise en octets, le stockage dun caractre ou


dune chane de caractres donne le mme rsultat dans les 2 techniques.

-Chapitre 3 : Les mmoires-

-27-

-Notions de structure machine-

V1.1 Hamdi Hocine

On remarque galement que dans le cas dune mmoire organise en octets, on est
amen regrouper plusieurs emplacements pour reprsenter un nombre ou une chane de
caractres. Ladresse du nombre ou de la chane est celle du premier emplacement quelle
occupe. On dira ainsi que ladresse du nombre b est 02 et ladresse de la chane fgh est 06.

@ NUMEROS DES BITS

@ NUMEROS DES BITS

32---25 24---17 16 ----9 8 ---- 1


00 ----

----

----

01

32---25 24---17 16 ----9 8 ---- 1

----

00 ----

a8-----a1

01 a8-----a1

02 b32----b25 b24----b17 b16-----b9 b8------b1

----

----

02 b32----b25 b24----b17 b16-----b9 b8------b1

03

h8------h1 g8------g1 f8------f1

03 f8-------f1 g8------g1 h8------h1

04 ----

----

04 ----

----

----

Technique Little Endian

----

----

----

----

Technique Big Endian

Disposition des bits pour une mmoire organise en mots de 32 bits

On remarque ici galement, que pour le nombre entier cod sur 32 bits, dans le cas
dune mmoire organise en mots de 32 bits, le rsultat est le mme dans les 2 techniques de
codage. Cela confirme bien que chaque organisation de mmoire est mieux adapte pour un
type de donnes.

On observe enfin que dans le cas dune mmoire organise en mots, il y a une perte
despace et un fractionnement de la mmoire: ds quon crit une donne dans un
emplacement mmoire, mme si la donne ne fait quun bit, les bits (de lemplacement)
inutiliss sont perdus et on ne peut rien y crire dautre.

-b-Unit dinformation change et contrleur de mmoire


Lunit dchange dinformations entre le processeur et la mmoire est lemplacement
mmoire. Quand le processeur lit (ou crit en mmoire), on transfre soit le contenu dun
emplacement mmoire (si la donne occupe un seul emplacement mmoire), soit le contenu
de plusieurs emplacements mmoire (si la donne occupe plusieurs emplacements). Il faut
dans ce dernier cas indiquer la mmoire le nombre demplacements que lon doit transfrer.
Do la ncessit dun contrleur de mmoire (en plus du systme de stockage) qui soccupe
de ces problmes de gestion .

-Chapitre 3 : Les mmoires-

-28-

-Notions de structure machine-

V1.1 Hamdi Hocine

Mmoire centrale
Systme de stockage

Processeur

Buffers tampons

Bus de commande

Contrleur de mmoire

Bus de donnes
Bus dadresses

Dans le cas dune donne occupant plusieurs emplacements mmoire, ladresse


transmise au contrleur est ladresse du premier emplacement. Dautres signaux indiquent, si
ncessaire, la taille de la donne (en nombre demplacements mmoire).

-c-Temps de cycle de la mmoire


Les performances de lordinateur sont conditionnes par la vitesse de la mmoire
centrale qui est trs faible devant celle du processeur. La vitesse de la mmoire dpend surtout
de sa technologie de fabrication (ttl, cmos, bicmos, ecl, rdr, etc).
Temps daccs la mmoire : cest le temps qui scoule entre le moment o le contrleur
dclenche une demande daccs (en lecture ou en criture) au systme de stockage, et
linstant o cette opration est termine. Ce temps varie entre 6 et 200 nanosecondes.
Temps de cycle mmoire : cest le temps entre deux demandes daccs conscutives du
processeur la mmoire. Il dpend galement de la vitesse du bus mmoire et de
larchitecture gnrale de lordinateur. Ce temps de cycle est de lordre de 1 3 fois le temps
daccs.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-29-

V1.1 Hamdi Hocine

Notion de bus mmoire : cest lensemble des lignes dalimentation de la mmoire, des bus de
donnes et dadresses, et des lignes du bus de commande destines la mmoire. On parle
parfois du temps de cycle du bus (Bus Cycle Time) o tous les lments interviennent, en
particulier la taille du bus de donnes qui joue un rle important. Pour acclrer les
traitements, on rajoute des buffers tampons (registres intermdiaires) au contrleur de
mmoire.

-3-Espace adressable
Si le bus dadresses comporte n bits, on peut donc adresser 2n emplacements mmoire
(chaque emplacement faisant un octet ou un mot). Lespace adressable est alors de
2n adresses.
-a-Espace dadresses physique et capacit de la mmoire centrale
Le processeur dpose sur le bus dadresses l'adresse physique (ou relle) de la donne.
Cette adresse correspond soit un emplacement en mmoire centrale, soit une adresse
d'unit d'entre/sortie.
Si le bus dadresses est rserv uniquement la communication entre le processeur et
la mmoire centrale, toute adresse sur le bus est une adresse mmoire. Si d'autres units sont
connectes sur le mme bus on distingue deux cas:
- soit c'est la valeur mme de l'adresse qui indique s'il s'agit d'une adresse mmoire ou d'une
adresse externe (par exemple adresses hautes pour E/S et basses pour la mmoire),
-

soit une ligne spciale du bus indique la nature de l'adresse transmise: adresse mmoire ou
adresse d'entre/sortie (par exemple bit = 0 pour adresse E/S et 1 pour adresse mmoire).
Espace de mmoire

Espace
dentre/sortie

limite

de

Premier cas : toutes les adresses

lespace

sur le bus sont destines la

adressable

mmoire

centrale.

On

utilise

dautres lignes pour les units


dE/S.
limite

de

Deuxime

cas :

les

adresses

lespace

peuvent concerner la mmoire

adressable

centrale ou les E/S.

-Chapitre 3 : Les mmoires-

-30-

-Notions de structure machine-

V1.1 Hamdi Hocine

-b-Adresse physique et adresse logique


Une adresse physique est l'adresse d'un emplacement qui a une existence relle
(physique). Dans les programmes on utilise des noms symboliques pour les emplacements
mmoire contenant des instructions. Ces adresses symboliques ou logiques s'appellent
tiquettes ( label ). Les noms de variables (x, y, a, b) sont aussi des noms symboliques qui
dsignent des emplacements mmoire dont le contenu peut varier pendant l'excution du
programme.
nligne Label ou Mnmonique
tiquette
1
a_prt :
SAUT,E

oprande ou Signification
adresse
lire_a
Si E est vrai, aller lire_a

a_prt

SAUT
lire_a :

ENTREE

STOCKER

ENTREE

STOCKER

FIN

Aller a_prt
Lire a sur le priphrique dentre

Mettre a en mmoire
Lire b sur le priphrique dentre

Mettre b en mmoire

Exemple de programme en langage assembleur de lordinateur virtuel mimosa

Les lignes 3 et 4 du programme de lexemple prcdent permettent de lire la valeur de


la variable a dans le tampon dentre, et de stocker cette valeur dans un emplacement
mmoire, appel justement a (adresse symbolique ou logique). La ligne 1 teste si la
variable E est vraie (gale 1), dans le cas positif on saute la ligne dinstruction ayant pour
nom dtiquette lire_a (adresse symbolique).
Au cours de la traduction d'un programme source en un programme excutable (par un
assembleur dans le cas du programme en langage assembleur prcdent), on affectera des
adresses mmoire (emplacements mmoire) toutes les rfrences symboliques dsignant une
variable ou une adresse d'instruction (tiquette). La traduction ou conversion d'adresse
logique en adresse physique ( adress translation ) dfinit le mappage mmoire ( mapping
memory ), c'est--dire une correspondance entre l'adresse logique ou virtuelle et la mmoire
physique. Le mcanisme retenu pour raliser ce mappage constitue un aspect important de
l'architecture d'un ordinateur et de son systme d'exploitation.
Remarque : Des circuits intgrs (MMU: memory management unit) ont mme t
dvelopps pour amliorer (faciliter et acclrer) la gestion mmoire.
-Chapitre 3 : Les mmoires-

-31-

-Notions de structure machine-

V1.1 Hamdi Hocine

-c-Structure de lespace adressable et notion de segment de programme


Lorsque l'espace adressable est constitu d'une seule suite d'emplacements dont les
adresses logiques sont conscutives, on dit que l'on a un espace adressable linaire. Si cet
espace est dcoup en pages qui ont toutes la mme taille (valeur qui varie de 512 octets 4
kilooctets), on parle alors de mmoire pagine. Ladresse logique dune donne est alors
constitue de deux parties : un numro de page virtuelle et un dplacement lintrieur de la
page. Il en est de mme pour la mmoire physique qui est galement dcoupe en pages de
mme longueur. Le mcanisme de traduction dadresses (correspondance entre adresses
logique et physique) passe par une table des pages dont chaque ligne correspond une page et
donne une description de cette page : numro de page physique, indicateur dtat (page
prsente ou absente en ram), indicateurs de protection (autorisations daccs en lecture,
criture,).
Lorsque l'espace adressable est segment, il est alors constitu d'un ensemble de
segments de longueur variable. Une adresse logique comprend alors deux parties: un
numro de segment est un dplacement l'intrieur du segment ou offset. En gnral dans un
programme on rencontre le segment de code (rserv aux instructions) et le segment de
donnes. On peut mme dcouper un programme en procdures ou sous-programmes, chacun
de ces derniers correspondant un segment de programme qui lui mme peut tre constitu de
segment de code et de segment de donnes. D'o la ncessit de protger la mmoire contre
les intrusions : un programme ne peut accder qu' son propre segment de donnes (zone
prive) ou celui qu'il partage avec d'autres programmes (zone publique).
numros
offsets

emplacements
mmoire

0
1

numros de
pages (ou
segments)
0
Ladresse de lemplacement mmoire qui
contient la donne 5F est (1,2) : numro de
page (ou segment) suivi de loffset.

0
1
2

5F

3
0
1

2
---

----

-Chapitre 3 : Les mmoires-

-32-

-Notions de structure machine-

V1.1 Hamdi Hocine

-d-Objectifs du mappage mmoire


L'allocation mmoire aux donnes et aux programmes est effectue par le systme
d'exploitation et des dispositifs matriels tels que le MMU.
En plus de la traduction des adresses logiques en adresses physiques, le mappage
mmoire a deux autres objectifs: rendre possible une utilisation optimale de la mmoire
physique, et donner une assistance dans la protection de la mmoire. Le mcanisme de
traduction d'adresses peut rencontrer deux types de problmes:
-Espace adressable infrieur la taille physique de la mmoire centrale: c'est le cas pos par
les ordinateurs PC cause de la compatibilit ascendante qui a ncessit de garder le mme
nombre de bits (20) sur le bus d'adresses, ce qui limite la taille de la ram 1M emplacements
(= 1 Moctets), alors que la taille relle de la mmoire physique installe est de plus en plus
grande (au del de la centaine de mgaoctets). D'o la ncessit d'installer un mcanisme
d'extension d'adresses, pour utiliser la mmoire supplmentaire disponible, qui peut tre de
type hard (matriel : on utilise un registre dextension dadresses ou on rajoute des lignes
au bus d'adresses) ou soft (logiciel: par exemple programme EMM386. exe pour msdos).
-Espace adressable suprieur la taille de la mmoire centrale: c'est le cas que lon
rencontre avec les gros programmes qui ne peuvent pas tre excuts sur la mmoire physique
installe (cas des premiers PC avec une ram de 64 Ko). A la technique la plus simple appele
recouvrement de segment ou overlay (qui optimise lutilisation de la mmoire centrale en ne
chargeant en mmoire que le segment de programme ncessaire un instant donn) a succd
la technique plus complique de la mmoire virtuelle (on utilise une partie du disque comme
mmoire ram virtuelle).
Il est remarquer que dans les deux cas les oprations s'effectuent de manire
transparente pour lutilisateur.
-4-Hirachie de mmoire
-a-Notion de hirarchie de mmoire
Dans un ordinateur on rencontre diffrentes catgories de mmoire. Plus on se
rapproche du processeur, plus la vitesse de la mmoire augmente et plus limportance de cette
mmoire augmente (elle gravit un chelon dans la hirarchie). Il faut donc trouver un
compromis entre la vitesse et la capacit de chaque mmoire cause du prix lev des
mmoires rapides.
Processeur

Mmoire
Interne
Trs Rapide

adresses
donnes

Petite
Mmoire
Rapide

adresses
donnes

Grande
Mmoire
Lente

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-33-

V1.1 Hamdi Hocine

-b-Antmmoire ou mmoire cache


Pour acclrer les traitements du processeur on insre entre ce dernier et la mmoire
ram de la mmoire de mme nature en petite quantit appele antmmoire ou mmoire
cache. Cette dernire est de cinq dix fois plus rapide que la ram ordinaire (ordres de
grandeurs des temps de cycles : cpu : 2ns, antmmoire : 100ns, ram :500ns).
On utilise la mmoire cache pour les donnes fixes auxquelles on accde souvent.
Quand le processeur met une requte pour accder une donne en mmoire centrale, on
regarde d'abord si le bloc contenant l'information se trouve dans l'antmmoire. Si oui l'accs
se fait uniquement l'antmmoire. Sinon le bloc contenant l'information est transfr de la
mmoire centrale vers la mmoire cache. Ainsi si la prochaine fois on a besoin d'accder la
donne suivante, il y a une grande probabilit quelle appartienne au mme bloc, car les
donnes sont souvent stockes de manire squentielle (les unes la suite des autres).
De la mme manire, quand le processeur crit des rsultats en mmoire, ils sont crits
en mmoire cache . Comme lutilisateur ne voit pas cette antmmoire qui est cache pour lui,
quand il demande une sauvegarde (sur disque) des rsultats, en fait il va sauvegarder le
contenu de la RAM. Il faut donc au pralable transfrer le contenu de lantmmoire dans la
ram, il y a deux manires de transfrer ce contenu : lcriture immdiate (write through) et
lcriture diffre dans le temps (write back), cest dire quand le processeur est libre.
Lutilisation de la mmoire cache (comme auxiliaire de la ram) augmente la vitesse
des traitements, et on peut quantifier cette amlioration des performances. Ainsi si par
exemple la ram et lantmmoire ont un temps de cycle respectivement de 500ns et 100ns, et
si on suppose un taux de russite moyen de 80% (cest dire quand le processeur veut
accder une information en mmoire, il la trouve dans 80% des cas dans lantmmoire, et
pour les 20% restants il ne la trouve pas et doit en plus accder la ram), le nouveau temps de
cycle de la mmoire ou temps de cycle apparent est de : 80% x 100 + 20% x (500 + 100) =
80 + 120 = 200ns. Le gain relatif en vitesse est de ( |200 500| ) / 500 = 0,6 soit 60% .
Remarque :
*Pendant le temps o les donnes schangent entre la mmoire RAM et la mmoire
cache, le processeur nest pas interrompu (lexcution du programme continue), car ce temps
de transfert est trs court.
*Linconvnient de lcriture diffre est quen cas de coupure secteur, les
informations en mmoire cache seront perdues, alors que si lutilisateur a dj demand une
sauvegarde, en fait il n'a sauvegard que le contenu de la ram, et non pas les dernires valeurs
de ses donnes qui n'ont pas encore t transfres de l'antmmoire vers la ram.
-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-34-

V1.1 Hamdi Hocine

-c-Mmoire Virtuelle
Cette technique permet de rsoudre le problme de taille physique de mmoire ram
infrieure lespace dadresses logiques (cas des gros programmes et de petite ram).
On place tout ou une partie de lespace adressable sur disque. Les programmes de
lutilisateur ne sont plus limits par la taille de la ram, mais par lespace disponible en
mmoire de masse. On peut dire que la ram se comporte comme une antmmoire pour la
mmoire virtuelle sur disque.
Associe la pagination, la technique de la mmoire virtuelle consiste changer
dynamiquement des pages entre la mmoire virtuelle (espace dadresses logique) et la
mmoire centrale (espace physique), et cela en fonction des besoins du programme en cours
dexcution. Ces changes de pages sont effectus par un programme appel gestionnaire de
pages.
La stratgie dappel de page la demande sappelle swapping. A chaque appel une
adresse logique du programme, on vrifie dabord si la page qui contient ladresse physique
correspondante se trouve en mmoire centrale, en faisant appel au buffer ou tampon de
traduction dadresses. Si oui on peut continuer lexcution du programme. Si non, on dit
quil sest produit un dfaut de page (page fault). Le systme de mappage mmoire envoie un
signal dinterruption au processeur (le processeur sarrte de travailler), et lexcution du
programme est alors suspendue, en attendant que le gestionnaire de pages ramne la page
demande de la mmoire virtuelle vers la ram. Le processeur est ensuite de nouveau activ
pour quil continue lexcution du programme.
Contrairement au cas de la mmoire cache, la nouvelle mmoire (mmoire virtuelle)
est ici plus lente que la mmoire ram. Par consquent on a un ralentissement des traitements.
On peut quantifier le ralentissement introduit par la technique de mmoire virtuelle
(associe la pagination). Considrons par exemple une mmoire ram de temps de cycle
500ns, et un tampon de traduction dadresses de temps de cycle 100ns, et un disque dur de
temps de cycle 20 ms. Si on suppose que le taux de russite est de 80%, cest dire que 8 fois
sur 10, quand le processeur veut accder une donne, il accde au tampon o la traduction
de ladresse logique lui fournit une adresse physique en ram ; il accde alors la donne en
ram. Dans les 20% des cas qui restent, l'adresse logique ne possde pas d'quivalent physique
en ram (la donne n'est pas en ram). Il accde alors au disque dur (mmoire virtuelle) pour
transfrer vers la ram le bloc de donnes (une page) contenant la donne cherche (voir dtails
du mcanisme l'exercice 13 du chapitre 3).

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-35-

V1.1 Hamdi Hocine

Ainsi le temps daccs moyen une donne en mmoire centrale ou temps de cycle
apparent sera gal : 0,8 (100 + 500) + 0,2 (100 + 20000 + 500) = 4600 ns. On remarque que
la vitesse sest dgrade considrablement et la perte relative de vitesse est gale 8,2 soit
820% (|500 4600|) / 500 = 8,2). La vitesse a t divise par un coefficient suprieur 8.

Remarque : les objectifs de lantmmoire et de la mmoire virtuelle (ainsi que la pagination)


sont diffrents. On utilise la mmoire cache quand la vitesse des traitements est primordiale
(on obtient une acclration car le temps de cycle apparent de la mmoire centrale est plus
faible), alors que la seconde est plutt utilise quand on a des problmes de taille mmoire (on
augmente virtuellement la taille de la ram au dtriment de la vitesse qui se dgrade).

-5-Ralisation physique de mmoire


A l'origine les botiers mmoire (de capacit 16, 32, 64, 128 kilooctets) s'enfichaient
dans des endroits prdfinis sur la carte mre. Pour ne pas laisser de trous dans les adresses et
viter ainsi les problmes d'adressage, on prenait la prcaution de commencer par les endroits
correspondant aux adresses physiques les plus basses.
Aujourd'hui avec les nouvelles technologies (dimm, simm, edo, rdr, etc) des
groupes de botiers sont disponibles sous forme de barrette de mmoire (de capacit allant
jusqu' 128 Mo) qui s'enfichent directement sur le bus mmoire. On dispose en gnral de
trois ou quatre slots (ou banque ou bus mmoire) pour enficher les barrettes, en respectant
toujours la rgle dutilisation des adresses basses en premier.
La deuxime volution importante concerne la vitesse. En effet on trouve aujourd'hui
sur les ordinateurs domestiques des mmoires ram travaillant des frquences de 133
mgahertz ( comparer avec les 8 mhz du processeur des dbuts du PC).
De manire tout fait gnrale la mmoire centrale est ralise l'aide de botiers de
mmoire vive. Chaque cellule de mmoire de un bit est ralise soit l'aide d'une bascule
(mmoire statique), soit l'aide du condensateur d'un transistor MOS (mmoire dynamique).
Les mmoires dynamiques qui ncessitent un rafrachissement priodique (pour ne pas
perdre les informations car les condensateurs se dchargent) sont moins chres car moins
rapides que les mmoires statiques.

Exemple : dans le schma qui suit, on a ralis une mmoire de un mgaoctets laide de 16
modules ou botiers mmoire de 64k x 1 octet (64 k emplacements mmoires de 1 octet
chacun), chaque botier tant muni dune ligne de slection CS (Chip Select).
-Chapitre 3 : Les mmoires-

-36-

-Notions de structure machine-

V1.1 Hamdi Hocine

Comme la mmoire est organise en octets on a utilis un bus de donnes 8 bits


(lignes D0 D7).
Comme lespace physique adressable est de 1 Mo (1M emplacements mmoire), le
bus dadresses aura 20 bits (1 M = 220 ), dont 4 passent par un dcodeur 4 vers 16 pour la
slection des botiers (lignes A16 A19).
Chacune des 8 lignes du bus de donnes est relie tous les botiers. Il en est de mme
pour les 16 lignes du bus dadresses (lignes A0 A15) qui permettent dadresser les 64K
emplacements mmoire de chaque botier (64K = 216 ).

D0
D1

D7

Module 0
64K
x
1 octet
CS0

CS1

Module 1
64K
x
1 octet

CS15

Module 15
64K
x
1 octet

Dcodeur
4 vers 16

A19
A18
A17
A16
A15

A1
A0

Exemple de cblage de botiers mmoire pour raliser 1 module de 1 Mo

-Chapitre 3 : Les mmoires-

-37-

-Notions de structure machine-

V1.1 Hamdi Hocine

-II-LES MEMOIRES DE MASSE

-1-Le disque souple ou disquette (floppy disk)

-a-Support et conditionnement
Le support est constitu dun disque en matire souple, le plus souvent du mylar,
recouvert dune fine couche de matire magntisable. Si les deux surfaces du disque sont
utilisables, on parle de disquette double face (il faut alors deux ttes de lecture/criture).
On fait souvent suivre le terme gnrique (disquette) du diamtre exprim en pouces :
8, 5 , 3 . Le format standard le plus rpandu est le 3 .
Protection
contre
lcriture

Disque souple
Trous
dentranement
(au verso du
botier)

Botier rigide

Ouverture pour
la tte de
lecture/criture

Dplacement
du volet pour
fermeture
(par ressort
de rappel)

Volet coulissant
(en position
ouverte)

Disquette 3

-b-Formatage
La surface de la disquette est divise en cercles concentriques constituant des pistes
( track), dont le nombre moyen avoisine la centaine. Les pistes sont numrotes et possdent
donc une adresse physique. La densit radiale sexprime en pistes par pouce : tpi (track per
inch). Les valeurs courantes sont 48, 96 et 135 tpi. Prcisons toutefois que les pistes ne sont
pas matrialises physiquement, il sagit simplement dun partage logique; cest pourquoi on
peut reformater une disquette.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-38-

V1.1 Hamdi Hocine

Chaque piste est constitue du mme nombre de cellules mmoire. Ce nombre dpend
de la densit longitudinale exprime en bits par pouce : bpi (bits per inch). Cette valeur varie
de 300 10000 bpi. Lenregistrement se fait en simple, double ou quadruple densit. Le
format le plus courant est la haute densit (HD).
Le dbut des pistes concide avec le rayon passant par le trou dindex, ce trou est
dtect par un capteur optique.
Chaque piste est divise en secteurs ou blocs. Les secteurs dune mme piste sont
donc numrots, ce qui permet de dfinir leurs adresses. Deux secteurs conscutifs sont
toujours spars par un espace appel espace inter-blocs (zone blanche sur la figure), dont le
contenu ne peut pas tre confondu avec une donne. Le contenu dun secteur est constitu de
deux parties : un entte qui contient des informations de service (adresse de la piste, adresse
du secteur lintrieur de la piste) et les donnes proprement dites. La taille dun secteur
varie gnralement de 128 512 octets. Le nombre de secteurs par piste varie de 8 28.
Le nombre de pistes par surface, la longueur moyenne dune piste, et la densit
longitudinale, dterminent la capacit brute ou non formate dune disquette.
La capacit brute ou non formate dune disquette est le produit :
Capacit brute/ face = Nombre pistes /face x Nombre secteurs /piste x Capacit dun secteur
Le formatage consiste donc inscrire magntiquement sur la surface vierge du disque,
la structuration en pistes et secteurs. Il sagit essentiellement dcrire les espaces inter-blocs et
des informations de service dans les enttes. En raison des espaces inter-blocs et des
informations de service, la capacit formate est donc infrieure la capacit brute ou non
formate dune disquette.
espaces
inter-blocs

entte
(zone de service)
secteur

zone de
donnes

pistes

Disquette formate

-Chapitre 3 : Les mmoires-

-39-

-Notions de structure machine-

V1.1 Hamdi Hocine

Exemple : cas du systme dexploitation ms-dos

Densit

Nombre de

Nombre de

Taille dun

Densit

Capacit

pistes/face

secteurs/piste

secteur

radiale

disquette

(en octets)

( en tpi)

Simple

40

512

Double

40

512

48

360 Ko

Double:3 80

512

96

720 Ko

Haute :5 80

15

512

Haute :3 90

16

512

1,2 Mo
135

1,44 Mo

Ainsi une disquette standard au format 3 aura pour capacit brute :


90 x 16 x Ko x 2 faces = 1440 Ko = 1,44 Mo.
Piste
zro

Zone
utilisateur
( partir du
cluster deux)

Cluster
zro

Cluster
un
Boot
area

FAT

Copie FAT

File
directory

La notion de secteur ou bloc trouve son importance dans le fait que cest la plus petite
unit dchange de donnes. Pour les fichiers lunit dallocation et de stockage est appele
cluster. Un cluster peut contenir 1, 2, 4 ou 8 secteurs.
Dun point de vue logique, les donnes enregistres sur une disquette sont organises
en fichiers, auxquels sajoutent des informations de service :
-nom de la disquette (volume), date de premire utilisation, nombre de secteurs libres,
-rpertoire des fichiers rsidents sur la disquette,
-pointeurs sur les secteurs appartenant un mme fichier.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-40-

V1.1 Hamdi Hocine

Lors de la recherche dinformation, la conversion entre la structure logique


(organisation en fichiers) et la structure physique (pistes et secteurs) est prise en charge par
le gestionnaire de fichiers du systme dexploitation.

-c-Principales caractristiques dun lecteur de disquettes


Une unit ou lecteur de disquettes se caractrise par un certain nombre de paramtres.
Parmi ceux l certains concernent le formatage du support (disquette), dautres concernent les
caractristiques physiques du lecteur proprement dit. Dans ce qui suit on donne les paramtres
les plus importants avec des indications sur les valeurs moyennes et les standards couramment
utiliss.
1. Le diamtre ou format ou type des disquettes (le standard est 3 )
2. Le nombre de ttes de lecture/criture (2 pour double face)
3. La densit radiale ou le nombre de pistes par face quon peut lire (standard 135 tpi)
4. La densit longitudinale de 3600 12000 bpi
-Le nombre de secteurs par piste (standard en haute densit 16 secteurs)
-La capacit dun secteur (standard 512 octets par secteur) et la capacit utile
5. Capacit utile (formate) par face: environ 650 Ko (dans standard 1, 44 Mo non formate)
6. Vitesse de transfert ou dbit nominal (0,5 Mbit/s) et utile (40 Ko/s)
7. Temps de dplacement de piste piste (6 ms en moyenne) et temps daccs moyen une
piste ( 160 ms)
8. Temps ncessaire pour dposer la tte de lecture/criture sur le support : entre 0 et 20 ms
9. Vitesse de rotation : 360 tpm (tours par minute) soit 168 ms pour faire un tour.

On admet gnralement que quand on veut lire une donne sur une disquette, pour trouver
la bonne piste il faut parcourir 1/3 des pistes. De mme une fois quon a trouv la piste, pour
accder au bon secteur, on parcourt en moyenne la moiti de la piste (1/2 tour). Une fois que
cest fait, il faut alors dposer la tte de lecture/criture sur le support.
Par consquent le temps de positionnement moyen de la tte sur une donne (ou temps de
lecture dun secteur) est gal la somme de trois termes:
Temps daccs moyen la piste + temps de recherche du secteur + temps de dpt de la tte.
Exemple : Si on utilise les valeurs moyennes, et quon dsigne par A, B, C les 3 termes, on
dsire calculer le temps de transfert (lecture) dun fichier de 1920 caractres cods sur 8 bits.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-41-

V1.1 Hamdi Hocine

A = Temps daccs moyen la piste:


A = 1/3 x 80 (nombre de pistes / face) x 6 ms (temps dplacement piste piste) = 160 ms
B = Temps de recherche du bon secteur:
B = tour = (60s / 360 tours) / 2 = 84 ms
C = Temps de dpt de la tte:
C = 16 ms (temps moyen compris entre 0 et 20 ms)
Le temps moyen de lecture dun secteur sur la disquette sera donc la somme des trois
termes : 160 + 84 + 16 = 260 ms.
Le dbit utile moyen donne le nombre de bits lus ou crits par seconde.
1secteur = Ko en 260 ms  en 1 seconde on aura ( Ko/ 260 10-3 s) 2 Ko / s .
Le temps de transfert ou de lecture du fichier sera de :
(1s / (2 K x 8 )) x (1920 x 8) 0.96 s = 960 ms.
Le dbit thorique ou nominal est gal au produit de la vitesse de rotation (en tours
par seconde) par la capacit d'une piste (en octets).
Vr = 360 tr/mn 6 tr/s

Dbit thorique = 6 x 16 x 512 = 48Ko/s

Capacit d'une piste: 16 (secteurs) x 512 (octets)

Remarque:
On observe que ce dbit thorique, gnralement mis en avant par les publicits
commerciales, est trs loin du dbit rel ou utile qui tient compte de tous les paramtres
(recherche de la piste et du secteur, et dpt de la tte sur les pistes).

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-42-

V1.1 Hamdi Hocine

-2-Le disque dur (hard disk)


-a-Description

axe de
rotation

plateau
daluminium
recouvert dune
fiche couche
magntisable

2 faces du
disque ou
plateau

ttes de
lecturecriture
servosurface
face de
protection

peigne

Reprsentation schmatique dun disque dur


Lune des faces appele servo-surface est gnralement rserve des informations
destines au guidage du dispositif de lecture/criture. Les deux faces externes des deux
plateaux du haut et du bas ne sont pas utilises pour le stockage mais comme faces de
protection.
Le mme principe que pour les disquettes est adopt pour le formatage. La seule
notion supplmentaire est celle de cylindre : cest lensemble des pistes qui se trouvent
simultanment sous les ttes de lecture/criture. Dans le cas le plus simple dune tte par face,
le nombre de cylindres est gal au nombre de pistes par face, et chaque cylindre comporte
autant de pistes quil y a de faces.
La notion de cylindre a t introduite car elle correspond lensemble des
informations auxquelles il est possible daccder sans aucun mouvement du peigne ou
dispositif de lecture/criture. Laccs aux informations sera par consquent optimis si des
informations contigus sont enregistres sur un mme cylindre (donc sur des pistes de faces
diffrentes) et non pas squentiellement sur une mme face.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-43-

V1.1 Hamdi Hocine

-b-Principales caractristiques dun disque dur


Si un utilisateur ordinaire ne sintresse qu la capacit du disque en gigaoctets, et
sa vitesse ou dbit (en mgaoctets par seconde), il existe cependant dautres
caractristiques techniques intressantes pour lutilisateur averti. La technologie des
techniques de stockage voluant trs rapidement, il est trs difficile de donner des valeurs
moyennes qui seront trs vite dpasses (en microinformatique ce qui date de deux trois ans
est dj considr comme vieux). Les valeurs qui suivent sont donnes uniquement titre
indicatif pour fixer les ordres de grandeur.
1. Le diamtre ou format du disque : les diamtres les plus rpandus sont le 5 (pour les
PC de bureau) et le 3 (sur les ordinateurs portables)
2. Le nombre de ttes de lecture/criture par face (entre 16 et 255)
3. La densit radiale ou nombre de cylindres (de 200 10.000)
4. La densit longitudinale de 3600 12000 bpi. Concrtement on prfre parler de :
- nombre de secteurs par piste (de 20 64) ;
- capacit dun secteur (256 1024 octets par secteur) et sa capacit utile.
5. La capacit non formate du disque : de quelque dizaines de mgaoctets quelques
dizaines de gigaoctets. La capacit a t multiplie par 1000 en lespace de 10 ans. On
peut galement parler de nombre de clusters (65505 par exemple) et du nombre de
secteurs par cluster (64 par exemple), ce qui donne un disque dur de 4 gigaoctets.
6. La vitesse de transfert ou dbit nominal et dbit utile (de 0,5 Mo/s 4 Mo/s)
7. Le temps de dplacement de piste piste (de 2 15 ms) et temps daccs moyen une
piste (de 15 100 ms)
8. Le temps ncessaire pour dposer la tte de lecture/criture sur le support: entre 0 et 20 ms
10. La vitesse de rotation : de 2400 7000 tpm (tours par minute).
11. Le type dinterface (IDE, EIDE, SCSI, USB, PCMCIA)
De la mme manire que pour un lecteur de disquettes, on peut calculer le temps
moyen de lecture des donnes ou dbit moyen dun lecteur de disque dur.
Exemple 1 : considrons une unit de disque dur tournant la vitesse 6000 tpm, avec 4
plateaux simple face, 600 pistes par face, 20 secteurs par piste et 512 octets par secteur.
La capacit de stockage du disque sera de : 4 x 600 x 20 x Ko = 24000 Ko 24 Mo.
Vitesse de 6000 tpm  100 tr/s; 1 piste = 1 tour = 20 secteurs = 10 Ko.
Le taux de transfert thorique ou dbit approximatif est gal la vitesse de rotation
multiplie par la capacit dune piste en octets.Taux = 100x10 Ko/s= 1000 Ko/s 1Mo/s.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-44-

V1.1 Hamdi Hocine

Exemple 2 : considrons un fichier de 1920 caractres cods sur 8 bits, stock sur un disque
dur tournant la vitesse de 6000 tpm. Tous les secteurs du fichier sont stocks sur un mme
cylindre, et chaque piste comprend 40 secteurs. Chaque secteur a une taille de 1024 bits dont
64 bits sont rservs des informations de gestion (un pointeur vers le secteur suivant).
-a-

Le nombre de secteurs ncessaire (utiles) au stockage du fichier est de :


(1920 x 8) / (1024 64) = 16 secteurs.

-b-

Vr = 6000 tr/mn = 100 tr/s  il faut 10 ms pour faire un tour, soit 10 ms pour lire 40
secteurs  il faut 0.25 ms pour lire un secteur.

-c-

Le temps moyen de positionnement sur le bon secteur (une fois que la piste est
trouve) correspond en moyenne au temps pour faire tour (on parcourt la moiti des
secteurs de la piste), soit 5 ms.

-d-

Le temps moyen de transfert dun secteur est gal au temps de recherche du secteur
plus le temps de lecture du secteur, soit 5.25 ms.

-e-

Comme tous les secteurs sont sur un mme cylindre, on na pas besoin de changer de
piste donc de cylindre. La recherche du cylindre ou de la piste se fait donc une seule
fois, sa dure est gale 20 ms.

-f-

La dure de transfert des 16 secteurs est gale 16 x 5.25 = 84 ms.

-g-

La dure totale de transfert du fichier est gale 20 + 84 = 104 ms.

Remarques :
-1-On observe que pour le transfert dun secteur de donnes, on passe 20 fois plus de
temps trouver le bon secteur qu lire le secteur proprement dit (5ms contre 0,25 ms). Il est
donc intressant de stocker les donnes dun fichier qui sont sur une mme piste sur des
secteurs contigus.
-2-La recherche dun cylindre (ou dune piste) prend 4 fois plus de temps que la
recherche dun secteur (20 ms contre 4 ms). Il est donc plus intressant de stocker les donnes
dun fichier sur un minimum de cylindres, pour conomiser les dplacements entre pistes.
-3-On remarque que pour le mme fichier stock peu prs dans les mmes conditions
sur un lecteur de disquettes, la transfert du disque dur est environ dix fois plus rapide par
rapport la disquette (dure 10 fois plus courte).
-4- Grce aux progrs technologiques, les densits radiale et longitudinale sont de plus
en plus grandes, et on a tendance diminuer le nombre de plateaux (de 2 4) et augmenter
le nombre de ttes par face (jusqu 32), ce qui augmente les taux de transfert.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-45-

V1.1 Hamdi Hocine

-3-Autres procds de stockage


La technologie des supports de stockage volue trs rapidement, et on atteint des
capacits de stockage phnomnales et inimaginables il y a peine quelques annes, en raison
principalement de deux facteurs : laugmentation de la densit et lutilisation de techniques de
compression de donnes (Zip, Jpeg et Mpeg principalement). Par ailleurs lamlioration des
interfaces et lutilisation croissante de mmoire cache au niveau de llectronique intgre aux
lecteurs, permettent des vitesses de transfert de plus en plus grandes.
Un lment important qui influence grandement les performances est le type
dinterface utilise. Le taux doccupation du processeur variable (de 1% 90 %) et les dbits
trs loigns font quon obtient en bout de course des taux de transfert trs diffrents. En effet
linterface parallle mme configure dans le bios en mode EPP (enhanced parallel port), plus
rapide que le mode ECP (enhanced capabilities port), autorise un taux de transfert limit (de
300 Ko/s 1,5 M0/s), alors que linterface Scsi va plus de 5 Mo/s. De mme linteface usb a
un dbit limit 1,5 Mo/s ( en attendant la version 2.0 qui va de 45 Mo/s 60 M0/s, soit 30
40 fois celui de la version 1.1 ) alors que lEIDE autorise un dbit allant de 5 Mo/s 33 M0/s.
Mais quelles que soient les amliorations technologiques, les deux techniques
principalement utilises pour lenregistrement des donnes sont soit de type optique (laser)
soit de type magntique (ou une combinaison des deux).

-a-lecteurs et supports magntiques


a-1-Le drouleur de bandes ou streamer :
Il y a encore trs peu de temps, ctait encore le seul moyen darchivage
(backup de disques durs) digne de ce nom, utilis pour les gros systmes informatiques des
grandes entreprises.
La bande magntique entrane par un moteur asservi passe dune bobine mettrice
vers une bobine rceptrice. La largeur de bande (1/4, 1 /2, 1 pouce), le nombre de pistes,
ainsi que le mode denregistrement varient beaucoup dun modle lautre.
On utilise souvent lappellation anglaise de streamer cause du mode
denregistrement des donnes qui est continu (stream). Il consiste insrer les donnes sans
tenir compte de la structure en fichiers et blocs, ce qui permet de gagner en capacit utile (pas
despace interbloc comme sur les disques) et daugmenter la vitesse des transferts. Cependant
cela prsente linconvnient de ne pas permettre laccs un fichier isol ou un bloc
particulier.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-46-

V1.1 Hamdi Hocine

Certaines units rcentes permettent lexploitation aussi bien en mode continu, quen
accs slectif aux donnes enregistres. Par ailleurs lvolution technologique aidant, on a de
en plus tendance remplacer les bandes isoles par des cartouches de plus petite taille, o les
deux bobines et la bande sont enfermes dans un support en plastique comme pour les
cassettes audio.
Compte tenu de lvolution technologique et de la capacit de plus en plus grande des
supports de stockage sur disque amovible du type disque compact (de lordre de la vingtaine
de gigaoctets), on sachemine terme vers le remplacement de la bande magntique par le
support en plastique car le stockage des donnes est plus fiable en raison de lutilisation du
laser (pas de contact entre le la tte de lecture et le support), et la dure de stockage garantie
peut aller jusqu 50 ans.
a-2-Les lecteurs de cartouches :
Toutes les solutions proposes sont des solutions propritaires , cest dire
que ce sont des technologies propres chaque constructeur et quil ny a pas de norme
standard. Cependant quatre acteurs principaux (Fujitsu, Castlewood, Iomega et Imation)
mergent et se battent pour imposer leur technologie comme standard. Toutefois, en raison de
leurs capacits, la plupart des solutions sont destines un usage personnel (pour remplacer le
lecteur de disquettes de 1,44 Mo), et bien peu sont destines un archivage intensif de
donnes au sein dun groupe de travail.
La technologie magntique est utilise par IOMEGA, depuis dj plusieurs annes,
avec ses lecteurs de cartouche ZIP et JAZ. Les cartouches ZIP sont lues par des lecteurs
diffrents en fonction de la capacit (100 ou 250 Mo). Quant aux cartouches JAZ, elles sont
plus grandes (format 5 1/4 ) et permettent de stocker jusqu 2 Go. Enfin les cartouches
Click ! renferment un mini-disque mtallique (50 x 55 mm) de 40 Mo, qui est une solution
pratique pour linformatique mobile (portables, appareil photo, camescope). Aucun de ces
lecteurs ne permet de lire les disquettes aux anciens formats (1,44 Mo).
Comme les disques durs, les appareils de chez ORB utilisent la technologie magntorsistive, avec des supports pouvant atteindre une capacit de 2,2 Go.
La technologie laser-servo utilise par Imation permet de stocker 120 Mo sur une
cartouche (ce qui est largement suffisant pour une sauvegarde ponctuelle), tout en conservant
la compatibilit avec les supports existants de 1,44 Mo ou 720 Ko. Elle utilise une
mcanique dorigine Matsushita qui supporte des mdias au format disquette classique ou
cartouche.
-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-47-

V1.1 Hamdi Hocine

Au chapitre des produits annoncs et prochainement disponibles, Sony et bien dautres


fabriquants comptent commercialiser un lecteur de cartouches (HiFD 200) de 200 Mo,
galement compatible avec les disquettes traditionnelles.
La technologie magnto-optique conue par Fujitsu (et vendue en OEM aux autres
constructeurs) permet de stocker sur des cartouches allant de 128 Mo 1,3 Go en usage
personnel, et de 2,6

5,2 Go par face pour les modles destins larchivage. Cette

technologie est improprement appele magntique car les informations sont crites et lues par
un laser. Dun point de vue technique les donnes sont stockes sur un disque magntooptique (enferm dans une cartouche) en changeant la polarit de la couche denregistrement.
Tourn dans une direction, le ple nord de la charge magntique quivaut un 1 ; tourn
dans lautre il quivaut un 0 . Si la fiabilit des donnes est ingale et les disques
certifis pour une longvit suprieure 30 ans (car lenregistrement se fait au moyen dun
laser contrairement lenregistrement magntique o la tte de lecture est en contact direct
avec la cartouche), les performances sont cependant infrieures celles des dispositifs
magntiques.
Le lecteur de disque optique numrique effaable PD de matsushita est trs peu
diffrent du lecteur magnto-optique de Fujitsu. Apparu il y a environ cinq ans, ce lecteur
enregistreur utilisait des cartouches de 250 640 Mo. Il avait la particularit de pouvoir lire
galement les cd-rom classiques de taille 640 Mo.

-b-Lecteurs et supports optiques


b-1-Le disque compact ou cd
Ce disque en plastique de 12 cm de diamtre a une capacit standard de 650 Mo. On
augmente le volume des donnes stockes par lutilisation de techniques de compression. Les
techniques principales utilises sont zip (pour les donnes), mp3 (pour les fichiers son),
mpeg-1 et mpeg-2 (pour les images).
Au niveau vitesse on utilise comme unit le 1X correspondant un taux de transfert de
150 Ko/s. Le temps daccs moyen aux donnes se situe autour de 60 ms pour les lecteurs, et
120 ms pour les graveurs (lecteurs enregistreurs). Ainsi un appareil avec la mention
6X/4X/24X signifie que la gravure des cd-R se fait en 6 vitesses (6 x 150 Ko/s), celle des cdRW en 4 vitesses, et la lecture des cd-rom en 24 vitesses. La vitesse des lecteurs atteint 50X
alors que celle des graveurs ne dpasse pas les 8X en criture et 24 X en lecture.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-48-

V1.1 Hamdi Hocine

CD-DA ou CD-audio : anctre de tous les cd, il permet denregistrer 74mn de musique en
stro, avec une rsolution 16 bits, une frquence d'chantillonnage maximale de 44,1 khz.
CD-texte : il sagit dune amlioration apporte par sony au format cd-audio. En plus des
pistes de son, diverses informations (les titres des morceaux, le nom des interprtes, etc..) sont
enregistres. Ce format nest pas encore reconnu par tous les graveurs, ni par tous les
logiciels, et peu de platines de salon sont en mesure de le lire.
CD-extra : la premire partie (ou session) contient de la musique et peut donc tre lue par un
lecteur de cd-audio. La deuxime partie qui contient des donnes informatiques (paroles de
chansons, photos,) ncessite un lecteur de cd-rom pour tre lue.
Une session sur un cd est un ensemble de donnes (informatiques, audio ou vido)
dlimit par une plage (un espace sans donnes) de dbut et une plage de fin. Ces plages
gaspillent 15 Mo despace environ.
CD-rom xa : ce format permet de mlanger son, squences vido et donnes informatiques. Il
est lorigine de lexplosion du multimdia dans le monde du PC. Il permet de stocker au
maximum 650 Mo de donnes (au format ISO9660), tendu aprs jusqu 800 Mo.
CD-vido : il contient environ 75 mn de squences vido comprimes au format MPEG-1
(352 x 288 pixels, 25 images par seconde). Au format vido MPEG-2, on peut stocker une
douzaine de minutes dimages de haute qualit (mais ncessit dune carte de dcodage).

CD-R et CD-RW : la diffrence des cdR (compact disc recordable) qui ne peuvent tre
gravs quune fois, les cd-RW (rewritable) peuvent tre gravs jusqu 1000 fois. Un graveur
de cd-rw peut crire des cd-R (alors que linverse nest pas vrai). Les CD-R doivent tre
gravs avec une vitesse infrieure 6X, et les CD-RW avec une vitesse infrieure 6X. Au
del il faut utiliser des CD prvus pour la gravure grande vitesse.

CD-photo : format invent par kodak permettant de stocker jusqu 100 photos de trs haute
rsolution (3072x2048 pixels).

-Chapitre 3 : Les mmoires-

-49-

-Notions de structure machine-

V1.1 Hamdi Hocine

b-2-Modes d'criture des CD


Disc-at-once (DAO)
Ce mode est utilis lors de l'criture d'un disque complet en une seule fois et sans
pause. Aucune donne ne peut tre ajoute par la suite, mme si la capacit complte du
disque vierge n'a pas t utilise.
Exemple : CD-ROM courant
0

650 MB
Donnes

Espace libre

Piste 1
Session 1
Dbut

Cet espace n'est


plus utilisable

Fin

Exemple: CD audio
0

650 MB
Audio

Audio

Audio

Audio

Piste 1

Piste2

Piste 3 Piste 4

Audio

Audio

Audio

Espace libre

Session 1

Cet espace n'est


plus utilisable

Dbut

Fin

Remarque: les zones de dbut et de fin ne font pas partie des donnes, mais contiennent des
informations sur la session.

Track-at-once (TAO)
Ce mode est utilis lors de l'criture de donnes sur un disque piste par piste. D'autres
piste peuvent tre ajoutes par la suite s'il reste suffisamment d'espace sur le disque. C'est
pourquoi le mode track-at-once est quelquefois appel Multisession.
0

650 MB
Donnes

Donnes

Donnes

Piste 1

Piste2

Piste 3

Session 1
Dbut

Session 2

Fin/Dbut

Session3

Fin/Dbut

Espace libre

Cet espace est


utilisable

Fin

-Chapitre 3 : Les mmoires-

-50-

-Notions de structure machine-

V1.1 Hamdi Hocine

Remarque: Seule la premire session d'un disque multisession peut tre lue sur un lecteur de
Cd audio conventionnel (lecteur de salon ou balladeur). Les disques monosession sont lus
intgralement.

Session-at-once (SAO)
Ce mode est utilis lors de l'criture de chaque session en une seule fois et sans pause.
D'autres sessions peuvent tre ajoutes par la suite s'il reste suffisamment d'espace sur le
disque.
0

650 MB
Audio

Audio

Audio

Piste 1

Piste2

Piste 3

Donnes

Session 1

Session 2

Dbut

Espace libre

Cet espace peut tre


utilis

Fin

Remarque: avec les CD-Extra, l'audio est crit lors de la premire session, et les donnes lors
de la deuxime. 99 pistes au maximum peuvent tre crites.

Packet Writing
Ce mode est utilis lors de l'criture, sur la piste d'un disque, de petits blocs de
donnes appels paquets, comme pour les disquettes ou les disques durs. Ce mode est utile
lorsqu'on fait de petites sauvegardes incrmentales de donnes. Il faudra pour cela utliser un
logiciel supportant expressment le mode criture par paquets (comme le Direct CD de la
firme Adaptec par exemple).
1

Paquet

Remarque: les disques doivent tre formats avant de pouvoir tre utiliss pour l'criture par
paquets. Avec les CD-RW, les donnes effaces peuvent tre remplaces tant que le disque
n'est pas plein. Avec les CD-R, l'espace utilis par les donnes effaces ne peut tre rutilis,
et il est masqu de manire ne plus tre visible.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-51-

V1.1 Hamdi Hocine

b-3-Le dvd (digital versatile disc ou disque digital multi-usage) :


De mme taille et de mme technologie de base (le laser) que le cd, la frquence
denregistrement est double et la capacit de 6 huit fois plus grande. Pour les dvd rom et
vido les standards sont aujourdhui stabiliss, en raison de la runion de 1997 o les tnors
mondiaux (Hitachi, Matsushita, Jvc, Sony, Pioneer, Philips, Thomson,) se sont entendus sur
un standard, et ont cre le dvd forum comme organe de consultation et de normalisation.
Par contre pour les dvd rinscriptibles il nexiste aucun standard qui se dgage, si ce nest
quon sachemine vers la coexistence de trois normes : dvd-ram, dvd+rw et dvd-rw.
Quant la vitesse, le taux de transfert unitaire (1X) diffre par rapport celui des cd
en raison du volume de donnes transfrer. Ici 1X signifie 1,4 Mo/s (contre 0,15 Mo/s).

Lecteurs de dvd :
Les lecteurs de deuxime ou troisime gnration sont multiread , cest dire quils
permettent de lire les dvd-rom et dvd-vido, ainsi que les cd-rom et cd-audio. Ils sont presque
tous la norme atapi (standard de transfert de donnes pour les priphriques, qui sont
automatiquement reconnus par lordinateur) et peuvent donc tre branchs sur un connecteur
EIDE, SCSI, USB ou parallle dun ordinateur. De la mme manire que pour les cd-rw, la
compatibilit avec le format UDF (universal disc format ) permet de lire et dcrire des
donnes sur un mdia par simple glisser/dplacer de la souris.
La dcompression dun fichier mpeg-2 est effectue par un circuit spcialis qui
reconstruit les squences dimage et les convertit en signaux vido. Il faut donc, en plus du
lecteur de dvd, une carte de dcompression mpeg-2 brancher sur un bus PCI de lordinateur.
Toutes les cartes mpeg-2 sont munies dune entre vido ( relier la sortie svga de la carte
graphique de lordinateur), dune sortie svga ( relier au moniteur) et dune sortie s-vido (
relier un tlviseur). Quant la partie son, elle dispose galement dune entre marque cd
( relier la sortie son du lecteur de dvd), et dune sortie marque audio ( relier lentre
audio de la carte son).
Dvd-rom : en simple ou en double face, il permet une capacit de 4,7 17 Go. On peut
y stocker tout document numris (logiciels, texte, vido compresse au format mpeg-2).
Dvd-vido : il permet de stocker des squences vido numrises au format mpeg-2,
qui est le premier procd de compression vido numrique en qualit broadcast
(conforme aux exigences de la qualit de diffusion tv ). On peut y stocker au moins un film de
135 mn avec la bande son en stro en plusieurs langues, ou la bande son dvd , cest dire
simultanment en trois formats diffrents : stro de base (accessible toutes les cartes son
-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-52-

V1.1 Hamdi Hocine

standards), mpeg-2, et enfin AC3. Le format AC3 autorise huit bandes son distinctes par
squence, car on utilise la technique de codage du son dite multivoies (ou norme 5.1), o
chacun des huit canaux numriques est indpendant des 7 voisins. On peut ainsi reconstituer
la bande son en qualit cinma , par lintermdiaire de six (5+1) hauts parleurs : gauche,
droit, central, surround gauche, surround droit, et enfin le caisson de graves extrmes pour les
effets sonores complexes (chocs et explosions).
Lecteurs enregistreurs de dvd :
Le dvd ram est fabriqu depuis au moins 3 ans alors que les autres dvd commencent
peine apparatre sur le march. Il est remarquer que pour les dvd +rw lappelation dvd a
t refuse par le dvd forum .
Si aujourdhui chaque groupe de constructeurs propose ses dvd avec une capacit
propre, dans une anne les dvd rinscriptibles disponibles sur le march auront une capacit
normalise de 4,7 Go par face (soit 9,4 Go en double face).

DVD R : il est conu pour tre enregistr seulement une fois. Cest le successeur
naturel du cd-R. Actuellement de capacit 3,95 Go, les dvd de 4.7 Go attendent leur
normalisation. Le premier fabricant avoir propos ce type de support la fin de l'anne 1999
est Pioneer.

DVD RAM : soutenu par trois constructeurs japonais (hitachi, toshiba et matsushita)
runis sous la marque panasonic, ce support a une capacit de 2, 6 Go par face en simple
couche et 5,2 Go en double couche. Un dvd ram est constitu de deux couches de mtal
recouvertes dune enveloppe en plastique, le tout enferm dans une cartouche en plastique
rigide. Lcriture dune donne se fait par un laser qui chauffe le mtal environ 600c, un
deuxime laser plus faible chauffe la surface 200c pour modifier les donnes.
Cest une technologie particulire dans la mesure o les disques sont enferms dans
une cartouche et que lon utilise la technique dite de changement de phase (semblable celle
des disques magnto optiques ?). Les cartouches de type II (2,6 Go) permettent lextraction du
disque de sa cartouche pour tre lu sur un lecteur de dvd rom de la prochaine gnration.
Actuellement un dvd ram ne peut pas tre lu sur un simple lecteur de dvd rom ou dvd vido,
en raison de la faible rflectivit due au changement de phase, ainsi qu' la structure physique
du mdia. La prochaine gnration de lecteurs de dvd rom est prvue pour lire les dvd ram.
Les lecteurs enregistreurs de dvd ram permettent de lire tous les disques antrieurs :
Cd rom, cd vido, cd r/w, cd audio, dvd rom, dvd vido, et cartouches PD de Matsushita.
-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-53-

V1.1 Hamdi Hocine

DVD +RW : Bien que non reconnu par le dvd forum, ce format qui propose
actuellement des disques de 3 Go (bientt 4,7 Go) est soutenu par un groupe dindustriels
puissants et influents (Sony, Philips, Mitsubishi, Hewlett-Packard, Yamaha, Ricoh ...), qui
contrlent les trois quarts du march du Cd-RW. Ce support a t conu comme successeur du
cd-RW.

DVD RW : propos par pioneer, ce format a t retenu par le dvd forum (il y a un an
et demi) comme successeur possible du dvd ram. Non encore disponible sur le march, il aura
une capacit de 4,7 Go par face et sera compatible avec le parc de lecteurs existant.

Remarque : autres moyens de stockage


Les solutions de stockage exposes jusquici sont de loin les plus rpandues sur le
march. Cependant lvolution des technologies des semi-conducteurs aidant, on peut
maintenant trouver des solutions de stockage de plus en plus miniaturises destines aux
ordinateurs portables et llectronique nomade (console de jeu, appareil photo, tlphone
cellulaire, camra,). Mais le plus souvent elles ncessitent un priphrique spcifique pour
tre lues sur un ordinateur.
On peut citer titre indicatif la PC card flash qui se prsente sous la forme dune carte
PCMCIA et abrite de la mmoire flash de 48 Mo, le datapak de Kingston qui a une capacit
de 2 Go (au format pc card de type III), le microdisque dur dIBM de 340 Mo enchss dans
un botier de 42,8 mm x 36,4 mm et 55 mm dpaisseur, et qui ne pse pas plus de 20
grammes. Son unique plateau de 16 cm2 est plus petit quune pice de 2 francs (le 1Go serait
en prparation). On peut citer galement le compact flash, le SmartMedia, le memory stick de
Sony, qui sont trs utiliss dans les appareils photos, et dont les capacits atteignent 64 Mo.

-Chapitre 3 : Les mmoires-

-54-

-Notions de structure machine-

Disques

TABLEAU DES
COMPATIBILITES

DVD-

DVD

Rom

Vido

Capacit 4,7 17

CD & DVD

Contenu
Lgende :
Lecture
Lecture gravure

DVD-R

V1.0 Hamdi Hocine

DVD-

DVD-

CD-

CD-

Ram

RW

Rom

Audio

0,65

0,65

7,9

5,2

Donnes

Vido

Donnes

Donnes Donnes Donnes Audio

en lecture

Mpeg-2

en gravure en

en

en

en

en lecture

simple

gravure

lecture

lecture gravure

gravure

Taux

CD-RW CD-

CD-Extra

Vido

4,7 17

multiple multiple

Lecteurs

CD-R

0,65

0,65

0,65

Donnes Donnes Vido


en

simple

0,65
Audio

et

en

Mpeg-1

donnes

gravure

en lecture

en lecture

multiple

de Temps

transfert

daccs

DVD-Rom 2X

4,7Mo/s

150ms

DVD-Rom 8X

4,7Mo/s

150 ms

DVDVido

9,8 Mo/s

150 ms

DVD-R

11 Mo/s ?

630 ms ?

DVD-Ram

5 Mo/s

120ms

DVD-RW

n.c

n.c

DVD-Audio

n.c

n.c

CD-Rom 50X

7,5 Mo/s

70 ms

rarement

Rareme
nt

CD-Audio

150 Ko/s

70 ms

CD-R (8 X)

1,2 M0/s

120 ms

CD-RW (4 X)

600 Ko/s

120 ms

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-55-

V1.0 Hamdi Hocine

TD CHAPITRE 3 : LES MEMOIRES


EXERCICE 1:
Si un ordinateur possde une mmoire de 1Mo, quelle la taille de sa M.C. exprime :
1 en mots de 32 bits?
2 en mots de 64 bits ?
EXERCICE 2:
Trouver le nombre de bits ncessaire pour adresser une mmoire de 512 mots de 16
bits chacun.
EXERCICE 3:
On considre une mmoire de 65536 mots de 25 bits chacun. Donner le nombre de fils
ncessaires sur le bus d'adresses et sur le bus de donnes.
EXERCICE 4:
Les adresses d'une mmoire dsignent des bytes (octets). Quelle est l'adresse du
quatrime lment d'une table qui commence l'adresse (0019) H et qui est constitue
d'lments de 16 bits ?
EXERCICE 5:
Un emplacement mmoire de longueur 16, a le contenu suivant (stock dans la
technique Big Endian):
0011 1000 0011 0101. Quelle est sa signification s'il s'agit:
1 d'un entier en reprsentation binaire?
2 d'une chane de caractres en code
ISO?
EXERCICE 6:
La mmoire d'un ordinateur est organise en mots de 32 bits. On veut stocker la chane
de caractres "EPSIMA" et le nombre entier (14389)10 . Donner la disposition des chanes de
bits correspondantes (en code ISO) dans les deux techniques "Big Endian" et "Little Endian".
EXERCICE 7:
Quelle est l'adresse effective correspondant une adresse de base de code hexadcimal
(0019)H et un dplacement de (0016)H ?
EXERCICE 8:
On dispose de botiers mmoire de capacit 8Kx1byte, chacun tant muni d'une broche
de slection. Montrer comment on peut construire un module de mmoire de 64Kbytes, en
faisant clairement ressortir le cblage des bus d'adresses et de donnes.
EXERCICE 9:
1Mmes questions que pour l'exercice 8 avec botier = 4Kx4bits, et taille mmoire =
8Ko.
2Mmes questions que pour l'exercice 8 avec botier = 8Kx8bits, et taille mmoire =
64Kmots de 16 bits.
3Mmes questions que pour l'exercice 8 avec botier = 4Kx2bits, et taille mmoire =
8Ko.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-56-

V1.0 Hamdi Hocine

EXERCICE 10 : (de consolidation !) Toutes les questions sont indpendantes.


Considrons deux ordinateurs : A avec une mmoire organise en octets, et B avec une
mmoire organise en mots de 32 bits.
Soit la chane de caractres DIMANCHEsp23spJANVsp00? (sp signifie space = le
caractre espace).
1) Donner le nombre demplacements-mmoire ncessaires pour stocker la chane de
caractres code en ASCII, dans les cas des ordinateurs A et B.
2) Si le bus dadresses est 8 fils, quelle est la taille de lespace adressable dans chaque
cas ?
3 Si le bus de donnes est 8 bits, quel est dans chaque cas le nombre doprations
dchange entre le processeur et le contrleur de la mmoire, pour stocker en mmoire la
chane de caractres code en ASCII ?
4) Si le bus de donnes est 32 bits, mme question que la question 3).
5) On veut stocker le message cod en ASCII en mmoire de lordinateur A, donner la
disposition en mmoire des chanes de bits correspondantes dans les deux techniques "Big
Endian" et "Little Endian".
6) Pour lordinateur B, mme question que 12)
7) Donner pour les codes ISO et Baudot, le nombre de bits total ncessaire pour coder ce
message.
8) Si le message est transmis en mode asynchrone (1bit parit, 1bit start, 1bits stop), donner
dans chacun des 2 cas (ISO et Baudot) le nombre de bits total reus par limprimante.
EXERCICE 11:
On considre un ordinateur disposant d'une antmmoire de temps de cycle 100ns. Sa
mmoire centrale a un temps de cycle de 600ns.
1 Quel est le temps de cycle apparent de la mmoire si on suppose un taux de russite de
80%?
2 Quel est le gain relatif par rapport une architecture sans antmmoire?
EXERCICE 12:
On considre un systme de pagination, la table des pages est en M.C. qui a un temps
de cycle de 750ns. Le temps d'accs au tampon de traduction d'adresses est de 50ns. La
probabilit de trouver l'adresse cherche dans le tampon (taux de russite) est de 80%.
1 Quel est le temps d'accs moyen une donne se trouvant en M.C. ?
2 Quelle est la dgradation (perte de vitesse) par rapport un systme sans
pagination.
EXERCICE 13 :
On considre un systme de mmoire virtuelle bas sur la pagination. La table des
pages est en mmoire centrale (ram). De plus lordinateur possde un tampon de traduction
dadresses. Donner les diffrentes squences daccs aux mmoires qui peuvent tre
ncessaires, sachant que :
- si une traduction dadresse de page est dans le tampon de traduction, alors la page est
obligatoirement prsente en mmoire centrale ;
- dans la table des pages ne se trouvent que les adresses de pages virtuelles se trouvant en
ram.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-57-

V1.0 Hamdi Hocine

EXERCICE 14 :
On considre maintenant un systme de mmoire virtuelle bas sur la pagination. La
table des pages est en mmoire centrale (ram). De plus lordinateur possde un tampon de
traduction dadresses et une mmoire cache. Donner les diffrentes squences daccs aux
mmoires qui peuvent tre ncessaires, ainsi que quelques squences qui ne se produiront
jamais, sachant que :
- si une traduction dadresse de page est dans le tampon de traduction, alors la page est
prsente en mmoire centrale ;
- si un bloc de mmoire est dans la mmoire cache, alors la traduction dadresse de sa page
est obligatoirement dans le tampon de traduction ;
- dans la table des pages se trouvent toutes les adresses de pages virtuelles se trouvant en
ram.
EXERCICE 15:
Une unit de disque dur possde 4 plateaux (disques) ayant les caractristiques
suivantes: une tte de lecture/criture par disque, une seule tte fonctionne une instant
donn, 600 pistes par disque, 512 octets par secteur, vitesse de rotation de 3000 tours par
minute.
1 Quelle est la capacit de stockage de l'unit de disque?
2 Quel est son taux de transfert?
3 Quel est le temps de transfert d'un secteur ?
EXERCICE 16:
On veut calculer le temps moyen de transfert en mmoire centrale d'un fichier
squentiel stock sur disque dur. Les changes entre l'unit de disque et la M.C. s'effectuent
par l'intermdiaire d'un canal. Une zone de mmoire tampon associe au disque reoit les
caractres lus sur le disque; le transfert vers la M.C. s'effectue soit quand la zone tampon est
pleine, soit quand le fichier a t entirement lu. Les caractristiques sont les suivantes:
Temps moyen de positionnement de la tte de lecture/criture sur une piste: 20 ms; *Temps
de dpt ou de soulvement de la tte de lecture criture: 5 ms ; * Vitesse de rotation du
disque: 6000 tr/mn; *Vitesse de transfert du canal: 10 Mo/s; * Taille du tampon: 5000 octets;
* Taille du fichier 3000 caractres; *Codage d'un caractre: 8 bits; *Tous les caractres du
fichier sont sur un mme cylindre; *Nombre de cylindres: 128; *Nombre de secteurs par
piste: 50; *Taille d'un secteur: 1024bits dont 24 sont reservs pour un pointeur vers le secteur
suivant.
1Quel est le nombre de secteurs ncessaire au stockage du fichier?
2Quel est le temps moyen pour lire un secteur, en supposant que la tte est sur la
bonne piste?
3Quel est le temps moyen de transfert de ce fichier entre le disque dur et la M.C. ?
4 Mme question que 3 si le fichier a une taille de 6000 caractres.
5Mme question que 3 si le fichier de 3000 caractres est stock sur 3 cylindres
diffrents
6Mme question que 3 si le fichier de 3000 caractres est toujours stock sur 1 seul
cylindre, et la taille du tampon est de 500 octets.

-Chapitre 3 : Les mmoires-

-Notions de structure machine-

-58-

V1.1

Hamdi Hocine

CHAPITRE IV : LUNITE CENTRALE DE TRAITEMENT ou CPU

-I- ARCHITECTURE STANDARD DUN CPU


1 Notion darchitecture
On dsigne par ce terme tous les aspects concernant :
-

la structure : interconnexion entre les divers composants matriels,

lorganisation : gestion des units fonctionnelles et leur interaction dynamique,

la ralisation : dtail de la construction de chaque lment,

le fonctionnement : dcrit le comportement du systme complet, y compris ses


performances.
Lutilisateur ordinaire ne sintresse quau fonctionnement du processeur, et un degr

moindre lorganisation interne des diffrents composants quand il doit effectuer une
programmation en assembleur. Seul lutilisateur devant effectuer une conception ou une
ralisation matrielle peut sintresser aux deux autres aspects.

2Principe du processeur

Lunit centrale est la fois le cur et le cerveau de lordinateur. Elle est constitue du
processeur central de traitement (CPU : central processing unit) et de la mmoire centrale. Les
donnes traiter et les programmes excuter par le processeur sont stocks en mmoire
centrale. Le processeur est capable dinterprter (dcoder) et dexcuter les instructions des
programmes.
Compte tenu des progrs de la technologie VLSI (very large scale integration) qui a
atteint des degrs dintgration trs levs (plusieurs millions de transistors sur un centimtre
carr), on a pu intgrer dans le processeur beaucoup de composants qui auparavant taient
raliss part (coprocesseur arithmtique, mmoire cache de niveaux 1 et 2, module de calcul
3D,). On obtient donc en bout de course une trs forte miniaturisation, do le nom de
microprocesseur.
On a lhabitude de distinguer lintrieur du cpu plusieurs units fonctionnelles qui
nont pas obligatoirement une existence physique. On distingue trois entits (ou groupes
dlments) :

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-59-

V1.1

Hamdi Hocine

-lunit arithmtique et logique (ALU) qui effectue les diffrents traitements : oprations de
test, oprations arithmtiques, oprations logiques ;
-lunit de contrle ou de commande (CU) qui est le vritable chef dorchestre de
lordinateur. Cest elle qui va chercher successivement les instructions dans la mmoire, les
interprte (dcode), et selon le rsultat de cette interprtation, ordonne lalu et aux autres
organes (mmoire centrale, units dentre sortie, lments du processeur) deffectuer chacun
le travail qui le concerne (en leur envoyant des signaux par activation des lignes physiques
ncessaires), pour obtenir le rsultat final qui est la bonne excution de linstruction.
Il est remarquer que lutilisateur na pas du tout se proccuper du travail de lunit
de commande;
-les registres qui constituent la mmoire locale et prive de niveau zro du processeur (la
mmoire cache interne du processeur constituant le niveau 1). Ce sont des units de
mmorisation trs rapides et de capacit limite et fige appele longeur du registre. Ils
servent essentiellement la mmorisation temporaire des informations, et certains comme le
compteur ordinal (PC : Program Counter) ou le le pointeur de pile (SP : stack pointer) ont une
fonction bien prcise. Nous ntudierons que les registres accessibles lutilisateur par
programmation.

3 Structure et organisation interne du processeur

Les informations circulent lintrieur du processeur sur des bus internes. Ces
derniers sont relis aux bus de donnes et dadresses de lordinateur par le biais de deux
registres particuliers appels buffers de donnes et dadresses, qui ont la mme taille que les
bus respectifs auxquels ils sont relis.
Les registres sont regroups sur le dessin (figure 4-1) de manire fonctionnelle. Dun
cot les lments qui interviennent directement dans les oprations arithmtiques ou
logiques : lunit arithmtique et logique (ALU), laccumulateur (ACC) et le registre des
indicateurs (PSW). De lautre ct on trouve les lments qui interviennent directement dans
la lecture et le dcodage des instructions du programme : lunit de commande (CU) et le
registre dinstructions (RI). Au milieu on trouve les registres auxiliaires (R1 Rn) et tous les
registres qui ont une fonction spcifique: le compteur ordinal (PC), le pointeur de pile (SP), le
registre dindex (X), le multiplexeur (qui est reli aux diffrents chemins de donnes et
dadresses).

-Chapitre 4 : Le Processeur (CPU)-

-60-

-Notions de structure machine-

V1.1

Hamdi Hocine

BUS DE
DONNEES
BUFFER
DONNEE
Bus interne au microprocesseur

RI
Code partie
Oper. Adresse

MULTIPLEXEUR
X

ACCUMULATEUR
Rn

R1

SP

V
ALU

Dcodeur
dinstructions

PC

N
Z

Squenceur
UNITE DE
COMMANDE
-----

C
PSW

BUFFER
ADRESSE

----BUS
DADRESSES

Signaux de
commande

Figure 4-1 : architecture standard dun microprocesseur

oprande

mmoire

oprande

ALU

tampon de
sortie

ACC
C V N Z

rsultat

multiplexeur

tampon
dentre

RI
bits 11 0

Figure 4-2 : chemins de donnes de Mimosa

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-61-

V1.1

Hamdi Hocine

4 Les registres
Les registres constituent la seule partie du processeur accessible lutilisateur, on peut
y accder par des instructions machine. On distingue les registres visibles et les registres non
visibles. Pour expliquer la structure et lorganisation du processeur telles quelles sont vues
par le programmeur, il suffit de dcrire les registres visibles. Ce nest que dans le cas o lon
veut tudier la ralisation et le fonctionnement interne du processeur que lon sintresse aux
registres non visibles.
Un registre a une longueur (capacit) comprise entre 1 et 128 bits, avec des valeurs
typiques de 8, 16, 32 ou 64 bits.
4a- Laccumulateur
Il sert pour toutes les oprations arithmtiques et la plupart des oprations logiques. Il
contient un oprande au dbut de lopration, puis le rsultat la fin de lopration. Sur la
figure

4-2 on peut voir en gras le chemin des donnes pour une opration arithmtique. Un

des oprandes arrive lALU par un bus interne, en venant de laccumulateur. Le deuxime
oprande vient de la mmoire par le biais du bus de donnes de lordinateur, rentre dans le
processeur travers le buffer de donnes, pour atteindre enfin lALU travers un bus interne.
Une fois que lALU a effectu le travail, le rsultat arrive laccumulateur via un bus interne
et le multiplexeur.
Il est remarquer que toutes ces oprations seffectuent sous le contrle de lunit de
commande, qui envoie (dans un ordre prcis) les signaux pour chaque lment afin que cette
opration arithmtique seffectue correctement.
Laccumulateur est galement un passage oblig (zone de transit) pour toutes les
oprations entre la mmoire et les units dentre sortie (cf figure 4-2).
Enfin il peut servir de compteur ou de dcompteur, car son contenu peut tre
incrment ou dcrment par des instructions spcifiques.
Remarque : Comme laccumulateur est appel recevoir des donnes, il a la mme taille que
les autres registres de travail. Cette taille est en gnral gale celle du bus de donnes.
Compte tenu de limportance de ce registre, certains processeurs possdent deux
accumulateurs (voire plus).
4b-Le multiplexeur
Le multiplexeur est reli aux diffrents chemins de donnes et dadresses. Il permet
deffectuer un aiguillage pour la slection du chemin que doivent emprunter les informations,
compte tenu du fait que tous les registres sont relis aux bus (cf figure 4.3).

-Chapitre 4 : Le Processeur (CPU)-

-62-

-Notions de structure machine-

V1.1

Hamdi Hocine

4c-Les registres auxiliaires


Ils sont plus ou moins nombreux selon le processeur. Ce sont des zones de stockage
temporaire de linformation pour lutilisateur.

4d-Le compteur ordinal : PC


Il contient ladresse de la prochaine instruction excuter.
Son contenu est donc envoy au registre adresse de la mmoire de lordinateur en
empruntant le chemin : bus interne, multiplexeur, buffer dadresses, et enfin le bus dadresses
de lordinateur (cf figures 4-1 et 4-3). Une fois que le contenu du PC est dpos sur le bus
dadresses, lunit de commande donne lordre de lecture la mmoire. Le contenu de
ladresse (qui correspond en fait au code dune instruction) se retrouve automatiquement dans
le registre dinstruction.
Lexcution dune instruction mmoire (dont l'adresse est passe par le PC)
incrmente automatiquement le PC (appel galement compteur de programmes).
Commande
Fonction

Charger

ALU

unit de sortie

ACC
dcriture
donne

Slection du

Commande

multiplexeur

chemin de
donnes

unit dentre

de lecture

ACC

ALU

Slection
du chemin de
donnes

RI
instruction
Signaux de la console (clavier)
E : tat de lunit dentre
S : tat de lunit de sortie

Dcodeur
dinstructions

Buffer donnes

C V N Z
Horloge

Squenceur
Bus donnes
adresse
Signaux de commande

Mmoire

PC

Incrmenter

Ecriture
Lecture

Multiplexeur

Registre adresses

Buffer adresses

Bus adresses

Figure 4-3 : chemins dadresses, lignes de commande et dtat de Mimosa

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-63-

V1.1

Hamdi Hocine

4e-Le registre dinstructions : RI


Une fois que linstruction arrive au registre dinstruction RI, le dcodeur dcode (ou
interprte) linstruction. Le dcodage permet de reconnatre lopration effectuer (addition,
soustraction, test,) et des signaux de commande seront alors activs par lunit de
commande (cf figure 4-3) pour permettre lexcution de linstruction. En cas de besoin le
processeur (en ralit lunit de commande) retournera en mmoire pour chercher un autre
oprande, comme par exemple dans le cas des instructions de lecture mmoire ou d'addition
du contenu de l'accumulateur avec le contenu d'une adresse mmoire (cf exemple figure 4-6).

Remarque : ce registre est souvent considr comme faisant partie de lunit de commande.

4f-Le registre index : X


Il permet deffectuer ladressage index (cf paragraphe III-3-4). Certains processeurs
peuvent avoir plusieurs registres dindex.

4g-Le registre des indicateurs PSW (processor status word)


Ce registre rassemble un ensemble de bits ou indicateurs (cf paragraphe III-2) qui
donnent des informations sur le rsultat de lexcution dune instruction. Parmi ses bits les
plus utiliss on trouve le bit C (carry), le bit de dbordement V (overflow), le bit Z (zro) et le
bit N (signe).

4h-Le pointeur de pile : SP (stack pointer)


Il donne ladresse de la prochaine position mmoire libre sur la pile. La pile est une
petite partie de la mmoire RAM utilise pour sauvegarder temporairement le contenu des
registres, lorsque cela est ncessaire (par exemple pour sauvegarder l'adresse de retour lors
dun appel de sous programme ou dune interruption). Ladresse de la prochaine position
mmoire utiliser pour cette sauvegarde est donne par le registre SP (cf paragraphe III-1).

Remarque : il existe des piles lifo (last in first out) o la dernire information crite en
mmoire est la premire sortir, et des piles fifo (first in first out) o la premire information
crite en mmoire est la premire en sortir.

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-64-

V1.1

Hamdi Hocine

5Les signaux dentr sortie du processeur


Toutes les lignes des trois bus (donnes, adresses et commande), ainsi que des lignes
dalimentation et dhorloge sont raccordes au processeur. Contrairement la figure 4-3 o
mme des lignes internes dtat et de commande sont reprsentes, sur la figure 4-4 seules
certaines lignes (accessibles lutilisateur) ncessaires la comprhension du fonctionnement
du processeur sont reprsentes.
Parmi les lignes du bus de commande on peut remarquer que certaines partent du
processeur pour envoyer des ordres, alors que dautres arrivent au processeur soit pour la
rception dinformation soit pour recevoir des requtes.
Quand le processeur reoit une demande dinterruption par la ligne INTerruptREQuest, il termine dabord le travail en cours et, sil est programm pour rpondre aux
interruptions, il autorise linterruption par la ligne INT-ACKnowledge, avant dexcuter la
procdure prvue en cas dinterruption. Il est remarquer que les processeurs possdent
plusieurs lignes dinterruption.
Pour acclrer certains transferts entres les units priphriques et la mmoire,
certaines units dentre sortie accdent directement la mmoire sans passer par le
processeur. Pour cela elles mettent une demande daccs direct la mmoire (Direct
Memory Access) en activant la ligne DMA-REQ. Si le processeur accepte il active la ligne
DMA-ACK.
La ligne Reset permet de rinitialiser le processeur, par criture d'une valeur initiale
dans chaque registre du processeur. Cette valeur vaut 00 pour la plupart des registres d'o le
terme de remise zro.
Remarque: la rinitialisation hard (ou froid) de lordinateur consiste rinitialiser le
processeur et crire la mme valeur (hexadcimale 00 ou FF) dans tous les emplacements
mmoire de la ram.
READY
Mmoire prte

Bus dadresses

INT-REQ
Demande dinterruption
INT-ACK
Autorisation dinterruption
DMA-REQ
Demande daccs DMA
DMA-ACK
Autorisation daccs DMA
RESET

Bus de donnes
PROCESSEUR

Lecture mmoire
Ecriture mmoire
Lecture priphrique
Ecriture priphrique

Figure 4-4 : les signaux dentre sortie du processeur


-Chapitre 4 : Le Processeur (CPU)-

-65-

-Notions de structure machine-

V1.1

Hamdi Hocine

ORDINATEUR VIRTUEL MIMOSA


Bus dadresses : 12 bits
Code opration : 4 ou 8 bits selon que linstruction ncessite un oprande explicite ou non
Registre dinstructions : 16 bits
Accumulateur : 16 bits
4 Registres auxiliaires 16 bits : R0 , R1 , R2 , R3
Bus de donnes : 16 bits
Pile : adresses de (000)16 (0FF)16

Langage assembleur de Mimosa


Code
Mnmonique Oprande
Signification
opration
ou Adresse
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F0

SAUTSP
NOMBRE
CHARGER
DEC
STOCKER
ET
ADD
SUB
SAUT
SAUT, N
SAUT , Z
INC
SAUT , C
SAUT , E
SAUT , S
ROG

Indicateurs
modifis

aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa

(Appel de S/P) PC:= aaa ; SP:= (SP) + 1


ACC := aaa *
N,Z
Acc := m(aaa) **
N,Z
Dcrmenter le contenu de ladresse aaa
N,Z,C
m(aaa) := (ACC) **
ACC := (ACC) and (m(aaa))
Z
ACC := (ACC) + m(aaa)
N,Z,C,V
ACC := (ACC) m(aaa)
N,Z,C,V
PC := aaa
Si N = 1 alors PC := aaa
***
Si Z = 1 alors PC := aaa
***
Incrmenter le contenu de ladresse aaa
C,V,Z
Si C = 1 alors PC := aaa
***
Si E = 1 alors PC := aaa
***
Si S = 1 alors PC := aaa
***
Rotation gauche : dcalage gche de (ACC)
Z,C,V
et mise du Carry dans le bpp faible de ACC
F1
NEG
ACC := - (ACC)
N,Z
F2
ENTREE
ACC := (tampon dentre)
N,Z,E
F3
SORTIE
tampon de sortie := (ACC)
N,Z,S
F4
NOOP
Aucune opration faire
F5
HALTE
Fin ; le processeur se met en attente
F6
RETSP
Retour de sous programme
F7
PSHA
Pile := (ACC)
F8
EFFACEAC
Mettre zro laccumulateur
Z
F9
EFFACERN
Mettre zro lindicateur N
N
FA
EFFACERZ
Mettre zro lindicateur Z
Z
FB
ROD
Rotation dte : dcalage dte de (ACC) et
Z,C
mise du Carry dans le bpp fort de ACC
FC
EFFACERC
Mettre zro lindicateur C
C
FD
DECD
Dcalage droite de (ACC)
Z,C
FE
DECG
Dcalage gauche de (ACC)
Z,C
FF
PULA
ACC := (Haut de la Pile)
N,Z
* : = signifie assignation dune valeur au contenu dune adresse ou dun registre,
par exemple PC := 1 ou m(aaa) := 1, signifie mise de la valeur 1 dans le PC ou dans ladresse aaa
** ( ) la mise entre parenthses dun registre ou dune adresse signifie contenu du registre ou de ladresse
*** En ralit les instructions de saut conditionnel sont des instructions adressage relatif. Voir chapitre
IV-3-3 pour les diffrents modes dadressage (page 75)
Remarque importante: Le tableau mentionne les indicateurs dtat qui peuvent tre modifis par lexcution
des instructions. Nous ferons lhypothse que les indicateurs N,Z,C, et V ne sont jamais mis zro
automatiquement. Ainsi par exemple, si lindicateur N vaut 1 avant lexcution dune instruction CHARGER, il
vaudra encore 1 la fin de celle-ci, mme si la valeur affecte laccumulateur a un signe positif. Il convient
donc de faire attention et de mettre, si ncessaire, explicitement les indicateurs zro par les instructions
EFFACER.

Figure 4-5 : programmation de lordinateur virtuel mimosa

-Chapitre 4 : Le Processeur (CPU)-

-66-

-Notions de structure machine-

V1.1

Hamdi Hocine

-II- FONCTIONNEMENT DU PROCESSEUR


Pour illustrer le fonctionnement du processeur, on se servira du processeur virtuel
mimosa (et de lordinateur virtuel de mme nom) dont la structure est conforme celle
donne figure 4-1, et dont le langage assembleur est dcrit la figure 4-5. Il possde un bus
dadresses 12 bits. Quant au bus de donnes et l'accumulateur (ainsi que l'ALU), ils auront
une taille de 8 ou 16 bits en fonction des besoins pdagogiques (donc de la partie du cours
traiter). Les autres registres gardent la mme taille indique sur la figure 4.5 .
1Structure dinstruction et adresse mmoire
Partons dun exercice simple donn sous forme de phrases, et essayons de le transcrire
en langage assembleur de mimosa, puis de le stocker en mmoire. On va supposer qu'on a un
bus de donnes 8 bits (donc un ACC 8bits, une ALU qui traite des mots de 8 bits).
1a-Exemple de programme
-1-Charger (dans laccumulateur) la valeur (35)h
-2-Ladditionner avec le contenu de ladresse mmoire (B4F)h
-3-Stocker le rsultat ladresse mmoire (36E)h
-4-Stop

INSTRUCTION
Nde ligne Mnmonique
Argument
Code hexadcimal
dinstruction
ou Oprande de linstruction
1
NOMBRE
35
135
2

ADD

B4F

6B4F

STOCKER

36E

436E

HALTE

F5

Commentaires
Mettre (35)h dans
ACC
Additionner contenu
de ACC avec contenu
de ladresse B4F
Stocker le rsultat
(contenu dans ACC)
ladresse 36E
Arrt du programme

1b-Stockage du programme en mmoire


Pour stocker les donnes en mmoire, mimosa (comme le processeur 68000 de
MOTOROLA) traite les bits de poids le plus fort en premier. Certains processeurs (comme le
8080 et toute la srie 80xx de INTEL) traitent les bits de poids le plus faible en premier.
On va supposer que la mmoire est organise en octets, il sagit alors de dcrire le
contenu de la mmoire si le programme est stock partir de ladresse 200.

-Chapitre 4 : Le Processeur (CPU)-

-67-

-Notions de structure machine-

Adresse mmoire Contenu


(hexadcimal)
200
13
1instruction
201
5202
6B
2instruction
203
4F
204
43
3instruction
205
6E
206
F5
4instruction

V1.1

Hamdi Hocine

Remarque : on observe que les


instructions occupent des nombres
demplacements mmoire diffrents:
certaines en occupent deux alors que
dautres en occupent un seul. Sur certains
processeurs ce nombre varie de 1 4.

1c-Contenu des adresses mmoire affectes aux donnes


Adresse mmoire
36E
B4F
ACC

Contenu avant excution


21
52

Contenu aprs excution


87
52
87

1d-Excution du programme
Essayons de suivre les diffrentes phases dexcution de chaque instruction, en
prcisant chaque fois les contenus des bus et des diffrents registres.
Numro
Phase de
Instruction linstruction
1

1
2
3
4
5
1
2
3
4
5
6
7
1
2
3
4
5
6
1

Ligne
write
memory

Ligne
Read
memory
1
1

1
1

PC

200
201
201
202
202
202
203
203
204
204

Bus
Bus
adresses donnes
200
200
201
201
202
202
203
203
B4F
B4F

13
55-

13-13-135135-

6B

6B--

4F

6B4F

52

204
205
205
206

204
204
205
205
36E

6E
87

207

206

F5

RI

43

ACC

35
35
35
35
35
35
35
87

43-43-436E

1
F5--

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-68-

V1.1

Hamdi Hocine

Remarques :
Les lignes read et write memory ne fonctionnent pas sur des niveaux mais sur des
fronts : ce nest pas la valeur 0 ou 1 qui provoque un changement dtat, mais lactivation
correspond au passage de ltat logique 0 1 (pour read) et de 1 0 (pour write).
On a dcompos chaque instruction en un certain nombre de phases lmentaires.
Mme si ce nombre a t exagr pour plus de clart, cette dcomposition existe
effectivement dans la ralit, et le nombre de phases est diffrent dune instruction lautre.

2Notions de cycle et tat


2a-Dfinition
Un cycle (ou cycle processeur ou cycle machine) est le temps ncessaire pour effectuer
une opration de lecture ou dcriture.
Chaque cycle comprend deux phases : une phase recherche (fetch) et une phase
excution. Chaque phase comprend plusieurs tats qui correspondent chacun une priode de
lhorloge de commande. Pour un processeur de frquence 100 Mhz, la priode est donne
par : T=1/f=10.10-9 = 10 ns.
Pour simplifier on a lhabitude de parler de cycle dinstruction, et on dit que chaque
cycle comprend deux tapes : une tape recherche de linstruction et une tape excution de
linstruction. En fait on devrait parler de micro-instructions, car dans la plupart des cas,
chaque instruction du programme comprend plusieurs cycles lmentaires (appels cycles
machine), et chacun deux est effectivement constitu dune phase recherche et dune phase
excution (cf figure 4-6). Le nombre de cycles machine est diffrent dune instruction
lautre.
2b-Droulement dune instruction : fetch et excution
Reprenons linstruction STOCKER 36E de lexemple prcdent, et dcomposons
la en phases recherche et excution en fonction des priodes dhorloge (figure 4-6).
La premire phase recherche amne le code opration de linstruction (4) dans le
registre dinstructions RI. Aprs dcodage, lunit de commande reconnat linstruction
dcriture mmoire, et sait quelle doit effectuer une autre phase recherche pour aller chercher
la partie basse de ladresse dcriture (6E), puis une autre phase recherche pour dposer
ladresse contenue dans le registre RI (36E) sur le bus dadresses et sortir le contenu de
laccumulateur (87) sur le bus de donnes, et enfin une phase excution pour lcriture
mmoire (criture du contenu du bus de donnes ladresse mmoire indique par le bus
dadresses).

-Chapitre 4 : Le Processeur (CPU)-

-69-

-Notions de structure machine-

V1.1

Hamdi Hocine

HORLOGE
T1

T2 T3

T4

T1

T5

T2 T3 T4 T5

T1 T2 T3

T4 T5

Recherche

Excution

ETATS
Recherche
PHASES
CYCLES
machine
OPERATIONS

Recherche

Excution

cycle M2

cycle M1
43  RI
dcodage :
STOCKER

Excution

6E  RI

inutilise

cycle M3

inutilise

(A)Data Bus

206
CONTENU PC

204

205

*Aprs dpt du contenu du PC


sur le bus dadresses, lecture du
contenu de cette adresse mmoire.
En gnral il correspond au code
opration de linstruction, qui est
envoy dans la partie code
opration du registre dinstruction
RI. Dans notre cas transfert de 43
de la mmoire vers RI
*Pendant que se droule la lecture
mmoire, le PC est incrment
pour prparer la prochaine lecture
*Le dcodage du code opration
seffectue la fin de la phase
recherche

205

(A)(36E)

206

206

*Recherche de loctet de
poids faible de ladresse qui
est envoy dans la partie
adresse du registre RI.

(A)  contenu de ACC


(36E)  contenu de
ladresse 36E

*La partie adresse criture


de RI est dpose
mmoire
sur le bus
dadresses,
*le contenu de
laccumulateur est dpos
sur le bus de donnes,
*un ordre dcriture est
envoy la mmoire.

Registre
dinstructions
vers bus dadresses
ou bus de donnes

Figure 4-6 :dtail de lexcution de linstruction STOCKER 36E de mimosa

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-70-

V1.0

Hamdi Hocine

-III- LE LOGICIEL DU CPU


1 Pile et sous-programme
1-a Dfinition
Une partie de programme excute n fois sera extraite du programme principal et
utilise comme sous-programme. Un sous-programme est donc utilis pour des tches
rptitives.
SAUTSP : est le mnmonique utilis par mimosa pour effectuer un saut vers le sousprogramme,
RETSP: plac la fin du sous-programme, il permet de revenir au programme qui a effectu
lappel (en gnral le programme principal).

-1-b-Pile
La pile est une partie de la mmoire ram utilise pour sauvegarder les contenus des
registres, lorsque cela est ncessaire (par exemple pour sauvegarder l'adresse de retour et le
contenu du registre dtat, lors d'un appel de sous-programme ou d'une interruption).
L'adresse de la prochaine position mmoire utiliser pour sauvegarder des donnes
(ou des adresses) est tout instant donne par le pointeur de pile: SP (stack pointer).
Il existe des piles LIFO ( last in first out ) et des piles FIFO ( first in first out ). La
pile de Mimosa est de type lifo, cest dire que la dernire information crite sur la pile est la
premire tre lue.
Le pointeur de Pile est dcrment par une criture dans la Pile, et incrment par une
lecture. Les instructions dcriture et de lecture de Mimosa sont PSHA et PULA.

1-c- excution de SAUTSP et adresse de retour


L'adresse de retour est mise dans la pile en mme temps que s'excute linstruction
d'appel de sous-programme. L'adresse de retour, qui est celle de la prochaine instruction
excuter du programme principal (et qui se trouve par consquent dans le PC la fin de la
phase recherche) est automatiquement mise dans la pile.

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-71-

V1.0

Hamdi Hocine

Remarques :
-

Comme le SP est appel recevoir une adresse, sa taille est gale celle de PC, soit 12
bits pour mimosa.

Mimosa traite les octets de poids fort en premier quand on procde une criture dans la
pile. Quand on lit de la pile on traite les octets de poids faible en premier (car la pile est de
type lifo).

La mmoire de mimosa est organise en 16 pages de 256 emplacements mmoire chacune


(bus dadresses 12 bits) . La pile de mimosa occupe la page 0, c'est--dire les adresses
mmoire 000 jusqu' 0FF.

Exemple : (supposons que Mimosa possde une mmoire organise en octets)


Soit excuter dans un programme linstruction SAUTSP 3EF . Cette instruction
est stocke en mmoire partir de ladresse 200, et occupe deux emplacements mmoire (cd
deux octets). Ce sont les adresses 200 (contenu 03) et 201 (contenu EF). La prochaine
instruction est donc stocke partir de ladresse 202.
Essayons de reprsenter les contenus de SP, PC, et la pile, avant et aprs lexcution
de linstruction de saut au sous programme.
AVANT EXECUTION DE SAUTSP

APRES EXECUTION DE SAUTSP

Pile

PC

0FF
0FE

Pile

--------------

0FF
0FE
0FD

PC

202

3EF

SP

SP

0FF

0FD
000

20
2--------------

000

Ladresse de retour , qui est naturellement ladresse de la prochaine instruction


excuter du programme principal, et qui se trouve dans le PC, est automatiquement mise dans
la pile. On remarque galement que le pointeur de pile est dcrment deux fois (deux
critures dans la pile). Ce qui fait que la prochaine position de libre sur la pile est ladresse
0FD, et elle est donne correctement par le pointeur de pile.

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-72-

V1.0

Hamdi Hocine

1-d- excution de RETSP


L'excution de RETSP ramne dans le PC ladresse stocke dans la pile, lors de l'appel
du sous programme, et modifie donc le contenu de SP en consquence.
Lors de la lecture de la pile, on traite la partie basse de l'adresse en premier.
AVANT EXECUTION DE RETSP

APRES EXECUTION DE RETSP

Pile

PC

0FF
0FE
0FD

20
2--------------

Pile

PC

0FF
0FE

--------------

202

SP

SP

0FD

0FF
000

000

-1-e-Gestion de la Pile
La gestion de la pile est automatique lors de lappel ou du retour dun sousprogramme. Mis part le PC, aucun autre registre n'est sauvegard automatiquement dans la
pile.
Les instructions de Mimosa de sauvegarde et de lecture sont: PSHA et PULA.

-1-f-Exemple dapplication
Considrons le programme suivant pour Mimosa (dont la mmoire est suppose
organise en octets). Donner le contenu de la PILE, de SP, de PC et RI, la fin de la phase
recherche et la fin de la phase excution de chaque instruction. Ltat initial correspond
(PC) = 200; (SP) = 050.

-Chapitre 4 : Le Processeur (CPU)-

-73-

-Notions de structure machine-

V1.0

PROGRAMME PRINCIPAL
Numro
Instruction

1
2
3
8

Adresse
mmoire
200
--25C
25E
25F
261
262
--350

Hamdi Hocine

SOUS PROGRAMME 1

Mnmonique

Adresse

--------NOMBRE
PSHA
SAUTSP
PULA
--------HALTE

----2F5

Numro
Instruction
4
5

400
-------

Adresse Mnmonique Adresse


mmoire
400
NOOP
----------420
SAUTSP
600
422
NOOP
--------500
RETSP

SOUS PROGRAMME 2
Numro
Instruction

Adresse Mnmonique Adresse


mmoire
600
NOOP
----------620
RETSP

SOLUTION :
REGISTRES
Ninstruction Contenu Contenu
et phase
PC
RI
Etat Initial
1 recherche
1 excution
2 recherche
2 excution
3 recherche
3 excution
4 recherche
4 excution
5 recherche
5 excution
6 recherche
6 excution
7 recherche
7 excution
8 recherche
8 excution
9 recherche
9 excution

200
25E

12F5

25F

F7--

261
400
401

0400

422
600
621
422
501
261
262

0600

351

F5--

PILE
(- - signifie ladresse est vide )
Adr Adr Adr Adr Adr Adr
04F 04E 04D 04C 04B 04A

Adr
049

Contenu
SP

Adr
050

050

--

--

--

--

--

--

--

--

---2F
2F
2F
2F
2F
2F
2F
2F
2F
2F
2F
2F
----

---555555555555----

-----26
26
26
26
26
26
26
26
------

-----11111111------

---------42
42
--------

---------22--------

-------------------

-------------------

050
050
050
04E
04E
04C

F4--

04A
F6-04C
F6-04E
FF-050
050

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-74-

V1.0

Hamdi Hocine

-2-Les indicateurs et leur utilisation


Parmi les bits du registre des indicateurs PSW (Processor Status Word), les bits les
plus intressants (car les plus utiliss) sont le Carry (C), le Zro (Z) et le Signe (N).
Les indicateurs ne sont pas relatifs laccumulateur, mais la dernire instruction
excute qui a positionn les indicateurs. Il est remarquer que certaines instructions ne
modifient aucun indicateur.
Les indicateurs sont positionns un automatiquement,

mais ils ne sont

jamais positionns 0 automatiquement. Il faut donc pour les mettre 0 utiliser des
instructions spcifiques de remise 0 (cf tableau des mnmoniques de Mimosa figure 4-6).
-2-a-Lindicateur C : CARRY (ou Report ou Retenue)
Il permet dindiquer par sa valeur logique 1 :

Que le rsultat dune addition de nombres non signs a provoqu un dpassement de


capacit : il ne peut tenir sur 8 (ou 16) bits pour une addition 8 (ou 16) bits. Cest alors
un report .

Que la soustraction N1 N2 de deux nombres non signs nest pas possible, ce qui
signifie que N1 est infrieur N2. Cest alors une retenue.

La valeur logique dun bit dtat tester. Pour ce faire, le bit dtat est transfr dans le
Carry par un ou plusieurs dcalages du contenu du registre contenant le bit dtat
tester.
-2-b-Lindicateur de signe N
Les nombres signs sont gnralement exprims en complment 2, le bit le plus

significatif tant le bit de signe. Sa valeur est 0 pour un nombre positif et 1 pour un
nombre ngatif.
La valeur 1 de lindicateur de signe N indique donc quil sagit dun nombre
ngatif.
On utilise lindicateur de signe N pour indiquer que le bit le plus significatif
(poids fort) dun nombre est 1.
-2-c-Lindicateur de dbordement V (ou Overflow)
Cet indicateur est mis un lorsquil y a un dpassement de capacit pour des
oprations arithmtiques en complment 2. Ainsi pour des nombres de 8 bits par
exemple, le rsultat dune opration arithmtique ne doit pas dpasser 128 ou +127. Du
point de vue fonction logique, lindicateur V est le OU-exclusif du CARRY et du SIGNE :
V=CN.

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-75-

V1.0

Hamdi Hocine

-2-d-Lindicateur zro Z
Lorsque le rsultat dune opration (arithmtique, logique, de chargement) est
nul, cet indicateur prend la valeur logique 1.
Ainsi dans le cas de la comparaison de deux nombres N1 et N2, il suffit de faire la
soustraction N1N2. Si les deux nombres sont gaux, le rsultat est nul et lindicateur Z se
met 1.
Par ailleurs si lon tient compte de ce qui a t dit sur le carry, lgalit N1 = N2 se
traduit par C=0 et Z=1. Si C=1 et Z=0, cela signifie que N1 < N2. Par contre Si C=0 et Z =
0, alors N1 > N2. Il est remarquer que la situation C=1 et Z=1 la suite dune opration
de soustraction est impossible.
Mais lutilisation la plus frquente de lindicateur zro est le test de fin de boucle :
si une opration ou un ensemble dinstructions doit tre excut n fois, ce nombre sera
charg dans un registre qui sera utilis en compteur quon va dcrmenter chaque
excution de la boucle. Ainsi lorsque Z sera gal 1, cela signifie que le contenu du
compteur est nul, et donc que lon a excut la boucle n fois. Une instruction spciale (de
branchement conditionnel) qui teste le bit Z permet de sortir de la boucle.

-3-Modes dadressage
Les modes d'adressage caractrisent la faon dont est obtenue l'adresse du
deuxime oprande d'une instruction, le premier oprande tant contenu dans
l'accumulateur. Nous ntudierons pas les modes dadressage indirect qui sont nombreux et
peu utiliss, pour nous concentrer sur les modes dadressage les plus courants, et qui
existent dans mimosa.

On appelle adresse effective (EA) l'adresse o se trouve rellement la donne


lire, ou bien l'adresse d'criture de la donne.

-3-a-Adressage implicite ou adressage registre


format de linstruction : Code_Opration
Le deuxime oprande est contenu dans un registre dfini par le code opration de
l'instruction elle mme, il n'y a donc pas d'adresse prciser.
Les instructions utilisant ce mode d'adressage sont celles portant sur les bits du
registre processeur status, dincrmentation et de dcrmentation de registres internes,
transfert de donnes entre registres, etc
-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-76-

V1.0

Hamdi Hocine

Pour Mimosa toutes les instructions de la deuxime partie du tableau, c'est--dire


les instructions dont le code opration commence par F sont des instructions adressage
implicite (comme par exemple PSHA, HALTE, NOOP). Ces instructions occupent un
octet.

-3-b-Adressage absolu ou direct :


format de linstruction : Code_Opration addrH addrL
Le code opration de l'instruction est suivi d'une adresse exprime en hexadcimal.
C'est la faon la plus courante de faire un adressage pour le processeur, c'est--dire d'aller
lire ou crire une donne en mmoire.

Remarque :
Dans ce mode d'adressage, pour Mimosa 1instruction occupe deux octets.

Exemple:

Instruction charger 4EB : adresse effective: EA = 4EB.

-3-c-Adressage immdiat :
format de linstruction : Code_Opration # (ou $) Donne
L'oprande est directement fourni, il n'y a donc pas d'adresse. C'est--dire qu'au lieu
de fournir l'adresse o aller crire ou lire une donne, on donne directement la donne en
question. C'est la faon la plus simple de manipuler des constantes.
L'oprande est prcd du symbole # ou $ qui est caractristique de l'adressage
immdiat.
Ce type d'adressage sert uniquement quand on veut comparer, charger dans un
registre, ou tester des valeurs connues. C'est galement la manire la plus rapide pour
initialiser un registre une valeur donne.

Remarque:
Pour Mimosa nous avons supprim le symbole ( # ou $) caractristique de
l'adressage immdiat, car nous avons utilis une instruction unique ( NOMBRE ) pour
effectuer de l'adressage immdiat. Cest pour cela quelle ressemble un adressage absolu.

-Chapitre 4 : Le Processeur (CPU)-

-77-

-Notions de structure machine-

-3-d-Adressage index :

V1.0

Hamdi Hocine

format de linstruction : Code_Opration Donne, R

L'adresse effective est la somme de deux termes : le contenu d'un registre dindex
R, et un nombre D prcis dans l'instruction et appel dplacement (offset) : EA = (R) + D.
Le nombre D correspond une adresse : si cette adresse se trouve en page 0 on
parle alors d'adressage index page 0, sinon on parle d'adressage absolu index.

L'adressage index est trs utile lorsquil s'agit d'adresser l'une aprs l'autre de
nombreuses positions mmoire situes des cases adjacentes, car le registre peut tre
incrment ou dcrment comme un compteur.
Ladressage index est fondamental dans la gestion de tables, c'est--dire de blocs
de donnes ou d'adresses.

Remarque :
Pour Mimosa, dans ce mode d'adressage, 1 instruction occupe deux octets : 4 bits
pour le code instruction (mimosa ne possde quun seul registre dindex appel X) et 12
bits pour la donne D (qui est une adresse).

Exemple : CHARGER 120,X

Adresse effective: EA = 120 + (X)


( par exemple si (X) = 5, EA = 125 ).

-3-e-Adressage relatif :

format de linstruction : Code_Opration Donne

Cet adressage est spcifique des instructions de branchements conditionnels.


La nouvelle adresse o le programme doit ventuellement se brancher (si le test est
positif ) n'est pas exprime par l'adresse absolue, mais par un dplacement par rapport au
contenu du compteur ordinal (adresse de l'instruction en cours).
Ladresse effective est donne par : EA = (PC) +i + D , o :
(PC) :

reprsente ladresse du premier octet de linstruction de branchement,

i:

est le nombre demplacements mmoire occups par linstruction de

branchement,
(PC) + i : est ladresse de la prochaine instruction en squence,
D:

est le dplacement exprim en hexadcimal et en complment 2.

Exemple :

instructions SAUT,S Donne et SAUT,E Donne

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-78-

V1.0

Hamdi Hocine

Le processeur teste le bit de signe (bit de poids le plus fort) du dplacement pour
savoir sil sagit dun dplacement positif ou ngatif. Si ce bit =0, il sagit dun
dplacement positif, cest dire que ladresse de saut ou de branchement est suprieure
ladresse de linstruction en cours contenue dans le PC. Si ce bit =1, il sagit dun
dplacement ngatif, cest dire que ladresse de saut ou de branchement est infrieure
ladresse de linstruction en cours contenue dans le PC.
L'avantage de l'adressage relatif est de ne pas comporter d'adresse absolue. Ainsi un
programme o tous les branchements sont raliss en adressage relatif, est facilement
translatable d'une zone mmoire une autre, sans devoir modifier les adresses.

Remarque :
Pour Mimosa, dans ce mode d'adressage 1 instruction occupe deux octets : 4 bits
pour le code instruction et 12 bits pour la donne D.
Comme mimosa utilise 12 bits pour coder la donne D, la valeur de D exprime en
complment 2 ne dpasse pas + 2n-1 - 1 et -2n-1 , soit 212-1 - 1 (= +2047 en dcimal) et
212-1 (= -2048 en dcimal).

Exemple dapplication :
Supposons que la mmoire de mimosa est organise en octets (donc i = 2 et
linstruction occupe deux octets). Supposons galement que linstruction occupe les
emplacements mmoire dadresses 200 et 201. Considrons les deux cas dun dplacement
positif (pour lequel EA=210) puis ngatif (pour lequel EA=1F6). Il sagit de chercher dans
les deux cas la valeur du dplacement pour linstruction SAUT,S Donne .

-a-Dplacement positif : EA = 210, calculons D.


i=2  EA = (PC) +2 +D  210 = 200 + 2 + D  D = 210 202 = 00E (soit 14 en
dcimal).

Linstruction scrira alors SAUT,S 00E .

-b-Dplacement ngatif : EA = 1F6, calculons D.


i=2  EA = (PC) +2 +D  1F6 = 200 + 2 + D  D = 1F6 202 = FF4 (soit 12 en
dcimal). En effet en dcimal cela donne D = -12 qui est ngatif  son complment
deux exprim sur 12 bits donne FF4
Linstruction scrira alors SAUT,S FF4.

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-79-

V1.0

Hamdi Hocine

TD CHAPITRE 4 : LE PROCESSEUR OU CPU


PARTIE 1 : RAPPELS DE COURS
1Quels sont les principaux lments de lunit centrale et du processeur central dun
ordinateur ?
2Que sifnifient les sigles CPU, UAL, ALU, UC, PC, PSW, SP ?
3Quelle est linterprtation quon doit donner aux contenus des registres PC, RI, et ACC ?
Conclure quant leur taille.
4Comment peut-on amener lordinateur excuter un programme dont la premire
instruction se trouve lemplacement mmoire dadresse (01F)16 ?
5Supposons quune instruction se trouve ladresse n de la mmoire. Que se passe-t-il si
aprs avoir excut cette instruction le compteur de programme prend toujours la valeur n?
PARTIE 2 : EXERCICES
EXERCICE 6 : adresses symboliques et langage assembleur de mimosa
(mmoire organise en mots de 16 bits)
Substituer toutes les adresses symboliques (adresses dinstruction et doprande)
de lexemple, des adresses numriques hexadcimales. Montrer en mme temps comment
il faut placer le programme en mmoire, si on suppose que la premire adresse utiliser est
(100)h, et que les variables a et b seront stockes respectivement aux adresses (110)h et
(111)h.
LIGNE LABEL MNEMONIQUE
1
2
3
4
5
6
7
8
9
10
11
12

aprt :

SAUT,E
SAUT
Lirea :
ENTREE
STOCKER
bprt :
SAUT,E
SAUT
Lireb :
ENTREE
STOCKER
ADD
Res_prt : SAUT,S
SORTIE
HALTE

ADRESSE
lirea
aprt

SIGNIFICATION
Si E vrai, aller lirea
Aller aprt
Mettre ds Acc contenu du tampon dentre
Mettre (Acc) ladresse mmoire de a
Si E vrai, aller lireb

a
lireb
bprt
b
a
Res_prt

m(b) := (Acc)
Acc := (Acc) + (m(a))
Si S vrai, aller Res_prt
Mettre (Acc) dans Tampon de sortie

EXERCICE 7 : langage assemleur et assemblage de programme


(mmoire organise en mots de 16 bits)
Rcrire le programme prcdent en remplaant chaque mnmonique du
langage assembleur de mimosa par son code. Donner pour chaque adresse mmoire son
contenu en hexadcimal puis en binaire.
EXERCICE 8 : dsassemblage
Lordinateur mimosa possde en mmoire le contenu indiqu par le tableau.
Adresse mmoire (hexa)
100
101
102
103

Contenu
0001 0000 0001 1001
0100 0001 0000 0101
0001 0000 0010 0000
0110 0001 0000 0101

104

1111 0101 indiffrent

1Rcrire le mme contenu en hexadcimal.


2Rcrire le programme en code
mnmonique puis donner sa signification.
-Chapitre 4 : Le Processeur (CPU)-

-80-

-Notions de structure machine-

V1.0

Hamdi Hocine

EXERCICE 9 : programmation en assembleur


On suppose que lordinateur mimosa ne possde pas dinstruction de soustraction
SUB. Ecrire un programme de calcul de a b. On supposera que la valeur de a se trouve dj
dans laccumulateur, que b occupe lemplacement mmoire dadresse (10A)16 , et que le
rsultat du programme (la diffrence) occupera laccumulateur. Le programme devra tre
stock en mmoire partir de ladresse (100)16 , et les emplacements mmoire dadresses
(10B)16 et (10C)16 peuvent tre utiliss comme espace de travail.
EXERCICE 10 : fetch et excution
En supposant que chaque instruction du programme de lexercice 8 prend un cycle
machine, et que chaque cycle est partag en 2 phases (recherche et excution), donner dans un
tableau le contenu des registres PC, RI, ACC et de lemplacement mmoire (105)16 , au cours
du droulement de lexcution de ce programme.
EXERCICE 11 : assembleur + fetch + excution
On veut prendre la valeur absolue dun nombre qui se trouve ladresse mmoire
(109)16. Pour cela on prend le nombre et on teste sil est ngatif. Si oui, on le rend positif et on
le range la mme adresse. Si non, on le range tel quel la mme adresse.
1Ecrire le programme correspondant en langage assembleur de mimosa.
2Donner le contenu des emplacements mmoire si le programme est stock partir de
ladresse (100)16 (on supposera que le bus de donnes, laccumulateur, et les emplacements
mmoire ont tous une capacit de 16 bits).
3 En supposant que le nombre est positif, donner comment le programme est excut dans le
temps, en prcisant les contenus de : Bus de donnes, Bus dadresses, PC, RI, ACC, m(109).
4Mme question que 3 en supposant cette fois que le nombre est ngatif.
EXERCICE 12 : pile et sous programme
On donne le programme suivant pour mimosa o chaque adresse est exprime sur 12
bits, et o un emplacement mmoire vaut 16 bits, et chaque instruction occupe un
emplacement mmoire.
Donner pour chacune des instructions 1 6, le contenu de la pile, de SP et de PC. Ces
contenus correspondent chaque fois ltat juste aprs lexcution de linstruction.
Ltat 0 correspond ltat aprs la phase recherche de linstruction SAUTSP 200, et juste
avant la phase excution de cette instruction. Dans cet tat on a donc (PC) = 120 et (SP) =
056. La pile occupe les adresses de 000 0FF.
N
Instr

Adr Instruction
100
----11F
120
----130

---------SAUTSP 200
---------HALTE

Programme principal

N
instr

adr
200
----24F
250
----270

Instruction
---------SAUTSP 300
---------RETSP

Sous programme 1

N
instr

3
4

adr

Instruction

300
--310
--320
----350

------PSHA
---PULA
------RETSP

Sous programme 2

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-81-

V1.0

Hamdi Hocine

EXERCICE 13 : utilisation des indicateurs Carry, Signe, Zero


Il sagit de tester un bit du registre dtat dun organe dE/S. Si le bit est 1, le
priphrique est prt et on peut faire le transfert dE/S. Sil est gal zro, le priphrique est
occup et il faut attendre jusqu ce quil soit prt. Donner pour une lecture sur le
priphrique, le programme en langage assembleur dans les trois cas suivants :
1cas : ltat prt est indiqu par le bit 20 du registre dtat
Aprs lecture du registre dtat, il est pratique denvoyer le bit dtat dans le carry par
une instruction de dcalage, et de tester le bit carry (la lecture du registre dtat correspond
un transfert de son contenu dans laccumulateur Acc).
2cas : ltat prt est indiqu par le bit 27 du registre dtat
Aprs lecture du registre dtat (transfert dans Acc), il suffit de tester lindicateur de
signe (en supposant que la lecture du registre positionne le bit N), qui sera 1 sit le bit
numro 7 du nombre lu est 1.
3cas : ltat prt est indiqu par le bit 23 du registre dtat
Le moyen le plus simple de tester ltat prt est de faire un masquage, cest dire de
mettre zro tous les bits sauf le bit prt, de sorte que lindicateur Z sera positionn (Z=1) si
prt = 0, et Z sera nul dans le cas contraire. Le masquage se fera donc par un ET logique avec
la valeur binaire 00001000 (08 en hexa). On utilisera ladresse 200 comme adresse de travail
et de stockage temporaire.
Remarque : ladresse du registre dtat PSW est 5FF.

EXERCICE 14 : algorithmie et programmation en assembleur de mimosa


Dans une table constitue de nombres logiques, on cherche dterminer llment qui
a la plus petite valeur. Ecrire lalgorithme puis le programme en langage assembleur de
mimosa.
On suppose que la table commence ladresse 300 et que sa longueur est gale 256.
La valeur min devra tre stocke en fin de programme ladresse 400. Le programme est
stock en mmoire ladresse 100. On utilisera comme zones de travail 3 registres
correspondant chacun une adresse :
-R0 : contient la valeur min provisoire
-R1 : contient ladresse du i me lment
-R2 : sert de compteur

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

-82-

V1.0

Hamdi Hocine

PARTIE 3 : CONTROLE DES CONNAISSANCES - DUREE 1H30 Adressage relatif sur Mimosa
Si la mmoire de mimosa est organise en octets, considrons linstruction de
branchement conditionnel en adressage relatif SAUT,S donne , o donne exprime le
dplacement D. Cette instruction occupe les emplacements mmoire dadresses 310 et 311.
1 Si D = 00A, quelle est la valeur de ladresse effective EA ?
2Donner la valeur de D si : a) on veut se brancher ladresse 313 ; b) on veut se brancher
ladresse 30F.
EXERCICE 3-2 : Pile et sous programme (mmoire organise en octets)
Considrons le programme suivant pour Mimosa. Donner le contenu de la PILE, de
SP, de PC et RI, la fin de la phase recherche et la fin de la phase excution de chaque
instruction. Ltat initial correspond (PC) = 200 ; (SP) = 050 ; (Acc) =2FB3.
EXERCICE 3-1 :

PROGRAMME PRINCIPAL
Numro
Adresse Mnmonique Adresse
Instructio
Mmoire
200
--------------220
PUSHA
1
--------22F
SAUTSP
400
2
--------235
PULA
8
--------250
HALTE
9

Numro
Instructio

3
4

5
6

SOUS PROGRAMME
Adresse Mnmonique
Mmoire
400
----------420
NOMBRE
422
PSHA
----------44F
NOP
450
PULA
------------500
RETSP

Adresse
----435
-----------

EXERCICE 3-3 :

Dsassemblage et excution de programme.


Le contenu de la mmoire de MIMOSA (organise en octets) est donn par le tableau.
1Dsassembler le programme qui se trouve en
Adresse Contenu Adresse contenu
mmoire
mmoire
mmoire.
300
21
307
72
2Donner aprs lexcution du programme, le
301
F2
308
F5
contenu des emplacements mmoire dadresses :
302
61
309
A3
1F2, 1F3, 2F4, 2F5. Avant lexcution, ces
303
F3
30A
00
emplacements contenaient respectivement les
304
41
30B
42
valeurs hexadcimales suivantes : 07, 05, 0E, 04 .
305
F2
30C
F4
3Quelle est linstruction quon a oublie dans ce
306
FD
30D
F5
programme et pourquoi ?
EXERCICE 3-4 : Programmation en assembleur et assemblage
On dsire crire un programme qui permet de lire deux nombres a et b sur un
priphrique dentre (clavier par exemple), de les stocker aux adresses respectives 300 et
301, puis de faire leur comparaison, et en fonction du rsultat effectuer certains traitements :
- si a = b, stocker le nombre a (ou b ) ladresse 400, puis envoyer ce nombre
sur le priphrique de sortie (imprimante par exemple) et sarrter;
- si b < a , calculer la moyenne (a+b)/2 , puis stocker le rsultat ladresse 400, puis
envoyer le rsultat sur le priphrique de sortie et sarrter;
- si b > a , retourner obligatoirement saisir deux nouveaux nombres a et b.
1Ecrire le programme correspondant en langage assembleur de Mimosa. Ce programme sera
stock en mmoire partir de ladresse 200, et la mmoire est organise en mots de 16 bits.
2Donner le contenu des emplacements mmoire en hexadcimal

-Chapitre 4 : Le Processeur (CPU)-

-Notions de structure machine-

V1.1 Hamdi Hocine

- Table des matires - PARTIE 2 : EXERCICES CORRIGES


CHAPITRE 1 : LOGICIELS ET ENVIRONNEMENT DE PROGRAMMATION

PAGE

-I-Terminologie de base
83
Informatique, hardware et software, systme dexploitation, processeur, carte mre, bus, entres sorties,
interfaces.
-II-Langages et environnement de programmation
85
Les langages, les traducteurs, environnement de programmation.
-III-Les logiciels
61
Editeurs, traitements de texte, tableurs, gestionnaires de bases de donnes,
CHAPITRE 2 : REPRESENTATION DES INFORMATIONS EN MEMOIRE ET CODAGE
Ex 1 & 2 : Rappel sur les systmes de numration et conversions
94
Rappels de cours (notions de base, bit, quartet, octet, mot) ; codage, dcodage, transcodage de nombres
entiers et fractionnaires
Ex 3 & 4 : Reprsentation des nombres en mmoire
99
Codage des entiers naturels, des entiers relatifs, complment 2, nombres fractionnaires en virgule fixe,
nombres fractionnaires en virgule flottante
Ex 5, 6, 7 : Oprations lmentaires en arithmtique non signe
101
Additions binaire, hexadcimale, BCD ; soustraction en complment 2 ; multiplication et division
binaires.
Ex 8 & 9 : Codage, transmission et impression
104
Codage de messages en code baudot, iso, ascii, ebcdic ; transmission : bits de parit, start, stop ;
impression : caractres imprimables et caractres de contrle.
CHAPITRE 3 : LES MEMOIRES
Ex 1, 2, 3 : Bus dadresses, bus de donnes, taille de lespace adressable
107
Ex 4 : Stockage de nombres et de caractres
108
Ex 5 & 6 : Mmoire organise en octets et mmoire organise en mots, techniques de stockage big endian et
little endian
108
Ex 7 : Mmoire segmente
110
Ex 8 & 9 : Ralisation physique de mmoires
110
Ex 10 : Synthse des notions prcdentes
115
Ex 11&12&13&14 : Antmmoire, mmoire pagine, et mmoire virtuelle
118
Ex 15 & 16 : Unit de disque dur : pistes, secteurs, cylindre, capacit, taux de transfert
121
CHAPITRE 4 : LE PROCESSEUR OU CPU
Partie 1 : Rappels de cours
Ex1 Ex5 : Notions de CPU, UC, UAL ; Registres PC, ACC, RI, PSW, SP
Partie 2 : Exercices
Ex6 : Adresses symboliques et adresses physiques, langage assembleur de mimosa
Ex 7 & 8 : Assemblage et dsassemblage
Ex9 : Programmation en langage assembleur
Ex10 : Fetch et excution
Ex11 : Exercice de synthse : assembleur, fetch et excution
Ex12 : Pile et sous programme
Ex13 : Utilisation des bits ou indicateurs zro (Z), carry (C), signe (N)
Ex14 : Algorithmie et programmation en assembleur
Partie 3 : Contrle des connaissances
Ex3-1 : Adressage relatif sur Mimosa
Ex3-2 : Pile et sous programme (mmoire organise en octets)
Ex3-3 : Dsassemblage et excution de programme.
Ex3-4 : Programmation en assembleur et assemblage

125

127
129

132
133
135
137
138
139

- TABLE DES MATIERES -

-Notions de structure machine-

-83-

V1.1

Hamdi Hocine

Td chapitre 1 : NOTIONS SUR LES LOGICIELS


ET
LENVIRONNEMENT DE PROGRAMMATION

-I-TERMINOLOGIE DE BASE
-1-Informatique
Linformatique est le traitement (par une machine) automatis de linformation.
Les diffrentes formes de linformation sont : crite (texte), sonore (parole et
musique) et visuelle (image fixe ou anime). Un ordinateur multimdia permet de traiter ces
trois formes.
-2-Hardware (matriel) et software (logiciel)
Le mot hardware (littralement ce qui est dur) dsigne tout ce qui est matriel
(cartes, clavier, processeur). Quant au software (ce qui est mou) il correspond au produit
de lesprit humain : les programmes. Il dsigne aussi bien le systme dexploitation que les
programmes achets ou dvelopps par lutilisateur.
-3-Systme dexploitation
Cest un ensemble de programmes de gestion (exploitation) de lordinateur. Il est
organis en couches ou en modules ayant chacun une fonction particulire : gestion
mmoire, gestion des E/S, gestion horloges, interface utilisateur, etc On peut citer parmi
les plus courants VMS, UNIX, DOS, WINDOWS 9X, SYSTEME 8, LINUX.
Chaque systme dexploitation possde son propre langage de commande.
-4-PC ou Compatible PC
PC est labrviation de Personal Computer , terme dsignant une famille
dordinateurs dIBM, qui porte en elle un nouveau concept et a rvolutionn lutilisation de
loutil informatique (bien quIBM ne soit pas linventeur de ce concept). Un ordinateur
compatible est un ordinateur qui a la mme architecture de base quun IBM-PC et utilise
le mme systme dexploitation (MS-dos). Il est dsign par compatible IBM-PC , ou
lassociation des mots composant cette phrase : compatible, PC, compatible IBM, etc

Exercices: TD N1
-logiciels et environnement de programmation-

-Notions de structure machine-

-84-

V1.1

Hamdi Hocine

-5-Processeur ou CPU
Cest le cerveau de lordinateur. Il est constitu principalement dune unit
arithmtique et logique ( pour effectuer les traitements), dune unit de commande (qui
coordonne le travail des diffrents lments du processeur et de lordinateur), dun
ensemble de registres de travail, et de mmoire interne auxiliaire. Parmi les fabricants de
processeurs les plus clbres on peut citer Intel (processeurs 80x et pentium), Motorola
(processeurs 680xx), AMD et Cyrix.
Le terme microprocesseur fait rfrence une miniaturisation trs pousse, il
dsigne un processeur avec un fort taux dintgration de composants (plusieurs millions de
transistors).
-6-Carte mre
Cest la partie vitale de lordinateur. Cest sur cette carte que viennent se fixer les
composants lectroniques indispensables (processeurs, cartes mmoire, circuits dhorloges,
etc..) et les cartes filles dextension correspondant chacune une application dtermine.
-7-Bus
Ce sont les moyens de transport de linformation lintrieur de lordinateur. On
peut faire lanalogie entre le bus de transport en commun et le bus dordinateur de la
manire suivante :

- unit lmentaire dinformation : la personne  le bit,

- unit de transport: la place assise  le fil,


- capacit de transport ou taille du bus: nombre de places assises  en
nombre de bits ou fils.
Bus systme : il regroupe les bus de donnes, dadresses, de commande, ainsi que
les lignes (fils) dalimentations et dhorloges. Il est disponible sur la carte mre sous forme
de slots (rails ou connecteurs) pour enficher les cartes dextension ou cartes filles.
Dans le monde du PC, les plus courants sont le bus ISA (Industry Standard
Architecture), et un degr moindre le bus EISA (Extended ISA) sur certains serveurs, MCA
(Micro Channel Architecture) pour les ordinateurs PS/2 dIBM, et PCMCIA (sur les
portables).

Exercices: TD N1
-logiciels et environnement de programmation-

-Notions de structure machine-

-85-

V1.1

Hamdi Hocine

Bus local : Bus reli directement au processeur pour acclrer les transferts
dinformation. Les plus courants dans le monde du PC sont : le bus PCI (Peripheral
Component Interconnect) qui sert connecter des cartes filles et joue donc le mme rle que
le bus ISA, le bus VESA (Video Electronics Standards Association) pour connecter des
cartes graphiques, et le bus AGP (Accelerated Graphics Port) pour acclrer le transport des
informations graphiques.

-8-Entres/Sorties (E/S)
Elles dsignent respectivement un transfert dinformation de lextrieur vers le
processeur ou du processeur vers lextrieur.
-9-Interface
Terme (masculin ou fminin) dsignant un dispositif (matriel ou logiciel) qui
permet deux entits (matrielles ou logicielles) de communiquer entre elles. Il permet de
faire de ladaptation dinformation : de forme (parallle vers srie ou linverse), de code
(transcodage) ou de vitesse (cas dun du transfert vers une imprimante par exemple).
Les interfaces dE/S les plus courantes sont les interfaces srie (ports COM) et
parallle (ports LPT : LPT1=PRN pour le port dimprimante sous DOS). Elles ont tendance
tre remplaces par le port USB (Universal Synchronous Bus) qui est beaucoup plus
rapide mais dont lutilisation nest pas encore gnralise.
-10-Drivers ou pilotes
Ce sont des programmes de gestion (pilotage) des cartes dinterfaces du matriel (on
parle de drivers de carte graphique, drivers du cdrom, etc).

-II- LANGAGES ET ENVIRONNEMENT DE PROGRAMMATION


-II-1-Les langages (dfinitions cf encyclopdie encarta 1999)
Le langage de programmation est un langage informatique compos dune srie
dinstructions pouvant tre traites, interprtes et excutes par un ordinateur. Ces
instructions, qui sont frappes au clavier, se composent de caractres, de symboles, et de
rgles permettant de les assembler.

Exercices: TD N1
-logiciels et environnement de programmation-

-Notions de structure machine-

-86-

V1.1

Hamdi Hocine

Il existe diffrents types de langages, allant du plus rudimentaire au plus complexe,


que lon classe gnralement en deux familles: les langages de bas niveau et les langages
volus. On y ajoute parfois une autre catgorie, les langages de quatrime gnration.
-1-a-Langages de bas niveau
Les langages de bas niveau sont des langages proches de la machine, ou des langages
offrant peu dinstructions et de types de donnes
Langage machine
Le langage machine reprsente le langage dans lequel sexprime le rsultat final dune
compilation de langage assembleur ou dun langage de haut niveau quelconque. Constitu de
0 et de 1, ce langage est charg et excut par le microprocesseur. Appel galement
code machine, il constitue le seul langage rellement compris par lordinateur, tous les
autres langages correspondant des formes de structuration du langage humain.
Langage assembleur
Le langage assembleur est un langage de programmation de trs bas niveau, o chaque
instruction correspond une instruction machine unique. Le jeu dinstructions dun tel
langage est donc associ un certain type de processeur. Ainsi, les programmes crits en
langage assembleur pour un processeur particulier doivent tre rcrits pour tourner sur un
ordinateur quip dun processeur diffrent. Aprs criture dun programme en langage
assembleur, le programmeur fait alors appel lassembleur spcifique du processeur, qui
traduit ce programme en instructions machine. Le langage assembleur peut tre prfr un
langage de haut niveau lorsque le programmeur recherche une vitesse dexcution leve ou
un contrle troit de la machine. En effet, les programmes crits dans ce type de langage
tournent plus vite et occupent moins de place que ceux produits par un compilateur. En outre,
ils donnent au programmeur la possibilit dagir directement sur le matriel (processeur,
mmoire, affichage et connexion dentres / sorties).
-1-b-Langages volus
Les langages volus, dits aussi de haut niveau, sont des langages informatiques
offrant un certain niveau dabstraction par rapport au langage de la machine, et manipulant
des structures syntaxiques telles que les dclarations, les instructions de contrle, etc...
Usuellement, le terme dsigne tout langage de niveau suprieur celui du langage
assembleur.

Exercices: TD N1
-logiciels et environnement de programmation-

-Notions de structure machine-

-87-

V1.1

Hamdi Hocine

Les langages volus sont classs en trois grandes familles : les langages procduraux,
les langages orients-objets et les langages orients-listes. On retrouve ainsi dans la famille
des langages procduraux le FORTRAN, le COBOL, le BASIC, lADA, le PASCAL et le C,
dans la famille des langages orients-objets, le C++, et dans la famille des langages orientslistes, le LISP et PROLOGUE.
Les langages procduraux sont des langages o la procdure (suite dinstructions)
constitue llment de base. La plupart des langages volus sont des langages procduraux.
Les langages orients-objets sont des langages adapts la programmation orienteobjet, type de programmation o chaque programme est considr comme un ensemble
dobjets distincts, ces objets constituant eux-mmes des ensembles de structures de donnes et
de procdures intgres. Dans de tels langages, chaque objet appartient une classe qui
dfinit les structures de donnes et les procdures associes cet objet.
Les langages orients-listes peuvent tre apparents aux langages orients-objets, la
diffrence prs quils manipulent non pas des objets mais des listes, cest--dire des structures
de donnes multi-lments organisation linaire.
-1-c-Langages de quatrime gnration
Les langages de quatrime gnration (L4G en abrg), conus pour linteraction avec
le programmeur, qualifient souvent les langages propres aux bases de donnes relationnelles.
Se situant un cran au-dessus de langages tels que le Pascal ou le COBOL, ils se composent
dun jeu dinstructions sapparentant des macro-instructions, squences dinstructions
prdfinies auxquelles on accde par une commande trs simple. Toutefois, ces langages
conservent un aspect hybride, drivant le plus souvent des langages volus. Le plus connu
dentre eux est SQL.
Acronyme de Structured Query Language, le langage SQL nest pas un vritable
langage comme le C ou le Pascal, pouvant tre plutt considr comme un langage
dinterrogation, de mise jour et de gestion des bases de donnes relationnelles. Driv du
projet de recherche dIBM qui avait conduit llaboration du langage SEQUEL (Structured
English Sequel Language), le langage SQL est une norme mondialement reconnue et
rpandue. Il peut tre employ pour formuler des questions de manire interactive, mais aussi
insr dans un programme sous forme dinstructions de manipulation de donnes. Il est dune
utilisation trs simple, le destinant ainsi aux professionnels comme aux novices en
informatique.
Exercices: TD N1
-logiciels et environnement de programmation-

-Notions de structure machine-

-88-

V1.1

Hamdi Hocine

-II-2-Les traducteurs
Un ordinateur ne comprend quun seul langage, le langage machine qui se prsente
comme une suite de 0 et de 1 (forme binaire). Cest pourquoi tout programme crit
dans un langage (de bas ou de haut niveau) doit tre dcod et traduit en langage machine,
avant de pouvoir tre excut. Ce processus de conversion du code source (frapp au clavier)
au code objet (assimilable par lordinateur) est assur par un programme capable de traduire
un jeu de symboles en un autre jeu, par application de rgles de syntaxe et de smantique.
Suivant la nature du langage de programmation employ, ce programme sappelle un
assembleur, un compilateur ou un interprteur.
-2-a-Assembleur et dsassembleur
Lassembleur est un programme de traduction : il traduit un programme (source) crit
en langage assembleur en un programme (cible) en langage machine.
Le dsassembleur effectue le travail inverse : il traduit un programme en langage
machine en un programme en langage assembleur.
Lassembleur et le dsassembleur sont spcifiques dun langage assembleur, donc
correspondent un processeur particulier.
-2-b-Langages compils
Les langages dits compils sont des langages o toutes les instructions sont dabord
traduites en code objet dans une premire tape, puis dans une seconde tape en code
excutable. Cette conversion seffectue au moyen dun compilateur avant de faire appel un
diteur de liens ( linker en anglais).

Compilation :
Le code du programme compiler, ou code source , est gnralement crit dans un
langage de haut niveau (par exemple le C ou le Pascal). Or, l'ordinateur ne peut pas excuter
directement ce code. Le but de la compilation, justement, est de le traduire en squence
d'instructions lisibles par le microprocesseur. La compilation produit alors un code objet
qui est exprim en langage machine de l'ordinateur, dans lequel il serait peu pratique d'crire
directement. Cette tche de traduction est ralise par un programme appel compilateur.

Exercices: TD N1
-logiciels et environnement de programmation-

-Notions de structure machine-

-89-

V1.1

Hamdi Hocine

Au sens le plus large, un compilateur traduit un ensemble de symboles en un autre


ensemble selon diffrentes rgles logiques. Les compilateurs procdent gnralement en deux
phases. Durant la premire, il s'agit de comprendre le code source, c'est--dire d'en crer une
reprsentation cohrente en mmoire. Pour cela, on effectue successivement une analyse
lexicale, qui reconnat les symboles du langage source, puis une analyse syntaxique, qui
identifie la structure du programme selon la grammaire du langage, et enfin une analyse
smantique, qui vrifie les autres rgles du langage et dtecte les ventuelles erreurs. Lors de
la seconde phase, on procde la traduction proprement dite : la structure du programme
volue selon les exigences du langage d'arrive, pour produire finalement un code objet qui
soit performant.
Edition des liens :
Comme le propre dun langage volu est dtre indpendant de la machine, par
consquent le code objet produit par la compilation nest en gnral pas directement
excutable. Il faut donc effectuer une phase dditions des liens, qui transforme les adresses
logiques en adresses physiques. Par exemple quand une application est crite sous forme de
programme principal et de sous programmes, il faut effectuer une correspondance entre les
noms logiques des sous programmes, utiliss par le programme principal pour effectuer les
appels, et les adresses physiques de ces sous programmes. Le linker (ou diteur de liens) est
le programme qui effectue cette dition des liens entre les diffrents programmes pour
produire un seul programme excutable.
Remarque : Dans certains environnements de programmation, le linker est intgr (comme
dernire phase) au compilateur, et on parle alors dun compilateur trois passes (effectue trois
passages :analyse syntaxique et smantique, traduction, dition des liens) qui produit
directement du code excutable.
EDITEUR

Programme
Source

COMPI
LATEUR

Retour pour correction


des erreurs

Programme
Objet

LINKER

Programme
Excutable

Programme
oprationnel
(logiciel)

ESSAIS

Phases de dveloppement dun logiciel

Exercices: TD N1
-logiciels et environnement de programmation-

-Notions de structure machine-

-90-

V1.1

Hamdi Hocine

Dbugger (ou dboggeur)


Cest un outil (programme) daide la mise au point de programmes. Il est utilis
pendant la phase de dveloppement pour dtecter et corriger les erreurs de programmation
(qui ne sont ni syntaxiques ni smantiques et ne sont donc pas dtectables par le compilateur).
La compilation et lexcution se font sous le contrle du dbugger, et on peut insrer
diffrents points darrt dans le programme. A lexcution le programme sarrte aux points
prdfinis, et on peut alors vrifier les valeurs des variables, des registres du processeur,
forcer des valeurs etc, avant de poursuivre lexcution du programme.
-2-c-Langages interprts
Les langages dits interprts sont des langages dcods et excuts instruction par
instruction laide dun programme appel interprteur. Le plus connu des langages
interprts est le langage BASIC, bien que la plupart des versions actuelles en permettent ou
en imposent la compilation.
Un programme crit dans un langage interprt est directement excutable, et ne
ncessite pas une phase pralable de traduction. Il est dcod et traduit ligne par ligne au
moment de son excution.

-II-3-Environnement de programmation
-3-a-Environnement
Il dsigne lensemble des lments physiques et matriels constituant lenvironnement
dans lequel on dveloppe une application ou un programme. Ce sont en premier lieu la
machine (processeur) et son systme dexploitation, puis les outils logiciels tels que le
compilateur (et donc le langage dcriture des programmes), le linker, et ventuellement le
dbugger.
On distingue les environnements classiques ou spars, dans lesquels chaque lment
existe sous forme de programme part, et les environnements intgrs, o le dveloppement
de programmes est beaucoup plus souple. En effet lutilisateur excute un seul programme
pour accder un environnement avec des fentres. Le passage dune fonction une autre
(dition, compilation, excution, etc) se fait par simple changement de fentre.

Exercices: TD N1
-logiciels et environnement de programmation-

-Notions de structure machine-

-91-

V1.1

Hamdi Hocine

-3-b-Compatibilit
La notion dordinateur compatible avec lIBM-PC suppose une compatibilit deux
niveaux : hardware et software.
En premier lieu il faut avoir la mme architecture physique que lIBM-PC. En second
lieu il faut utiliser le mme systme dexploitation, et les programmes qui sexcutent sur lun
doivent pouvoir sexcuter sur lautre.
Si les deux niveaux sont satisfaits, on parle alors dordinateur 100% compatible.
-3-c-Portabilit
La notion de compatibilit engendre celle de portabilit : tout programme dvelopp
sur un ordinateur donn peut tre port sur un autre ordinateur, o il sexcutera
directement sans aucune modification. On dira de ce programme ou de ce logiciel quil est
portable.

-III-LES LOGICIELS
Un logiciel est un programme ou un ensemble de programmes destins une
application particulire. On regroupe gnralement les applications par groupes ou familles
dapplications.
III-1-Editeurs
Editer un fichier consiste louvrir soit en lecture, soit en lecture et criture (pour
modifier son contenu). Sil nexiste pas il est souvent automatiquement cr louverture.
Une fois quon a termin de travailler sur un fichier, on le ferme puis on le sauvegarde
en mmoire de masse. Le format de sauvegarde est le format texte ou ascii (sous forme de
chanes de caractres alphanumriques cods en ascii), et lextension du fichier est
gnralement .txt . Avec un diteur de texte on dispose gnralement dune seule police de
caractres, la taille des fichiers est limite, le nombre doprations (de manipulation du texte)
est galement limit.
On distingue les diteurs ligne (qui affichent une seule ligne la fois) et les diteurs
pleine page qui permettent une saisie et une modification aises du texte.

-III-2-Traitements de texte

Exercices: TD N1
-logiciels et environnement de programmation-

-92-

-Notions de structure machine-

V1.1

Hamdi Hocine

Le principe de fonctionnement est le mme que celui de lditeur, avec cependant


quatre diffrences importantes :
-une plus grande varit de polices de caractres, avec diffrentes formes et tailles,
-on peut effectuer toutes les oprations imaginables sur le texte,
-la taille du fichier est thoriquement illimite (limite en fait par la taille de la mmoire
RAM),
-en plus du format texte, chaque logiciel de traitement de texte possde son propre format de
sauvegarde des donnes. Certains (comme winword) permettent mme de lire et de
sauvegarder dans diffrents formats de donnes (ceux des autres traitements de texte). Ils
permettent galement dintgrer au texte des dessins, des graphes et des tableaux.
-III-3-Tableurs
Un tableur est un logiciel qui permet de raliser des tableaux, appels feuilles de
calcul. Une feuille est constitu dun ensemble de cellules, o chacune est lintersection dune
ligne et dune colonne. Les lignes sont en gnral indexes (numrotation) par des chiffres, et
les colonnes par les lettres de lalphabet. Par exemple D2 signifie la cellule du tableau
constitue par lintersection de la ligne 2 et de la colonne D (quatrime colonne).
Le contenu dune cellule peut tre de type numrique, caractre, formule
mathmatique, date, etc
Au niveau fonctionnel, on dispose des mmes possibilits et fonctionnalits que pour
un traitement de texte.
Comme exemples de tableurs pour PC on peut citer excel et multiplan.
-III-4-Gestionnaires de bases de donnes
Une base de donnes (BDD) est un ensemble de donnes ordonnes, donc structures
dune certaine manire. Lintrt de structurer les informations est de faciliter la recherche et
la modification .
Pour crer une BDD, on commence par dfinir la structure des donnes, cest dire les
diffrents champs et leurs types. Ensuite on procde linstanciation de la base cest dire
son remplissage par des enregistrements.
Les gestionnaires les plus courants dans le monde du PC sont dbase, paradox et access.

Enregistrements

Champs1

Champs2

Champ3

Champs4

Champs5

Champs6

Exercices: TD N1
-logiciels et environnement de programmation-

-93-

-Notions de structure machine-

Champs  Nmatricule
Types 

Nombre-

Nom

123456

Prnom

16
Benali

Adresse

Note_contrle

Date

Caractre-

Nombre-

30

dcimal

16
Ali

Hamdi Hocine

Date_naissance

Caractre- Caractre-

entier
Enregistrement1

V1.1

1/1/2000

1 rue du 10.25
bug 2000
Tera nova

Enregistrement2

123502

---

---

---

---

---

Enregistrement3

123479

---

---

---

---

---

---

---

---

---

---

---

---

Exemple de base de donnes


-III-5-Logiciels intgrs
Cest un logiciel qui intgre principalement les fonctions de traitement de texte,
tableur, et gestionnaire de base de donnes.
Pour le PC les plus courants sont 1-2-3 de Lotus et Works de Microsoft.
-III-6-Logiciels de dessin
On peut les sparer en deux catgories : ceux qui sont destins faire des graphes
partir dun ensemble de points (destins surtout aux scientifiques et de plus en plus intgrs
dans dautres logiciels), et ceux qui permettent de faire du dessin proprement dit (MSDRAW
et Paint).
-III-7-Logiciels utilitaires
Comme leur nom lindique ce sont des outils qui facilitent le travail de lutilisateur.
On peut les classer en deux catgories principales : ceux qui font du traitement de fichiers
(copie, sauvegarde, vrification du contenu, compactage, etc) comme pctools ou
norton utilities sur le PC, et les antivirus qui permettent de nettoyer et dimmuniser des
disques contre les virus.
-III-8-Logiciels ddis
Cest un logiciel destin une application particulire et qui ne fait pas partie de lune
des familles dj cites.

Exercices: TD N1
-logiciels et environnement de programmation-

-Notions de structure machine-

-94-

-V1.1 Hamdi Hocine-

SOLUTIONS DU TD CHAPITRE 2
REPRESENTATION DES INFORMATIONS EN MEMOIRE ET CODAGE
-I-RAPPELS SUR LES SYSTEMES DE NUMERATION : CONVERSIONS
1Rappels de cours
-1-1- Notions de base et systme de numration
Quelle que soit la base b, tout chiffre exprim dans cette base varie de 0 b-1. Ainsi
par exemple dans la base 10 les chiffres varient de 0 9, dans la base 8 ils varient de 0 7, et
dans la base deux ils prennent uniquement deux valeurs : 0 et 1 (do lappellation de systme
binaire).
Les bases les plus utilises sont 10, 8, 16 et 2. Ces bases ont donn naissance aux
diffrents systmes de numration respectifs: dcimal, octal, hexadcimal et binaire. Ainsi si
on effectue des oprations arithmtiques ou logiques dans la base 10 ou la base 2, on dit que
lon travaille respectivement en dcimal ou en binaire.
Principe :
Tout nombre N crit dans une base b peut se mettre sous la forme:
N (b) ( N ) b = a n b n + a n 1b n 1 + a n 2 b n 2 + ...... + a 0 b 0 + a 1b 1 + a 2 b 2 ...... + a n b n

partie entire

partie fractionnaire

Lcriture du nombre N sous la forme dune suite de coefficients ai revient crire le


nombre N dans la base b. Pour trouver son quivalent dcimal, il suffit de dvelopper
lexpression prcdente.

-1-2-Que dsignent les termes bit, quartet, octet, mot ?


Dans le systme binaire la base b =2, il ny a donc que deux valeurs possibles pour les
chiffres : 0 et 1. Chacune de ces valeurs possibles est appele bit. Les ordinateurs travaillant
en binaire, le bit reprsente donc linformation lmentaire que traite un ordinateur. Cette
information est vraie (gale 1) ou fausse (gale zro). Il est alors facile de faire des
oprations logiques sur les bits : ET, OU, Complmentation, Ou exclusif etc
Un quartet est un regroupement de 4 bits. Il est surtout utilis dans le transcodage de
la base 16 vers le binaire (base 2) ou inversement.
Un octet est un regroupement de 8 bits. Il reprsente une unit trs pratique pour la
reprsentation, le codage et le stockage des donnes.

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-Notions de structure machine-

-95-

-V1.1 Hamdi Hocine-

Le mot reprsente lentit lmentaire utilise par lordinateur pour coder et manipuler
les donnes. Cette unit dpend de la taille (en nombre de bits) des donnes que traite le
processeur de lordinateur (plus prcisment l'nit arithmtique et logique). Elle correspond
en gnral galement lunit (en nombre de bits) utilise pour le stockage des informations
en mmoire. On parlera dordinateur 8, 16 ou 32 bits, pour signifier que le processeur utilise
8, 16 ou 32 bits pour coder et traiter les donnes.

2Conversions
Enoncs
Effectuer les conversions des nombres suivants:
2-1-Nombres entiers

Solutions

(102)3( ? )10

(11)10

(321)10 ( ?)4

(11001) 4

(543)10 ( ?)8

(1037) 8

(22)16 ( ?) 8

(42) 8

(16)7 ( ?) 3

(111) 3

(7F)16 ( ?) 8 (de deux mthodes diffrentes) solution (177) 8


(177)8 ( ?) 16

(7F) 16

(7F)16 ( ?) BCD

(0001.0010.0111) BCD = (127) 10

-2-2-Nombres fractionnaires

Solutions

-a-DcimalBinaire : (9,375)10 ( ? )2

(1001,011)2

(4,345)10

( ? )2

-b-BinaireDcimal : (101,101) ( ? )10

(100,01011)2 .
(5,625)10

Solutions
2-1-Nombres entiers
2-1-a-Codage : il sagit de transcrire un nombre N exprim en base dix dans une base
b quelconque. La mthode consiste procder par divisions successives par la base, on
s'arrte quand le dernier quotient est nul. Le rsultat sera donn par les restes successifs
obtenus dans l'ordre, en les crivant de droite gauche en fonction des puissances croissantes
de la base, selon la formule suivante (o n est le nombre de divisions et les Ri les restes
successifs) :
( N )b = Rnb n 1 + Rn 1b n 2 + Rn 2b n 3 + ...... + R1b 0

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-96-

-Notions de structure machine-

-V1.1 Hamdi Hocine-

Conversion de (32)10 en base 4. On effectue 5 divisions successives (n = 5) et on aura


donc 5 restes :

R6 R5 R4 R3 R2 R1


(1 1 0 0 1 )4

(543)10 

(1 0 3 7 )8

(1 0 1 1 0 0 )2

(32)10
(44)10

(127) 10 

(7 F )16

-2-1-b- Dcodage : cela consiste crire un nombre N exprim dans une base b dans la
base dix. Le rsultat est obtenu en appliquant directement la formule donne dans le
principe.
(300) 8 = ( 3x82 + 0x81 + 0x80 )10 = 3x64 = (192)10
(102)3 
(16)7 

(11)10
(13)10

-2-1-c- Transcodage : il consiste transcrire un nombre N crit dans une base b1 vers
une autre base b2, b1 et b2 tant quelconques.
*Cas gnral: cette mthode est valable quelles que soient les bases b1 et b2.
Un transcodage se fera d'abord par dcodage puis par codage.
Dcodage
base b1
(111)3
(7F)16
(177)8

Codage
base 10





(13) 10
(127) 10
(127) 10

base b2




(16) 7
(177) 8
(0111 1111) 2

*Cas particuliers:
** b2 = 2 et b1 = 2 n
Si la base b2 correspond la base 2, et la base b1 de dpart est une puissance
n

de 2 (b1 = 2 ), et si on regarde le plus grand chiffre que l'on peut crire dans la base b1, on se
rend compte quil faut n bits pour coder ce chiffre en binaire. Donc chaque chiffre du nombre
N sera exprim sous la forme d'un nombre binaire ayant n bits.
(3)8 = (011)2
(5)8 = (101)2

(357)8 = (011 101 111)2

(7)8 = (111)2

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-97-

-Notions de structure machine-

-V1.1 Hamdi Hocine-

** b1 = 2 et b2 = 2 n
Pour passer du binaire vers une base b2 qui est une puissance de 2 (b2 = 2 n ),
on regroupe les bits n par n pour obtenir N cod dans la base b1.
(011 101 111)2 = (357)8
**Gnralisation: b1 = 2 n et b2 = 2 m
Si les bases de dpart et darrive sont des puissances de 2, on utilise la base 2
comme base intermdiaire pour faire le transcodage.
base b1
(22) 16
(7F) 16
(1257) 8

base 2




base b2

(0010 0010) 2

(0111 1111) 2

(001 010 101 111) 2 

(42) 8
(177) 8
(2AF) 16

*Cas du BCD : un cas particulier intressant cest quand la base b1 est gale
dix. Dans ce cas si on applique la mme mthode que prcdemment, chaque bit du nombre N
sera cod sur 4 bits. Le rsultat obtenu n'est pas du binaire mais du dcimal cod en binaire
(BCD pour Binary Coded Decimal). Pour marquer la diffrence avec le binaire et viter les
erreurs dinterprtation, on utilise soit une mise entre parenthses avec une indication de la
base, soit on spare chaque groupe de 4 bits par un point.

base b1
(42) 8
(7F) 16
(10) 16
(10) 10

base 10





(34) 10
(127) 10
(16) 10
(10) 10

BCD





(0011 0100) BCD


(0001. 0010. 0111)
(0001 0110) BCD
(0001 0000) BCD

Remarque : (10)16 = (00010000)2 et (10)10 = (00010000)BCD 0001.0000


On remarque que les nombres (10)10 et (10)16 qui correspondent deux valeurs
dcimales diffrentes (10 et 16 respectivement) donnent la mme suite de bits, do lintrt
de les diffrencier.

-2-2-Nombres fractionnaires
-2-2-a-Codage dcimal-binaire
La partie entire est traite par divisions successives. La partie fractionnaire par
multiplications successives, les parties entires successives obtenues constituent le rsultat
crit dans lordre des puissances croissantes de la base. On arrte les multiplications quand la
prcision voulue est obtenue.
Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-98-

-Notions de structure machine-

-V1.1 Hamdi Hocine-

Codage de (4,345)10 en base deux avec une prcision de 2-5 (5 chiffres aprs la
virgule) :
Partie entire : (4)10 = (10)2
Partie fractionnaire : (0,345)10 = (01011)2 .
En effet en procdant par multiplications successives on trouve :
0,345 x 2 = 0,690 partie entire du rsultat gale 0
0,69 x 2 = 1,38 partie entire du rsultat gale 1
0,38 x 2 = 0,76 partie entire du rsultat gale 0
0,76 x 2 = 1,52  partie entire du rsultat gale 1
0,52 x 2 = 1,04  partie entire du rsultat gale 1
Par consquent (4,345)10 = (10,01011)2 .
Codage de (9,375)10 en base deux avec une prcision de 2-3 (3 chiffres aprs la
virgule) :
Partie entire : (9)10 = (1001)2
Partie fractionnaire : (0,375)10 = (011)2 .
En effet en procdant par multiplications successives on trouve :
0,375 x 2 = 0,750 partie entire du rsultat gale 0
0,75 x 2 = 1,5 partie entire du rsultat gale 1
0,5 x 2 = 1,00 partie entire du rsultat gale 1
Par consquent (9,375)10 = (1011,011)2 .
-2-2-b-Codage Base b  dcimal
Il suffit dappliquer la formule donne par le principe gnral (cf -I-1-).
(10,11)2 = 0x20 + 1x21 + 1x2-1 +1x2-2 = 0 + 2 + 0,5 + 0,25 = (2,75)10
(101,101)2 = 1x20 + 0x21 + 1x22 + 1x2-1 +0x2-2 + 1x2-3 = 1 + 4 + 0,5 + 0,125 =
(5,625)10.
(70,40)8 = 0x80 + 7x81 + 4x8-1 +0x8-2 = 0 + 56 + 4/8 + 0 = (56,50) 10

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-99-

-Notions de structure machine-

-V1.1 Hamdi Hocine-

-II-REPRESENTATION DES NOMBRES EN MEMOIRE


-3-Nombres entiers
Enonc
-3-1-Codage : En utilisant un codage sur 5 bits, donner lquivalent binaire des
valeurs dcimales suivantes, pour chacun des trois codes tudis (Valeur Absolue Sans Signe,
Valeur Absolue plus Signe, Complment 2) :

+7,+9,+13,-7,-9,-13

-3-2-Dcodage : Considrons chacune des chanes de bits suivantes. Si elle


correspond un codage dun nombre dans chacun des trois codes prcdemment cits, donner
pour chaque chane les trois valeurs dcimales dont cest le code. (00111), (10000), (11111),
(10001)
Solution
-3-1-Codage binaire en mmoire sur 5 bits
Nombre dcimal

Technique
Valeur absolue sans signe

Technique
Valeur absolue + signe

Technique
Complment 2

+7
+9
+13
-7
-9
-13

00111
01001
01101
00111
01001
01101

00111
01001
01101
10111
11001
11101

00111
01001
01101
11001
10111
10011

-3-2-Dcodage dune srie de bits


Srie de bits

Equivalent dcimal
Tech.val.abs.ss signe

Equivalent dcimal
Tech.val.abs.+ signe

Equivalent dcimal
Tech.complment 2

00111
10000
11111
10001

7
16
31
17

+7
-0
-15
-1

+7
-16
-1
-15

4Nombres fractionnaires
Enonc
-41-Technique de la virgule fixe : Si on utilise 16 bits pour coder les nombres, dont
12 pour la partie entire et 4 pour la partie fractionnaire, donner la prcision, et les valeurs
Nmin et Nmax des nombres que lon peut coder.
-4-2-Technique de la virgule flottante : Si on utilise 16 bits pour coder les nombres
( 4 pour lexposant et 12 pour la mantisse), donner la prcision, les valeurs Nmin et Nmax des
nombres que lon peut coder.

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-100-

-Notions de structure machine-

-V1.1 Hamdi Hocine-

Solution
-4-1-Technique de la virgule fixe
Partie fractionnaire : on utilise 4 bits (soit 4 chiffres aprs la virgule), donc la
prcision est de 2-4 (= 6,25.10-2 en dcimal). Par consquent la valeur min de la partie
fractionnaire est 0.0000 et la valeur max est de 0.1111.
Partie entire : on utilise 11 bits pour le codage plus un bit de signe. Les valeurs
extrmes que lon peut obtenir pour la partie entire correspondent aux 11 bits gaux 1. les
valeurs correspondantes en dcimal sont + (211 1) et (211 1), soit 2047.
Par consquent les valeurs extrmes des nombres quon peut obtenir avec un codage
sur 16 bits dont 12 pour la partie entire et 4 pour la partie fractionnaire sont :
ExposantMax = + (1111, 1111) +2047,9375
ExposantMin = - (1111 , 1111) -2047,9375

-4-2-Technique de la virgule flottante


On a utilis 12 bits pour la mantisse dont un bit de signe. Comme la mantisse est
purement fractionnaire, la prcision est donc de 2-11. Par consquent la valeur min de la
mantisse est de 0,111 et la valeur max est de + 0,111 (sries de 11 fois la valeur 1).
Pour coder lexposant on utilise 4 bits, par consquent les valeurs extrmes de
lexposant cod en complment deux sont :
ExposantMmax = (+2(n-1) -1) = (+2(4-1) ) = +7

Exposantmin = -2(n-1) = -8.

Par consquent les valeurs extrmes des nombres quon peut obtenir sont
Nmax = +(0,111). 2+7

Nmin = -(0,11). 2-8.

Remarque : on a fait un mauvais choix dans la rpartition des bits pour lexposant et la
mantisse. En effet par rapport la technique de la virgule fixe, si on a gagn en prcision
(passage de 2-4 2-11), par contre on a perdu en ce qui concerne la plus grande valeur quon
peut coder (de 211 27 ). En fait il suffit de mettre 10 bits pour la mantisse et 6 bits pour
lexposant pour gagner sur les deux tableaux.

NMax

1bit
0

11 bits
11...1

4 bits
0 1 1 1

+7

NMin

11...1

1 0 0 0

-8

Signe de
Mantisse code en VA + Signe Exposant
la mantisse
Cod en C2
Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-101-

-Notions de structure machine-

-V1.1 Hamdi Hocine-

-III-OPERATIONS ELEMENTAIRES EN ARITHMETIQUE NON SIGNEE


-5Addition
Enonc
-5-1-Binaire : dfinir les notions de Carry (retenue) et Overflow (dbordement)
-5-2-Hexadcimal : Faire laddition de (23)16 et (E9)16 de 2 mthodes diffrentes
(directement et en passant par le binaire).
-5-3-BCD : Additionner 0010.1001 et 0001.0101, puis donner lquivalent dcimal
du rsultat.
Solution
-5-1-Binaire
0 + 0 = 0 ; 0 + 1 = 1 ; 1 + 0 = 1 ; 1 + 1 = 0 et retenue = 1. La retenue est appele Carry.
Quand le rsultat de laddition de deux nombres cods sur n bits ne peut pas tenir sur n
bits, il y a un dpassement de capacit et on parle alors de dbordement ou oVerflow.
-5-2-Hexadcimal
On peut faire laddition de 2 manires : soit directement, soit en passant par le codage
en binaire.

(23)16

0010 0011

(E9)16

1110 1001

(10C)16

1 0000 1100
1 0

-5-3-BCD
Pour faire laddition on procde comme en binaire, puis si le rsultat est suprieur 9
(1001 en binaire), on rajoute 6 (0110 en binaire) au rsultat pour sauter les six positions
binaires interdites en BCD, soit 1010,1011,1111 (correspondant aux valeurs dcimales
comprises entre 10 et 15).

0010 1001 bcd

(29)10

0001 0101 bcd

+ (15)10

0011 1110 binaire

(44)10

binaire > (9)10 ==> donc on doit corriger le rsultat en rajoutant 6.


+

0000 0110 bcd


0100 0100 bcd
4

(44)10

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-102-

-Notions de structure machine-

-V1.1 Hamdi Hocine-

6Soustraction binaire en complment 2


Enonc
Effectuer en binaire les oprations 13 -5 et 5 13.
Solution
A B = A + (-B) = A + C2(-B)
6-1-Soustraction (13 5)10

6-2-Soustraction (5 13)10

0101

C1(B) 1010
+

C1(B) 0010

0001

C2(-B) 1011
+

1101

0001

C2(-B) 0011

1101

0101

1 1000  (8)10

1000

retenue gale 1  la retenue est ignorer ;

retenue = 0  le rsultat obtenu est le

le rsultat est positif (A>B). Donc le rsultat

complment 2 dun nombre ngatif (cela

est (8)10 .

signifie A<B). Pour le trouver il suffit


calculer le complment 2 du rsultat :
C2 (1000)2 = (1000)2. Donc le rsultat est (8)10.

7Multiplication et division binaires dun nombre exprim sur n bits


Enonc
Montrer comment on peut effectuer la multiplication et la division par une puissance
de deux l'aide de dcalages successifs.
Solution
7-1-Multiplication par 2
Elle sobtient par un dcalage gauche des bits. Sil y a dbordement de capacit
(bit overflow V = 1), il faut donc rajouter 2n au rsultat (nombres cods sur n bits). Pour
retrouver le vritable rsultat quel que soit V, il faut rajouter V.2n au rsultat intermdiaire.
7-1-a-Exemple avec V = 0
0

0 1 11 0
(7)10

Dcalage 

1 1 1 0 0

(14)10

V= 0  le rsultat est correct

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-Notions de structure machine-

-103-

-V1.1 Hamdi Hocine-

7-1-b-Exemple avec V = 1
0

1 0 01
(9)10

Dcalage 

0 0 1 0 0

(2)10

V= 1  rsultat final = (2)10 + 1.24 = (18)10


7-2-Division par 2
Elle sobtient par un dcalage droite des bits. Si le bit carry est nul (C=0) le rsultat
est entier. Si C=1 (le bit qui tombe dans le carry est un 1) le vritable rsultat est un nombre
fractionnaire, il faut donc rajouter 0,5 au rsultat. Pour retrouver le vritable rsultat quel que
soit C, il faut rajouter C. 2-1 au rsultat intermdiaire.
Dcalage 

1 0 10
(10)10

carry

0 1 0 1
(5)10

carry

Carry = 0  le rsultat est un nombre entier.


Dcalage 

1 1 01
(13)10

carry

0 1 1 0
(6)10

carry

Carry = 1  le rsultat est un nombre fractionnaire  rsultat final = (6,5)10 .

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-104-

-Notions de structure machine-

-V1.1 Hamdi Hocine-

-IV-CODAGE ET TRANSMISSION
-8-Codes Baudot et Iso
Enonc
-8-1-Donner la chane de bits correspondant au message suivant : TZ 58K , lors de
sa transmission en code Baudot.
-8-2-Mmes questions que pour lexercice 8-1, si le codage seffectue en code ISO,
avec pour la transmission : b.p. impaire + 1b.start + 2b.stop.
Solution
8-1-Code Baudot
Appelons CC et CL les caractres de contrle correspondant au code chiffre (1B) et au
code lettre (1F). Les caractres circulant sur la ligne lors de la transmission en code Baudot du
message TZ 58K sont :
T

Caractres :
Codage :

space CC

(01)16 (11)16

CL

(04)16 (1B)16 (01)16 (0C)16 (1F)16 (1E)16

Transmission : codage sur 5bits, et on rajoute un bit start=0 et un bit stop=1 pour chaque
caractre.
0

start
1

1 0

space
0

CC
1

stop
1

1 0

8
1

0
K

CL
8-2-Code Iso
Caractres :

Codage :

space

(54)16 (5A)16

(20)16 (35)16 (38)16 (4B)16

Transmission : codage sur 7 bits plus: 1bit start, 2 bits stop, 1 bit de parit impaire
0 0

T
start
0

1
8

0 1

1 0

0 1

bit stop
0

0 1
5

space
0

bit parit impaire


0

1 0

1 0
K

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-105-

-Notions de structure machine-

-V1.1 Hamdi Hocine-

9Codage , transmission et impression


Enonc
Considrons le message suivant::
AID SP LF 98 SP CR 1 SP A SP 2 SP MILLIONS LF PAR SP MOUTON? CR SP SP ON SP DELIRE ?
SP = space (espace) ; LF = Line Feed (saut de ligne) ; CR = Carriage Return (retour chariot).

9-1-Donner pour chacun des 4 codes connus, le nombre de bits total ncessaire pour
coder ce message.
9-2-Si le message est transmis en mode asynchrone non standard (7bits + bp paire +
1bit start + 2bits stop), donner le nombre de bits total reu par limprimante pour chacun des 4
codes.
9-3-Donner la forme du message tel quil apparat sur papier aprs impression par
limprimante.
Solution
Il y a 48 caractres dans le message.
9-1-Codage
9-1-a-Baudot : codage sur 5 bits
Le nombre de caractres dchappement ncessaires est de 9. Par consquent le
nombre total de caractres est 48+9=57 caractres. Le nombre de bits ncessaires pour le
codage est : 57 x 5 = 285 bits.
9-1-b-Iso et Ascii : codage sur 7 bits
Le nombre de bits est : 48 x 7 = 336 bits.
9-1-c-Ebcdic : codage sur 8 bits
Le nombre de bits est : 48 x 8 = 384 bits.
9-2-Transmission
Dans cette transmission en mode asynchrone (non standard) on a rajout 4 bits par
caractre : 1start, 1parit, 2 stop.
9-2-a-Baudot
On doit rajouter 57 x 2 = 114 bits. Le nombre total de bits est de 285+114=399.
9-2-b-Iso et Ascii
On doit rajouter 48 x 4 = 192 bits. Le nombre total de bits est de 336+192=528.
9-2-c-ebcdic
On doit rajouter 48 x 4 = 192 bits. Le nombre total de bits est de 384 + 192 =
576 bits.

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-Notions de structure machine-

-106-

-V1.1 Hamdi Hocine-

9-3-Impression
La forme du message tel quimprim par limprimante est la suivante (le symbole
dsignant lespace) :
AID
9 8
1 A 2 M I L L I O N S
PARMOUTON?
O N D E L I R E ?

Remarque : lespace (sp) la fin de la 2 ligne est inutile, car le caractre suivant est un retour
chariot (CR).

Exercices : TD N2

-reprsentation des informations en mmoire et codage-

-107-

-Notions de structure machine-

V1.1 Hamdi Hocine

SOLUTIONS DU TD CHAPITRE 3
LES MEMOIRES
EXERCICE 1
Enonc
Si un ordinateur possde une mmoire de 1Mo, quelle la taille de sa M.C. exprime :
1 en mots de 32 bits?

2 en mots de 64 bits ?

Solution
a) 1 Mo = 220 octets = 220 x 23 bits = 223 bits = [(223 ) / (32)] mots de 32 bits = (223 / 25 )
mots de 32 bits = 218x mots de 32 bits = 28x 210 mots de 32 bits = 256 Kmots de 32 bits.
b)1 Mo = 220 octets = 220 x 23 bits = 223 bits = [(223 ) / (64)] mots de 64 bits = (223 / 26 )
mots de 64 bits = 217 mots de 64 bits = 27x 210 mots de 64 bits = 128 Kmots de 64 bits.
EXERCICE 2
Enonc
Trouver le nombre de bits ncessaire pour adresser une mmoire de 512 mots de 16 bits
chacun.
Solution
Pour ladressage, on na pas besoin de connatre le nombre de bits dans un mot. Ce qui
est important cest le nombre de mots ou demplacements mmoire, car on adresse des
emplacements mmoire et non des bits.
Avec un bus d@ n bits ou n fils, on peut fabriquer 2n adresses, donc adresser 2n
emplacements.
Taille mmoire = 512 mots de 16 bits = 29 emplacements de 16 bits  il faut 9 bits pour
adresser 512 mots.

EXERCICE 3
Enonc
On considre une mmoire de 65536 mots de 25 bits chacun. Donner le nombre de fils
ncessaires sur le bus d'adresses et sur le bus de donnes.
Solution
1

65536 mots de 25 bits = 64 x 1024 mots = 26 x 210 = 216 mots  il faut 16 bits

sur le bus dadresses pour adresser les 216 emplacements.


2

1 emplacement mmoire = 1 mot de 25 bits  ncessit de 25 fils sur le bus de

donnes si on veut effectuer les transferts avec la mmoire en une seule opration.
Exercices : TD N3
-les mmoires-

-108-

-Notions de structure machine-

V1.1 Hamdi Hocine

EXERCICE 4
Enonc
Les adresses d'une mmoire dsignent des bytes (octets). Quelle est l'adresse du
quatrime lment d'une table qui commence l'adresse (0019) H et qui est constitue d'lments
de 16 bits ?
Solution
adresse

emplacements mmoire

N lment
de la table

Un lment = 16 bits = 2 x 8 bits = 2 octets


0019

= 2 emplacements mmoire
1lment

001A
001B

2lment

001C

Ladresse du 4 lment de la table est (001F)16

001D
3lment

001E
001F

On donne ladresse de dbut de linformation,


cd l@ du 1 emplacement mmoire occup

4lment

0020

par la donne.

EXERCICE 5
Enonc
Un emplacement mmoire de longueur 16, a le contenu suivant (stock dans la technique
Big Endian): 0011 1000 0011 0101. Quelle est sa signification s'il s'agit:
1 d'un entier en reprsentation binaire?

2 d'une chane de caractres en code ISO?

Solution
1

0011 1000 0011 0101 

( 3

5 )16

( 3835 )16 = ( 14389 )10


2
et

( 38 35 )16  ( 85 )ISO . En effet ( 38)16 = code du caractre 8 en ISO,

( 35 )16 = code du caractre 5 en ISO.

Exercices : TD N3
-les mmoires-

-109-

-Notions de structure machine-

V1.1 Hamdi Hocine

EXERCICE 6
Enonc
La mmoire d'un ordinateur est organise en mots de 32 bits. On veut stocker la chane de
caractres "EPSIMA" et le nombre entier (14389)10 . Donner la disposition des chanes de bits
correspondantes (en code ISO) dans les deux techniques "Big Endian" et "Little Endian".
Solution
Chane de caractres :

E P S I M A

Codes iso correspondants :

45 50 53 49 4D 41

(14389)10 = (3835)16
1 emplacement mmoire fait 32 bits.
1Big Endian
@

NUMEROS DES BITS


31 24

000E

000F

15 8

7 .0

0100 0101

0101 0000

0101 0011

0100 1001

0100 1101

0100 0001

---- ----

---- ----

---- ----

---- ----

3
0010

23 . 16

0011 1000

0011 0101

0011

-a-La chane de caractres fait 6 caractres, comme chacun est cod sur 8 bits, on aura
donc 48 bits stocker. On aura besoin pour cela de 2 emplacements mmoire.
On stocke les bits de poids les plus forts de chaque caractre de la chane, dans les bits de poids
les plus forts de lemplacement mmoire. Mais on fait attention pour que les caractres de la
chane gardent le mme ordre.
On remarque que les bits 0 15 du 2 emplacement sont inutiliss et perdus.
-b-(3835)16 : cest de lhexadcimal quon doit coder en binaire  chaque digit sera
cod sur 4 bits. De plus on utilise les bits de poids le plus fort en premier : aussi bien pour les
bits du nombre que ceux de lemplacement mmoire. On remarque ici galement que les bits 0
15 du 3 emplacement sont inutiliss et perdus.

Exercices : TD N3
-les mmoires-

-110-

-Notions de structure machine-

V1.1 Hamdi Hocine

2Little Endian
@

NUMEROS DES BITS


31 24

000E

000F

23 . 16

15 8

0100 1001

0101 0011

0101 0000

0100 0101

0100 0001

0100 1101

---- ----

---- ----

3
0010

7 .0

---- ----

---- ----

0011 1000

0011 0101

0011

Le principe est le mme que pour la technique Big Endian, la seule diffrence tant quon
traite ici les bits de poids les plus faibles en premier, aussi bien pour les donnes que pour les
emplacements mmoire.
On remarque que les bits inutiliss et gaspills au niveau des emplacements mmoire
sont les bits de poids les plus forts (ce qui est normal car on utilise ceux de poids le plus faible en
premier).

EXERCICE 7
Enonc
Quelle est l'adresse effective correspondant une adresse de base de code hexadcimal
(0019)H et un dplacement de (0016)H ?
Solution
@effective = @segment + offset = (0019)H + (0016)H = (002F) H
EXERCICE 8
Enonc
On dispose de botiers mmoire de capacit 8Kx1byte, chacun tant muni d'une broche de
slection. Montrer comment on peut construire un module de mmoire de 64Kbytes, en faisant
clairement ressortir le cblage des bus d'adresses et de donnes.
Solution
Nombre de botiers = (64 K x 8 bits) / (8 K x 8 bits) = 8 botiers
mmoire de 64 K x 8 bits  mmoire organise en mots de 8 bits  on prendra un bus de
donnes 8 bits.

Exercices : TD N3
-les mmoires-

-111-

-Notions de structure machine-

V1.1 Hamdi Hocine

Taille dun mot mmoire = 8 bits


Taille dun emplacement mmoire dun botier = 8 bits
 taille dun mot mmoire = taille dun emplacement du botier = 8 bits
Taille dun botier=8K emplacements de 8 bits=213 emplacements mmoire  il faut 13 bits
pour adresser les 213 E.M.
Comme on a 8 botiers, pour adresser les 23 botiers il faut 3 fils supplmentaires pour la
slection des botiers.
On aura donc au total 16 fils dadresses : 13 pour adresser les emplacements et 3 pour la
slection des botiers. Ce nombre est conforme au nombre de fils dadressage ncessaire daprs
la taille mmoire. En effet une mmoire de 64 Kilooctets = 216 emplacements mmoire de 8 bits
 il faut 16 fils pour adresser ces 216 emplacements.

D0
D1

D7

CS0

Botier 0
8K
x
1 octet

CS1

Botier 1
8K
x
1 octet

CS7

Botier 7
8K
x
1 octet

Dcodeur
3 vers 8

A15
A14
A13
A12

A1
A0

Exercice 8: Cblage de botiers mmoire de 8K x 1 octet pour raliser 1 module de 64 Ko

Exercices : TD N3
-les mmoires-

-Notions de structure machine-

-112-

V1.1 Hamdi Hocine

EXERCICE 9
Enonc
1Mmes questions que pour l'exercice 8 avec botier = 4Kx4bits, et taille mmoire =
8Ko.
2Mmes questions que pour l'exercice 8 avec botier = 8Kx8bits, et taille mmoire =
64Kmots de 16 bits.
3Mmes questions que pour l'exercice 8 avec botier = 4Kx2bits, et taille mmoire =
8Ko.
Solution
1Nombre de botiers = taille mmoire / taille dun botier = 8 K x 8 bits / 4 k x 4 bits = 4
botiers mmoire de 8 K octets  mmoire organise en octets  on prendra un bus de donnes
8 bits.
Taille dun mot mmoire = 8 bits
Taille dun emplacement mmoire dun botier = 4 bits
 taille dun mot mmoire / taille dun emplacement du botier = 8 bits / 4 bits = 2  il
faut assembler les botiers 2 par 2 pour former des mots de 8 bits : le premier reli aux 4 bits de
poids les plus faibles du bus de donnes, et le 2 aux 4 bits de poids les plus forts.
Taille dun botier = 4K emplacements de 4 bits=212 emplacements mmoire  il faut 12
bits pour adresser les 212 E.M.
Comme les botiers sont groups deux par deux  on aura donc (4 botiers / 2) = 21
groupes de botiers. Pour les adresser il faut 1 fil supplmentaire pour la slection des groupes de
botiers.
On aura donc au total 13 fils dadresses : 12 pour adresser les emplacements et 1 pour la
slection des botiers. Ce nombre est conforme au nombre de fils dadressage ncessaire daprs
la taille mmoire. En effet mmoire de 8 K octets = 213 emplacements mmoire dun octet  il
faut 13 fils pour adresser ces 213 emplacements.
2Nombre de botiers = (64 K x 16 bits) / (8 K x 8 bits) = 16 botiers mmoire de 64
Kmots x 16 bits  mmoire organise en mots de 16 bits  on prendra un bus de donnes 16
bits.
Taille dun mot mmoire = 16 bits
Taille dun emplacement mmoire dun botier = 8 bits
 taille dun mot mmoire / taille dun emplacement du botier = 16 bits / 8 bits = 2  il
faut assembler les botiers 2 par 2 pour former des mots de 16 bits.
Taille dun botier=8K emplacements de 8 bits=213 emplacements mmoire  il faut 13
bits pour adresser les 213 E.M.
Exercices : TD N3
-les mmoires-

-Notions de structure machine-

-113-

V1.1 Hamdi Hocine

Comme les botiers sont groups deux par deux  on aura donc (16 botiers / 2) = 8
groupes de botiers. Pour adresser les 23 groupes il faut 3 fils supplmentaires pour la slection
des groupes de botiers.
On aura donc au total 16 fils dadresses : 13 pour adresser les emplacements et 3 pour la
slection des botiers. Ce nombre est conforme au nombre de fils dadressage ncessaire daprs
la taille mmoire. En effet une mmoire de 64 K mots de 16 bits = 216 emplacements mmoire de
16 bits  il faut 16 fils pour adresser ces 216 emplacements.
3Nombre de botiers = taille mmoire / taille dun botier = 8 K x 8 bits / 4 k x 2 bits = 8
botiers mmoire de 8 K octets  mmoire organise en octets  on prendra un bus de donnes
8 bits.
Taille dun mot mmoire = 8 bits
Taille dun emplacement mmoire dun botier = 2 bits
 taille dun mot mmoire / taille dun emplacement du botier = 8 bits / 2 bits = 4  il
faut assembler les botiers 4 par 4 pour former des mots de 8 bits.
Taille dun botier=4K emplacements de 2 bits=212 emplacements mmoire  il faut 12
bits pour adresser les 212 E.M.
Comme les botiers sont groups quatre par quatre  on aura donc (8 botiers / 4) = 21
groupes de botiers. Pour les adresser il faut 1 fil supplmentaire pour la slection des groupes de
botiers.
On aura donc au total 13 fils dadresses : 12 pour adresser les emplacements et 1 pour la
slection des botiers. Ce nombre est conforme au nombre de fils dadressage ncessaire daprs
la taille mmoire. En effet une mmoire de 8 K octets = 213 emplacements mmoire dun octet
 il faut 13 fils pour adresser ces 213 emplacements.

Exercices : TD N3
-les mmoires-

-114-

-Notions de structure machine-

V1.1 Hamdi Hocine

D0
D1
D2
D3
D4
D5
D6
D7

Botier 0
4K
x
4 bits
CS0

CS1

Botier 1
4K
x
4 bits

CS2

Botier 2
4K
x
4 bits

CS3

Botier 3
4K
x
4 bits

Dcodeur
1 vers 2

A12
A11

A1
A0

Exercice 9-1 : Cblage de botiers mmoire de 4K x 4 bits pour raliser 1 module de 8 Ko


D0
D7
D8
D15

CS0

Botier 0
8K
x
1 octet

CS1

Botier 1
8K
x
1 octet

CS14

Botier 0
8K
x
1 octet

Botier 15
8K
x
1 octet
CS15

Dcodeur
3 vers 8
A15
A14
A13
A12

A1
A0

Exercice 9-2 : module mmoire de de 64 Kmots de 16 bits avec des botiers de 8K x 1 octet
Exercices : TD N3
-les mmoires-

-115-

-Notions de structure machine-

V1.1 Hamdi Hocine

D0
D1
D2
D3
D4
D5
D6
D7

Botier 0
4K
x
2 bits
CS0

CS3

Botier 3
4K
x
2 bits

CS4

Botier 4
4K
x
2 bits

CS7

Botier 7
4K
x
2 bits

Dcodeur
1 vers 2

A12
A11

A1
A0

Exercice 9-3 : Cblage de botiers mmoire de 4K x 2 bits pour raliser 1 module de 8 Ko


EXERCICE 10 (de consolidation !) Toutes les questions sont indpendantes.
Enonc
Considrons deux ordinateurs : A avec une mmoire organise en octets, et B avec une
mmoire organise en mots de 32 bits.
Soit la chane de caractres DIMANCHEsp23spJANVsp00? (sp signifie space = le
caractre espace).
1) Donner le nombre demplacements-mmoire ncessaires pour stocker la chane de caractres
code en ASCII, dans les cas des ordinateurs A et B.
2) Si le bus dadresses est 8 fils, quelle est la taille de lespace adressable dans chaque cas ?
3 Si le bus de donnes est 8 bits, quel est dans chaque cas le nombre doprations dchange
entre le processeur et le contrleur de la mmoire, pour stocker en mmoire la chane de
caractres code en ASCII ?
4) Si le bus de donnes est 32 bits, mme question que la question 3).
5) On veut stocker le message cod en ASCII en mmoire de lordinateur A, donner la
disposition en mmoire des chanes de bits correspondantes dans les deux techniques "Big
Endian" et "Little Endian".
Exercices : TD N3
-les mmoires-

-Notions de structure machine-

-116-

V1.1 Hamdi Hocine

6) Pour lordinateur B, mme question que pour la question 5)


7) Donner pour les codes ISO et Baudot, le nombre de bits total ncessaire pour coder ce
message.
8) Si le message est transmis en mode asynchrone (1bit parit, 1bit start, 1bits stop), donner
dans chacun des 2 cas (ISO et Baudot) le nombre de bits total reus par limprimante.
Solution
1 Dans le stockage des caractres en mmoire, chaque caractre est cod en ascii sur 8
bits. La chane fait 20 caractres.
-a-Cas A : mmoire organise en octets. Chaque caractre occupe un E.M. (emplacement
mmoire). Donc on aura besoin de 20 E.M.
-b-Cas B : mmoire organise en mots de 32 bits. Dans chaque E.M. on peut stocker 32/8
= 4 caractres. Donc le nombre dE.M. ncessaires est de 20/4 = 5 E.M.
2 Si lebus dadresses est 8 fils, la taille de lespace adressable est 28 = 256 adresses (ou
E.M.), et cela quel que soit le mode dorganisation de la mmoire, donc quelle que soit la taille
dun emplacement mmoire.
3 Bus de donnes 8 bits. Donc chaque opration dchange entre le processeur et la
mmoire, on ne peut transporter quun caractre la fois, et cela quel que soit le mode
dorganisation de la mmoire ou la taille dun E.M. Donc pour stocker le fichier on aura besoin
de 20 oprations dchange.
4Bus de donnes de 32 bits.
-a-Cas A : comme un E.M. ne fait que 8 bits, on ne peut transfrer quun octet (donc un
caractre) la fois. Le nombre doprations dchange est donc gal 20.
-b-Cas B : Un E.M. comprend 32 bits, et a la mme capacit que le bus de donnes. Donc
pour chaque opration dchange, on transfre 32 bits (4 caractres) dun seul coup. Le nombre
doprations dchange pour transfrer le fichier est gal 20/4 = 5 oprations.

Exercices : TD N3
-les mmoires-

-Notions de structure machine-

5Cas A : mmoire organise en octets.


On obtient exactement le mme
rsultat dans les 2 cas Big et Little Endian :

-117-

V1.1 Hamdi Hocine

6Cas B : mmoire organise en mots de 32


bits.
Technique Big Endian
@

Caractre et

Code

code hexa

Binaire

D 44

0100 0100

I 49

0100 1001

M 4D

0100 1101

A 41

0100 0001

0100 1110

C 43

0100 0011

H 48

0100 1000

E 45

0100 0101

sp 20

0010 0000

2 32

0011 0010

3 33

0011 0011

Sp 20

0010 0000

J 4A

0100 1010

A 41

0100 001

N 4E

0100 1110

V 56

0101 0110

Sp 20

0010 000

0 30

0011 0000

0 30

0011 0000

? 2F

0010 1111

N 4

Code Binaire
32---25

24---17

16 ----9

8 ---- 1

00

01

02

Sp

Sp

03

04

Sp

Technique Little Endian


@

Code Binaire
32---25

24---17

16 ----9

8 ---- 1

00

01

02

Sp

Sp

03

04

sp

7
-a-Code ISO : chaque caractre est cod sur 7 bits  nombre de bits : 20 x 7 = 140 bits
-b-Code Baudot : On doit rajouter 3 caractres de contrle pour les passages de chiffre lettre et
vice versa. Donc au total on aura 23 caractres. Chacun est cod sur 5 bits  nombre de bits
total : 23 x 5 = 115 bits.
8
Pour la transmission on rajoute chaque caractre 3 bits. Donc en code iso on va rajouter
20 x 3 = 60 bits, et en code baudot on rajoute 23 x 2 = 46 bits. La nombre total de bits reus par
limprimante est : en code iso : 140 + 60 = 200, et en code baudot : 115 + 46 = 161.
Exercices : TD N3
-les mmoires -

-118-

-Notions de structure machine-

V1.1 Hamdi Hocine

EXERCICE 11
Enonc
On considre un ordinateur disposant d'une antmmoire de temps de cycle 100ns. Sa
mmoire centrale a un temps de cycle de 600ns.
1 Quel est le temps de cycle apparent de la mmoire si on suppose un taux de russite de 80%?
2 Quel est le gain relatif par rapport une architecture sans antmmoire?
Solution
Taux de russite de 8 0 % signifie que dans 80 % des cas, quand on accde en mmoire
cache on y trouve la donne cherche, et dans les 20% restants, on est oblig daccder en plus
en ram pour trouver la donne.
tca = 80% x tc_mmoire_cache +

Le temps de cycle apparent :

20% x (tc_mmoire_cache + tc_ram) = 0,8 x 100ns + 0,2 (100 + 600) = 220 ns


tca < tc_ram  on a un gain en vitesse. G = (|tca - tc_ram|) / tc_ram = |220 600| / 600
= 380/600 = 0,63 63%
Remarque : le but de lantmmoire est dacclrer les traitements.

EXERCICE 12
Enonc
On considre un systme de pagination, la table des pages est en M.C. qui a un temps de
cycle de 750ns. Le temps d'accs au tampon de traduction d'adresses est de 50ns. La probabilit
de trouver l'adresse cherche dans le tampon (taux de russite) est de 80%.
1 Quel est le temps d'accs moyen une donne se trouvant en M.C. ?
2 Quelle est la dgradation (perte de vitesse) par rapport un systme sans pagination.
Solution
Dans 80% des cas : accs au tampon pour traduction de ladresse logique en adresse
physique + accs en ram pour lire la donne
Dans 20%des cas : accs au tampon sans succs (lquivalent physique de ladresse
logique fournie ne se trouve pas dans le tampon) + accs la table des pages (en ram) pour lire
ladresse physique + accs en ram pour lire la donne.
Le temps de cycle apparent : tca = 80 % (50 + 750) + 20 % (50 + 750 + 750) = 950 ns
tca > tc_ram  perte de vitesse. Perte = (|tca tc_ram|) / tc_ram = |950 750| / 750
= 0,26  26 %.

Exercices : TD N3
-les mmoires -

-Notions de structure machine-

-119-

V1.1 Hamdi Hocine

Remarque : La pagination est trs souvent associe au mcanisme de mmoire virtuelle. Le but
est alors daugmenter la taille mmoire, au dtriment de la vitesse (dgradation). Pour calculer le
temps de cycle apparent, ici nous navons tenu compte que du mcanisme de pagination et avons
suppos que la donne est toujours en mmoire RAM. En ralit la dgradation est beaucoup
plus importante car souvent la donne ne se trouve pas en RAM mais en mmoire virtuelle. Il
faut alors rajouter laccs la mmoire virtuelle (mmoire de masse) qui prend beaucoup plus de
temps quun accs la ram.

EXERCICE 13
Enonc
On considre un systme de mmoire virtuelle bas sur la pagination. La table des pages
est en mmoire centrale (ram). De plus lordinateur possde un tampon de traduction dadresses.
Donner les diffrentes squences daccs aux mmoires qui peuvent tre ncessaires, sachant
que :
-

si une traduction dadresse de page est dans le tampon de traduction, alors la page est
obligatoirement prsente en mmoire centrale ;

dans la table des pages ne se trouvent que les adresses de pages virtuelles se trouvant en ram.
Solution
On considre un systme de mmoire virtuelle bas sur la pagination, avec l'utilisation

d'un buffer ou tampon de traduction d'adresses.


La table des pages est en mmoire centrale (ram). C'est une table de correspondance:
pour une adresse logique (adresse de page virtuelle) elle donne son quivalent physique (adresse
en RAM). Il faut remarquer que dans la table des pages ne se trouvent que les adresses de pages
virtuelles dont l'quivalent physique se trouve en ram, en d'autres termes les adresses des
donnes se trouvant en ram.
Le buffer ou tampon de traduction d'adresses donne pour une adresse logique son
quivalent physique en RAM. Par consquent si une traduction dadresse de page est dans le
tampon de traduction, alors la page est obligatoirement prsente en mmoire centrale.
Les diffrentes squences daccs aux mmoires qui peuvent tre ncessaires pour lire
une donne sont:
On commence par accder au buffer. Deux cas peuvent se prsenter:
-a- adresse logique prsente  on trouve son quivalent physique en ram  on accde
en ram pour lire la donne. Donc au total: accs au buffer + accs en ram pour lire la donne.

Exercices : TD N3
-les mmoires -

-Notions de structure machine-

-120-

V1.1 Hamdi Hocine

-b-adresse logique absente  on ne peut pas trouver son quivalent physique  on


accde en ram pour rechercher l'adresse dans la table des pages. Deux cas peuvent se prsenter:
-b-1-Aprs accs la table des pages en ram, l'adresse logique est prsente  on
trouve son quivalent physique en ram  on accde nouveau en ram pour lire la donne.
Donc au total accs au buffer + accs en ram pour trouver l'adresse physique + accs
en ram pour lire la donne.
-b-2-Aprs accs la table des pages en ram, l'adresse logique est absente  on
accde la mmoire virtuelle pour charger la page demande, et donc lire la donne. Donc au
total accs au buffer + accs en ram + accs en mmoire virtuelle ( dique dur) pour transfrer
la page recherche et donc pour lire la donne. Il est remarquer que dans ce dernier cas tous
les temps d'accs sont ngligeables devant celui de l'accs au disque dur: en effet il se compte en
millisecondes alors que les autres sont en nanosecondes.

EXERCICE 14
Enonc
On considre maintenant un systme de mmoire virtuelle bas sur la pagination. La table
des pages est en mmoire centrale (ram). De plus lordinateur possde un tampon de traduction
dadresses et une mmoire cache. Donner les diffrentes squences daccs aux mmoires qui
peuvent tre ncessaires, ainsi que quelques squences qui ne se produiront jamais, sachant que :
-

si une traduction dadresse de page est dans le tampon de traduction, alors la page est
prsente en mmoire centrale ;

si un bloc de mmoire est dans la mmoire cache, alors la traduction dadresse de sa page est
obligatoirement dans le tampon de traduction ;

dans la table des pages se trouvent toutes les adresses de pages virtuelles se trouvant en ram.
Solution
Les squences suivantes sont possibles :

1. Accs au tampon de traductions (succs) + Accs lantmmoire (succs)


(traduction cd adresse physique prsente)

(bloc de mmoire prsent  lecture de la donne)

2. Accs au tampon de traductions (succs) + Accs lantmmoire (chec) + Accs la ram


(traduction cd adresse physique prsente)

(bloc de mmoire absent)

(lecture de la donne)

3. Accs au tampon de traductions (chec)


+ Accs la table des pages en ram (succs) +
(page prsente)

Accs la ram
(lecture de la donne)

Exercices : TD N3
-les mmoires -

-Notions de structure machine-

-121-

V1.1 Hamdi Hocine

4. Accs au tampon de traductions (chec)


+ Accs la table des pages en ram (chec)
(page absente)

Accs au disque
(lecture de la page donc de la donne)

Il faut remarquer que, si la traduction de page est prsente dans le tampon, on n'accde
jamais la mmoire virtuelle sur disque, car si une traduction dadresse de page est dans le
tampon de traduction, alors la page est obligatoirement prsente en mmoire centrale. De mme
si elle est absente, il est inutile de consulter l'antmmoire (mmoire cache) car l'antmmoire ne
contient qu'une copie des donnes se trouvant en mmoire centrale (ram) auxquelles on a accd
rcemment. Par consquent si le bloc de mmoire se trouvait dans la mmoire cache, alors la
traduction dadresse de sa page se trouverait obligatoirement dans le tampon de traduction.
On peut donc citer comme squences impossibles:

tampon de traduction (succs) + table des pages en ram avec succs (page prsente) + disque

tampon de traduction (chec) + mmoire cache (chec) + ram

tampon de traductions dadresses (succs) + table des pages en ram (succs) + antmmoire

tampon de traductions dadresses (chec) + antmmoire (chec) + disque.

EXERCICE 15 :
Enonc
Une unit de disque dur possde 4 plateaux (disques) ayant les caractristiques suivantes:
une tte de lecture/criture par disque, une seule tte fonctionne une instant donn, 600 pistes
par disque, 20 secteurs/piste, 512 octets par secteur, vitesse de rotation de 3000 tours par minute.
1 Quelle est la capacit de stockage de l'unit de disque?
2 Quel est son taux de transfert?
3 Quel est le temps de transfert d'un secteur ?
Solution
1Capacit de stockage :
4 x 600 X 20 x Ko = 24000 Ko
Vr = 3000 tpm = 3000 tr/1mn = 3000 tr / 60s = 50 tr/s
2Taux de transfert :
a)premire mthode : Taux de transfert = Vitesse de rotation x capacit dune piste en
octets:

50 x (20 x Ko) = 500 Ko/s = 0,5 Mo/s


bdeuxime mthode : directe
1 tour = Une piste =20 secteurs x Ko = 10 Ko
Vitesse : 50 tr/s = 50 x 10 Ko / s = 500 Ko/s
Exercices : TD N3
-les mmoires -

-Notions de structure machine-

-122-

V1.1 Hamdi Hocine

3Temps de transfert dun secteur :


500 Ko

 1s

1secteur = Ko

 x seconde  x = (1 s X o,5.103 ) / 0,5.106 = 1.1O-3 s = 1 ms

EXERCICE 16 :
Enonc
On veut calculer le temps moyen de transfert en mmoire centrale d'un fichier squentiel
stock sur disque dur. Les changes entre l'unit de disque et la M.C. s'effectuent par
l'intermdiaire d'un canal. Une zone de mmoire tampon associe au disque reoit les caractres
lus sur le disque; le transfert vers la M.C. s'effectue soit quand la zone tampon est pleine, soit
quand le fichier a t entirement lu. Les caractristiques sont les suivantes:
Temps moyen de positionnement de la tte de lecture/criture sur une piste: 20 ms; *Temps de
dpt ou de soulvement de la tte de lecture criture: 5 ms ; * Vitesse de rotation du disque:
6000 tr/mn; *Vitesse de transfert du canal: 10 Mo/s; * Taille du tampon: 5000 octets; * Taille du
fichier 3000 caractres; *Codage d'un caractre: 8 bits; *Tous les caractres du fichier sont sur
un mme cylindre; *Nombre de cylindres: 128; *Nombre de secteurs par piste: 50; *Taille d'un
secteur: 1024bits dont 24 sont reservs pour un pointeur vers le secteur suivant.
1Quel est le nombre de secteurs ncessaire au stockage du fichier?
2Quel est le temps moyen pour lire un secteur, en supposant que la tte est sur la bonne
piste?
3Quel est le temps moyen de transfert de ce fichier entre le disque dur et la M.C. ?
4 Mme question que 3 si le fichier a une taille de 6000 caractres.
5Mme question que 3 si le fichier de 3000 caractres est stock sur 3 cylindres
diffrents
6Mme question que 3 si le fichier de 3000 caractres est toujours stock sur 1 seul
cylindre, et la taille du tampon est de 500 octets.
Solution
1 Nombre de secteurs thorique (ncessaire) :
= taille fichier/taille dun secteur = (3000 caractres x 8 bits)/1024 =23,44 = 24 secteurs
Capacit utile dun secteur = 1024 24 = 1000 bits
Nombre de secteurs utiles (ncessaire) = (3000 x 8 )/1000 = 24 secteurs
2-a) Temps de lecture ou de transfert dun secteur :
1mthode : en passant par le taux de transfert
Taux de transfert = Vr x capacit dune piste
Exercices : TD N3
-les mmoires -

-123-

-Notions de structure machine-

V1.1 Hamdi Hocine

Vr = 6000tpm = 6000tr/1mn = 6000tr/60s = 100 tr/s


Capacit dune piste = nombre de secteurs/piste x taille dun secteur
Taux de transfert = 100 tr/s x 50 x 1024 bits = 5000 K bits/s = 5 Mbits/s
1seconde  5000 Kbits

 temps de lecture dun secteur:


x = (1s x 1K)/5000K = 0,2.10-3s = 0,2 ms

x seconde  1 secteur = 1Kbit

2mthode: directement par la vitesse


1 tour quivaut une piste. La vitesse de rotation est de 100 tr/s donc 100 pistes / seconde. Pour
faire un tour il faut:

1s /100 = 10. 10-3 s = 10 ms.

Donc: 1 tr = 50 secteurs  10 ms

 temps de lecture dun secteur: x = 10ms / 50 = 0,2 ms

1 secteur x seconde
2-b) Le temps moyen de positionnement sur le bon secteur: on admet gnralement quune fois
quon est sur la bonne piste, il faut faire un demi tour pour trouver le bon secteur.
1tour  10 ms
tour  x ms

 x = 10 /1 x = 5 ms.

Le temps moyen de lecture dun secteur est gal au temps de positionnement sur le bon
secteur + le temps de lecture ou de transfert du secteur.
Tmoy = 5 ms + 0,2 = 5,2 ms.
3 -Tout le fichier sur un mme cylindre  on na pas besoin de dplacer le dispositif des ttes
de lecture/criture dune piste une autre, puisque toutes les
pistes sont lues en mme temps.
-De plus Taille fichier < taille du tampon
 tout le fichier lu sur le disque est transfr
la mmoire tampon dun seul coup.
Par consquent le temps de transfert du fichier du disque vers la mmoire tampon est la
somme de 4 termes:
A= temps moyen de positionnement de la tte de lecture sur le bon cylindre (ou piste) +
B= temps de dpt de la tte sur la piste +
C= temps de lecture des 24 secteurs ( cd du fichier) +
D= temps de transfert du tampon vers la mmoire centrale.
A= temps moyen de positionnement sur la bonne piste ou le bon cylindre = 20 ms (daprs
lnonc).
B= temps de dpt de la tte sur la piste = 5 ms .
C= nombre de secteurs x temps moyen de lecture dun secteur = 24 x 5,2 = 124,8 ms.

Exercices : TD N3
-les mmoires -

-124-

-Notions de structure machine-

V1.1 Hamdi Hocine

Calcul de D:
Vitesse de transfert ou dbit du canal: 10 Mo/s = 10.106 /s.
Taille du fichier : 3000 caractres = 3000 .
1 seconde 10.106
x seconde  3000

x D = 3000 / 10.106 = 0,33 ms.

Temps de transfert du fichier = A+ B + C + D = 20 + 5 + 124,8 + 0,33 = 150,13 ms.


Remarques :
-1-Le temps de transfert travers le canal (mmoire tampon vers ram) est ngligeable par
rapport au temps de transfert global du fichier.
-2-Le temps de recherche de la bonne piste (le bon cylindre) reprsente peu prs 25%
du temps global. Si on utilise plusieurs cylindres pour stocker le fichier, cette dure sera
multiplie par le nombre de cylindres.
-3-Dans le temps moyen de lecture dun secteur, la dure de lecture proprement dite est
trs infrieure au temps de recherche du bon secteur.
En conclusion, sur une unit de disque dur, ce sont les phases de recherche de la piste et
du secteur (et donc les phases mcaniques) qui sont les plus coteuses en temps.
4 Attention! Ce n est pas parce que la taille du fichier a doubl que le temps de transfert va
doubler. En effet les termes A et B restent inchangs, seuls les termes C et D vont doubler.
C = 124,8 x 2 = 249,6 ms
D = 0,33 x 2 = 0,66 ms
Temps de transfert du fichier = A+ B + C + D = 20+5+249,6+0,66 = 275,26ms
5 Si le fichier est stock sur 3 cylindres, les deux termes qui vont changer sont A et B. A sera
multipli par 3. De plus le temps de dpt de la tte de lecture sur la piste sera multipli par 5. En
effet chaque dplacement dun cylindre un autre on est oblig de relever la tte, puis une fois
sur le bon cylindre dposer la tte. On aura au total 3 dpts des ttes et 2 soulvements des
ttes. A = 20 x 3 = 60 ms
B = 6 x 5 = 30 ms
C = 124,8 ms
D = 0,33 ms
6 La taille de la mmoire tampon naura aucune influence sur la dure globale de transfert du
fichier. Le seul inconvnient cest quon sera oblig de solliciter le processeur plusieurs
reprises (6 fois), pour transfrer chaque fois 500 octets au lieu de transfrer les 3000 octets
dun seul coup.

Exercices : TD N3
-les mmoires -

Notions de structure machine

-125-

V 1.1 Hamdi Hocine

SOLUTIONS DU TD CHAPITRE 4
LE PROCESSEUR OU CPU
PARTIE 1 : RAPPELS DE COURS
ENONCES
1Quels sont les principaux lments de lunit centrale et du processeur central dun
ordinateur ?
2Que sifnifient les sigles CPU, UAL, ALU, UC, PC, PSW, SP ?
3Quelle est linterprtation quon doit donner aux contenus des registres PC, RI, et ACC ?
Conclure quant leur taille.
4Comment peut-on amener lordinateur excuter un programme dont la premire instruction
se trouve lemplacement mmoire dadresse (01F)16 ?
5Supposons quune instruction se trouve ladresse n de la mmoire. Que se passe-t-il si aprs
avoir excut cette instruction, le compteur de programme prend toujours la valeur n ?

SOLUTIONS
EXERCICE 1
1Lunit centrale se compose du processeur central et de la mmoire centrale.
2Le processeur central se compose essentiellement de lunit arithmtique et logique, lunit de
commande , et les registres.

EXERCICE 2
-CPU : Central Processing Unit. Cest lunit Centrale de traitement, appele encore processeur
central ou tout simplement processeur.
-UAL : Unit Arithmtique et Logique, est la traduction franaise du sigle anglais ALU.
-ALU : Arithmetic and Logic Unit.
-UC : Unit de commande. Pour viter la confusion avec labrviation de lunit centrale, on
utilisera de prfrence labrviation anglaise CU: Command Unit.
-PSW : Processor Status Word. Cest le mot dtat du processeur. Cela dsigne le registre des
indicateurs ou registre dtat.
-PC : Program Counter. Cest le compteur de programme ou compteur ordinal.
-SP : Stack Pointer. Pointeur de pile.
Les trois dernires abrviations dsignent des registres.

Exercices : TD N4
-Le processeur ou CPU -

Notions de structure machine

-125-

V 1.1 Hamdi Hocine

EXERCICE 3

1Contenus de PC, RI, et ACC


PC : Il contient ladresse de la prochaine instruction excuter. Son contenu correspond
ladresse dun emplacement mmoire.
RI : Il contient le code binaire dune instruction. Ce code comprend une partie code opration de
linstruction, et une partie adresse.
ACC : Il contient gnralement le code (binaire) dune valeur numrique (que cette dernire soit
le rsultat dune opration arithmtique ou logique, ou une adresse).
Par consquent les trois registres contiennent des donnes diffrentes sur le plan
smantique.

2Tailles des registres


PC : son contenu est une adresse. Donc sa taille est en gnral gale au nombre de bits du bus
dadresses (rien nempche que sa taille soit suprieure).
RI : son contenu est le code dune instruction. Comme chaque instruction occupe un ou plusieurs
emplacements mmoire, par consquent sa taille est gale celle dun ou de plusieurs mots
mmoire.
ACC : son contenu est une valeur numrique. Comme on peut effectuer des oprations de
transfert entre laccumulateur et la mmoire, donc sa taille est en gnral gale celle dun mot
mmoire.

EXERCICE 4
Comme le compteur de programme donne ladresse de la prochaine instruction
excuter, pour excuter notre programme dont la premire instruction est stocke ladresse
(01F), il suffit donc de mettre dans le PC (compteur ordinal) la valeur (01F).

EXERCICE 5
Compte tenu du rle du PC qui donne toujours ladresse de la prochaine instruction en
squence, le processeur excutera constamment et sans sarrter cette mme instruction qui se
trouve lemplacement mmoire dadresse n. On dit quon entre alors dans une boucle infinie (le
programme ne sarrte pas).

Exercices : TD N4
-Le processeur ou CPU -

-126-

Notions de structure machine

V 1.1 Hamdi Hocine

PARTIE 2 : EXERCICES
EXERCICE 6 : adresses symboliques et langage assembleur de mimosa
(Mmoire organise en mots de 16 bits)
Enonc
Substituer toutes les adresses symboliques (adresses dinstruction et doprande) de
lexemple, des adresses numriques hexadcimales. Montrer en mme temps comment il faut
placer le programme en mmoire, si on suppose que la premire adresse utiliser est (100)h, et
que les variables a et b seront stockes respectivement aux adresses (110)h et (111)h.
LIGNE LABEL MNEMONIQUE
1
2
3
4
5
6
7
8
9
10
11
12

aprt :

SAUT,E
SAUT
lirea :
ENTREE
STOCKER
bprt :
SAUT,E
SAUT
lireb :
ENTREE
STOCKER
ADD
Res_prt : SAUT,S
SORTIE
HALTE

ADRESSE
lirea
aprt
a
lireb
bprt
b
a
Res_prt

SIGNIFICATION
Si E vrai, aller lirea
Aller aprt
Mettre ds ACC contenu du tampon dentre
Mettre (ACC) ladresse mmoire de a
Si E vrai, aller lireb

m(b) := (ACC)
ACC := (ACC) + (m(a))
Si S vrai, aller Res_prt
Mettre (ACC) dans Tampon de sortie

Solution : Correspondance adresse logique et adresse physique


On suppose que la mmoire est organise en mots de 16bits. Donc chaque instruction
occupera un emplacement mmoire.
ADRESSE
MEMOIRE
100
101
102
103
104
105
106
107
108
109
10A
10B
110

111

MNEMONIQUE
SAUT, E
SAUT
ENTREE
STOCKER
SAUT, E
SAUT
ENTREE
STOCKER
ADD
SAUT, S
SORTIE
HALTE

OPERANDE
(valeur du champ adresse)
102
100
110
106
104
111
110
109

Cet emplacement contiendra la valeur de la


variable "a" aprs lexcution de l'instruction
stocker 110
Cet emplacement contiendra la valeur de la
variable "b" aprs lexcution de l'instruction
stocker 111
Exercices : TD N4
-Le processeur ou CPU -

-127-

Notions de structure machine

V 1.1 Hamdi Hocine

EXERCICE 7 : langage assemleur, assemblage de programme et stockage en mmoire


(Mmoire organise en mots de 16 bits)
Enonc
Rcrire le programme prcdent en remplaant chaque mnmonique du langage
assembleur de mimosa par son code. Donner pour chaque adresse mmoire son contenu en
hexadcimal puis en binaire.
Solution
Lassemblage consiste remplacer chaque mnmonique du programme prcdent par son
code opration, donc chaque instruction sera traduite en langage machine (binaire), puis stocke
en mmoire. Les instructions du programme seront stockes squentiellement partir de
ladresse 100.
On rappelle que mimosa traite la partie haute de linstruction en premier (stockage
mmoire en big endian). On supposera comme prcdemment que la mmoire est organise en
mots de 16 bits.
-7-a-ASSEMBLAGE

Adresse
Mmoire
100
101
102
103
104
105
106
107
108
109
10A
10B

Code
Opration
D
8
F2
4
D
8
F2
4
6
E
F3
F5

Adresse
ou Oprande
102
100
110
106
104
111
110
109

-7-b-STOCKAGE EN MEMOIRE
Remarque : le tiret ( - ) signifie valeur non dfinie, sa valeur est
indiffrente.
Adresse
Contenu des emplacements Contenu des emplacements
Mmoire
mmoire en Hexadcimal
mmoire en Binaire
100
D102
1101 0001 0000 0010
101
8100
1000 0001 0000 0000
102
F2-1111 0010 ------ -----103
4110
0100 0001 0001 0000
104
D106
1101 0001 0000 0110
105
8104
1000 0001 0000 0100
106
F2-1111 0010 ------ -----107
4111
0100 0001 0001 0001
108
6110
0110 0001 0001 0000
109
E109
1110 0001 0000 1001
10A
F3-1111 0011 ------ -----10B
F5-1111 0101 ------ ------

EXERCICE 8: Dsassemblage
Enonc
Lordinateur mimosa possde en mmoire le contenu indiqu par le tableau.
Adresse mmoire (hexa)
100
101
102
103
104

Contenu
0001 0000 0001 1001
0100 0001 0000 0101
0001 0000 0010 0000
0110 0001 0000 0101
1111 0101 indiffrent

1Rcrire le mme contenu en hexadcimal.


2Rcrire le programme en code mnmonique puis donner sa signification.

Exercices : TD N4
-Le processeur ou CPU -

-128-

Notions de structure machine

V 1.1 Hamdi Hocine

Solution: cest le programme daddition de (25)10 et (32)10


Adresse
mmoire
100
101

Contenu
Hexa
1019
4105

102

1020

103

6105

104

F5--

Code
valeur Signification
Mnmonique oprande
NOMBRE
019
ACC := (19)16 (mettre dans ACC la valeur (19)16 cd (25)10 )
STOCKER
105
m(105) := (ACC) (mettre dans @ mmoire (105)16 le contenu
de ACC)
NOMBRE
020
ACC := (020)16 (mettre dans Acc la valeur (020)16 cd (32)10
)
ADD
105
ACC := ACC + m(105) (ajouter au contenu de ACC celui de
l@ 105
HALTE
-Arrt du programme

EXERCICE 9 : programmation en assembleur


Enonc
On suppose que lordinateur mimosa ne possde pas dinstruction de soustraction SUB.
Ecrire un programme de calcul de a b. On supposera que la valeur de a se trouve dj dans
laccumulateur, que b occupe lemplacement mmoire dadresse (10A)16 , et que le rsultat du
programme (la diffrence) occupera laccumulateur. Le programme devra tre stock en
mmoire partir de ladresse (100)16 , et les emplacements mmoire dadresses (10B)16 et
(10C)16 peuvent tre utiliss comme espace de travail.
Solution
Adresse
mmoire
100
101
102
103
104
105

Code
Mnmonique
STOCKER
CHARGER
NEG
STOCKER
CHARGER
ADD

106

HALTE

valeur de
ADR
10B
10A
10C
10B
10C

Signification
Sauvegarder le contenu de laccumulateur (la valeur de a)
Charger dans laccumulateur le nombre b
Calculer loppos de b
Et stocker (-b) ladresse (10C)16
Rcuprer la valeur de a dans laccumulateur
Faire laddition du contenu de ACC avec le contenu de
l@ (10C)16 (cd a + (-b) )

EXERCICE 10 : fetch et excution


Enonc
En supposant que chaque instruction du programme de lexercice 8 prend un cycle
machine, et que chaque cycle est partag en 2 phases (recherche et excution), donner dans un
tableau le contenu des registres PC, RI, ACC et de lemplacement mmoire (105)16 , au cours du
droulement de lexcution de ce programme.

Exercices : TD N4
-Le processeur ou CPU -

-129-

Notions de structure machine

V 1.1 Hamdi Hocine

Solution
Numro du
cycle
1

Phase de
recherche
x

Phase
dexcution
x

x
x
x
x

PC

RI

ACC

m(105)

101
101
102
102
103
103
104
104
105
105

1019
1019
4105
4105
1020
1020
6105
6105
F5-F5--

non dfini
(019)16

(020)16

(039)16

non dfini
non dfini
non dfini
(019)16
non dfini
non dfini
non dfini
non dfini
non dfini
non dfini

EXERCICE 11 : assembleur + fetch + excution


Enonc
On veut prendre la valeur absolue dun nombre qui se trouve ladresse mmoire (109)16.
Pour cela on prend le nombre et on teste sil est ngatif. Si oui, on le rend positif et on le range
la mme adresse. Si non, on le range tel quel la mme adresse.
1Ecrire le programme correspondant en langage assembleur de mimosa.
2Donner le contenu des emplacements mmoire si le programme est stock partir de ladresse
(100)16 (on supposera que le bus de donnes, laccumulateur, et les emplacements mmoire ont
tous une capacit de 16 bits).
3 En supposant que le nombre est positif, donner comment le programme est excut dans le
temps, en prcisant les contenus de : Bus de donnes, Bus dadresses, PC, RI, ACC, m(109).
4Mme question que 3 en supposant cette fois que le nombre est ngatif.
Solution
1

Adresse
mmoire
100
101
102
103
104
105
106

Code
Valeur
Mnmonique ADR
EFFACERN
-CHARGER
109
SAUT,N
104
SAUT
105
NEG
-STOCKER
109
HALTE
--

Signification
N := 0
ACC:=m(109)
Si N=1 alors PC := 104
PC := 105
ACC := - ACC
m(109):=ACC

2 Adresse
mmoire
100
101
102
103
104
105
106

Contenu
hexadcimal
F9-2109
9104
8105
F1-4109
F5--

Exercices : TD N4
-Le processeur ou CPU -

-130-

Notions de structure machine

V 1.1 Hamdi Hocine

3Cas o le nombre est positif


Ncycle
1

Phase
Phase
recherche excution
x
x
x

PC

Bus @

RI

100
100
101

--100

101

ACC

m(109)

Observations

------F9--

Bus
data
------F9--

----------

nbre a

F9--

F9--

----

@dbutPC
(PC)bus@
M(100)RI et
PC=PC+1
Et dcodage F9
Bit N = 0

x
2

x
x

101
102

101
101

F9-2109

2109

-------

102

109

2109

2109

----

102

109

2109

nbre a

nbre a

102
103

102

2109
9104

9104

nbre a

x
x
x

x
x

103
104
x

103

x
x

9104

103
8105

8105

105
105
106

105
105

4109

106

109

4109

106

109

106
107

106
106

F5--

F5--

107

106

F5--

F5--

x
x
x

4109

(PC)bus@
m(100)ACC
et PC=PC+1
et dcodage
Partie @de RI
Bus @
m(109)ACC
(PC)bus@
m(102)RI
et dcodage
N=0
(instruction
suivante ne rien
faire)
(PC)bus@
m(103)RI
et dcodage
Saut l@105
(PC)bus@
m(105)RI
et dcodage
Partie basse de RI
Bus @
m(109)ACC
(PC)bus@
m(106)RI
et dcodage
Arrt

4Cas o le nombre est ngatif


Ncycle
1

Phase
Phase
recherche excution
x
x
x
x
x
x
x
x
x
x
x

PC

Bus @

RI

Bus data

ACC

m(109)

100
100
101
101
101
102
102
102
102
103
104

--100

------F9-F9-F9-2109
2109
2109
2109
9104
9104

------F9-F9--

---------------------nbre a

nbre a

101
101
109
109
102

2109
2109
nbre a
9104

Exercices : TD N4
-Le processeur ou CPU -

-131-

Notions de structure machine

x
x

104
105
105
105
106
106
106
106
107
107

x
5

x
x
x
x

X
x
x

104

V 1.1 Hamdi Hocine

9104
F1-F1-F1-4109
4109
4109
4109
F5-F5--

105
105
109
109
106
106
106

F1-F1-4109
- (nbre a)
F5-F5--

- (nbre a)

- (nbre a)

EXERCICE 12 : pile et sous programme


Enonc
On donne le programme suivant pour mimosa o chaque adresse est exprime sur 12 bits,
chaque instruction occupe un emplacement mmoire, et un emplacement mmoire vaut 16 bits,.
Donner pour chacune des instructions 1 6, le contenu de la pile, de SP et de PC. Ces
contenus correspondent chaque fois ltat juste aprs lexcution de linstruction.
Ltat 0 correspond ltat aprs la phase recherche de linstruction SAUTSP 200, et
juste avant la phase excution de cette instruction. Dans cet tat on a donc :
(PC) = 120 et (SP) = 056. La pile occupe les adresses de 000 0FF.
Solution
//////////

Signifie prochaine position libre sur la pile


1
2
3
4

0
@

056

Pile

//////

055
056

Pile

//////
120

054
055
056

Pile

//////
250
120

Pile

053
054
055
056

//////
(A)
250
120

054
055
056

Pile

//////
250
120

5
@

055
056

Pile

//////
120

056

Pile

//////

SP
056

SP
055

SP
054

SP
053

SP
054

SP
055

SP
056

PC
120

PC
200

PC
300

PC
311

PC
321

PC
250

PC
120

Exercices : TD N4
-Le processeur ou CPU -

Notions de structure machine

-132-

V 1.1 Hamdi Hocine

Dtaillons les phases 2 et 5, cest dire avant et aprs excution des instructions
correspondantes.
Instruction 2 : SAUTSP 300
-1-Contenu de PC = 24F -2-Dpt du contenu de PC sur le bus d@ -3-Lecture mmoire (le
contenu de l@24F cd le code de linstruction SAUTSP 300 est mis dans le registre RI) et
incrmentation du PC (PC : = PC + 1 = 250) -4-Dcodage du contenu de RI cd interprtation
de SAUTSP 300 -5-Execution de linstruction cd :
a)criture du contenu de PC dans la pile pour sauvegarder l@ de retour criture de
250 sur le haut de la pile ;
b)dcrmentation de SP SP : = SP 1 = 055 1 = 054 ;
c)dpt du contenu de la partie adresse du registre RI dans le PC ( @300 qui est
ladresse du sous programme) : (PC) : = 300.
Instruction 5 : RETSP
Phase recherche :
-1-(PC)=350

-2- Bus @ := (PC) = 350

-3-Lecture mmoire et en parallle

incrmentation du PC: (PC) = (PC) + 1= 351 -4-

m(350) = code de RETSP est mis

dans RI 5- Dcodage de linstruction RETSP


Phase Excution:
-6-Lecture de ladresse de retour partir de la pile  mise du haut de la pile dans le PC


PC = 250 -7-La lecture de la pile  incrmentation du pointeur de pile : (SP) = (SP) + 1

= 054 + 1 = 055.

EXERCICE 13 : indicateurs Carry, Signe (N), Zero


Enonc
Il sagit de tester un bit du registre dtat dun organe dE/S. Si le bit est 1, le
priphrique est prt et on peut faire le transfert dE/S. Sil est gal zro, le priphrique est
occup et il faut attendre jusqu ce quil soit prt. Donner pour une lecture sur le priphrique,
le programme en langage assembleur dans les trois cas suivants :
1cas : ltat prt est indiqu par le bit 20 du registre dtat
Aprs lecture du registre dtat, il est pratique denvoyer le bit dtat dans le carry par une
instruction de dcalage, et de tester le bit carry (la lecture du registre dtat correspond un
transfert de son contenu dans laccumulateur ACC).

Exercices : TD N4
-Le processeur ou CPU -

-133-

Notions de structure machine

V 1.1 Hamdi Hocine

2cas : ltat prt est indiqu par le bit 27 du registre dtat


Aprs lecture du registre dtat (transfert dans ACC), il suffit de tester lindicateur de
signe (en supposant que la lecture du registre positionne le bit N), qui sera 1 sit le bit numro 7
du nombre lu est 1.
3cas : ltat prt est indiqu par le bit 23 du registre dtat
Le moyen le plus simple de tester ltat prt est de faire un masquage, cest dire de
mettre zro tous les bits sauf le bit prt, de sorte que lindicateur Z sera positionn (Z=1) si
prt = 0, et Z sera nul dans le cas contraire. Le masquage se fera donc par un ET logique avec la
valeur binaire 00001000 (08 en hexa). On utilisera ladresse 200 comme adresse de travail et de
stockage temporaire, et ladresse 5FF comme adresse du registre dtat PSW .
Solution
1cas : tat prt = bit 20 du registre dtat
Adresse
100
101
102
103
104
105

Mnmonique Oprnde
CHARGER
5FF
DECD
SAUT,C
104
SAUT
100
ENTREE
HALTE

Signification
Mettre le contenu du registre dtat dans ACClecture du mot dtat
Le bit 0 du mot dtat est mis dans le carry par un dcalage droite
Si C=1 priphrique prtaller l@104 pour lopration dE (lecture)
Sinon C=0priphrique non prtretour l@100 pour relire le mot dtat
Lecture de la donne sur le priphrique dentreACC :=(tampon dentre)
Arrt du programme

2cas : tat prt = bit 27 du registre dtat


Adresse
100

Mnmonique Oprnde Signification


EFFACERN
Mettre zro le bit de signe (N) du registre des indicateurs (PSW)

101

CHARGER

5FF

102
103
104
105

SAUT,N
SAUT
ENTREE
HALTE

104
101

Mettre le contenu du registre dtat dans ACCle bit 27 du mot dtat


correspond au bit de signe si bit 27 = 1  N= 1 ; sinon N reste zro
Si N=1 priphrique prtaller l@104 pour lopration dE (lecture)
Sinon N=0priphrique non prt retour l@101 pour lire le mot dtat
Lecture de la donne sur le priphrique dentreACC :=(tampon dentre)
Arrt du programme

3cas : tat prt = bit 23 du registre dtat


Adresse
100
101
102
103

Mnmonique
NOMBRE
STOCKER
CHARGER
ET

Adresse
08
200
5FF
200

104

SAUT,Z

102

105

ENTREE

106

HALTE

Signification
Mettre le nombre 8 ( valeur binaire 00001000) dans ACC
m(200) : = (ACC) ( le nombre 8 est stock l@200 )
Lecture du registre dtat (mettre mot dtat dans ACC )
ET logique du contenu de ACC avec contenu de ladresse 200, et le rsultat se
trouve dans laccumulateur. Compte tenu de la valeur binaire contenue dans
l@200, cela revient mettre zro tous les bits du mot dtat sauf le bit 23
Si Z=1le rsultat du ET logique est nulpriphrique non prtretour
l@102 pour relire le mot dtat
Sinon Z=0 Lecture de la donne sur le priphrique dentre
ACC := (tampon dentre)
Arrt du programme

Exercices : TD N4
-Le processeur ou CPU -

-134-

Notions de structure machine

V 1.1 Hamdi Hocine

EXERCICE 14 : recherche du minimum dans une table


Enonc
Dans une table constitue de nombres logiques, on cherche dterminer llment qui a
la plus petite valeur. Ecrire lalgorithme puis le programme en langage assembleur de mimosa.
On suppose que la table commence ladresse 300 et que sa longueur est gale 256. La
valeur min devra tre stocke en fin de programme ladresse 400. Le programme est stock en
mmoire ladresse 100. On utilisera comme zones de travail 3 registres correspondant chacun
une adresse :
-R0 : contient la valeur min provisoire
-R1 : contient ladresse du i me lment
-R2 : sert de compteur
Solution
Algorithme
i := 1 ;
compteur := n ;
min := element(i) ;
Boucle
compteur :=compteur-1 ;
Si compteur = 0 Alors
sortie de boucle ;
FinSi ;
i := i+1;
Si element (i) < min Alors
Min := element(i) ;
FinSi ;
FinBoucle ;
FIN.
Programme
Etiquette

boucle :

Adresse
mmoire
100
101
102
103
104
105
106
107
108
109
10A
10B
10C

Mnmonique Oprande
NOMBRE
00
STOCKER
R0
NOMBRE
300
STOCKER
R1
NOMBRE
256
STOCKER
R2
CHARGER
R1
STOCKER
R0
EFFACERZ
DEC
R2
SAUT,Z
sortie
INC
R1
EFFACERC

Signification
ACC :=(00)16
(Ro) := (ACC)(R0) := 0 valeur min = 00
ACC := @ de dbut de la table
R1 := @ de dbut de la table
ACC := 256 (longueur de la table)
R2 := ACC
ACC := le 1lment de la table
R0 := le 1lment de la table
Mettre zro le bit Z
R2=R2-1 (dcrmentation du nbre dlment lus)
Si Z=1on a lu tous les lments de la tablesortir de boucle
R1=R1+1 (dans R1 l@du prochain lment de la table)
Remettre zro le bit carry C
Exercices : TD N4
-Le processeur ou CPU -

-135-

Notions de structure machine

Etiquette

sortie :

Adresse
mmoire
10D
10E
10F

SUB
ZAUT,C
CHARGER

R1
boucle
R1

110
111
112
113
114

STOCKER
SAUT
CHARGER
STOCKER
HALTE

R0
boucle
R0
400

V 1.1 Hamdi Hocine

Mnmonique Adresse Signification


ACC := ACC (R1)  ACC := min (R1)
Si C=1 min < (R1) on garde le min
Sinon C=0min > (R1)le nouveau min est celui dont
ladresse est donne par R1mettre le nouveau min dans ACC
ACC := (R1)
Stockage du nouveau min dans R0
ACC := (R0) (charger le min dans ACC)
m(400) := ACC (stockage du min ladresse 400)
Arrt du programme

Exercices : TD N4
-Le processeur ou CPU -

Notions de structure machine

-136-

V 1.1 Hamdi Hocine

PARTIE 3 : CONTROLE DES CONNAISSANCES (dure 1h30)


EXERCICE 3-1 : Adressage relatif sur Mimosa
Enonc
Si la mmoire de mimosa est organise en octets, considrons linstruction de
branchement conditionnel en adressage relatif SAUT,S donne , o donne exprime le
dplacement D. Cette instruction occupe les emplacements mmoire dadresses 310 et 311.
1 Si D = 00A, quelle est la valeur de ladresse effective EA ?
2Donner la valeur de D si : a) on veut se brancher ladresse 313 ; b) on veut se brancher
ladresse 30F.
Solution
Question 1 : adresse effective EA =(PC)+i+D=310+2+0A=31C
(i=2 car linstruction occupe deux emplacements mmoire)
Question 2 :

a) Dplacement D =EA [(PC) +2]=313-312=01


b) Dplacement D = 30F 312 = -3. Le dplacement est ngatif, il faut donc

lexprimer en complment 2. Compl2 (-3) = FD. Donc Dplacement D = FD

EXERCICE 3-2 : Pile et sous programme (mmoire organise en octets)


Enonc
Considrons le programme suivant pour Mimosa. Donner le contenu de la PILE, de SP,
de PC et RI, la fin de la phase recherche et la fin de la phase excution de chaque instruction.
Ltat initial correspond (PC) = 200 ; (SP) = 050 ; (ACC) =2FB3.
PROGRAMME PRINCIPAL
Numro
Adresse Mnmonique Adresse
Instructio
Mmoire
200
--------------220
PUSHA
1
--------22F
SAUTSP
400
2
--------235
PULA
8
--------250
HALTE
9

SOUS PROGRAMME

Numro
instructio

3
4

5
6

Adresse
mmoire
400
--420
422
----44F
450
----500

Mnmonique

Adresse

--------NOMBRE
PSHA
------NOP
PULA
--------RETSP

----435
-----------

Exercices : TD N4
-Le processeur ou CPU -

-137-

Notions de structure machine

V 1.1 Hamdi Hocine

Solution
(Par souci de clart et pour conomiser lespace, la structure de la RAM est bascule droite
par une rotation de 90 droite)
REGISTRES
Ninstruction Contenu Contenu
et phase
PC
RI
Etat Initial

200

1 recherche
1excution
2 recherche
2excution
3 recherche
3excution
4 recherche
4excution
5 recherche
5excution
6 recherche
6excution
7 recherche
7excution
8 recherche
8excution
9 recherche
9excution

221
221
231
400
422
422
423
423
450
450
451
451
501
231
236
236
251
251

CONTENU PILE
(- - signifie ladresse est vide )
Adr Adr Adr Adr Adr Adr
4F
4E
4D 4C
4B
4A

Contenu
SP

Adr
50

50

--

--

--

--

--

--

--

--

50
4E
4E
4C
4C
4C
4C
4A
4A
4A
4A
4C
4C
4E
4E
50
50
50

-2F
2F
2F
2F
2F
2F
2F
2F
2F
2F
2F
2F
2F
2F
----

-B3
B3
B3
B3
B3
B3
B3
B3
B3
B3
B3
B3
B3
B3
----

---23
23
23
23
23
23
23
23
23
23
------

---1111111111------

-------43
43
43
43
--------

-------5555--------

-------------------

-------------------

F7-0400
1435
F7-F4-FF-F6-FF-F5--

Adr
49

EXERCICE 3-3 : Dsassemblage et excution de programme.


Enonc
Le contenu de la mmoire de MIMOSA (organise en octets) est donn par le tableau
suivant :
Adresse
mmoire
300
301
302
303
304
305
306

Contenu
21
F2
61
F3
41
F2
FD

Adresse
mmoire
307
308
309
30A
30B
30C
30D

contenu
72
F5
A3
00
42
F4
F5

1Dsassembler le programme qui se trouve en


mmoire.
2Donner aprs lexcution du programme, le
contenu des emplacements mmoire dadresses :
1F2, 1F3, 2F4, 2F5. Avant lexcution, ces
emplacements

contenaient

respectivement

les

valeurs hexadcimales suivantes : 07, 05, 0E, 04 .


3Quelle est linstruction quon a oublie dans ce
programme et pourquoi ?

Exercices : TD N4
-Le processeur ou CPU -

-138-

Notions de structure machine

V 1.1 Hamdi Hocine

Solution
Mnmonique
Numro
Ligne
1
CHARGER

Oprande

ADD

1F3

3
4
5
6
7
8

STOCKER
DECD
SUB
SAUT,Z
STOCKER
HALTE

1F2

CONTENU DES
ADRESSES
APRES EXECUTION
DU PROGRAMME
Adr Adr Adr Adr
1F2 1F3 2F4 2F5
12
5
2
4

2F5
300
2F4

Instruction
Manquante :EFFACERZ

1F2

Position de linstruction manquante : avant linstruction de soustraction SUB


Explications : quand le rsultat dune opration nest pas nul,  le bit Z nest pas modifi. Sil
tait 1, il reste 1  risque derreur  avant lopration arithmtique il faut le mettre zro
par linstruction EFFACERZ.

EXERCICE 3-4 : Programmation en assembleur et assemblage


Enonc
On dsire crire un programme qui permet de lire deux nombres a et b sur un
priphrique dentre (clavier par exemple), de les stocker aux adresses respectives 300 et 301,
puis de faire leur comparaison, et en fonction du rsultat effectuer certains traitements :
- si a = b, stocker le nombre a (ou b ) ladresse 400, puis envoyer ce nombre
sur le priphrique de sortie (imprimante par exemple) et sarrter;
- si b < a , calculer la moyenne (a+b)/2 , puis stocker le rsultat ladresse 400, puis
envoyer le rsultat sur le priphrique de sortie et sarrter;
- si b > a , retourner obligatoirement saisir deux nouveaux nombres a et b.
1Ecrire le programme correspondant en langage assembleur de Mimosa. Ce programme sera
stock en mmoire partir de ladresse 200, et la mmoire est organise en mots de 16 bits.
2Donner le contenu des emplacements mmoire en hexadcimal.
Solution
Adresse
mmoire
200
201
202
203
204
205
206
207

Mnmonique
ENTREE
STOCKER
ENTREE
STOCKER
EFFACERZ
EFFACERC
SUB
SAUT, Z

Oprande

300
301

300
20A

Adresse
mmoire
200
201
202
203
204
205
206
207

Contenu
hexadcimal
F2-4300
F2-4301
FA-FC-7300
A20A

Exercices : TD N4
-Le processeur ou CPU -

-139-

Notions de structure machine

Adresse
mmoire
208
209
20A
20B
20C
20D
20E
20F
210
211

Mnmonique

Oprande

SAUT, C
SAUT
CHARGER
SAUT
CHARGER
ADD
DECD
STOCKER
SORTIE
HALTE

20C
200
300
20F
300
301
400

V 1.1 Hamdi Hocine

Adresse
mmoire
208
209
20A
20B
20C
20D
20E
20F
210
211

Contenu
hexadcimal
C20C
8200
2300
820F
2300
6301
FD-4400
F3-F5--

Exercices : TD N4
-Le processeur ou CPU -

Vous aimerez peut-être aussi