Architecture Materielle Informatique Cenec
Architecture Materielle Informatique Cenec
Architecture Materielle Informatique Cenec
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
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.
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.
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.
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
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
Relais électromécanique
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.
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.
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 »
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.
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.
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.
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
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.
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.
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
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
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.
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
(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
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).
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.
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 plein additionneur
Addition de 3 bits
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")
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.
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.
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.
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).
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.