Chapitre 1 Introduction à l`architecture des systèmes informatiques

publicité
Lycée Gaston CRAMPE - 40800 AIRE sur l’ADOUR
Section de Techniciens Supérieurs en
Informatique et Réseaux pour l’Industrie et les
Services Techniques
STS IRIS
ARCHITECTURE MATERIELLE
DES SYSTEMES INFORMATIQUES
Partie 1
Chapitre 1 : Introduction à l'architecture des systèmes informatiques
Chapitre 2 : Représentation des informations
Chapitre 3 : La programmation
Chapitre 4 : Le processeur
Chapitre 5 : Les mémoires
Chapitre 6 : décodage d'adresses
Chapitre 7 : Introduction à la gestion des Entrées-Sorties
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.
•
L'architecture d'un système informatique est la description de ses unités fonctionnelles et de
leurs interconnexions.
•
La configuration habituelle d’une station de travail est donnée ci-dessous :
-
Le CPU (Central Process Unit) correspond au moteur de la machine. Il exécute les
instructions des programmes.
-
La mémoire centrale contient les programmes et les données à traiter.
-
Le clavier, la souris et l’écran permettent l’interaction avec les utilisateurs.
-
Le disque dur, le disque optique (CD, DVD….) et l’unité de disquettes permettent le
stockage permanent des informations.
-
Le MODEM (Modulateur - DEModulateur) permet de communiquer avec d'autres ordinateurs
éloignés en utilisant une ligne téléphonique.
-
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.
-
La sortie RNIS (Réseau Numérique à Intégration de Services) ou NUMERIS utilise
directement une ligne numérique contrairement au FAX et au Modem.
-
La carte réseau permet de communiquer avec d'autres ordinateurs éloignés en utilisant un
support Ethernet.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 1/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.
3 - Utilisation des ordinateurs
•
L’utilisation d’un ordinateur sous-entend l'exécution d’un programme par celui-ci, c’est
pourquoi toute application nécessite du matériel, en l'occurrence un ordinateur, et du logiciel
qui est exécuté par cet ordinateur.
•
Le logiciel se décompose en deux familles :
-
Les programmes systèmes;
Les programmes d'application.
•
Les fonctions de base d'un ordinateur sont réalisées au moyen de programmes système.
•
Le système d'exploitation (OS : Operating System), le plus important des programmes
système, s'occupe de gérer les différentes ressources de la machine. Il facilite la tâche du
programmeur en lui offrant un accès simplifié aux ressources de la machine.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 2/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.
•
Les grandeurs binaires peuvent se matérialiser très simplement (0 ou 1 = Absence ou
Présence de courant électrique), ce qui fait que dés que l’on a pu manipuler rapidement des
ensembles suffisamment importants d’éléments binaires (bits), on a pu réaliser des calculateurs
puis des ordinateurs.
•
La figure ci-dessous permet de préciser l'architecture interne d'un ordinateur :
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.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 3/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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).
4.3 - Les mémoires.
•
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.
•
Un ordinateur va donc comporter un certain nombre de mémoires où l'on pourra indifféremment
lire ou écrire.
•
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 :
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 4/14
Architecture matérielle des systèmes informatiques
•
Jean-Claude CABIANCA
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.
•
Antémémoire ou mémoire cache :
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.
•
Mémoire centrale ou mémoire vive:
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.
•
Mémoires auxiliaires ou mémoires de masse :
Mémoires périphériques de grande capacité et de coût relativement faible. Elles servent
d’éléments de stockage permanent et utilisent pour cela des supports magnétiques et des
supports optiques tandis que les niveaux plus proches du processeur font appel à la technologie
des semi-conducteurs.
Ordres de grandeurs :
Temps d’accès : De quelques ns (Registres du CPU) à quelques ms (Mémoires auxiliaires).
Remarque : 1 ms = 10-3 secondes ; 1 µs = 10-6 secondes ; 1 ns = 10-9 secondes.
Capacité : De quelques octets (Registres du CPU) à quelques centaines de Go (Mémoires
auxiliaires).
Remarques :
1 Ko = 210 octets soit environ 103 octets = 1 millier octets ;
1 Mo = 220 octets soit environ 106 octets = 1 million octets ;
1 Go = 230 octets soit environ 109 octets = 1 milliard octets ;
1 To = 240 octets soit environ 1012 octets = 1 000 milliard octets (1 billion).
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 5/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
4.4 - Les interfaces (coupleurs) d’entrées / sorties.
•
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).
4.5 - Les unités périphériques.
•
Les unités périphériques se répartissent en deux classes :
-
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.
•
L’ensemble du système informatique est organisé en « couches ». Chaque couche du système
informatique « masque » les couches inférieures. Ainsi les couches supérieures sont
indépendantes des couches inférieures.
•
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
texte
Logiciel de
dessin
Tableur
Horloge
etc ...
Applications
Appels systèmes
Système d'exploitation
Pilotes de périphériques (drivers)
Pilotes de
périphériques
(drivers)
µ-programme (BIOS)
Matériel
Disque Dur
Mémoire
etc ...
Carte
spécifique
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 6/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
5.2 – Le système d’exploitation.
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.
Les tâches d’un Système d’Exploitation sont les suivantes :
•
Gestion de la mémoire principale.
•
L’exécution des commandes d’Entrée/Sortie.
•
La multiprogrammation, le temps partagé et le parallélisme. Les programmes en mémoire
doivent se partager le CPU, le système d’exploitation décide quel est le programme qui « à la
main » à chaque instant.
•
La gestion des mémoires secondaires. Chaque utilisateur stocke des programmes et des
données dans des fichiers confiés au système.
•
L’interprétation du langage de dialogue avec l’utilisateur (interpréteur de commande). C’est
cette interface qui est la partie la plus visible du système.
•
L’application des règles de sécurité, en particulier des droits d’accès.
5.3 – La Programmation.
•
La programmation consiste à écrire une suite d’instructions dans un langage
compréhensible par un ordinateur.
•
Une instruction est constituée de deux champs :
- l’opération qui définit le type de travail à effectuer;
- l’opérande qui définit l’objet sur lequel doit être effectué le travail.
Langages de programmation :
•
Langage machine : Le langage machine est un langage compréhensible par le processeur. Il
est constitué uniquement de nombres binaires.
050100
•
Langage assembleur : Il est pratiquement impossible de lire un programme en langage machine
codé en binaire ou en hexadécimal. Pour faciliter le travail de programmation, les concepteurs
ont développé pour chaque système à processeur, un logiciel appelé assembleur qui traduit des
codes mnémoniques en langage machine.
ADD AX,0001
•
AX ← AX + 0x0001
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.
var = var + 1 ou var++
var ← var + 1
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 7/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
6 – Cas particulier des ordinateurs de bureau compatibles PC.
6.1 - Introduction.
Un PC (Personal Computer) est constitué d’un ensemble de composants modulaires. L’élément le
plus important, la carte mère, héberge entre autres le microprocesseur, la mémoire, l’horloge.
Des cartes d'extension y sont connectées par l’intermédiaire d’un bus.
La carte mère contient les éléments suivants :
-
Le microprocesseur et son support ;
-
Le chipset : circuit contrôlant et gérant les échanges entre processeur et les différentes
ressources ;
-
La mémoire ;
-
Le BIOS (en ROM) ;
-
Le bus système et les interfaces d'accès aux E/S.
6.2 – Le microprocesseur et son support.
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 :
-
Lit l'instruction à exécuter en mémoire (travail effectué par l’unité de commande) ;
-
Exécute l'instruction (travail effectué par l’unité de traitement aussi appelée UAL – Unité
Arithmétique et Logique) ;
-
Passe à l'instruction suivante.
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).
-
Par opposition, un processeur utilisant l'architecture RISC (Reduced Instruction Set
Computer) possède des instructions plus simples, peu nombreuses et qui peuvent être traitées
en un cycle machine. Cependant, pour effectuer certaines opérations complexes, ce type
d’architecture demandera plus de ressources.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 8/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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 chipset est composé de deux éléments distincts : le NorthBridge (Pont Nord) et le
SouthBridge (Pont Sud) :
-
Le Northbridge fonctionne à une cadence plus élevée que le Southbridge. Le Northbridge
gère les échanges avec la mémoire , le processeur et les composants graphiques.
-
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 :
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 9/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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 – Les différents bus.
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).
De multiples bus cohabitent sur la carte mère d’un ordinateur.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 10/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
6.6.2 : Le bus système (bus interne)
Il permet au processeur de communiquer avec la mémoire cache externe et avec le chipset.
Faisant transiter les données directement issues du processeur, il se doit d’être rapide.
Il est aussi appelé FSB (Front Side Bus). Sa vitesse varie actuellement entre 800 et 1333 Mhz selon
les chipsets. Les vitesses sont exprimées par pas de 33 Mhz.
6.6.3 : Le bus mémoire
Il permet la circulation de l’information entre le processeur et la mémoire vive. Sa vitesse est
actuellement d'une centaine de Mhz.
6.6.4 : Le bus ATA, IDE et EIDE
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.
Il est maintenant remplacé par le bus SATA.
6.6.5 : Le bus AGP (Accelerated Graphics Port)
Commercialisé en 1997, il sert uniquement à la connexion des cartes vidéo.
C’est un bus 32 bits cadencé à 8 fois 66 Mhz (pour l'AGP 8x) ce qui lui offre un débit de 2112
Mo/s (66,66 MHz x 8 x 32 bits /8 = 2,11 Go/s).
Il tend à être remplacé par le bus PCI Express.
6.6.6 : Le bus PCI (Peripheral Component Interconnect)
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.
6.6.7 : Le bus PCI Express
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.
Connecteur Pci Express 16x :
Connecteur Pci Express 1x :
Un des avantages majeur est la possibilité de brancher / débrancher la carte à chaud.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 11/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
6.6.8 : Le bus SATA
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 :
-
la prise en charge RAID ( Redundant Array of Independent Disks ou Ensemble redondant de
disques indépendants ) pour les disques dur est souvent proposée : elle permet de constituer une
unité de stockage à partir de plusieurs autres (grappage) afin d'augmenter la sécurité et de
fiabiliser les services de stockage (cf. Annexe 1).
-
il existe aussi un bus de connexion de disques dur appelé SCSI (Small Computer System
Interface).
6.7 – Les interfaces d’E/S.
6.7.1 : interface Série
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.
Les connecteurs associés sont généralement de type DB9 :
Sur les PC de bureau ces interfaces ont disparu, au profit des interfaces USB.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 12/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
6.7.2 : interface Parallèle
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 :
6.7.3 : interface USB
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 types de connecteurs USB sont les suivants :
Connecteur de type A :
Connecteur de type B :
Les ports USB supportent le Hot PNP qui permet de connecter de nouveaux périphériques sans
éteindre l’ordinateur.
6.7.4 : interface Firewire
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.
Il est utilisé pour connecter majoritairement du matériel vidéo (Caméra DV).
La norme Firewire 2 (IEEE 1394b) ou Firewire Gigabit propose un débit de 3200 Mbit/s.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 13/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Annexe 1 : Technologies RAID
•
•
RAID (Redundant Array of Inexpensive or Independant Disks) est un ensemble de disques durs
qui constituent un système de stockage unique, et qui autorise la panne d’un des disques sans
perte de données.
Il existe 6 niveaux de RAID, utilisant différents moyens pour répartir les informations sur
l’ensemble des disques.
RAID 0
+
Accès rapide aux données.
–
Pas de sécurité
Données
réparties
RAID 1
Disques en
miroir
RAID 2
+
Très sûr car une copie physique du
premier disque est disponible à tout
moment.
–
Cher, car la moitié de la capacité totale
est utilisée, chaque donnée étant copiée
deux fois.
–
Disques supplémentaires nécessaires
pour stocker les codes de contrôle ECC.
Grappes
parallèles
avec codes
ECC
(Hamming)
RAID 3
Grappes
parallèles
avec codes
de parité
RAID 4
Agrégat de
bandes
(blocs) avec
parité
RAID 5
Agrégat
de
bandes (blocs)
avec
parité
alternée
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
–
Un disque supplémentaire est
nécessaire pour stocker les contrôles de
parité.
–
Découpage des données bit par bit.
+
Accès rapide car la lecture simultanée
des données sur tous les disques est
possible.
–
Opérations d’écriture longues, car elles
ne peuvent se faire simultanément,
puisqu’il faut mettre à jour le disque de
parité, ce qui provoque un goulet
d’étranglement.
+
Meilleure fiabilité de reconstruction des
fichiers en cas de panne d’un des disques.
+ Répartition de la parité, ce qui limite les
goulets d’étranglement lors des opérations
d’écriture.
–
Technologie qui nécessite l’emploi d’au
moins cinq disques.
Page 14/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.
• Une information numérique élémentaire correspond à un chiffre binaire ( 0 ou 1 ) appelé bit.
• Un mot est l’association de plusieurs bits, quel qu’en soit le nombre.
• Un mot de 8 bits est appelé un octet ( byte).
Rang du bit
7
6
5
4
3
2
1
0
Octet
1
0
0
1
1
1
0
1
Poids
27=128
26=64
25=32
24=16
23=8
22=4
21=2
20=1
Position
MSB
LSB
- 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 16 valeurs hexadécimales sont dans l’ordre : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
• On distingue deux types d'informations traitées par un ordinateur :
-
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.
Chapitre 2 : Représentation des informations
Page 1 / 10
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
2 . Représentation des nombres
• Les nombres peuvent être de différents types :
-
Nombres entiers positifs ou nuls : 0 , 1 , ......
Nombres entiers négatifs : -1 , - 2 , .......
Nombres réels : 4,9 x 107 , .....
2.1 – Entiers positifs ou nuls
2.1.1 - Expression générale
Tout nombre entier positif ou nul peut être représenté par une expression de la forme :
N = an . pn + an-1 . pn-1 + ..... + a1 . p + ao = Σ ai . pi
où p est la base et i est le rang.
Exemple :
( 25031 )10 =
2.1.2 - Changement de base
•
Binaire  Décimal :
On additionne les puissances de 2.
( 10101 )2 =
•
Décimal  Binaire :
On réalise des divisions entières successives par 2.
25
2
2
2
2
En faisant une lecture de droite à gauche, on trouve :
( 25 )10 =
Chapitre 2 : Représentation des informations
Page 2 / 10
Architecture matérielle des systèmes informatiques
•
Jean-Claude CABIANCA
Binaire  Hexadécimal :
On groupe par 4 les bits (quartet) en partant de la droite et on
donne l’équivalent en hexadécimal de chaque quartet.
Binaire
HEXA
( 11 1100 1111 )2 =
•
Hexadécimal  Binaire
Chaque valeur hexadécimale donne un équivalent binaire défini sur 4
bits (quartet) .
( 5 AE )16 =
2.2 – Entiers négatifs
Les entiers négatifs peuvent être codés selon 3 méthodes :
- Signe et valeur absolue ;
- Complément logique ( Complément à 1 ) ;
- Complément arithmétique ( Complément à 2 ).
2.2.1 - Signe et valeur absolue
On sacrifie le bit de poids fort pour représenter le signe :


Le signe – est représenté par un 1.
Le signe + est représenté par un 0.
Exemple sur 8 bits :
+1
=
–1
=
Inconvénients :

Le nombre 0 a deux représentations :
+ 0
– 0

= 00....000
= 10....000
L'addition et la soustraction sont compliquées car le bit de signe doit être traité à part.
Chapitre 2 : Représentation des informations
Page 3 / 10
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
2.2.2 - Complément logique ( Complément à 1 )
On remplace, pour les valeurs négatives, chaque bit à 0 par un 1 et chaque bit à 1 par un 0.
Exemple sur 4 bits :
+6 =
0 1 1 0
–6 =
2.2.3 - Complément arithmétique ( Complément à 2 )
On additionne +1 à la valeur du complément à 1.
Exemple sur 4 bits :
+6
=
C1 (+ 6)
=
+1
=
–6
=
0110
Table de vérité de l’addition binaire :
a
0
0
1
1
b
0
1
0
1
R : Report (Retenue)
0
0
0
1
S = a + b (addition)
0
1
1
0
2.2.4 - Avantages et inconvénients du complément arithmétique
-
Le bit de poids fort donne le signe.
Une seule représentation du nombre 0 en complément à 2.
La soustraction d'un nombre se réduit à l'addition de son complément à 2.
Une retenue générée par le bit de signe est ignorée.
Remarque : Cette méthode est celle retenue sur les PC.
2.2.5 - Exemples d'additions en complément à 2 ( soustractions )
Décimal
+7
Complément à 2
Décimal
-7
-6
+6
+1
-1
Chapitre 2 : Représentation des informations
Complément à 2
Page 4 / 10
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
2.2.6 – Récapitulatif sur la représentation des nombres entiers
Exemple sur 4 bits :
Avec 4 bits on peut coder 24 = 16 valeurs.
-
16 nombres positifs (0 à 15) en binaire naturel ;
8 nombres positifs (0 à 7) et 8 nombres négatifs (-0 à -7) en Signe et valeur absolue ;
8 nombres positifs (0 à 7) et 8 nombres négatifs (-0 à -7) en Complément à 1 ;
8 nombres positifs (0 à 7) et 7 nombres négatifs (-1 à -7) en Complément à 2.
Décimal
Binaire
Signe et valeur
absolue
Complément à 1
Complément à 2
7
0111
0111
0111
0111
6
0110
0110
0110
0110
5
0101
0101
0101
0101
4
0100
0100
0100
0100
3
0011
0011
0011
0011
2
0010
0010
0010
0010
1
0001
0001
0001
0001
0
0000
0000
0000
0000
1000
1111
-0
-1
x
1001
1110
1111
-2
x
1010
1101
1110
-3
x
1011
1100
1101
-4
x
1100
1011
1100
-5
x
1101
1010
1011
-6
x
1110
1001
1010
-7
x
1111
1000
1001
-8
x
x
x
1000
Chapitre 2 : Représentation des informations
Page 5 / 10
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
2.3 – Nombres réels
Pour le codage des nombres réels, on peut utiliser deux méthodes :
- La représentation en virgule fixe : Les ordinateurs n'ont pas de virgule au niveau de la
machine. On traite donc ces nombres comme des entiers avec une virgule virtuelle gérée par le
programmeur.
- La représentation en virgule flottante (notation scientifique) : Tous les nombres N,
possèdent le même format et sont caractérisés par une mantisse et un exposant.
2.3.1 - Représentation en virgule fixe
S
Partie entière
Partie fractionnaire
S (1 bit) : Signe négatif bit à 1, signe positif bit à 0.
Partie entière (n bits) = an . 2n + an-1 . 2n-1 + ..... + a1 . 2 + ao
Partie fractionnaire (m bits) = a-1 . 2-1 + a-2. 2-2 + ..... + a-m . 2-m
Exemple : Quel est le nombre décimal correspondant à l’octet : ( 0110 , 1100 )2 ?
2.3.2 - Représentation en virgule flottante
N = +/- (1 + M) * B
E
avec
M : Mantisse purement fractionnaire (0,xxx)
B : Base = 2 en général
E : Exposant ( Entier )
Décimal ( B = 10 ), Binaire ( B = 2 ), Octal ( B = 8 ), Hexadécimal ( B = 16 ).
Avantages de la virgule flottante :
- L'intervalle des valeurs possibles est plus étendu,
- Un mot de k bits peut contenir des valeurs plus grandes que 2k,
- Si la taille de la mantisse augmente, la précision augmente,
- Si la taille de l'exposant augmente, l'intervalle des valeurs possibles grandit.
Format des nombres en virgule flottante :
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.

M : Mantisse purement fractionnaire.
Chapitre 2 : Représentation des informations
Page 6 / 10
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Exposant biaisé :
Biais = 2(n-1) - 1 avec n le nombre de bits de codage de E.
Exposant Réel = Exposant Biaisé – Biais
Si E est codé sur 3 bits, biais = 3, on obtient 8 valeurs de E :
Exposant
Biaisé : e
0
1
2
3
4
5
6
7
E
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
Exposant Réel
0
1
0
1
0
1
0
1
non normalisé
-2
-1
0
1
2
3
infini
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 :
2.3.2 - Standard IEEE 754 (Institut of Electrical and Electronics Engineers)
Chapitre 2 : Représentation des informations
Page 7 / 10
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Le standard IEEE définit trois formats de représentation des nombres en virgule flottante :
Format :
(type float en
langage C++)
• Simple précision sur 32 bits ( 4 Octets ) :
- 1 bit de signe.
- 8 bits pour l'exposant (biaisé à 127).
- 23 bits pour la mantisse.
(type double en
langage C++)
• Double précision sur 64 bits ( 8 octets ) :
- 1 bit de signe.
- 11 bits pour l'exposant (biaisé à 1023).
- 52 bits pour la mantisse.
Format :
• Précision étendue sur 80 bits
Format :
3 . Représentation des caractères
•
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.

ANSI ( Américan National Standard Institute ) : Il reprend le code ASCII et propose
des extensions différentes selon le code de page retenu (code de page 850 en France).

EBCDIC ( Extended Binary Coded Décimal Internal Code ) : Codage sur 8 bits et
utilisé principalement par IBM.

TELETEL VIDEOTEX : Utilisé pour le Minitel, il reprend le code ASCII et permet de
coder des caractères graphiques.

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.
Chapitre 2 : Représentation des informations
Page 8 / 10
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
4 . Récapitulatif
INFORMATIONS
INSTRUCTIONS
Code
Opération
DONNEES
Opérandes
Numériques
Non Numériques
Codage par tables
BCD
ASCII
EBCDIC
UNICODE
Nombres entiers positifs
Conversion directe
Décimal  binaire
(4/6 bits)
(7 ou 8 bits)
(8 bits)
(16/31 bits)
Nombres entiers négatifs
Signe +
Valeur absolue
C1
C2
Nombres fractionnaires
Virgule fixe
Chapitre 2 : Représentation des informations
Virgule flottante
(mantisse, base, exposant)
Page 9 / 10
Architecture matérielle des systèmes informatiques
ANNEXE 1 :
Bits en position
4-3-2-1
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
000
0
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
Jean-Claude CABIANCA
Liste du code ASCII à 7 bits (tableau A)
001
1
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
010
2
SP
!
"
#
$
%
&
‘
(
)
*
+
,
.
/
Bits en position 7, 6, 5.
011
100
3
4
0
@
1
A
2
B
3
C
4
D
5
E
6
F
7
G
8
H
9
I
:
J
;
K
<
L
=
M
>
N
?
O
101
5
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
–
110
6
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
111
7
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
Valeurs numériques des caractères du code ASCII (tableau B)
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
- Absence de caractère, blanc, espace.
- « Start Of Heading » : début d’en tête.
- « Start of Text » : début du texte (et donc fin
de l’en tête).
- « End of Text » : fin d’un texte, commencé avec
STX.
- « End Of Transmission » : fin de transmission.
- « Enquiry » : demande. Peut être utilisé pour
demander au destinataire de s’identifier.
- « Acknowledge » : accusé de réception.
- « Bell » : sonnerie.
- « Backspace » : marche arrière de un caractère.
- « Horizontale Tabulation » : tabulation
horizontale.
- « Line Fed » : retour à une nouvelle ligne.
- « Vertical Tabulation » : tabulation verticale.
- « Form Fed » : passage à une page suivante.
- « Carriage Return » : retour de chariot.
- « Shift Out » : le code suivant est hors des
caractères standards. Se termine par « Shift In ».
- « Shift In » : retour aux caractères standards du
code utilisé.
- « Data Link Escape » : change la signification
d’un ou plusieurs caractères suivants. Sert à
fournir des commandes supplémentaires.
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
SP
DEL
- « Device Controls... » : caractères de
commande de terminaux ou périphériques.
- « Negative Acknowledgement » : réponse
négative à une question.
- « Synchronus/Idle » : caractère de
synchronisation ; lorsqu’un caractère est
transmis, il peut être émis continûment.
- « End of Transmission Block » : fin de
transmission d’un bloc de données.
- « Cancel » : annulation de la donnée
précédente.
- « End of Medium » : fin physique de la
carte, bande ou autre support utilisé.
- « Substitute » : remplacement.
- « Escape » : caractère de contrôle
fournissant un moyen d’étendre les
possibilités de codage.
- « File Separator » :
- « Groupe Separator » :
- « Record Seaparator » :
- « United Separator » :
caractères de séparation à utilisation
optionnelle, mais hiérarchique, de FS (le plus
général) à US.
- « Space » : espace ou blanc.
- « Delete » : suppression.
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 2 : Représentation des informations
Page 10 / 10
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Chapitre 3
La Programmation
1 . Introduction
• L’écriture d’un programme peut se décomposer en plusieurs étapes :
• 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 conception du programme qui permet, d'établir l’architecture informatique
globale de l'application, de construire un algorithme (indépendant du langage de
programmation utilisé). C’est le « comment faire ».
• Une étape de codage où se situe l’écriture du programme avec le langage de programmation
choisi.
• Une étape de tests et de mise au point pour vérifier que l‘application finale correspond aux
spécifications de départ.
• Pour mettre en œuvre la programmation, il faut disposer d’outils :
• Un éditeur de textes pour écrire le programme et la documentation.
• Un traducteur qui traduira le code écrit par le programmeur en langage machine.
• Un outil de mise au point du programme (Débogueur).
• 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.
Chapitre 3 : La programmation
Page 1 / 4
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
• Le cycle en V est basé sur un enchaînement de phases autonomes mettant en correspondance
le moment où un besoin s’exprime et le moment où ce besoin devient approuvable et
validable. Ce cycle de vie est bien adapté pour une approche de développement
fonctionnelle.
• 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.
Chapitre 3 : La programmation
Page 2 / 4
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
2 . Les langages de programmation
• 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 :
Les langages de programmation actuels sont majoritairement de deux sortes : compilés ou
interprétés.
–
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).
–
Dans un langage interprété, l'interprète est nécessaire à chaque lancement du programme
interprété, pour traduire au fur et à mesure le code source en code machine. Cette traduction à
la volée est la cause première de la lenteur des langages dits interprétés.
Chapitre 3 : La programmation
Page 3 / 4
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
3 . Développement d’un programme
La figure suivante montre un environnement de programmation minimum :
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.
• Traducteur : Le Traducteur (assembleur ou compilateur) permet de convertir le programme
source en programme objet.
• Editeur de liens : Il permet de combiner plusieurs programmes objet en un seul programme
exécutable.
• 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 :
Pour les systèmes embarqués, on utilise la compilation croisée ou cross-compilation.
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 3 : La programmation
Page 4 / 4
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Chapitre 4
Le Processeur
1 . Introduction
• Un microprocesseur est un circuit intégré numérique, programmable, capable d’exécuter
automatiquement un programme comportant les opérations exécutables par l’unité centrale
d’un ordinateur classique.
• 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.
2 . Fonctionnement d’un processeur
• La fonction essentielle d’un microprocesseur est d’exécuter une suite d’instructions : le
programme.
• 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.
Code Opératoire
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.
• Le microprocesseur doit savoir à quelle adresse se situe l’instruction à exécuter. Il utilise
pour cela un compteur qui, au début du programme, est initialisé avec l’adresse de la
première instruction et dont le contenu est incrémenté à chaque exécution d’une
instruction. Il est appelé compteur ordinal ou compteur programme (PC : Program Counter).
Chapitre 4 : Le Processeur
Page 1 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
• En résumé, un processeur enchaîne les 4 opérations suivantes :
• Etape 1 (Fetch) : elle consiste à aller chercher le code de l’instruction en mémoire .
L’adresse de l’instruction requise est mémorisée dans le PC et le contenu du PC est déposé
sur le bus d’adresses de façon à désigner l’octet que l’on recherche. Lorsque l’octet est
récupéré dans la mémoire, il est stocké dans le registre d’instructions du processeur.
• Etape 2 (Decode) : Le processeur analyse le code contenu dans le registre d’instructions
pour savoir ce qu’il doit faire.
• 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).
La figure suivante montre l’architecture simplifiée d’un microprocesseur :
Chapitre 4 : Le Processeur
Page 2 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
3 . Unité de Commande et Registres associés
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.
Des registres sont associés à l’unité de commande.
Le PC (Compteur ordinal ou Compteur Programme) :
Registre dont le contenu correspond à l’adresse en mémoire de la prochaine instruction à
exécuter. Cette adresse a été obtenue par incrémentation dans le cas d’une séquence d’instructions
classique, par branchement en cas de saut dans le programme.
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 :
Contient le code de l’instruction à exécuter.
Registre index :
Contient une adresse dans le cas où le mode d’adressage indexé est utilisé.
Buffer des adresses :
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.
4 . Unité de Traitement (ALU) et Registres associés
L’ALU assure :
-
les Opérations Logiques : ET, OU, OU exclusif ;
les Opérations bit à bit : comparaison, décalage à droite ou à gauche, mise à 1 ou à 0 d'un
bit, test de bit … ;
les Opérations Arithmétiques: addition et soustraction
Chapitre 4 : Le Processeur
Page 3 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Deux registres principaux sont associés à l’ALU :
L’accumulateur :
Il sert à stocker un opérande et le résultat de l’opération (pour la faire transiter ou la réinjecter
pour un nouveau calcul).
Le SR (registre d’état ou registre condition) :
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 :
-
C (Carry) : indique la présence d’une retenue lors de l’opération ;
-
S (Sign) : indique que le résultat de l’opération est un nombre signé ;
-
V (ou OV pour oVerflow) : indique un débordement (dépassement de capacité) lors d’une
opération ;
-
Z (Zéro) : indique que le résultat de l’opération est nul ;
-
P (Parity) : indique que le résultat de l’opération est pair ou impair.
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.
5 . Evolution des processeurs
• A l’origine, deux grands constructeurs de processeurs se partageaient le marché : Motorola
avec le processeur 68xxx et Intel avec le processeur x86.
• 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.
• Le processeur conditionne le niveau des performances d’un ordinateur. Les performances
des microprocesseurs ont évoluées en tenant compte des progrès de la technologie (intégration,
fréquence d’horloge) mais aussi en modifiant l’architecture interne.
• 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.
Chapitre 4 : Le Processeur
Page 4 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
• 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 superscalaire : Le principe du superscalaire est de pouvoir traiter plusieurs
instructions par cycle. Par exemple pour un superscalaire d’ordre 3, il faut décoder trois
instructions en parallèle en une seule période d’horloge. L’exploitation du parallélisme à un
niveau un peu supérieur conduit à créer des processeurs multiscalaires.
• 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).
6 . COMPARATIF DES PROCESSEURS INTEL ET AMD
• Un comparatif des processeurs de bureau réalisé par XBitLabs (http://www.xbitlabs.com) est
donné ci-dessous (janvier 2008).
• 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.
Comparatif des prix
Chapitre 4 : Le Processeur
Page 5 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Comparatif des performances
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 4 : Le Processeur
Page 6 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Annexe 1 : Processeur Intel i7-980x
Chapitre 4 : Le Processeur
Page 7 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Annexe 2 : Processeur AMD Phenom II X6 1090T
Chapitre 4 : Le Processeur
Page 8 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Chapitre 5
Les mémoires
1 - Généralités sur les mémoires
•
Il existe différents types de mémoires dans un système informatique :
- 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é ».
•
Tous les types de mémoires sont caractérisés par :
- 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.
Unité
Abrégé
Valeur exacte en octets
Kilo-octet
Méga-octet
Giga-octet
Téra-octet
Ko
Mo
Go
To
210 = 1 024
220 = 1 048576
30
2 = 1 073 741 824
40
2 = 1 099 511 627 776
Valeur
approximative
Mille octets
Un million
Un milliard
Mille milliards
- 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.
2 – Organisation interne d’une mémoire
- Les cellules élémentaires constituant la
mémoire sont disposées en matrice.
- Chaque point d’intersection (cellule) de la
matrice est caractérisé par un numéro de
colonne (Columm) et un numéro de ligne
(Row).
Chapitre 5 : Les mémoires
Page 1 / 9
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.
- On distingue deux types de mémoires RAM : les DRAM et les SRAM.
3.1 - DRAM (Dynamic RAM)
3.1.1 – Généralités sur les DRAM
- 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.
Le condensateur se décharge progressivement, entraînant la perte de l’information. En fait, si
un bit 1 est stocké, il s’efface peu à peu et risque de voir passer sa valeur à 0. Pour y remédier, on
procède régulièrement à une relecture et une réécriture des informations. Cette opération s’appelle le
rafraîchissement.

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.

 L’inconvénient
majeur est d’avoir à supporter la logique de rafraîchissement.
 Ce type de mémoire est utilisé
pour la mémoire centrale d’un ordinateur.
3.1.2 – Correction des erreurs
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.

Chapitre 5 : Les mémoires
Page 2 / 9
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
3.1.3 – Différents types de supports de DRAM
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.
3.1.4 – Différents types de DRAM
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.
Chapitre 5 : Les mémoires
Page 3 / 9
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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).
Elle est présente en deux versions : DIMM et SO DIMM.
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 :
Mémoire
DDR
DDR2
DDR3
Appellation
Fréquence (RAM)
Débit théorique
DDR-200
PC-1600
200 MHz
1,6 Go/s
DDR-400
PC-3200
400 MHz
3,2 Go/s
DDR-500
PC-4000
500 MHz
4 Go/s
DDR-550
PC-4400
550 MHz
4,4 Go/s
DDR2-400
PC2-3200
400 MHz
3,2 Go/s
DDR2-533
PC2-4300
533 MHz
4,3 Go/s
DDR2-667
PC2-5300
667 MHz
5,3 Go/s
DDR2-675
PC2-5400
675 MHz
5,4 Go/s
DDR2-800
PC2-6400
800 MHz
6,4 Go
DDR2-1200
PC2-9600
1,2 GHz
9,6 Go
DDR3-2000
PC3-16000
2 GHz
16 Go
DDR3-2200
PC3-17600
2,2 GHz
17,6 Go
DDR3-2300
PC3-18400
2,3 GHz
18,4 Go
DDR3-2400
PC3-19200
2,4 GHz
19,2 Go
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.
Chapitre 5 : Les mémoires
Page 4 / 9
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
3.2 - SRAM (Static RAM)
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.

 Elles
sont utilisées principalement en antémémoires (mémoires cache).
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 ).

4. 2 - ROM (Read Only Memory)
Une mémoire ROM est une mémoire morte,
c’est à dire une mémoire dans laquelle on peut
uniquement lire.

La technologie employée pour coder
l’information est un couple transistor/fusible.

 Ce sont des mémoires non volatiles dont le
temps d’accès est de 150 ns environ.
Chapitre 5 : Les mémoires
Page 5 / 9
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
4. 3 - PROM (Programmable ROM)
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.

4. 4 - EPROM (Erasable Programmable ROM)
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.
4. 5 - EEPROM (Electrically Erasable PROM)
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.

 Elles sont rapidement effaçables et programmables électriquement par blocs de 64 Koctets.
 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.
Chapitre 5 : Les mémoires
Page 6 / 9
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
5 – Temps d’accès à une Mémoire
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 ».
5. 2 – Chronogramme pour 2-2-3-7
Exemples :
DDR2-800 ou PC2-6400 : 3-4-3-9
DDR2-1200 ou PC2-9600 : 5-5-5-15
Chapitre 5 : Les mémoires
Page 7 / 9
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
6 – Gestion de la mémoire par les processeurs
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.
6. 2 – Gestion de la mémoire par les processeurs Intel
 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.

 Le calcul de l'adresse physique est réalisé par le processeur en additionnant le contenu du
registre de segment CS (numéro de segment) et le contenu du registre d'instruction IP
(déplacement). Cela se passe comme si on avait l'adresse d'un immeuble dans CS et le numéro de
l'étage dans IP.
Chapitre 5 : Les mémoires
Page 8 / 9
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Annexe 1 : OCZ PC2-6400 Titanium Alpha
URL : http://www.ocztechnology.com/products/memory/ocz_pc2_6400_titanium_alpha
Chapitre 5 : Les mémoires
Page 9 / 9
Architecture matérielle des systèmes informatiques
Jean-claude CABIANCA
Chapitre 6
Décodage d’adresses
1 - Généralités sur le 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.

Chapitre 6 : Décodage d’adresses
Page 1 / 6
Architecture matérielle des systèmes informatiques
Jean-claude CABIANCA
Plan mémoire associé à la carte CPU Motorola MVME-162 :
2 – Exemple de décodage d’adresses
 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 :

Chapitre 6 : Décodage d’adresses
Page 2 / 6
Architecture matérielle des systèmes informatiques
Jean-claude CABIANCA
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.

C’est donc le rôle du bloc fonctionnel « Décodeur d’adresse ou logique d’adressage », il
utilisera pour réaliser cela les lignes d’adresses A10 et A15.

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
2.1 - Décodage d’adresses partiel
Le montage le plus simple consiste utiliser la ligne A15 pour effectuer la sélection ROM-RAM.
•
A15 = 0 :
CSRAM = 1
CSROM = 0
RAM sélectionnée
•
A15 = 1 :
CSRAM = 0
CSROM = 1
ROM sélectionnée
Les adresses pour lesquelles les boîtiers seront validés seront :
•
•
RAM de 0x0000 à 0x7FFF. Taille 32 Ko
ROM de 0x8000 à 0xFFFF. Taille 32 Ko
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.
2.2 - Décodage d’adresses total
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 :
•
A15=0, A14=1, A13=1, A12=1, A11=0, A10=0
CSRAM = 1
CSROM = 0
RAM selectionnée
CSRAM = /A15 . A14 . A13 . A12 . /A11 . /A10
•
A15=0, A14=1, A13=1, A12=1, A11=1, A10=0
CSRAM = 0
CSROM = 1
ROM sélectionnée
CSROM = /A15 . A14 . A13 . A12 . A11 . /A10
Chapitre 6 : Décodage d’adresses
Page 3 / 6
Architecture matérielle des systèmes informatiques
Jean-claude CABIANCA
Plan mémoire associé :
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
Adresse
Taille
Zone
1
2
3
4
5
Taille des différentes zones : ( Taille = @fin - @début + 1 )
Zone 1 :
Zone 2 :
Zone 3 :
Zone 4 :
Zone 5 :
La taille totale vaut :
Chapitre 6 : Décodage d’adresses
Page 4 / 6
Architecture matérielle des systèmes informatiques
Jean-claude CABIANCA
3 – Circuits associés au décodage d’adresses
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.
Schéma d’un démultiplexeur 1 vers 4 :
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.
Schéma d’un comparateur 74LS688 :
Chapitre 6 : Décodage d’adresses
Page 5 / 6
Architecture matérielle des systèmes informatiques
Jean-claude CABIANCA
3.3 – Circuits programmables : PAL
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.
Structure interne générale :
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 6 : Décodage d’adresses
Page 6 / 6
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Chapitre 7
Introduction à la Gestion des Entrées-Sorties
1 . Introduction
• Un système numérique dialogue avec le monde extérieur au travers de périphériques (clavier,
souris, haut-parleur, écran…).
• 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 . Les techniques de gestion
2.1 – La scrutation

Le processeur va exécuter un programme qui va réaliser une boucle de scrutation des
différents coupleurs.

L’inconvénient de cette technique est que s’il y a changement d’état du coupleur N et
que la boucle de scrutation en est au coupleur 1, il faut attendre que les N-1 coupleurs
soient scrutés.

De plus, pendant que le processeur exécute ce programme de scrutation, il ne peut pas
exécuter d’autres programmes.
2.2 – Les interruptions

Une autre méthode consiste à utiliser la technique des interruptions : une ligne
d’interruption va relier le coupleur et le processeur.

Le coupleur enverra un signal au processeur par l’intermédiaire de cette ligne
uniquement lorsque ce sera nécessaire.

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.

C’est ce qui se passe dans un PC en utilisant un contrôleur d’interruptions de type 8259,
celui-ci permet d’établir une priorité entre les différentes demandes et de masquer
certaines demandes.
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 1 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
3 . Transfert d’informations
•
Comment échanger de façon simple des informations avec l’extérieur ?
•
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.
3.1 – La liaison parallèle
•
C’est la façon la plus simple d’échanger des informations entre le processeur et un
périphérique de type imprimante.
•
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)
:
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 2 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
3.2 – La liaison série
•
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.
•
On distingue deux modes de transmission série : la transmission synchrone et la
transmission asynchrone.
•
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
1
Etat repos
0
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 3 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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 . Les coupleurs d’entrées-sorties parallèle
4.1 – Introduction
•
•
•
Un coupleur d’entrées-sorties parallèle comporte des ports permettant de configurer des
lignes en entrées ou en sorties.
Pour permettre cette configuration, le coupleur dispose au moins d’un registre de direction
de données (DDR : Data Direction Register) et d’un registre de données (DR : Data
Register).
En général, les coupleurs parallèle peuvent fonctionner dans différents modes, pour choisir
le mode de fonctionnement, le coupleur dispose aussi d’un registre de commande ou de
contrôle (CR : Control Register).
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 4 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
4.2 – Mise en œuvre d’un coupleur parallèle par scrutation
• 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).
• L’algorithme correspondant est le suivant :
Début
|
|
|
|
|
|
Fin
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
5 . Les masques : Comment isoler des bits ?
5.1 – Les masques d’entrées
• 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.
• On effectue à cet effet, un ET logique entre le contenu du port (DR) et un MASQUE.
• 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.
• Le résultat sera nul si les bits isolés sont à 0.
RES ← DR ET MASQUE
Si RES = 0x00 alors bits isolés à 0
Si RES ≠ 0x00 alors bits isolés ≠ 0
Exemple : on veut isoler le bit 3 (b3) du port :
MASQUE = (00001000)2 = 0x08 = 23
Si RES = 0x00 alors b3 = 0
Si RES ≠ 0x00 alors b3 = 1
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 5 / 14
Architecture matérielle des systèmes informatiques
Rang
DR
MASQUE
RES
Jean-Claude CABIANCA
7
x
0
0
6
x
0
0
5
x
0
0
4
x
0
0
3
x
1
x
2
x
0
0
1
x
0
0
0
x
0
0
5.2 – Les masques de sorties
• 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.
5.2.1 : Mise à « 1 » d’une sortie
L’opération à effectuer est la suivante :
DR ← DR OU MASQUE
Exemple : On veut affecter au bit 2 (b2) du port la valeur 1.
MASQUE = 0x04 = 22
Rang
DR (avant)
MASQUE
DR (après)
7
x
0
x
6
x
0
x
5
x
0
x
4
x
0
x
3
x
0
x
2
x
1
1
1
x
0
x
0
x
0
x
3
x
0
1
x
2
x
0
1
x
1
x
0
1
x
0
x
0
1
x
5.2.2 : Mise à « 0 » d’une sortie
L’opération à effectuer est la suivante :
DR ← DR ET MASQUE
Exemple : On veut affecter au bit 4 (b4) du port la valeur 0.
MASQUE = 0x10 = 24 et MASQUE = 0xEF
Rang
DR (avant)
MASQUE
/MASQUE
DR (après)
7
x
0
1
x
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
6
x
0
1
x
5
x
0
1
x
4
x
1
0
0
Page 6 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
5.3 – Exemples
1 – Ecrire l’algorithme de la fonction logique suivante :
DR0 = DR1 ET DR3
DEBUT
FIN
2 – Ecrire l’algorithme de la fonction logique suivante :
DR2 = DR3 OU DR5
DEBUT
FIN
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 7 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
6 . Les coupleurs d’entrées-sorties série
6.1 – Les UART
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 :
Les registres accessibles pour programmer l’interface sont :
Le registre de contrôle : configuration de la vitesse de transmission, du format des
données, de la parité éventuelle, …
 Le registre d’émission (TX): une écriture dans ce registre lance la sérialisation de la
donnée vers l’ETCD.
 Le registre de réception (RX) : contient la dernière donnée dé-sérialisée en provenance de
l’ETCD
 Le registre d’état : qui permet de contrôler l’état de la liaison, les erreurs éventuelles lors
de la réception et les flags d’émission / réception.

Les principales erreurs de réception sont :
Erreur de format : bit de start repasse au niveau haut avant la fin de la
synchronisation en réception ou si bit de stop non trouvé.
 Erreur de parité : résultat du calcul de parité différent de celui généré par l’émetteur.
 Erreur de débordement : bit de start décelé par le registre à décalage en réception
alors que ce dernier et le registre de réception sont pleins.

Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 8 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Deux flags (drapeaux) associés au registre d’état sont très importants :
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.
Algorithme de réception d’un caractère :
DEBUT
FIN
Algorithme d’émission d’un caractère :
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.
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 9 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
7 . Les coupleurs de conversion Analogique-Numérique (CAN ou ADC) et
Numérique-Analogique (CNA ou DAC)
7.1 – Introduction
La plupart des capteurs délivrent un signal analogique.
Les actionneurs répondent souvent à une grandeur analogique.
Par contre, de plus en plus fréquemment, le traitement de ces informations se fait en numérique. Il
faut donc des convertisseurs ( CAN et CNA ) aux deux extrémités de la chaîne.
7.2 – Conversion Numérique Analogique
Un Convertisseur Numérique-Analogique (CNA, DAC pour Digital to Analog Converter ) est un
composant électronique dont la fonction est de générer à partir d'une valeur numérique (codée sur
plusieurs bits) une valeur analogique proportionnelle à la valeur numérique codée. Le plus souvent
il s'agira de tensions électriques.
Exemple de convertisseur numérique analogique 3 bits :
Deux principes sont utilisés dans les CNA :
- Réseau R/2R;
- Réseau de résistances pondérées.
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 10 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
7-2-1 : Réseau R/2R.
7-2-2 : Réseau de résistances pondérées.
7-2-3 : Caractéristiques d’un CNA.
7-2-3-1 : La résolution :
Elle est, le plus souvent, indiquée par un nombre de bits (n).
On exprime souvent la résolution en pourcentage de la pleine échelle (Full Scale).
Ainsi dans un système à 8 bits cette résolution sera 1/28 = 1/256 soit 0.4%.
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).
q = ΔV / N avec
ΔV : la variation de tension maximale en sortie;
N : Nombre d'intervalles = 2n-1 où n est le nombre de bits;
7-2-3-3 : Le temps d’acquisition :
C’est le temps qui sépare l’établissement du signal en sortie de la combinaison binaire qui le
produit.
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 11 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
7-2-4 : Introduction d’un bit de signe.
Un bit peut être utilisé pour représenter le signe, le nombre binaire correspondant est codé en
complément à 2.
7.3 – Conversion Analogique Numérique
La conversion analogique numérique consiste à définir une loi de conversion inverse de la loi de
conversion numérique analogique.
Les principes les plus utilisés sont :
- la conversion par comptage et comparaison;
- la conversion par approximations successives;
- la conversion parallèle (flash);
- la conversion semi-parallèle (semi-flash).
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 12 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
7-3-1 : La conversion parallèle
7-3-2 : Principales caractéristiques d’un CAN
7-3-2-1 : La résolution et le quantum:
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 ».
7-3-2-2 : Le temps de conversion :
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.
7.4 – Problème de l’échantillonnage
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.
Si pendant la conversion, la variation de la tension d’entrée est de l’ordre de grandeur du pas de
quantification, il faut prévoir un échantillonneur bloqueur.
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 13 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
L’échantillonnage consiste à prélever la valeur d’entrée à un instant t0 et à la mémoriser un temps
suffisant pour qu’elle soit convertie. Ceci est fait à l’aide d’un échantillonneur bloqueur.
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 :
Si on n'utilise pas un élément physique effectuant la fonction échantillonneur bloqueur, l’opération
de numérisation revient à échantillonner, puisque l’on obtient une valeur numérique de la tension
d’entrée une fois par période de conversion.
Remarque 2 :
La meilleure illustration de l'application du théorème de Nyquist-Shannon est la détermination de
la fréquence d'échantillonnage d'un CD audio, qui est de 44,1 kHz. En effet, l'oreille humaine
peut capter les sons jusqu'à 16 kHz, quelquefois jusqu'à 20 kHz. Il convient donc, lors de la
conversion, d'échantillonner le signal audio à au moins 40 kHz. 44,1 kHz est la valeur normalisée
par l'industrie.
Chapitre 7 : Introduction à la Gestion des Entrées-Sorties
Page 14 / 14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Chapitre 8
Les Périphériques
1 . Introduction
On distingue deux groupes d'unités périphériques :
– les mémoires auxiliaires, secondaires ou mémoires de masse (disque dur, disquette, CDROM, 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 . Les mémoires de masse ou mémoires auxiliaires
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 :
– les enregistrements magnétiques ;
– et les disques optiques numériques .
2.2 – L'enregistrement magnétique
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.
Les disques et disquettes : l’information est organisée en pistes et secteurs.
2.2.2. Les disques durs
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.
Chapitre 8 : Les Périphériques
Page 1 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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 données sont organisées en cercles concentriques appelés "pistes".
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.
Chapitre 8 : Les Périphériques
Page 2 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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 – Les disques optiques numériques
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.
2.3.2. CD-ROM (Compact Disc - Read Only Memory)
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.
Chapitre 8 : Les Périphériques
Page 3 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.
Le lecteur CD-ROM est caractérisé :
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.
Par son type : ATAPI (IDE) ou SCSI
2.3.3. Le DVD-ROM (Digital Versatile Disc - Read Only Memory)
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.
Chapitre 8 : Les Périphériques
Page 4 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Il existe 4 types de DVD différents :
Type de support
Capacité
CD
650Mo
DVD simple face simple couche
4.7Go
DVD simple face double couche
8.5Go
DVD double face simple couche
9.4Go
DVD double face double couche
17Go
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 . Les périphériques d'entrées-sorties
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.
Chapitre 8 : Les Périphériques
Page 5 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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
L'image à afficher est définie dans une mémoire (mémoire vidéo).
Pour changer l'image de l'écran, il suffit de changer le contenu de cette mémoire.
Indépendamment du contenu de cette mémoire, tout l'écran est rafraîchit périodiquement ligne par
ligne (effet de balayage).
3.3.2. Le moniteur à tube cathodique
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.
3.3.3. Les moniteurs à cristaux liquides (LCD)
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.
Les moniteurs sont souvent caractérisés par les données suivantes :
Chapitre 8 : Les Périphériques
Page 6 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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 dimension : elle se mesure en "pouces" (1pouce = 2,55cm) et correspond à la mesure de la
diagonale de l'écran. On trouve les dimensions suivantes : 9", 12", 13", 14", 15", 17", 20", etc. Par
exemple, un écran de 17 pouces a une diagonale de 43,35 cm.
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 :
– l'imprimante matricielle (à aiguilles)
– l'imprimante à jet d'encre
– l'imprimante laser
3.4.2. L'imprimante matricielle
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.
3.4.3. L'imprimante jet d'encre
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.
3.4.4. L'imprimante laser
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.
Un ionisateur de papier charge les feuilles positivement. Un ionisateur de tambour charge le
tambour négativement.
Chapitre 8 : Les Périphériques
Page 7 / 8
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.
La qualité d'une imprimante se définit par
- sa rapidité : nombre de pages par minute (exemple : 6 pages/min)
- sa définition : résolution, qualité d'impression (exemple : 600 dpi ou points par pouce).
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).
Le modem convertit en analogique l'information binaire provenant de l'ordinateur. Il envoie ensuite
ce nouveau code dans la ligne téléphonique.
Ainsi, le modem module les informations numériques en ondes analogiques ; en sens inverse il
démodule les données numériques.
C'est pourquoi modem est l'acronyme de Modulateur/DEModulateur.
Chapitre 8 : Les Périphériques
Page 8 / 8
Téléchargement