Vous êtes sur la page 1sur 92

Architecture des ordinateurs !

J.M. Perronne cours architecture des ordinateurs


Un peu d'histoire !2

Le boulier (an 700)


Les premières machines à calculer mécaniques
1642 Blaise Pascal Première machine à calculer (addition et
soustraction) construite. Machine à engrenage actionnée à la
main destinée à aider son père alors intendant des finances
en Haute Normandie.

(1646-1716) Leibnitz adjoint à la précédente machine la


multiplication et la division.

(1792-1871) Charles Babbage professeur de mathématiques


à Cambridge.

La machine à différence établit des tables de navigation et les grave sur


un plateau en cuivre.

La machine analytique, cette fois n'est plus dédiée à une application.


Les instructions étaient lues sur des cartes perforées(premier programme
écrit par Ada Augusta Lovelace).

J.M. Perronne cours architecture des ordinateurs


Un peu d’histoire !3

Les ordinateurs programmables


1938, Konrad Zuse invente un ordinateur qui fonctionne grâce à des relais
électromécaniques: le Z3. Cet ordinateur est le premier à utiliser le binaire au lieu
du décimal.

1937, Howard Aiken met au point un ordinateur programmable mesurant 17m de


long et 2.5 mètres de hauteur, permettant de calculer 5 fois plus vite que l'homme:
C'est le Mark I d'IBM.
Il est alors constitué de 3300 engrenages, 1400 commutateurs reliés par 800km de
fil électrique.

1947, le Mark II voit le jour, ses engrenages sont remplacés par des composants
électroniques.

Les ordinateurs à lampes


La seconde guerre mondiale précipita l’avènement des ordinateurs.

1943 COLOSSUS Ordinateur électronique destiné à décoder les messages


radiophoniques envoyés aux sous-marins allemands.

J.M. Perronne cours architecture des ordinateurs


Un peu d'histoire !4

Les ordinateurs à lampes


1946 ENIAC Machine fabriquée aux Etats-Unis par Mauchley et Eckert. Au départ
destinée aux réglages des tirs d'artillerie (1943), cette machine comportait 1800
tubes à vide et 1500 relais, pesait 30 tonnes et consommait 140 kW. Elle disposait
de 20 registres de 10 chiffres décimaux et la programmation se faisait par 6000
commutateurs.

Le Bug :

La première erreur informatique est due à un insecte qui, attiré par la chaleur,
était venu se loger dans les lampes et avait créé un court-circuit.
Ainsi un insecte s'appelant bug en anglais, le nom est resté pour nommer une
erreur informatique (nos chers académiciens ont toutefois préférer le franciser
comme à l'habituelle pour lui donner un nom ridicule n'ayant aucune
signification: bogue).
J.M. Perronne cours architecture des ordinateurs
Un peu d’histoire !5

Les ordinateurs à transistors (1955-1965)


Le transistor a été inventé en 1948 aux Bell Labs par John Bardeen, Walter Brattain
et William Schockley. La course aux super-calculateurs est lancée.

1957 Fondation de l'entreprise DEC et commercialisation d'une machine de type


TX-0.

1961 PDP-1 (120 000$) Machine de DEC, quelques dizaines de ces machines furent
vendues, l'industrie de la mini-informatique prend son essor.

PDP-8 (16000$) Machine à bus unique et beaucoup moins chère que le PDP1

1964 CDC 6600 machine rapide à architecture parallèle très utilisée pour le calcul
numérique. Cette machine marque le début de la course à la puissance.

IBM 7030 dit Strech. Super ordinateur construit à 8 exemplaires pour la recherche
nucléaire.

Gamma 60 Ordinateur de chez Bull et plus gros ordinateur jamais construit en


France.

J.M. Perronne cours architecture des ordinateurs


Un peu d’histoire !6

Les ordinateurs à circuits intégrés (1965-1980)


L'invention du circuit intégré a permis de placer des dizaines de transistors sur une
puce de silicium, ce qui conduit à des ordinateurs plus petits, consommant moins
et moins coûteux.

Système/360 d'IBM destiné aussi bien aux applications scientifiques qu'à la


gestion. Une grande innovation est que chaque appareil de cette gamme possédait
le même langage d'assemblage ce qui assurait une certaine compatibilité.

PDP-11 (DEC) Equivalent au 360, il connut un énorme succès dans les universités.

Les ordinateurs personnels et VLSI (1980-2XXX)


Dans les années 80 les VLSI (Very Large Scale Integration) allaient permettre
d'intégrer des dizaines de milliers, puis ensuite des millions de transistors sur une
puce et d'obtenir des ordinateurs toujours plus petits et rapides. L'ère de
l'informatique personnelle débute.

Il est très difficile de nos jours de suivre l'évolution de l'ordinateur. En effet cette
évolution suit la loi de Moore : "on peut placer 4 fois plus de transistors sur une
puce tous les 3 ans".

J.M. Perronne cours architecture des ordinateurs


Ordinateurs !7

Types

Jaguar 1,75 pétaFLOPS Baies de serveurs LAM Gros ordinateur


Cray de bureau

laptop
Téléphones

Ordinateur de bureau
intégré

Domotique Systèmes embarqués

J.M. Perronne cours architecture des ordinateurs


Concept des machines multicouches !8

Généralités
L'informatique est la science qui traite l'information, pour ce faire elle dispose
d'ordinateurs.

Un ordinateur est une machine capable de résoudre des problèmes en appliquant


des instructions préalablement définies. Un ordinateur ne sait reconnaître à la base
qu'un nombre très réduit d'instructions (langage machine ) ; celles ci sont du
genre:

additionner deux nombres,

tester si un nombre est égal à zéro

changer d'emplacement mémoire une donnée

L'ensemble des instructions directement exécutables par l'ordinateur forme un


langage qui permet de communiquer avec celui-ci.

Le langage machine (L1) et le matériel (M1) sont étroitement liés, en général on


cherche à avoir un langage simple de manière à réduire la complexité et le coût du
matériel.

J.M. Perronne cours architecture des ordinateurs


Concept des machines multicouches !9

Architecture d'une machine multi niveaux


Il est possible d'imaginer écrire un jeu d'instructions qui serait plus aisé à utiliser.
Un nouveau langage (L2) sera alors établi.

Pour exécuter un programme écrit en L2 deux solutions s'offrent à nous :

Remplacer les instructions de L2 par la suite d'instructions L1 correspondantes. Le programme L1 ainsi


obtenu sera lui exécuté. Nous faisons alors appel à des techniques de traduction.

Ecrire un programme en L1 capable d'examiner chaque instruction L2 et d'exécuter directement la suite


d'instructions L1 correspondantes. Nous faisons alors appel à un interpréteur.

Au lieu de raisonner en interprétation ou en traduction, il peut être alors plus aisé


de d'imaginer une machine virtuelle M2 dont le langage machine serait le langage
L2 ; etc.…

Lorsque l'on travaille à un niveau n, l'utilisateur n'a pas nécessairement besoin de


se soucier ou de connaître les niveaux inférieurs.

J.M. Perronne cours architecture des ordinateurs


Concept des machines multicouches !10

Machine virtuelle M3/L3

Association d'un matériel et d'un langage. M2/L2


M1/l1

Les couches des ordinateurs actuels


Niveau 5 Couche des langages d'application Traduction
(compilateur)

Couche du langage d'assemblage


Traduction
(assembleur)

Couche du système d'exploitation


Interprétation partielle
(système d'exploitation)
Couche machine traditionnelle
Interprétation (microprogramme)

Couche micro programmée


Exécution directe du microprogramme
par le matériel
Niveau 0 Couche physique

J.M. Perronne cours architecture des ordinateurs


Concept des machines multicouches !11

Le niveau 0 ou couche physique.


Les objets manipulés à ce niveau sont des composants logiques formés de
transistors. Les ordinateurs sont élaborés à partir d'association plus ou moins
complexes de circuits logiques :

Portes ET, OU, NON, NON-ET, NON-OU.

Circuits plus complexes comme les codeurs, les décodeurs, multiplexeurs, démultiplexeurs, circuits à
décalage...

Circuits arithmétiques comme les additionneurs.

Circuits mémoires (RAM, ROM)

Bus qui interconnectent les unités internes des ordinateurs. Ils comprennent des lignes : d'adresses, de
données, de contrôles

Rq:

Un bus synchrone est piloté par une horloge.

Un bus asynchrone met en œuvre des techniques d'accusé de réception et de confirmation pour
synchroniser les dialogues entre unité.

Les divers dispositifs périphériques sont raccordés à l'ordinateur par des circuits d'E/S.

J.M. Perronne cours architecture des ordinateurs


Concept des machines multicouches !12

Le niveau 1 ou couche microprogrammée


Ce niveau comprend un programme appelé microprogramme.

Il est formé de quelques instructions de base, son travail est de contrôler les
composants logiques par l'intermédiaire d'un microprogramme.

Il analyse et interprète également la couche machine traditionnelle et fait ainsi


apparaître une machine virtuelle. Ces diverses fonctions définissent le
comportement primaire de l'ordinateur.

Il est toujours masqué à l'utilisateur.

Rq

Architecture CISC (Complex Instruction Set Computer, "ordinateur avec jeu d'instructions complexes")

Architecture RISC (Reduced Instruction Set Computer, "ordinateur à jeu d'instructions réduit")

J.M. Perronne cours architecture des ordinateurs


Concept des machines multicouches !13

Le niveau 2 ou couche traditionnelle


Elle est la première couche visible par l'utilisateur.

Elle regroupe toutes les instructions machines décrites dans les manuels se
rapportant à un processeur.

Cette couche est celle que la plupart des personnes connaissent sous le nom de
"langage machine".

A ce niveau la machine dispose d'une mémoire organisée en mots ou en octets.

Les instructions à ce niveau permettent de déplacer des données, d'effectuer des


opérations arithmétiques et booléennes, des branchements, des appels de
procédure, des boucles, des opérations spécifiques d'E/S...

Ce sont ces instructions qui sont analysées et interprétées par la couche micro
programmée.

J.M. Perronne cours architecture des ordinateurs


Concept des machines multicouches !14

Le niveau 3 ou couche du système d'exploitation


A ce niveau des instructions de gestion machine sont ajoutées.

Le système d'exploitation peut être vu comme un interpréter de certaines


caractéristiques d'architecture que l'on ne trouve pas au niveau précédent. Parmi
celles-ci, nous trouvons la mémoire virtuelle, les instructions d'E/S virtuelles et les
possibilités de traitement parallèle.

La mémoire virtuelle permet d'utiliser un espace d'adressage plus grand que la mémoire physique ou de
disposer d'un dispositif de protection souple et cohérent.

L'abstraction d'E/S la plus importante de ce niveau est sans doute la notion de fichier. Un fichier est une
suite d'enregistrements logiques que l'on peut lire ou écrire sans forcément connaître le fonctionnement
de son support(disques, bandes etc. ...).

C'est également à ce niveau que la possibilité de traitement parallèle est présente. Cette possibilité est
réalisée en simulant plusieurs processeurs par le partage de l'UC dans le temps.

J.M. Perronne cours architecture des ordinateurs


Concept des machines multicouches !15

Le niveau 4 ou couche du langage d'assemblage


C'est à ce niveau que les programmeurs usuels interviennent pour concevoir leurs
applications.

Le langage à ce niveau devient symbolique, il peut permettre d'écrire des


programmes pour les niveaux inférieurs. Le traducteur nécessaire à ce langage est
appelé assembleur.

Cette couche diffère des autres couches par le fait qu'elle soit traitée par traduction
et non par interprétation.

Les programmes sources sont ici transformés par un traducteur en un programme


cible. Lorsque le langage source est essentiellement une représentation
symbolique du langage d'une machine, le traducteur est appelé un assembleur.
Lorsque le langage source est de haut niveau comme C ou Pascal et que le langage
machine est le langage d'une machine, le traducteur est appelé compilateur.

J.M. Perronne cours architecture des ordinateurs


Concept des machines multicouches !16

Le niveau 5 ou couche des langages d'application


C'est le niveau des langages de haut niveau tels que Pascal, C/C++, Ada ... Les
programmes sont traduits par des compilateurs en langage de niveau 3 ou 4.

J.M. Perronne cours architecture des ordinateurs


Structure d'un ordinateur !17

Structure logique
Unité Centrale

Unité de commande

Processeurs,
Unité Arithmétique
et Logique (UAL)

Mémoires,
Unités E/S
Registres

Dispositif d'E/S,
Mémoire Disque Imprimante
principale
Le tout étant interconnecté par
des bus. Bus

J.M. Perronne cours architecture des ordinateurs


Processeur !18

Qu'est-ce qu'un microprocesseur ?


L'UC est le cerveau de l'ordinateur, elle exécute les programmes stockés en
mémoire centrale en chargeant les instructions, en les décodant et en les exécutant
l'une après l'autre.
Elle est composée :

D’une unité de commande qui charge les instructions et les décode.

D’une unité arithmétique et logique qui exécute des opérations arithmétiques (+, -,...) et booléennes (et,
ou,...).

De registres qui permettent de


stocker des résultats temporaires ou
des informations de commande.
Certains registres sont visibles de
l'extérieur d'autres non.

D'une unité de gestion de bus.

D'une horloge.

J.M. Perronne cours architecture des ordinateurs


Processeur !19

Quelques registres
CO : (PC) Compteur ordinal

RI : Registre d'instructions

PSW : Registre d’état. Registre des flags (Carry, Z, …)

SP : Registre pointeur de pile (SP) : Cette pile est une LIFO.

ACC : Accumulateur. Utilisé dans la plupart des opérations arithmétiques et logiques

Registres généraux : Ils permettent de garder des résultats transitoires sans accès à la mémoire.

RA : Registre tampon adresse. Nécessaire à maintenir l’adresse (accès plus long que le déroulement
d’une micro-instruction)

RM : Registre tampon données. Nécessaire pour maintenir la donnée.

Registres d’adressage: Servent aux calculs d’adresses.

Registres spécialisés : Certaines machines possèdent des registres spécialisés comme des registres à
décalage ou encore des registres pour l’arithmétique en virgule flottante.

J.M. Perronne cours architecture des ordinateurs


Processeur !20

Exécution d'une instruction


Un programme est une suite séquentielle d'instructions.

L'ensemble de toutes les instructions dont dispose le programmeur à un niveau


donné s'appelle jeu d'instructions.

Les instructions (opération que le processeur doit accomplir) sont stockées dans la
mémoire principale. Une instruction est composée de deux champs:
code opération champ opérande

le code opération: c'est l'action que le processeur doit accomplir

le code opérande: c'est les paramètres de l'action. Le code opérande dépend de l'opération, cela peut
être une donnée ou bien une adresse d'un emplacement mémoire

Un grand nombre d'instructions n'est pas forcément la meilleure solution. Dans ce


cas, elles ne seraient pas suffisamment générales ce qui compliqueraient l'écriture
des compilateurs et traducteurs voir même de ralentir la machine.

J.M. Perronne cours architecture des ordinateurs


Processeur !21

Cycle: chargement décodage exécution

.1
Chargement de la prochaine instruction à exécuter
depuis la mémoire jusque dans le registre d'instruction

.2
Modification du compteur ordinal pour
qu'il pointe sur l'instruction suivante

.3
Décodage de l'instruction chargée

.4
Localisation en mémoire des données utilisées
par l'instruction si nécessaire

.5
Chargement des données
dans les registres internes si nécessaires

.6
Exécution de l instruction

.7
Stockage des résultats

J.M. Perronne cours architecture des ordinateurs


Processeur !22

Architectures d’unités arithmétiques et logiques


Simple
L'UAL exécute les opérations simples arithmétiques (+, -,...) ou logiques (et, ou, ...)
sur les données présentes à ses entrées et donne le résultat dans un registre de
sortie.

Le contenu du registre de sortie peut alors être à nouveau placé dans un registre
avant de rejoindre si nécessaire la mémoire.
A+B

A
Registres

Chemin de données d'une machine


A Registres d'entrée B von Neumann classique

UAL

A+B Registres de sortie

J.M. Perronne cours architecture des ordinateurs


Processeur et parallélisme !23

Architectures d’unités arithmétiques et logiques et parallélisme


Il s’agit ici de permettre l’exécution d’instruction en parallèle.

Pour aller de plus vite, il est possible d'imaginer des machines comportant
plusieurs UAL.

On peut ranger les machines parallèles dans trois catégories en fonction du flux de
données et d'instructions qu'elles peuvent traiter simultanément.

Type de machine Flux d’instructions Flux de données

Machine simple 1 1

Machine Pipeline 1/n 1

Machine vectorielle 1 n

Machine multi-traitements n n

J.M. Perronne cours architecture des ordinateurs


Processeur et parallélisme !24

Machine multiprocesseurs
Un ordinateur peut posséder plusieurs processeurs,

Certains processeurs auxiliaires appelés encore coprocesseurs peuvent décharger


le processeur principal des charges:

de calculs arithmétiques (coprocesseur arithmétique)

de la gestion graphique de la machine (coprocesseur graphique).

...

J.M. Perronne cours architecture des ordinateurs


Processeur et parallélisme !25

Machine Pipeline
Introduction de parallélisme en chargeant une instruction avant que l'exécution de
la précédente ne soit terminée.

L'exécution d'une instruction peut se faire par l'assemblage d'unités fonctionnelles

P1 charge une instruction n depuis la mémoire,

P2 reçoit l'instruction n pour analyse, tandis que P1 charge l'instruction n+1.

A chaque intervalle de temps P1 charge une nouvelle instruction alors que les autres progressent d'une
unité.
P1 P2 P3 P4 P5

Unité de Unité de Unité Unité


Analyseur d'exécution
chargement calcul de chargement
d'instruction de l'instruction
d'instruction d'addresse de données

P1 1 2 3 4 5 6 7 8 9

P2 1 2 3 4 5 6 7 8

P3 1 2 3 4 5 6 7

P4 1 2 3 4 5 6

P5 1 2 3 4 5

temps

J.M. Perronne cours architecture des ordinateurs


Processeur et parallélisme !26

Machine Vectorielle
Ce type de machine opère sur plusieurs jeux de données en parallèle.

Le chemin des données est identique à celui d'une machine traditionnelle à ceci
près qu'au lieu d'avoir une seule variable pour chaque entrée de l'UAL, on a un
vecteur. Vecteurs d'entrée
A B
L'UAL est également vectorielle et est capable
d'effectuer ses opérations sur les vecteurs.

La sortie est alors disponible sous forme de vecteurs.

Dans ce type de machines nous avons


une unité de commande pour toutes les UAL
UAL vectorielle

A+B
Vecteur de sortie
J.M. Perronne cours architecture des ordinateurs
Processeur et parallélisme !27

Machine Multitraitements
Dans ce cas nous avons une unité de commande, un analyseur d'instruction et
ensuite plusieurs UAL spécialisés.

L'analyseur envoie le calcul vers l'opérateur adéquat.

Lorsqu'un opérateur est occupé,


les autres sont libres et une
nouvelle instruction peut être
prise en compte. Registres

UAL possédant 5 unités fonctionnelles

J.M. Perronne cours architecture des ordinateurs


Entrées/Sorties !28

Introduction
La fonction d'un ordinateur est le traitement de l'information.

Il faut alors savoir de quelle manière un ordinateur acquiert ces informations du


monde extérieur et comment il les restitue.

Les organes d'E/S se multiplient et prennent de nos jours une grande place dans
l'architecture d'un ordinateur.

Deux modes d'organisation des E/S dominent en architecture des ordinateurs


modernes.

J.M. Perronne cours architecture des ordinateurs


Entrées/Sorties !29

Architecture “petits ordinateurs”


Machines souvent composées d'un châssis et d’une carte mère où figurent:

les processeurs, la mémoire, quelques circuits d'E/S, un bus imprimé.

Sur le bus se trouvent quelques connecteurs (slots d'extension). Ceux-ci permettent d'ajouter des
circuits complémentaires ou encore des cartes additionnelles.

J.M. Perronne cours architecture des ordinateurs


Entrées/Sorties !30

Architecture “petits ordinateurs” Moniteur


Unité de Unité de
Clavier disquette disque dur
Structure logique d'un micro-ordinateur

Contrôleur Contrôleur Contrôleur Contrôleur


UC Mémoire
d'écran de clavier de disquette de disque dur

Chaque périphérique est composé de deux parties :

Le contrôleur (gestion matérielle et logicielle) et le périphérique proprement dit.

Souvent les contrôleurs se présentent sous forme de carte additionnelle

Les contrôleurs indispensables (disque dur par ex) figurent directement sur la carte mère.

Le rôle du contrôleur est de piloter le périphérique et de prendre en charge la gestion de la


communication avec la mémoire centrale.

Le bus sert aux périphériques et au processeur

La gestion du bus est confiée à un dispositif particulier appelé arbitre de bus. En cas de conflit la
préférence est souvent donnée aux périphériques pour ne pas pénaliser l'accès aux informations.

J.M. Perronne cours architecture des ordinateurs


Entrées/Sorties !31

Architecture “gros ordinateurs”


Opération d'E/S sous-traité au canal associé à un périphérique.

Ce canal effectue la tâche nécessaire au traitement de façon autonome, réalisant


directement le transfert des données entre la mémoire et le périphérique.

Ce procédé permet de décharger le processeur principal de la gestion des E/S ce


qui diminuerait grandement son efficacité

Architecture fondée sur trois groupes de bus :

Bus mémoire. Les canaux lisent Bus mémoire


et écrivent directement les Mémoire
données en mémoire.
Bus dʼE/S
UC
Bus d'E/S. Le processeur
communique aisément avec les Processeur dʼE/S Processeur dʼE/S
canaux d'E/S (canal) (canal)
(transmission des commandes, interruptions, ...).
Contrôleur de Disque Disque Disque
Imprimante
Bus local. Il permet au processeur terminaux
d'échanger des informations
(pgs et données) avec la mémoire. Terminal Terminal

J.M. Perronne cours architecture des ordinateurs


Entrées/Sorties !32

Gestion
IL s’agit d’effectuer des transferts d’information entre les périphériques et la
mémoire via le bus sous “l’initiative” du processeur.

Quatre modes

Attente Active (Pooling)


Méthode programmée utilisée dans les systèmes les plus simples.

Méthode où le processeur vérifie périodiquement la disponibilité du périphérique.

L'inconvénient majeur est que le processeur passe son temps à attendre que le
périphérique soit prêt. Processeur

Mémoire Contrôleur
dʼE/S

Périphérique

J.M. Perronne cours architecture des ordinateurs


Entrées/Sorties !33

Par interruption
Pour éviter les pertes de temps,

Configuration du système d'E/S de manière à ce qu'il délivre une interruption dés


qu'il est prêt à dialoguer.

Les inconvénients sont que :

La gestion des interruptions peut devenir compliquée si leur nombre et leur diversité augmentent.

Le traitement d'une interruption peut être coûteux en temps de traitement.

Pg principal
Processeur
Pg d’interruption

Mémoire Contrôleur
dʼE/S

Périphérique

J.M. Perronne cours architecture des ordinateurs


Entrées/Sorties !34

Accès direct à la mémoire (DMA)


Ce mode consiste à décharger le processeur de la gestion des E/S pour la confier à
un dispositif dont c'est la spécialité.

Le contrôleur de DMA agit comme un automate de transfert.

Il possède au moins 4 registres devant être initialisé par le processeur :

L'adresse de départ du buffer à lire ou écrire, Processeur

La taille du buffer,

L'adresse du périphérique,
Mémoire Contrôleur Contrôleur
de DMA dʼE/S
Le sens du transfert.

Périphérique

L’inconvénient réside dans le fait que son fonctionnement n'est pas tout à fait
disjoint du processeur car souvent il monopolise le bus (priorité plus haute).

J.M. Perronne cours architecture des ordinateurs


Entrées/Sorties !35

Les E/S associées aux canaux d'échange de données


Un canal d'E/S peut être comparé à un ordinateur spécialisé. Il peut lancer un
programme et contrôler complètement son exécution.

Un programme canal est suivent bien plus complexe qu'un simple échange DMA. Il
est capable d'effectuer des transferts multiples de données tout en minimisant les
demandes d'interruptions au processeur.

L'exécution d'un programme s'effectue de la manière suivante :

L'UC crée un programme canal.

L'UC exécute une instruction STARTI/O pour définir et initialiser le canal ainsi que le périphérique.

Le canal spécifié extrait de la mémoire l'adresse du programme canal qu'il doit exécuter et le charge
dans son compteur ordinal. Bus mémoire
Mémoire

Le canal exécute le programme. Bus dʼE/S


UC

Processeur dʼE/S Processeur dʼE/S


(canal) (canal)

Contrôleur de Disque Disque Disque


Imprimante
terminaux

Terminal Terminal
J.M. Perronne cours architecture des ordinateurs
Bus !36

Introduction
Ensemble de fils permettant l ’interconnexion entre le processeur, la mémoire et les
périphériques

Architecture -> Bus ISA - EISA (1981-1993)


Mémoire

Processeur Contrôleur

Bus principal

Contrôleur ISA

Bus ISA

Contrôleur Ecran Contrôleur Disque

Ecran Disque dur

J.M. Perronne cours architecture des ordinateurs


Bus !37

Architecture PCI (Peripheral Component Interface), (1993-1998)


Bus PCI pour les périphériques rapides

BUS ISA pour les périphériques lents

Mémoire cache Mémoire principale

Processeur Contrôleur

Bus ISA
Contrôleur Bus principal
Réseau
Contrôleur PCI

Bus PCI
Contrôleur
port série
Contrôleur ISA Contrôleur Ecran Contrôleur Disque

Ecran Disque dur

J.M. Perronne cours architecture des ordinateurs


Bus !38

Architecture AGP (Accelerated Graphical Port), (1998-...)


Le multimédia rend la gestion de la vidéo coûteuse en opérations et en mémoire
(films, animations, …).

Liaison vidéo-mémoire sans passer par le bus

Processeur

Bus principal

Mémoire cache
Contrôleur
Ecran Contrôleur Ecran
PCI/AGP/Mémoire
Mémoire principale
Bus PCI

Contrôleur Contrôleur
External IO Réseau ...

USB Firewire ...

J.M. Perronne cours architecture des ordinateurs


Bus !39

Chipset pour les Core i7 est l’Intel X58

J.M. Perronne cours architecture des ordinateurs


Mémoire !40

Introduction
La mémoire est la partie de l'ordinateur dans laquelle programmes et données sont
rangés. C'est un dispositif capable d'enregistrer des informations (codées en
binaire).

Les bits
L'unité de mémoire est un chiffre appelé Bit. de valeur 0 ou 1.

Les adresses mémoires


Une mémoire est formée d'un certain nombre de cellules. Chacune de ces entités
contient une certaine quantité d'information.

Chaque entité à un numéro appelé adresse, c'est par son intermédiaire que chaque
cellule peut être référencée.

Si une mémoire possède n cellules, les adresses iront de 0 à n-1.

Les adresses sont codées en binaire, le nombre de bits pour une adresse définit directement le nombre
de cellule adressable. Pour une adresse codée sur k bits, le nombre de cellules adressables sera de 2^k.

J.M. Perronne cours architecture des ordinateurs


Mémoire !41

Format
La cellule est le plus petit élément accessible dans une mémoire.

Actuellement les cellules font 8 bits et sont nommées Octet (Byte).

Un Mot (Word) mémoire est composé d'un certain nombre d'octets en fonction de la
machine : Adresse
0
Machine 8 bits : Mot -> 1 octet, 1
2
Machine 16 bits : Mot -> 2 octets, 3
4
Machine 32 bits : Mot -> 4 octets. 5
6
... 7
8
9
10
11
cellules 8 bits

Le mot est l'unité d'information selon laquelle opère la plupart des instructions et
ainsi définit le format des registres.

J.M. Perronne cours architecture des ordinateurs


Mémoire !42

Hiérarchie des mémoires


Les différents éléments de la mémoire d'un ordinateur sont ordonnés en fonction
des critères suivants :

temps d'accès, Registres


du CPU Lorsque l'on s'éloigne du CPU vers les
capacité Antémémoire
mémoires auxiliaires:
- le temps d'accès augmente,
coût par bit. Mémoire centrale - la capacité augment
- le coût par bit diminue.
Mémoire d'appui

Mémoires Mémoires auxiliaires

Les registres. Mémoires situés à l'intérieur du CPU.

L'antémémoire ou mémoire cache. Mémoire rapide de faible capacité de stockage utilisée comme
mémoire tampon, elle permet de limiter le nombre d'accès à la mémoire centrale.

La mémoire centrale. Organe principal de rangement des informations utilisées par le CPU.

La mémoire d'appui. Utilisée comme tampon entre la mémoire centrale et les mémoires auxiliaires.

Les mémoires auxiliaires ou mémoires de masse. Mémoires périphériques de grande capacité de


stockage et d'un coût relativement faible.

J.M. Perronne cours architecture des ordinateurs


Mémoire !43

Caractéristiques des mémoires


Capacité ou taille mémoire
Elle correspond au nombre d'informations qu'elle peut contenir. Cette capacité est exprimée en kBits
(composant mémoire) ou en k octets (machine).

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 (qq. ns à qq. ms)

La volatilité
Elle caractérise la permanence des informations dans une mémoire. Une mémoire volatile perd son
contenu lorsque l'on coupe le courant.

Débit
C'est le nombre d'informations lues ou écrites par seconde.

Cycle mémoire
C'est le temps entre deux accès successifs à la mémoire. Il peut être plus long que le temps d'accès car
le fonctionnement des mémoires nécessitent des opérations de maintien, de stabilisation des signaux
dans les circuits, de synchronisation, etc.

J.M. Perronne cours architecture des ordinateurs


Mémoire centrale !44

Introduction
La mémoire centrale à ranger les instructions et les données utilisées par le CPU
les composants la mettant en œuvre sont de différents types.

Familles Mémoires
à semiconducteur

Mémoires vives
Mémoires mortes
RAM
ROM

RAM RAM PROM ROM


dynamique statique Programmable ROM à masque

PROM PROM
Programmable ROM A fusibles

EEPROM EPROM
(UV-PROM)

J.M. Perronne cours architecture des ordinateurs


Mémoire centrale !45

Mémoires vives RAM (Random Acces Memory)


Mémoire à accès aléatoire. C'est une mémoire dans laquelle il est possible de lire
ou d'écrire des informations. On distingue deux types de RAM:

SRAM : ce sont des RAM statiques dont l'élément de base est une bascule. Tant que l'alimentation est
présente l'information persiste. Faible intégration, Temps d'accès (qq. 10 ns).

DRAM : ce sont des RAM dynamiques dont l'information doit être rafraîchie périodiquement. Même en
présence de l'alimentation l'information se dégrade dans le temps. Ces mémoires sont réalisées par le
couplage d'un condensateur avec un transistor. Le condensateur se décharge progressivement et
provoque la perte de l'information.

J.M. Perronne cours architecture des ordinateurs


Mémoire centrale !46

Mémoires mortes
ROM (Read Only Memory)

C'est une mémoire dans laquelle il est juste possible d'effectuer des opérations de lecture. Ce sont des
mémoires non volatiles programmées par le fabricant. Le coût élevé induit par la réalisation de masques
spécifiques impose la grande série.

PROM (Programmable ROM)

C'est une mémoire morte programmable une seule fois par l'utilisateur et de manière irréversible. Ces
mémoires sont conçues pour l'élaboration de programmes identiques en faible nombre d'exemplaire.
Elles sont programmables par application de forte tension (de l'ordre de 25V) ou par claquage de
jonctions.

EPROM (Erasable Programmable ROM)

Le principe est identique à celui des PROM, mais elles offrent en plus la possibilité de pouvoir être
effacée un certain nombre de fois. L'effacement se fait par exposition aux rayons ultraviolet.

EEPROM (Electricaly EPROM)

Elles suivent le même principe que les EPROM mais sont effaçables électriquement. De plus
l'effacement est sélectif et ne demande pas plus de quelques instants.

J.M. Perronne cours architecture des ordinateurs


Mémoire auxiliaire ou secondaire !47

Introduction
Elles permettent le stockage permanent d'un très grand nombre d'informations.
Elles sont composées principalement de disques, de bandes magnétiques et de
disques optiques numériques.

Densité d'enregistrement [bpi : bits per inch] dépend de:

la couche magnétisable,

la distance entre la couche magnétisable et la tête de lecture,

l’écart de l'entrefer.

Les densités actuelles exigent une propreté extrême car toute particule (fumée de
cigarette, empreinte de doigts, poussière...) déposée sur la couche magnétisable
entraîne des détériorations.
cheveu
50 à 100 µm
tête
poussière
20 à 30 µm
fumée empreinte
0.2 à 1 µm 5 µm 5 µm
couche magnétique 0.2 à 4 µm

support

J.M. Perronne cours architecture des ordinateurs


Mémoire auxiliaire ou secondaire !48

Bandes magnétiques Bobine de lecture et d'écriture

Entrefer

Sens de l'aimantation
1 0 1 0 0 0 1 1 1 1 0 0 0
Couche magnétique

Principe Support

L’enregistrement magnétique est analogue à celui d'un magnétophone, il consiste


à exploiter l'aimantation rémanente crée sur une couche mince de matériau
ferromagnétique. Cette couche est composée de micro domaines qui peuvent être
magnétisés en un sens ou son opposé ce qui correspond aux valeurs 0 et 1.

Pour magnétiser chaque cellule on dispose d'une tête de lecture/écriture constituée


d'un entrefer d'un aimant sur lequel est enroulée une bobine.

L'écriture : on fait passer un courant électrique dans la bobine ce qui crée un champ magnétique au
voisinage de l'entrefer. Ce champ traverse les cellules et donne lieu à de petits aimants permanents. Le
sens du courant détermine l'orientation de l'aimantation.

La lecture : Lorsqu'une cellule défile sous la tête de lecture, elle induit un courant électrique dans la
bobine. Suivant le sens du courant induit l'information est 0 ou 1.

J.M. Perronne cours architecture des ordinateurs


Mémoire auxiliaire ou secondaire !49

Organisation des enregistrements


sens de défilement
caractère1 bloc
piste 1

piste 9

caractère 2 gap

Les informations sont enregistrées sous forme de mots d'un caractère les uns à la
suite des autres, sur plusieurs pistes adjacentes (généralement chaque caractère
est codé sur 8 bits plus un de parité pour améliorer la fiabilité).
Lorsque l'unité de bandes a fini d'écrire un enregistrement physique, ce qui correspond à un bloc de
mots ou bloc de données, elle laisse un espace vide d'enregistrement (gap) sur la bande avant d'écrire
un autre bloc.

Cet espace permet d'atteindre ou de quitter la vitesse nominale de lecture/écriture de la bande lors du
démarrage ou de l'arrêt. Il est évident que les blocs doivent être beaucoup plus grands que les gaps de
manière à ne pas gaspiller de la bande.

Les bandes magnétiques sont des mémoires à accès séquentiel. Si l'on désire lire un bloc, il faudra déjà
lire tous les blocs qui le précédent. Cet état de fait peut prendre un temps non négligeable dans le
traitement des informations. C'est pourquoi ce type de mémoire est essentiellement utilisé pour
l'archivage ou les sauvegardes de masse.

J.M. Perronne cours architecture des ordinateurs


Mémoire auxiliaire ou secondaire !50

Les disques durs magnétiques mouvement du bras

tête de lecture/écriture
rotation

surface 5

surface 4 bras
surface 3 porte-tête

Un disque est un plateau métallique circulaire surface 2


matériau non magnétique (cuivre, aluminium...) surface 1
recouvert d'un enduit magnétisable.
surface 0
En général les têtes de lecture/écriture sont placées sur un bras mobile qui se
déplace radialement au disque de l'extérieur vers le centre et inversement.

Souvent une unité de disques comprend plusieurs disques empilés verticalement


sur un même axe de rotation. Dans ce cas le bras d'entraînement des têtes
comporte une tête par surface de disque.

Le bras, les têtes et tout le mécanisme de déplacement du bras sont dans une
étanche hermétique étanche à la poussière de manière à éviter toute
contamination.

J.M. Perronne cours architecture des ordinateurs


Mémoire auxiliaire ou secondaire !51

Organisation des enregistrements


plateaux

Les informations sont enregistrées sur un certain


nombre de pistes concentriques.

Pour un disque à plusieurs plateaux la position radiale


des têtes définit un cylindre de données (superposition
des pistes). secteur
pistes
Les pistes sont divisées en secteurs (unité d'information
sur un disque).

Echange d’information (mémoire-disque)


Informations à préciser

Le cylindre,
Le temps de recherche d’une info
t = temps de positionnement + temps de latence
La tête (la piste peut être atteinte),

Le numéro du secteur où commence l’enregistrement,

Le nombre de mots à échanger,

L’adresse mémoire à partir de laquelle les données seront lues ou écrites selon le sens du transfert.

J.M. Perronne cours architecture des ordinateurs


Mémoire auxiliaire ou secondaire !52

CDROM
Constitution

d'un substrat en matière plastique (polycarbonate)

d'un colorant organique (CD-R) (vierge) piste spirale

d'une fine pellicule métallique réfléchissante (or ou alliage d'argent)

d'une laque anti-UV en acrylique (film protecteur pour les données)

d’une couche supérieure imprimée cuvette


zone sans cuvette

Organisation des informations

L'information est stockée le long d'une spirale de micro cuvettes obtenues par pressage (de parties
altérées par un laser pour les CD-R) disposées à la surface du disque.

Lors de la lecture, on mesure les transitions de quantité de lumière réfléchie pour déterminer les bits à o
ou à 1. Une cuvette (parte altérée) diffracte la lumière et donc ne réfléchie qu'une faible partie alors qu'en
l'absence de cuvette, la lumière est réfléchie en grande partie.

Les informations sont lues à une vitesse constante (la vitesse de rotation du disque doit diminuer
lorsque la tête s'éloigne vers l'extérieur du disque

J.M. Perronne cours architecture des ordinateurs


Mémoire auxiliaire ou secondaire !53

DVD (Digital Versatile Disc - Read Only Memory)


Constitution

Il est une "variante" du CD-ROM dont la capacité est largement plus grande que celle du CD-ROM.

Les alvéoles du DVD sont beaucoup plus petites , 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

d'une couche réflexive à base d'argent.

Lecture des couches, deux intensités de laser:

intensité faible, le rayon est réfléchi sur la surface dorée

intensité forte, le rayon traverse la première couche et est réfléchi sur la surface argentée.

J.M. Perronne cours architecture des ordinateurs


Mémoire auxiliaire ou secondaire !54

Capacités

Support Capacité Equivalent CD

CD 650 Mo 1

DVD simple face - simple couche 4,7 Go 7

DVD simple face - double couche 8,5 Go 13

DVD double face - simple couche 9,4 Go 14

DVD double face - double couche 17 Go 26

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !55

Les terminaux de visualisation


Un terminal interactif est un périphérique permettant à l'utilisateur une
communication dans les deux sens avec l'ordinateur.

Ses composantes sont :

Le clavier,

La souris,

L'écran de visualisation.

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !56

Clavier
Introduction

Le clavier d'un ordinateur ressemble à celui d'une machine à écrire mais n'imprime aucun caractère.

Les touches engendrent des signaux électriques d'où seront produits des codes

En fonction du mode de liaison avec l'ordinateur le code déterminé sera envoyé à l'ordinateur.

Exemple Code associé à une touche

Codeur Signal indiquant si


une touche a été pressée
1
0
1
1 Code sur 8 bits
0
1
0
touches 1
0

Table ASCII

Code ASCII

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !57

Souris
Introduction
C'est un organe relié à l'ordinateur servant à faire évoluer un curseur au gré de
l'utilisateur. Le curseur suit le déplacement de la main de l'utilisateur. Un à trois
boutons permettent d’effectuer un ou plusieurs types de sélections ou d'actions.
Types de souris :
Les historiques

Les mécaniques.
Elles possèdent une roulette sur l'axe vertical et sur l'axe horizontal ; ces deux roulettes étant pour
la plus part du temps entraînées par une boule centrale. Suivant le déplacement les roulettes
agissent sur des potentiomètres et la variation de résistance permet de déterminer le déplacement.
Les optiques.
Sous leur ventre elles possèdent une diode émettrice et une diode réceptrice. La souris doit se
déplacer sur une plaque spéciale sur laquelle est disposée une grille rectangulaire composée de
bandes réfléchissantes régulièrement espacées. Lorsque la souris se déplace, le photodétecteur
perçoit le passage sur les bandes en mesurant la variation de luminosité du signal émis. Les circuits
internes comptabilisent le nombre de bandes réfléchissantes comptabilisées dans chaque direction.
Les optomécaniques.
Elles disposent de deux roulettes placées sur des plans de rotation perpendiculaires. Chaque
roulette comprend une led dans sa partie centrale, des rainures uniformément réparties sur sa
circonférence et un photodétecteur à l'extérieur de la roulette. Lors d'un déplacement chaque
photodétecteur reçoit un nombre d'impulsions lumineuses proportionnel à la longueur du
déplacement.

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !58

Souris
Les optiques actuelles

Les souris optiques utilisent une diode LED qui éclaire la surface sur laquelle se déplace la
___________________________________________________________________________
souris.

Une micro-caméra permet l’examen du déplacement des irrégularités de cette surface.

Après analyse les composantes longitudinales et transversales de son mouvement relatif sont
déterminées

LED Micro-caméra

Surface

Figure 16 – Souris optique

5.8 Modems et interface réseau


J.M. Perronne cours architecture des ordinateurs
Dispositifs d’E/S !59

Mémoire écran
Ecrans
Introduction écran

Bitmap - Pixmap -.... Mémoire écran


n

Mémoire écran

1 0 1 0

Intensité

1 0 1 0

Table de couleurs Index

r v b r v b r v b r v b
r v b r v b r v b r v b

n
2
niveaux CNA

Bleu
Bleu écran
Vert Vert
Rouge
Rouge

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !60

Ecrans à tubes cathodiques (C.R.T. cathod ray tube)


Principe

Dans un CRT, un filament incandescent émet des électrons, qui sont projetés vers l'écran par un
système d'accélération, de focalisation, et de déviation.

Un faisceau d'électrons que l'on peut déplacer à loisir sur l'écran est ainsi créé.

Le faisceau provoque la luminescence d'un phosphore recouvrant l'écran.

Dans un écran couleur trois faisceaux séparés excitent chacun une couche de luminophore de couleur
différente.

Pour obtenir une image persistante sur un tel écran il faut rafraîchir l'image 25 à 50 fois par seconde.

Couche de phosphore

Déflexion horizontale

Canon à électrons
Déflexion verticale

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !61

Ecrans plats
Les écrans à cristaux liquides (orientation des cristaux)

A matrice passive (matrice de fils électriques jouant


le rôle d'électrodes) un seul point peut être allumé
à un instant donné.

A matrice active (matrice de transistors)


chaque point peut être adressable individuellement

Les écrans à plasma (Matrice d'ampoules néon miniatures)

Des électrodes horizontales et verticales connectent toutes les ampoules d'une même ligne à celles
d'une même colonne.

Pour allumer une ampoule il faut appliquer une tension aux lignes lui correspondant.

Ce type d'écran ne nécessite pas de rafraîchissement périodique et offre un affichage très stable,
néanmoins ils nécessitent beaucoup d'énergie.

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !62

Imprimantes
A impacts Z A B C

Le plus ancien modèle de ce type fonctionne comme une machine à écrire

électromécanique. Un dispositif plastique ou métallique, portant un ensemble

de caractères gravés en relief, frappe une feuille de papier à travers un ruban encreur.

Matricielle à aiguilles
Une tête d'impression comprend un ensemble de fines aiguilles pouvant être

chacune actionnée par un électroaimant de la même manière qu'un marteau.

Thermique couleur
Elles utilisent des rouleaux de Cellophane d'une surface égale à celle à imprimer. Ces rouleaux sont
recouverts des encres cyan, magenta, et jaune à partir desquelles on peut reconstituer toutes les
couleurs. L'impression nécessite plusieurs passes (devant toutes les couleurs de base).

Le transfert thermique :

• Les rouleaux sont recouverts d'une cire, en chauffant le point à colorier, on transfert par appui la
cire sur le papier.

La sublimation thermique :

Les rouleaux sont enduits d'un colorant spécial qui une fois chauffé se transforme en gaz et se
diffuse sur le papier. En fonction de la chaleur on peut contrôler la quantité de colorant qui sera
diffusé et ainsi obtenir par mélange des millions de couleurs.

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !63

Imprimantes
A jets d’encre

Elles permettent d'imprimer n'importe quoi.

Leur principe réside en la création d'un faisceau de gouttelettes d'encre chargées électriquement et
dirigées sur le papier avec grande précision par un système de réflexion.

En utilisant des encres de couleurs différentes l'impression couleur est réalisée

générateur de système de
cristal goutelettes réflexion
piezo-électrique

chargeur
électrostatique réservoir d'encre
pompe inutlisé

encre

filtre

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !64

Imprimantes laser miroir rotatif


octogonal

Laser faisceau laser


écrivant sur le tambour
tambour
Les imprimantes laser utilisent des méthodes électrostatiques.
toner nettoyeur
défilement du papier
Le cœur de la machine est un tambour rotatif.

Cycle d'impression : rouleaux chauffants


entrée du papier
sortie du papier
Le tambour est rendu photosensible dans un champ électrique,

Le tambour est balayé ligne par ligne le long d'une génératrice du cylindre par un faisceau laser.
Le déplacement d'un miroir octogonal permet le déplacement du faisceau. Le faisceau est
modulé de façon à obtenir une suite de points lumineux ou sombres. Au point d'impact du spot,
le tambour perd de sa charge électrique locale.

Lorsqu'une ligne est imprimée le tambour tourne légèrement .

Les lignes ainsi formées atteignent le réservoir de poudre d'encre (toner). L'encre chargée est
attirée par les points du tambour qui ont perdu leur charge électrique. L'image est alors
constituée.

Poursuivant sa rotation le tambour est pressé contre une feuille de papier de manière à déposer
l'encre sur celle-ci.

Des rouleaux chauffants qui permettent la stabilisation de l'encre sur le papier.

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !65

Imprimantes
Langages de description de pages

Langages standards utilisés pour communiquer avec l'imprimante.

Ils permettent une description des documents ne dépendant pas de la résolution des périphériques.

La transformation des documents en une image point nécessite un interpréter situé sur l’ordinateur ou
l’imprimante.

Postcript

Créé en 1983 par Adobe. Ce langage permet de décrire les différents éléments composants une page
ainsi que leur attributs de représentation

PCL

il s'agit d'un langage constitué de séquences binaires. Les caractères sont transmis selon leur code
ASCII

J.M. Perronne cours architecture des ordinateurs


Dispositifs d’E/S !66

Digitaliseurs ou Scanners
Ils permettent à partir d'un support papier de créer l'image numérique
correspondante.

Principe
Les scanners envoient de la lumière et étudie sa réflexion en fonction du support à digitaliser. On
part du principe que :

La couleur blanche réfléchit toute la lumière

La lumière noire ne réfléchit presque rien.

La réflexion des niveaux de gris est proportionnelle à leur intensité.

Pour la couleur trois passes sont nécessaires, une par couleur primaire Rouge, Vert et Bleu. Il faut
évaluer chacune des couleurs.

Si une source de lumière blanche est employée, une passe suffit, des filtres passe-bande sont
employés pour caractériser chacune des couleurs.

La lumière est mesurée à partir de cellules CCD (Charged Coupled Device). Ces cellules ont la
propriété de transformer la quantité de lumière qu'elle reçoive en un signal électrique qui lui
proportionnel.

Le signal est ensuite converti en une valeur numérique.

J.M. Perronne cours architecture des ordinateurs


Codage des caractères !67

Code ASCII (American Standard Code for Information


Interchange)
Code sur 7 bits.

Les codes 0 à 31 (représentation décimale) ne représentent pas des caractères affichables mais des
caractères de contrôle destinés au dialogue avec les périphériques.

Les codes 32 à 126 sont imprimables, notons que le 127 est également un caractère de commande.

Le code ASCII a fait l'objet d'une normalisation internationale. Il est également prévu de donner à
certains caractères du code des extensions nationales.

Unicode
Code sur 16 bits mis au point en 1991.

Le système Unicode permet de représenter n'importe quel caractère par un code unique sur 16 bits
puis 32 bits indépendamment de tout système d'exploitation ou langage de programmation.

Il regroupe ainsi la quasi-totalité des alphabets existants (arabe, arménien, cyrillique, grec, hébreu, latin,
...) et est compatible avec le code ASCII.

L'ensemble des codes Unicode est disponible sur le site http://www.unicode.org.

J.M. Perronne cours architecture des ordinateurs


Codage de l’information !68

Code ASCII (American Standard Code for Information


Interchange)
Code sur 7 bits.

Les codes 0 à 31 (représentation décimale) ne représentent pas des caractères affichables mais des
caractères de contrôle destinés au dialogue avec les périphériques.

Les codes 32 à 126 sont imprimables, notons que le 127 est également un caractère de commande.

Le code ASCII a fait l'objet d'une normalisation internationale. Il est également prévu de donner à
certains caractères du code des extensions nationales.

Unicode
Code sur 16 bits mis au point en 1991.

Le système Unicode permet de représenter n'importe quel caractère par un code unique sur 16 bits
puis 32 bits indépendamment de tout système d'exploitation ou langage de programmation.

Il regroupe ainsi la quasi-totalité des alphabets existants (arabe, arménien, cyrillique, grec, hébreu, latin,
...) et est compatible avec le code ASCII.

L'ensemble des codes Unicode est disponible sur le site http://www.unicode.org.

J.M. Perronne cours architecture des ordinateurs


Représentation des nombres !69

Nombres

J.M. Perronne cours architecture des ordinateurs


Représentation des nombres !70

Mise en garde
Sur une machine la place pour stocker les nombres est figée.

La précision des nombres est alors finie.

Exemple

Afin d'avoir conscience de cet état de fait prenons l'ensemble des entiers positifs dont la représentation
se fait sur 3 chiffres. Cet ensemble est composé des 1000 éléments : 000, 001,... , 999

L'algèbre des nombres à précision finie présente également quelques


Il est impossible de représenter :
aléas.
Si l'on prend l'expression suivante : a + (b - c) = (a + b) - c
les nombres supérieurs à 999,
Pour a = 700, b = 400 et c= 300.
a + (b - c) = 700 + (400 - 300) = 800
les nombres négatifs,
(a + b) - c = (700 + 400) - 300 = ???
-> erreur de dépassement sur (a + b)
les nombres fractionnaires,

On retrouve ce même phénomène avec la distributivité :


les nombres irrationnels,
a = 5, b = 200, c= 195
a * (b - c) = a * b - a * c
les nombres complexes.
a * (b - c) = 5 * (200 - 195) = 25
a * b - a * c = 5 * 200 - 5 * 195 = ???
-> erreur de dépassement sur a *b et a * c

J.M. Perronne cours architecture des ordinateurs


Représentation des nombres !71

Nombres entiers positifs


Tous nombres N peut s'écrire de la manière suivante dans la base B dans laquelle il
est défini :

Exemple le nombre N = 21 se décrit :


• pour B= 10 21= 2*101 + 1*100
• pour B = 2 10101 = 1*24 + 0*23 + 1*22 + 0*21 + 1*20
• pour B = 16 15 = 1*161+5*160

Nombres entiers négatifs


Trois façons de représenter les nombres négatifs. Dans tous les cas le dernier bit
est réservé au signe.

Signe valeur absolue : le dernier bit représente le signe


+:0
Exemple
-:1
Dans ce cas on signe la valeur absolue. +6 : 0000 0110
-6 : 1000 0110 en signe et valeur absolue
Complément à 1 : le dernier bit représente toujours le signe. -6 : 1111 1001 en complément à 1
Cette fois en plus tous les 1 sont remplacés par des 0 -6 : 1111 1010 en complément à 2
et les 0 par des 1.

Complément à 2 : On ajoute 1 au complément à 1.

J.M. Perronne cours architecture des ordinateurs


Représentation des nombres !72

Nombre réel en Virgule flottante


L'intervalle des nombres utilisés dans les calculs peut être très grand

Il faut alors trouver un mode de représentation dans lequel l'intervalle des nombres exprimables soit
indépendant du nombre de chiffre significatif.

Une façon de dissocier l'intervalle de la précision est d'exprimer les nombres à l'aide de la notation
scientifique :

M est la mantisse, et E un nombre entier positif ou négatif, est l'exposant.


E
L'intervalle est déterminé par l'exposant. N M 10
Signe Exposant Mantisse
La précision est déterminée par la mantisse.

Codage

Le signe est codé sur 1 bit.

L'exposant est codé sur n bits en code excédent 2n-1.

La mantisse est codé sur m bits dans l'intervalle 0 ... 1.

La manière la plus pratique est de coder le tout en binaire.

J.M. Perronne cours architecture des ordinateurs


Représentation des nombres !73

Normalisation des nombres en virgule flottante


Exemple le nombre 432 codé sur 24 bits : 2-1 2-3 2-5 2-7 2-9 2-10 2-11 2-12

0 1010100 0000000000011011
signe exposant en mantisse
Un nombre est normalisé lorsque le nombre code exposant 64
+ 84 - 64 = 20 2-12 + 2-13 + 2-15 + 2-16
le plus à gauche de la mantisse est à 1.
432 = 220 (2-12 + 2-13 + 2-15 + 2-16)

Pour normaliser un nombre, il suffit : normalisation

de décaler les chiffres de la mantisse, 0 1001001 1101100000000000


signe exposant en mantisse
code exposant 64
de retrancher le nombre de décalages à l'exposant de manière + 73 - 64 = 9 2-1 + 2-2 + 2-4 + 2-5
à ne pas changer la valeur du chiffre. 432 = 29 (2-1 + 2-2 + 2-4 + 2-5)

L'avantage d'un nombre normalisé est que sa représentation est unique.

La mantisse a donc un bit présupposé qui est appelé bit caché.

Les nombres normalisés sont donc compris entre 1... 2.

Si tous les bits de la mantisse sont à 0 sa valeur décimale est égale à 1.

J.M. Perronne cours architecture des ordinateurs


!74

Etats d’un nombre normalisé


Normalisé
+/- 0< Exp. <Max Config. quelconque de bits
Dénormalisé
Chiffres normalisés
+/- 0 Toute config. sauf 0
- Infini -10-45 10-45 + Infini Zéro
+/- 0 0
-2128 -2-126 0 2-126 2128 Infini
+/- 111...1 0
Chiffres dénormalisés NaN
+/- 111...1 Toute config. sauf 0

Standards
Les nombre en virgule flottante ont été normalisés suivant le standard IEE 754 en
1985. Ce standard définit trois formats de précision :
1 8 23
Signe Exposant Mantisse Simple précision (32 bits)
1 11 52
Signe Exposant Mantisse Double précision (64 bits)

??? Précision étendue (80 bits)

J.M. Perronne cours architecture des ordinateurs


Réseau !75

Modes de transmissions
Tout transfert d'information utilisant les télécommunications se fait suivant un
mode série.

Le mode série nécessite de synchroniser l'émetteur et le récepteur.

La synchronisation détermine les instants d'échantillonnage avec lesquels on


reconnaîtra les bits constituants une information

Transmission synchrone
Les informations sont transmises Intervalles réguliers

à intervalle régulier sans discontinuité.


S Y N C H R O N E

Cela permet de grands débits mais temps


impose une bonne synchronisation Horloge

des horloges émettrices et réceptrices.


Ligne

Souvent pour être sur de la caractère caractère


synchronisation l'émetteur ou le récepteur
fournit à l'autre l'horloge.

J.M. Perronne cours architecture des ordinateurs


Réseau !76

Transmission asynchrone
Intervalles variables
Les informations sont émises de façon
irrégulière, les intervalles de temps A S Y N C H R O N E
sont aléatoires. temps
Horloge

Il n'y a synchronisation que pendant


Ligne
la transmission d'un caractère.

Pour pouvoir se synchroniser un bit Start D0 D1 D2 D3 D4 D5 D6 D7 Stop Start


caractère caractère
est ajouté au départ (Start bit) et un
ou deux bits sont ajoutés à la fin (Stop bit).

Modes d'exploitation d'une voie de transmission


Simplex
Mode Simplex : ce mode est unidirectionnelle, A B
une extrémité émet, l'autre reçoit.
Mode Semi-Duplex (Half-Duplex) : ce mode Half-duplex
A B
est bidirectionnel mais par alternance.
Full-duplex
Mode Duplex (Full-Duplex) : ce mode A B
est bidirectionnel simultané.

J.M. Perronne cours architecture des ordinateurs


Réseau !77

Multiplexage
Partage d'une voie de communication entre plusieurs liaisons sans gêne mutuelle.

Multiplexage fréquentiel

Il consiste à partager la bande passante de la voies en plusieurs. Chaque sous-bande permet une liaison
(Elles doivent être suffisamment larges pour assurer les débits escomptés).
fréquence
A l'émission un multiplexeur additionne les signaux les uns aux autres.

A la réception un démultiplexeur décompose le signal reçu par


une série de filtres passe-bande.

Aucun adressage n'est nécessaire c'est la bande qui identifie temps


la liaison.

Pour assurer de bonnes laissons des bandes libres sont laissées entre chaque bande de liaison.
fréquence
Multiplexage temporel

Dans ce cas toute la bande passante est disponible pour chaque liaison.
Le partage de la voie se fait au niveau temporel.

Une fenêtre temporelle est réservée à chaque liaison de manière cyclique.


temps

J.M. Perronne cours architecture des ordinateurs


Réseau !78

Types de réseaux
Classification selon l'éloignement des noeuds du réseau

Réseau étendu ou international (WAN Wide Area Network) :

les noeuds sont éloignes de plusieurs centaines voir milliers de Km (lignes Tel.)

Réseau métropolitain (MAN : Metropolitan Area Network) :

réseau dont les noeuds se situent dans la même métropole (fibre optique).

Réseau local (LAN : Local Area Network) :

réseau dont les noeuds se situent dans un même bâtiment ou dans un bâtiment voisin.

Réseau personnel (PAN : Personal Area Network) :

réseau dont les noeuds se situent dans un espace privé (personnel).

WAN
LAN MAN
PAN

1m 10m 100m 1km 10km 100km 1000km

J.M. Perronne cours architecture des ordinateurs


Réseau !79

Commutations de données
Réseau à diffusion (Broadcasting)
Pour de grandes distances ou lorsque l'on désire envoyer un message à plusieurs destinataires
simultanément on utilise ce type de réseau.

Un message est destiné à tous les membres du réseau simultanément et les destinataires se
reconnaissent en fonction de l'adresse du message.

Ce type de réseau nécessite l'utilisation d'un satellite ou d'une antenne radio.

Réseau point à point


Le chemin suivi par l'information doit emprunter un certains nombres de noeuds intermédiaires
avant d'arriver au destinataire.

Chaque noeud doit faire circuler l'information de manière correcte.

Il existe plusieurs manières d'effectuer les commutations nécessaires à l'acheminement du message


:

commutation de circuits

commutation de messages

commutation de paquets

J.M. Perronne cours architecture des ordinateurs


Réseau !80

Commutations de données
Commutation de circuits (circuit switching) :
On établie une connexion physique temporaire entre les noeuds désirant échanger des informations. Ce
type n'est rentable que pour des lignes n'échangeant que peu d'informations (ex: réseau téléphonique).

commutation de messages (message switching) :


Ici on ne réserve plus de lignes. Le message est envoyé avec l'adresse de son destinataire et le réseau
se charge de l'acheminement. Lorsqu'un message arrive à un noeud celui-ci :

regarde si le message lui est destiné,

le cas échéant il le garde,

sinon détermine le noeud à qui il doit le transmettre à l'aide de tables de routage.

fait suivre le message.

On risque de rencontrer des problèmes si la taille des messages est trop grande, car il est nécessaire de
les stocker à chaque noeud avant de les renvoyer. Il y a problème également en cas d'erreur car alors la
totalité du message est à renvoyer.

Commutation de paquets (packet switching) :


Cette technique est similaire à la précédente mais le message est divisé en paquets. Ainsi les erreurs de
transmission sont moins fréquentes et il n'existe plus de problèmes de stockage.

Il faut cependant prendre garde à numéroter les paquets car ils risquent de ne pas prendre tous le même
chemin en fonction de l'occupation du réseau.

J.M. Perronne cours architecture des ordinateurs


Réseau !81

Topologie
Réseau maillé :
Tous les noeuds sont reliés les uns aux autres. Ce type de réseau
est d'une grande souplesse d'utilisation et présente une grande fiabilité.
Il est cependant difficilement envisageable pour un grand nombres de noeuds.

Réseau étoilé :
Réseau centralisé. Un seul noeud est directement relié aux autres,
celui-ci doit supporter toute la charge du réseau.

Réseau en arbre :
Réseau hiérarchisé sur plusieurs niveaux. Les noeuds d'un même
niveau n'ont pas de liens, mais sont reliés par le noeud supérieur.

Réseau en anneau :
Réseau ou chaque noeud est relié à deux autres.
C'est un réseau décentralisé de type point à points

Réseau en bus :
Tous les noeuds sont connectés au même support. C'est un réseau à diffusion.

J.M. Perronne cours architecture des ordinateurs


Réseau !82

Protocoles
Introduction

Un protocole est un ensemble de règles qui doivent être respectées pour réaliser un échange entre
ordinateurs.

Pour échanger des informations sur un réseau hétérogène il est nécessaire d'adapter les matériels et
logiciels.

Pour assurer une bonne liaison il faut effectuer un grand nombre de tâches, afin de bien les séparer.

Des modèles en couche ont été établis :

Modèle ISO/OSI : (International standard Organisation / Open system interconnection),

Modèle TCP/IP : Département de la défense américaine,

Modèle SNA : IBM.

J.M. Perronne cours architecture des ordinateurs


Réseau !83

Protocoles
Modèle OSI

Modèle en 7 couches, chaque couche possède deux niveaux de communication :

Vertical : au sein d'un même support les échanges se font via des interfaces disponibles à partir de
primitives.

Horizontal : sur des supports différents, les échanges se font selon des protocoles.

Emetteur Récepteur

Protocole niveau 7
Couches Application....7 Application....7
orientées Protocole niveau 6
traitement Présentation...6 Présentation...6
Interfaces
Protocole niveau 5
Session..........5 Session..........5

Transport.......4 Transport.......4

Couches Réseau...........3 Réseau...........3 Réseau...........3


orientées Liaison...........2 Liaison...........2 Liaison...........2
transmission
Physique........1 Physique........1 Physique........1

Noeud intermédiaire
Support physique

J.M. Perronne cours architecture des ordinateurs


Réseau !84

Protocoles
Modèle OSI

Couche physique (niveau 1) :

Elle décrit les caractéristiques électriques et matérielles.


Elle s'occupe des problèmes de connexion.
Définit le type de transmission (synchrone/asynchrone).
Assure les tâches de modulation/démodulation.

Couche liaison (niveau 2) (data link):

S'occupe de transmettre les données sans erreur.


Données en trame avec des codes d'erreurs (protocole HDLC high level data link control).
Assure l'accès au réseau (CSMA/CD Jetons...)

Couche réseau (niveau 3) :

Assure la commutation et le routage des paquets de données entre les nœuds du réseau
Fait en sorte que le réseau ne soit pas trop chargé -> chemins de délestages.

J.M. Perronne cours architecture des ordinateurs


Réseau !85

Protocoles
Modèle OSI

couche transport (niveau 4) :

Elle permet l'ouverture, le maintien ou la fermeture des connexions.


Elle fournit les moyens d'une communication constante.
Elle corrige les erreurs.
Elle segmente et réassemble les messages.
Elle multiplexe plusieurs flux d'informations sur le même support le cas échéant.

couche session (niveau 5) :

Permet la connexion logique entre deux applications.


Assure l'organisation et la synchronisation du dialogue.
Décide donc si la liaison est simplex, half-duplex ou encore full-duplex.

couche présentation (niveau 6) :

Elle s'occupe de la présentation des données (syntaxe)


Elle s'occupe des transformations de format.
Elle compresse et crypte les données si nécessaire.

couche application (niveau 7) :

Fournit les interfaces de communication aux utilisateurs.


Fournit les points d'entrée dans les programmes utilisateurs.

J.M. Perronne cours architecture des ordinateurs


Cloud !86

Modèles de « service cloud »


Eléments d’arbitrage
Aspects juridiques quant à la localisation des données
Aspects de sécurité et de confidentialité

Aspects de disponibilité réseau, fournisseur

Aspects de coûts : coûts internes (masse salariale, investissement, maintenance) vs coût externalisés (service)

IaaS PaaS SaaS


Infrastructure As A Service Platform As A Service Software As A Service

Données Données Données

Logiciels métiers Logiciels métiers Logiciels métiers

Logiciels de base Logiciels de base Logiciels de base

Système Système Système

Serveurs Calcul/ Serveurs Calcul/ Serveurs Calcul/


stockage stockage stockage

Réseau Réseau Réseau

Géré par le prestataire

Géré par l’organisation

J.M. Perronne cours architecture des ordinateurs


Sécurité des Systèmes Informatiques !87

Généralités
La sécurité consiste pour les ressources matérielles et logicielles à garantir :

leur accessibilité

leur protection

Les notions à prendre en compte sont:

L’intégrité : les données ne doivent être altérées de façon fortuite, illicite,


malveillante

La confidentialité : seules les personnes autorisées ont accès aux données

Le disponibilité et pérennité : les ressources sont toujours accessibles

L’authentification : garantit l’identifications des utilisateurs et la gestion des


accès aux espaces de travail

J.M. Perronne cours architecture des ordinateurs


Sécurité des Systèmes Informatiques !88

L’authentification
Elle consiste à vérifier l’identité d’un utilisateur

Simple : une seul preuve d’identité requise

Forte : association d’autres critères

SSO (Single Sign On)

Une seule authentification donne accès à toutes les ressources et services du SI

L’information d’authentification est propagée par le processus de gestion des


authentifications

Information courante d’authentification -> Login, Password

Attention ; il doit être suffisamment complexe et renouvelé!

J.M. Perronne cours architecture des ordinateurs


Sécurité des Systèmes Informatiques !89

Usurpation d’identité
Acte malveillant consistant à utiliser les informations d’authentification d’autrui

Méthodes de découvertes

Attaque par force brute : recherche de toutes les combinaisons possibles

Attaque par dictionnaire : essaie de termes courants du dictionnaire (en


complément de la force brute)

Utilisation de Keyloggers : Utilisation de dispositifs permettant d’observer la


frappe clavier sur un terminal afin de découvrir les mots de passe.

L’hameçonnage (Phishing) : Utilisation de la naïveté de l’utilisateur pour lui


faire transmettre ses informations d’authentification ; le courrier électronique
étant le vecteur principal de propagation.

J.M. Perronne cours architecture des ordinateurs


Sécurité des Systèmes Informatiques !90

Intrusions et logiciels malveillants (Malware)


Logiciel malveillant : logiciel destiné à nuire à un système informatique

Virus

Code informatique hébergé par un programme (hôte)

Activé lors de l’exécution de l’hôte

Peut se répliquer et se propager lors de transferts d’informations


Ver

Virus informatique se propageant par le réseau ; la messagerie électronique


est un bon vecteur de transmission.

Cheval de Troie (Trojan Horse)

Logiciel permettant de mettre en place de portes dérobées (Back Doors)


Ouverture d’un port de communication sur la machine ciblée.

Permet des attaques par déni de service

Exploration des failles du système pour le mettre HS

J.M. Perronne cours architecture des ordinateurs


Sécurité des Systèmes Informatiques !91

Intrusions et logiciels malveillants (Malware)


Logiciel espion (Spyware)

Logiciel collectant des informations sur le système et les usages et les


envoyant à des tiers.

Dispositifs de protection
Les antivirus : Logiciels permettant de détecter et d’éliminer les virus

Les pare-feux (Firewall) : dispositif matériel/logiciel permettant de contrôler les


accès venant d’internet vers une machine et des accès de la machine vers
l’Internet.

Utilisation de listes blanches : « partenaires » de confiances

Utilisation de listes noires : « partenaires » proscrits

J.M. Perronne cours architecture des ordinateurs


Sécurité des Systèmes Informatiques !92

Disponibilité et Pérennité des données


Nécessite de se prémunir :

des erreurs de manipulations des utilisateurs

des pannes et détériorations des supports de stockage de masse

des catastrophes naturelles (tremblement de terre, inondation, … et


incendies.

Utilisation de disque RAID : redondance des données enregistrées sur plusieurs


disques

Utilisation de sauvegardes totales ou partielles

Utilisation de dispositifs de sauvegardes mutualisés

NAS (Network Attached Storage)

SAN (Storage Area Network)

J.M. Perronne cours architecture des ordinateurs

Vous aimerez peut-être aussi