Académique Documents
Professionnel Documents
Culture Documents
STS IRIS
ARCHITECTURE MATERIELLE
DES SYSTEMES INFORMATIQUES
Partie 1
J-Cl. CABIANCA
Architecture matérielle des systèmes informatiques Jean-Claude CABIANCA
Chapitre 1
Introduction à l’architecture des systèmes informatiques
1 - Introduction
• Un système informatique est l'ensemble des moyens logiciels (Software) et matériels
(Hardware) nécessaires pour satisfaire les besoins informatiques de l'utilisateur.
- Le FAX permet d'envoyer une image numérique par l’intermédiaire d'une ligne téléphonique.
- Le Digitaliseur (Scanner) permet de digitaliser des documents, c'est à dire de transformer une
image en une forme numérique.
2 – Les réseaux
• L'avènement des réseaux ( Networks ) a permis de relier différents ordinateurs. Ces
ordinateurs peuvent être soit groupés dans un voisinage, par exemple le même bâtiment, c’est ce
que l'on appelle un réseau local, soit dispersés de par le monde.
• La notion de réseau est importante car un réseau permet de relier un grand nombre d'ordinateurs
entre eux et ainsi d’offrir aux utilisateurs des fonctionnalités de communication et de mise à
disposition d'un énorme potentiel d'informations.
• Les fonctions de base d'un ordinateur sont réalisées au moyen de programmes système.
4 - Le matériel
4.1 - Introduction
• Les ordinateurs ont d'abord été des machines à calculer. En effet, les mathématiques
permettent entre autres choses, de définir une algèbre sur des grandeurs binaires (Algèbre de
Boole) avec des propriétés très intéressantes.
4.2 - Le processeur
• C'est l'organe de contrôle. Tout traitement (opération logique ou arithmétique) se fera dans le
processeur.
• Celui-ci manipule les octets (ensemble de 8 bits), qui circulent sur un ensemble de fils appelé
Bus de données. Ces mots circulent entre le processeur et les mémoires ou les interfaces
d'Entrées / Sorties (E / S).
• Le processeur considère que chaque octet est rangé dans un endroit qu’il peut repérer et
atteindre que nous appellerons provisoirement " Tiroir " dont le nombre de casiers correspond au
nombre de bits. Chaque tiroir sera connu du processeur par un numéro qui permettra de l'ouvrir,
lui et lui seul.
• On appelle ce numéro, l'adresse du tiroir et il sera véhiculé par le bus d'adresses dont la
largeur (son nombre de fils) dépendra du nombre d'adresses que le processeur pourra produire.
Remarques :
- Le bus de données est bidirectionnel : le processeur peut " remplir " (écrire dans) ou " vider "
(lire dans) tout tiroir.
- Le bus d'adresses est unidirectionnel : le processeur indique le numéro du tiroir qu'il veut
actionner.
- Un bus est caractérisé par sa largeur (nombre de bits) et par sa fréquence (vitesse) ce qui
permet d’obtenir son débit théorique (en Mo ou Go par seconde).
- Il existe aussi un bus de contrôle (parfois bus de commandes) qui transporte les ordres et les
signaux de synchronisation en provenance du processeur et à destination de l'ensemble des
composants matériels (mémoires et interfaces d'entrées-sorties).
• Puisque le processeur manipule des groupes de bits assemblés en mots, il faut déjà de la
mémoire pour le stockage des données. Mais pour exécuter ces manipulations de façon
automatique, le processeur doit recevoir des instructions correspondantes. Celles-ci seront, elles
aussi rangées dans de la mémoire lors de la programmation.
• Les différents éléments de la mémoire d’un ordinateur sont ordonnés en fonction des critères
suivants :
- le temps d’accès
- la capacité
- le coût par bit.
• Quand on s’éloigne du CPU vers les mémoires auxiliaires, on constate que le temps d’accès et
la capacité des mémoires augmentent, mais que le coût par bit diminue :
• Registres du CPU :
Ils sont caractérisés par une grande vitesse et servent principalement au stockage des opérandes
et des calculs intermédiaires.
Mémoire rapide de faible capacité (par rapport à la mémoire centrale) utilisée comme
mémoire tampon entre le CPU et la mémoire centrale. Cette mémoire permet au CPU de faire
moins d’accès à la mémoire centrale et ainsi de gagner du temps.
C’est l’organe principal de rangement des informations utilisées par le CPU. Pour exécuter un
programme, il faut le charger (instructions + données) en mémoire centrale.
Ordres de grandeurs :
Remarques :
• Les interfaces ou coupleurs d'E/S sont des éléments qui permettent de transférer des
informations entre l'unité de traitement et les unités périphériques.
• Les signaux utilisés par ces périphériques diffèrent sur de nombreuses caractéristiques : tension,
fréquence, etc . Il faut donc interfacer le monde des signaux numériques gérés par le processeur
avec ces périphériques en utilisant des composants ou des ensembles de composants
électroniques (coupleurs d’entrées-sorties).
- les unités périphériques qui permettent à l’ordinateur d’échanger des données avec
l’extérieur (écran, clavier imprimante, Modem...);
- les mémoires auxiliaires (disques, bandes, CD...), qui permettent de stocker de façon
permanente beaucoup d’informations à un moindre coût. On les appelle aussi mémoires de
masse.
5 – Le logiciel.
5.1 - Les couches d’un système informatique.
• Le système d’exploitation masque la couche matérielle, une application prévue pour être
exécutée sur tel système d’exploitation est ainsi indépendante du matériel.
Traitement de Logiciel de
texte
Tableur
dessin
Horloge etc ... Applications
Appels systèmes
Système d'exploitation
Pilotes de
Pilotes de périphériques (drivers) périphériques
(drivers)
µ-programme (BIOS)
Matériel
Carte
Disque Dur Mémoire etc ...
spécifique
Le Système d’Exploitation (Operating System) est la couche logicielle qui sert d’interface entre
les applications et le matériel, c’est à dire qu’il prend appui sur les circuits (la couche µ-
programmée) pour mettre à la disposition des programmes d’application, les possibilités du
matériel.
• La gestion des mémoires secondaires. Chaque utilisateur stocke des programmes et des
données dans des fichiers confiés au système.
5.3 – La Programmation.
Langages de programmation :
050100 AX ← AX + 0x0001
• Langages évolués : Pour faciliter encore la tâche des programmeurs, des langages encore plus
proches du langage naturel ont été inventés tels que : Basic, Fortran, Pascal, Ada, C, C++ et
Java pour les applications scientifiques, Java et php pour les applications internet et Cobol
pour les applications de gestion.
- Le chipset : circuit contrôlant et gérant les échanges entre processeur et les différentes
ressources ;
- La mémoire ;
Le processeur ou microprocesseur (CPU : Central Processing Unit) est l’élément principal d’un
ordinateur. Son rôle est d’exécuter les instructions d’un programme chargé en mémoire vive.
Sa principale caractéristique est la vitesse de son horloge (exprimée actuellement en Ghz) qui
permet de connaître le nombre de millions d’instructions exécutées par secondes (MIPS). A
chaque top d'horloge (et ce pour les instructions simples) le processeur :
- Exécute l'instruction (travail effectué par l’unité de traitement aussi appelée UAL – Unité
Arithmétique et Logique) ;
Afin d’accueillir le processeur, la carte mère possède un emplacement appelé Socket ou Slot.
Les processeurs peuvent être basés sur deux types d’architecture : CISC ou RISC.
- Les processeurs basés sur l'architecture CISC (Complex Instruction Set Computer) peuvent
traiter des instructions complexes. Elles sont cependant lentes à exécuter (un processeur basé
sur l'architecture CISC ne peut traiter qu'une instruction à la fois).
Remarques :
- Le développement actuel des deux leaders (AMD et Intel) est tourné vers les microprocesseurs
comportant plusieurs processeurs dans la même puce. Dual Core (deux processeurs dans la
même puce : bi-processeurs ou double cœur), Quad Core (quatre processeurs dans la même puce)
et Hexa Core (six processeurs dans la même puce).
- Deux microprocesseurs Hexa Core se partagent le monde des PC de bureau : l'Intel i7-980x et
l'AMD Phenom II X6, avec des vitesses dépassant 3 GHz pour des ordinateurs de bureau. Ces
microprocesseurs sont tous CISC (architecture x86).
6.3 – Le Chipset.
Le chipset est un « jeu de composants » installé sur la carte mère dont le rôle est de gérer et de
contrôler les différentes ressources de la machine.
- Le Southbridge est relié au processeur par le biais du Northbridge et gère le contrôleur IDE
(ATA) , les ports USB , parallèle, série, PS2 …
Architecture du chipset :
6.4 – La mémoire.
La mémoire vive, généralement appelée RAM (Random Access Memory), permet de stocker de
manière temporaire les données et les instructions lors de l'exécution d'un programme. Lorsque
l’ordinateur est éteint, toute les données contenues en RAM sont perdues.
On trouve actuellement de la RAM de type DDR d'une capacité de 2Go sur les ordinateurs de
bureau avec des vitesses de l'ordre de quelques centaines de Mhz.
La mémoire cache (également appelée antémémoire ou mémoire tampon) est une mémoire rapide
permettant de réduire les délais d'attente des informations stockées en mémoire vive, cette
dernière possédant une vitesse bien moins importante que celle du processeur.
Ce type de mémoire rapide est situé à proximité du (voire dans le) processeur et sa fonction est
de stocker temporairement les principales données devant être traitées par le processeur.
La mémoire cache la plus connue est la cache L2 ou cache de deuxième niveau. Elle vient
s'intercaler entre le processeur (avec son cache interne de premier niveau) et la mémoire vive. La
taille actuelle du cache L2 va de 512 Ko à quelques Mo.
Le cache L1 (premier niveau) est quant à lui situé directement dans le processeur, sa taille étant
de 2 fois 32 Ko sous core 2 d'Intel.
6.5 – Le BIOS.
Le BIOS (Basic Input/Output System) est la « couche logicielle » la « plus basse », servant
d’interface entre le système d’exploitation et les différents composants. Il est stocké dans la
ROM (Read Only Memory) principale de la carte mère et détermine les caractéristiques
matérielles de la machine.
Lorsque le système est mis sous-tension ou réamorcé (Reset), le BIOS fait l'inventaire du matériel
présent dans l'ordinateur et effectue un test (appelé POST, pour "Power-On Self Test") afin de
vérifier son bon fonctionnement.
La plupart des BIOS ont un « setup » (programme de configuration) qui permet de modifier la
configuration basique du système. Ce type d'information est stockée dans une mémoire auto
alimentée (à l'aide d'une pile) afin que l'information soit conservée même lorsque le système est
hors tension.
6.6.1 : Introduction
Un bus est composé d’un ensemble de lignes (fils) permettant de faire communiquer entre eux des
éléments matériels.
Il est caractérisé par sa largeur (nombre de bits pouvant transiter en même temps, en général un
multiple de 8) et par sa fréquence (vitesse à laquelle les données transitent) permettant de
déterminer son débit (en octets ou bits par seconde).
Le standard ATA-1, connu sous le nom de IDE, permet la connexion de deux périphériques
(disques durs) sur une nappe de 40 fils et propose une transmission 8 ou 16 bits avec un débit de
l'ordre de 8.3 Mo/s. Il a évolué vers le standard ATA-2, connu sous le nom de EIDE (parfois Fast
ATA, Fast ATA-2 ou Fast IDE), puis vers le standard ATA-4, ATA-5, ATA-6 (Ultra-DMA/100)
et ATA-7 (Ultra DMA/133 ) permettant d'atteindre des débits théoriques de 133 Mo/s.
Apparu en 1992, ce bus développé par Intel permet de relier la carte mère (par le biais du chipset)
à des cartes d’E/S pilotant des périphériques hétérogènes (contrairement au bus AGP qui est
dédié).
La version PCI-X 2.0 permet actuellement d'atteindre une fréquence de 533 Mhz sur 64 bits ce qui
donne une bande passante de 4256 Mo/s.
Le BUS PCI Express peut fournir des débits allant de 250 Mo/s à 8 Go/s ce qui le désigne comme
le successeur à cours terme du bus AGP pour l'interconnexion des cartes d'extension graphiques.
Le standard Serial ATA (S-ATA ou SATA) est un bus standard permettant la connexion de
périphériques de stockage haut débit (disques dur, lecteur DVD, ...) sur les ordinateurs de type
PC. Il tend à remplacer l'interface parallèle ATA (IDE).
Connecteur :
Dans sa version 1, il permet d'obtenir un débit utile théorique de 150 Mo/s (1,2 Gb/s). Dans sa
version 2, il permet d'obtenir un débit de 3 Gb/s (375 Mo/s). La version 3, permettra d'obtenir un
débit de 6 Gb/s.
D'autre part, la norme Serial ATA permet le raccordement à chaud des périphériques (Hot Plug)
et dispense la définition de périphériques maîtres ou esclaves (comme il fallait le faire avec l'IDE).
Les disques dur SATA ont actuellement des capacités de 500 Go en moyenne.
Une interface appelée eSata (pour external SATA) permet de raccorder via SATA des périphériques
de stockages externes.
Remarques :
- il existe aussi un bus de connexion de disques dur appelé SCSI (Small Computer System
Interface).
Un port série permet l’envoi de données sur une seule ligne. Les bits composant l’information à
envoyer sont émis les uns à la suite des autres sur cette dernière. Les ports série sont intégrés à la
carte mère et reliés à cette dernière par une nappe.
Sur les PC de bureau ces interfaces ont disparu, au profit des interfaces USB.
Contrairement à un port série, un port parallèle permet d’envoyer 8 bits simultanément. Les
technologies parallèles ont évolué vers des ports comme l’EPC (Enhanced Capabilities Port) qui
ajoute un support Plug and Play.
Les connecteurs associés sont généralement de type DB25 :
L'interface USB (Universal Serial Bus) est basée sur une architecture de type série tout en ayant
une vitesse plus rapide (USB 2.0 : 480 Mb/s ou 60 Mo/s et USB 3.0 : prévu à 4,8 Gb/s).
La caractéristique principale de cette norme est qu’elle permet de connecter plusieurs types de
périphériques (jusqu’à 127) par le biais de hubs USB. Le partage du bus entre tous les
périphériques se fait de manière temporelle (polling effectué par le contrôleur de bus localisé dans
le chipset).
Les ports USB supportent le Hot PNP qui permet de connecter de nouveaux périphériques sans
éteindre l’ordinateur.
Le bus FireWire (IEEE 1394) est une interface permettant de connecter des périphériques rapide
(débit de 400 Mbit/s pour le Firewire 1394a). Sa structure est proche de celle du bus USB.
La norme Firewire 2 (IEEE 1394b) ou Firewire Gigabit propose un débit de 3200 Mbit/s.
Données
réparties
Chapitre 2
Représentation des informations
1 . Introduction - définitions
• Les informations traitées par un ordinateur sont de différents types mais elles sont toujours
représentées, à la base sous forme numérique.
Rang du bit 7 6 5 4 3 2 1 0
Octet 1 0 0 1 1 1 0 1
- Le bit situé à l’extrémité de droite est le bit de plus faible poids donc le moins significatif :
LSB ( Least Significant Bit ).
- Le bit situé à l’extrémité de gauche est le bit de plus fort poids donc le plus significatif : MSB
( Most Significant Bit ).
• Un mot de 4 bits est appelé un digit ( quartet ) et permet de définir 2 4 = 16 valeurs numériques
différentes qui constituent le système hexadécimal ( base 16 ).
- Les instructions : Ecrites en langage machine, les instructions représentent les opérations
effectuées par un ordinateur ( une addition par exemple ).
- Les données : Les données sont les opérandes sur lesquels portent les opérations, ou le
résultat de celles-ci.
Tout nombre entier positif ou nul peut être représenté par une expression de la forme :
Exemple :
( 25031 )10 =
• Binaire Décimal :
( 10101 )2 =
• Décimal Binaire :
25 2
2
2
2
( 25 )10 =
• Binaire Hexadécimal :
( 11 1100 1111 )2 =
• Hexadécimal Binaire
( 5 AE )16 =
+1 =
–1 =
Inconvénients :
+ 0 = 00....000
– 0 = 10....000
L'addition et la soustraction sont compliquées car le bit de signe doit être traité à part.
On remplace, pour les valeurs négatives, chaque bit à 0 par un 1 et chaque bit à 1 par un 0.
+6 = 0 1 1 0
–6 =
+6 = 0110
C1 (+ 6) =
+1 =
–6 =
-6 +6
+1 -1
-8 x x x 1000
SM e M
SM : Signe de la mantisse.
e : Exposant biaisé (décalé) e = E + Biais. Il permet de représenter des nombres très petits
(exposant négatif). Le Biais est la constante ajoutée à l’exposant de manière à ce que les
exposants soient non négatifs.
Exposant biaisé :
Remarque : Les deux valeurs extrêmes du champ exposant sont réservées pour des cas particuliers:
• 00…00 : pour les nombres non normalisés (0≤X<1)
• 11..11 : pour infini (positif et négatif) et NaN (not a number)
Mantisse :
La mantisse M est un nombre purement fractionnaire (n’ayant pas de chiffre significatif après la
virgule). Celle–ci est normalisée, c’est à dire qu’elle comporte le maximum de chiffres significatifs :
(0,0)2 ≤ |M| < (1)2 soit (0,0)10 ≤ |M| < (1)10
Exemple : Quel est le nombre décimal correspondant à l’octet : ( 1110 1100 )2 dans le cas suivant ?
1 bit de signe ( + ⇔ 0 et – ⇔ 1 )
3 bits pour l'exposant
4 bits pour la mantisse
B=2
Signe :
Mantisse :
Biais :
Exposant Biaisé :
Exposant Réel :
Nombre décimal :
Le standard IEEE définit trois formats de représentation des nombres en virgule flottante :
• Le codage des données (chiffres, lettres, symboles…) se fait par une table de correspondance,
propre à chaque code utilisé. Parmi les plus connus, on peut citer les codes suivant :
BCD ( Binary Coded Décimal ) : Un chiffre peut être codé en utilisant les dix premières
valeurs numériques du code binaire pur, sur 4 ou 6 bits.
ASCII ( Américan Standard Code for Information Interchange ) : Codage sur 7 bits
pour l'ASCII standard (annexe page 12) et 8 bits pour l'ASCII étendu.
EBCDIC ( Extended Binary Coded Décimal Internal Code ) : Codage sur 8 bits et
utilisé principalement par IBM.
UNICODE ( ISO 10646 ) : Il permet de coder le plus grand nombre possible de symboles
en usage dans le monde et se présente sous deux formes : une forme 31 bits (UCS-4) et
une forme 16 bits (UCS-2). Le codage débute par les caractères du code ASCII pour
assurer la compatibilité avec l’existant, puis viennent les autres codes comme le
Cyrillique, l’arabe, etc.
4 . Récapitulatif
INFORMATIONS
INSTRUCTIONS DONNEES
Code Opérandes
Opération
Nombres fractionnaires
Exemple :
Le caractère 'A' est codé par la valeur binaire (100 0001)2 , par la valeur hexadécimale (41)16 et par
la valeur décimale (65)10.
Chapitre 3
La Programmation
1 . Introduction
• Une étape d’analyse (ou spécifications) qui permet d'exprimer les besoins auxquels doit
satisfaire une application, avec description de l’environnement, modélisation des données et
des fonctions sans considération informatique. C’est le « quoi faire ».
• Une étape de tests et de mise au point pour vérifier que l‘application finale correspond aux
spécifications de départ.
• Il existe en fait des systèmes de développement qui regroupe tous les outils en un seul
logiciel (EDI : Environnement de Développement Intégré ou IDE en anglais pour Integrated
Development Environment) très pratique pour le programmeur.
• L’ensemble des activités d’un projet informatique (développement, conduite de projet, gestion
de la qualité) doivent être organisées dans le temps, de façon à permettre leur planification et
leur suivi. Cette organisation porte le nom de cycle de développement.
• Les cycles de développement sont variés, on retiendra les plus courants ( cycle en V et cycle
en Y ) représentés ci après.
• Un cycle en Y est construit sur le langage de modélisation UML. Il est itératif, centré sur
l’architecture, conduit par les cas d’utilisation et piloté par les risques. Le fondement de ce
cycle consiste à décomposer et à traiter parallèlement l’axe fonctionnel et l’axe technique.
A l’issue du processus de décomposition, la réalisation du système consiste à fusionner les
résultats des deux branches. Ce cycle de vie est bien adapté pour une approche de
développement objet.
• Le processeur ne connaît que le langage machine (des 0 et des 1) et ce fut au début le seul
moyen de programmer un ordinateur.
• Le langage d’assemblage propose des noms (abrégés) des opérations appelés mnémoniques.
L’assembleur est chargé de convertir ces mnémoniques en langage machine. Ce langage est lié
au processeur utilisé.
• Puis sont apparus les langages évolués plus faciles à utiliser et plus indépendants de la machine
utilisée :
• Fortran (FORmula TRANslator) : Le premier des langages évolués utilisé pour le calcul
scientifique, élaboré en 1956.
• Cobol (COmmon Business Oriented Language) : Le langage le plus utilisé pour les
applications de gestion.
• BASIC : Créé au début des années 60. Evolution vers Visual Basic.
• PASCAL : Conçu en 1969.
• SQL (1970) : pseudo-langage informatique (de type requête) standard et normalisé, destiné à
interroger ou manipuler une base de données relationnelle.
• C (1973) : Il a servi à l’écriture du noyau UNIX. Evolution vers le C++ orientée objet,
première normalisation en 1998 .
• SmallTalk (1971) : Premier langage objet que l’on retrouve maintenant avec les langages
C++ et Java.
• PHP (1994) : Langage de programmation web. Son principal atout est de pouvoir
communiquer avec des systèmes de gestion de bases de données tels que MySQL.
• Java (1995) : Java est une technologie composée d'un langage de programmation orienté
objet et d'un environnement d'exécution.
• C# : Le C# (prononcé si sharp) est un langage de programmation orienté objet proche de
Java à typage fort, créé par la société Microsoft.
• Etc..
Remarques :
– Dans un langage compilé, le compilateur traduit une bonne fois pour toute un code source
en un fichier indépendant exécutable (donc utilisant du code machine ou du code
d'assemblage).
Editeur de texte
programme source
Traducteur : assembleur
ou compilateur
programme objet
librairies sous-programmes
Editeurs de liens
programme exécutable
Chargeur
programme exécutable
Exécution
• Editeur de texte : Logiciel interactif qui permet de saisir du texte à partir d’un clavier et de le
stocker dans un fichier. Les informations contenues dans le fichier sont des caractères. L’éditeur
de texte permet de créer le programme source.
• Chargeur : Le programme obtenu après édition de liens, doit encore être chargé en mémoire
centrale afin d’être exécuté. Le chargeur (Loader) s’occupe de cette tâche.
Remarques :
Cette technique consiste à compiler un exécutable pour une architecture cible à partir d'un
compilateur lancée depuis une architecture source différente. Le transfert du programme
exécutable vers la machine cible est coûteux en temps dans les premières phases de développement.
Chapitre 4
Le Processeur
1 . Introduction
• Le premier microprocesseur (Intel 4004) a été inventé en 1971. Il s’agissait d’une unité de
calcul de 4 bits cadencé à 108 hHz. Depuis, la puissance des processeurs augmente
exponentiellement.
• Le processeur comporte une horloge interne et à chaque top d’horloge (cycle) le processeur
exécute une action correspondant à une instruction ou une partie d’instruction.
• La puissance du processeur peut ainsi être caractérisée par le nombre d’instructions qu’il est
capable de traiter par seconde. L’unité utilisée est le MIPS (Millions d’Instructions Par
Seconde).
• Une instruction comporte toujours un code opératoire qui définit la nature de l’opération à
effectuer et très souvent des données qui portent le nom d’opérandes.
• Les données sont traitées par l’unité de traitement aussi appelée Unité Arithmétique et
Logique (ALU : Arithmetic and Logic Unit) alors que les instructions sont analysées par
l’unité de commande (CU : Control Unit).
• Exécuter un programme revient donc à aller chercher dans la mémoire les instructions et à
les traiter en séquences.
• Etape 3 (Execute) : Le processeur exécute l’instruction. Par exemple pour réaliser une
addition, il utilisera l’unité arithmétique et logique (UAL).
• Etape 4 (Write Back) : Cette dernière étape consiste à écrire le résultat soit par la
modification d’un registre interne ou alors par l’écriture du résultat en mémoire. Le
processeur peut maintenant démarrer un autre cycle de recherche du code opératoire (fetch).
L’Unité de commande séquence les instructions en recherchant ces dernières dans la mémoire, en
les décodant puis les exécutant pour enfin préparer l’instruction suivante.
Le SP (Pointeur de pile) :
La pile est un espace de la mémoire réservé aux données lors de l’exécution d’un programme. Ce
registre contient l’adresse en cours du pointeur de pile afin de localiser la dernière donnée
stockée. Cette donnée peut être une variable, une adresse, …
Registre d'instruction :
Registre index :
Contient une adresse dans le cas où le mode d’adressage indexé est utilisé.
Ce registre joue le rôle de tampon entre le processeur et le bus d’adresses. Il contient l’adresse en
cours de traitement.
Buffer de données :
Ce registre joue le rôle de tampon entre le processeur et le bus de données. Il contient la donnée à
lire ou à écrire en fonction de l’instruction en cours.
L’ALU assure :
L’accumulateur :
Il contient des informations sous forme de bits qui renseignent sur le résultat d’une opération
effectuée par l’UAL. Les indicateurs (bits du registre d’état) les plus répandus sont :
Remarques :
La majeure partie des instructions conditionnelles (et donc de branchement) sont assujetties au
contenu du registre d'état.
Par exemple, lors d’une comparaison à 0 il suffit de tester la valeur du bit Z du registre d’état.
• Ces deux constructeurs utilisent 2 manières (endian) différentes pour stocker les données en
mémoire. Big Endian (poids fort puis poids faible) pour Motorola et Little Endian (poids
faible puis poids fort) pour Intel.
• Pipeline : Une première idée est d’introduire une notion de parallélisme dans le travail des
unités. L’idée est de faire travailler les unités en parallèle, chacune traitant une instruction
différente. Le gain obtenu dépend de la profondeur du pipeline c’est à dire du nombres d’étages.
• Architecture RISC (Reduced Instruction Set Computer) : Une deuxième idée est de réduire le
fossé sémantique existant entre les langages de haut niveau et le langage machine. En réduisant
le jeu d’instructions on simplifiait le décodage , cette idée de simplification dans l’architecture
pour une meilleure efficacité a donné son nom à l’architecture RISC (Reduced Instruction Set
Computer). Il s’agit de supprimer les instructions qui sont trop peu utilisées et chaque
instruction doit s’exécuter en une seule période d’horloge.
• Architecture VLIW (Very Long Instruction Word) : Elle est basée sur deux concepts, la
microprogrammation horizontale (une instruction est transformée en une suite de micro
instructions) et le traitement superscalaire (parallélisme).
• Le développement actuel des deux leaders (AMD et Intel) est tourné vers les microprocesseurs
comportant plusieurs processeurs dans la même puce. Dual Core (deux processeurs dans la
même puce : bi-processeurs ou double cœur), Quad Core (quatre processeurs dans la même
puce) et Hexa Core (six processeurs dans la même puce).
• Deux microprocesseurs Hexa Core se partagent le monde des PC de bureau : l'Intel i7-980x et
l'AMD Phenom II X6, avec des vitesses dépassant 3 GHz pour des ordinateurs de bureau. Ces
microprocesseurs sont tous CISC (architecture x86).
• Un comparatif plus récent publié le 25 Mars 2010, réalisé par Hardware.fr est consultable à
l'adresse http://www.hardware.fr/art/lire/778/. Le processeur hexa-core de Intel Core i7-980X
arrive en tête.
Comme le montre la figure suivante, le résultat est sans appel, les processeurs Intel sont légèrement
moins chers que les modèles AMD à performances équivalentes, et sont de plus moins gourmands
en consommation.
Chapitre 5
Les mémoires
- La mémoire vive ( RAM pour Random Access Memory) est un espace permettant de stocker les
instructions et les données de manière temporaire lors de l’exécution d’un programme.
- La mémoire morte (ROM pour Read Only Memory) permet contrairement à la RAM de
conserver les informations lorsqu’elle n’est plus alimentée. Le contenu de certaines ROM peut
être effacé pour être « reprogrammé ».
- Capacité ou taille d’une mémoire : Elle correspond au nombre d’informations qu’elle peut
contenir; elle est exprimée généralement en fonction du nombre d’octets.
- Temps d’accès : C’est le temps qui s’écoule entre le lancement d’une opération d’accès (lecture
ou écriture) et son accomplissement.
- Volatilité : Elle caractérise la permanence des informations dans une mémoire après coupure de
l’alimentation électrique par exemple.
3 - Mémoires vives
- Une mémoire vive ou RAM (Random Access Memory) est une mémoire à accès aléatoire ; le
temps d’accès est indépendant du numéro de la cellule adressée. Elles sont appelées mémoires vives
car elles permettent des opérations de lecture et d’écriture. Elles sont volatiles.
- Mémoires vives dynamiques : Ces mémoires sont réalisées en technologie MOS. Un point
mémoire est constitué d’un transistor MOS couplé à un condensateur.
Les avantages des DRAM sont d’avoir une fabrication simple, une densité d’intégration grande et
un coût par bit relativement faible pour un temps d’accès de quelques ns.
Certaines mémoires permettent de contrôler la validité des données lues ou écrites. Deux moyens
de contrôle existent :
Le contrôle par parité : un bit de parité est stocké dans la mémoire. Ce bit est égal à 0 lorsque la
somme des bits de la donnée lue ou écrite est impaire (à 1 sinon). Il n’y a cependant aucune
correction possible.
La correction par ECC (Error Correction Coding) : plusieurs bits dans la mémoire sont alors
dédiés à la correction d’erreur.
L’ensemble des connecteurs d’une barrette de mémoire constitue son bus par lequel passent les
fils d’adresses, de données, de commande, le signal d’horloge ainsi que l’alimentation de la
mémoire.
• Il existe de nombreux formats de barrette de mémoire vive enfichable sur la carte mère :
- Les barrettes au format SIMM (Single Inline Memory Module) : une seule face possède les
circuits intégrés. On pouvait trouver des SIMM à 30 ou 72 connecteurs :
- Les barrettes au format DIMM (Dual Inline Memory Module) : les deux faces sont exploitées
pour accueillir les circuits intégrés de cette mémoire 64 bits. C’est le format standard actuel. Il
existe en outre des modules de plus petite taille, appelés SO DIMM (Small Outline DIMM),
destinés aux ordinateurs portables.
- Les barrettes au format RIMM (Rambus Inline Memory Module, appelées également RD-RAM
ou DRD-RAM) sont des mémoires 64 bits développée par la société Rambus. Compte tenu de leur
vitesse de transfert élevée, les barrettes RIMM possèdent un film thermique chargé d'améliorer la
dissipation de la chaleur.
Comme dans le cas des DIMM, il existe des modules de plus petite taille, appelés SO RIMM
(Small Outline RIMM), destinés aux ordinateurs portables.
Les DRAM PM
Première des RAM Dynamique, leurs temps d’accès avoisinait les 60 ns. Dans la version EDO, le
support de prédilection était la SIMM 72 broches.
SDRAM
La SDRAM (Synchronous DRAM) marque une évolution car contrairement à la DRAM, son
horloge est synchronisée avec la carte mère : les temps d’attente dus à la synchronisation avec
la carte mère disparaissent.
Le temps d’accès est de 10 ns.
DR-SDRAM
La DR-SDRAM (Direct Rambus DRAM ou encore RDRAM) est un type de mémoire permettant de
transférer les données sur un bus de 16 bits de largeur à une cadence de 800Mhz, ce qui lui confère
une bande passante de 1,6 Go/s.
Comme la SDRAM, ce type de mémoire est synchronisé avec l'horloge du bus pour améliorer les
échanges de données. En contrepartie, la mémoire RAMBUS est une technologie propriétaire, ce
qui signifie que toute entreprise désirant construire des barrettes de RAM selon cette technologie
doit reverser des droits (royalties) aux sociétés RAMBUS et Intel.
DDR-SDRAM
A l’heure actuelle , la Double Data Rate SDRAM est le standard dans sa version 2 (DDR2 ou
DDR-II) et version 3 (DDR3 ou DDR-III).
Les mémoires DDR possèdent généralement une appellation commerciale du type PC-XXXX où
«XXXX» représente le débit en Mo/s. Le tableau ci-dessous donne la correspondance entre la
fréquence de la mémoire (RAM) et son débit théorique :
Exemple :
DDR2-800 signifie que la fréquence externe de cette mémoire est de 800MHz (200MHz de
fréquence interne : FSB).
En partant du principe que l'on transmet 64 bits (8 octets) à chaque cycle d'horloge externe, son
débit théorique est de 800*8 = 6,4 Go/s. C'est pour cela qu'elle est aussi appelée PC2-6400.
Mémoires vives statiques : Ces mémoires sont réalisées en technologie bipolaire ou MOS.
Chaque point mémoire (bascule) nécessite en principe quatre ou six transistors.
Leur capacité est faible mais leur temps d’accès est très faible : de l’ordre de la nanoseconde.
Leur coût est 10 fois plus élevé que celui des DRAM.
4 - Mémoires mortes
4. 1 - Généralités
La mémoire morte, appelée ROM (Read Only Memory) est un type de mémoire permettant de
conserver les informations même lorsque l’ordinateur est éteint.
C’est notamment en ROM que sont conservées les données nécessaires au démarrage de
l'ordinateur (BIOS, chargeur d’amorce, Le Setup CMOS, Le Power-On Self Test : POST ).
Mémoire morte programmable une seule fois par l’utilisateur, et de manière irréversible, en
faisant fondre ou non des fusibles électroniques implantés dans la puce en silicium.
Le principe est le même que celui des PROM, mais elles offrent en plus la possibilité de pouvoir
être effacées plusieurs fois.
Le fusible est remplacé par un transistor à grille flottante (FAMOS) qui est susceptible d’être
rendu conducteur après application d’une impulsion de tension, puis d’être rendu à nouveau isolant
lorsqu’il est exposé un certain temps à un rayonnement ultraviolet.
Le circuit intégré est pourvu d’une fenêtre transparente qui permet aux rayons ultraviolets
d’atteindre la puce.
Ces mémoires programmables électriquement comme les EPROM sont de plus effaçables
électriquement. Cependant l’opération peut être sélective et ne porter que sur un seul mot
(EAPROM).
La programmation est réalisée en appliquant une tension de 25V, pendant 100 ms sur la broche de
programmation du circuit.
4. 6 - Mémoires FLASH
Les mémoires FLASH sont des mémoires à lecture et écriture d’accès aléatoire comme les RAM,
mais non volatiles.
Le temps d’accès est de quelques dizaines de nanosecondes en lecture, mais plus long en écriture,
et leur capacité de plusieurs mégaoctets.
Elles sont utilisées pour stocker le BIOS des ordinateurs récents, de modems, permettant ainsi une
mise à jour sans modification matérielle, pour réaliser des disques durs statiques ou mémoriser des
images d’appareils photos numériques.
5. 1 – Définitions
Il n'est pas rare de voir des notations du type 3-2-2-2 ou 2-3-3-2 pour décrire le paramétrage de la
mémoire vive. Cette suite de quatre chiffres décrit la synchronisation de la mémoire (en anglais
timing), c'est-à-dire la succession de cycles d'horloge nécessaires pour accéder à une donnée stockée
en mémoire vive.
Ces quatre chiffres correspondent généralement, dans l'ordre, aux valeurs suivantes :
CAS Delay ou CAS Latency (CAS signifiant Column Adress Strobe) ou Tcl : Il s'agit du nombre
de cycles d'horloge s'écoulant entre la réception du signal CAS (adressage d'une colonne) et la mise
à disposition de la donnée dans le buffer de sortie. Autrement dit, il s'agit du temps d'accès à une
colonne.
tRP (Row adress strobe Precharge Time) : Il s'agit du nombre de cycles d'horloge s'écoulant entre
deux instructions RAS, c'est à dire entre deux accès à une ligne.
tRCD (Row to Column Delay) ou RAS to CAS Delay : Il s'agit du nombre de cycles d'horloge
correspondant au temps d'accès d'une ligne à une colonne.
tRAS (RAS Active Time) : Il s'agit du nombre de cycles d'horloge correspondant au temps d'accès
à une ligne.
Les cartes mémoires sont équipées d'un dispositif appelé SPD (Serial Presence Detect), permettant
au BIOS de connaître les valeurs nominales de réglage définies par le fabricant. Il s'agit d'une
EEPROM dont les données seront chargées par le BIOS si l'utilisateur choisi le réglage « auto ».
Exemples :
6. 1 – Introduction
Lorsque l'on travaille sur des processeurs simples ou des micro contrôleurs, on gère la mémoire
de façon primaire. Autrement dit, lorsque le programmeur écrit une application, il gère lui-même
les adresses utilisées en RAM par son code et par les les données manipulées par ce code.
Sur une architecture avancée de type Intel, par exemple (mais aussi PowerPC ou autre), la gestion
de la mémoire est dite "virtuelle". Le programmeur travaille avec des adresses logiques,
théoriques, qui n'ont aucune relation directe avec les adresses physiques, celles où la RAM est
implémentée. Comme il faut bien tout de même qu'au bout du compte le programme s'appuie sur
des adresses physiques, un mécanisme de traduction d'adresse est mis en place.
La fonction qui a pour rôle de traduire les adresses logiques en adresses physiques s'appelle la
MMU (Master Memory Unit). Cette fonction, est implémentée dans le boîtier du processeur.
D'un point de vue logique (pas d'un point de vue physique), la mémoire est divisée en segments
de 64 Ko. Ceci permet d'affecter une zone mémoire à une fonction particulière (programmes,
données, pile, ...), de limiter la longueur des instructions et de n'avoir à manipuler que des adresses
sur 16 bits.
Un segment peut s'implanter n'importe où en mémoire mais l'adresse de base du segment doit être
visible par 16 c'est à dire de la forme XXXX0.
Chapitre 6
Décodage d’adresses
Le microprocesseur doit pouvoir communiquer via un bus avec la mémoire et les différents
coupleurs d’entrées/ sorties.
Pour ce faire, le microprocesseur doit présenter une adresse sur le bus d’adresses afin qu’un
seul circuit soit sélectionné.
Chaque circuit possède une entrée CS (Chip Select) souvent active à l’état bas : le circuit est alors
sélectionné.
Schéma général :
Dans une architecture d’adressage, de manière générale, une partie du bus d‘adresses (les
adresses hautes) est utilisée pour sélectionner l’espace d’adressage du circuit (génération d’un
chip select) via la logique d’adressage (logique câblée où circuit dédié).
L’autre partie du bus (les adresses basses) est envoyée directement sur le circuit afin de
sélectionner une adresse dans la zone mémoire attribuée à ce dernier.
Un plan mémoire sera associé à chaque carte CPU afin de visualiser la répartition générale des
adresses (adresse de début et de fin de zones) ainsi que les entités ou circuits associés à chaque
espace adressable.
Soit un processeur disposant d’un bus de données de 8 bits et d’un bus d’adresses de 16 bits.
Ce processeur doit dialoguer avec deux boîtiers mémoires (RAM et ROM) de capacité 1 Ko (210
octets = 1024 octets) comme le montre le schéma ci-dessous :
Comme chaque boîtier mémoire dispose d’une capacité de 1 Ko (210 octets = 1024 octets), il est
nécessaire de disposer de 10 lignes d’adresses pour accéder à l’ensemble des octets de chaque
boîtier mémoire.
Lorsque le microprocesseur positionne une valeur sur ses lignes d’adresse, les deux boîtiers
mémoires possèdent les mêmes valeurs sur leurs entrées A0 à A9 et il faut donc rajouter un système
supplémentaire pour éviter que les deux boîtiers ne répondent simultanément.
Généralement, cette fonction est configurable à l’aide de switchs qui permettent de choisir
l’emplacement dans l’espace adressable.
Dans notre cas, le processeur dispose de 16 lignes d’adresses donc il peut accéder à 64 Ko (216 =
2 * 26 octets = 64 * 210 octets = 64 Ko) de l’adresse 0x0000 à 0xFFFF.
10
Le montage le plus simple consiste utiliser la ligne A15 pour effectuer la sélection ROM-RAM.
Ce type de décodage, dit partiel, est très simple mais bien imparfait puisque les deux boîtiers de
capacité 1 Ko occupent chacun un espace mémoire de 32 Ko.
Si l’on veut que chacun des boîtiers précédents n’occupent qu’un seul Ko dans l’espace adressable,
il faut découper plus finement cet espace.
Par exemple :
Zone 1 :
Zone 2 :
Zone 3 :
Zone 4 :
Zone 5 :
3.1 – Démultiplexeur
Un démultiplexeur permet à une sortie parmi N de prendre la valeur d’une entrée, en fonction
d’un code de commande.
Si G1=G2=0, E0 sera recopiée sur S0. Si G2=0 et G0=1, E0 sera recopiée sur S1 etc ..
3.2 – Comparateur
Le comparateur est un circuit possédant deux mots de N bits en entrée. Une sortie est activée si
les deux mots sont égaux (bit à bit) ou pas.
PAL signifie Programmable Array Logic. Un circuit PAL permet de programmer des équations
logiques simples à base de OU, ET, NAND, … On remplace ainsi une série de circuits par un seul.
L’équation délivrée sera pour une sortie de la forme OUT = (E1.E2.E3) + (/E1.E6) + ….
Les équations sont programmées à l’aide d’un logiciel spécifique (logique programmable).
Chapitre 7
Introduction à la Gestion des Entrées-Sorties
1 . Introduction
• Les signaux utilisés par ces périphériques diffèrent sur de nombreuses caractéristiques : tension,
fréquence, etc . Il faut donc interfacer le monde des signaux numériques gérés par le
processeur avec ces périphériques en utilisant des composants ou des ensembles de composants
électroniques (coupleurs d’entrées-sorties).
• Ces coupleurs seront reliés par les différents bus (adresses, données et commande) au
processeur. Pour choisir un coupleur d’entrées-sorties parmi plusieurs, il faudra réaliser un
décodage d’adresses, chaque coupleur disposant d’une ou plusieurs adresses.
2.1 – La scrutation
Une autre méthode consiste à utiliser la technique des interruptions : une ligne
d’interruption va relier le coupleur et le processeur.
Avec une seule ligne d’interruption, le problème qui se pose pour le processeur est de
savoir qui a déclenché le signal d’interruption. Il suffit de rajouter un peu d’électronique
pour déterminer automatiquement l’auteur de la demande.
3 . Transfert d’informations
• On peut transférer plusieurs bits de façon simultanée sur plusieurs fils : c’est le mode de
transmission parallèle où un octet est transmis sur 8 fils.
• On peut aussi sérialiser l’information et transmettre un octet bit à bit sur un fil : c’est le
mode de transmission série.
• Un standard définit par le constructeur Centronics s’est finalement imposé qui utilise un
protocole de type poignée de main « handshake ».
• Un câble pour imprimante parallèle aura donc d’un coté (processeur) un connecteur DB25
mâle et de l’autre coté (imprimante) un connecteur type Centronics 36 broches mâle. Le
câble doit être court, 3 à 4 mètres maximum.
• L’échange des informations se fait suivant la procédure de " handshake " (poignée de main)
:
• Le transfert d’informations entre deux systèmes informatiques peut s’effectuer suivant trois
modes d’exploitation différents :
• Liaison Simplex : Les données sont transmises dans un seul sens ;
• Liaison Semi-Duplex (Half Duplex) : Les données sont transmises dans les deux sens
mais pas simultanément ;
• Liaison Duplex intégral (Full Duplex) : Les données peuvent être émises ou reçues
simultanément dans les deux sens ;
• Pour caractériser le débit binaire d’une ligne série, on parlera de vitesse de transmission que
l’on exprimera en bit/s ou en bauds.
• La transmission asynchrone :
• Les caractères sont émis de façon irrégulière, comme par exemple des caractères tapés
sur le clavier.
• Le caractère à transmettre (composé de 5 à 8 bits) est composé d’un bit de départ, d’un
ou plusieurs bits d’arrêt et en général d’un bit de parité.
• constitution d’une trame asynchrone :
• constitution d’une trame asynchrone lors de l’envoie du caractère «G» codé en ASCII ,
parité impaire, vitesse 9600 bauds :
1
0
Etat repos
1
0
Câble NULL-MODEM
On peut connecter deux PC par leur interface série. Si la distance est courte (quelques dizaines de
mètres), il n’est pas nécessaire d’utiliser un modem. On utilise alors un cable Null-Modem, qui
croise certains signaux comme le montre la figure suivante :
Lorsque les signaux de dialogues ne sont pas nécessaires, il suffit de croiser les signaux SIN et
SOUT, ce qui donne le cable Null Modem simplifié (3 fils) représenté sur la figure suivante :
4.1 – Introduction
• La mise en œuvre d'un coupleur parallèle par scrutation se fait en deux temps :
1. Configuration du coupleur :
- Configuration des modes de fonctionnement (Accès à CR);
- Configuration de la direction des transferts (entrées ou sorties) des données sur
chacun des ports (Accès à DDR).
2. Echanges :
- Lecture et Ecriture cycliques ou continues des ports d'entrées et de sorties (Accès à
DR).
Début
| Configuration des modes de fonctionnement (Accès à CR)
| Configuration de la direction des données (Accès à DDR)
| Faire Toujours ou Cycliquement
| | Lecture des Entrées (Accès à DR)
| | Ecriture des Sorties (Accès à DR)
| Fin Faire
Fin
• Pour ne prendre en compte que certains bits (isoler) parmi les 8 qui constituent un des ports du
coupleur parallèle, il est nécessaire de procéder à une opération de masquage.
• Le MASQUE comportera des bits à 1 en face des bits du port dont on veut tester l’état (ceux à
isoler) et des bits à 0 en face des autres.
Rang 7 6 5 4 3 2 1 0
DR x x x x x x x x
MASQUE 0 0 0 0 1 0 0 0
RES 0 0 0 0 x 0 0 0
• Si l’on veut affecter une sortie et une seule sans modifier les autres, il faudra aussi exécuter
une opération de masquage.
• Cette opération sera différente suivant que l’on veut mettre la sortie au niveau logique 1 ou au
niveau logique 0.
DR ← DR OU MASQUE
MASQUE = 0x04 = 22
Rang 7 6 5 4 3 2 1 0
DR (avant) x x x x x x x x
MASQUE 0 0 0 0 0 1 0 0
DR (après) x x x x x 1 x x
DR ← DR ET MASQUE
Rang 7 6 5 4 3 2 1 0
DR (avant) x x x x x x x x
MASQUE 0 0 0 1 0 0 0 0
/MASQUE 1 1 1 0 1 1 1 1
DR (après) x x x 0 x x x x
5.3 – Exemples
DEBUT
FIN
DEBUT
FIN
Les UART (Universal Asynchronous Receiver Transmitter) sont des coupleurs d’entrées-sorties
série asynchrone.
Ce type de circuit est « générique » dans le sens où l’on retrouvera toujours les mêmes
fonctionnalités, décrites par le schéma suivant :
Le flag de registre de réception plein (RXF). Le flag RXF est mis à 1 lorsque la donnée
reçue a été dé-sérialisée et qu’elle est stockée dans le registre de réception.
Le flag de registre d’émission vide (TXE). Le flag TXE est mis à 1 lorsque la donnée
contenue dans le registre d’émission a été complètement sérialisée et envoyée sur le
support physique.
Ces deux flags servent à connaître l’état des registres d’émission et de réception. On les utilise
donc pour coder les algorithmes de réception et d’émission de caractères.
DEBUT
FIN
DEBUT
FIN
Remarque : le traitement sur émission et réception peut se faire par scrutation mais il est
recommandé d’utiliser des interruptions associées aux flags TXE et RXF.
7.1 – Introduction
- Réseau R/2R;
- Réseau de résistances pondérées.
7-2-3-1 : La résolution :
7-2-3-2 : Le quantum q :
C’est l’incrément théorique de la tension de sortie correspondant à une variation de 1 bit en entrée
(LSB : Least significant bit).
C’est le temps qui sépare l’établissement du signal en sortie de la combinaison binaire qui le
produit.
Un bit peut être utilisé pour représenter le signe, le nombre binaire correspondant est codé en
complément à 2.
La conversion analogique numérique consiste à définir une loi de conversion inverse de la loi de
conversion numérique analogique.
Comme pour le CNA, le quantum q est l’écart de tension conduisant à l'incrémentation du nombre
en sortie. Mais pour les CAN, on utilise plutôt la résolution qui est le nombre d’incréments
possibles pour le nombre de bits n , c'est-à-dire 2n. On rencontre aussi parfois le terme « point ».
C'est le temps minimum nécessaire au convertisseur pour stabiliser une donnée numérique en
sortie après avoir appliqué une tension analogique stable à l'entrée du CAN. Cette caractéristique
fixe la fréquence maximale de travail.
Pour la conversion A/N, nous avons admis que la tension à convertir était une tension continue.
Dans la pratique ce ne sera pas toujours le cas et il conviendra de s’y ramener.
On montre que (cf. théorème de Nyquist-Shannon) l’échantillonnage doit avoir lieu à une
fréquence Fe telle que Fe ≥ 2 * F, où F est la fréquence du signal à reproduire.
Remarque 1 :
Remarque 2 :
Chapitre 8
Les Périphériques
1 . Introduction
– les mémoires auxiliaires, secondaires ou mémoires de masse (disque dur, disquette, CD-
ROM, DVD, etc.) ;
– les unités d'entrée-sortie (interaction et dialogue avec l'utilisateur) pour faciliter les
interactions entre l'humain et l ’ordinateur (l'écran, imprimante, clavier, souris, haut-parleurs,
etc.).
2.1 – Introduction
Ce sont des mémoires de stockage. Elles sont généralement plus lente que la mémoire centrale mais
de capacité plus importante.
La première mémoire de masse qui a vu le jour est la carte perforée. Aujourd'hui, nous avons deux
grands type de mémoires :
2.2.1. Généralités
Ce sont des mémoires non volatiles. L'enregistrement magnétique consiste à utiliser les propriétés
magnétiques d'une couche ferro-magnétique. Cette couche est déposée sur un support souple dans
le cas d'une bande ou dur dans le cas d'un disque.
La lecture : chaque cellule aimantée induit un courant dans une bobine ; suivant le sens de celui-ci ,
l'information est 0 ou 1 .
L'écriture : on fait passer un courant électrique dans une bobine qui a pour effet de créer un champ
magnétique. On modifie le sens du courant pour modifier le sens de l'orientation de l'aimantation.
Les bandes à accès séquentiel : les informations sont les unes à la suite des autres.
Un disque dur est constitué non pas d'un seul disque, mais de plusieurs disques rigides (en anglais
hard disk signifie disque dur) en métal, en verre ou en céramique empilés à une très faible distance
les uns des autres. Ils tournent très rapidement autour d'un axe (à plusieurs milliers de tours par
minute actuellement) dans le sens inverse des aiguilles d'une montre.
Un ordinateur fonctionnant de manière binaire, il faut donc stocker les données sous forme de 0 et
de 1 ; c'est pourquoi les disques sont recouverts d'une très fine couche magnétique de quelques
microns d'épaisseur, elle-même recouverte d'un film protecteur.
La lecture et l'écriture se font grâce à des têtes (head) situées de part et d'autre de chacun des
plateaux (un des disques composant le disque dur). Ces têtes sont des électroaimants qui se baissent
et se soulèvent (elles ne sont qu'à quelques microns de la surface, séparées par une couche d'air
provoquée par la rotation des disques qui crée un vent d'environ 250km/h) pour pouvoir lire
l'information ou l'écrire. De plus ces têtes peuvent balayer latéralement la surface du disque pour
pouvoir accéder à un emplacement quelconque...
L'ensemble de cette mécanique de précision est contenue dans un boîtier totalement hermétique, car
la moindre particule peut détériorer l'état de surface du disque.
Les têtes de lecture/écriture sont dites "inductives", c'est-à-dire qu'elles sont capables de générer un
champ magnétique. C'est notamment le cas lors de l'écriture : les têtes en créant des champs positifs
ou négatifs viennent polariser la surface du disque en une très petite zone, ce qui se traduira lors du
passage en lecture par des changements de polarité induisant un courant dans la tête qui sera ensuite
transformé par un convertisseur analogique numérique en 0 et en 1 compréhensibles par l'ordinateur.
Les têtes commencent à inscrire des données à la périphérie du disque (piste 0), puis avancent vers
le centre.
Les pistes sont séparées en quartiers (entre deux rayons) que l'on appelle secteurs, c'est la zone dans
laquelle on peut stocker les données (512 octets en général).
On appelle cylindre l'ensemble des données situées sur une même pistes de plateaux différents
(c'est-à-dire à la verticale les unes des autres) car cela forme dans l'espace un "cylindre" de données.
On appelle cluster la zone minimale que peut occuper un fichier sur le disque. En effet le système
d'exploitation exploite des blocs qui sont en fait plusieurs secteurs (entre 1 et 16 secteurs). Un
fichier minuscule devra donc occuper plusieurs secteurs (un cluster).
Les premiers disques durs commercialisés pour le grand public avaient une capacité de 10 Mo
(années 80). Ils atteignent aujourd'hui des capacités de quelques To. En outre leurs dimensions sont
très réduites, et ils peuvent facilement s'intégrer dans les portables.
2.3.1. Généralités
Les disques optiques utilisent un rayon laser. Pour écrire, on creuse des petits trous ou cuvettes dans
le couche métallique. Pour lire on utilise un laser moins puissant qui va détecter la présence ou
l'absence de trous.
Le CD-ROM (Compact Disc - Read Only Memory) est un disque optique de 12 cm de diamètre et
de 1 mm d'épaisseur, permettant de stocker des informations numériques correspondant à 650 Mo
de données informatiques ou bien jusqu'à 78 mn de données audio. Le Compact Disc a été inventé
par Sony © et Philips ©.
Le CD est constitué de matière plastique, recouvert d'une fine pellicule métallique sur une des faces.
Les pistes sont gravées en spirales, ce sont en fait des alvéoles d'une profondeur de 0,83μ et
espacées de 1,6μ. ces alvéoles forment un code binaire, une alvéole correspond à un 0, un espace à
un 1.
Exemple : prenons la séquence suivante : 110010101. Celle-ci correspond sur le CD-ROM à deux
espaces, deux trous, un espace, un trou, un espace, un trou, un espace, un trou.
On a ainsi une séquence binaire que le lecteur parcourt grâce à un laser ; celui-ci est réfléchi
lorsqu'il rencontre un espace, il ne l'est pas lorsqu'il rencontre une alvéole.
Le lecteur de CD-ROM est une cellule photoélectrique qui permet de capter le rayon réfléchi, grâce
à un miroir semi-réfléchissant comme expliqué sur le dessin ci-contre.
Un chariot permet de déplacer le miroir de façon à pouvoir accéder au CD-ROM en entier. Il est
ainsi possible de stocker sur ce support des musiques, des images, des vidéos, du texte et tout ce qui
peut être enregistré de façon numérique.
Par sa vitesse : celle-ci est calculée par rapport à la vitesse d'un lecteur de CD-Audio (150 Ko/s). Un
lecteur allant à 3000Ko/s sera caractérisé de 20X (20 fois plus vite qu'un lecteur 1X)
Par son temps d'accès. C'est le temps moyen qu'il met pour aller d'une partie du CD à une autre.
C’est une variante du CD-ROM dont la capacité est largement plus grande que celle du CD-ROM.
En effet, les alvéoles du DVD sont beaucoup plus petites (0,4μ et un espacement de 0.74μ),
impliquant un laser avec une longueur d'onde beaucoup plus faible.
Les DVD existent en version "double couche", ces disques sont constitués d'une couche transparente
à base d'or et d'une couche réflexive à base d'argent.
Pour aller lire ces deux couches le lecteur dispose de deux intensités pour le laser :
– une intensité faible : le rayon se réfléchit sur la surface dorée ;
– lorsqu'on augmente cette intensité : le rayon traverse la première couche et se réfléchit sur la
surface argentée.
L'intérêt du DVD touche en priorité le stockage vidéo qui demande une place de stockage
importante. Un DVD de 4,7 Go permet de stocker plus de deux heures de vidéo compressées en
MPEG-2 (Motion Picture Experts Group), un format qui permet de compresser les images tout en
leur gardant une très grande qualité.
3.1 – Le Clavier
Lors de l'appui sur une touche, un code binaire est généré et envoyé à l'unité centrale.
Un réseau de câbles est placé sous les touches. Une touche correspond à une intersection. Lorsqu'on
presse une touche, un circuit est fermé.
3.2 – La Souris
La souris est un petit boîtier sous lequel une bille transmet tout mouvement de déplacement à un
pointeur visible à l'écran. Cette bille fait tourner deux rouleaux. Ces rouleaux comportent chacun un
disque cranté qui tourne entre une photodiode et une LED (Diode électroluminescente) laissant
passer la lumière par séquence.
Lorsque la lumière passe, la photodiode renvoie un "1", lorsqu'elle rencontre un obstacle, la
photodiode renvoie un "0". A l'aide de ces informations, le PC peut connaître la position de votre
curseur (voire la vitesse...!!).
La souris est en outre équipée de plusieurs boutons qui permettent de "cliquer" et d'effectuer ainsi
une action sur le texte ou l'objet pointé sur l'écran.
Il existe aussi, notamment sur les portables, des trackball, sorte de souris renversée où l'on agit
directement sur la boule, ou, plus récemment, des touchpad, sorte d'écran miniature sur lequel on se
déplace avec le doigt.
La souris optique comporte une minuscule caméra et un système de comparaison des images
successives qui permettent de repérer les mouvements de la souris.
3.3 – Le Moniteur
3.3.1. Généralités
Les moniteurs (écrans d'ordinateur) sont la plupart du temps des tubes cathodiques, c'est à dire un
tube en verre dans lequel un canon à électrons émet des électrons dirigés par un champ magnétique
vers un écran sur lequel il y a de petits éléments phosphorescents (luminophores) constituant des
points (pixels) émettant de la lumière lorsque les électrons viennent les heurter.
Le champ magnétique dévie les électrons de gauche à droite afin de créer un balayage, puis vers le
bas une fois arrivé en bout de ligne. Ce balayage n'est pas perçu par l'œil humain grâce à la
persistance rétinienne.
Un moniteur noir et blanc permet d'afficher des dégradés de couleur (niveaux de gris) en variant
l'intensité du rayon.
Pour les moniteurs couleur, trois faisceaux d'électrons sont utilisés simultanément en visant chacun
un point d'une couleur spécifique : un rouge, un vert et un bleu (RGB : Red/Green/Blue ou en
français RVB : Rouge/vert/bleu).
Cependant ces luminophores sont situés de façon tellement proche que l'œil n'a pas un pouvoir
séparateur assez fort : il voit une couleur composée de ces trois couleurs.
Cette technologie est basée sur un écran composé de deux plaques transparentes entre lesquelles il y
a une fine couche de liquide où se trouvent des cristaux qui ont la propriété de s'orienter lorsqu'ils
sont soumis à du courant électrique.
L'avantage majeur de ce type d'écran est son encombrement réduit, d'où son utilisation sur les
ordinateurs portables.
La résolution : elle détermine le nombre de pixels (points) par unité de surface (pixels par pouce
carré (en anglais DPI : Dots Per Inch). Ce nombre de points est actuellement compris entre 640x480
(640 points en longueur, 480 points en largeur) et 1600x1200.
La fréquence de balayage : C'est le nombre d'images qui sont affichées par seconde, on l'appelle
aussi rafraîchissement, elle est exprimée en Hertz. Plus cette valeur est élevée meilleur est le confort
visuel (on ne voit pas l'image scintiller), il faut donc qu'elle soit supérieure à 67 Hz (limite inférieure
à partir de laquelle l'œil remarque véritablement l'image "clignoter".
3.4 – L'Imprimante
3.4.1. Généralités
L'imprimante permet de faire une sortie imprimée (sur papier) des données de l'ordinateur. Il en
existe plusieurs types dont les plus courants sont :
Elle permet d'imprimer des documents grâce à un va-et- vient de la tête sur le papier. La tête est
constituée de petites aiguilles, poussées par des électro-aimants, qui viennent taper contre un ruban
de carbone situé entre la tête et le papier.
Ce ruban de carbone défile pour qu'il y ait continuellement de l'encre dessus. A chaque fin de ligne
un rouleau fait tourner la feuille.
La technologie du jet d'encre repose sur le principe simple mais efficace qu'un fluide chauffé produit
des bulles.
Les têtes des imprimantes actuelles sont composées de nombreuses buses (jusqu'à 256), qui sont
chauffées entre 300 et 400°C plusieurs fois par seconde grâce à un signal impulsionnel.
Chaque buse produit une bulle minuscule qui fait s'éjecter une gouttelette extrêmement fine. Le vide
engendré par la baisse de pression aspire une nouvelle goutte.
L'imprimante laser reproduit à l'aide de points l'image à imprimer. Grâce au laser, les points sont
plus petits et la définition est meilleure.
Le laser quant à lui (grâce à un miroir qui lui permet de se placer) charge le tambour positivement
en certains points.
Du coup, l'encre du toner chargée négativement se dépose sur les parties du toner ayant été chargées
par le laser, qui viendront se déposer sur le papier.
L'imprimante laser n'ayant pas de tête mécanique est plus rapide et moins bruyante.
3.5 – Le Scanner
Le scanner est un périphérique permettant de numériser des documents à partir d'un format "papier"
et de générer des documents au format "électronique ou numérique" qu'il est possible d'enregistrer
dans la mémoire de l'ordinateur.
Le scanner est caractérisé par sa qualité de numérisation : la résolution.
3.6 – Le Modem
Le modem est le périphérique utilisé pour transférer des informations entre plusieurs ordinateurs via
les lignes téléphoniques. Les ordinateurs fonctionnent de façon numérique, ils utilisent des signaux
binaires (représentables par des séries de zéros et de uns).