61
CHAPITRE 2 A R C H I T E C T U R E DE VON NEUMANN

CHAPITRE 2 - dbenmerzoug.e-monsite.comdbenmerzoug.e-monsite.com/medias/files/l2-ao-chap2.pdf · CHAPITRE 2 A R C H I T E C T U R E DE VON NEUMANN . 1) Architecture de base d’un

Embed Size (px)

Citation preview

CHAPITRE 2

A R C H I T E C T U R E

DE

VON NEUMANN

1) Architecture de base d’un ordinateur

Les travaux réalisés autour du mathématicien américain, d’origine allemande (ou hongroise) VON NEUMANN constituent le fondement des ordinateurs actuels.

Les principes de VON NEUMANN sont encore en œuvre dans la quasi-totalité des ordinateurs contemporains avec naturellement de nombreuses améliorations.

NB :

Les machines parallèles ( à plusieurs processeurs ) ne sont pas considérées comme des machines de type VON NEUMANN.

2) Définition de l’ architecture d’un

ordinateur

C’est l’étude et la description du fonctionnement des composants internes d’un ordinateur ( plus leur interconnexion ).

Elle traite :

- Du type des informations

manipulés et de leur codage.

- Du « dialogue » entre composants.

. . .

3) Structure générale d’un ordinateur

L’architecture schématique suivante illustre

bien un ordinateur classique ( de type VON

NEUMANN ) :

3.1) Vue fonctionnelle d’un ordinateur

Structure de traitement

des données

Dispositif de transfert Mécanisme de

des données de contrôle

Structure de mémorisation

des données

3.2) Modèle de VON NEUMANN

DISPOSITIF

D ’ E / S

UNITE

MEMOIRE ARITHMETIQUE

CENTRALE ET LOGIQUE

UNITE DE CONTROLE

3.3) Schéma d’un ordinateur

L’intérieur de l’ordinateur

1) Carte mère

CARTE MERE

L’élément principal de l’ordinateur est la carte mère

(en anglais : mainboard ou motherboard).

La carte mère est une carte maîtresse qui prend la

forme d’un grand circuit imprimé possédant des

connecteurs pour les cartes d’extension, les barrettes de

mémoires, le processeur, etc.

C'est elle qui accueille l'ensemble des composants

internes de votre ordinateur (processeur, mémoire,

…) et gère les différentes interfaces avec vos

périphériques prise pour les éléments internes et ports

USB pour les périphériques externes.

2) Processeur

Processeur :

Souvent qualifié de cerveau de l'ordinateur, le

processeur permet de manipuler et de traiter les

données qui lui sont fournies.

Sa puissance a une influence sur la vitesse

d'exécution de vos logiciels et des opérations que

vous effectuez.

3) Mémoire vive

Mémoire vive

Partenaire de travail du processeur, la mémoire

vive (appelée aussi RAM) stocke temporairement

les données à traiter par le processeur. Ainsi, plus il y

a de mémoire de disponible , plus il est possible d'y

conserver des données temporairement (ce qui évite

d'accéder au disque dur qui est plus lent).

La mémoire vive est vidée à chaque arrêt ou

redémarrage de votre ordinateur.

LES UNITES D’E/S

4) Disque dur

Disque dur

Contrairement à la mémoire vive, les données

stockées sur un disque dur sont permanentes et ne sont

pas effacées à l'arrêt de votre ordinateur.

C'est donc sur un disque dur que votre système

d'exploitation (Linux, MacOs ou Windows), vos

logiciels et vos documents sont conservés. C'est donc

un espace de stockage permanent, où vous pouvez

copier et supprimer des données à volonté.

5) Alimentation

L'alimentation

L'alimentation a pour rôle d'assurer la

fourniture en électricité à tous les composants de

votre ordinateur.

6) Carte graphique

Carte graphique

La carte graphique permet de traiter et

d'afficher sur un écran les données provenant de

votre ordinateur. Les cartes graphiques récentes

disposent de processeurs spécialisés dans la

manipulation de données en 3D. (Jeux vidéos)

7) Lecteur/Graveur

Lecteur / graveur

Un lecteur de DVD vous permet de lire les

données qui se trouvent sur les CD et DVD (jeux,

logiciels, photos). Dans sa fonction graveur, en plus

de la lecture des données, il permet de stocker des

fichiers sur des CD et des DVD ( musique, films,

photos, sauvegardes), afin de libérer de l'espace sur

votre disque dur.

8) Carte son

Carte son

La carte son permet de gérer les entrées

( microphone, ligne) et les sorties (vers les hauts

parleurs ) de votre ordinateur.

Elle comporte un processeur chargé de tous

les traitements numériques du son.

Résumé

Différents composants d’un ordinateur :

- La carte mère

- Le processeur

- La mémoire vive

- Les unités d’E/S :

- Le disque dur

- Le lecteur et/ou graveur de CD et/ou DVD

. . .

Composants optionnels :

- La carte graphique

- Le lecteur de disquettes

- Modem interne

- Carte réseau

- Carte son

3.4) Définition d’un ordinateur :

Un ORDINATEUR est un ensemble très

complexe de MATERIEL et de LOGICIEL :

a) PARTIE MATERIELLE :

L’ordinateur est composé essentiellement des

éléments suivants :

-- Un élément permettant d’exécuter les instructions

d’un programme : C’est le PROCESSEUR CENTRAL.

-- Des éléments permettant de stocker les données : Ce

sont les MEMOIRES.

-- Des éléments permettant la communication entre

l’ordinateur et l’être humain : Ce sont les

PERIPHERIQUES.

-- Des éléments permettant aux différents composants

( CPU, mémoires et périphériques ) de l’ordinateur de

communiquer : Ce sont les BUS.

b) PARTIE LOGICIELLE :

Les logiciels se répartissent en 2 catégories :

-- Logiciel de base : ( Système d’exploitation)

Un logiciel de base est constitué d’un ensemble de programmes qui assure le BON fonctionnement de l’ordinateur et gère les différents périphériques.

( WINDOWS, UNIX, … )

-- Logiciel d’application :

Un logiciel d’application est un ensemble de programmes coopérant pour exécuter une tâche particulière.

( WORD, ACROBAT READER, … )

c) Rôle d’un ordinateur de type VON NEUMANN :

C’est une machine de traitement de l’information capable

- D’acquérir de l’information

- De stocker de l’information

- De transformer de l’information

( En effectuant des opérations quelconques )

- De restituer de l’information sous une autre

forme ( Résultat ).

NB: Nos ordinateurs basés sur l’architecture de V. N

signifie que les instructions et les données (les opérateurs

et les opérandes) sont stockés dans la même mémoire.

Ainsi, le microprocesseur doit accéder deux fois à la

mémoire, une pour l’instruction une pour de la donnée.

4) Processeur central

( Microprocesseur )

( CPU : Central Processing Unit )

C’est un circuit électronique complexe qui

exécute chaque instruction très rapidement, en

quelques cycles d’horloge.

( ex : Intel )

NB:

Machines CISC et RISC :

Les processeurs généraux actuels se répartissent en

deux grandes catégories appelées CISC ( Complex

Instruction Set Computer ) et RISC ( Reduced

Instruction Set Computer ).

Les processeurs de ces deux catégories se distinguent

par la conception de leurs jeux d'instructions. Les

processeurs CISC possèdent un jeu étendu d'instructions

complexes. (Chacune de ces instructions peut effectuer

plusieurs opérations élémentaires comme charger une

valeur en mémoire, faire une opération arithmétique et

ranger le résultat en mémoire).

Au contraire, les processeurs RISC possèdent

un jeu d'instructions réduit où chaque instruction

effectue une seule opération élémentaire.

Le jeu d'instructions d'un processeur RISC

est plus uniforme. Toutes les instructions sont codées

sur la même taille et toutes s'exécutent dans le même

temps ( Un cycle d'horloge en général ).

La répartition des principaux processeurs dans les

deux catégories est la suivante :

CISC RISC

S/360 (IBM) Alpha (DEC)

VAX (DEC) PowerPC (Motorola)

68xx, 680x0 (Motorola) MIPS

x86, Pentium (Intel) PA-RISC (HP)

SPARC

Comparaison

Famille de processeurs :

La classification des processeurs par familles se

fait selon :

-- L’exécution d’un même ensemble

d'instructions de base.

-- La taille des données qu’ils peuvent

manipuler 4 bits, 8, 16, 32, 64…

NB :

Chaque famille comporte énormément de

modèles différents.

Fréquence du processeur :

Un processeur fonctionne à une certaine fréquence

- Guidée par une horloge extérieure.

- Exprimée en MHz ou en GHz.

A chaque tic d’horloge, le CPU peut effectuer du travail :

- Chaque instruction du CPU nécessite un certain nombre de cycles.

- Dépend de la complexité de l’instruction.

4.1) Composition interne du processeur

-- Composition physique : « vulgaire » morceau de

silicium de quelques mm2.

-- Composition électrique : Il est constitué

électriquement d’interrupteurs commandées par des

tensions. Les interrupteurs sont appelés TRANSISTORS

et leur agencement forme un ensemble de fonctions

logiques élémentaires comme OU, ET, ADD, SUB, …

-- Composition logique du processeur :

Le processeur de base est constitué de 2 unités

fonctionnellement séparées : L’ UC et L’UAL.

UC ( Unité de contrôle ou unité de commande )

Elle dirige le fonctionnement du processeur.

Ses circuits génèrent les signaux nécessaires à l’exécution

de chaque instruction d’un programme.

Elle est constituée du

. Séquenceur qui génère des signaux de

commandes pour piloter les autres entités du processeur et

synchroniser ce dernier avec la mémoire centrale.

. Décodeur qui détermine quelle opération

doit être effectuée.

UAL ( Unité arithmétique et logique )

Elle effectue les opérations logiques telles que les fonctions OU, ET et le DECALAGE.

-- Rôle du processeur :

Il doit exécuter les instructions d’un programme.

4.2) Registres du processeur

NB:

-- Les registres sont des mémoires internes au processeur.

-- Leur temps d’accès est rapide.

-- Leur nombre et leur type varient d’une architecture à une autre.

Les registres sont classés en plusieurs catégories :

-- Les registres généraux :

Ils contiennent les données et les résultats des

opérations réalisées par le processeur.

-- CO ( Compteur ordinal )

Il contient l’adresse de la case mémoire où est

rangée l’instruction suivante à chercher.

-- RI ( Registre instruction )

Il contient le code opération de la prochaine

instruction à exécuter.

-- Registre d’état : ( registre condition )

Il contient différents bits appelés drapeaux (

Flags ) indiquant l’état d’une condition particulière

dans le processeur.

-- Registre pointeur de pile:

Il permet de gérer une pile dans la mémoire

centrale.

-- Registre de base:

Ils sont conçus pour contenir des adresses de

référence.

-- Registre d’index ou d’indice:

Ils permettent de manipuler des tableaux de

données.

-- Registres spécialisés:

Dans certains ordinateurs, on peut trouver des

registres spécialisés pour réaliser des opérations

particulières ( Registres à décalage ).

5) « Fonctionnement » d’un ordinateur Le processeur unique d’ordinateur classique exécute

le programme d’un utilisateur. Il dispose d’une mémoire

dans laquelle il peut aller LIRE / ECRIRE des données.

D’où le principe d’exécution d’un programme :

a) Le programme ( Instructions + données ) est chargé

en mémoire centrale (MC).

b) Les instructions sont ramenées, une par une,

séquentiellement à l’unité de contrôle (UC) qui les analyse

et déclenche le traitement approprié en envoyant des

signaux à l’unité arithmétique et logique (UAL).

c) Le traitement peut nécessiter de faire appel aux unités

d’E /S ou bien à la MC.

Les étapes du cycle recherche sont :

1) Transfert de l’adresse de la nouvelle instruction

du registre CO vers le registre RA.

2) Une impulsion de lecture générée par l’unité de

commande provoque le transfert de l’instruction

cherchée vers le registre RM .

3) Transfert de l’instruction vers le registre RI.

4) Pendant que l’adresse de l’opérande est envoyée

vers RA, le code opération est transmis au décodeur

qui détermine le type d’opération demandée et le

transmet au séquenceur en envoyant un signal sur la

ligne de sortie correspondante.

5) Le registre CO est incrémenté en vue du cycle de

recherche suivant.

RA MC 2 RM

1 3

CO RI

4

Décodeur

5

Séquenceur

Unité de contrôle

CLK

Décodeur

Séquenceur

Les différentes étapes du cycle d’exécution sont :

1) Le séquenceur commence à envoyer les signaux de

commande vers MC pour lire l’opérande ( à

l’adresse déjà stockée dans RA ) et le fait parvenir

dans le registre RM.

2) Transfert du contenu du registre RM vers l’UAL (

et plus précisément vers l’Accumulateur ou vers tout

autre registre affecté à l’opération spécifiée ).

3) L’opération est effectuée sous le contrôle du

séquenceur.

RA MC RM

2

ACC

1

U C UAL

3

Séquenceur

NB :

-- Le cycle recherche est associé à l’UC.

-- Le cycle exécute est associé à l’UAL.

-- Le cycle de recherche et le cycle d’exécution

composent le cycle instruction.

-- Le cycle recherche est suivi par le cycle exécute.

-- Une fois le cycle d’exécution terminé, l’UC passe

immédiatement au cycle de recherche suivant et

prend en compte la nouvelle instruction indiquée par

l’adresse contenue dans le registre CO.

Les processeurs multi coeurs :

Ils possèdent plusieurs unités de calcul qui travaillent en parallèle. Ce qui permet

-- D'augmenter la puissance de calcul sans augmenter la fréquence d'horloge (et donc de réduire la chaleur dissipée) en traitant en parallèle plusieurs tâches.

-- De profiter de ce « parallélisme » : Les

programmes doivent être adaptés ( et notamment

les systèmes d'exploitation).

NB:

La tendance est vers des coeurs spécialisés.

Exemple: Processeur Double Cœur

( Processor Core Duo )

Un processeur double cœur ou multi coeur réunit plusieurs instances de calcul sur un même composant.

Cette technique de conception des puces permet de traiter simultanément deux programmes lancés par l'utilisateur, comme par exemple le téléchargement de fichiers et l'écriture de texte.

Techniquement, un processeur à double cœur ressemble de près à deux processeurs que l'ont aurait rassemblés sur une même carte de taille quasi-similaire au processeur actuel.

En pratique, cela nécessite de créer une unité

supplémentaire de traitement capable de traiter la

répartition des traitements entre les deux cœurs, bien

qu'une partie de ce travail soit assurée par les

concepteurs de programme.

Chez Intel, chaque cœur dispose d'un

contrôleur mémoire et d'une mémoire cache séparée.

Chez AMD, cette partie est commune aux deux

cœurs afin de faciliter le transfert d'informations et

l'utilisation des ressources machines.

6) Taille des principaux registres :

• Taille des registres associés au CPU

• Taille des registres associés à MC

6) Synchronisation des opérations

-- Les circuits qui synchronisent et contrôlent toutes

les opérations sont situés dans l’unité de commande.

-- Les signaux périodiques générés par l’horloge

définissent le cycle de base ( Cycle machine ou cycle

horloge ), c-à-d la durée élémentaire régissant le

fonctionnement de la machine.

-- Le temps d’exécution d’une instruction dépend du

type d’opération à effectuer.

-- Le cycle CPU indique le temps d’exécution de

l’instruction la plus courte ou la durée d’une action

élémentaire provoquant un changement d’état.

-- Un cycle instruction peut s’étendre sur plusieurs cycles

machines :

CLK

Cycle Cycle

Recherche Exécute

Cycle Instruction

7) Performances

NB:

Tous les ordinateurs sont construits avec une horloge de fréquence constante qui détermine à quels moments les événements se produisent dans la machine.

7.1) Motivations -- Comment décrire les performances ?

-- Quels sont les principaux facteurs qui déterminent les performances ?

-- Pour différents types d’applications, on utilise des métriques ( ensemble de mesures ) de performances différentes.

7.2) Notion de performance Que veut dire

« UN ORDINATEUR A DE MEILLEURES

PERFORMANCES QU’UN AUTRE » ?

7.3) Performance

Pour MAXIMISER les performances, il faut

MINIMISER le temps de réponse.

PERF = 1 / Temps d’exécution

Soient X et Y deux machines.

Si PERF(X) > PERF(Y) alors

1 1 TEX(Y) > TEX(X)

TEX(X) TEX(Y)

Machine X est plus rapide que la machine Y.

Aussi, on dit que la machine X est N fois plus rapide

que la machine Y, si on a :

PERF(X) TEX(Y)

= = N

PERF(Y) TEX(X)

8) CONCLUSION Le développement des architectures se poursuit

toujours, mais spécialement dans deux directions

principales:

- L’ACCROISSEMENT des PERFORMANCES

grâce à la construction d’autres machines appelées

SUPERORDINATEURS ( Architectures parallèles ).

- LA MINIATURISATION des composants

( on construit en quantité importante et à bas prix ).

COMPREHENSION DU CHAPITRE 2

intitulé

Architecture de VON NEUMANN

Q1)

1) Quels sont les principaux composants d’une machine de type VON NEUMANN ?

Quel est le rôle de chacun ?

2) Donner le schéma fonctionnel simplifié d’un ordinateur.

3) Quel est son principe de fonctionnement ? Justifier votre réponse.

4) Dans une architecture de Von Neumann :

- Où sont rangées les données ?

- Où sont rangés les programmes ?

Q2) Parmi les assertions suivantes, quelle est celle qui est

vraie :

Le cycle RECHERCHE n’est pas le même pour

toutes les instructions.

Le temps d’exécution d’une instruction dépend du

type d’opération à effectuer.

Le programmeur a accès au registre CO et RI

directement.

La taille du registre CO dépend du nombre de

positions de mémoire adressables.

Le programmeur ne peut pas accéder à l’ACC.

La taille du registre RI ne correspond pas à la taille

du mot mémoire.

Q3)

Comparer les architectures RISC et CISC ?

Q4)

Soit une machine de type VON NEUMANN ayant

une MC de capacité égale à 4K emplacements de 32

BITS chacun et un jeu d’instructions égal à 256.

Quelle est la taille

De RI, ACC et CO ?

Du champ code opération ( COP ) dans le format d’une instruction ?

Q5)

Quels sont les principaux facteurs qui déterminent la

puissance de traitement de l’information par un

ordinateur ?

Q6)

Si une machine A exécute un programme en 10

secondes et une machine B exécute le même

programme en 15 secondes, de combien A est-elle

plus rapide que B ?