You are on page 1of 19

Chapitre 2: Structure d’un ordinateur

Robert RACCA
Introduction

■ Un ordinateur est constitué de processeurs , de


mémoires et de dispositifs d ’entrée/sortie
judicieusement interconnectés.
■ Ces trois éléments sont des éléments clés que l ’on
retrouve à tous les niveaux de l ’architecture.
■ Nous allons étudier rapidement chacun de ces
éléments.
Le processeur ou Unité Centrale
Unité Centrale ( UC ou CPU)

■Organisationd ’un ordinateur simple


Unité de comportant une UC et deux organes
commande d ’E/S

UAL

Registres Imprimante
Mémoire Disque
Principale

Bus
■ L’UC est le cerveau de la machine.
■ Elle exécute les programmes stockés en mémoire:
• charge l ’instruction (unité de commande)
• décode (unité de commande)
• exécute (UAL)
■ Bus: nappes de fils reliant des éléments et assurant
la transmission des signaux d ’adresse, de données
et de commande. Bus externe (entre UC et mémoire
et périph) et bus interne (entre Unité de Commande
et UAL)
■ l ’UC dispose de mémoire propre comprenant des
registres (mémoires rapides spécialisées) Parmi eux,
l e registre CO (ou PC) compteur ordinal pointe sur la
prochaine instruction à charger. Le RI( registre
d ’instruction) contient l ’intr. courante
Organisation d ’une unité centrale:
le chemin des données
A+B

Registres généraux
A

A B Registres d ’entrée UAL

Bus d ’entrée UAL


UAL

A+B Registre de sortie de l ’UAL


exécution des instructions
■ 2 sortes d ’instructions:
• registre - mémoire : chargent un mot mémoire dans un registre
général ou l ’inverse
• registre - registre : typiquement, charge 2 opérandes pris dans des
registres généraux dans les registres d ’entrée de l ’ UAL, exécute
sur eux une certaine opération et stocke le resulat dans un registre
général ( cycle de base ou cycle du chemin des données ( data
path cycle))
■ Exécution d ’une instruction:
• 1 charger instruction (mémoire -> R I)
• 2 modifier Compteur Ordinal (PC++)
• 3 analyser instruction dans RI
• 4 localiser les éventuelles données Cycle
• 5 charger si nécessaire ces données « chargement
décodage
• 6 Exécuter l instruction dans RI exécution »
• 7 revenir a l ’étape 1
Remarques:
■ Exécuté par du matériel ou du logiciel (selon le
niveau)
■ Si logiciel, c est un interpréteur
■ permet de faire exécuter des instructions
complexes sur une machine simple.
■ Avantages:
• capacité de concevoir des instr complexes sans
contraintes d ’implémentation
• possibilité ajout nouvelles instr complexes à moindre
coût même après construction de l ordinateur
• possibilité de structurer le développement, test et
documentation des instructions complexes (mêmes instr
complexes sur toute une gamme par exemple)
■ complexité: matérielle --> logiciel
RISC contre CISC
■ -> 1980, complexification des processeurs par ajout
d ’instr complexes (calcul en virg flottante, calcul
matriciel , MMX etc) ex: motorola 68000 (plusieurs
centaines d instructions, interprété)
■ debut 80, invention du processeur RISC (reduced
instr set computer) 50 instructions environ très
rapides d ’exécution
■ co-existence des machines RISC et CISC:
• risc: spark, mips
• cisc: pentium
• (compatibilité ascendante des CISC)
Principes de conception des ordinateurs
modernes ( RISC principles)

■ Toute instruction est traitée directement par le


matériel ( sans interprétation)
■ maximiser la vitesse d exécution ( parallélisme)
■ instructions simples a décoder ( format fixe, champs
peu nombreux
■ seules les instructions de rangement et chargement
peuvent accéder a la mémoire principale . Exécutées
en // avec les autres ( lentes)
■ nombre important de registres ( 32 minimum)
■ méthodes de parrallélisation ( pipeline)
La Mémoire
■ Bit: 0 ou 1
■ codage binaire: on change de base. Avec 16 bits on
peut coder 2 puissance 16 informations (65536)
■ DCB (décimal codé binaire) chaque chiffre est codé en
binaire sur 4 bits. Avec 16 bits on peut coder 10000
informations ( de 0 à 9999)
■ les bits sont regroupés en cellules chaque cellule a une
adresse. Pour coder les adresse il faut des mots
d ’adresse dont la longueur dépend uniquement du
nombre de mots mémoire et non de leur taille:
pour adresser 2^12 mots de 8 bits il faut des mots
d ’adresse de 12 bits , comme pour une mémoire de
2^12 mots de 64 bits
■ cellule de 8 bits: octets mots de 32 bits=4 octets
Mémoires cache
■ Processeurs plus rapides que mémoire: problèmes
■ solutions:
• blocage du processeur quand attente réaction mémoire
• génération d ’instructions Nop par le compilateur.
■ On peut construire des mémoires aussi rapides que
le processeur mais chères et localisées tout près
(temps de transfert dans les bus sont longs)
■ mémoires caches: situées sur la puce (place?) ou a
proximité immédiate
■ principe de localité: si une ref a la mémoire A est
faite, la suivante ref sera dans le voisinage de A ( ex:
programme lui même , calcul matriciel, boucles...
Mémoires caches …. suite
■ Intercaler un cache entre processeur et mémoire.
■ Charger la ref mémoire dans le cache
■ à la prochaine ref mémoire regarder si elle est déjà
dans le cache
■ améliorations:
• travailler par blocs mémoires: si la « ligne de cache » fait 64
octets, charger la ref à l adresse 260 correspond à recopier
dans le cache les octets 256 à 319. -> possibilité que les
prochaines ref soient déjà chargées.
■ Problémes à résoudre:
• choix taille du cache ( plus gros= plus cher)
• taille des blocs ( ligne de cache): 16Ko de cache = 1K lignes
de 16 o ou 2 K lignes de 8 o ou 512 lignes de 32 o
• gestion du cache: comment sait il qu ’une adresse est dans
le cache?
• Combien de caches? (1 pour instr, 1 pour données: Harward)
Conditionnement physique des mémoires
■ Groupe de 8 ou 16 blocs de circuits mémoire de 32
Mbits chacun montés sur une plaque munie d un
connecteur:

Circuit de 4
Mo

connecteur
■ module SIMM( single Inline Memory Module) si
connecteur sur 1 seule face
■ module DIMM (Dual …..) si connecteur sur 2 faces
■ connecteurs: ex 72 broches délivrant des mots de 32
bits ( 40 broches pour signaux d ’adresse et de
commande)
Conditionnement physique des mémoires

■ Exemple du Pentium (manipule des mots de 64


bits)
• utilisation de 2 cartes SIMM à mots de 32 bits
• ou cartes DIMM comprenant un connecteur à 84 broches
de chaque coté, soit 168 connexions bus ( 2 mot de 64
bits et toujours 40 connecteurs pour adresse et
commande)
• cartes DIMM de capacité 64 Mo et plus.
■ Cartes DIMM de format reduit (SO-DIMM, Small
Outline DIMM) pour les formats réduits
( Notebooks …)
Hiérarchie des mémoires
coût

Qq ns 128 o
registres

3*plus Qq Mo cache

30 ns <Qq Go 200F/Mo
Mémoire principale

10 ms Go Disques magnétiques 2F/Mo

Bandes Disque optique 200F/Go


s Go

vitesse capacité
Les Entrées sorties
■ Les périphériques sont raccordés à l ’ordinateur par
l ’intermédiaire de bus.
■ L ’ordinateur est généralement constitué d ’un
châssis supportant la carte mère et divers
emplacements (slots) libres sur le bus reliant l ’UC
aux périphériques.
Bus
■ Structure logique d ’un PC

Bus
■ Chaque contrôleur qui pilotent les periphériques et
gèrent les accès au bus
■ Si un contrôleur lit ou écrit directement en mémoire il
fait un Direct Acces Memory (DMA)
Bus … suite
■ Exemple:
• un programme souhaite lire des données sur le disque.
• Il envoie une requête au contrôleur de disque
• celui ci envoie au disque des commandes ( pos tête etc…)
• le disque envoie au contrôleur les données (flot de bits série).
• Le contrôleur reconstruit les mots destinés au processeur.
• Il transmet les données (-> mémoire) par le bus. Ensuite il
génère une interruption pour prévenir le processeur que le
transfert est terminé.
■ Le bus sert aussi bien au processeur qu ’aux
controleurs . Il peut donc y avoir conflit. Nécessité d ’un
arbitre de bus ( en général priorité aux disques qui ne
peuvent s ’arreter une fois lancés)
Évolution du bus des PC
■ L ’architecture originelle du PC est devenue un
standard. Le bus PC fut appelé bus ISA( Industry
Standard Architecture).
■ Il a évolué vers le bus EISA (Extended ISA)
■ Pour des questions de compatibilité, il n a pas été
remplacé mais coexiste avec d ’autres bus comme
PCI ( Peripheral Component Interconnect)