Architecture Des Ordinateurs-BROU
Architecture Des Ordinateurs-BROU
Architecture Des Ordinateurs-BROU
Sommaire
Introduction
Traitement de l’information
La partie matérielle
Système numérique
Représentation des nombres
Arithmétique binaire
La partie logiciel
Bibliographie
20/05/2008 2
Bibliographie
Livre
[ALR ] : Structure de données et algorithmes, Alfred Ano, John
Hopcroft, Jeffrey Ullman, InterEdition
[BOR ] : Initiation à la programmation, Collection Sciences et
pratique de l’informatique, Bordas Informatique
[COU ] : Initiation à l’algorithmique et aux structures de données,
1, 2 Récursivité et structures de données avancées, J. Courtin, I.
Kowarski, Dunod Informatique
[GUY ] : Arbre Table et Algorithmes, J. Guyot, C. Vial,Eyrolles
[MEY ] : Méthodes de programmation, B. Meyer et C audoin,
Eyrolles
Webographie
Christine PORQUET : ENSICAEN - 1ère année – 2nd semestre –
Algorithmique avancée : Poly_Algo_avancee_debut.pdf
http://brassens.upmf-
grenoble.fr/IMSS/limass/algoprog/algocours.html
20/05/2008 3
I. Introduction
1.1. Qu’est-ce que l’informatique ?
C’est la science du traitement automatisé de l’information
par des ordinateurs.
Ordinateur
Machine électronique programmable qui permet le traitement
de l’information.
On peut considérer un ordinateur selon deux points de vue :
Le point de vue du constructeur nous apprend quels sont les composants de
cette machine et son fonctionnement interne. C’est ce que l’on désigne par
le terme Hardware (quincaillerie) c’est-à-dire la partie matérielle.
Le point de vue de l’utilisateur considère le mode d’emploi de cette machine,
ceci est désigné par le terme Software (partie molle), c’est-à-dire la partie
immatérielle ou encore la partie intelligente.
Ordinateur = Hardware + Software
Divers domaines d’application :
la gestion des entreprises, la recherche, la médecine, les
prévisions météorologiques, la CAO, la FAO…
20/05/2008 4
I. Introduction
1.2. Avantages de l’utilisation d’un ordinateur
C’est une machine :
Elle peut travaille 24h/24
Elle ne fait pas d’erreurs
Rapidité de calcul
En moyenne 10-4 s pour faire une multiplication
Grande capacité se stockage
On trouve des disques 10 Go (≈ ≈10 milliards de caractères ≈ 20
million de pages écrites (50 lignes et 100 caractères par ligne)
C’est une machine programmable
L’homme (le programmeur) donne à la machine toutes les
instructions nécessaires (le programme) pour faire un travail
donné.
20/05/2008 5
II. Traitement de l’information
2.1. Notion d’information
C’est un renseignement sur un fait dont la connaissance
diminue notre incertitude et nous permet de prendre une
décision, ou d’entreprendre une action.
Mécanisme de production et de consommation
d’informations
20/05/2008 6
II. Traitement de l’information
Exemples :
Information Producteur Destinataires Support
Condition de circulation
• Code de la route Organisme législatif Panneaux
Grand public
• Etat de la route gendarmerie Radio, télévision
• Densité de circulation
Information clients Service commercial, Bon de commande
• Chiffre d’affaire comptabilité Documents comptables
Clients
• Produits commandés
• solvabilité
Prix, qualité des produit et Institut de
des services, critère de consommateur Consommateurs Revue, radio, télévision
choix, conseils
Message électronique Homme, ordinateur Homme, ordinateur Internet
20/05/2008 7
II. Traitement de l’information
2.2. Information naturelle
Elle correspond à la majorité des informations utilisées ou
produites par des travaux de bureau :
bureau de secrétariat, d’études, de recherche…
Trois sortes : orale, graphique, écrite
Information orale :
Le support naturel est la voix humaine utilisée pour la
transmission directe ou téléphonique de nombreuses
informations importantes.
Des supports magnétiques ou optiques permettent de les
stocker sous cette forme :
répondeur-enregistreur, serveur vocal….
20/05/2008 8
II. Traitement de l’information
Information picturale ou graphique :
Elle concerne les graphiques de gestion, les dessins ou schéma,
les images fixes ou animés.
Stockés sur des supports magnétiques ou optiques
Manipulation à l’aide de logiciels spécialisés :
Paint, Photoshop..
Une image étant constituée d’un grand nombre de données
l’information graphique (infographie) est donc coûteuse en
capacité mémoire, en temps d’impression et de transmission.
Information écrite :
Le texte est la forme la plus courante de l’information naturelle.
Son support définitif est presque toujours le papier.
Supports informatiques pour le stockage :
disque, CD…
Logiciel de manipulation :
traitement de texte, publication assistée par ordinateur.
Microsoft Word, Microsoft Publisher
20/05/2008 9
II. Traitement de l’information
2.3. Information structurée
Une information ne devient un renseignement utilisable en
informatique que si elle est structurée.
Elle est définie avec les trois éléments suivants :
Entité : objet, individu, événement…
Attributs : propriétés caractéristiques des entités
Valeur : une pour chaque attribut (de type texte, numérique…)
Entité Attributs Valeur
Elève Numéro 98765
(individu) Nom KONE
Prénom Awa
classe TCA
Produit (objet) Référence 1230
Désignation Ordinateur
Prix unitaire 1 500 000
20/05/2008 10
II. Traitement de l’information
2.4. Notion de traitement de l’information
Toute information reçue est traitée en vue de produire des
résultats.
Traitement de l’information structurée
Données Procédures Résultats
(entrées) (instructions) (sortie)
Constantes Manuelles Intermédiaires
Variable Automatiques Définitifs
20/05/2008 11
II. Traitement de l’information
Les résultats ou sortie ou données de sortie
Ce sont les documents écrans, fichier, obtenus après le
traitement des données d’entrées.
On en distingue deux types :
Les résultats intermédiaires ou internes :
Ils sont conservés pour servir de données d’entrées à d’autres traitements.
L’utilisation de ces résultats est interne au système de traitement.
Exemple : les montants HT calculés au cours de la facturation serviront au
calcul des montants TTC ou à l’établissement de statistiques de ventes.
Les résultats définitifs :
Ils sont diffusés directement au destinataire,
Ce sont des résultats externes au système de traitement.
Exemple : facture, bulletin de paie.
20/05/2008 12
II. Traitement de l’information
Les procédures
Elles traduisent sous forme d’instructions les règles de gestion
appliquées pour obtenir les résultats souhaités à partir des
données d’entrées.
Une procédure peut être manuelle ou automatisée.
L’homme ou la machine qui exécute une procédure est appelée
processeur.
Procédures manuelles
Procédures mécanisées dans lesquelles l’homme fait exécuter certaines
fonctions simples par des machines (machine à calculer, machine à écrire…)
Les procédures automatisées
Elle sont intéressantes lorsque le volume des données à traiter et les
résultats à obtenir est important ou lorsque les traitements sont répétitifs.
On distingue quatre modes de traitements :
Le traitement par lot, unitaire, différé, immédiat
Le traitement par lot :
Les données correspondant à un même type d’événement sont regroupées
en lot avant d’être traitées :
moyenne d’élèves, commandes clients, calcul de salaire….
20/05/2008 13
II. Traitement de l’information
Le traitement unitaire :
à l’inverse du traitement par lot, ce traitement ne concerne qu’un seul
événement : une facture, la moyenne d’un seul élève….
Le traitement immédiat (ou temps réel) :
l’arrivée de l’événement entraîne la saisie des données, leur traitement et la
sortie des résultats.
Le temps de réponse (délai entre l’arrivée de l’événement et l’obtention des
résultats) est donc très court : demande de position dans une banque,
confirmation d’un vol….
Le traitement différé :
un certain temps peut s’écouler entre l’arrivée de l’événement et
le traitement des données : édition des bulletins de notes, de
paies….
Le regroupement des données en lots s’étale sur une certaine
période (journée, semaine, mois…) : traitement différé par lot.
Exemple la paie (accumulation des données puis traitement mensuel).
Le traitement immédiat concerne le plus souvent un seul
événement : traitement unitaire immédiat.
Exemple : réservation de place, de mande de position bancaire…
20/05/2008 14
III. La partie matériel
3.1. Les différents types d’ordinateurs
Historiques technologique
Elle est liée à la miniaturisation des composants électroniques
qu’ils renferment. On distingue 5 générations d’ordinateurs :
1ère génération : 1938-1953
Composants : relais, tubes à vides, résistances
Machines consommatrices d’énergie, volumineuses, peu fiables
Instruction en langage machine seulement :
codage des instructions sous forme de 0 ou de 1
Exemple : IBM 700, UNIVAC 1.
2ème génération : 1954-1963
Composants : transistors, mémoire à tores de ferrite
Logiciels : apparition des systèmes d’exploitation, des langage
de programmation évolué FORTRAN (FORmula TRANslation,
1957), COBOL (Common Business Oriented Language, 1959)
Bandes magnétique pour l’archivage d’informations
Exemple : DEC PDP-1 : cycle de 5 µs, 1961
20/05/2008 15
III. La partie matériel
3ème génération : 1964-1979
Composants : circuit intégré
Machine : faible consommation énergétique, encombrement
réduit et plus fiable.
premier microprocesseur INTEL 4004 (1971).
Logiciel : multiprogrammation
indépendance par rapport aux unités physiques d’entrées/sorties.
Mode d’exploitation :
temps partagé accès interactif, temps réel, transactionnel.
Les ordinateurs peuvent prendre en charge plusieurs modes
d’exploitation
IBM 360.
Les OS gagnent en complexité.
Evolution :
multiprocesseurs (fin 1960),
mémoire virtuelle,
apparition des réseaux informatiques,
notion de compatibilité entre machines (chez un même constructeur).
20/05/2008 16
III. La partie matériel
4ème génération : 1980 à nos jours
composants :
circuit intégré LSI (Large Scale Integration) et VLSI : Very Large Scale
Integration, 10 000 transistors par mm2
Logiciel :
traitement distribué (ou réparti),
communication réseaux,
accès aux bases de données,
convivialité (Macintoh) ,
notion de machine virtuelle.
Evolution :
parallélisme d’exécution (pipe-line, vectorisation),
ordinateurs personnels pour traitement de texte, tableurs…,
augmentation de la puissance.
5ème génération : 1984
Projet japonais, abandonné
Ordinateurs puissants dédiés aux systèmes experts.
Les japonais espéraient atteindre le milliard de LIPS
Logical Inference Per Second
20/05/2008 17
III. La partie matériel
3.2. Classification des ordinateurs
On classifie les ordinateurs par :
le nombre de leur bus de données
c’est-à-dire par leur capacité de traiter plusieurs bits à la fois
la fréquence d’horloge
nombre de cycle d’horloge moyen par instruction
le nombre d’instruction en MIPS
Mega Intructions Per Seconde.
Temps total d’un programme
= nombre d’instruction * (nombre de cycles moyen par
instruction) * cycle d’horloge
Ces caractéristiques sont liées entre elles.
Trois grandes catégories d’ordinateurs :
Micro ordinateurs : 4 à 8 bits, 10 MIPS
Mini ordinateur : 16 bits, 3000 MIPS
Gros ordinateurs : ≥ 32 bits, ≥ 3000 MIPS
20/05/2008 18
III. La partie matériel
Remarque
Cette classification tend à ne plus être respectée
On dispose de nos jours de micro ordinateurs de 32 bits
(famille INTEL 80486, Pentium…).
On distingue aussi les ordinateurs selon le type
d’application qui y est exécutée :
Machines dédiée à la gestion :
Machines ayant beaucoup de périphériques d’entrées/sorties
Exemple d’application de gestion :
Travaux administratif : paie, gestion de stock, tenue de compte,
facturation…
Guichets automatiques dans les banques
Réservation dans les compagnies aériennes
Caisse des supermarchés
20/05/2008 19
III. La partie matériel
Machines scientifiques :
Machines nécessitant une vitesse de traitement élevée
Exemple d’applications scientifiques
Vols spatiaux
Simulation (vol, conduite de voiture…)
Tracé de routes et de ponts.
Machines industrielles :
Machines nécessitant des périphériques spéciaux
d’entrées/sorties :
capteurs, robots, convertisseurs analogiques/digitaux…
Exemple d’application industriel
Acquisition de données
Surveillance de malades
Conduite d’unités industrielles
Machine de jeux :
Machine exigent une vitesse de traitement élevée et une très
grande résolution de l’écran.
Exemple de machine de jeux : Nintindo
20/05/2008 20
III. La partie matériel
3.3. Les base du dialogue Homme/Machine
Le langage humain :
Pour communiquer entre eux, les hommes ont crée des
langages.
Un langage est composé d’un alphabet et d’une grammaire.
Alphabet :
C’est l’ensemble des symboles du langage.
Il est composé de lettres alphabétiques (a, b, c…z), de chiffres (0, 1…9), de
signes divers (+, -, ?, #, $…).
Grammaire :
C’est l’ensemble des règles qui régissent la formation des mots et des
phrases à partir des symboles de l’alphabet.
Les symboles de l’alphabet sont regroupés pour former des mots
Les mots sont agencés pour former des phases.
Exemple :
Une phrase est composée d’un Groupe Nominale (GN) et d’un Groupe
Verbale (GV).
Un groupe verbale est composé d’un verbe et d’un groupe nominale.
20/05/2008 21
III. La partie matériel
Représentation :
GN GV
20/05/2008 22
III. La partie matériel
Le langage de l’ordinateur
Ordinateur : machine électronique qui a un alphabet pauvre.
Il ne peut distinguer que deux états :
le courant passe : bit 1 (interrupteur fermé)
le courant ne passe pas : bit 0 (interrupteur ouvert)
BIT (BInary digiT)
Plus petite information que puisse manipuler un ordinateur.
Codage de l’information
Chaque symbole de l’alphabet humain est représenté par un
codes.
Un code permet d’établir une correspondance entre un symbole
de l’alphabet humain et un mot binaire de la machine.
Un mot est un multiple de 8 bits
Code ASCII
American Standard Code for Information Interchange
Code le plus utilisé en micro ordinateur
Table à deux entrées qui contient les symboles de notre alphabet ainsi que
leur code en décimale ou en hexadécimal.
20/05/2008 23
III. La partie matériel
Table ASCII en hexadécimal
0 1 2 3 4 5 6 7 NUL : nul
0 NUL DLE SPC 0 @ P ` p SOH : Start Of Heading
1 SOH DC1 ! 1 A Q a q STX : Star of Text
2 STX DC2 " 2 B R b r ETX : End Of Text
3 ETX DC3 # 3 C S c s EOT : End Of Transmission
4 EOT DC4 $ 4 D T d t ENQ : ENQuiry
5 ENQ NAK % 5 E U e u ACK : ACKnowlege
6 ACK SYN & 6 F V f v BEL : BELl
7 BEL ETB ‘ 7 G W g w BS : Back Space
8 BS CAN ( 8 H X h x HT : Horizontal Tabulation
9 HT EM ) 9 I Y i y LF : Line Feed (Ligne suivante)
A LF SUB * : J Z j z VT : Vertical Tabulation
B VT ESC + ; K [ k { FF : Form Feed (Page suivante)
C FF FS , = L \ l | CR : Carriage Return (Retour chariot)
D CR GS - > M ] m } SO : Shift Out
E SO RS . ? N ^ n ~ SI : Shift In
F SI US / O _ o DEL DLE : Data Link Espace
Lecture du tableau
A à pour code 41 en hexadécimal = 65 en décimal = 01000001 en binaire
# à pour code 23 en hexadécimal = 35 en décimal = 00100011 en binaire
Autres codes : Vidéotexte, ANSI, EBCIDIC, UNICODE
20/05/2008 24
III. La partie matériel
Code ASCII étendu
Code sur 8 bits ce qui autorise la codification de 256 symboles
ou commandes différents.
Ce code prend en compte les caractères graphiques et les
lettres accentués.
Exemples : Å à pour code 143 en décimal.
Code Vidéotex :
Procédé de télécommunication permettant à un usager de
recevoir des messages sur un écran vidéo de type MINITEL.
Il utilise la norme française TELETEL.
Code à 7 bits, il se compose de :
127 caractères alphanumérique, graphique et de contrôle répartis
en deux tables :
G0 : permet de coder les chiffres et les lettres (idem en ASCII 7 bits)
et G2 : permet de coder les accents et quelques symboles particuliers
et 64 caractères mosaïques placés dans une table G1
G1 : permet de coder les caractères alphamosaïques qui servent à faire de dessins
à l’écran.
20/05/2008 25
III. La partie matériel
Code ANSI
American National Standard Institute
Code utilisé par le système d’exploitation Windows ;
ce code reprend en grande partie le code ASCII, et propose des
extensions différentes selon le code de page.
Code page 850 : jeu de caractères multilingues
Code page 864 : jeu de caractères arabe
Code page 865 : jeu de caractères nordique
Code EBCDIC
Extended Binary Coded Decimal Interchange Code
Code utilisé principalement par IBM.
C’est un code 8 bits ou 9 bits (1 bit d’imparité).
Code UNICODE
Code utilisé par Windows 95 et +.
Code universel codé sur 16 bits.
Permet de coder le plus grand nombre possible de symbole en usage
dans le monde (toutes les langues).
Il permet de coder 65535 caractères différents.
20/05/2008 26
III. La partie matériel
Exercices
Exo 1 : Un fichier contient les informations suivantes :
4C 65 20 42 54 53 20 65 6E 20 55 43 41 50 20 65 73 74 20 75 6E 65 20 22
65 78 63 65 6C 6C 65 6E 74 65 22 20 46 6F 72 6D 61 74 69 6F 6E 2E 22
Convertissez ces codes en ASCII.
Exo 2 : Coder le texte suivant en hexadécimal :
"Technologie 1989 "Leçon sur les codes"
20/05/2008 27
III. La partie matériel
3.4. Architecture d’un ordinateur
Un ordinateur comporte deux parties :
Un élément central appelé Unité Centrale (UC)
Des organes d’entrées/sorties appelés aussi unités périphériques.
Unité de Instructions
Commande et de Unité Centrale
Contrôle (UCC) Mémoire (UC)
centrale
(MC)
Unité Arithmétique Données
et Logique (UAL) Légende
Résultats Flux d’informations
Ordres de l’UCC
Unité Unité
d’échange d’échange
Unités
périphériques
20/05/2008 28
III. La partie matériel
La mémoire centrale
Elle sert à stocker toutes les données en provenance des
organes d’entrée ainsi que les programmes de traitement de
ces données.
Elle est formée d’un grand nombre de cellules ou mots
mémoires.
Chaque mot peut contenir une information (donnée ou instruction).
Les mots sont numérotées
L’UCC connaît chaque mot par son numéro appelé adresse.
Capacité mémoire de la machine
C’est l’ensemble des mots
Elle est exprimée en des multiples du kilo octet (Ko).
Mot mémoire
1 Ko = 210 octets = 1024 octets
1 Mo = 220 octets = 1024 Ko A code 65 0 1 0 0 0 0 0 1 Adresse 0
1 Go = 230 octets = 1024 Mo # code 35 0 0 1 0 0 0 1 1 Adresse 1
Adresse N
20/05/2008 29
III. La partie matériel
La MC est volatile
les informations chargées en mémoire sont effacées lorsque la machine
n’est plus alimentée en courant électrique.
La MC est une mémoire en Lecture/Ecriture
Opération de lecture : elle consistes à véhiculer les information des
périphériques d’entrée (tel que le clavier) vers la MC.
Opération d’écriture : elle consiste à véhiculer les informations de la MC vers
les périphériques de sortie (tel que l’écran).
MC
opération d’entrée opération de sortie
Périphérique Périphérique
d’entrée de sortie
20/05/2008 30
III. La partie matériel
D’autres types de mémoires associés à la MC :
ROM (Read Only Memory) :
c’est une mémoire à lecture seule
on l’appelle aussi mémoire morte parce qu’il est impossible de modifier son
contenu.
Elle contient les programmes de base nécessaires au fonctionnement de
l’ordinateur.
PROM : Programable ROM (ROM programmable)
EPROM : PROM effaçable
Exercice
Un disque dur d’une capacité de 10 Go est occupé à 85%. Peut-
on encore y stocker deux logiciels de 750 Mo et 1024 Mo ?
Justifiez votre réponse.
20/05/2008 31
III. La partie matériel
L’unité arithmétique et logique
Elle renferme tous les circuits électroniques nécessaires à
l’exécution des opérations arithmétiques et logiques.
La partie arithmétique
Elle effectue les opérations d’addition, de soustraction, d’arrondis, etc.
Exemple : s = 4 * 7 + 15
La partie logique
Elle exécute les opérations de prise de décision afin de modifier
éventuellement la séquence d’exécution des instructions.
A B A ET B A OU B NON A SI(x >= 0) ALORS
0 0 0 0 1 Calculer racine
0 1 0 1 1 SINON
1 0 0 1 0 Erreur
1 1 1 1 0
L’UAL possède un ou deux registres de travail appelés
accumulateur pour stocker les résultats intermédiaires.
5 accumulateur
UAL +
20/05/2008 2 3 32
III. La partie matériel
L’unité de commande et de contrôle
Elle commande et supervise l’ensemble de tout l’ordinateur.
Elle décode une à une les instructions des programmes et
active les éléments impliquées dans l’exécution de ces
instructions :
MC, UAL, périphériques d’entrées/sortie….
Format d’une instruction :
Elle est constitué d’un code opérateur, et de une ou deux adresses pour les
opérandes.
Exemple
Format d’une instruction à deux adresses
Code opérateur Adresse du 1er opérande Adresse du 2ème opérande
Format d’une instruction à une adresse
Code opérateur opérateur
Code opérateur Adresse du 2ème opérande (HEXA)
l’accumulateur contient l’adresse 00 chargement
du premier opérande et le résultat. 01 rangement
02 addition
Exemples de code opérateur 03 soustraction
04 multiplication
20/05/2008
05 division 33
III. La partie matériel
L’UCC travaille de façon séquentielle selon le cycle suivante :
1. Extraction de la MC de la nouvelle instruction à exécuter
2. Analyse de cette instruction et établissement des connexions
électriques nécessaires dans l’UAL
3. Extraction de la MC des opérandes sur lesquels portent l’instruction
4. Déclenchement du traitement de ces données par l’UAL
5. Rangement éventuel des résultats dans la MC
6. Puis le cycle recommence en (1)
Exemple sur une machine à une adresse
a = 2, b = 3
r=a+b
Le système de numération est la base 8 (système octal)
20/05/2008 34
III. La partie matériel
Exemple sur une machine à une adresse
a = 2, b = 3
r=a+b
Le système de numération est la base 8 (système octal)
20/05/2008 35
III. La partie matériel
Les unités périphériques
Ou périphériques
Ce sont toutes les unités qui ne font pas partie de l’UC.
On distingue deux sortes de périphériques :
Les unités de communication et les mémoires secondaires
Les unités de communication :
Elles assurent le dialogue entre l’UC et l’extérieur.
On en distingue trois sortes :
Les unités d’entrées : elles permettent de rentrer dans l’ordinateur les
informations à traiter (ex. claviers, souris, cameras, scanners).
Les unités de sortie : elles permettent à l’ordinateur de communiquer les
informations au monde extérieur (ex. écrans, imprimantes).
Les unités d’entrées/sortie : à la fois unité d’entrée et unité de sortie
(ex. disque, écran…).
20/05/2008 36
III. La partie matériel
Les mémoires secondaires :
Ou mémoires auxiliaires ou mémoires de masse
Elles servent à stocker de grandes quantités d’informations de façon quasi
permanente.
Mémoire secondaire Capacité
Disquette 1.44 Mo
Disque 100 Go
CD ROM 650 Mo
DVD 4.7 Go
Pen drive 64, 128, 512 Mo, 1Go
20/05/2008 37
IV. Les systèmes de numération
4.1. Présentation
Un système de numération est défini par un ensemble de
symboles et de règles permettant d’obtenir les nombres à
partir de ces symboles.
Base du système
C’est le nombre de symboles utilisé par un système de
numération.
Poids
La position d’un symbole dans le nombre détermine son poids
Il est exprimé en puissance de la base.
20/05/2008 38
IV. Les systèmes de numération
4.2. Le système décimal
Ensemble de symbole = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Base = 10 car il y a dix symboles
Les poids sont des puissances de 10
Les poids ont reçus un nom :
unité, dizaine, centaine, millier, etc.
Décomposition d’un nombre décimal
Exemple décomposition de 3082 en puissance de 10
Position (i) Poids bi = 10i Symbole ei Valeur décimale ei * bi
0 100= 1 2 2
1 101 = 10 8 80
2 102 = 100 0 0
3 103 = 1000 3 3000
Vérification 3082
20/05/2008 39
IV. Les systèmes de numération
Généralisation
Soit un nombre E de n positions écrit dans une base b. soit ei le
symbole de la position i.
Les positions vont de 0 à n –1, de la droite vers n −1
la gauche.
n−2 n −1
Formule 1 : E = e 0 b + e1 b + ... + e n − 2 b + e n −1 b = ∑ e i b
0 1 i
i=0
Exemple
(3082)10 = 2 * 100 + 8 * 101 + 0 * 102 + 3 * 103
= 2 * 1 + 8 * 10 + 0 * 100 + 3 * 1000
= 2 + 80 + 0 + 3000 = 3082
Exercice
Décomposez les nombres suivants en base 10 :
1261, 32768, 10204
20/05/2008 40
IV. Les systèmes de numération
Décomposition d’un nombre à virgule
Un nombre à virgule comprend une partie entière et une partie
décimale.
Exemple
3082,35 = 3082 + 0,35
Décomposition de la partie décimale
Position (j) Poids b-j = 10-j Symbole ej Valeur décimale ej * b-j
1 10-1 = 0,1 3 0,30
2 -2
10 = 0,01 5 0,05
Vérification 0,35
Généralisation :
Soit E une partie décimale de p positions écrit dans une base b.
soit dj le symbole de la position i.
Les positions vont de 1 à p, de la gauche vers la droite.
p
−1 −2 p −1 −p −j
Formule2 : E = d 1 b + d 2 b + ... + d p −1 b + d pb = ∑d jb
Exemple j =1
20/05/2008 42
IV. Les systèmes de numération
Conversion décimal/binaire
Convertir la partie entière d’un nombre décimal en binaire
Exemple convertir 87 en binaire
Méthode 1 :
On effectue des divisions successives sur les quotients successifs par la base
jusqu’à obtention d’un quotient nul.
Le résultat est représenté par les restes successifs (du bas vers le haut).
87 2
87 : 2 = 43 Reste 1
1 43 2
1 21 2 43 : 2 = 21 Reste 1
1 10 2 21 : 2 = 10 Reste 1
0 5 2
10 : 2 = 5 Reste 0
1 2 2
0 1 2 5:2=2 Reste 1
1 0 2:2=1 Reste 0
1:2=0 Reste 1
Présentation 1
Présentation 2
(87)10 = (1010111)2
20/05/2008 43
IV. Les systèmes de numération
Méthode 2 :
Soit b la base et E le nombre à convertir.
1. On détermine la plus grande puissance de b immédiatement inférieure ou
égale au nombre à convertir E en posant : bn ≤ E (n entier).
2. On retranche (quotient * bn) du nombre E, puis on répète ce processus sur
la différence en divisant à chaque fois bn par la base b
Avec b = 2 et E = 87 on a
2n ≤ 87 (n entier)
Ln 87
Ln2n ≤ Ln87 n ≤ = 6 , 44 ≈ 6
Ln 2
Le calcul logarithmique donne n = 6 et 26 = 64
87 contient 1 fois 64 87 – 1*64 = 23
23 contient 0 fois 32 23 – 0*32 = 23
23 contient 1 fois 16 23 – 1*16 = 7
7 contient 0 fois 8 7 – 0*8 = 7
7 contient 1 fois 4 7 – 1*4 = 3
3 contient 1 fois 2 3 – 1*2 = 1
1 contient 1 fois 1 1 – 1*1 = 0
Le nombre en binaire est fourni par les quotients successifs (du haut vers le
bas). (87)10 = (1010111)2
Exercice : Convertir ces nombres en binaire : 62 125 127 255 32767 32768
20/05/2008 44
IV. Les systèmes de numération
Convertir la partie décimale d’un nombre décimal en binaire
On effectue au fur et à mesure des multiplications successives
par la base des différentes parties après la virgule.
On retient à chaque fois les chiffres après la virgule du nombre
obtenu.
On arrête le processus lorsque la conversion en décimal de la
valeur binaire obtenue est proche du nombre à convertir.
Le résultat est donné par les différentes parties entières des
nombres obtenus, en commençant de haut en bas.
Exemple convertir 87,78 en binaire
0,78 * 2 = 1,56
0,56 * 2 = 1,12 (0,78)10 = (0,11000111)2
0,12 * 2 = 0,24
0,24 * 2 = 0,48 (87,78)10 = (1010111,11000111)2
0,48 * 2 = 0,96
0,96 * 2 = 1,92
0,92 * 2 = 1,84
0,84 * 2 = 1,68
Exercice
Convertir ces nombres en binaire 15,59 47,0749 125,625
20/05/2008 45
IV. Les systèmes de numération
Conversion binaire/décimal
Exemple 1 : convertir (100101)2 en décimal
Position (i ) Poids bi = 2i Symbole ei Valeur décimale ei * bi
0 20= 1 1 1
1 21 = 2 0 0
2 22 = 4 1 4
3 23 = 8 0 0
4 24 = 16 0 0
5 25 = 32 1 32
Vérification 37
Application de la formule 1 :
(100101)2 = 1*20 + 0*21 +1*22 +0*23 +0*24 +1*25
=1*1 + 0*2 + 1*4 + 0*8 + 0*16 + 1*32= 37
20/05/2008 46
IV. Les systèmes de numération
Exemple 2 : convertir (100101,1011)2 en décimal
100101,1011 = 100101 + 0,1011 = 37 + 0,1011
Convertissons la partie décimale 0,1011
Position (j ) Poids b-j = 2-j Symbole dj Valeur décimale dj * b-j
1 2-1 = 0,5 1 0,5
2 2-2 = 0,25 0 0
3 2-3 = 0125 1 0,125
4 2-4 = 0,0625 1 0,0625
Vérification 0,6875
Application de la formule 2
(0,1011)2 = 1*2-1+ 0*2-2+ 1*2-3 + 1*2-4
= 1*0,5 + 0*0,25 + 1*0,125 + 1*0,0625=0,6875
Exercice
Convertir ces nombres en décimal : 10101,0101 0,11001
20/05/2008 47
IV. Les systèmes de numération
4.4. Le système hexadécimal
Le système hexadécimal (hexa) est surtout utilisé pour
représenter de façon condensée les données binaires.
Ensemble de symboles = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Avec A = 10, B = 11, C = 12, D = 13, E = 14, F = 15
Base = 16 car il y a 16 symboles
Poids = puissance de 16
Conversion décimal/hexadécimal
On effectue des divisions successives par 16 ou on utilise la
méthode du logarithme
Exemple : convertir (948)10 en hexa.
Méthode des divisions successives
948 : 16 = 59 Reste 4
59 : 16 = 3 Reste 11 = B (948)10 = (3B4)16
3 : 16 = 0 Reste 3
20/05/2008 48
IV. Les systèmes de numération
Méthode du logarithme
16n ≤ 948
Ln16n ≤ Ln948 Ln 948
n≤ = 2,43 ≈ 2
162 = 256 Ln16
Exercice
Convertir ces nombres en hexa 15 47 125 259 32768
Conversion hexadécimal/décimal
On applique la formule1
Exemple convertir (3B4)16 en décimal
2
= ∑ ei16 = 4 *16 + B *16 + 3 *16 = (948)
i 0 1 2
(3B4)16 10
i =0
Exercice
Convertir ces nombres en décimal : 11A2 2FF ABC
20/05/2008 49
IV. Les systèmes de numération
Conversion binaire/hexadécimal
A partir de la droite, on fait des regroupements des termes 4
par 4 :
en effet 16 = 24.
Si on n’a pas 4 termes, on le complète avec des zéros à gauche.
Puis on calcule la valeur décimale de regroupements obtenus dont les poids
respectifs sont : 23=8, 22 = 4, 21 = 2, 20 = 1
Exemple 1 : convertir (10110110)2 en hexa
1011 0110
0011 0110
20/05/2008 50
IV. Les systèmes de numération
Exercice
Convertir les nombres suivant en hexa
11001100 11111111 10000000 1000100010001000
Conversion hexadécimal/binaire
Chaque symbole hexadécimal est décomposé en une somme de
4 chiffres binaire dont les poids respectifs sont :
23=8, 22 = 4, 21 = 2, 20 = 1
Exemple
(3C6)16 = (0011 1100 0110)2
3 C 6
Remarque
Pour convertir un nombre décimal en binaire, il est plus rapide et plus sûr
de le convertir d’abord en hexadécimal puis ensuite en binaire.
Exemple : convertir (4325)10 en binaire.
(4325)10 = (10E5)16 = (0001 0000 1110 0101)2
Une conversion directe aurait nécessité 13 divisions par 2 avec de nombreux
risques d’erreurs.
3 divisions par 16
20/05/2008 51
V. Représentation des nombres
5.1. Représentation des entiers non signés
Le système binaire ou hexadécimal s’applique directement.
Exemple
(24250)10 = (0101 1110 1011 1010)2 = (5EBA)16
5.2. Représentation des entiers signés
Méthode 1 : bit de signe
Si un nombre est représenté sur n bits, on réserve le bit le plus
à gauche pour le signe :
1 : nombre négatif
0 : nombre positif
La valeur absolue du nombre est donc représentée sur les n-1
bits restants.
Exemple : représentation sur 8 bits (1 bit pour le signe et 7 bits
pour la valeur absolue).
(+120)10 = (0 1111000)2 (-120)10 = (1 1111000)2
20/05/2008 53
V. Représentation des nombres
Méthode 2: Complément Vrai (CV)
Soit b la base et un nombre A sur n positions.
Le complément vrai du nombre A est bn – A.
En base 10 on parle de complément à 10
En base 2 on parle de complément à 2
L’opposé de A est donc bn – A.
Exemple
CV de (140)10 = 103 – 140 = 1000 – 140 = (860)10
Astuce pour calculer le CV
Pour la partie entière et un système de numération de base b :
1. Conserver les zéro à droite (poids faible)
2. A partir de la droite, le 1er chiffre non nul est soustrait de la base b.
3. Les autres chiffres sont soustraits de (b – 1).
Exemple 1 : CV de (140)10
1. 0
2. 10 – 4 = 6 CV de (140)10 = (860)10
3. (10 – 1) – 1 = 8
20/05/2008 54
V. Représentation des nombres
Exemple2 : CV de (53)10
2. 10 – 3 = 7 CV de (53)10 = (47)10
3. (10 – 1) – 5 = 4
20/05/2008 55
V. Représentation des nombres
Complément à 2 d’un nombre binaire
Il est commode de passer par l’intermédiaire de son
Complément Restreint (ou complément à 1).
Pour un nombre binaire A de n positions :
le complément restreint est égal à 2n – A – 1.
Concrètement, il s’obtient en remplaçant les 0 par des 1 et le 1 par des 0.
Exemple : CV de (+120)10 en binaire
(+120)10 = 0111 1000
CR = 1000 0111
+ 1
CV = 1000 1000 = (-120)10
Exercice :
Trouvez les compléments vrai des nombres suivants en décimal puis en
binaire : 63 127 128 1458 34525 32767 32768
20/05/2008 56
V. Représentation des nombres
5.3. Représentation des nombres à virgule
La virgule fixe
Un nombre est dit en virgule fixe car le soin de placer la virgule
revient au programmeur.
la virgule n’apparaît pas dans le stockage du nombre
Les nombres sont considérés comme des entiers.
Exemple : nombre représenté sur 8 bits
5 bits pour la partie entière et
3 bits pour la partie décimale
La virgule flottante
Elle permet la réalisation de calcul scientifiques sur des
nombres très petits ou très grands.
Notation scientifique.
En virgule fixe, on doit connaître, la place de la virgule.
Si on veut calculer avec un maximum de précision, on doit donc apprécier
les ordres de grandeur de tous les résultats intermédiaires afin de les cadrer
de façon à garder toujours le maximum de bits significatif.
La virgule flottante évite ces inconvénients.
20/05/2008 57
V. Représentation des nombres
Principe
Un nombre A en virgule flottante est représenté sous la forme
suivante : A = SMBE
avec
A = Nombre
S = Signe
M = Mantisse (représente les chiffres significatifs de A)
B = base du système de numération
E = Exposant
Exemple
(41,703)10 = 41703 10-3 = 0,41703 102
Représentation d’un nombre en virgule flottante :
Dans l’ordinateur, la mantisse est généralement représentée par un nombre
à virgule dont la valeur absolue est comprise entre 0 et 1 (Mantisse
normalisée).
Exemple
0,041703 103 : mantisse non normalisée
0,41703 102 : mantisse normalisée et est représenté comme .41703 102
20/05/2008 58
V. Représentation des nombres
Pour représenter les nombres négatifs à virgule, on peut
adopter une des 3 méthodes ci-dessus :
Bit de signe
Complément à 1
Complément à 2
Remarque
La représentation interne d’un nombre à virgule flottante varie selon les
ordinateurs.
Exemple
Un nombre codé sur 2 octets (16 bits)
1 bit pour le signe (0 : positif, 1 : négatif)
9 bits pour la mantisse
6 bits pour l’exposant
Exemple : représenter (12,125)10
12,125 = 12 + 0,125
(12)10 = (1100)2
(0,125)10 = (0,001)2
(12,125)10 = (1100,001)2 = 0,1100001*24 0 000100 001100001
(rigoureusement 0,1100001*2100) S E M
20/05/2008 59
VI. Arithmétique binaire
6.1. Présentation
Effectuer les opérations arithmétiques classiques :
+, -, *, /
Tenir compte des dépassements
6.2. Addition
0 0 1 1
+ + + +
0 1 0 1
0 1 1 10
Retenue ou cary
20/05/2008 60
VI. Arithmétique binaire
Notion de bit d’overflow ou de dépassement
Il y a overflow lorsque le résultat de l’addition de deux
nombres de n bits est un nombre de (n + 1) bits.
Exemple
11
1010
+
0111
1 0001 Bit d’overflow
6.3. Soustraction
0 0 1 1
- - - -
0 11 0 1
0 11 1 0
Retenue ou cary
Retenue 1010
-
Elle est ajoutée au bit de 0100 retenue
1
poids supérieur juste à
gauche du nombre à soustraire. 0110
20/05/2008 61
VI. Arithmétique binaire
Soustraction par la méthode du CR
La soustraction est obtenue par l’addition du CR du nombre à
soustraire avec le nombre dont il doit être soustrait.
S’il y a une retenue
on l’additionne au résultat (nombre positif).
S’il n’y a pas de retenue issue du dernier rang
Cela signifie que le nombre est négatif.
Il se présente alors sous une forme complémenté (CR).
il suffit donc de retrouver le CR de ce résultat pour obtenir le résultat
recherché.
Exemple 1 : présence d’une retenue
Le résultat est positif
(63)10 00111111 00111111
- -
(28)10 00011100 CR 11100011
(+35)10 1 00100010
On réinjecte la
Retenue + 1 retenue
00100011 = (35)10
20/05/2008 62
VI. Arithmétique binaire
Exemple 2 : pas de retenue
6.4. Multiplication
Elle consiste à faire des produits partiels comme dans la
multiplication dans le système décimal.
0 0 1 1 101101 = 45
x x x x
0 1 0 1 x x
101 5
0 0 0 1 101101 225
Exemple 000000
101101
011100001 = 225
20/05/2008 64
VI. Arithmétique binaire
6.5. Division
C’est le même principe que dans le système décimal.
Exemple
101101 15 3
0101 11
0100 1111
011
00
Exercices
Effectuez les opérations suivantes en arithmétique signée par la
méthode du CR, puis par la méthode du CV dans les systèmes
de numération décimal et binaire.
2 20 30 23 10 5 10 -10 -5 -7 21 135
- - - - + + - + + + x :
2 30 20 27 12 6 4 6 -9 -12 13 4
20/05/2008 65
VII. La partie logiciel
7.1. Présentation
Un ordinateur est constitué de deux parties :
Une partie matérielle (hardware).
Une partie logicielle (software).
Sans les logiciels, un ordinateur n’est qu’un morceau de
métal inutilisable.
Grâce aux logiciels, un ordinateur peut :
mémoriser
traiter
restituer des informations
trouver des erreurs dans un programme
etc.
Logiciel ou programme
Suite d’actions que doit effectuer l’ordinateur pour obtenir un
ensemble de résultats à partir d’informations initiales.
20/05/2008 66
VII. La partie logiciel
Deux grandes catégories de logiciels :
Logiciels d’application :
Ce sont des programmes qui résolvent les problèmes des utilisateurs (jeux,
comptabilité, …), et
Logiciels systèmes :
Ce sont des programmes indispensables au fonctionnement de l’ordinateur
(système d’exploitation, compilateur, éditeurs de lien…).
Hardware
Dispositif matériel Matériel
20/05/2008 67
VII. La partie logiciel
7.2. Les systèmes d’exploitation
Le système d’exploitation (SE) est le logiciel de base.
Il réalise l’interface entre le matériel et les logiciels
d’application des utilisateurs.
Définition
Un système d’exploitation est un ensemble de programmes
destinés à gérer les ressources (tâches, programme, UAL,
MC…) de la machine, à rendre agréable son utilisation.
Deux sortes de systèmes d’exploitation :
SE mono-tâche et SE multitâches.
Système d’exploitation
SE monotâche SE multitâches
20/05/2008 71
VII. La partie logiciel
SE multitâches
Plusieurs tâches sollicitent le processeur et se déroulent en
simultanéité apparente.
Système multi-terminaux (ou système conversationnel)
Un programme commun est exploit par l’ensemble des utilisateurs.
Exemple : BD communes pour les réservations de places d’avion.
Système multiutilisateurs
Des tâches indépendantes peuvent être réalisées par des utilisateurs
différents.
Chacun ayant l’impression d’être seul à utiliser l’ordinateur.
SE multitâche
Il doit gérer de multiple E/S, les fichiers et les nombreuses commandes.
Il doit prendre en charge les différentes tâches des utilisateurs, gérer leurs
fille d’attente, allouer de la mémoire à chaque tâche en assurant la
protection des données et des programmes.
En ce qui concerne le processeur :
Une gestion équitable est généralement obtenue en attribuant à chaque
tâche une certaine tranche de temps (temps partagé ou time sharing).
20/05/2008 72
VII. La partie logiciel
7.3. Extensions d’un système d’exploitation
Versions initiales d’un SE
Généralement développées pour un utilisateur averti (informaticien)
Le langage de commande n’est ni complet, ni convivial.
Palier ces inconvénients
Utilisation utilitaires écrits par des programmeurs
indépendants ou des éditeurs de logiciels.
Utilisation d’intégrateurs :
Améliorer la convivialité (gestion d’écran et de la souris)
Faciliter le travail avec des applications différentes.
Utilitaires et intégrateurs sont des extensions du SE
20/05/2008 73
VII. La partie logiciel
Les intégrateurs
C’est une surcouche du SE
Il intercepte les ordres du SE et des programmes.
Il fournit à l’utilisateur :
Un environnement de travail graphique et utilisant la souris.
La possibilité de travailler sur plusieurs applications.
La possibilité de transférer des données entre applications par l’intermédiaire
d’une zone mémoire appelée Presse-papier.
Des outils de bureau ou de dessin : agendas, répertoires, calculatrice,
traitement de texte, tableur et logiciels de dessin.
Exemple d’intégrateurs :
Windows 3.x : environnement graphique et multifenêtre
GEM : environnement graphique et mono-fenêtre
Windows est un logiciel développé par Microsoft :
intégrateur jusqu’à la version 3.x.
Les version suivantes (95.x) sont des véritables SE.
Windows est multifenêtre : fenêtres dimensionnables, juxtaposées ou
superposées.
Une application peut être mise en veilleuse (présence est signalée par une
20/05/2008 icône). 74
VII. La partie logiciel
Les utilitaires
Programmes permettant d’aider l’utilisateur dans sons travail.
Différentes sortes d’utilitaires :
Les éditeurs de texte
Ils permettent de composer, corriger et sauvegarder des lignes de texte
ASCII.
Utilisé pour la composition de texte cours sans mise en forme (gras,
souligné, police…).
Pas un logiciel de traitement de texte
Il est bien adapté à la saisie des lignes de programmes (Pascal, C…)
Les utilitaires d’impression
Ils facilitent la gestion de l’imprimante.
Impression différée : permet de dissocier les opérations d’impression des
opérations de saisie et de traitement. Elle consiste à rediriger les sorties
destinées à l’imprimante vers la mémoire de masse.
L’impression réelle s’effectuera lorsque l’imprimante sera disponible ou mise
en service.
20/05/2008 75
VII. La partie logiciel
Les utilitaires disques :
Ils facilitent la gestion des mémoires secondaires.
La réorganisation consiste à regrouper (compacter) les parties de fichier
dispersées sur le disque, ce qui à pour effet d’améliorer les temps d’accès.
Créer un disque virtuel revient à organiser une partie de la mémoire
centrale comme une disquette, ce qui permet d’accélérer les échanges.
Le disque virtuel est volatil comme la mémoire centrale.
7.4. Les langages de programmation
Un langage de programmation regroupe
un ensemble de règles syntaxiques permettant d’écrire des
programmes compréhensibles par un ordinateur.
Plusieurs niveaux de langage :
Langage
20/05/2008 77
VII. La partie logiciel
Générateur
Logiciel qui permet de créer des instructions de programme à
partir d’une description du résultat à obtenir :
Ecran
Etat
Enchaînement d’opérations préalablement définies.
Il facilite le travail du programmeur :
Génération de masques d’écrans
Génération d’états
Génération d’applications
Génération de requêtes…
20/05/2008 78
VII. La partie logiciel
7.5. Les logiciels horizontaux
ou logiciel outil
Il automatise un type de travail utilisant des fonctions précises
Il est utilisé par des professions ou des domaines différents.
Exemple
Logiciel de traitement de texte
sert au cadre pour rédiger un rapport
Sert au romancier pour saisir et corriger son œuvre.
Logiciel tableur
Outil de calcul
Utile à la fois au comptable, au statisticien et à l’ingénieur
Logiciels horizontaux
20/05/2008 80
VII. La partie logiciel
Tableur
Un tableur est un outil de calcul et de modélisation.
Ses principales fonctions sont :
Saisie : texte, nombre, formule
Fonctions mathématiques, statistiques…
Recalcule automatique des formules
Mise en forme des résultats
Mise en page
Impression
Sauvegarde
Module graphique
Base de données
20/05/2008 81
VII. La partie logiciel
Grapheur
Logiciel qui exploite des données statistiques pour obtenir
diverses représentations graphiques.
Deux types principaux de graphiques :
Les graphiques à coordonnées rectangulaire (histogrammes, barres, ligne
ou nuage de points)
Les graphiques à secteurs ou camemberts.
Les logiciels intégrés
Un logiciel intégré regroupe en seul produit les fonctions de
plusieurs logiciels :
TDT, Tableur, Grapheur, BD…
LOTUS
MS OFFICE
20/05/2008 82
VII. La partie logiciel
Base de données
Centralise l’ensemble des informations structurées qui doivent
être partagées entre les différentes catégories d’utilisateurs
d’une entreprise.
La conception d’une BD doit respecter les principes suivants :
Pas de redondance des informations :
une donnée ne figure qu’une seule fois dans la base.
20/05/2008 83
VII. La partie logiciel
7.6. Les logiciels verticaux
ou progiciel
Il est spécialisé dans la réalisation des applications spécifiques
à une profession ou à une fonction déterminée.
Il doit être conçu pour permettre un adaptation, par
paramétrage aux besoins variés des utilisateurs.
Logiciels verticaux
20/05/2008 84