ARCHITECTURE MATERIELLE DES SYSTEMES 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
Chapitre 8 : Les périphériques
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 :
-
L'unité centrale de traitement ou UC est constituée :
• Du CPU (Central Process Unit) ou processeur correspondant au moteur de la machine.
Il exécute les instructions des programmes ;
• De la mémoire centrale qui 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 le stockage USB 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 Digitaliseur (Scanneur) permet de digitaliser des documents, c'est à dire de transformer une
image en une forme numérique (fichier).
-
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.
•
Pour traiter une information un processeur seul ne suffit pas, il faut lui associer de la mémoire
(pour stocker le programme) et des interfaces d'entées-sorties (pour dialoguer avec l'extérieur).
Ces différents organes sont reliés par des voies de communication appelées bus comme le
montre la figure suivante :
4.2 - Le processeur ou CPU
•
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.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 3/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
•
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.
•
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 :
1.
Lit l'instruction à exécuter en mémoire (travail effectué par l’unité de commande) ;
2.
Exécute l'instruction (travail effectué par l’unité de traitement aussi appelée UAL – Unité
Arithmétique et Logique) ;
3.
Passe à l'instruction suivante.
•
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.
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 commande ou bus de contrôle 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).
-
La multiplication des périphériques autour du processeur nécessite la présence d'un décodeur
d'adresses chargé d'aiguiller les données présentes sur le bus de données vers le boîtier
d'interface d'entées-sorties concerné.
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.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 4/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
•
Les différents éléments de la mémoire d’un ordinateur sont ordonnés en fonction des critères
suivants :
- le temps d’accès
- la capacité
- le coût par bit.
•
Quand on s’éloigne du CPU vers les mémoires auxiliaires, on constate que le temps d’accès et
la capacité des mémoires augmentent, mais que le coût par bit diminue :
•
Registres du CPU :
Ils sont caractérisés par une grande vitesse et servent principalement au stockage des opérandes
et des calculs intermédiaires.
•
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.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 5/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Ordres de grandeurs :
Temps d’accès : De quelques ns (Registres du CPU) à quelques ms (Mémoires auxiliaires).
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).
1 Kio (Kibioctet) = 210 octets et 1 Ko (Kilooctet) = 103 octets (mille octets) ;
1 Mio (Mébioctet) = 220 octets et 1 Mo (Mégaoctet) = 106 octets (1 million d'octets) ;
1 Gio (Gibioctet) = 230 octets et 1 Go (Gigaoctet) = 109 octets (1 milliard d'octets) ;
1 Tio (Tébioctet) = 240 octets et 1 To (Téraoctet) = 1012 octets (1 000 milliard d'octets = 1
billion d'octets).
4.4 - Les interfaces d’entrées / sorties (ou coupleurs d’entrées / sorties).
•
Les interfaces d’entrées / sorties 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.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 6/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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
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.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 7/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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
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.
Afin d’accueillir le processeur, la carte mère possède un emplacement appelé Socket ou Slot.
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 :
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.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 9/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
On trouve actuellement de la RAM de type DDR3 d'une capacité d'au moins 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 6 * 64 Ko pour l'Intel i7.
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.
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.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 10/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.
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).
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.
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 11/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Connecteur :
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 :
-
Sur les postes serveurs, 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).
-
Un bus de connexion de disques dur appelé SCSI (Small Computer System Interface) était
souvent proposé sur les postes serveurs.
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.
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 :
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
Page 12/14
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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 : 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 :
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.
6.7.5 : interface HDMI
Le High Definition Multimedia Interface (HDMI) est une norme et interface audio/vidéo
totalement numérique pour transmettre des flux chiffrés, principalement non compressés et destinée
au marché grand public.
Le HDMI permet de relier une source audio/vidéo (lecteur Blu-ray, ordinateur ou console de jeu) à
un dispositif compatible tel un téléviseur HD ou un vidéoprojecteur.
Le connecteur HDMI est le suivant :
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
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.
–
RAID 2
Disques supplémentaires nécessaires
pour stocker les codes de contrôle ECC.
Grappes
parallèles
avec codes
ECC
(Hamming)
–
RAID 3
Un disque supplémentaire est nécessaire
pour stocker les contrôles de parité.
–
Découpage des données bit par bit.
Grappes
parallèles
avec codes
de parité
+
RAID 4
Agrégat de
bandes
(blocs) avec
parité
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.
+
RAID 5
Agrégat
de
bandes (blocs)
avec
parité
alternée
Chapitre 1 : Introduction à l’architecture des systèmes informatiques
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 en anglais).
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 24 = 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 : Écrites 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 / 11
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 , 1.2 x 10-5 ,.....
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 en base 10 :
( 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 / 11
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.
0
Binaire
0
0
0
HEXA
0
0
1
1
1
7
1
1
1
1
F
( 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 / 11
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 = C2 (+ 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 / 11
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
Remarques :
–
–
Pour tous les codages, un nombre négatif comporte un bit de poids fort égal à 1, et un
nombre positif comporte un bit de poids fort égal à 0 ;
Pour un codage en complément à 2, l'entier -1 est codé par tous les bits à 1.
Chapitre 2 : Représentation des informations
Page 5 / 11
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 / 11
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 :
Chapitre 2 : Représentation des informations
Page 7 / 11
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
2.3.2 - Standard IEEE 754 (Institut of Electrical and Electronics Engineers)
Le standard IEEE définit trois formats de représentation des nombres en virgule flottante :
Format :
(type float en langage C++)
Format :
(type double en langage C++)
Format :
• Simple précision sur 32 bits ( 4 octets ) :
- 1 bit de signe.
- 8 bits pour l'exposant (biaisé à 127).
- 23 bits pour la mantisse.
• Double précision sur 64 bits ( 8 octets ) :
- 1 bit de signe.
- 11 bits pour l'exposant (biaisé à 1023).
- 52 bits pour la mantisse.
• Précision étendue sur 80 bits
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 1) et 8 bits pour l'ASCII étendu (annexe 2).

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.

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 / 11
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 / 11
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 Feed » : retour à une nouvelle ligne.
- « Vertical Tabulation » : tabulation verticale.
- « Form Feed » : 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.
Exemples :
–
–
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.
Les caractères 'LF' et 'CR' sont codés par les valeurs hexadécimales (0A)16 et (0D)16.
Chapitre 2 : Représentation des informations
Page 10 / 11
Architecture matérielle des systèmes informatiques
ANNEXE 2 :
Chapitre 2 : Représentation des informations
Jean-Claude CABIANCA
Liste du code ASCII à 8 bits
Page 11 / 11
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 / 7
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 :
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) :
Chapitre 4 : Le Processeur
Page 2 / 7
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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 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.
Registre 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é Arithmétique et Logique (UAL) et Registres associés
L’UAL 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
Deux registres principaux sont associés à l’UAL :
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.
Chapitre 4 : Le Processeur
Page 3 / 7
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.
• 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).
Chapitre 4 : Le Processeur
Page 4 / 7
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
6 . COMPARATIF DES PROCESSEURS INTEL ET AMD
• Un extrait d'un comparatif performance/prix des processeurs Intel et AMD réalisé par
hardware.fr, publié le 25 Mars 2010 et mis à jour le 2 juin 2011 est donné ci-dessous :
(http://www.hardware.fr/articles/778-1/comparatif-geant-185-processeurs-intel-amd.html)
Sur l'entrée de gamme et le moyen de gamme, AMD reste très compétitif. Les Athlon II X2 sont au
dessus des Pentium, alors que les Athlon II X3 et X4 mettent à mal les Core i3 LGA 1156.
Le haut de gamme laisse par contre paraître une énorme domination d'Intel. Face aux processeurs
LGA 1155, les Phenom II X4 et X6 sont globalement trop chers.
Chapitre 4 : Le Processeur
Page 5 / 7
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Annexe 1 : Processeur Intel i7-980x
Chapitre 4 : Le Processeur
Page 6 / 7
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
Annexe 2 : Processeur AMD Phenom II X6 1090T
Chapitre 4 : Le Processeur
Page 7 / 7
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 : Elle correspond au nombre d’informations que la mémoire peur contenir,
elle est exprimée généralement en fonction du nombre d’octets.
Unité
Kilo-octet
Méga-octet
Giga-octet
Téra-octet
Abrégé
Ko
Mo
Go
To
Valeur exacte en octets
210 = 1 024
220 = 1 048576
30
2 = 1 073 741 824
40
2 = 1 099 511 627 776
Valeur approximative
103 = Mille octets
106 = Un million
109 = Un milliard
1012 = 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-3-4-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
divisible 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
(polling) 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 " 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 (44100 échantillons par
seconde). 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 pour la norme CD-audio.
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 : 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 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 / 6
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 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.
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).
Chapitre 8 : Les Périphériques
Page 2 / 6
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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-dessous :
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), SCSI ou SATA.
Chapitre 8 : Les Périphériques
Page 3 / 6
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.
Il existe 4 types de DVD différents :
Type de support
Capacité
CD
650 Mo
DVD simple face simple couche
4.7 Go
DVD simple face double couche
8.5 Go
DVD double face simple couche
9.4 Go
DVD double face double couche
17 Go
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é.
Chapitre 8 : Les Périphériques
Page 4 / 6
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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 permettant de transmettre tout mouvement de déplacement à un
pointeur visible à l'écran. 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).
Anciennement à tubes cathodiques, il sont maintenant à cristaux liquides (LCD).
3.3.2. 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.
3.3.3. Caractéristiques des moniteurs
– 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 à jet d'encre
– l'imprimante laser
Chapitre 8 : Les Périphériques
Page 5 / 6
Architecture matérielle des systèmes informatiques
Jean-Claude CABIANCA
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.4.2. 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.3. 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.
Le laser quant à lui (grâce à un miroir qui lui permet de se placer) charge le tambour positivement
en certains points. Du coup, l'encre du toner chargée négativement se dépose sur les parties du toner
ayant été chargées par le laser, qui viendront se déposer sur le papier. L'imprimante laser n'ayant pas
de tête mécanique est plus rapide et moins bruyante.
3.5 – Le Scanner
Le scanner est un périphérique permettant de numériser des documents à partir d'un format "papier"
et de générer des documents au format "électronique ou numérique". 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. 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 6 / 6
Téléchargement