Vous êtes sur la page 1sur 40

Groupe CENEC Meknès

Introduction à la technologie des


ordinateurs
Architecture Matérielle
Pr .Samir

16
Sommaire
Introduction à la technologie des ordinateurs ................................................................................................... 6
Historique ............................................................................................................................................... 6
I. Evolution des sciences qui ont mené à l'apparition de l'informatique ..................................... 6
1. Machines à calculer ................................................................................................................... 6
a. Bouliers et abaques ................................................................................................................ 6
b. Règle à calcul ......................................................................................................................... 7
c. Machines à calculer mécaniques .......................................................................................... 7
2. Premiers automatismes ............................................................................................................. 8
a. BABBAGE ............................................................................................................................. 8
b. Ada LOVELACE ........................................................................................................................ 9

3. Mécanographie ........................................................................................................................ 10
a. Herman Hollerith ................................................................................................................... 10
b. GEORGE STIBITZ ............................................................................................................... 10
c. ALAN TURING .................................................................................................................... 10
4. Premiers ordinateurs .............................................................................................................. 10
5. L'architecture de von Neumann............................................................................................. 11
II. Les générations d'ordinateurs de 1945 à nos jours .............................................................. 12
1. Première génération : (1945-1955) ............................................................................................ 12
✦ Tubes à vide et tableaux d'interrupteurs ✦ ....................................................................... 12
2. Deuxième génération : (1955-1965) .......................................................................................... 12
✦ Transistors et systèmes par lots ✦ .................................................................................... 12
3. Troisième génération : (1965-1980) .......................................................................................... 13
✦ Circuits intégrés - Multiprogrammation - Temps partagé ✦ ........................................... 13
4. Quatrième génération (1980 - . . . ) ........................................................................................... 14
✦ Évolution des ordinateurs personnels ✦ ........................................................................... 14
✦ Évolution des versions de Windows ✦ .............................................................................. 14
III. Définitions : informatique et information ............................................................................. 16
1. L’informatique......................................................................................................................... 16
2. L’information........................................................................................................................... 17
3. Types d’informations .............................................................................................................. 17
IV. Numérique vs Analogique....................................................................................................... 17
Deux modes de représentation des grandeurs ............................................................................... 17
Exemple : le son. ........................................................................................................................ 18
V. Numération .................................................................................................................................. 19
1. Bit, byte, octet .......................................................................................................................... 19
2. Numération de position ........................................................................................................... 19
3. La base décimale ...................................................................................................................... 20
4. Le poids des chiffres ................................................................................................................ 20
5. Numération binaire ................................................................................................................. 20
6. Numération hexadécimale ...................................................................................................... 21
VI. Fonctions logiques ................................................................................................................... 22
Fonctions logiques de base ...................................................................................................... 22
La fonction ET ................................................................................................................................. 23
La fonction OU ................................................................................................................................ 23
Combinaisons de fonctions logiques ........................................................................................... 24
VII. Les portes logiques .................................................................................................................. 25
Table de vérité et équations et schéma du circuit plein additionneur ................................. 28
Addition de deux nombres de plusieurs bits ........................................................................... 29
VIII. Architecture matérielle ....................................................................................................... 29
Schéma bloc d'un ordinateur ........................................................................................................ 29
Les bus ............................................................................................................................................. 30
Le bus de données ..................................................................................................................... 30
Le bus d'adressage .................................................................................................................... 30
IX. Le CPU ..................................................................................................................................... 31
Description ....................................................................................................................................... 31
Principe de fonctionnement du CPU ........................................................................................... 32
Pipelines d'instructions et architecture superscalaire ........................................................... 32
Hyper-Threading ......................................................................................................................... 33
Processeurs multi-cœurs........................................................................................................... 34
X. La mémoire .................................................................................................................................. 34
Rôle de la mémoire ...................................................................................................................... 34
La ROM ............................................................................................................................................ 34
La RAM ............................................................................................................................................ 35
RAM statiques / RAM dynamiques .......................................................................................... 35
Les temps d'accès........................................................................................................................ 35
La hiérarchie des mémoires ...................................................................................................... 36
XI. Les disques ............................................................................................................................... 37
Rôle du disque dur ....................................................................................................................... 37
Mécanisme interne ....................................................................................................................... 37
Organisation physique de la surface des disques .............................................................. 38
L’adressage CHS .......................................................................................................................... 38
L’enregistrement par zones ....................................................................................................... 39
Le mode LBA ................................................................................................................................. 39
La partition du disque ................................................................................................................. 40
Introduction à la technologie des ordinateurs

Historique

I. Evolution des sciences qui ont mené à l'apparition de l'informatique


Si l'informatique en tant que telle n'existe que depuis quelques dizaines d'années, ses origines issues de
nombreux domaines qui remontent pour certaines à très longtemps. Citons par exemple les abaques et les
bouliers compteurs. Ce sont les premiers instruments d'aide aux calculs. On verra de même que l'histoire de la
numération n'est pas sans intérêt pour nous aider à comprendre la numération de position et plus
particulièrement les codes binaires.

1. Machines à calculer
a. Bouliers et abaques
Le boulier compteur originaire d'Asie où il compte encore des adeptes, serait
la première "machine à calculer". Il n'est à vrai dire qu'un appareil permettant
d'enregistrer les calculs. Bien que très élémentaire cet instrument possède déjà
quelques caractéristiques instructives. Nous nous en servons pour illustrer ce
qu'est la numération de position : le boulier comporte plusieurs tiges, chacune
correspond à la position d'un chiffre (unités, dizaines, centaines, milliers, etc.)
sur ces tiges sont enfilées des boules dont la position forme un code allant de 0
à 9 ou de 0 à 10 selon les modèles de boulier. Les bouliers facilitent le calcul
en "affichant" et donc en "mémorisant" le résultat de la dernière opération.

Les abaques romains étaient eux aussi des instruments d'aide à la


représentation, à la mémorisation et à la manipulation des nombres. Les
boules du boulier sont ici remplacées par des cailloux (calculi en latin) placés
dans des encoches parallèles représentant chacune les multiples de 1, 10, 100,
1000 etc.

Pour nous qui sommes habitués aux chiffres arabes, il est étrange de constater qu'il a
fallu si longtemps à nos ancêtres pour adopter une écriture des nombres basée sur la
numération de position comme le faisaient pourtant les bouliers et les abaques. Les
romains par exemple étaient obligés de changer de signes pour écrire le chiffre 1 selon
qu'il représente une unité (I) une dizaine (X) une centaine (C) ou un millier (M).
Imaginez dans ces conditions comme il devait être difficile de faire des calculs écrits.
La numération de position (ainsi que le chiffre zéro) aurait été imaginée en Inde au
IVème ou au Vème siècle ; elle fut adoptée par le mathématicien arabe Al-khawarizmi
vers l'an 820 et s'imposa en occident après les croisades XIIème ou XIIIème siècle.
b. Règle à calcul

La règle à calcul fut inventée en 1620. Elle permet de faire des calculs approchés : multiplications, divisions,
racines carrées, logarithmes etc. et a été utilisée jusqu'au milieu des années 70 (les ingénieurs de la Nasa qui ont
envoyé Apollo sur la lune l'utilisaient encore) Les principes de cette règle à calculer remontent au mathématicien
écossais John NAPIER (1550-1617) plus connu sous le nom de Néper.

John NAPIER
Histoire des mathématiques
Université de Rennes

Néper avait imaginé qu'il devrait être possible de transformer une opération de
multiplication en simple addition et il inventa pour ce faire les logarithmes.
Le logarithme en base b d'un nombre N est l'exposant qu'il faut donner à la base b pour
obtenir ce nombre N. Toutes les bases de logarithme sont imaginables et celle
préconisée par Neper fut le nombre e = 2,71828. Ce nombre a des propriétés
particulières et est connu comme la base des logarithmes Népériens notés "ln" sur les
calculatrices scientifiques. La base 10 est aussi couramment utilisée (touche Log de nos
calculatrices scientifiques) Cette base 10 est aussi plus commode pour démontrer
l'intérêt des logarithmes.
Exemples :
Log10 1000 = 3 , ce qui se lit : "logarithme en base 10 de 1000 = 3". De même Log10 100 = 2 car 102 = 100 et
Log10 0,001 = -3 car 10-3 = 0,001 Ces exemples simples vous permettront de vérifier les propriétés suivantes :
log (A*B) = log A + log B et log (A/B) = log A - log B On obtient ce que Néper avait recherché : une
méthode pour transformer les multiplications en simples additions ou des divisions en simples soustractions.

c. Machines à calculer mécaniques


La première machine à calculer mécanique date de 1623 et était appelée
"horloge à calcul" par son inventeur, l'astronome allemand : Wihelm
SCHICKARD (1592- 1635)
Blaise PASCAL (1623-1662), philosophe et mathématicien français réalisa à
son tour, alors qu'il n'avait encore que 19 ans, une machine à calculer
mécanique : la Pascaline. Elle était constituée d'une série de roues dentées, numérotées de 0 à 9 et agencées de
manière telle que chaque tour complet d'une roue fasse avancer la suivante d'une position. Cette machine construite
en 1642 ne pouvait faire que des additions et des soustractions.
En 1673, LEIBNIZ (1646 - 1716) mathématicien allemand et (lui aussi) philosophe, perfectionna la Pascaline pour
en faire une machine capable d'effectuer des multiplications, des divisions et des racines carrées par additions ou
soustractions successives.
2. Premiers automatismes

Les premiers automatismes capables d'exécuter des séquences d'opérations


dont le déroulement était préenregistré furent d'abord sans lien avec le calcul.
Dès le XIVème siècle de grandes horloges dont certaines ornent encore nos
clochers ou nos beffrois sonnaient les heures selon des séquences complexes
suivant qu'il s'agissait des heures, de demi-heures etc.

Les automates très en vogue au XVIIIème siècle imitaient les êtres vivants. Il y
eu même un joueur d'échec artificiel qui aurait battu Napoléon mais c'était une
supercherie, un nain caché sous la table actionnait les mécanismes.

En 1725, Basile BOUCHON eu l'idée d'automatiser une machine à tisser la


soie en enregistrant les séquences d'opérations sur des bandes perforées. C'est
probablement la première fois que l'on enregistre une séquence d'opérations sur
un support amovible qui sera lu ensuite par une machine automatique pour en
recevoir les instructions.

Le métier à tisser automatique le plus célèbre fut celui de Joseph-Marie


JACQUARD (1752-1834) mis au point en 1805. Les motifs du tissage étaient
programmés à l'aide de cartes perforées. Les fils de chaîne qui sont levés ou
baissés entre chaque passage de la navette sont suspendus à des crochets qui
peuvent ou non se lever selon qu'ils se trouvent ou non sous des trous dans la
carte perforée. Chaque passage de la navette correspond à ce que les tisserands
appellent une trame. A chaque trame correspondait une nouvelle carte perforée
et le motif tissé était défini par une succession de cartes perforées que l'on
appelait un "programme". C'est ce terme que l'on utilise actuellement pour
désigner une suite d'instructions en informatique.

a. BABBAGE
L'ingénieur anglais Charles BABBAGE (1792-1871) fut le concepteur de deux
machines qui, bien qu'elles ne purent être réalisées à son époque pour des raisons
techniques et financières, ont le mérite d'être à l'origine de concepts que l'on
retrouve encore dans nos ordinateurs.
La première de ces machines fut la "difference engine". Il faut savoir qu'à cette
époque, les calculs complexes (astronomie, navigation, artillerie etc.) se faisaient
à l'aide de tables numériques : tables trigonométriques et tables de logarithmes.
Ces tables comportaient trop souvent des fautes et c'est entre autre pour cette
raison qu'en 1821, Charles Babbage entrepris de réaliser une machine capable de
réaliser les nombreux calculs répétitifs nécessaires à la confection de ces tables
selon la méthode dite "des différences finies", d'où le nom de cet engin !
Le projet était très (trop) ambitieux, cette machine après avoir calculer les valeurs à inscrire dans les tables
devait estamper les plaques de plomb qui auraient servi à l'impression de ces pages de résultats. Il aurait fallu
25000 pièces pour réaliser cette machine, 10 ans plus tard, 12000 pièces seulement avaient été fabriquées et le
projet fut abandonné en 1832.
Constatant que de toutes façons la différence engine n'aurait été capable de ne faire que les calculs pour lesquels a
été conçue, Babbage entrepris de réaliser une autre machine, universelle celle-là, l’Analytical engine" capable
d'exécuter n'importe quelle séquence d'opérations mathématiques au moyen d'instructions enregistrées sur des cartes
perforées comme dans le métier Jacquard.
La "machine analytique", entièrement mécanique avait déjà une architecture très proche de celle des ordinateurs
actuels. On y retrouve plusieurs concepts de base tels que :
 une unité d'entrée pour recevoir les cartes perforées lui communiquant à la fois les instructions et les
données.
 une unité de traitement que Babbage appelait the mill (le moulin) et qui préfigurait les unités arithmétiques
et logiques de nos processeurs actuels.
 une unité de commande (control unit) qui supervise automatiquement la succession interne des opérations
(chercher les données en mémoire, les placer dans le moulin, commander telle ou telle opération
arithmétique, transférer les résultats etc.) Cette unité de commande comportait aussi un repeating aparatus
destiné à reprendre en boucle autant de fois que nécessaire une série d'instructions.
C'est la séparation de l'unité de commande de l'unité d'exécution qui donne la possibilité à la machine de
faire n'importe quel algorithme contrairement aux machines précédentes construites pour faire des
séquences d'opérations déterminées.
 une unité que Babbage appelait le magasin (store) où sont rangées les données à traiter, les résultats
intermédiaires et les résultats finaux destinés à être sortis sur des cartes perforées. Cette unité regroupe
donc ce que l'on appelle aujourd'hui la mémoire et l'unité de sortie mais Babbage n'avait pas fait de
distinction entre ces deux fonctions pas plus qu'il ne faisait analogie entre cet espace de rangement de
données et mémoire humaine.

b. Ada LOVELACE

(1815-1852) fut une collaboratrice de Charles Babbage pour la conception de sa machine


analytique. Elle définit le principe des itérations et définit les principes de la programmation
de la machine de Babbage.
Elle fit la description complète de la machine de Babbage et rédigea à ce propos certains
articles en français. On peut y lire "la machine analytique tissera des motifs algébriques
comme les métiers de Jacquard tissent des fleurs et des feuilles".

Babbage's analytical engine

Charles Babbage mourut ruiné en 1871 et c'est son fils Henry Babbage qui
acheva en partie et quelques années plus tard la machine analytique qu'il put
rendre opérationnelle. Il en fit don au Science Museum de Londre
En 1991, à l'occasion du 200ème anniversaire de Charles Babbage, on réalisa
une reconstitution d'une machine à différence version simplifiée réétudiée par
Charles Babbage lui-même entre 1847 et 1849 mais qu'il n'avait pas non plus
eu l'occasion de construire à son époque. Cette machine pèse près de 3 tonnes
et est exposée au Science Museum à Londre
3. Mécanographie
a. Herman Hollerith

Herman HOLLERITH (1860-1929) mis au point une machine électromécanique destinée à


comptabiliser les données recueillies lors du recensement américain de 1890. Les données
examinées étaient enregistrées sur des cartes perforées qui comptaient 210 cases destinées à
encoder toutes sortes d'informations.
Voici comment Hollerith présentait la chose : " C'est une véritable notation algébrique ou
chimique dans laquelle une lettre remplace un nom : m signifie masculin ; w féminin ; rk roumain-
catholique ; gk grec-catholique ; dt allemand ; sk serbo-croate ; o ouvrier ; An illettré ; cr crétin ;
gs divorcé ; etc."
En 1896, H. Hollerith créa la société "Tabulation Machine Corporation" qui devint en 1924 "International Business
Machine" : IBM
b. GEORGE STIBITZ

Relais électromécanique

En 1937, George STIBITZ (1904-1995), ingénieur chez


Bell Labs, réalisa le premier calculateur binaire
électromécanique mis au point à partir de relais
téléphoniques et faisant appel à la logique booléenne définie
par George BOOLE dans le livre "The Mathematical
Analysis of Logic" publié en 1854.
c. ALAN TURING

En 1936, Alan TURING (1912-1954) publia dans un article les principes de la machine
abstraite qui porte son nom, la machine de Turing, et qui en principe est capable de suivre
un algorithme. Pour ce faire, l'unité de commande d'un ordinateur doit être capable de
diriger l'exécution du programme qui lui est communiqué sans qu'une intervention
humaine ne soit nécessaire au déroulement du programme.

4. Premiers ordinateurs
L'ENIAC était une machine énorme, elle pesait 30 tonnes et était
composée de 18000 tubes à vide. Elle fonctionnait en décimal et
non pas en binaire. Chaque chiffre était codé au moyen d'une
série de 10 tubes "ring counter" transposition électronique des
roues dentées des première machines arithmétiques. Cette
machine était programmée manuellement en positionnant des
commutateurs ou en branchant des câbles selon des
configurations diverses.

Bien que le tube à vide soit une technologie de type électronique


(et non plus électromécanique comme le relais) l'ENIAC ne reprenait ni le principe du calcul binaire du
calculateur de STBITZ ni le principe sans doute encore trop théorique de Alan Turing.
Les plans de l'ENIAC furent terminés en 1944 mais la machine ne fut opérationnelle qu'en 1946.
VON NEUMAN

Dès 1944, les concepteurs de l'ENIAC, déjà en train de préparer furent rejoints par John
VON NEUMANN qui rédigea alors un texte présentant le concept de programme
enregistré.
Jusque là les programmes étaient lus directement par l'unité de traitement sur la bande ou
les cartes perforées introduites à l'entrée de la machine comme cela se faisait dans le
métier programmable de Jacquard. Les changements de séquence du programme ne
pouvaient donc pas se faire sans intervention humaine. Pour une portion de programme
qui devait être répétée il fallait réintroduire à la main la pile de cartes correspondantes.

5. L'architecture de von Neumann


Von Neumann fait remarquer que puisque les instructions sont codées en binaire, elles peuvent prendre place dans la
mémoire de l'ordinateur au côté des données. Ces instructions s'exécutent en suivant l'ordre dans lequel elles sont
écrites mais il est possible d'imaginer des instructions de sauts de programme qui ordonnent à l'unité de commande
de reprendre la lecture des instructions ailleurs en mémoire autorisant de cette manière les ruptures de séquences
automatiques, les sauts conditionnels et les boucles de programmes. L'unité de contrôle peut dès lors reprendre une
séquence d'instructions et « prendre des décisions » sans l'aide d'un opérateur humain.
La machine de von Neumann est conçue à partir de composants électroniques numérique et binaire.
Elle est constituée de cinq sous-ensembles :
 Une unité de commande
 Une unité de traitement (arithmétique et logique)
 La mémoire centrale qui contient donc les données ET le programme
 Une unité d'entrée des données
 Une unité de sortie des résultats

Aujourd'hui encore les ordinateurs fonctionnent toujours sur ce principe. La distinction entre l'unité de commande et
l'unité de traitement peut passer inaperçue puisque ces deux éléments sont rassemblés au coeur du processeur. De
même, les unités d'entrées et de sorties sont souvent combinées dans les ports bidirectionnels pour être connectés aux
périphériques avec lesquels ils échangent des signaux dans les deux sens.
II. Les générations d'ordinateurs de 1945 à nos jours
1. Première génération : (1945-1955)
✦ Tubes à vide et tableaux d'interrupteurs ✦
Au milieu des années 40 : « Moteurs de calcul » utilisant des relais mécaniques (temps de cycles en secondes)
remplacés ensuite par des tubes à vide ce qui donne des machines énormes que l'on programmait en basculant des
interrupteurs.
⇒ Ni langage ni système d'exploitation.
1950 : Première amélioration : les cartes perforées = « écriture de programmes »

2. Deuxième génération : (1955-1965)


✦ Transistors et systèmes par lots ✦
Les ordinateurs deviennent suffisamment fiables pour être produits et vendus
⇒Séparation entre constructeurs, opérateurs et programmeurs.
Les machines devaient être installées dans des locaux climatisés, programmées en FORTRAN ou en assembleur via
des cartes perforées que les programmeurs remettaient aux opérateurs. Les opérateurs chargeaient les programmes
dans l'ordinateur avec le compilateur si nécessaire. Les résultats étaient imprimés puis remis aux programmeurs.
⇒Ces manipulations engendraient des pertes de temps trop coûteuses vu l'importance de l'investissement
Traitement par lots :

Une machine Une machine moins onéreuse (IBM 1401) lisait les cartes (a) pour en recopier le code sur une bande
magnétique (b). Le gros calculateur lisait cette bande (c), exécutait les jobs (d) puis transcrivait les résultats sur une
autre bande (e) postposant ainsi l'impression des résultats (impression off-lineensuite par un ordinateur plus léger (f).
La notion de système d'exploitation apparaît.
Exemple : le FMS ( Fortran Monitor System)
Les étapes sLes étapes successives de l'exécution d'un programme :
 charger le compilateurli>lire le code source et le compiler
 charger l'exécutable
 lancer l'exécution
 lire et traiter les données
3. Troisième génération : (1965-1980)
✦ Circuits intégrés - Multiprogrammation - Temps partagé ✦
Au début des années 60, il y avait deux types d'ordinateurs :
 Ceux qui comme le 7094 étaient orientés vers des tâches de calculs intensifs.
L'unité de donnée y est le mot.
 Ceux à vocation plus commerciale dont l'unité de donnée est le caractère (IBM 1401) et qui étaient utilisés par de
gros organismes tels que les banques et les compagnies d'assurances pour la gestion de bandes magnétiques et
l'impression de données.
⇒ Cela donnait deux lignes de produits distinctes.

Le system 360 d'IBM, une série de machines compatibles au niveau logiciel (même architecture et même jeu
d'instructions) tentait de convenir aussi bien aux applications scientifiques que commerciales.
Ces machines étaient les premières à utiliser les circuits intégrés permettant une baisse de prix ; le succès fut
immédiat.
Ce concept de « famille unique » a donné un SE devant être aussi efficace sur des petites machines que les grosses,
avec peu ou un très grand nombre de périphériques, pour des applications commerciales ou scientifiques ⇒ SE
énorme : Des millions de lignes d'assembleur écrites par des milliers de programmeurs. Cela donne des milliers de
bogues !
C'est à ce moment aussi qu'est apparu le concept de multiprogrammation. La mémoire est partagée entre différents
jobs. Quand l'un d'eux attend la réalisation d'une entrée/sortie, un autre job peut s'emparer du CPU. ⇒ Le taux
d'utilisation avoisine les 100 %.
Autre nouveauté : le SPOOL : Simultaneous Peripheral Operation On Line . C'est la capacité d'utiliser
simultanément plusieurs périphériques en ligne.
Problème ! Impossibilité de suivre le programme durant son exécution pour sa mise au point
⇒ Nécessité du temps partagé : plusieurs utilisateurs = Chacun dispose d'un terminal en ligne.
On imaginait à l'époque que les ordinateurs deviendraient d'immenses machines fournissant une puissance calcul à
des centaines d'utilisateurs : le MULTICS ( Multiplexed Information and Computing Service )

C'est aussi l'époque de la percée des mini-ordinateurs tels que le DEC PDP-1 en 1961. Le PDP-1 possédait 4 k mots
de 18 bits pour 120.000 $ (5% du prix d'un IBM 7094). D'autres lui ont succédé jusqu'au PDP-11.
C'est sur un PDP-7 que Ken Thompson a commencé à écrire une version mono-utilisateur de MULTICSqui a servi
de base au système UNIX .
Le code source de UNIX a été publié et développé en plusieurs versions (incompatibles) L'IEEE a développé un
standard appelé POSIX auquel la plupart des versions actuelles de UNIX se conforment (ainsi que d'autres
systèmes)
En 1987, Andrew TANENBAUM a développé le MINIX un petit clone de UNIX à des fins pédagogiques. Linus
Torvald a fait une version de production : LINUX
4. Quatrième génération (1980 - . . . )
Les circuits LSI Large Scale Integration ciruit contenant des milliers de transistors / mm² a conduit à la fabrication
de ce qu'on appelait les micro-ordinateurs. Ils n'étaient pas très différents des PDP-11 sauf pour le prix ⇒ un
individu peut posséder sa propre machine : le PC = ordinateur personnel.

✦ Évolution des ordinateurs personnels ✦

1974 le 8080, microprocesseur 8 bits généraliste fabriqué par Intel. Gary Kildall , l'un des
consultants d'Intel, a écrit un contrôleur de disquettes 8 pouces pour ce processeur puis un
système d'exploitation orienté disque appelé le CP/M (Control Program for
Microcomputer ) .
Pensant que ce système avait peu d'avenir Intel a cédé les droits sur le CP/M à Kildall qui fonda
Digital Research pour développer et commercialiser le CP/M.

1977 Le CP/M est réécrit pour fonctionner sur de nombreuses plates-formes.

IBM PC/XT - Processeur 8088 4,77 MHz - 640 Ko max


1981
IBM contacte Bill Gates pour son interpréteur BASIC Gary Kildall pour son CP/M mais ce
dernier refuse la proposition de IBM.
IBM se tourne vers Bill Gates pour l'OS que celui-ci rachète ( le DOS) à un petit constructeur
pour 50 000$ dit-on. Il engage ensuite Tim Paterson l'auteur du DOS pour y apporter quelques
modifications -> le MS-DOS 1.0 8 Ko de code

MS-DOS 2.0 Les 24 Ko de code contiennent maintenant un interpréteur de commandes et des


1983 fonctions inspirées de UNIX
Steve Jobs co-inventeur de l'Apple découvre l'interface graphique lors d'une visite chez Xerox
Parc. L'idée est exploitée pour donner le Lisa (trop chère) puis le Machintosh d'Appel (succès)

L'environnement d'exploitation Windows 1.0 est considéré comme un gadget. C'est une sur-
1985 couche de MS-DOS, un interpréteur de commandes graphique

IBM PC/AT Processeur 80286 - 8 MHz - 16 Mo Le MS-DOS 3.0 fait 36 Ko de code. Le CP/M
1986 tombe dans l'oubli.

1987 Windows 2.0 ne fait toujours pas plus sérieux

1990 Sortie du 80386 qui est un processeur 32 bits

✦ Évolution des versions de Windows ✦


Windows 3.1 et 3.11 = les premières versions réellement adoptées par les utilisateurs. Ce ne sont
1990 qu'une interface, pas un OS. Le programme est du code 16 bits.

Windows NT 3.1 est une version imaginé pour le monde professionnel (sécurité) et pourmettre à
1993 profit les instructions 32 bits. Reçoit le n° de version 3.1 pour remplacer Windows 3.1 Il réclamait
malheureusement plus de mémoire et les applications 32 bits n'étaient pas disponibles ! ⇒Echec
commercial.
Windows 95 / MS-DOS 7.0 Ressemble plus à un OS . Il démarre sans passer par MS-DOS.
1995 C'est du code 32 bits mais pas entièrement. Windows 95 n'est toujours pas un système
d'exploitation mais il contient déjà des fonctions propres aux prochains OS : Multitâche et
Mémoire virtuelle. Le système de fichier reste celui du DOS.

Windows NT 4.0 Adopte une interface utilisateur analogue à celui de Windows 95 L'OS est
1996 écrit en C pour être portable (Alpha, Power PC) L'interface utilisateur est écrite en C ++

Windows 98 / MS-DOS 7.1 Cette version a été nécessaire à cause de la réticence des utilisateurs
1998 à migrer vers NT La version 98 contient du code 16 bits + 32 bits mais apporte cependant
quelques nouveautés :
- le système de fichier FAT32
- le plug and play

Windows Me Millenium Edition Les utilisateurs hésitent toujours à passer sur NT Windows ME
2000 présente quelques améliorations au niveau des fonctions multimédia + la possibilité de restaurer
le système dans un état précédent. Cette version a été fort décriée par les utilisateurs qui n'y on vu
qu'une mise à jour mineure de Windows 98. Elle était considérée comme « peu stable ».

Windows 2000
«2000» au lieu de Windows NT 5.0 pour que les utilisateurs y voient un successeur de Windows
Me/9x et avoir un système d'exploitation unique. C'est un vrai système d'exploitation qui tourne
en mode noyau
 Multithread
 Capable de gérer plusieurs processeurs
 La mise en cluster est possible (groupe de machines qui travaillent comme une seule)
 Support du plug and play
 NTFS + Cryptage des fichiers
 Active directory pour gérer les comptes des utilisateurs
 Un code unique avec les langues dans un répertoire séparé
 Une base de données interne : le « Registre »

Windows XP
2002
Une nouvelle tentative pour faire oublier Windows 9x Ce serait la bonne. Cette version parvient
enfin à rassembler tous les utilisateurs Fondée sur Windows 2000 se décline en plusieurs
versions : Familiale, Professionnelle, Server et Advanced Server
 Nouvelle interface
 Amélioration au niveau multimédia (pour le grand public)
 Prise en charge de lecteurs DVD
 Création de CD audio
 Pour les images affichage de miniatures pour les répertoires + Diaporama
 Lien plus étroit au WEB
 Pare feu
 Dossiers WEB
 Activation des produits par Internet
 Assistance à distance et d'autres « services WEB » ;

Windows Vista
2007
Parmi les nombreuses nouveautés de cette version les utilisateurs aurons remarqué :
 Une nouvelle interface, nommée Aero qui tire parti des cartes graphique puissantes, pour
afficher des effets 3D et de transparence
 La récupération automatique à la suite d'un problème au démarrage ou d'un service en échec.
 Windows Update apparait comme faisant partie du panneau de configuration et non plus
comme un logiciel en ligne.
 Des fonctions de recherche plus développée grâce à l'indexation des fichiers "Recherche
pendant la frappe"

Cette version a déçu les utilisateurs car trop gourmande en ressources elle s'est avérée lente et
instable ! Certains utilisateurs sont repassés à XP et bon nombre d'entreprises peu convaincues par
les nouveautés de Vista n'ont pas jugé nécessaire de changer de version.

Windows 7
2009
Successeur réussi de Vista, dès son installation Windows 7 semble plus rapide et est donc perçu
un produit plus performant. Windows 7 parvient à tourner sur des machines plus légères ce qui
est souvent le cas pour les PC portables qui remplacent le plus en plus souvent les PC de bureau.
Cette version a aussi été développée pour s'adapter plus facilement au WiFi Voici quelques autres
modifications retenues quant à l'ergonomie de cette version :
 La barre des tâches a été modifiée : les boutons de tâches sont remplacés par des icônes sans
texte. Les icônes qui correspondent à une même application ouverte dans plusieurs fenêtres se
superposent. La liste des documents ouverts surgit comme un menu déroulant lorsqu'on survole
ces icônes avec la souris.
 Les bibliothèques permettent de regrouper dans un même affichage des fichiers qui sont
stockés en divers emplacements.
 Snap offre une nouvelle manière pour redimensionner les fenêtres ou les disposer plus
facilement sur le bureau.
 Le Groupe résidentiel est une nouveauté pour interconnecter plus simplement les PC Windows
7 d'un réseau domestique afin de faciliter le partage des imprimantes et des bibliothèques

III. Définitions : informatique et information


1. L’informatique
L'informatique (contraction de information et automatique )
Science du traitement automatique et rationnel de l'information considérée comme support des connaissances et
des communications.
Il importe de remarquer que, dans cette définition, l'information est le support de la connaissance et non pas la
connaissance elle-même. Il serait donc naïf d'imaginer que les machines informatiques "comprennent" la
signification des informations qu'elles traitent. Loin de là, ces machines ne font que traiter des codes choisis
assez judicieusement par leurs concepteurs pour représenter des connaissances et de sorte que les manipulations
automatisées faites sur ces codes donnent à leur tour des codes similaires qui représentent des informations qui
ont un sens.
Une calculatrice par exemple est un système électronique ou parfois simplement mécanique qui, lorsqu'on lui
demande de faire la somme de 2 et 3, possède des mécanismes tels que les codes 2 puis 3 manipulés par le
mécanisme d'addition donne le code 5 qui pour nous, qui attribuons des valeurs aux nombres, est bien le code qui
représente la somme.
Autre exemple : Les données dans une base de données sont rangées dans des tables, sortes de grilles où sont
rangés les codes destinés à représenter ces données. L'ordinateur est incapable de savoir ce que représentent ces
codes mais cela ne l'empêche pas de savoir les trier, y chercher un code particulier, les compter, les comparer etc.
2. L’information
Le terme "donnée" (en anglais "data") est souvent préféré au terme "information". Bien que ces deux mots
puissent être synonymes on les utilise souvent comme s'ils désignaient deux concepts distincts :
 Donnée = la forme de l'information, le code qui la représente
 Information = signification, renseignement, connaissance qu'elle apporte
La distinction entre le support des connaissances et les connaissances elles-mêmes doit être claire. L'ordinateur
n'est pas capable de comprendre le sens de l'information. Il ne traite pas ce que cette information signifie, il se
contente de manipuler les codes qui la représentent, la forme de l'information, nous dirons des données, et non
pas le contenu sémantique de l'information.
Exemple: Les mots « HOND, CHIEN, DOG » sont des codes différents, ce seront pour l'ordinateur des données
différentes, même si pour nous humains ces 3 mots ont, dans 3 langues différentes, la même signification et
apportent la même information.
3. Types d’informations
Les informations traitées par l'informatique sont de différentes natures ; des nombres, du texte, des sons, des
images, des clips vidéo etc. mais aussi les instructions des programmes informatiques qui traitent tous ces types
d'informations.
IV. Numérique vs Analogique
Deux modes de représentation des grandeurs
Distinguons deux modes de représentation des grandeurs : l'analogique et le numérique.
Le codage des informations et leur transport sous forme numérique est une technique assez récente. Jusque dans
les années 70, avant les calculatrices, les CD ou la microinformatique, les informations étaient surtout codées et
transportées sous forme analogique.
Les systèmes analogiques utilisent des grandeurs continues, comme une tension électrique, pour représenter les
valeurs à traiter. On parle d'analogique car il y a « analogie » entre la donnée et sa représentation.
 Les systèmes analogiques paraissent maintenant plus rudimentaires et manquent de précision
(approximation, tolérance, etc.) dès que le support qui sert à son écriture ou à sa transmission est de qualité
insuffisante.
 A chaque manipulation des signaux analogique les erreurs d'imprécision viennent dégrader l'information
(exemples : photocopies, transmissions radio etc.)
Les systèmes numériques ne manipulent que des nombres. C'est à la fois plus simple et plus compliqué !
Plus simple parce que :
 La mémorisation de données numériques est plus facile.
 Ils peuvent être recopiés avec exactitude => l'information chiffrée reste intacte.
 On dispose de nombreuses méthodes arithmétiques et logiques pour traiter ces codes : les vérifier, les
crypter et les compresser.

Plus compliqué parce que :


 pour avoir ces signaux sous forme digitale il faut d'abord les numériser
 et à l'inverse il faut souvent les reconvertir en analogique quand la reproduction sous cette forme est
nécessaire.

Exemple : le son.
Le son est un phénomène de vibration de l'air qui nous parvient à l'oreille par des variations de pression sur nos
tympans. Ces variations sont continues et donc de nature analogique. Graphiquement on pourrait représenter le
son comme une courbe qui oscille autour d'une valeur moyenne en variant en amplitude et en fréquence.
Ces fluctuations peuvent être enregistrées de manière analogique. C'est ce que l'on faisait en retranscrivant ces
oscillations dans les sillons des disques vinyles
A l'heure du son numérique ; les signaux analogiques captés par le micro sont numérisés (digitalisés) en
échantillonnant à intervalles réguliers les mesures de ces fluctuations.
La numérisation, comme toutes retranscriptions d'ailleurs, n'est jamais réalisée avec une précision absolue. La
figure 1 illustre l'échantillonnage d'un son avec des valeurs pouvant aller de -7 à +7 ce qui pourrait être réalisé
avec un code de 4 bits. On voit sur ce graphique que les valeurs des échantillons sont très approximatives et la
restitution de la courbe à partir des échantillons risque d'être bien moins nuancée que la courbe initiale.

Figure 1 - Echantillonnage avec échantillons codés sur 4 bits

Pour améliorer la qualité de cette numérisation il est possible d'agir sur deux facteurs : - - Le taux
d'échantillonnage
- La précision des mesures des échantillons
Le taux ou fréquence d'échantillonnage est fonction de la qualité attendue. L'oreille humaine est capable dans les
meilleures conditions d'entendre les fréquences allant de 20 Hz à 20.000 Hz. On comprendra que pour avoir un
signal de haute fidélité HiFi on devra avoir une fréquence d'échantillonnage qui soit au moins égale au double de
la fréquence à reproduire la plus haute. Dans ce cas 2 x 20kHz = 40 kHz. Ainsi les CD sont enregistrés avec une
fréquence de 44,1 kHz.
La numérisation représentée par la figure 2 est meilleure que la précédente car les échantillons y sont deux fois
plus nombreux.
Les valeurs échantillonnées sont de plus codées de manière beaucoup plus fine puisqu'elles sont reprises avec des
valeurs discrètes qui vont de -15 à +15 au lieu de -7 à +7. Il faudrait dans ce cas coder ces nombres sur 5 bits.
Dans le cas des CD audio, les échantillons sont codés sur 16 bits et peuvent donc alors prendre 216 = 65.536
valeurs distinctes.

Figure 2 - Echantillonnage à fréquence double avec échantillons codés sur 5 bits

V. Numération
1. Bit, byte, octet
Quelles que soient les informations et les conventions choisies pour les coder, leurs codes sont toujours transcrits
en binaire car c'est techniquement plus facile à réaliser dans un ordinateur pour le traitement, le stockage et les
transmissions.
Le système binaire est un système à deux états qui correspondent à une présence ou une absence de signal électrique,
magnétique ou optique.
L'information élémentaire est appelée bit contraction de binary digit (chiffre binaire)
Un bit ne peut prendre que deux valeurs 0 et 1
On regroupe les bits par mots de différentes largeurs : mots de 8, 16, 32 ou 64 bits.
Les mots de 8 bits sont appelés octets ou « bytes » en anglais.
Avec un octet on peut représenter 28 = 256 codes différents
Ces bits et ces octets servent à coder des informations de toutes natures. Les systèmes informatiques doivent donc
être organisés pour savoir où et de quelle nature sont les informations qu'il manipule. (Contrairement aux
informations sur papier où on distingue immédiatement si ce qu'on voit est une image ou un texte)

2. Numération de position
Considérons le nombre 1975. Ce nombre est un "mot" dont les caractères sont les chiffres. La valeur que l'on attribue
à chaque chiffre dépend du chiffre en lui-même et de sa position.
- le 1 vaut 1 x 1000.
- le 9 qui suit représente des centaines, il vaut 9 x 100.
- le 7 représente des dizaines, il vaut 7 x 10.
- le 5 vaut 5 x 1.
Nous utilisons un système de numération de position et la base 10.

3. La base décimale
La base 10 ou base décimale est celle que nous utilisons tous les jours. Nous disposons de 10 chiffres (de 0 à 9) pour
compter. Après avoir compté 10 unités, nous utilisons deux chiffres pour écrire le nombre 10 :
- le 1 signifie que nous avons fait un paquet de dix unités que nous appelons dizaine,
- le 0 qui suit signifie que nous comptons les nouvelles unités dans un paquet qui pour l'instant est vide.
Le nombre de dizaines ne peut dépasser 9. Il nous faut donc un troisième chiffre pour compter dizaines par dizaines,
ce "report" indique les centaines. De droite à gauche on a donc les unités puis les dizaines, les centaines, les milliers
et toutes les puissances successives de 10.
N.B. Il existe d'autres bases. Les Babyloniens utilisaient par exemple la base 60. C'est ce qui a marqué notre façon de
compter les minutes et les secondes, celles pour mesurer le temps qui passe ou pour mesurer les angles. Nos ancêtres
utilisaient une base 20. Au lieu de compter par dizaines, ils comptaient par vingtaines (deux-vingt, troix-vingt,
quatre-vingt)
4. Le poids des chiffres
Reprenons notre exemple 1975. Numérotons les positions des chiffres de doite à gauche en commençant par 0 pour
la position des unités. 3 2 1 0

1 9 7 5

Le poids d'un chiffre dépend de sa position et de la base Poids = base position


Voici ce que cela donne dans notre exemple :
Le poids du chiffre 1 est 103 sa valeur est 1 x 103 = 1 x 1000 = 1000
Le poids du chiffre 9 est 102 sa valeur est 9 x 102 = 9 x 100 = 900
Le poids du chiffre 7 est 101 sa valeur est 7 x 10 = 70
Le poids du chiffre 5 est 100 sa valeur est 5 x 1 (car 100 = 1)

Positions 3 2 1 0

Chiffres décimaux
1 9 7 5
3 2 1
1 x 10 9 x 10 7 x 10 5 x 100
Valeurs de chaque chiffre
1000 900 70 5
5. Numération binaire
La base est 2. Nous n'utilisons que deux chiffres 0 et 1.
Remarquez qu'en base 2, le chiffre 2 n'existe pas ; tout comme le chiffre 10 n'existe pas en base 10.
Il s'agit toujours d'une numération de position. De droite à gauche nous avons donc les unités puis les "deuzaines",
les "quatraines", les huitaines, les seizaines, les "trentedeuzaines" etc.
Exemple : que vaut le nombre binaire 10110 ?
Le poids d'un chiffre dépend de sa position et de la base.
Poids = base position ici en binaire le poids = 2 position
Positions 4 3 2 1 0
Chiffres binaires
1 0 1 1 0
4 3 2 1
Valeurs de chaque chiffre 1x2 0x2 1x2 1x2 0 x 20
16 0 4 2 0

On a donc ici une seizaine, une "quatraine" et une "deuzaine" soit 16 + 4 + 2 = 22


6. Numération hexadécimale
La base est 16. Il nous faut donc 16 chiffres, nous avons déjà les chiffres 0 à 9, ajoutons-y les caractères A, B, C, D,
E et F pour représenter les "chiffres" de 10 à 15.
Remarquez qu'en base 16, le chiffre 16 n'existe pas ; tout comme le chiffre 10 n'existe pas en décimal ni le chiffre 2
en binaire.
Nous appliquons toujours les mêmes principes de la numération de position.
Le poids d'un chiffre dépend de sa position et de la base
Poids = base position ici en hexadécimal le poids = 16 position
De droite à gauche nous avons donc les unités puis les "seizaines", les "256zaines" etc.
Exemple : que vaut le nombre hexadécimal 1A2F ?
Positions 3 2 1 0
Chiffres hexadécimaux
1 A 2 F
3 2 1
Valeurs de chaque chiffre 1 x 16 10 x 16 2 x 16 15 x 160
4096 2560 32 15

L'addition des valeurs de ces 4 chiffres donne : 4096 + 2560 + 32 + 15 = 6703

A quoi sert l'hexadécimal ?


Les codes hexadécimaux sont bien pratiques en informatique. Ils permettent de lire les codes binaires de manière
compacte et nous évitent de devoir lire de longues enfilades de 0 et de 1 qui conviennent mieux aux ordinateurs
qu'aux humains.
Un groupe de quatre bits permet de former 16 combinaisons différentes. Une valeur hexadécimale correspond à
chaque combinaison. L'hexadécimal c'est du binaire condensé.
Le code hexadécimal 1A2F est bien plus lisible que 0001 1010 0010 1111 en binaire
Il suffit de savoir compter jusqu'à 16 en binaire et en hexadécimal pour savoir passer facilement du binaire à
l'hexadécimal ou inversement.
VI. Fonctions logiques
La logique est une forme d'opération de la pensée qui nous permet de raisonner. C'est par exemple la démarche
qui vous permettrait de résoudre l'énigme suivante :
Un homme regarde un portrait et dit : "Je n'ai ni frère ni soeur mais le père de cet homme est le fils
de mon père". Qui est représenté sur le portrait ?
Les questions de logiques sont parfois moins énigmatiques. :
"S'il fait beau ce soir et si j'ai fini ma préparation, j'irai me promener."
Nous tenterons de les ramener à des choix simples où les affirmations sont soit vraies soit fausses, les réponses
aux questions sont oui ou non, il n'y a pas de valeurs intermédiaires. La promenade est liée à deux conditions : la
météo et le travail qui reste à faire. Les différentes situations sont représentées dans ce qu'on appelle une table de
vérité :
Il fera beau Mon travail sera achevé J'irai me promener

Non Non Non

Non Oui Non

Oui Non Non

Oui Oui Oui

Essayez avec la proposition suivante : L'accusé sera disculpé si l'enquête révèle qu'il s'agit d'un suicide ou s'il
peut faire la preuve qu'il était ailleurs au moment des faits. Dans le premier cas, la promenade dépend de deux
conditions qui doivent être simultanées. Dans le second cas, une seule des deux conditions suffit pour disculper
l'accusé.
Bon nombre de chercheurs ont tenté de trouver une manière infaillible de raisonner. George Booletraduisit les
relations logiques en équations ce qui donna l'algèbre booléenne. Il définit ainsi les règles qui permettent de faire
des raisonnements valides pour autant que les " variables logiques " ne puissent avoir que deux valeurs possibles
: Oui ou Non, Vrai ou faux, 1 ou 0. Ce doivent être des "variables binaires"
Shannon (1916-2001), l'inventeur du mot "bit", démontra que l'algèbre de Boole était applicable aux circuits
électriques. Cela permit à cette époque d'automatiser les centraux téléphoniques. Cette analogie est reprise ci-
dessous pour matérialiser le fonctionnement des opérations logiques.

Fonctions logiques de base


Les opérations logiques sont en informatique aussi courantes si pas plus que les opérations arithmétiques. La logique
combinatoire tout comme l'arithmétique repose sur quelques opérations élémentaires.
 En arithmétique, ces opérations sont l'addition, la soustraction, la multiplication et la division ( +, -, *, / ). Il
est possible à partir de là d'imaginer toutes les autres opérations telles que les exposants, les racines, les
logarithmes etc.
 En logique, les opérations fondamentales sont le ET, le OU et le NON.
La manière la plus simple de comprendre les fonctions logiques est de se les représenter par des schémas
électriques qui comportent un ou plusieurs boutons poussoirs et une lampe. Cette lampe s'allume à condition que
les contacts électriques y laissent passer le courant.
Le schéma ci-contre traduit la condition la plus simple :
La lampe s'allume si le bouton poussoir A est actionné.
Autrement dit ( S = 1) si ( A = 1)

Le fonctionnement de ce circuit s'exprime par l'équation


.
logique

Il n'y a que deux cas possibles. Ils sont représentés dans cette table de vérité.

Une table de vérité a pour le rôle de montrer la correspondance entre la sortie et toutes les combinaisons de valeurs que peuvent
prendre la ou les entrées.
Plaçons maintenant deux contacts dans le circuit. La condition nécessaire pour allumer la lampe dépend de la manière dont les
contacts sont connectés. Suivant les cas, la condition pour allumer la lampe fait appel aux opérateurs logiques ET ou OU.

La fonction ET

La lampe s'allume si on active simultanément les


contacts A et B

(S = 1) si )
(A = 1 ET (B = 1)

L'opérateur ET est représenté dans l'équation logique par un point. Ce signe convient parfaitement puisque la
fonction ET donne le même résultat qu'une multiplication.

La fonction OU

La lampe s'allume si on active le contact A ou le contact B


(S = 1 ) si ( A = 1) OU ( B = 1)

L'opérateur OU est représenté dans l'équationlogique par un signe plus surmonté d'un point. Observons les trois
premières ligne de la table de vérité, le résultat de l'opération OU y est semblable au résultat d'une addition. Le
résultat de 1 ou 1 diffère cependant de 1+1. Nous mettons un point au-dessus du signe '+' pour indiquer que
l'opération n'est pas analogue à une addition.

La fonction NON

Les contacts que nous avons utilisés jusqu'ici, sont des contacts "normalement ouverts". Quand le bouton
poussoir est relâché ( quand A = 0) le courant ne passe pas.
Nous utilisons maintenant un contact "normalement fermé" pour illustrer la fonction NON. Au repos, le courant
passe mais il se coupe quand le contact est activé ( quand A = 1).

Lire "S = Non A"

Combinaisons de fonctions logiques


Les trois fonctions de base que nous venons de voir se combinent de multiples façons. A chaque schéma
imaginable correspond une équation. La correspondance entre un schéma et une fonction logique est
systématique.
- Des contacts en parallèle correspondent à la fonction OU.
- Des contacts en série correspondent à la fonction ET
- Un contact normalement fermé représente la fonction NON
Exemples :
VII. Les portes logiques
Nous avons jusqu'ici utilisé des boutons poussoirs et une lampe pour illustrer le fonctionnement des opérateurs
logiques. En électronique digitale, les opérations logiques sont effectuées par des portes logiques. Ce sont des
circuits qui combinent les signaux logiques présentés à leurs entrées sous forme de tensions. On aura par exemple
5V pour représenter l'état logique 1 et 0V pour représenter l'état 0.

Fonctions logiques de base

Porte AND

Porte OR

Porte NOT
Combinaisons des fonctions logiques de base

Porte NAND

= NOT AND

Porte NOR

= NOT NOR

Porte XOR

La fonction "OU Exclusif" est en principe d'une fonction de deux variables : S = A XOR B
La sortie est à 1 si une seule des deux entrées vaut 1.

Porte XOR à plusieurs entrées


Pour calculer le résultat de S = A XOR B XOR C, il faut d'abord faire l'opération entre deux termes, puis refaire un ou exclusif entre
le résultat obtenu et le troisième terme.
Ce qui se traduit par S = ( A XOR B) XOR C ou par S = A XOR ( B XOR C)
On constate que l'appellation "Ou exclusif" n'est tout à fait exacte que pour deux variables. Avec trois variables, le résultat vaut 1 si
une d'entre elles ou toutes les trois valent 1.
=

Le résultat est en fin de compte un bit de parité. Il vaut 1 si le nombre d'entrées à 1 est impair.
Circuits logiques qui jouent un rôle important dans le hardware

Comparateur
Le comparateur est un circuit qui compare deux mots de n bits. En sortie, un bit indique le résultat de la
comparaison : 1 s'il y a égalité entre les deux codes présents à l'entrée, 0 si ces codes sont différents.
Le demi additionneur

Le demi-additionneur effectue la somme de deux bits. S est la somme et R le report. (carry)


Ce schéma n'est cependant pas suffisant pour réaliser la somme de nombres de plusieurs bits. Il faut alors tenir
compte du report de l'addition des bits précédents.

Le plein additionneur
Addition de 3 bits

Exemple : Calculons 1 + 3 . En binaire cela donne : 0001 + 0011

L'addition des bits de droite est une addition de deux bits, elle peut être réalisée avec le demi additionneur. Pour
les bits suivants par contre, il faut tenir compte d'un éventuel report.
Ainsi dès le deuxième bit de notre exemple (en comptant les bits de droite à gauche) il a fallu faire 2 additions
( 1 + 0 + 1 = 10 " on pose 0 et on reporte 1")

Table de vérité et équations et schéma du circuit plein additionneur


Cette table de vérité comporte 3 entrées : R n-1 (le report de l'addition précédente), A et B
Il lui faut deux sorties :
 S = la somme de 3 bits (A + B + R n-1 )
 R = le nouveau report
Addition de deux nombres de plusieurs bits
Exemple : Mise en cascade de 4 additionneurs pour l'addition de deux nombres de 4 bits

VIII. Architecture matérielle


Schéma bloc d'un ordinateur

Les éléments qui composent un ordinateur sont


 L'unité centrale ou CPU « Central Processing Unit » se charge d'exécuter les instructions des programmes
et traite les données. C'est, comme son nom l'indique, l'élément central du système, en quelque sorte son
cerveau. La puissance du CPU est liée en grande partie à sa fréquence. Celle-ci est exprimée en MHz ou
en GHz.
 La mémoire
 principalement la RAM Random Acces Memory ou mémoire vive.
 la mémoire morte ROM Read Only Memory qui dans un PC contient les fonctions de base du
BIOS
 une partie du disque sert à simuler un supplément de mémoire.
On parle alors de « mémoire virtuelle » ou de swap
 Les I/O « input/output » sont les circuits qui contrôlent les entrées et les sorties.
 Les disques
Ils servent de mémoire de masse. Les disques durs sont des unités de stockage magnétique. Ils ont
actuellement d'entrée de gamme une capacité de plusieurs centaines de Go. Les CD-ROM et les DVD
sont des unités de stockage optique. Les disques sont relativement lents par rapport au reste des
composants de l'ordinateur. Leurs temps d'accès sont de l'ordre de la milli-seconde.

Les bus
Un bus est un ensemble de conducteurs électriques qui transportent des signaux que partagent plusieurs
connexions en parallèle. Le groupement de ces lignes mises en commun par le CPU et les dispositifs qui lui sont
connectés est appelé bus processeur, bus système ou encore front side bus (FSB). Il véhicule trois types de
signaux : les adresses, les données et les commandes.
1. Le bus d'adressage (Address Bus) sur lequel le processeur envoie les adresses des cellules mémoire et des
entrées/sorties auxquelles il veut accéder
2. Le bus de données (Data Bus) est bidirectionnel puisque le processeur l'utilise pour lire et pour écrire en
mémoire ou dans les I/O
3. Le bus de commande (Control Bus) véhicule tous les autres signaux. Le CPU utilise l'un d'eux pour
indiquer le sens des transferts sur le bus de données (lecture ou écriture).
C'est par un autre de ces conducteurs que les mémoires signalent quand elles sont prêtes pour répondre à
une commande de lecture.

Le bus de données
Il sert à véhiculer les données entre le processeur et la mémoire ou les circuits d'entrées/sorties. Le bus des
données est commandé par le CPU, les autres composants y sont connectés à tour de rôle pour répondre aux
commandes de lecture ou d'écriture du processeur.
Le débit des données véhiculées par ce bus dépend d'une part des vitesses de transmission ou plus exactement
de la capacité des composants à saisir rapidement les signaux des bus et à y répondre aussi vite. La cadence de
ces signaux est liée à fréquence de la carte mère.
La largeur du bus est le second critère qui va influencer le débit des transmissions des données. Plus le bus est
large et plus important sera le nombre de données qui pourront être véhiculées simultanément. La largeur du bus
de donnée peut être comparée au nombre de voies de circulation d'une autoroute.
Les premiers microprocesseurs qui ne pouvaient traiter que 8 bits simultanément avaient un bus de données de 8
bits. Actuellement, les microprocesseurs traitent en général les données par mots de 32 bits mais le bus de
donnée est plus large encore (64 bits) ce qui lui permet de véhiculer plus de données en parallèle.

Le bus d'adressage
Chacun des conducteurs du bus d'adressage peut prendre deux états, 0 ou 1. L'adresse est donc le nombre binaire
qui est véhiculé par ces lignes. La quantité d'adresses qui peuvent ainsi être formées est égale à deux exposants le
nombre de bits d'adresse.
Le processeur 8088 qui équipait des premiers PC n'avait que 20 lignes d'adresse. Il pouvait donc accéder à
220 adresses différentes soit 1 Mo. C'est pour cette raison que le DOS qui date de cette époque ne peut pas
adresser la totalité de la mémoire des systèmes actuels. Le nombre de lignes du bus d'adresse a ensuite évolué
avec les différentes générations de processeurs.

IX. Le CPU
Le CPU Central Processing Unit parfois aussi appelé processeur ou microprocesseur est le cerveau du PC. C'est
d'ailleurs le composant le plus cher. Il coûte grosso modo le double du prix de la carte mère.Sa puissance dépend
• du nombre de cœurs du processeur,
• de la taille de sa mémoire cache
• de l'architecture du processeur
• et de sa fréquence
La fréquence du CPU s'exprime en MHz ou en GHz. C'est une valeur à laquelle les utilisateurs attachent le plus
d'importance mais d'autres paramètres en déterminent les performances.
L'efficacité du CPU dépend aussi de son architecture interne. Alors qu'il fallait dans les premiers PC environ
12 cycles pour exécuter une instruction, les processeurs actuels traitent plusieurs instructions par cycle. Ces
traitements se font en parallèle grâce notamment à la technique du double pipelined'instructions, ce qui leur
permet d'effectuer deux ou trois instructions par cycle. L' hyperthreading est une autre technique encore pour
faire le traitement simultané de plusieurs flux d'instructions, les "thread".
Le rôle de la mémoire cache est d'autant plus important que la vitesse du CPU est élevée par rapport à celle de la
mémoire centrale. Cet écart entre la vitesse du processeur et celle des RAM ne cesse d'augmenter car l'évolution
des CPU est bien plus rapide que celle des mémoires. La mémoire cache coûte cher. Sa taille explique souvent la
différence de prix entre les processeurs.
L'augmentation des fréquences a atteint des limites aux environs de 4 GHz. La seule façon d'augmenter encore
les performances est maintenant de multiplier les cœurs sur la même puce.

Description

Nous avons vu que du CPU partent des ensembles de fils appelés "bus" auxquels sont connectés les autres
composants du système.
Le CPU est constitué essentiellement de trois parties :
- L' unité de commande qui cherche les instructions en mémoire, les décode et coordonne le reste du
processeur pour les exécuter. Une unité de commande élémentaire se compose essentiellement d'un
registre d'instruction et d'une unité "décodeur / séquenceur"
- L' unité Arithmétique et Logique ( ALU) exécute les instructions arithmétiques et logiques demandées par
l'unité de commande. Les instructions peuvent porter sur un ou plusieurs opérandes. La vitesse
d'exécution est optimale quand les opérandes se situent dans les registres plutôt que dans la mémoire
externe au processeur.
- Les registres sont des cellules mémoire interne au CPU. Ils sont peu nombreux mais d'accès très rapide.
Ils servent à stocker des variables, les résultats intermédiaires d'opérations (arithmétiques ou logiques)
ou encore des informations de contrôle du processeur.
La structure des registres varie d'un processeur à l'autre. C'est ce qui fait que chaque type de CPU a un jeu
d'instruction qui lui est propre. Leurs fonctions de base sont néanmoins semblables et tous les processeurs
possèdent en gros les mêmes catégories de registres :
 L'accumulateur est principalement destiné à contenir les données qui doivent être traitées par l'ALU.
 Les registres généraux servent au stockage de résultats intermédiaires
 Les registres d'adresses servent à confectionner des adresses de données particulières, Ce sont, par
exemples, les registres de base et d'index qui permettent entre autre d'organiser les données en mémoire
comme des tables indicées.
 Le registre d'instruction contient le code de l'instruction qui est traitée par le décodeur / séquenceur.
 Le compteur ordinal ou program counter contient l'adresse de la prochaine instruction à exécuter. En
principe, ce registre ne cesse de compter. Il génère les adresses des instructions à exécuter les unes à la
suite des autres. Certaines instructions demandent quelquefois de changer le contenu du compteur ordinal
pour faire une rupture de séquence c'est à dire un saut ailleurs dans le programme.
 Le registre d'état appelé parfois registre de condition contient des indicateurs appelés flags(drapeaux) et
dont les valeurs ( 0 ou 1) varient en fonction des résultats des opérations arithmétiques et logiques. Ces
états sont utilisés par les instructions des sauts conditionnels.
 Le pointeur de pile ou stack pointer gère certaines données en mémoire en les organisant sous forme de
piles.

Principe de fonctionnement du CPU


Le contenu du compteur de programme est déposé sur le bus d'adressage pour y rechercher une instruction en
code machine. Le bus de contrôle produit un signal de lecture et la mémoire qui est sélectionnée par l'adresse,
renvoie le code de l'instruction au processeur via le bus des données.
Une fois que l'instruction aboutit dans le registre d'instruction, l'unité de commande du processeur la décode et
produit la séquence appropriée de signaux internes et externes qui coordonnent son exécution. Une instruction
comporte une série de tâches élémentatires. Elles sont cadencées par les cycles d'horloge.
Toutes les tâches qui constituent une instruction s'exécutent les unes à la suite des autres. L'exécution d'une
instruction dure donc plusieurs cycles. Comme il n'est pas toujours possible d'augmenter la fréquence, la seule
manière d'accroître le nombre d'instructions traitées en un temps donné est de chercher à en exécuter plusieurs
simultanément. On y arrive en fractionnant les ressources du processeur, les données et/ou les processus. C'est ce
qu'on appelle la parallélisation.

Pipelines d'instructions et architecture superscalaire


L'unité de commande élémentaire qui, dans les premier microprocesseurs, contenait un registre d'instruction et
un décodeur / séquenceur, est remplacé depuis les processeurs de la troisième génération (386) par un ou des
pipelines. Dans le 486, le pipeline est unique et se compose de cinq unités fonctionnelles. Elles "travaillent à la
chaîne" pour effectuer simultanément les étapes successives de plusieurs instructions.

La première unité fonctionnelle du pipeline va chercher les instructions en mémoire et les range dans un tampon,
la seconde unité décode l'instruction et ainsi de suite.
Globalement, il faut toujours autant de temps pour exécuter une instruction mais la vitesse d'exécution est
multipliée par cinq puisque avec ce système les instructions suivantes sont entamées dès que possible, les
instructions se font donc en parallèle.
Les premiers Pentium (cinquième génération) ont deux pipelines en parallèle ce qui leur permet d'accomplir
deux instructions par cycle.
Dans les pentium actuels, l'architecture "superscalaire" multiplie les chemins des instructions au niveau de
certains étages du pipeline, les unités fonctionnelles d'exécutions ont alors recours à plusieurs Unité
Arithmétiques et Logiques (ALU). Le processeur est dit superscalaire de rang "n" s'il possède n unités
arithmétiques et logiques.
Le pipeline du 486 perdait de son efficacité lors des ruptures de séquences. Lors des sauts conditionnels, les
instructions qui suivent le saut et dont le traitement a été entamé doivent parfois être abandonnées après
l'évaluation du test. En cas d'erreur, la perte de temps est d'autant plus importante que le pipeline est plus long.
A partir du Pentium, une unité de prédiction de branchement, s'attache à évaluer la suite d'instructions qui sera
la plus probable. Lors des tests conditionnels, elle mémorise le résultat du test pour en tenir compte au passage
suivant selon des algorithmes qui au fil de l'évolution des processeurs devient de plus en plus élaborés. Cette
méthode est efficace notamment pour les tâches répétitives exécutées par des boucles de programme.

Hyper-Threading
L'hyperthreading est une technique qui consiste à permettre l'exécution simultanée de plusieurs threads. On
traduit généralement le terme thread par « fils d'exécution » ou « sous processus ». Il s'agit d'une partie d'un
processus dont l'exécution peut être indépendante du reste de l'application. Le correcteur orthographique d'un
traitement de texte en est l'exemple le plus facile à imaginer.
L'HTT Hyper-Threading Technology est apparu chez Intel avec le Pentium Xeon, il est disponible sur les
Pentium 4 qui tournent à au moins 3,6 GHz. L'hyperthreading était selon la rumeur présent dans les premiers
Pentium 4 mais Intel l'aurait par prudence mi hors d'usage avant d'être absolument sûr de son bon
fonctionnement.
On ne peut tirer avantage de l'hyperthreading que si les applications, le système d'exploitation, le processeur le
BIOS et le Chipset sont prévus pour.
Certains éléments du processeur qui caractérisent son état sont dédoublés de sorte à émuler deux processeurs
logiques au sein d'un seul cœur. L'hyper-threading permet l'exécution concurrente de deux jeux d'instructions
afin d'éviter certains temps morts. Ces temps morts sont par exemple dus à l'absence d'une donnée utile dans la
cache (cache miss) ou à une erreur de prédiction de branchement qui annihile la séquence d'instructions entamée
dans le pipeline.
Le processeur physique agit alors comme deux processeurs virtuels aussi dits "processeurs logiques" qui
apparaissent dans le gestionnaire de périphérique comme deux processeurs distincts.
Le gain de performance annoncé par Intel va actuellement jusqu'à 30%. Il est optimum quand les logiciels sont
développés dans l'optique de l'Hyper-Threading.
Processeurs multi-cœurs
Une autre manière de favoriser l'exécution simultanée de plusieurs processus ou de plusieurs threads est de
placer plusieurs processeurs, on dira plusieurs cœurs, dans le même boîtier. Cette technique convient
particulièrement au multitâche puisqu'avec elle, il y a réellement autant de tâches qui peuvent s'exécuter en
parallèle que de cœurs dans le processeur. Les applications pour bénéficier pleinement du multi-cœur doivent
avoir été repensées pour pouvoir se subdiviser en tâches parallèles.
X. La mémoire
Rôle de la mémoire
Le but de l'informatique étant de traiter des informations. Il faut pour cela pouvoir ranger
ces informations et les programmes qui les manipulent dans une mémoire ou plus
exactement dans des mémoires car la mémorisation des données et des instructions est
réalisée à l’aide d’une variété de composants mémoire qui se caractérisent par leur vitesse,
leur capacité, leur volatilité, leur prix et leurs dimensions physiques.
On distingue :
1. la mémoire de masse, dont le rôle est d'être une zone de stockage permanent. Ce rôle
est assuré par les disques (disques durs, disquettes, CD-ROM ou DVD) ou par des
bandes. Les données y sont enregistrées par des procédés magnétiques ou optiques, elles
subsistent même quand ces équipements sont hors tension. Ce sont par contre des
systèmes relativement lents.
2. la mémoire centrale dont le rôle est d'être une zone de travail et de stockage
temporaire. Les programmes que l'on veut exécuter et les données que l'on veut traiter
doivent d'abord être chargés en mémoire centrale pour y être à la disposition du
processeur.
La mémoire centrale est un organe passif qui reçoit des ordres de lecture/écriture du CPU.
Les ordres de lecture/écriture lui sont envoyés par le bus de commande (Control bus)
Les emplacements à lire ou écrire sont signifiés par le bus d'adressage (Address bus)
Les données transitent par le bus des données (Data Bus)

La ROM
La ROM "Read Only Memory" (mémoire à lecture seule) est aussi appelée mémoire
morte. Il est impossible d'y écrire. Les ROM sont programmées par leurs fabricants pour
contenir des informations immuables telles que les fonctions du BIOS.
Il existe d'autre variantes:
- La PROM "Programmable ROM" est une ROM qui peut être programmées à l'aide d'un
graveur de PROM. Une fois écrite, il est impossible d'en modifier le
contenu.
- L'EPROM "Erasable PROM" est effaçable. Un autre contenu peut
ensuite y être gravé à nouveau. On efface ces mémoire en les laissant 10
à 20 minutes sous des rayons ultra violet. Le composant possède une
petite fenêtre qui permet le passage de cette lumière.
- L'EEPROM "Electricaly Erasable PROM" est une EPROM qui s'efface par des
impulsions électriques. Elle peut donc être effacée sans être retirée de son support.
- La FEPROM "Flash EPROM" plus souvent appelée mémoire Flash est un modèle de
mémoire effaçable électriquement. Les opérations d'effacement et d'écriture sont plus
rapides qu'avec les anciennes EEPROM. C'est ce qui justifie l'appellation "Flash". Cette
mémoire, comme les autres ROM, conserve les données même quand elle n'est plus sous
tension. Ce qui en fait le composant mémoire amovible idéal pour les appareils photos
numériques.
La RAM
La mémoire vive est généralement appelée RAM pour Random Access Memory ce qui se
traduit littéralement par "mémoire à accès aléatoire".
La mémoire vive est généralement appelée RAM pour Random Access Memory ce qu'on
traduit habituellement par "mémoire à accès aléatoire" car on peut arbitrairement accéder à
n'importe laquelle de ses adresses. La traduction "mémoires à accès direct " est sans doute
plus appropriée.
Ces mémoires ont été dénommées ainsi pour des raisons historiques pour des
raisons historiques. En effet pour les premiers types de mémoire, les cartes
perforées ou les bandes magnétiques par exemple, on ne pouvait pas accéder aux
informations dans un ordre quelconque. Avec ces mémoires à accès séquentiel, il
fallait faire défiler une kyrielle d'informations avant de trouver celle que l'on
cherche.
La RAM du PC contient tous les programmes en cours d'exécution ainsi que leurs données.
Les performances de l'ordinateur sont fonction de la quantité de mémoire disponible.
Aujourd'hui une capacité de 1 Go ou même 2 Go est nécessaire pour pouvoir faire tourner
les logiciels toujours plus gourmands. Quand la quantité de mémoire ne suffit plus, le
système d'exploitation a recours à la mémoire virtuelle, il mobilise une partie du disque
pour y entreposer les données qu'il estime devoir utiliser moins souvent.

RAM statiques / RAM dynamiques

Nous distinguons entre deux technologies de fabrication des RAM


La SRAM ou RAM Statique est la plus ancienne. Les bits y sont mémorisés par des
bascules électroniques dont la réalisation nécessite six transistors par bit à mémoriser. Les
informations y restent mémorisées tant que le composant est sous tension. Certaines cartes
mères utilisent une SRAM munie d'une pile pour former une mémoire non volatile destinée
à conserver les données du setup. Cette technique tend à être remplacée par l'utilisation de
mémoire flash.
La SRAM est très rapide et est pour cette raison le type de mémoire qui sert aux mémoires
cache.
La DRAM pour RAM dynamique est de réalisation beaucoup plus simple que la SRAM.
Ce qui permet de faire des composants de plus haute densité et dont le coût est plus faible.
Chaque bit y est mémorisé par une charge électrique stockée dans un petit condensateur.
Ce dispositif présente l'avantage d'être très peu encombrant mais a l'inconvénient de ne pas
pouvoir garder l'information longtemps. Le condensateur se décharge au bout de quelques
milli secondes. Aussi pour ne pas oublier cette information, il faut un dispositif qui lit la
mémoire et la réécrit aussi tôt pour recharger les condensateurs avant que leur contenu ne
se dissipe. On appelle ces RAM des RAM dynamiques car cette opération de
rafraîchissement doit être répétée régulièrement.
Les différents types de barrettes mémoire et leurs technologies sont décrites dans le
chapitre Hardware et maintenance de ce site.

Les temps d'accès

Les commandes de lectures ou d'écritures ne se font jamais instantanément.


Le temps d'accès est le délai minimum qu'il faut attendre entre l'instant où la commande
est envoyée et celui de l'accès réel à la donnée (lecture ou écriture de la donnée). Mais il faut
parfois aussi tenir compte d'un temps de cycle supérieur au temps d'accès. Il s'agit
dans ce cas du cycle mémoire, c'est à dire de l'intervalle minimum de temps entre deux
accès successifs.
Les mémoires statiques ont des temps d'accès très courts qui leur permettent de s'adapter
aux fréquences des processeurs et en font les candidates idéales pour les mémoires cache.
Les mémoires dynamiques (DRAM) ont des temps d'accès supérieurs. Elles sont
organisées en matrices et l'adressage qui y sélectionne successivement les lignes et les
colonnes nécessite un temps de latence qui vaut plusieurs cycles du processeur.
La durée d'un cycle du processeur est égale à l'inverse de la fréquence d'horloge. Si par
exemple le CPU tourne à 1 GHz (109 Hz) son cycle dure 1/109 s = 1 ns ( 1 nano seconde)
Pour gagner du temps, on profite du fait que le plus souvent les accès mémoire se font sur
des données consécutives. On les traite en mode rafale (burst mode)
Si par exemple on accède à quatre données consécutives, seul l'adressage de la première
donnée sera vraiment long, car pendant ce temps l'adressage des données suivantes
s'organisent déjà. Prenons l'exemple d'une mémoire SDRAM cadencée à 133 MHz. Elle a
besoin de 5 cycles de 7,5 ns pour obtenir le transfert de la première donnée mais chacun
des trois accès suivants ne prend qu'un seul cycle. Ce qui fait un total de 8 cycles pour
quatre accès ( 5+1+1+1) soit une moyenne de deux cycles par transfert.

La hiérarchie des mémoires

Le but de l'informatique étant de traiter des informations, il nous faut stocker ces informations
et les programmes qui les manipulent sur divers supports : les mémoires. Il en existe de
plusieurs types qui se distinguent par leur mode d’enregistrement (électronique, magnétique,
optique), leur capacité, leur rapidité, le fait quelles soient volatiles ou non, leur prix, la densité
d’information, la manière d’y accéder, la fiabilité etc.
Il est d’usage pour classifier les mémoires de les hiérarchiser en les situant dans une
représentation appelée pyramide des mémoires.

Au sommet de la pyramide, se trouvent les registres qui font partie du processeur. Ils sont
extrêmement rapides et fonctionnent à la vitesse du CPU mais ils ne peuvent contenir que
quelques mots, les instructions et les données, qui y sont traités en quelques milliardièmes de
secondes.
Les données que le processeur traite, doivent être facilement accessibles à proximité
immédiate du CPU dans les mémoires caches disposées sur la même puce que le processeur.
Ce sont des mémoires très rapides. Elles mettent à la disposition du processeur les copies de
quelques ensembles de données et d’instructions prises dans la mémoire centrale trop lente
par rapport au processeur. Il y a généralement deux niveaux de cache. La cache de niveau 1
étant plus rapide mais de taille plus restreinte que la cache de niveau 2.
La mémoire centrale se présente sous forme de barrettes disposées à proximité du processeur
et reliées à lui par ce qu’on appelle le bus système. Les informations y sont stockées sous
forme électronique comme pour les mémoires caches et les registres mais avec une
technologie différente qui permet d’avoir pour une quantité plus importante de données pour
un coût moindre. Elle est en contrepartie plus lente. La vitesse de réaction des barrettes RAM
et la celle du bus système sont insuffisantes pour pouvoir répondre rapidement aux
commandes du processeur. C’est la raison pour laquelle les données y sont lues non pas une
par une mais par blocs mis à portée de main du processeur par l’entremise de la mémoire
cache.
Sous la mémoire centrale, dans cette représentation hiérarchisée, se trouvent les mémoires de
masse. Les disques durs conservent les données sous forme magnétique. Les temps d’accès
sont plus lents que pour la mémoire de masse mais le coût du byte mémorisé ainsi que le
volume physique pour le mémoriser sont bien moindre. Les mémoires de type flash (disques
SSD) remplacent parfois avantageusement les disques magnétiques. Nous verrons dans les
prochaines années ce qu’il en adviendra.
A la base de cette pyramide se trouvent les disques optiques CD-ROM ou DVD qui offrent
des volumes de données plus importants encore pour un prix moindre. Leurs faibles coûts en
font des supports idéaux pour l’archivage d’informations auxquelles il n’est pas nécessaire
d’accéder souvent. Les bandes magnétiques ont les temps d’accès encore plus longs
puisqu’elles sont à accès séquentiel. On les utilise toujours actuellement pour les backups.

XI. Les disques


Rôle du disque dur
Le disque dur dans l’ordinateur sert de mémoire de masse. Le volume des données
enregistrées dans un PC va toujours en croissant. Les utilisateurs attendent donc du disque dur
qu’il soit de grande capacité tout en étant relativement bon marché.
C’est un système de stockage permanent, il conserve toutes les informations qui sont
confiées à l’ordinateur même lorsque celui-ci est hors tension. En cas de panne, le disque dur,
au même titre que n’importe quel composant, peut toujours être remplacé mais les données
qui s’y trouvaient, si on n’a pas pris garde d’en faire une copie de sauvegarde sont
définitivement perdues. Il faut donc que le disque dur soit extrêmement fiable.
Le disque dur sert aussi de mémoire virtuelle. Quand les applications demandent trop de
place dans la mémoire vive, celle-ci est complétée par un espace sur le disque dont le contenu
est régulièrement échangé (swap) avec des données d’une partie de la mémoire. Le disque dur
a donc avantage à être rapide pour éviter que ces opérations de swap ne ralentissent de trop le
fonctionnement du PC.

Mécanisme interne
Le boîtier du disque dur est scellé pour empêcher son ouverture. Le mécanisme qu’il contient
est tellement précis que la moindre poussière y est intolérable.
A l’intérieur, un empilement de quelques plateaux tourne à une vitesse constante qui va
actuellement de 7 200 à 15 000 tours par minute. Ces plateaux sont faits de matériaux rigides
et sont recouverts d’une fine pellicule magnétisable.
Des bras portent à leur extrémité des têtes de lecture/écritures qui effleurent les surfaces des
plateaux. Ces bras sont fixés sur un même axe et sont solidaires. Ils se déplacent
simultanément en donnant aux têtes un déplacement radial. Ce mouvement combiné à celui
de la rotation des disques permet d’accéder à l’ensemble de leurs surfaces.
Un flux d’air provoqué par la rotation des disques maintient les têtes de lectures à moins de
quelques dixièmes de microns de la surface des plateaux. A titre de comparaison, un grain de
poussière de fumée de cigarette ou l’épaisseur d’une empreinte digitale fait 0,6 μm ; de quoi
provoquer un « crash » des têtes de lecture/écriture ! A l’arrêt les têtes se déposent sur une
piste particulière qui ne contient pas de données, c’est la piste d’atterrissage (land-zone).

Organisation physique de la surface des disques


Le revêtement des plateaux est subdivisé en pistes concentriques numérotées depuis
l’extérieur vers le centre. La première piste à la périphérie porte le numéro 0.
Les pistes des différents plateaux, situées à la verticale les unes des autres portent donc les
mêmes numéros et forment ce qu’on appelle des cylindres. Les données situées sur un même
cylindre, même si elles sont réparties sur plusieurs plateaux peuvent être lues sans déplacer les
têtes.
Les pistes sont divisées en secteurs capables de stocker 512 octets de données chacun. Ces
512 octets sont précédés de quelques bytes d’en-tête ( header) inscrits lors du formatage de
bas niveau pour contenir quelques informations de contrôle. Les bytes de données sont suivis
d’une zone de fin de secteur contenant les codes ECC (Error Correcting Code) servant à
vérifier la validité des données enregistrées.
Le formatage de bas niveau ( Low-level format) aussi appelé formatage physique est
réalisé en usine. Il dispose les pistes et les secteurs à la surface des disques. Ce marquage est
fait une fois pour toutes contrairement au formatage de haut niveau ( High-level format) qui
est effectué quand le disque est installé dans le PC pour y établir un système de fichier.
Les disquettes elles aussi sont formatées mais les formatages de bas niveau et de haut niveau
sont faits simultanément. La commande FORMAT effectue un formatage de bas niveau
lorsque
la disquette est formatée pour la première fois.

L’adressage CHS
Anciennement, chaque piste comportait un nombre identique de secteurs. La densité
d’enregistrement était maximale vers le centre mais plus faible vers l’extérieur, là où les pistes
sont plus longues.
Le nombre de cylindres, de têtes et de secteurs forment ce qu’on appelle la géométrie du
disque. Ces paramètres notés « CHS » ( Cylinder- Head – Sector / Cylindre – tête – secteur)
sont généralement indiqués sur le couvercle du boîtier.
Voici par exemple ce qui est indiqué sur l’étiquette du disque de la photo précédente :

Le nombre de secteurs s'obtient "théoriquement" en multipliant entre eux les trois paramètres.
Ce nombre de secteurs multiplié par 512 donne en principe la capacité totale du disque.
En principe, car les paramètres CHS ont des valeurs maximales : 1023 cylindres, 255 têtes et
63 secteurs
En multipliant toutes ces valeurs entre elles on obtient une capacité maximum de 8 Go. C'est
une limite du mode CHS.
Ainsi, le disque de notre exemple a une capacité de 20,4 GB.
En calculant le nombre de secteurs 16.383 x 16 x 63 on trouve 16.514.064 Ce résultat est
différent des 39.851.760 secteurs annoncés sur la même étiquette !
Par contre 16.383 x 16 x 63 x 512 = 8.455.200.768 , on retrouve la limite des 8 Go du mode
CHS. Par contre 39.851.760 * 512 = 20,4 109 ce qui correspond bien aux 20,4 GB annoncés.
L’enregistrement par zones
La photo ci-dessus du disque ouvert nous montre que le disque n’a que deux plateaux. Le
nombre de têtes est de quatre au maximum (une sur chacune des faces des deux plateaux) et
pourtant l’étiquette indique qu’il y a 16 têtes. Pourquoi ?

Anciennement le nombre de
secteurs était fixe

Actuellement le nombre de
secteurs varie par zones

Actuellement, la quasi-totalité des disques IDE et SCSI utilise un formatage physique qui
divise le disque en zones. Toutes les pistes d’une même zone comportent un même nombre de
secteurs mais le nombre de secteurs augmente progressivement en se déplaçant depuis les
zones du centre vers celles de la périphérie. Le nombre total de secteurs enregistrables est
ainsi plus important.
Le BIOS du PC adresse les secteurs comme s’il n’y avait qu’un nombre fixe de secteurs par
piste. Le contrôleur intégré converti les numéros de cylindres, de têtes et de secteurs
physiques en une géométrie virtuelle qui correspond aux valeurs indiquées sur l’étiquette.

Le mode LBA
Pour les disques plus gros que 8 Go il ne suffit plus de leurrer le BIOS ou le système
d’exploitation en leur fournissant des paramètres CHS virtuels. On utilise alors l’adressage
LBA (Logical Bloc Addressing). Tous les secteurs sont numérotés à parti de 0 jusqu’au
nombre total de secteurs adressables. L’adressage se fait alors tout simplement en indiquant le
numéro du secteur à lire.
La partition du disque
Un disque dur peut contenir une ou plusieurs partitions. Une partition est une suite de
cylindres consécutifs pouvant être considérée comme un volume indépendant des autres
partitions du disque.
On partage un disque en plusieurs partitions soit pour y installer plusieurs systèmes
d’exploitation en « dual boot » soit pour diviser un disque volumineux en unités distinctes
afin d’en organiser plus facilement son contenu. Sur un PC qui ne possède qu’un seul disque
dur, il est par exemple souhaitable de créer deux partitions : une partition pour le système
d’exploitation et les programmes, l’autre pour les données.
Les disques durs contiennent une table de partition qui accepte quatre entrées. Il y a donc au
maximum quatre partitions physiques. Les partitions physiques sont de deux types : partitions
principales (ou primaires) et partitions étendues.
- Une partition principale peut être amorçable. Cela signifie que son premier secteur
peut recevoir le code pour lancer un système d’exploitation. Sous DOS ou Windows
cette partition doit être désignée comme « active »
- Une partition étendue est une partition apte à être partagée à son tour en d’autres
partitions dites « logiques » Il s’agit donc d’un artifice pour obtenir plus de partitions
que les quatre partitions physiques prévues initialement.
Il ne peut il y avoir qu’une seule partition étendue par disque.

FDISK est l’utilitaire qui permet d’installer une ou plusieurs partitions sur un disque dur.
Cette opération prépare le disque avant son formatage et est nécessaire même si le disque ne
doit contenir qu’une partition unique.
L’utilitaire FDISK existe en plusieurs versions. Depuis de Windows 95, FDISK teste la taille
du disque et pour les tailles supérieures à 512 Mo propose d’activer le support pour disque de
grande taille. En d’autres mots cela signifie qu’il va installer une FAT32 au lieu d’une
FAT16.

Vous aimerez peut-être aussi