You are on page 1of 37

IPGP

Introduction
Éléments de base . . .
Processeurs
Architecture et organisation des
Mémoires
Bus
ordinateurs
Système d’exploitation
Représentation des . . .
une introduction
J. P. Vilotte et P. Favreau
Page d’accueil vilotte@ipgp.jussieu.fr

Page de Titre November 8, 2002


Sommaire

JJ II
Résumé
J I
Ce cours est une introduction succinte aux concepts de base de l’architecture
et de l’organisation des ordinateurs. Elle a pour but de mieux en com-
Page 1 de 37
prendre le fonctionnement. L’attention est portée sur les structures com-
munes essentielles sans entrer dans les details des diverses architectures.
Retour
Ces notions doivent premettre de mieux analyser les performances d’un
programme et d’aider à son optimisation.
Full Screen

Fermer

Quitter
IPGP
.

Quelques références

Introduction
Éléments de base . . .
Processeurs
Mémoires
Voici quelques références disponibles dans les bibliothèques de Jussieu :
Bus
Système d’exploitation
Technologie d’ordinateurs et des réseaux, P.A. Goupille, Ed. Masson
Représentation des . . .

Computer Organization & Design The Hardware/Software Interface, D.A.


Page d’accueil
Patterson, J.L. Henessy, Ed. Morgan Kaufmann.
Page de Titre
Computer Architecture. A quantitative approach, J.L. Henessy, D.A.
Sommaire Patterson, Ed. Morgan Kaufman.

JJ II
Architecture de l’ordinateur A. Tanenbaum, Ed. Dunod.
J I
Vous pouvez également consulter les divers documents sur le Web .... a vous de
Page 2 de 37
jouer avec votre moteur de recherche préféré !
Retour

Full Screen

Fermer

Quitter
IPGP
.

1. Introduction
Un language de programmation évolué (F90, C, C++, Java)
Introduction
Éléments de base . . . ❒ abstraction
Processeurs
❒ portabilité
Mémoires
Bus Un Compilateur :
Système d’exploitation
❒ un programme qui traduit en assembleur
Représentation des . . .
❒ en général efficace
Page d’accueil Il y a des situations où le programmeur doit utiliser la connaissance de l’architecture
de l’ordinateur de manière à optimiser son application :
Page de Titre
1. optimisation du temps de calcul ;
Sommaire
2. ordinateurs trop complexes pour le compilateur ;
JJ II 3. ordinateurs trop récents pour le compilateur.
J I Le but de cette introduction : fournir les concepts de base pour comprendre

Page 3 de 37 • quand les performances du programme ne correspondent pas aux capacités


de l’ordinateur ;
Retour
• les techniques d’optimisation des performances ;
Full Screen • quand il est nécessaire de sacrifier au niveau d’abstraction et de portabilité.
Fermer

Quitter
IPGP
.

2. Éléments de base de l’architecture d’un ordinateur

Introduction
Les composants de base d’un ordinateur sont :
Éléments de base . . .
Processeurs ✒ le processeur ;
Mémoires
✒ la mémoire ;
Bus
Système d’exploitation ✒ les entrées/sorties ;
Représentation des . . .
✒ le bus ou réseau d’interconnexion

Page d’accueil

Page de Titre
CPU
Sommaire clavier écran

JJ II
BUS
J I

Page 4 de 37
disque dur CD-ROM
mémoire (RAM)
Retour

Full Screen

Fermer

Quitter
IPGP
.

Éléments de base de l’architecture d’un ordinateur


❒ Le Processeur c’est le moteur et le “cerveau” du système :
Introduction
Éléments de base . . . . exécute un programme : instructions arithmétiques et logiques ;
Processeurs . seul composant qui crèe de l’information ;
Mémoires . avant un seul processeur unique Central processing unit ou CPU ;
Bus
Système d’exploitation
❒ La mémoire est un composant passif qui stocke de l’information :
Représentation des . . . . fournit instructions et données aux processeurs ;
. source ou destination des transferts de type E/S ;
Page d’accueil . informations accédées par leur adresse ;
. vue comme un tableau M [x] :
Page de Titre
→ envoyer instruction à l’adresse M [1000] ;
Sommaire → stocker le bloc de données entre M [0] et M [255] ;

JJ II ❒ Les entrées/sorties trasnfèrent l’information


. vers l’extérieur ou d’autres composants
J I
. n’altèrent pas l’information
Page 5 de 37 . peuvent regrouper des mémoires secondaires (disques, bandes ...)
ou des composants d’interaction type écran, souris, clavier ....
Retour
❒ Les réseaux d’interconnexion entre les composants
Full Screen . simples liens ou commutateurs complexes
Fermer

Quitter
IPGP
.

Diagramme PMS du Macintosh


Dans un diagramme PMS, chaque composant est representé par une simple lettre
Introduction
✑ P pour processeur ;
Éléments de base . . .
Processeurs ✑ M pour mémoire ;
Mémoires
Bus
✑ S pour commutateur.
Système d’exploitation
Représentation des . . .

Page d’accueil

Page de Titre

Sommaire

JJ II

J I

Page 6 de 37

Retour

Full Screen

Fermer

Quitter
IPGP
.

3. Processeurs
Les principales composantes structurelles sont :
Introduction
Éléments de base . . . ❒ les registres : de la mémoire interne au CPU. Certains registres ne sont
Processeurs pas accessibles au programmeur.
Mémoires
❒ l’unité arithmétique et logique (ALU) : c’est l’unité qui réalise les
Bus
différentes opérations sur les données.
Système d’exploitation
Représentation des . . . ❒ l’unité de contrôle : elle contrôle le fonctionnement du CPU et par
conséquent de l’ordinateur.
Page d’accueil ❒ l’interconnexion interne du CPU : les mécanismes nécessaires pour
faire communiquer entre eux le CPU, l’ALU et les registres.
Page de Titre

Sommaire

JJ II

J I

Page 7 de 37

Retour

Full Screen

Fermer

Quitter
IPGP
.

3.1. L’unité de contrôle


registres (mémoire)
registre 0
Introduction
unité
Éléments de base . . . registre 1 arithmétique
Processeurs et logique
registre 2
Mémoires
Bus registre 3

Système d’exploitation
unité de contrôle
Représentation des . . . registre d’instruction (IR) (machine à états)

pointeur d’instruction (PC)

Page d’accueil

Page de Titre

L’opération d’un processeur est caractérisée par un cycle fetch-decode-execute


Sommaire
Slide 1
1. fetch : demander à la mémoire une instruction dont l’adresse est stockée
JJ II dans un registre interne, le program counter ou PC ;
J I 2. decode : stocker et décoder l’information retournée par la mémoire dans
le registre d’instruction, instruction register ou IR : une seule instruction
Page 8 de 37 machine, codée comme un nombre binaire. Le processeur décode la valeur
dans l’IR afin de déterminer les opérations à effectuer.
Retour
3. execution : réaliser l’instruction → d’autres opérations mémoire.
Full Screen
4. répétition : incrémenter séquentiellement l’adresse contenue dans le PC.
Fermer

Quitter
IPGP
.

3.2. Les instructions


Les instructions sont classées en 3 types :
Introduction
Éléments de base . . .
Arithmétiques/Logiques :
Processeurs
Mémoires ✑ fonctions primitives de 1 à 2 arguments : addition, multiplication, ou
Bus logique (AND, OR, ..) ;
Système d’exploitation
✑ arguments demandés à la mémoire centrale ou le plus souvent stockés dans
Représentation des . . . les registres du CPU (plusieurs registres disponibles).

Transfert de données :
Page d’accueil
✑ instructions pour déplacer des données d’une location à une autre : entre
Page de Titre les registres, de la mémoire centrale aux registres, entre différents endroits
de la mémoire, initialisation des E/S.
Sommaire
Instructions de contrôle :
JJ II
✑ modifient l’ordre dans lequel les instructions sont executées
J I DO 10 I=1,5
...
Page 9 de 37 10 CONTINUE

Retour ✑ CONTINUE implique une instruction arithmétique (I = I + 1) et un test


de branchement (I ≤ 5). Le branchement est réaliser en assignant au PC
Full Screen l’adresse de l’instruction du début de la boucle.

Fermer

Quitter
IPGP
.

3.3. Le temps d’execution


Le temps d’exécution du cycle fetch-decode-execute dépend de :
Introduction
Éléments de base . . . ❒ la construction interne du processeur ;
Processeurs
❒ la complexité de l’instruction à exécuter.
Mémoires
Bus L’unité quantique de temps est le cycle d’horloge :
Système d’exploitation
Représentation des . . . ✑ opérations au sein d’un processeur controlées par une horloge externe :
circuit générant une onde créneau de période fixée ;

Page d’accueil ✑ le nombre de cycles d’horloge pour effectuer une opération détermine le
temps.
Page de Titre

Sommaire ☞ Si une multiplication est effectuée en tm nanosecondes, ne


pas en déduire que n multiplications prendont n · tm .
JJ II Si un branchement d’instruction prend tb nanosecondes,
ne pas en déduire que l’instruction suivante débutera tb
J I nanosecondes apres le branchement.

Page 10 de 37
☞ Le temps réel dépend de l’organisation du système
Retour
de mémoire et des réseaux de communication
Full Screen

Fermer

Quitter
IPGP
.

Les diverses communications

Introduction
Éléments de base . . .
Processeurs
Mémoires
Bus
Système d’exploitation
Représentation des . . .

Page d’accueil

Page de Titre

Sommaire

JJ II

J I

Page 11 de 37

Retour

Full Screen

Fermer

Quitter
IPGP
.

4. Mémoires
systèmes de stockage des données et des instructions
Introduction
Éléments de base . . .
Le composant le plus divers d’un ordinateur en termes de technologie, organisa-
Processeurs
tion, performance et coût.
Mémoires
Bus
On abordera simplement :
Système d’exploitation
Représentation des . . .
❒ l’organisation générale et performances

❒ la mémoire “interne” : RAM, registres, câches


Page d’accueil
❒ la mémoire “externe” : périphériques de stockage, disques magnétiques ....
Page de Titre
Les mémoires sont caractérisées par leur :
Sommaire
✑ fonction ;
JJ II
✑ capacité ;
J I
✑ temps de réponse.
Page 12 de 37
Les opérations sur les mémoires sont :
Retour
1. lecture
Full Screen 2. écriture
Fermer

Quitter
IPGP
.

Les mémoires internes sur la carte mère

Introduction
Éléments de base . . .
Processeurs
Mémoires
Bus
Système d’exploitation
Représentation des . . .

Page d’accueil

Page de Titre

Sommaire

JJ II

J I

Page 13 de 37

Retour

Full Screen

Fermer

Quitter
IPGP
.

4.1. Unité et Capacité

Introduction
Éléments de base . . .
Processeurs Un peu de terminologie
Mémoires
Bus
❒ unité d’information : l’unité d’information est le bit (b).
Système d’exploitation
Représentation des . . . ❒ le mot : l’unité ”naturelle” d’organisation de la mémoire
mots de 16, 32 ou 64 bits.
Page d’accueil ❒ unité adressable : la taille de l’unité adressable en mémoire est soit le
mot soit l’octet (O). L’octet est une information de 8 bits.
Page de Titre
❒ capacité : quantité d’information pouvant être stockée dans la m’emoire
Sommaire : en bit (b) ou kilobit (kb).
Aujourd’hui, la capacité est généralement exprimée en octet, megaoctet
JJ II (Mo) ou gigaoctet (Go).
J I ❒ unité de transfert : le quantité d’information qui peut être lue ou écrite
en mémoire en une seule fois (octet, bloc).
Page 14 de 37
❒ taux de transfert : débit (bits/sec) de transfert depuis/vers la mémoire.
Retour

Full Screen

Fermer

Quitter
IPGP
.

4.2. Performance

Introduction
Éléments de base . . .
Processeurs
Mémoires
Bus La performance d’un système de mémoire est définie par :
Système d’exploitation
Représentation des . . . 1. Le temps de latence, ou temps d’accès

• rapidité de la réponse à une demande de lecture ou d’écriture


Page d’accueil . dépend de plusieurs facteurs : organisation de l’information en
mémoire, latence du bus
Page de Titre
. typiquement de 80 ns à 10 ns pour le câche ou les registres
Sommaire 2. Le temps de cycle

JJ II • temps minimum entre deux requêtes successives


. un système avec une latence de 80 ns ne peut avoir un temps de
J I cycle inférieur à 80 ns !
Page 15 de 37

Retour

Full Screen

Fermer

Quitter
IPGP
.

4.3. Localité de référence


La structure des références n’est pas aléatoire mais clusterisée
Introduction
• source de régularité ←- instructions stockées séquentiellement en mémoire,
Éléments de base . . .
instructions en boucle, tableaux et arrangements des données
Processeurs
Mémoires • si le processeur requiert au temps t une instruction en x,
Bus forte probabilité pour qu’au temps t+δt, il requiert une instruction en x+1
Système d’exploitation idem pour les données : opérations sur les vecteurs
Représentation des . . . Localité de référence suggère une hiérarchie de mémoires
❒ Au sommet, une mémoire très rapide prôche du processeur le câche. Ca-
Page d’accueil pacité assez faible, temps d’accès très rapide (≤ 0.1µs). Certains systèmes
ont plusieurs niveaux de câches et des buffers d’instructions.
Page de Titre
❒ Au milieu, la mémoire centrale, ou primaire : plus grande capacité mais
Sommaire temps d’accès plus faible (≤ 1µs)

JJ II ❒ A la base, la mémoire secondaire, souvent sur le disque. Forte capacité


mais latence importante.
J I ❒ L’unité de transfert entre les niveaux de mémoires : le bloc ou lignes de
câches ; les pages entre les mémoires primaires et secondaires.
Page 16 de 37
❒ Une requête satisfaite est un succès ou hit. Une requête qui implique un
Retour transfert entre niveaux de mémoire est un échec. Taux de succès ≈ 97% !

Full Screen teff = 0.97 · tcache + 0.03 · tmain


Fermer

Quitter
IPGP
.

Hiérarchie de mémoires

Introduction
Éléments de base . . .
Processeurs
Mémoires
Bus
Système d’exploitation
Représentation des . . .
registres

taille croissante

coût par bit croissant


cache

vitesse croissante
Page d’accueil
mémoire principale

Page de Titre
cache du disque

Sommaire disque magnétique

JJ II disque optique bande magnétique

J I

Page 17 de 37
Slide 1
Retour

Full Screen

Fermer

Quitter
IPGP
.

4.4. Accès aléatoire : mémoires principales


❒ mémoires à base de semiconducteurs
Introduction
Éléments de base . . .
• chaque information adressable a une adresse physique unique
Processeurs • adressable dans n’importe quel ordre
Mémoires • temps d’accès uniforme aux différents objets
Bus
Système d’exploitation
❒ RAM (Random Access Memories) : en Lecture/Écriture
Représentation des . . . • DRAM : RAM dynamique
. cellule de stockage : condensateur à rafraı̂chissement périodique
Page d’accueil . très haute densité (mémoire principale)
• SRAM : RAM statique
Page de Titre
. arrangement de type bascules (flip→flop)
Sommaire . plus rapide que la DRAM, plus chère et limitée en taille (mémoire
câche)
JJ II
❒ ROM (Read Only Memories) : en Lecture seulement
J I
• ROM : stockage permanent
Page 18 de 37 • PROM : programmable une fois par l’utilisateur
• EPROM : PROM effaçable électriquement ou par UV
Retour
. octets programmables individuellements
Full Screen . écriture très longue

Fermer

Quitter
IPGP
.

Améliorations de la DRAM
❒ SDRAM (Synchroneous DRAM)
Introduction
• échanges synchronises avec le processeur
Éléments de base . . .
(synchronisés à la vitesse de transfert du bus via horloge externe)
Processeurs
Mémoires ❒ EDRAM (Enhanced DRAM)
Bus
• ajoût de 2kb de SDRAM interne
Système d’exploitation
• amélioration dans les mécanismes de rafraiı̂chissement
Représentation des . . .
❒ CDRAM (Cache DRAM)
Page d’accueil . sorte de DRAM mais avec 16 kb de câche en multi-lignes

Page de Titre ❒ RDRAM (Rambus DRAM)


. amélioration de la structure physique interne de la DRAM
Sommaire
. exemple : ajoût d’un bus 500 Mb/s
JJ II Les performances de la DRAM améliorées par l’ajoût de niveaux
de câche SRAM entre la mémoire principale et le processeur.
J I
◆ Accès associatif
Page 19 de 37
. variante de l’accès aléatoire pour certaines mémoires câches
Retour . accès selon le contenu et non selon l’ adresse
. recherche du motif (pattern) en parallèle sur toute la mémoire
Full Screen
. accès très rapide pour de grands volumes, coût élevé
Fermer

Quitter
IPGP
.

4.5. Mémoire câche

Introduction
Éléments de base . . .
Processeurs
Mémoires
Bus
CPU mots Cache bloc Mémoire
Système d’exploitation
Représentation des . . .

Page d’accueil

Page de Titre

Sommaire ❒ Un composant essentiel

JJ II • taille réduite
• opère presque à la vitesse du processeur
J I • très chère comparée à la mémoire primaire
Page 20 de 37 • contient des copies de sections de la mémoire primaire
• stratégies de remplacement : aléatoire, FIFO, LRU, ...
Retour Slide 1
Full Screen

Fermer

Quitter
IPGP
.

4.6. Interface câche – mémoire principale


adresses
étiquette bloc mémoire
Introduction
ligne 0 0
Éléments de base . . . 1 1
2 2 bloc 0 (K mots)
Processeurs • 3

Mémoires •
Bus

Système d’exploitation C
Représentation des . . .
taille du bloc
K mots
Page d’accueil 2n -1

taille du mot
Page de Titre

❒ accès à la mémoire : un bloc transféré en câche


Sommaire
❒ stocké en ligne de câche (slot, line, page)
JJ II
❒ gestion du transfert par le hardware directement
J I
❒ eléments du dessin du câche : Slide 1
câche/mémoire, algorithme de remplace-
Page 21 de 37 ment, taille des blocs

Retour ❒ la mémoire : 2n mots adressables pour une adresse unique de n bits


divisée (logiquement) en blocs de K mots chacun (M = 2n /K nb de blocs)
Full Screen mémoire câche : C lignes de K blocs chacune avec c  M

Fermer

Quitter
IPGP
.

4.7. Interactions CPU-câche-mémoire

Introduction START

Éléments de base . . .
Processeurs
Receive address
Mémoires
RA from CPU
Bus
Système d’exploitation
Représentation des . . . Is block No Access main
containing RA memory for block
in cache? containing RA
Page d’accueil Yes

Fetch RA word Allocate cache


Page de Titre and deliver slot for main
to CPU memory block
Sommaire

JJ II
Load main
J I memory block
Deliver RA word
to CPU
into cache slot
Page 22 de 37

Retour
DONE
Full Screen

Fermer
Figure 4.15 Cache Read Operation
Quitter
IPGP
.

4.8. Accès séquentiel et direct : mémoires secondaires ou externes

Introduction
Éléments de base . . .
Processeurs 1. Accès séquentiel
Mémoires
Bus
❒ la mémoire est organisée en enregistrements (records)
Système d’exploitation ❒ accès linéaire :
Représentation des . . . • mécanisme partagé de lecture/écriture
• doit être positionné sur le début de l’enregistrement
Page d’accueil • lit l’information stockée en mémoire jusqu’à l’enregistrement désiré
❒ temps d’accès très variable
Page de Titre
❒ exemple : unités de bande magnétique ....
Sommaire
2. Accès direct
JJ II
❒ accès aléatoire à un bloc de mémoire et accès séquentiel sur le bloc
J I . mécanisme de lecture/écriture partagé
❒ temps d’accès variable
Page 23 de 37
❒ exemple : disques magnétiques
Retour

Full Screen

Fermer

Quitter
IPGP
.

5. Bus

Introduction
Éléments de base . . . Un bus permet de transférer l’information entre différents modules.
Processeurs
Mémoires ❒ interconnexion pour réaliser les transfert suivants
Bus
• mémoires ↔ CPU
Système d’exploitation
Représentation des . . .
• E/S ↔ CPU

❒ On représente souvent séparément les différentes composantes du bus


Page d’accueil
• bus de données : transfert des données entre modules
Page de Titre • bus d’adresses : source et destination de la donnée sur le bus
• bus de contrôle : contrôle l’accès et l’utilisation des bus
Sommaire

JJ II
CPU Mémoire • • • Mémoire I/O • • • I/O
J I
lignes de contrôle
Page 24 de 37
lignes de donnée
BUS
Retour
lignes d’adresse

Full Screen

Fermer

Quitter
IPGP
.

Bus (suite et fin)

Introduction
Éléments de base . . .
Processeurs
❒ interconnexions complexes impliquant plusieurs bus internes.
Mémoires
Bus ❒ communications sur un bus : transactions discrètes avec un sender et un
Système d’exploitation receiver
Représentation des . . .
❒ A l’initiation de la transaction, le module devient maı̂tre du bus
protocole d’administration du bus
Page d’accueil
❒ protocole de communication pour transférer l’information
Page de Titre . mode asynchrone, démarre n’importe quand ;

Sommaire
. mode synchrone, démarre à temps fixes contrôlés par l’horloge interne

❒ performance du bus dépend de deux paramètres ;


JJ II
• temps de transfert ou latence ;
J I
• bande passante (bps) : un bus avec 32 cannaux de données et qui
Page 25 de 37
peut délivrer 1,000,000 paquets par seconde a une bande bassante de
32 Mbps.
Retour

Full Screen

Fermer

Quitter
IPGP
.

6. Système d’exploitation
l’ordinateur est un ensemble complexe de services résultant de la combinaison
Introduction entre hardware (architecture et organisation) et logiciel (système d’exploitation).
Éléments de base . . .
Processeurs
Les systèmes d’exploitation sont multi-tâches
Mémoires
Bus • un programme est une description statique d’un algorithme
Système d’exploitation
• exécuter un programme : système détermine la demande en mémoire
Représentation des . . .
et démarre une tâche, ou process, qui est une copie dynamique du pro-
gramme.
Page d’accueil
✍ exemple : le compilateur C est un programme. Plusieurs utilisateurs com-
Page de Titre pileront leur code en même temps → plusieures tâches en même temps.

Sommaire un process peut être dans 3 états :

JJ II 1. actif si le CPU exécute le programme correspondant.

J I 2. suspendu si le process est en attente. Pour répartir le temps CPU, chaque


process tourne sur une période de temps (≈ 20ms), puis est mis dans une
Page 26 de 37 queue.

3. bloqué lorsque le process attend un évènement externe : E/S ...


Retour

! Le temps CPU n’est pas le temps machine : outils de mesure spécifique


Full Screen

Fermer

Quitter
IPGP
.

7. Représentation des données

Introduction
Éléments de base . . .
Processeurs
Mémoires
Bus
Interaction entre programmes et architecture : la représentation des nombres
Système d’exploitation
Représentation des . . .
Le mode de représentation des nombres :

Page d’accueil
✑ affecte peu les performances ;

✑ affecte fortement la portabilité


Page de Titre

Sommaire ✍ Attention ! lorsque l’on porte des programmes


et/ou des fichiers de données d’un système à l’autre
JJ II
✍ Les nombre et les données ne sont pas toujours
J I représentées de la même façon

Page 27 de 37

Retour

Full Screen

Fermer

Quitter
IPGP
.

7.1. Système Binaire

Introduction
Éléments de base . . .
Processeurs
❒ Le système binaire : point de départ pour représenter l’information
Mémoires
Bus ❒ Chaque objet de la mémoire (nombres, caractères, instructions, ...) est
Système d’exploitation représenté par une chaı̂ne de 1 et de 0
Représentation des . . .
❒ Deux états possibles du système physique sous-jacent de la mémoire

✒ mémoire électronique : le 1 correspond à une région du semi-


Page d’accueil
conducteur chargée positivement, et le 0 à une région neutre
Page de Titre ✒ support magnétique : le 1 correspond à une portion de la surface
avec un flux dans une direction, et le 0 une région avec un flux de
Sommaire sens opposé

JJ II ❒ Systèmes gèrent des chaı̂nes de taille fixée de digits binaires

J I ✐ le bit : la plus petite unité correspondant à un digit binaire


✐ l’octet : correspond à un objet de 8 bits
Page 28 de 37 ✐ le mot : correspond à un objet de 32 bits (ou 64 bits)
Retour

Full Screen

Fermer

Quitter
IPGP
.

7.2. Représentation d’un entier positif


❒ stocker un entier positif : simplement l’entier en binaire
Introduction
❒ un nombre stocké par mot et complété par des 0 en tête de chaı̂ne.
Éléments de base . . .
le mot de 16-bits 0000000000110100 représente 52
Processeurs
Mémoires ❒ une chaı̂ne s de n-bits est interprétée comme :
Bus
n
X
Système d’exploitation
x= si × 2n−i
Représentation des . . . i=1

❒ compilateurs et codes assembleurs tirent profit du système binaire


Page d’accueil
✑ Shift gauche = multiplication par 2
Page de Titre pour un système de 8-bits: 00000110 (6) → 00001100 (12)
un shift à gauche de n-bits : multiplication par 2n
Sommaire
✑ shift à droite, division entière par une puissance de 2
JJ II
❒ opérations faites en un cycle machine
J I ❒ 2n chaı̂nes de n-bits distincts.
le plus grand entier représenté par un mot de n-bits est 2n − 1
Page 29 de 37
les 2n chaı̂nes représentent 2n entiers dans [0, · · · 2n − 1]
un overflow : valeur plus grande que le plus grand entier représentable
Retour
pour un système de 32-bits c’est 232 − 1 = 4, 294, 976, 295
Full Screen

Fermer

Quitter
IPGP
.

7.3. Représentation d’un entier négatif

Introduction
Éléments de base . . .
Processeurs
Mémoires deux techniques différentes
Bus
Système d’exploitation
❒ représentation en 2 champs : un pour le signe et un pour la valeur
Représentation des . . . ✑ 1-bit (le plus à gauche) pour le signe avec 1 pour le le signe négatif

❒ complémentaire à 2, universellement utilisé aujourd’hui


Page d’accueil
✑ arithmétique binaire sur des mots de taille fixée :
Page de Titre une arithmétique sur un groupe fini cyclique
✑ si on ajoute 1 au nombre le plus grand (on ignore le pb d’overflow)
Sommaire

1111 ... 1111


JJ II
+ 1
J I 10000 ... 0000

Page 30 de 37 ✑ système à n-bits : seuls n premiers bits sont sauvés → 10000 · · · 0000 ≡ 0

Retour

Full Screen

Fermer

Quitter
IPGP
.

✑ arithmétique modulo 2 : 2n − x ≡ −x, ∀x ∈ [0, 2n − 1]

✍ obtenir - x : inverser chaque bit du nombre x et ajouter 1


Introduction
✍ un système de 8-bits : 00000101 = (5) et 11111011 = (251)
Éléments de base . . .
dans une arithmétique modulo 28 : 11111011 ≡ -5
Processeurs
Mémoires ✑ en pratique : on divise les chaı̂nes de n-bit en 2 groupes :
Bus
Système d’exploitation
1. les chaı̂nes commençant par 0 représentent les entiers positifs
Représentation des . . .
0 ≤ x ≤ 2n−1 − 1
Page d’accueil
2. les chaı̂nes commençant par 1 représentent les entiers négatifs
Page de Titre
−2n−1 + 1 ≤ x ≤ 0
Sommaire
✑ Pour déterminer l’entier représenté par une chaı̂ne débutant par un 1
JJ II ✍ Calculer son complément : inversion de chaque bit, ajouter 1
J I ✍ arithmétique 8-bits : 11100001
. premier bit est à 1, ⇒ nombre négatif
Page 31 de 37 . 11100001 → 00011110 + 1 = 000111112 = 3110
Retour
. donc 11100001 ≡ - 3110
. N.B. : si système à 2 champs : 11100001 = - 9710
Full Screen

Fermer

Quitter
IPGP
.

7.4. Représentation en point fixe d’un nombre réel

Introduction
Éléments de base . . .
Processeurs
Mémoires ❒ notation binaire extensible aux puissances négatives de 2
Bus
Système d’exploitation
✍ la chaı̂ne 110.101 interprétée comme
Représentation des . . .
1 × 22 + 1 × 21 + 0 × 20 + 1 × 2−1 + 0 × 2−2 + 1 × 2−3 = 6.625

Page d’accueil ❒ Représentation en point fixe : position du point spécifiée dans la chaı̂ne

Page de Titre
✑ les bits à gauche ont des poids en puissances positives de 2
✑ les bits à droite ont des poids en puissances négatives de 2
Sommaire

JJ II ✍ un mot de 16-bits avec 5-bits à droite et 11-bits à gauche du point

J I 0000000011010100 = 6.625
noter que l’on complète par des 0 à gauche et à droite
Page 32 de 37

Retour

Full Screen

Fermer

Quitter
IPGP
.

Représentation en point fixe d’un nombre réel (suite)

Introduction
Éléments de base . . .
Processeurs ❒ compromis entre précision et étendu de la représentation
Mémoires
Bus ✑ n-bits pour la fraction : 2n nombres entre deux entiers successifs
Système d’exploitation ✍ pour des fraction de 5 bits : 32 nombres entre deux entiers successifs
Représentation des . . .
1 2 31
5<5 (5.03125) < 5 (5.06250) < . . . < 5 (5.96875) < 6
32 32 32
Page d’accueil
✑ plus de précision ⇒ plus de bits dans la partie fractionaire
Page de Titre ✑ nombre de bits dans la partie non fractionaire fixe le plus grand nom-
bre positif représentable dans ce système
Sommaire
✍ avec 11 et 5 bits pour un mot de 16-bits :
JJ II 11111111111.111112 = 2047.9687510
J I
✍ avec 10 et 6 bits pour un mot de 16-bits :
Page 33 de 37
1111111111.1111112 = 1023.98437510
Retour

Full Screen

Fermer

Quitter
IPGP
.

7.5. Représentation en virgule flottante d’un nombre réel


❒ basée sur ”la notation scientifique” : 6.022 × 1023
Introduction
❒ représentation en virgule flottante :
Éléments de base . . .
Processeurs 1. une base : dans l’exemple 10, pour les ordinateurs 2 ou 16
Mémoires 2. un exposant : dans l’exemple 23
Bus
3. une mantisse : dans l’exemple 6.022
Système d’exploitation
Représentation des . . . ❒ la base est fixée pour les ordinateurs : 2 champs seulement à spécifier

110.101 × 20 = 1.10101 × 22 = 6.62510


Page d’accueil
✑ pour un système de 16-bit : si 10-bits de mantisse et 6-bits d’exposant
Page de Titre
1101010000 000010
Sommaire
mantisse sur les 10 premiers bits (complétée par des zéros)
JJ II exposant sur les 6 derniers bits
✑ normalisation la mantisse :
J I 1.000 . . . <  < 1.111 . . . ou 0.1000 . . . <  < 0.1111 . . .

Page 34 de 37 ❒ Pour les nombres réels (positifs ou négatifs) : 3 champs

1. le signe, sur 1-bit


Retour
2. la mantisse, sur un nombre fixé de bits
Full Screen 3. l’exposant, sur le reste des bits (entier positif ou négatif)

Fermer

Quitter
IPGP
.

Représentation en virgule flottante d’un nombre réel (suite)

Introduction
Éléments de base . . .
Processeurs
Mémoires
Bus
Système d’exploitation
Représentation des . . .
❒ standard IEEE adopté par tous les ordinateurs
Page d’accueil ✑ exemple : architectures 32-bits
1. signe : 1-bit
Page de Titre
2. mantisse : 23-bits
Sommaire 3. exposant : 8-bit
✍ le plus grand nombre : ω = 2126 ≈ 1038 ,
JJ II le plus petit nombre positif :  = 2−150 ≈ 10−47

J I
❒ 3 régions dans le standard IEE
Page 35 de 37

Retour 1. nombres positifs : x ∈ [, ω]


2. zéro
Full Screen 3. nombres négatifs : x ∈ [−ω, −]

Fermer

Quitter
IPGP
.

Représentation en virgule flottante d’un nombre réel (suite)

Introduction
Éléments de base . . .
Processeurs
Mémoires
Bus
Système d’exploitation
Représentation des . . .

Page d’accueil
❒ Plusieurs points importants pour les programmeurs :
Page de Titre
◆ taille de l’intervalle [−ω, ω]
Sommaire ✍ environ 1038 entiers mais seulement 232 = 109 chaı̂nes de 32-bits
distinctes
JJ II ⇒ il y a dans cet intervalle des nombres sans représentation
✍ erreur d’arrondi : chaı̂ne binaire prôche du nombre mais pas une
J I
représentation exacte
exemple : 1 n’a pas de représentation binaire exacte
Page 36 de 37

1 ≈ 0.0001100110011 . . .
Retour

Full Screen

Fermer

Quitter
IPGP
.

◆ écart entre  et zéro


✑ une erreur d’arrondi qui, au lieu de produire une valeur très faible

Introduction
mais non nulle, produit zéro s’appelle un underflow
✑ IEE joue sur la dénormalisation de la mantisse pour les très petits
Éléments de base . . .
Processeurs
nombres
✍ la dénormalisation autorise une asymétrie entre l’exposant le plus
Mémoires
fort et le plus faible (- 47 au lieu de - 38).
Bus
Système d’exploitation
Représentation des . . .
◆ représentation non uniforme des nombres sur [−ω, ω]
✑ très dense au voisinage de zéro
✑ densité décroit rapidement avec la magnitude
Page d’accueil

✍ exemple : système 16-bits avec 7-bits mantisse et 8-bits exposant.


Page de Titre
0.11100002 − 0.11100012 = 0.00000012 ≈ 0.007810
Sommaire
Pour des nombres proches de zéro, l’exposant est négatif : - 100
JJ II ∆ = 0.00000012 × 2100 ≈ 0.0078 × 10−30 = 7.8 × 10−33
J I Pour des grands nombres, les exposants sont de l’ordre de 100
∆ = 0.00000012 × 2100 ≈ 7.8 × 1027
Page 37 de 37

Retour

Full Screen

Fermer

Quitter

You might also like