La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Architecture des ordinateurs Elaboré par: ABIDA Mounir

Présentations similaires


Présentation au sujet: "Architecture des ordinateurs Elaboré par: ABIDA Mounir"— Transcription de la présentation:

1 Architecture des ordinateurs Elaboré par: ABIDA Mounir
BEN HMED Afef ISET MAHDIA

2 Positionnement du cours
Traitement de l’information Capteur Conditionnement Amplificateur C.A.N. φ R, I, C, L, F… U U Mot binaire Capteur Electronique Acquisition données Informatique d’instrumentation

3 Informatique = Information + Automatique
Définition Informatique = Information + Automatique Ce terme a été introduit en France. Il est très répandu dans le monde à part dans les pays anglo-saxons où le terme dominant est computer science. Informatique = Théories et des supports physiques Système Informatique = Software+hardware

4 Comprendre la structure matérielle d’un ordinateur
Objectifs du cours Comprendre la structure matérielle d’un ordinateur Savoir choisir un ordinateur en fonction d’un besoin

5 Plan

6

7 I.2 Représentation de l’information I.3 Codage de l’information
I. Généralités I.1 Définitions I.2 Représentation de l’information I.3 Codage de l’information I.4 Traitement de l’information

8 Architecture d’un système :
I. Généralités I.1 Définitions Architecture d’un système : Représente l’organisation des différentes unités d’un système et leurs interconnexions. Ordinateur : Machine automatique de traitement de l’information Obéit à un programme formé par des suites d’opérations logiques et arithmétiques

9 Pascaline Algèbre de Boole Tube à vide Shannon BInary digiT Z3 Mark I
I. Généralités I.1 Définitions 1ière génération 2ième génération 3ième génération Pascaline 1642 1854 Algèbre de Boole 1904 Tube à vide 1938 Shannon BInary digiT Z3 1943 Mark I 1945 ENIAC 1947 Transistor 1958 Circuit Intégré 1960 IBM 7000 1971 Intel 4004 1976 Apple I 1981 IBM PC En 1642, Blaise Pascal créa la machine d'arithmétique (baptisée Pascaline), une machine capable d'effectuer des additions et soustractions, destinée à aider son père, un percepteur de taxes. En 1673, Gottfried Wilhelm Von Leibniz ajouta à la Pascaline la multiplication et la division. En 1854, un mathématicien anglais, George BOOLE publie un essai sur une algèbre pour simuler les raisonnement logiques (vrai / faux) Dans les années 30, Claude Shannon fit le rapprochement entre les nombres binaires, l’algèbre de Boole et les circuits électrique. Il démontre que le système binaire manipulé par les opérations logiques de Boole permet de réaliser toutes les opérations logiques et arithmétiques. En 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. En 1943, Howard Aiken met au point un ordinateur programmable mesurant 17 m 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 800 km de fil électrique. En 1945, le premier ordinateur ne comportant plus de pièces mécaniques est créé grâce à J.Mauchly et J.Presper Eckert : l'ENIAC (Electronic Numerical Integrator And Computer). L'ENIAC pesait 30 tonnes et occupait 72 mètres carrés de superficie. Il fallait 18,000 tubes à vide qui consommaient 200 kilowatts d'électricité. Il fut utilisé pour des calculs ayant servi à mettre au point la bombe H. Son principal inconvénient était sa programmation : l'ENIAC était en effet uniquement programmable manuellement avec des commutateurs ou des câbles à enficher. 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 le terme anglais pour « insecte » étant « bug », le nom est resté pour désigner une erreur informatique. Son lecteur pouvait lire 120 cartes perforées à la minute. Pour reprogrammer cette machine, il fallait réaliser des cablages compliqués pouvant nécessiter plusieurs jours. Elle tombait souvent en panne mais fonctionnait 1000 fois plus rapidement que le Harvard Mark I, en réalisant une addition en 200 micro-secondes (5000 additions par seconde). Il a fallu attendre 40 ans entre l'invention de la technologie (tubes à vide) et l'application. Cette latence va diminuer, mais sera toujours présente dans la suite de l'histoire. En 1948, le transistor est créé par la firme Bell Labs (grâce aux ingénieurs John Bardeen, Walter Brattain et William Shockley). Il permet dans les années 50 de rendre les ordinateurs moins encombrants, moins gourmands en énergie électrique donc moins coûteux : c'est la révolution dans l'histoire de l'ordinateur ! Le circuit intégré est mis au point en 1958 par Texas Instruments, il permet de réduire encore la taille et le coût des ordinateurs en intégrant sur un même circuit électronique plusieurs transistors sans utiliser de fil électrique. En 1960, l'IBM 7000 est le premier ordinateur à base de transistor. En 1971, le premier microprocesseur, l'Intel 4004, fait son apparition. Il permet d'effectuer des opérations sur 4 bits simultanément. En 1976, Steve Wozniak et Steve Jobs créent le Apple I dans un garage. Cet ordinateur possède un clavier, un microprocesseur à 1 MHz, 4 ko de RAM et 1 ko de mémoire vidéo. En 1981 IBM commercialise le premier « PC » composé d'un processeur 8088 cadencé à 4.77 MHz qxQXQX

10 I.2 Représentation de l’information I.3 Codage de l’information
I. Généralités I.1 Définitions I.2 Représentation de l’information I.3 Codage de l’information I.4 Traitement de l’information

11 Information numérique = information binaire = 1 bit
I. Généralités I.2 Représentation de l’information Information numérique = information binaire = 1 bit Représentée par 2 niveaux de tension Codée par « 0 » logique ou « 1 » logique Différents codages pour représenter une information (binaire naturel, complément à 2, BCD, etc…) rappel : avec n bits, on peut représenter 2n états qxQXQX

12 Numération Nbase b bn b2 b1 b0 n 2 1 Poids du chiffre Rang du chiffre
I. Généralités I.2 Représentation de l’information Numération Nbase b Poids du chiffre bn b2 b1 b0 Rang du chiffre n 2 1 Numérotation arabe : représentation positionnelle la rang de chaque chiffre indique son poids dans 1999 le 9 le plus à droite vaut 9, le deuxième 90… la valeur d’un chiffre dépend de sa position plusieurs bases : XXXb indique que le nombre XXX est écrit en base b représentation usuelle : base 10 représentations courantes en informatique : bases 2 (binaire, interne), 8 (octal) et 16 (hexadécimal) qxQXQX

13 Conversion Binaire → Décimal
I. Généralités I.2 Représentation de l’information Conversion Binaire → Décimal On additionne les poids associés à chaque symbole Exemple : ( )2 = = (25)10 Bases correspondant à des puissances de 2 : conversions très faciles qxQXQX

14 Conversion Décimal → Binaire
I. Généralités I.2 Représentation de l’information Conversion Décimal → Binaire On effectue des divisions successives par 2 Exemple : 1 27 2 (55)10 = (110111)2 13 2 1 6 1 2 3 2 1 1

15 Conversion Hexadécimal → Décimal
I. Généralités I.2 Représentation de l’information Conversion Hexadécimal → Décimal On additionne les poids associés à chaque symbole Exemple : ( B )16 = Bx x16 + 2x1 = 11x = (2850)10 Pour simplifier la notation binaire on utilise en informatique la notation hexadécimale -> simplification de la lecture des adresses mémoires…  Conversion Décimal → Hexadécimal On effectue des divisions successives par 16 qxQXQX

16 Conversion Binaire → Hexadécimal
I. Généralités I.2 Représentation de l’information Conversion Binaire → Hexadécimal On regroupe les bits par quartets et on remplace les quartets par leur équivalent hexadécimal Exemple : ( )2 ( B )16  Conversion Hexadécimal → Binaire On effectue l’opération inverse

17 I.2 Représentation de l’information I.3 Codage de l’information
I. Généralités I.1 Définitions I.2 Représentation de l’information I.3 Codage de l’information I.4 Traitement de l’information

18 Les informations directement traitées par un ordinateurs sont :
I. Généralités I.3 Codage de l’information Les informations directement traitées par un ordinateurs sont : des données : entiers : naturels et relatifs flottants : nombres réels caractères des instructions : leur codage est spécifique à un processeur Le codage de ces trois types est défini par des standard (normes spécifiées par des organisations internationales) qxQXQX

19 Codage des entiers naturels : Binaire naturel
I. Généralités I.3 Codage de l’information Codage des entiers naturels : Binaire naturel BCD : Remplacer chaque chiffre d’un nombre décimal par son équivalent binaire Codage des entiers relatifs : Complément à 2 : x est le complément à 1 (-x)C2 = x +1 Bit de poids fort = bit de signe

20 Codage des caractères : ASCII
I. Généralités I.3 Codage de l’information Codage des caractères : ASCII Caractères spéciaux Lettres Chiffres Caractères : symboles alphanumériques (& , . A 5 …) données non numériques (l’addition n’a pas de sens) comparaison ou tri utile table de correspondance entre les nombres et les caractères Code ASCII (American Standard Code for Information Interchange) 7 bits pour représenter les caractères (ASCII étendu = 8 bits) 0 (00) à 31 (1F) : caractères spéciaux : sauts, bips… 48 à 57 : chiffres dans l’ordre (valeur = 4 bits de poids faible) 65 à 90 les majuscules et 97 à 122 les minuscules (on modifie le 5ème bit pour passer des majuscules aux minuscules : +32)… En machine on accède aux mots par octet ASCII étendu : caractères accentués… Compatibilité : nécessaire d’expliciter le codage utilisé : iso-latin-1 qxQXQX

21 Notations 1 kilo = 210 = 1024 1 Méga = 220 = 1 048 476
I. Généralités I.3 Codage de l’information Notations 1 kilo = 210 = 1024 1 Méga = 220 = 1 octet = 8 bits 1 ko = 1024 octets = 8192 bits 1 Mo = 210 ko = 1024 ko = bits

22 Exemple : Codage d’une image
I. Généralités I.3 Codage de l’information Exemple : Codage d’une image Image matricielle = matrice de points élémentaires = PIcture ELement = pixel Chaque pixel est codé en binaire sur un certains nombre de bits résolution = nombre de pixel par unité de surface (souvent le pouce) qxQXQX

23 Chaque pixel est codé sur 1 bit : 0 = blanc 1 = noir
I. Généralités I.3 Codage de l’information Image noir et blanc : Chaque pixel est codé sur 1 bit : 0 = blanc 1 = noir 303 pixels 1 Ce type de codage peut convenir pour un plan ou un texte mais on voit ses limites lorsqu'il s'agit d'une photographie. 36 bits 303 pixels 303 x 303 x 1 bit = bits qxQXQX

24 Chaque pixel est codé sur plusieurs bits
I. Généralités I.3 Codage de l’information Image Niveaux de gris Chaque pixel est codé sur plusieurs bits Si on code sur 8 bits = 1 pixel = 1 octet 303 pixels 303 x 303 x 1 octet = octets = bits Si on code chaque pixel sur 2 bits on aura 4 possibilités (noir, gris foncé, gris clair, blanc). L'image codée sera très peu nuancée. En général on code chaque pixel sur 8 bits = 1 octet. On a alors 256 possibilités (on dit 256 niveaux de gris). qxQXQX

25 Code RVB = Rouge, Vert, Bleu Chaque couleur est codée sur 8 bits
I. Généralités I.3 Codage de l’information Image couleur 24 bits Code RVB = Rouge, Vert, Bleu Chaque couleur est codée sur 8 bits La couleur du pixel est l’association des 3 couleurs Chaque pixel est codé sur 24 bits (true color) 303 pixels 303 x 303 x 3 octets = octets = bits Il existe plusieurs modes de codage de la couleur. Le plus utilisé est le codage Rouge, Vert, Bleu (RVB). Chaque couleur est codée sur 1 octet = 8 bits. Chaque pixel sur 3 octets c'est à dire 24 bits : le rouge de 0 à 255 , le vert de 0 à 255, le Bleu de 0 à 255. Le principe repose sur la synthèse additive des couleurs : on peut obtenir une couleur quelconque par addition de ces 3 couleurs primaires en proportions convenables. On obtient ainsi 256 x 256 x 256 = (plus de 16 millions de couleurs différentes) C'est ce codage de la couleur qui est utilisé par la plupart des écrans d'ordinateurs actuellement. On constate qu'il est très gourmand en mémoire. Pour faciliter le stockage des images en mémoire on utilise des outils de compression (JPEG, GIF, etc…) Codage d'une image en couleurs 8 bits Dans ce cas on attache une palette de 256 couleurs à l'image. Ces 256 couleurs sont choisies parmi les 16 millions de couleurs de la palette RVB. Pour chaque image le programme recherche les 256 couleurs les plus pertinentes. Chaque code (de 0 à 255) désigne une couleur. L'image occupe 3 fois moins de place en mémoire qu'avec un codage 24 bits. L'image est moins nuancée : sa qualité est bonne mais moindre. qxQXQX

26 I.2 Représentation de l’information I.3 Codage de l’information
I. Généralités I.1 Définitions I.2 Représentation de l’information I.3 Codage de l’information I.4 Traitement de l’information qxQXQX

27 Arithmétique Addition Soustraction Multiplication Division + 0 + 1 1
I. Généralités I.4 Traitement de l’information Arithmétique Addition Soustraction Multiplication Division + 0 + 1 1 1 + 1 10 Retenue A-B = A + (B)C2 B fois A x B = A+A+A+A+…+A A : B = c avec c : nombre entier de soustraction de B dans A qxQXQX

28 Un mot de n bits est une suite (ai)0i n-1
I. Généralités Un mot de n bits est une suite (ai)0i n-1 a0 est le bit de poids faible an-1 est le bit de poids fort Notation hexadécimale : Manière simplifiée d’écrire les mots binaires 4 bits = 1 digit hexadécimal Exemple : = 0x4b5f

29 Soient B un entier 2 et N un entier 1
I. Généralités Entiers naturels Soient B un entier 2 et N un entier 1 Tout entier p compris entre 0 et BN-1 s’écrit de façon unique sous la forme : où les di sont entre 0 et B-1 La décomposition de p en base B est : P = dN-1 … d2d1d0

30 Quatre représentations (au moins) : Signe – Valeur absolue
I. Généralités Entiers relatifs Quatre représentations (au moins) : Signe – Valeur absolue Complément à 1 Complément à 2 Excédent à 2N-1 Représentation symétrique ? Problème lié au zéro

31 I. Généralités Complément à 2 Sur N bits, on peut représenter 2N nombres différents. On choisi de représenter les nombres compris entre -2N-1 et 2N-1-1. La représentation des entiers positifs est identique à celle des entiers naturels. La représentation d’un entier négatif p est la représentation en naturel de l’entier p+2N (Excédent à 2N)

32 Intérêts du complément à 2
I. Généralités Intérêts du complément à 2 Signe + valeur absolue nécessite 2 algorithme pour les additions. Complément à 2 : un seul algorithme On voit le signe (0 positif 1 négatif) Pour une suite d’opérations dont le résultat théorique est représentable, même si il y a des dépassements de capacité intermédiaires, le résultat final est correct.

33 Exemples de numérations
I. Généralités Exemples de numérations binaire position Signe || comp. à 1 à 2 exed. à 4 à 3 000 -4 -3 001 1 -2 010 2 -1 011 3 100 4 -0 101 5 110 6 111 7

34 But : travailler directement en base 10
I. Généralités Notation BCD But : travailler directement en base 10 Applications de gestion, beaucoup d’E/S Exemple : est représenté en BCD par : Inconvénients : Opérations arithmétiques plus compliquées Demande plus de mémoire

35 x = m  B e Forme mantisse et exposant : Nombres négatifs
I. Généralités Les flottants Forme mantisse et exposant : x = m  B e Nombres négatifs représentables Nombres positifs représentables zéro underflow overflow overflow

36 f = mantisse (partie fractionnaire de la)
I. Généralités La norme IEEE 754 I. Généralités Simple précision : 31 30 23 22 s e = exposant f = mantisse (partie fractionnaire de la) Double précision : 31 30 20 Suite de la partie fractionnaire de la mantisse f = mantisse (partie fractionnaire) s e = exposant 31

37 Interprétation des champs
I. Généralités Interprétation des champs nom exposant Partie frac. valeur normalisé emin<e<emax f qque (-1)s  1.f  2e dénormalisé e = emin f  0 (-1)s  0.f  2e zéro f = 0 +/- 0 infini e = emax +/-  NaN

38 I. Généralités I.4 Traitement de l’information Logique Combinatoire : la sortie des fonctions réalisées dépend d’une combinaison des entrées Utilisation de portes logiques élémentaires Réalisation de MUX, ADD, Codeur, Décodeur, etc… Séquentielle : la sortie des fonctions réalisées dépend d’une combinaison des entrées et de l’état de la sortie Utilisation de bascules Réalisation de compteur, registre, séquenceur, etc… qxQXQX

39 I. Généralités I.4 Traitement de l’information Exemple qxQXQX

40 qxQXQX

41 II. Architecture de base
II.1 Modèle de von Neumann et modèle de Harvard II.2 Microprocesseur II.3 Mémoire principale II.4 Interface E/S II.5 Les bus II.6 Le décodage d’adresses qxQXQX

42 II. Architecture de base
II.1 Modèle de von Neumann Système minimum de traitement programmé de l’information Une machine universelle contrôlée par un programme Des instructions, sous format binaire, stockées en mémoire Programme et données dans la même mémoire Rupture de séquence possible Avant avènement de l’électronique, la programmation des 1iers ordinateurs se faisait très difficilement en cablant des relais electromécaniques. (ex : ENIAC) Avant que le projet de l’ENIAC n’aboutisse, John W. Mauchly and J. Presper Eckert conçoivent un moyen plus simple de reprogrammer un ordinateur en proposant d’utiliser la mémoire du système pour stocker le programme. Cela permet de ne pas avoir à « recabler » l’ordinateur chaque fois que l’on veut modifier le programme. Mais vu que l’ENIAC était un projet classé top secret par l’armée et qu’on était en temps de guerre, leur travaux ne purent être publiés. Ce qui n’était pas le cas de chercheurs travaillant parallèlement au projet de l’ENIAC. C’est ainsi qu’un célèbre mathématicien hongrois, John von Neumann (pronounced von noy-man), après avoir lu les propositions de Mauchly and Eckert, publia un article reprenant leurs concepts : - une mémoire principale qui stocke programme et données - une unité arithmétique et logique qui traite les informations - une unité de commande qui interprète les instructions à exécuter - une unité d’Entrée et Sortie qui permet les relations avec le monde extérieur De nos jours, tous les ordinateurs reprennent cette architecture de base et sont connus sous le nom de système à architecture de Von Neumann !! qxQXQX

43 II. Architecture de base
II.1 Modèle de von Neumann Microprocesseur Mémoire Principale Interface E/S qxQXQX

44 II. Architecture de base
II.2 Modèle de Harvard Microprocesseur RAM ROM Interface E/S qxQXQX 44

45 II. Architecture de base
II.1 Modèle de von Neumann et modèle de Harvard II.2 Microprocesseur II.3 Mémoire principale II.4 Interface E/S II.5 Les bus II.6 Le décodage d’adresses qxQXQX

46 II. Architecture de base
qxQXQX

47 II. Architecture de base
qxQXQX

48 II. Architecture de base
II.2 Microprocesseur Circuit intégré numérique complexe. Intégration sur une puce de l’unité de commande et de l’UAL Capable d'interpréter et d'exécuter les instructions d'un programme Caractéristiques du up : Vitesse horloge Nbre instructions/s Taille des données… Microprocesseur qxQXQX

49 II. Architecture de base
II.1 Modèle de von Neumann II.2 Microprocesseur II.3 Mémoire principale II.4 Interface E/S II.5 Les bus II.6 Le décodage d’adresses qxQXQX

50 II. Architecture de base
II.3 Mémoire principale Contient : les programmes Les données Composée : Mémoire vive (RAM) Lecture/écriture données Mémoire morte (ROM) Lecture programme Mémoire Principale

51 II. Architecture de base
II.1 Modèle de von Neumann II.2 Microprocesseur II.3 Mémoire principale II.4 Interface E/S II.5 Les bus II.6 Le décodage d’adresses qxQXQX

52 II. Architecture de base
II.4 Interface E/S Passerelle vers le monde extérieur Assure la communication entre le microprocesseur et les périphériques Interface E/S

53 II. Architecture de base
II.1 Modèle de von Neumann II.2 Microprocesseur II.3 Mémoire principale II.4 Interface E/S II.5 Les bus II.6 Le décodage d’adresses qxQXQX

54 II. Architecture de base
II.5 Les bus Microprocesseur Mémoire Principale Interface E/S Ces éléments vont communiquer entre eux par l ’intermédiaire de 3 BUS

55 II. Architecture de base
II.5 Les bus Bus : Ensemble de fils qui assure la transmission du même type d’information Interconnecte les différents sous-système Lien de communication partagé

56 II. Architecture de base
II.5 Les bus Interface E/S Micropro- -cesseur Mémoire Principale Bus de données

57 II. Architecture de base
II.5 Les bus Bus de données Assure le transfert des informations (données ou instructions) entre le microprocesseur et son environnement Bidirectionnel Nombre de fils définit la capacité de traitement du up up périphériques

58 II. Architecture de base
II.5 Les bus ? Bus d ’adresses Interface E/S Micropro- -cesseur Mémoire Principale Bus de données

59 II. Architecture de base
II.5 Les bus Bus d ’adresses : Ensemble de fils sur lesquels le microprocesseur fournit l ’adresse du périphérique sélectionné Unidirectionnel Nombre de fils définit l’espace adressable par le up espace adressable = 2n avec n:nbre de fils up périphériques

60 II. Architecture de base
II.5 Les bus Interface E/S Micropro- -cesseur Mémoire Principale Bus d ’adresses Bus de données Bus de commande

61 II. Architecture de base
II.5 Les bus Bus de commande Assure la synchronisation des flux d'informations sur les bus de données et d’adresses. Le CPU indique ce qu ’il est en train de faire. Ce bus véhicule des signaux relatifs aux interruptions, commande de lecture/écriture, etc...

62 II. Architecture de base
II.1 Modèle de von Neumann II.2 Microprocesseur II.3 Mémoire principale II.4 Interface E/S II.5 Les bus II.6 Le décodage d’adresses qxQXQX

63 II. Architecture de base
II.5 Le décodage d’adresses Dans quels boîtiers vont aller les données ? Bus de commande Interface E/S Micropro- -cesseur Mémoire Principale Bus d ’adresses Bus de données

64 II. Architecture de base
II.5 Le décodage d’adresses Décodeur d’adresses Périphériques reliés sur le même bus de données Nécessité qu’un seul soit sélectionné à la fois Implique : Création d’un plan mémoire Utilisation d’un décodeur d’adresses Création d’entrée de sélection (CE ou CS) Existence de l’état haute impédance État haute impédance au tableau… qxQXQX

65 II. Architecture de base
II.5 Le décodage d’adresses Décodeur d’adresses Bus de commande Interface E/S Micropro- -cesseur Mémoire Principale Bus d ’adresses Bus de données

66 A l ’aide du schéma structurel du système minimum
EXERCICE: A l ’aide du schéma structurel du système minimum repérer les différents boîtiers. colorier Donner le nom du CPU (rouge) Donner le nom de la ROM (bleu) Donner le nom de la RAM (vert) Donner le nom du circuit I/O (Gris) Donner le nom du décodeur d ’adresses. (Jaune) Colorier les 3 Bus et repérer les 3 fils d ’adressage. Système minimum

67 Système minimum

68 PIA 6821 CPU 6809 RAM 6116 Eprom 27 64 HCT 138 Système minimum

69 II. Architecture de base
II.5 Le décodage d’adresses Plan mémoire µP 16 bits d’adresse 216=65536 octets = 64 Ko adressable @debut = $0000 @fin = $FFFF $FFFF $0000 8 Ko pour le PIA $1FFF PIA 8 Ko pour la RAM RAM $2000 $3FFF 8 Ko pour la ROM2 ROM2 $C000 $DFFF ROM1 $E000 8 Ko pour la ROM1

70 qxQXQX

71 III.3 Différents types de mémoire III.4 Critères de choix
III. Les mémoires III.1 Principe III.2 Caractéristiques III.3 Différents types de mémoire III.4 Critères de choix III.5 Hiérarchie mémoire

72 Permet le stockage des informations sous forme numérique
III. Les mémoires III.1 Principe Généralités Permet le stockage des informations sous forme numérique Les informations stockées sont appelées des données Elles sont accessibles par l’intermédiaire de leur adresse

73 Carte mémoire appareil multimédia Ordinateur Etc…
III. Les mémoires III.1 Principe Applications Carte à puce Carte mémoire appareil multimédia Ordinateur Etc…

74 Bus d’adresses 1 Mémoire 1 Bus de données A2 A1 A0 D0 D7
III. Les mémoires III.1 Principe Mémoire A2 A1 A0 D0 D7 Bus d’adresses Bus de données 1 1

75 Mémoire n fils d’adresses m fils de données Sélection CS Commande R/W
III. Les mémoires III.1 Principe Sélection CS Commande R/W Mémoire n fils d’adresses m fils de données

76 III.3 Différents types de mémoire III.4 Critères de choix
III. Les mémoires III.1 Principe III.2 Caractéristiques III.3 Différents types de mémoire III.4 Critères de choix III.5 Hiérarchie mémoire

77 Nombre de bits dans chaque case mémoire Largeur du mot mémorisable
III. Les mémoires III.2 Caractéristiques Format : Nombre de bits dans chaque case mémoire Largeur du mot mémorisable Capacité si : m bits dans chaque cases mémoire si : 2n cases mémoire C = m . 2n bits

78 III. Les mémoires III.2 Caractéristiques Temps d’accès Temps qui s'écoule entre l'instant où a été lancée une opération de lecture/écriture en mémoire et l'instant où la première information est disponible sur le bus de données. Temps de cycle Intervalle minimum qui doit séparer deux demandes successives de lecture ou d'écriture. A respecter impérativement !!! qxQXQX

79 Exemple : cycle de lecture
III. Les mémoires III.2 Caractéristiques Exemple : cycle de lecture Tps de cycle Tps accès R/W CS Bus D @x Données accessibles Dx

80 Nombre maximum d'informations lues ou écrites par seconde
III. Les mémoires III.2 Caractéristiques Débit Nombre maximum d'informations lues ou écrites par seconde On parle aussi de bande passante (1/débit) Volatilité

81 Exemple : capacité mémoire
III. Les mémoires III.2 Caractéristiques Exemple : capacité mémoire Bus de données 8 bits Bus d’adresses 15 bits C = = bits 256 k bits octets 32 ko mots de 8 bits / 8 /1024

82 III.3 Différents types de mémoire III.4 Critères de choix
III. Les mémoires III.1 Organisation III.2 Caractéristiques III.3 Différents types de mémoire III.4 Critères de choix III.5 Hiérarchie mémoire

83 Mémoire Mortes Vives III. Les mémoires
III.3 Différents types de mémoire Mémoire Mortes Vives

84 RAM (Random Access Memory) Mémoire vive Lecture et écriture possible
III. Les mémoires III.3 Différents types de mémoire RAM (Random Access Memory) Mémoire vive Lecture et écriture possible Mémoire volatile = perd son contenu lorsqu’elle n’est plus alimentée RAM statique ou dynamique La mémoire vive, généralement appelée RAM (Random Access Memory, traduisez mémoire à accès aléatoire), est la mémoire principale du système, c'est-à-dire qu'il s'agit d'un espace permettant de stocker de manière temporaire des données lors de l'exécution d'un programme. En effet le stockage de données dans la mémoire vive est temporaire, contrairement au stockage de données sur une mémoire de masse telle que le disque dur (mémoire avec laquelle les novices la confondent généralement), car elle permet uniquement de stocker des données tant qu'elle est alimentée électriquement. Ainsi, à chaque fois que l'ordinateur est éteint, toutes les données présentes en mémoire sont irrémédiablement effacées. qxQXQX

85 Mémoire Mortes Vives Statiques Dynamiques III. Les mémoires
III.3 Différents types de mémoire Mémoire Mortes Vives Statiques Dynamiques

86 Élément mémoire = bascule RAM dynamique Élément mémoire = capacité
III. Les mémoires III.3 Différents types de mémoire RAM statique Élément mémoire = bascule RAM dynamique Élément mémoire = capacité Comparaison DRAM : Encombrement plus faible : coût plus faible DRAM : Nécessité d’un rafraîchissement : plus lente DRAM: Compact Faible Consommation (CMOS) Lecture destructrice : nécessite de réécriture Rafraîchissement régulier pour combler la décharge du condensateur Volatile SRAM : Rapide Cellule Statique : Rétention innée tant qu'alimentation Cellule volumineuse Chère La mémoire vive statique (Static Random Access Memory) est réalisée à base de bascules. L’intérêt de ce type de mémoire est sa rapidité (entre 6 et 15 ns), mais son coût est prohibitif. En effet, une bascule est composée de deux portes NOR constituée chacune de deux transistors (soit un total de 4 transistors pour un bit d’information). En conséquence on utilisera la SRAM lorsque le facteur vitesse est critique et notamment pour des mémoires de petite taille comme la mémoire cache. Dans le cas de la mémoire dynamique (Dynamic RAM) un bit n’est plus réalisée à partir d’une bascule mais à partir d’un condensateur qui stocke l’information et d’un transistor qui en gère l’accès Les condensateurs ont tendance à se décharger et il faut régulièrement (toutes les 2 `a 10 millisecondes) rafraîchir la mémoire (i.e. lire et réécrire l’information). qxQXQX

87 SRAM = cache de petite taille et rapide
III. Les mémoires III.3 Différents types de mémoire Application SRAM = cache de petite taille et rapide DRAM = mémoire principale de forte capacité et de faible coût

88 Mémoire Mortes Vives Statiques Dynamiques SRAM Asynchrone Synchrone
III. Les mémoires III.3 Différents types de mémoire Mémoire Mortes Vives Statiques Dynamiques – Mémoire asynchrone : Pour ce type de mémoire, l’intervalle de temps entre deux accès mémoire consécutif n’est pas régulier. Le processeur ne sait donc pas quand l’information qu’il attend est disponible et doit attendre (wait-state) que la mémoire lui transmette les données. – Mémoire synchrone : La cadence de sortie des informations est régulière, on évite ainsi les états d’attente (wait state) du processeur. SRAM Asynchrone Synchrone qxQXQX

89 Difficile de maîtriser les temps de propagation
III. Les mémoires III.3 Différents types de mémoire Technologie DRAM Difficile de maîtriser les temps de propagation Nécessite de synchroniser les accès mémoire SDRAM: Synchrone DRAM Introduction du mode Rafale (BURST) La DRAM (Dynamic RAM, RAM dynamique) est le type de mémoire le plus répandu au début du millénaire. Il s'agit d'une mémoire dont les transistors sont rangés dans une matrice selon des lignes et des colonnes. Un transistor, couplé à un condensateur donne l'information d'un bit. 1 octet comprenant 8 bits, une barrette de mémoire DRAM de 256 Mo contiendra donc 256 * 2^10 * 2^10 = 256 * 1024 * 1024 = octets = * 8 = bits = transistors. D'autre part, les accès mémoire se font généralement sur des données rangées consécutivement en mémoire. Ainsi le mode d'accès en rafale (burst mode) permet d'accéder aux trois données consécutives à la première sans temps de latence supplémentaire. Dans ce mode en rafales, le temps d'accès à la première donnée est égale au temps de cycle auquel il faut ajouter le temps de latence, et le temps d'accès aux trois autres données est uniquement égal aux temps de cycle, on note donc sous la forme X-Y-Y-Y les quatre temps d'accès, par exemple la notation indique une mémoire pour laquelle 5 cycles d'horloge sont nécessaires pour accéder à la première donnée et 3 pour les suivantes. qxQXQX

90 Une matrice de cellules mémoires Un buffer d’Entrée/Sortie
III. Les mémoires III.3 Différents types de mémoire Synchronous DRAM Une matrice de cellules mémoires Un buffer d’Entrée/Sortie Un bus de données SDR Matrice Mémoire Buffer Buffer Matrice Mémoire La SDRAM (Synchronous DRAM, traduisez RAM synchrone), apparue en 1997, permet une lecture des données synchronisée avec le bus de la carte-mère, contrairement aux mémoires EDO et FPM (qualifiées d'asynchrones) possédant leur propre horloge. La SDRAM permet donc de s'affranchir des temps d'attente dûs à la synchronisation avec la carte-mère. Celle-ci permet d'obtenir un cycle en mode rafale de la forme , c'est-à-dire un gain de 3 cycles par rapport à la RAM EDO. De cette façon la SDRAM est capable de fonctionner avec une cadence allant jusqu'à 150Mhz, lui permettant d'obtenir des temps d'accès d'environ 10ns. qxQXQX

91 Lecture sur front montant et descendant Banc mémoire X2
III. Les mémoires III.3 Différents types de mémoire Double Data Rate SRAM Lecture sur front montant et descendant Banc mémoire X2 DDR Matrice Mémoire Buffer Buffer Matrice Mémoire

92 Double Data Rate SRAM II Vitesse du buffer X2 Banc mémoire X2
III. Les mémoires III.3 Différents types de mémoire Double Data Rate SRAM II Vitesse du buffer X2 Banc mémoire X2 DDR-II Buffer Matrice Mémoire Buffer Matrice Mémoire

93 Mémoire Mortes Vives Statiques Dynamiques ROM PROM EPROM EEPROM FLASH
III. Les mémoires III.3 Différents types de mémoire Mémoire Mortes Vives ROM PROM EPROM EEPROM FLASH Statiques Dynamiques SRAM Asynchrone Synchrone EDO… SDRAM DDR qxQXQX

94 Écriture effectuée par l’intermédiaire d’un programmateur spécifique
III. Les mémoires III.3 Différents types de mémoire ROM (Read Only Memory) Mémoire morte Écriture effectuée par l’intermédiaire d’un programmateur spécifique Accessible seulement en Lecture Mémoire non volatile = conserve son contenu lorsqu’elle n’est plus alimentée La mémoire morte, appelée ROM pour Read Only Memory (traduisez mémoire en lecture seule) est un type de mémoire permettant de conserver les informations qui y sont contenues même lorsque la mémoire n'est plus alimentée électriquement. A la base ce type de mémoire ne peut être accédé qu'en lecture. Toutefois il est désormais possible d'enregistrer des informations dans certaines mémoires de type ROM. Ce type de mémoire permet notamment de conserver les données nécessaires au démarrage de l'ordinateur. En effet, ces informations ne peuvent être stockées sur le disque dur étant donné que les paramètres du disque (essentiels à son initialisation) font partie de ces données vitales à l'amorçage. Différentes mémoires de type ROM contiennent des données indispensables au démarrage, c'est-à-dire: Le BIOS est un programme permettant de piloter les interfaces d'entrée-sortie principales du système, d'où le nom de BIOS ROM donné parfois à la puce de mémoire morte de la carte-mère qui l'héberge. Etant donné que les ROM sont beaucoup plus lentes que les mémoires de types RAM (une ROM a un temps d'accès de l'ordre de 150 ns tandis qu'une mémoire de type SDRAM a un temps d'accès d'environ 10 ns), les instructions contenues dans la ROM sont parfois copiées en RAM au démarrage, on parle alors de shadowing (en français cela pourrait se traduire par ombrage, mais on parle généralement de mémoire fantôme). Les ROM ont petit à petit évolué de mémoires mortes figées à des mémoires programmables, puis reprogrammables. qxQXQX

95 Programmation par le constructeur (masque) Modification impossible
III. Les mémoires III.3 Différents types de mémoire ROM Point mémoire = diode Programmation par le constructeur (masque) Modification impossible Délai Les premières ROM étaient fabriquées à l'aide d'un procédé inscrivant directement les données binaires dans une plaque de silicium grâce à un masque. Ce procédé est maintenant obsolète. Aucune Souplesse Faible Coût Plus utilisé !!! qxQXQX

96 adresses 1 données III. Les mémoires III.3 Différents types de mémoire
+V adresses Interrupteur = transistor MOS 1 données qxQXQX

97 PROM (Programmable ROM) Point mémoire = fusible
III. Les mémoires III.3 Différents types de mémoire PROM (Programmable ROM) Point mémoire = fusible Programmation par l’utilisateur Modification impossible Les PROM (Programmable Read Only Memory) ont été mises au point à la fin des années 70 par la firme Texas Instruments. Ces mémoires sont des puces constituées de milliers de fusibles pouvant être "grillés" grâce à un appareil appelé programmateur de ROM, envoyant une forte tension (12V) dans certains fusibles. Ainsi, les fusibles grillés correspondent à des 0, les autres à des 1. qxQXQX

98 Point mémoire = transistor FAMOS Programmation par pic de tension
III. Les mémoires III.3 Différents types de mémoire EPROM (Erasable PROM) Point mémoire = transistor FAMOS Programmation par pic de tension Effaçable entièrement par UV G S D Grille flottante VPP Programmation hors système Effacement hors système Temps d'effacement long (15 minutes pour les UV-EPROM) GND qxQXQX

99 EEPROM (Electrically EPROM) Point mémoire = transistor SAMOS
III. Les mémoires III.3 Différents types de mémoire EEPROM (Electrically EPROM) Point mémoire = transistor SAMOS Programmation par pic de tension Effaçable mot par mot par pic de tension Comportement d’une RAM non volatile mais très lente Programmation ISP (In Situ Programming) Effacement ISP Programmation par mot ou bloc Temps d'effacement rapide Coût élevé car effacement par mot mémoire qxQXQX

100 Programmation et effacement in situ ISP Programmation par mot ou bloc
III. Les mémoires III.3 Différents types de mémoire Flash EEPROM Programmation et effacement in situ ISP Programmation par mot ou bloc Temps d'effacement très rapide Flash NAND ou Flash NOR La mémoire flash est une mémoire à semiconducteurs, non volatile et réinscriptible. Les mémoires Flash réalisent la synthèse des technologies EEPROM et SRAM. Elles sont rapides, ne nécessitent pas de rafraîchissement. Elle sont effaçables et reprogrammables rapidement par blocs En raison de sa vitesse élevée, de sa durabilité et de sa faible consommation, la mémoire flash est idéale pour de nombreuses applications - comme les appareils photos numériques, les téléphones cellulaires, les imprimantes, les assistants personnels (PDA), les ordinateurs portables, ou les dispositifs de lecture ou d'enregistrement sonore tels que les baladeurs mp3. De plus ce type de mémoire ne possède pas d'éléments mécaniques, ce qui leur confère une grande résistance aux chocs. Il existe deux grands types de mémoire Flash : la NOR, qui date de 1988, et la NAND, apparue l'année suivante. Elles tirent leur nom des portes logiques matérialisant les opérateurs booléens (« NON ET » et « NON OU ») codés par leurs transistors. La principale différence entre la NAND et la NOR réside dans leur mode de lecture des données. Alors que la NOR (comme la mémoire vive classique) donne un accès direct à n'importe laquelle de ses cellules, la NAND impose un accès séquentiel (à la manière des cassettes audio, par exemple) : pour accéder à une cellule précise, il faut passer par les précédentes. Malgré les apparences, ce mode de fonctionnement offre un débit plus élevé (les blocs de données étant lus et écrits à la suite) ; la NAND s'avère ainsi plus rapide que la NOR, puisqu'elle atteint 20 Mo/s en lecture et 10 Mo/s en écriture (des performances comparables à celles des disques durs miniatures). Comme elle est plus dense (les cellules de la matrice sont 40 % plus petites que dans la NOR), et moins chère à produire, la NAND a logiquement supplanté la NOR dans les dispositifs servant à stocker de grandes quantités de données (cartes mémoire pour appareils photo, clés USB, baladeurs audio, etc.). La NOR n'est pas pour autant oubliée : elle est utilisée dans les mémoires non volatiles stockant des commandes ou des micrologiciels (Bios, firmwares, etc.) à l'accès direct à des cellules précises est privilégié. CompactFlash = 60Mo/s au max Memorystick pro HIGH speed = 160Mo/s au max SDcard = 10 Mo/s au max Avenir = MRAM ? Mémoire Holographique ?? qxQXQX

101 Information = charge magnétique (polarisation e-)
III. Les mémoires III.3 Différents types de mémoire Le futur : La MRAM ?? Information = charge magnétique (polarisation e-) Allie les avantages : SRAM = rapidité DRAM = capacité Flash = permanence Juillet 2006 : Freescale ,le fabricant de semi-conducteurs, vient de lancer en premier la commercialisation de ce type de puces en volume après plusieurs années de recherche. qxQXQX

102 III.3 Différents types de mémoire III.4 Critères de choix
III. Les mémoires III.1 Organisation III.2 Caractéristiques III.3 Différents types de mémoire III.4 Critères de choix III.5 Hiérarchie mémoire

103 Critères de choix Capacité Vitesse Consommation Coût III. Les mémoires
III.4 Critères de choix Critères de choix Capacité Vitesse Consommation Coût

104 III.3 Différents types de mémoire III.4 Critères de choix
III. Les mémoires III.1 Organisation III.2 Caractéristiques III.3 Différents types de mémoire III.4 Critères de choix III.5 Hiérarchie mémoire

105 Hiérarchie mémoire + + Registre 200 octets 1 ns Cache 1 Mo 5 ns
III. Les mémoires III.5 Hiérarchie mémoire Hiérarchie mémoire vitesse + Registre 200 octets 1 ns Cache 1 Mo 5 ns Mémoire principale 1 Go 10 ns Mémoire de masse 120 Go 10 ms capacité +

106

107 IV.2 Architecture de base IV.3 Exécution d’une instruction
IV. Le microprocesseur IV.1 Généralités IV.2 Architecture de base IV.3 Exécution d’une instruction IV.4 Caractéristiques IV.5 Langage de programmation

108 Circuit intégré numérique complexe.
IV. Le microprocesseur IV.1 Généralités Microprocesseur Circuit intégré numérique complexe. Intégration sur une puce de fonctions logiques combinatoires (logiques et/ou arithmétiques) et séquentielles (registres, compteur, etc…) Capable d'interpréter et d'exécuter les instructions d'un programme.

109 Concept de microprocesseur créé par la Société Intel en 1971
IV. Le microprocesseur IV.1 Généralités Concept de microprocesseur créé par la Société Intel en 1971 1ier microprocesseur = le 4004 : unité de calcul 4 bits fonctionnant à 108 kHz intégration d’environ 2300 transistors.

110 Il rythme et synchronise l'exécution de ces tâches
IV. Le microprocesseur IV.1 Généralités Rôle Il organise l’enchaînement des tâches précisées dans la mémoire (programme) Il rythme et synchronise l'exécution de ces tâches Il gère les informations extérieures au système Principe de von Neuman Programme et données dans la même mémoire Exécution séquentielle des tâches

111 IV. Le microprocesseur IV.1 Généralités IV.2 Architecture de base IV.3 Exécution d’une instruction IV.4 Caractéristiques IV.5 Langage de programmation

112 IV. Le microprocesseur IV.2 Architecture de base up mémoire H Unité de
Bus d’adresses Bus de données Données Programme up mémoire H Unité de traitement Unité de commande

113 Séquence le déroulement des instructions
IV. Le microprocesseur IV.2 Architecture de base Unité de commande Séquence le déroulement des instructions Décode les instructions à exécuter Unité de traitement Regroupe les circuits qui assurent les traitements nécessaires à l'exécution des instructions UAL, registre d’état…

114 IV. Le microprocesseur IV.1 Généralités IV.2 Architecture de base IV.3 Exécution d’une instruction IV.4 Caractéristiques IV.5 Langage de programmation

115 Objectifs Comprendre l’architecture d’une machine von newman.
Comprendre les étapes de déroulement de l’exécution d’une instruction. Comprendre le principe des différents modes d’adressage. qxQXQX

116 1. Introduction Un programme est un ensemble d’instructions exécutées dans un ordre bien déterminé. Un programme est exécuté par un processeur ( machine ). Un programme est généralement écrit dans un langage évolué (Pascal, C, VB, Java, etc.). Les instructions qui constituent un programme peuvent être classifiées en 4 catégories : Les Instructions d’affectations : permet de faire le transfert des données Les instructions arithmétiques et logiques. Les Instructions de branchement ( conditionnelle et inconditionnelle ) Les Instructions d’entrées sorties. qxQXQX

117 1. Introduction Pour exécuter un programme par une machine, on passe par les étapes suivantes : Édition : on utilise généralement un éditeur de texte pour écrire un programme et le sauvegarder dans un fichier. Compilation : un compilateur est un programme qui convertit le code source ( programme écrit dans un langage donné ) en un programme écrit dans un langage machine ( binaire ). Une instruction en langage évolué peut être traduite en plusieurs instructions machine. Chargement : charger le programme en langage machine dans mémoire afin de l’exécuter . 117

118 Comment s’exécute un programme dans la machine ?
Pour comprendre le mécanisme d’exécution d’un programme  il faut comprendre le mécanisme de l’exécution d’une instruction . Pour comprendre le mécanisme de l’exécution d’une instruction  il faut connaître l’architecture de la machine ( processeur ) sur la quelle va s’exécuter cette instruction.

119 2. Architecture matérielle d’une machine ( architecture de Von Neumann )
L’architecture de Von Neumann est composée : D’une mémoire centrale, D’une unité centrale UC , CPU (Central Processing Unit), processeur , microprocesseur. D’un ensemble de dispositifs d’entrées sorties pour communiquer avec l’extérieur. Cette architecture est la base des architectures des ordinateurs. Mémoire Centrale UC Processeur entrées sorties 119 qxQXQX

120 2.1 La mémoire centrale La mémoire centrale (MC) représente l’espace de travail de l’ordinateur . C’est l’organe principal de rangement des informations utilisées par le processeur. Dans un ordinateur pour exécuter un programme il faut le charger ( copier ) dans la mémoire centrale . Le temps d’accès à la mémoire centrale et sa capacité sont deux éléments qui influent sur le temps d’exécution d’un programme ( performances d’une machine ). 120 qxQXQX

121 Contenu d’une case (un mot)mémoire
Une adresse La mémoire centrale peut être vu comme un large vecteur ( tableau ) de mots ou octets. Un mot mémoire stocke une information sur n bits. Chaque mot possède sa propre adresse. La mémoire peut contenir des programmes et les données utilisées par les programmes. 0000 0001 0002 ……. …….. FFFF Contenu d’une case (un mot)mémoire 121 qxQXQX

122 Structure d’un programme en MC
} Partie données ( variables ) Addition Soustraction Partie instructions …………. ………. qxQXQX

123 2.2 L’Unité Centrale ( UC) L’unité centrale (appelée aussi processeur , microprocesseur) à pour rôle d’exécuter les programmes. L’UC est composée d’une unité arithmétique et logique (UAL) et d’une unité de contrôle. - L’unité arithmétique et logique réalise les opérations élémentaires (addition, soustraction, multiplication, . . .) . - L’unité de commande contrôle les opérations sur la mémoire (lecture/écriture) et les opérations à réaliser par l’UAL selon l’instruction en cours d’exécution. qxQXQX

124 Architecture matérielle d’une machine Von Neumann
UC qxQXQX

125 2.2.1 L’UAL L’unité arithmétique et logique réalise une opération élémentaire (addition, ,soustraction, multiplication, . . .). L’UAL regroupe les circuits qui assurent les fonctions logiques et arithmétiques de bases ( ET,OU,ADD,SUS,…..). L’UAL comporte un registre accumulateur ( ACC ) : c’est un registre de travail qui sert a stocker un opérande (données )au début d’une opération et le résultat à la fin. qxQXQX

126 Les principeaux indicateurs sont :
L’UAL comporte aussi un registre d’état : Ce registre nous indique l’état du déroulement de l’opération . Ce registre est composé d’un ensemble de bits. Ces bits s’appels indicateurs (drapeaux ou flags). Ces indicateurs sont mis à jours ( modifiés )après la fin de l’exécution d’une opération dans l’UAL. Les principeaux indicateurs sont : Retenue : ce bit est mis à 1 si l’opération génère une retenue. Signe :ce bit est mis à 1 si l’opération génère un résultat négative. Débordement :ce bit est mis à 1 s’il y a un débordement. Zero : ce bit est mis à 1 si le résultat de l’opération est nul. qxQXQX

127 Schéma d’une UAL 127 qxQXQX

128 Le rôle de l'unité de contrôle (ou unité de commande ) est de :
coordonner le travail de toutes les autres unités ( UAL , mémoire,…. ) et d'assurer la synchronisation de l'ensemble. Elle assure : la recherche ( lecture ) de l’instruction et des données à partir de la mémoire, le décodage de l’instruction et l’exécution de l’instruction en cours et prépare l’instruction suivante. 128 qxQXQX

129 L’unité de contrôle comporte :
Un registre instruction (RI) : contient l’instruction en cours d’exécution. Chaque instruction est décoder selon sont code opération grâce à un décodeur. Un registre qui s’appel compteur ordinal (CO) ou le compteur de programme (CP ) : contient l’adresse de la prochaine instruction à exécuter (pointe vers la prochaine instruction à exécuter ). Initialement il contient l’adresse de le première instruction du programme à exécuter. Un séquenceur : il organise ( synchronise ) l’exécution des instruction selon le rythme de l’horloge, il génère les signaux nécessaires pour exécuter une instruction. 129

130 Schéma d’une UC 130

131 Schéma détaillé d’une machine
UC 131 qxQXQX

132 Remarque Le microprocesseur peut contenir d’autres registres autre que CO,RI et ACC. Ces registres sont considérés comme une mémoire interne ( registre de travail ) du microprocesseur. Ces registres sont plus rapide que la mémoire centrale , mais le nombre de ces registre est limité. Généralement ces registres sont utilisés pour sauvegarder les données avant d’exécuter une opération. Généralement la taille d’un registre de travail est égale à la taille d’un mot mémoire 132

133 Une machine avec des registres de travail
133

134 3.Jeu d’instructions Chaque microprocesseur possède un certain nombre limité d’instructions qu’il peut exécuter. Ces instructions s’appelles jeu d’instructions. Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le microprocesseur peut exécuter. Les instructions peuvent être classifiées en 4 catégories : Instruction d’affectation : elle permet de faire le transfert des données entre les registres et la mémoire Écriture : registre  mémoire Lecture : mémoire  registre Les instructions arithmétiques et logiques ( ET , OU , ADD,….) Instructions de branchement ( conditionnelle et inconditionnelle ) Instructions d’entrées sorties. 134 qxQXQX

135 3.1 Codage d’une instruction
Les instructions et leurs opérandes ( données ) sont stocké dans la mémoire. La taille d’une instruction ( nombre de bits nécessaires pour la représenter en mémoire ) dépend du type de l’instruction et du type de l’opérande. L’instruction est découpée en deux parties : Code opération ( code instruction ) : un code sur N bits qui indique quelle instruction. La champs opérande : qui contient la donnée ou la référence ( adresse ) à la donnée. Code opération Opérande N bits K bits Le format d’une instruction peut ne pas être le même pour toutes les instructions. Le champs opérande peut être découpé à sont tours en plusieurs champs 135 qxQXQX

136 Machine à 3 adresses Dans ce type de machine pour chaque instruction il faut préciser : l’adresse du premier opérande du deuxième opérande et l’emplacement du résultat Code opération Opérande Opérande Résultat Exemple : ADD A,B,C ( CB+C ) Dans ce type de machine la taille de l’instruction est grand . Pratiquement il n’existent pas de machine de ce type. 136

137 Code opération Opérande1 Opérande2
Machine à 2 adresses Dans de type de machine pour chaque instruction il faut préciser : l’adresse du premier opérande du deuxième opérande , l’adresse de résultat est implicitement l’adresse du deuxième opérande . Code opération Opérande Opérande2 Exemple : ADD A,B ( BA +B ) 137

138 Machine à 1 adresses Dans de type de machine pour chaque instruction il faut préciser uniquement l’adresse du deuxième opérande. Le premier opérande existe dans le registre accumulateur. Le résultat est mis dans le registre accumulateur. Code opération Opérande2 Exemple : ADD A ( ACC(ACC) + A ) Ce type de machine est le plus utilisé. 138

139 4. Mode d’adressage La champs opérande contient la donnée ou la référence ( adresse ) à la donnée. Le mode d’adressage définit la manière dont le microprocesseur va accéder à l’opérande. Le code opération de l’instruction comportent un ensemble de bits pour indiquer le mode d’adressage. Les modes d’adressage les plus utilités sont : Immédiat Direct Indirect Indexé relatif 139 qxQXQX

140 4.1 Adressage immédiat L’opérande existent dans le champs adresse de l’instruction Code opération Opérande Exemple : ADD 150 Cette commande va avoir l’effet suivant : ACC(ACC)+ 150 Si le registre accumulateur contient la valeur 200 alors après l’exécution son contenu sera égale à 350 ADD 140 qxQXQX

141 4.2 Adressage direct Le champs opérande de l’instruction contient l’adresse de l’opérande ( emplacement en mémoire ) Pour réaliser l’opération il faut le récupérer ( lire ) l’opérande à partir de la mémoire. ACC  (ACC)+ (ADR) Exemple : On suppose que l’accumulateur continent la valeur 20 . ADD A la fin de l’exécution nous allons avoir la valeur 50 ( ) 30 150 141 qxQXQX

142 4.3 Adressage indirect La champs adresse contient l’adresse de l’adresse de l’opérande. Pour réaliser l’opération il faut : Récupérer l’adresse de l’opérande à partir de la mémoire. Par la suite il faut chercher l’opérande à partir de la mémoire. ACC (ACC)+ ((ADR)) Exemple : Initialement l’accumulateur contient la valeur 20 Il faut récupérer l’adresse de l’adresse (150). Récupérer l’adresse de l’opérande à partir de l’adresse 150 ( la valeur 200 ) Récupérer la valeur de l’opérande à partir de l’adresse 200 ( la valeur 40 ) Additionner la valeur 40 avec le contenu de l’accumulateur (20) et nous allons avoir la valeur 60 ADD 150 200 200 40 142 qxQXQX

143 4.4 Adressage indexé L’adresse effectif de l’opérande est relatif à une zone mémoire. L’dresse de cette zone se trouve dans un registre spécial ( registre indexe ). Adresse opérande = ADR + (X) Registre d’indexe 50 ADD + 30 200 Remarque : si ADR ne contient pas une valeur immédiate alors Adresse opérande = (ADR )+ (X) 143 qxQXQX

144 4.5 Adressage relatif L’adresse effectif de l’opérande est relatif a une zone mémoire. L’dresse de cette zone se trouve dans un registre spécial ( registre de base ). Ce mode d’adressage est utilisée pour les instructions de branchement. Adresse = ADR + (base) Registre de base 100 BR + ADD 250 144 qxQXQX

145 5. Cycle d’exécution d’une instruction
Le traitement d’une instruction est décomposé en trois phases : Phase 1 : rechercher l’instruction à traiter et décodage Phase 2 : rechercher de l’opérande et exécution de l’instruction Phase 3 : passer à l’instruction suivante Chaque phase comporte un certain nombre d’opérations élémentaires ( microcommandes ) exécutées dans un ordre bien précis ( elle sont générées par le séquenceur ). La phase 1 et 3 ne change pas pour l’ensemble des instructions , par contre la phase 2 change selon l’instruction et le mode d’adressage 145 qxQXQX

146 Phase 1 : ( rechercher l’instruction à traiter )
Exemple1 : déroulement de l’instruction d’addition en mode immédiat ACC(ACC)+ Valeur Phase 1 : ( rechercher l’instruction à traiter ) Mettre le contenu du CO dans le registre RAM RAM (CO) Commande de lecture à partir de la mémoire Transfert du contenu du RIM dans le registre RI RI (RIM) Analyse et décodage Phase 2 : (traitement ) Transfert de l ’opérande dans l’UAL UAL  (RI).ADR Commande de l’exécution de l’opération ( addition ) Phase 3 : ( passer à l’instruction suivante ) CO  (CO )+ 1 146 qxQXQX

147 Phase 1 : ( rechercher l’instruction à traiter )
Exemple 2 : déroulement de l’instruction d’addition en mode direct ACC(ACC)+ (ADR) Phase 1 : ( rechercher l’instruction à traiter ) Mettre le contenu du CO dans le registre RAM RAM (CO) Commande de lecture à partir de la mémoire Transfert du contenu du RIM dans le registre RI RI (RIM) Analyse et décodage Phase 2 : ( décodage et traitement ) Transfert de l’adresse de l ’opérande dans le RAM RAM (RI).ADR Commande de lecture Transfert du contenu du RIM vers l’UAL UAL (RIM) Commande de l’exécution de l’opération ( addition ) Phase 3 : ( passer à l’instruction suivante ) CO  (CO )+ 1 147 qxQXQX

148 Phase 1 : ( rechercher l’instruction à traiter )
Exemple 3 : Déroulement de l’instruction d’addition en mode indirect ACC(ACC)+ ((ADR)) Phase 1 : ( rechercher l’instruction à traiter ) Mettre le contenu du CO dans le registre RAM RAM (CO) Commande de lecture à partir de la mémoire Transfert du contenu du RIM dans le registre RI RI (RIM) Analyse et décodage Phase 2 : ( décodage et traitement ) Transfert de l’adresse de l ’opérande dans le RAM  (RI).ADR Commande de lecture /* récupérer l’adresse */ Transfert du contenu du RIM vers le RAM RAM(RIM) Commande de lecture /* récupérer l’opérande */ Transfert du contenu du RIM vers l’UAL UAL  (RIM ) Commande de l’exécution de l’opération ( addition ) Phase 3 : ( passer à l’instruction suivante ) CO  (CO )+ 1 148 qxQXQX

149 Le microprocesseur ne comprend que informations binaires
IV. Le microprocesseur IV.3 Exécution d’une instruction Le microprocesseur ne comprend que informations binaires Chaque instruction est représentée par un code différent Un cycle d’exécution s’effectue en 3 étapes : 1. Recherche de l’instruction 2. Décodage de l’instruction 3. Exécution de l’instruction

150 IV.2 Architecture de base IV.3 Exécution d’une instruction
IV. Le microprocesseur IV.1 Généralités IV.2 Architecture de base IV.3 Exécution d’une instruction IV.4 Caractéristiques IV.5 Langage de programmation

151 AMD – Intel – IBM – Motorola… Taille des données traitables
IV. Le microprocesseur IV.4 Caractéristiques Fabricant AMD – Intel – IBM – Motorola… Taille des données traitables 8 bits – 16 bits – 32 bits – 64 bits… Quantité de mémoire adressable 1Mo – 1Go – 64 Go – 64 To… Fréquence d’horloge 1 GHz – 2GHz…

152 Unité de traitement complémentaire FPU (Floating Point Unit)
IV. Le microprocesseur IV.4 Caractéristiques Unité de traitement complémentaire FPU (Floating Point Unit) MultiMedia eXchange (MMX) Mémoire cache… Jeux d’instructions Ensemble des opérations élémentaires que le microprocesseur pourra exécuter.

153 Codage des instructions Mode d’adressage Temps d’exécution
IV. Le microprocesseur IV.4 Caractéristiques Jeux d’instructions Type d’instructions Codage des instructions Mode d’adressage Temps d’exécution Un programme est une suite d’instructions élémentaires, qui vont être exécutées dans l’ordre par le processeur. Ces instructions correspondent à des actions très simples, comme additionner deux nombres, lire ou écrire une case mémoire, etc. Chaque instruction est codifiée en mémoire sur quelques octets. Le processeur est capable d’exécuter des programmes en langage machine, c’est à dire composés d’instructions très élémentaires suivant un codage précis. Chaque type de processeur est capable d’exécuter un certain ensemble d’instructions, son jeu d’instructions. Pour écrire un programme en langage machine, il faut donc connaître les détails du fonctionnement du processeur qui va être utilisé. Type d’instructions Transfert de données (charger, sauver,etc…) Opérations arithmétiques (addition, soustraction, division, multiplication, etc…) Opérations logiques (ET, OU, Complémentation, Décalage, etc…) Contrôle de séquence (Test, saut, sous programme, etc…) Codage d’une instruction Codée sous format binaire Longueur dépend du type d’instruction Toujours codée sur un nombre entier d’octets 2 champs : Code instruction Code opérande Mode d’adressage définit la manière dont le microprocesseur accède à l’opérande : Adressage de registre Adressage direct Adressage immédiat Temps d’exécution chaque instruction nécessite un certain nombre de cycles d’horloge pour s’exécuter il dépend de la complexité de l’instruction il dépend du mode d’adressage qxQXQX

154 IV.2 Architecture de base IV.3 Exécution d’une instruction
IV. Le microprocesseur IV.1 Généralités IV.2 Architecture de base IV.3 Exécution d’une instruction IV.4 Caractéristiques IV.5 Langage de programmation

155 Langage le plus proche du langage machine
IV. Le microprocesseur IV.5 Langage de programmation Langage machine Langage compris par le microprocesseur assemblage Langage assembleur lda, sta, cmp… Langage le plus proche du langage machine compilation Permet de faire abstraction du microprocesseur Facilité de programmation Langage haut niveau for, if…then, write…

156 Exemple de langage Langage C Assembleur (68HC11) Code machine A=0 ;
IV. Le microprocesseur IV.5 Langage de programmation Exemple de langage Langage C Assembleur (68HC11) Code machine A=0 ; for ( i=1 ; i<101 ; i++) A=A+i ; C6 64 B6 00 1B 5A 26 03 LDAB #100 LDAA #0 ret ABA DECB BNE ret

157

158 V. Performance d’un microprocesseur
V.1 Généralités V.2 Amélioration des performances V.3 Outils de mesure

159 V. Performance d’un microprocesseur
V.1 Généralités 2 paramètres pour la mesure de performance : Temps d’exécution : temps écoulé entre le début et la fin de l’exécution d’une tâche Quantité totale de travail exécuté dans un certains intervalle de temps (troughput) Les spécifications techniques qui décrivent les performances requises d’un microprocesseur en n’utilisant qu’une seule caractéristique technique, comme par exemple la vitesse d’horloge, sont discriminatoires parce que cette spécification à elle seule ne peut pas en règle générale permettre d’identifier correctement les performances requises de différentes marques de microprocesseurs. Quand on dit qu’un ordinateur est deux fois plus rapide qu’un autre, qu’est ce que ça veut dire ?? Besoin de pouvoir mesurer les performances d’un microprocesseur : - certains utilisateurs ont besoin de savoir combien de temps va mettre un seul programme à s’exécuter (utilisateur privé) - d’autres utilisateurs préfèreront savoir la quantité de travail (multitâche, plusieurs programmes) qu’ils pourront obtenir en un temps donné (labo de recherche, serveur) dans les 2 cas, on s’intéressera à une DUREE. L’amélioration du temps de réponse implique toujours une amélioration du throughput. Toutefois, le contraire n’est pas toujours vrai: une augmentation du nombre de processeurs d’un ordinateur augmente le throughput, sans améliorer nécessairement le temps de réponse (ex :dual core) On prendra temps d’exécution comme mesure principale… qxQXQX

160 V. Performance d’un microprocesseur
V.1 Généralités Temps d’exécution dépend de 3 facteurs : Le nombre d’instructions exécutées (IC) Le nombre moyen de cycles d’horloge par instruction lors de l’exécution d’un programme (CPI) La période d’horloge (T=1/F) Cpi = (nbre de cycle d’horloge pour l’exécution d’un prog)/(nbre d’instructions du programme) Temps = (nombre d’instructions) x (nombre de cycles par instruction) x (période d’horloge) qxQXQX

161 V. Performance d’un microprocesseur
V.1 Généralités On définit aussi : Million d’Instructions Par Seconde

162 V. Performance d’un microprocesseur
V.1 Généralités Exemple : Microprocesseur 50 MHz 2 14 Branchement 12 Rangement 21 Chargement 1 43 UAL Nbre cycles % op Opération CPI = 0.43 x 1 + ( ) x 2 = 1.57 cpi MIPS = F / CPI = 50 / 1.57 # mips Texe = n / MIPS = 31.4 n ns

163 V. Performance d’un microprocesseur
V.1 Généralités Gain de performance

164 V. Performance d’un microprocesseur
V.1 Généralités Exemple : On remplace un processeur dédié au traitement de l’image par un processeur 5 fois plus rapide dans les applications de traitement d’image. Le processeur d’origine passait 75% de son temps à faire du traitement d’image et et 25% à faire l’acquisition d’image.

165 V. Performance d’un microprocesseur
V.1 Généralités V.2 Amélioration des performances V.3 Outils de mesure

166 V. Performance d’un microprocesseur
V.2 Amélioration des performances Pour augmenter les performances d’un microprocesseur, on peut donc : Augmenter la fréquence d’horloge (limitation matérielle) Améliorer l’organisation interne pour diminuer le CPI (choix du jeu d’instruction et de l’architecture) Améliorer le compilateur (diminution de IC ou du CPI) RISC ou CISC ?? Superscalaire, pipeline, mémoire cache ?? améliorer le compilateur pour diminuer le IC ou pour augmenter le taux d’utilisation des instructions avec un CPI moindre qxQXQX

167 V. Performance d’un microprocesseur
V.2 Amélioration des performances Notion d’architecture CISC Instructions complexes Accès mémoire réduit Réalisation de compilateurs plus facile Mais La taille des instructions est variable = difficile à décoder Augmentation de la complexité de la logique de contrôle (micro-code) Augmentation de FH plus difficile qxQXQX

168 V. Performance d’un microprocesseur
V.2 Amélioration des performances Notion d’architecture RISC 80% des traitements de langage de haut niveau font appel à seulement 20% du jeu d’instructions d’un microprocesseur. D’où Instruction simple = 1 cycle d’horloge Taille instruction fixe = décodage simple Gain de surface pour la réalisation du up qui permet d’augmenter : Le nombre de registres Le nombre d’unités de traitement La fréquence d’horloge… qxQXQX

169 V. Performance d’un microprocesseur
V.2 Amélioration des performances Notion de Mémoire cache La mémoire principale n’est pas capable de délivrer les informations aussi rapidement que le microprocesseur est capable de les traiter Tps accès mémoire >>> Tps cycle up Apparition d’un goulot d’étranglement pour les données Notion de cache mémoire Réalisée à partir de SRAM Taille réduite Stocke les informations les plus récentes ou les plus souvent utilisées par le microprocesseur Le microprocesseur envoie toutes ses requêtes au cache comme s’il s’agissait de la mémoire principale Solution : Disposer une mémoire très rapide entre la mémoire principale et le microprocesseur qxQXQX

170 V. Performance d’un microprocesseur
V.2 Amélioration des performances Notion de cache mémoire : fonctionnement Unité de traitement Unité de commande up mémoire cache 1 Soit l’information requise est présente dans le cache et elle est envoyée directement au up 2 = succès de cache qxQXQX

171 V. Performance d’un microprocesseur
V.2 Amélioration des performances Notion de cache mémoire : fonctionnement Unité de traitement Unité de commande up mémoire cache 1 2 Soit l’information requise est absente et le contrôleur de cache envoie une requête à la mémoire principale Une fois l’information récupérée, il la stocke dans le cache et la renvoie au microprocesseur remarques Pour savoir quelles sont les données présentes dans le cache, il faut lui associer une carte de structure simple Nécessité d’une mise à jour des informations dans la mémoire principale lorsqu’elles sont modifiées dans le cache Lorsque le cache est plein, le contrôleur remplace la donnée la plus ancienne non accédée 3 4 = défaut de cache qxQXQX

172 V. Performance d’un microprocesseur
V.2 Amélioration des performances Notion d’architecture Pipeline recherche recherche L’exécution d’une instruction se décompose en plusieurs étapes Lorsque l’instruction se trouve dans l’une des étapes, les composants des autres étapes sont inutilisés. Fonctionnement non efficace Idée du pipeline = cascader des instructions dans chaque étape Architecture Pipeline : inconvénients Il existe 3 principaux cas (aléas) où les performances du pipeline sont dégradées : Aléa structurel : 2 instructions ont besoin de la même ressource microprocesseur Aléa de données : une instruction a besoin d’un résultat qui n’a pas encore été calculé Aléa de contrôle : chaque fois qu’une instruction de branchement est exécutée. les instructions qui sont dans le pipeline ont commencé à être traitées pour rien Le pipeline doit être vidé Solution : mécanisme de prédiction de branchement (fiabilité 90 à 95%) décodage décodage exécution exécution qxQXQX

173 V. Performance d’un microprocesseur
V.2 Amélioration des performances Notion d’architecture Superscalaire Architecture Pipeline : remarques au mieux, on lit une instruction par cycle d’horloge pour faire mieux, il faut être capable d’exécuter plusieurs instructions par cycle d’horloge parallélisme = plusieurs chemins d’exécution des instruction en parallèle Objectifs = exécuter plusieurs instructions en même temps plusieurs unités de traitement travaillent en parallèle Il faut pouvoir soutenir un flot d’instructions élevé = cache performant Parallélisme décision au moment de la compilation (approche VLIW) décision au moment de l’exécution des instructions (approche superscalaire) qxQXQX

174 V. Performance d’un microprocesseur
V.2 Amélioration des performances Architecture Dual Core

175 V. Performance d’un microprocesseur
V.2 Amélioration des performances Core 2 quadro

176 V. Performance d’un microprocesseur
V.1 Généralités V.2 Amélioration des performances V.3 Outils de mesure

177 V. Performance d’un microprocesseur
V.3 Outils de mesure Étalon de performance Permet de comparer les performances de différents processeur (ou système) Beaucoup de Benchmark ne permettent de comparer que des microprocesseurs ayant un même jeu d’instructions Le moyen le plus efficace de décrire les performances de niveau système est de recourir à des scores de bancs d’essai standardisés basés sur des méthodes de test rigoureuses mises au point par des sociétés d’évaluation tierces qualifiées et indépendantes ou par des consortiums de normalisation du secteur largement reconnus et soutenus par les industriels spécialisés dans les semi-conducteurs et l’électronique grand public. qxQXQX

178 V. Performance d’un microprocesseur
V.3 Outils de mesure Benchmark PC BAPCo SYSmark® 2004 SE mesure les performances d’ordinateurs en exécutant des applications réelles par l’intermédiaire d’une série d’opérations. Le score cumulé SYSmark 2004 est le produit de deux scénarios d’utilisation: 1. SYSmark Office Productivity (productivité bureautique) qui contient des charges de travail conçues scientifiquement et représentant un large éventail des activités qu’un employé de bureau a de fortes chances de rencontrer ; et 2. SYSmark 2004 – Internet Content Creation (création de contenus Internet) qui mesure les performances d’un ordinateur vis-à-vis des applications typiques utilisées lorsque l’on travaille sur Internet. Parmi les membres actuels du BAPCo, on trouve : AMD, Intel, ATi Technologies, CNET, Dell, Hewlett-Packard, Microsoft, Nvidia, Toshiba et Ziff Davis Media. PC mark : test DD, carte G, Internet, Cryptage, Compression, Video 2D, HDD boot et général, mémoire (note globale + note pour dd, cg, proce et mem) qxQXQX

179 V. Performance d’un microprocesseur
V.3 Outils de mesure Standart Performance Evaluation Corporation (SPEC) Pour comparer microprocesseur à jeu d’instructions différent Evalue les performances : Du microprocesseur De la hiérarchie mémoire Du compilateur Autre type de benchmark : graphique, réseau SPEC est une organisation sans but lucratif constituée pour établir, entretenir et avaliser un ensemble standardisé de bancs d’essai adaptés qui peuvent être appliqués à la génération la plus récente d’ordinateurs haute performance. Parmi les membres de SPEC on trouve : AMD, Intel, Acer Inc., Apple Computer Inc., ATI Research, Bull S.A., Dell, Fujitsu Siemens, Hewlett-Packard, Hitachi Ltd., IBM, Microsoft, NEC – Japon, Novell, NVIDIA, Oracle, SAP AG et Sun. qxQXQX

180 V. Performance d’un microprocesseur
V.3 Outils de mesure SPEC : CPU 2006 Donne un indice de vitesse (temps d’éxecution) Donne un indice de quantité de travail (troughput) Pour des calculs sur des entiers ou des réels

181 V. Performance d’un microprocesseur
V.3 Outils de mesure Exemple : Sisoft Sandra

182 V. Performance d’un microprocesseur
Evolution des microprocesseurs

183

184 VI Les échanges de données
VI.1 Généralités VI.2 Les techniques d’échange VI.3 Les types de liaison

185 VI Les échanges de données
VI.1 Généralités L’interface d’E/S permet au microprocesseur de communiquer avec le monde extérieur Exemple : Clavier entrée 0,01 ko/s Souris entrée 0,02 ko/s Disquette sortie 50 ko/s Imprimante sortie 100 ko/s CDROM E/S 500 ko/s Disque Dur E/S ko/s Ecran Sortie ko/s Selon la nature du périphérique : les échanges sont plus ou moins prioritaires et plus ou moins rapides la quantité d’informations à échanger est plus ou moins importante qxQXQX

186 VI Les échanges de données
VI.1 Généralités Le microprocesseur doit gérer des périphériques De différents rôles De différentes vitesses De langage différents Sous traitance de cette gestion à des contrôleurs Le dialogue microprocesseur/contrôleur se fera selon: Un protocole particulier Une vitesse particulière Chaque périphérique est « piloté » par un contrôleur qui – contient souvent son propre microprocesseur, ses registres et sa mémoire « tampon » (obligatoire à cause des débits différentes entre chaque E/S) – s’occupe des commandes détaillées du périphérique : » gestion des incidents » détection d’erreurs » conversion de format ... Problème = le rythme de travail du microprocesseur et des périphériques est différent Impossibilité de synchroniser le up et les E/S Les différentes techniques d’échange de données sont très importantes pour les performances d’un système. qxQXQX

187 VI Les échanges de données
VI.1 Généralités VI.2 Les techniques d’échange VI.3 Les types de liaison

188 VI Les échanges de données
VI.2 Les techniques d’échange Différentes techniques d’échange Sans condition le processeur ne vérifie pas que le périphérique est disponible Mode programmé : par scrutation par interruption Mode par accès direct à la mémoire

189 VI Les échanges de données
VI.2 Les techniques d’échange Mode programmé : scrutation Interface E/S n°1 Up Mémoire Principale Bus d ’adresses Bus de données n°2 Prêt Prêt ? Attente Attente

190 VI Les échanges de données
VI.2 Les techniques d’échange Mode programmé : scrutation Avantages : Simplicité Inconvénients : Le microprocesseur se retrouve souvent en phase d’attente L’initiative de l’échange de données est dépendante du programme exécuté Faire organigramme avec boucle d’attente au tableau…. qxQXQX

191 VI Les échanges de données
VI.2 Les techniques d’échange Mode programmé : interruption Interruption : Principe Suspendre un programme pour en exécuter un autre Pouvoir le faire n’importe quand Pouvoir revenir au programme interrompu et continuer à faire ce que l’on était en train de faire

192 VI Les échanges de données
VI.2 Les techniques d’échange Mode programmé : interruption Interface E/S n°1 Up Mémoire Principale Bus d ’adresses Bus de données n°2 INT INT 2 INT 1

193 VI Les échanges de données
VI.2 Les techniques d’échange Mode programmé : interruption Les interruptions sont classées par ordre de priorité au cas où plusieurs interviendraient en même temps Le programme principal et le programme d’interruption vont utiliser les mêmes ressources microprocesseur (registre, PC, etc…) Nécessité de sauvegarder le contexte avant d’exécuter le sous programme d’interruption Nécessité de restituer le contexte à la fin du sous programme d’interruption. Interruption = signal asynchrone au programme Le microprocesseur possède une ou plusieurs entrées d’interruption possibilité d’autoriser ou non l’interruption = interruption masquable impossible d’interdire l’interruption = interruption non masquable qxQXQX

194 VI Les échanges de données
VI.2 Les techniques d’échange Clavier Souris Disque dur Carte réseau Carte graphique Wifi USB

195 VI Les échanges de données
VI.2 Les techniques d’échange Exécution Niveau de priorité Exemple simplifié : réception mail + demande impression document pendant la réception IRQ modem IRQ souris IRQ imprimante qxQXQX

196 VI Les échanges de données
VI.2 Les techniques d’échange Mode programmé : interruption Avantages : Le programme principal n’est interrompu que le temps du transfert Inconvénients : Besoin d’une architecture plus évoluée du microprocesseur et du contrôleur Faire organigramme avec boucle d’attente au tableau…. qxQXQX

197 VI Les échanges de données
VI.2 Les techniques d’échange Mode d’accès direct à la mémoire (DMA) Permet le transfert de données entre l’interface E/S et la mémoire sans passer par le microprocesseur Nécessité d’un circuit supplémentaire = Contrôleur de DMA

198 VI Les échanges de données
VI.2 Les techniques d’échange Interface E/S Up Mémoire Principale Bus d ’adresses Bus de données ContrôleurDMA BUSRQ Le processeur envoie au contrôleur DMA : • l’adresse de début • la longueur des données • le sens du transfert puis il déclenche le transfert. Le contrôleur DMA prend en charge : • les commandes pour le contrôleur de périphériques • les commandes et adresses pour la mémoire BUSACK Requête DMA qxQXQX

199 VI Les échanges de données
VI.2 Les techniques d’échange Mode d’accès direct Avantages : Transfert de données sans passer le microprocesseur Le microprocesseur peut exécuter une autre tâche Inconvénients : Le contrôleur DMA prend possession du bus = le microprocesseur n’a plus accès à la mémoire

200 VI Les échanges de données
V.1 Généralités V.2 Les techniques d’échange V.3 Les types de liaison

201 VI Les échanges de données
VI.3 Les types de liaison Liaison parallèle Tous les bits d’un mot sont transmis en même temps sur autant de fils que de bits à transmettre Interface E/S Up Périphérique

202 VI Les échanges de données
VI.3 Les types de liaison Liaison série Tous les bits d’un mot sont transmis les uns à la suite des autres sur un seul fil Interface E/S Up Périphérique

203 VI Les échanges de données
VI.3 Les types de liaison On caractérise une liaison par sa vitesse de transmission ou débit (en bit/s) Liaison parallèle Faible distance Vitesse élevée Coût au m élevé Liaison série Longue distance Vitesse peu importante Coût plus faible

204 VI Les échanges de données
VI.3 Les types de liaison Exemple liaison parallèle : Bus GPIB (General Purpose Interface Bus) Connu aussi sous le nom de HP-IB ou IEEE 488. Conçu par Hewlett Packard pour interfacer un ordinateur à des instruments. 1 à 8 Mo/s en norme High Speed 20m maximum 15 appareils maximum Le système comporte un  contrôleur  qui joue le rôle d'arbitre, mettant en communication un  parleur  qui envoie des informations sur le bus, avec un ou plusieurs  écouteurs qui les reçoivent. Chaque appareil possède une adresse individuelle qu'il est capable de reconnaître sur le bus. Un appareil peut donc avoir une ou plusieurs des fonctions suivantes : contrôleur : gestion des échanges sur le bus, parleur : il est capable d’émettre des informations sur le bus lorsque le contrôleur lui en donne l’ordre (adresse parleur +ATN activé) écouteur : il est capable de lire des informations sur le bus lorsque le contrôleur lui en donne l’ordre (adresse écouteur +ATN activé) A un instant donné, il doit y avoir un seul contrôleur actif, un seul parleur actif, un ou plusieurs écouteurs. qxQXQX

205 VI Les échanges de données
VI.3 Les types de liaison Bus parallèle composé de 16 signaux : 8 signaux de données DIO1 à DIO8 5 signaux de commande EOI – IFC – ATN – REN – SRQ 3 signaux de synchronisation DAV – NRFD - NDAC EOI : End Or Identify : activé seul = fin de message ATN : ATtentioN : acitvée = donées sur bus = commande ou adresse IFC : InterFace Clear = permet de réinitialiser tous les appareils SRQ : Service ReQuest = se comporte comme une interruption, un appareil fait une demande au controleur (ex: plus de papier pour une imprimante) REN : Remote ENable = place les écouteurs en mode commandé DAV : Data Valid = un parleur spécifie aux écouteurs que la donnée sur le bus est valide NRFD : Not Ready For Data = les écouteurs informent le parleur qu’ils ne sont pas prêt à écouter NDAC : Not Data ACcepted = les écouteurs informent le parleur qu’ils n’ont pas traité la donnée qxQXQX

206 VI Les échanges de données
VI.3 Les types de liaison Exemple DIO1-8 DAV NRFD NDAC t0 : l'écouteur le plus lent laisse remonter NFRD, t1 : le parleur valide la donnée par mise à l'état bas de DAV, t2 : l'écouteur le plus rapide met à l'état bas NFRD pour indiquer qu'il est occupé, t3 : l'écouteur le plus lent indique qu'il a pris la donnée, par mise à l'état haut de NDAC, t4 : le parleur supprime la validation par mise à l'état haut de DAV, t5 : l'écouteur le plus rapide met NDAC à l'état bas. t0 t1 t2 t3 t4 t5 qxQXQX

207 VI Les échanges de données
VI.3 Les types de liaison Exemple liaison série : port série On transmet des informations seulement lorsque c’est nécessaire = liaison asynchrone Nécessité d’encadrer la transmission par un signal de départ et un signal d’arrêt Pour que chaque élément communicant se comprenne, il faut établir un protocole de communication

208 VI Les échanges de données
VI.3 Les types de liaison Exemple : transmission t ligne Bit de « start » Bit de « stop » Ligne au repos = 1 1 1 1 1 = 1 vitesse

209 VI Les échanges de données
VI.3 Les types de liaison Paramètres d’un protocole de liaison série Longueur du mot transmis : 7 ou 8 bits Vitesse de transmission : détermine la fréquence d’horloge : 110 bit/s à bit/s Bit de start : inverse état repos

210 VI Les échanges de données
VI.3 Les types de liaison Bit de stop : identique à l’état repos (parfois 1,5 ou 2 bits stop) Bit de parité : parfois le mot est suivi d’un bit de parité servant à la détection d’erreur Parité paire : nbre total de bit est pair Parité impaire : nbre total de bit est impair La durée de transmission d’une donnée dépendra des paramètres du protocole choisi

211 VI Les échanges de données
VI.3 Les types de liaison 1 bit start + 1 bit stop + 1 bit parité + 8 bit données = 11 bits à transmettre / données t ligne 1 D = 11 vitesse s Parité impaire Parité paire

212 VI Les échanges de données
VI.3 Les types de liaison Contrôle de flux d’une liaison série Permet d’envoyer des informations seulement lorsque le récepteur est prêt Contrôle logiciel : Lorsque le récepteur ne peut plus recevoir de données, il émet une information sur la ligne série L’émetteur doit toujours être à l’écoute avant d’émettre une donnée

213 VI Les échanges de données
VI.3 Les types de liaison Contrôle de flux d’une liaison série Contrôle matériel : Il faut rajouter des lignes de contrôle supplémentaire en plus de la ligne de transmission.

214

215 VII Architecture d’un ordinateur
Personal Computer : Unité centrale carte mère Microprocesseur Mémoire Carte graphique Périphérique interne de stockage Moniteur Périphériques clavier, souris, modem, etc…

216 VII Architecture d’un ordinateur
VII.1 Carte mère VII.2 Microprocesseur VII.3 Mémoire VII.4 Périphérique interne de stockage VII.5 Carte graphique VII.6 Comparaison offre MIPE

217 VII Architecture d’un ordinateur
VII.1 Carte mère Caractéristiques chipset BIOS horloge Ports de connexion Socket

218 VII Architecture d’un ordinateur
VII.1 Carte mère Architecture Bus processeur Pont Nord Bus PCI-E x16 Bus mémoire Liaison pont nord/pont sud Pont Sud Bus IDE Bus PCI Serial ATA Bus USB AC’97 Firewire Port série LAN Port parallèle Interface floppy

219 VII Architecture d’un ordinateur
VII.1 Carte mère

220 VII Architecture d’un ordinateur
VII.1 Carte mère VII.2 Microprocesseur VII.3 Mémoire VII.4 Périphérique interne de stockage VII.5 Carte graphique VII.6 Comparaison offre MIPE

221 VII Architecture d’un ordinateur
VII.2 Microprocesseur Référence Athlon Athlon 64 FX62 Core 2 Duo X6800 Pentium 4 570 Core Duo T2700 Fréquence 2400 MHz 2800 MHz 2933 MHz 3800 MHz 2330 MHz Bus processeur 200 MHz 400 MHz 266 MHz (QB) 200 MHz (QB) 166 MHz (QB) Finesse gravure 0.13um 0.09um 65 nm Cache L1 128 ko 128 ko/core 64 ko 16 ko 64 ko/core Cache L2 1024 ko 1024 ko/core 2Mo 2048 ko Fréquence cache L2 Prix moyen 130 € 800 € 1000 € 600 € 660 €

222 VII Architecture d’un ordinateur
VII.2 Microprocesseur Performances 1 2 3 4

223 VII Architecture d’un ordinateur
VII.2 Microprocesseur Overcloking Pentium M 1.6GHz @2.13GHz 1 2 3 4

224 VII Architecture d’un ordinateur
VII.2 Microprocesseur Refroidissement Kit Watercooling Heat Pipe Ventirad

225 VII Architecture d’un ordinateur
VII.1 Carte mère VII.2 Microprocesseur VII.3 Mémoire VII.4 Périphérique interne de stockage VII.5 Carte graphique VII.6 Comparaison offre MIPE

226 VII Architecture d’un ordinateur
VII.3 Mémoire Rappels SDR Matrice Mémoire Buffer DDR Matrice Mémoire Buffer DDR-II Buffer Matrice Mémoire

227 VII Architecture d’un ordinateur
VII.3 Mémoire Différent type Désignation Type FSB Vitesse B.P. PC 100 SDR 100 MHz 0,8 Go/s PC 2700 DDR 166 MHz 333 MHz 2,7 Go/s PC 3200 200 MHz 400 MHz 3,2 Go/s PC 4000 250 MHz 500 MHz 4 Go/s DDR II PC 4200 133 MHz 533 MHz 4,2 Go/s PC 5300 667 MHz 5,3 Go/s

228 VII Architecture d’un ordinateur
VII.1 Carte mère VII.2 Microprocesseur VII.3 Mémoire VII.4 Périphérique interne de stockage VII.5 Carte graphique VII.6 Comparaison offre MIPE

229 VII Architecture d’un ordinateur
VII.4 Périphérique interne de stockage Le disque dur disque magnétique piste bloc secteur cylindre piste secteur cylindre

230 VII Architecture d’un ordinateur
VII.4 Périphérique interne de stockage Formatage : Organisation du disque en piste – bloc – secteur Défragmentation : Stockage de fichiers dans des blocs contigus Caractéristiques : Capacité Vitesse de rotation Temps d’accès Interface

231 VII Architecture d’un ordinateur
VII.4 Périphérique interne de stockage Disque dur flash Le site américain Tom's Hardware a publié un premier test d'un disque dur entièrement à base de mémoire Flash : le SSD (Solid State Disk) de Samsung. Capable de stocker jusqu'à 32 Go de données, ce périphérique de stockage de 46 grammes ne contient aucune partie mécanique puisqu'il n'emploit que des composants électroniques. Le test publié par notre confrère met en évidence une consommation électrique très réduite (0,05 watt lorsque le disque n'est pas utilisé et 0,9 watt lorsqu'il est solicité contre 0,3/1,9 watt pour les disques 2,5 pouces classiques). L'indice de test de batterie « MobileMark Productivity Runtime » pour PC portable est de 189 minutes contre 180 minutes pour un disque 7200 tours/minute. On retiendra également des débits en lecture constants de l'ordre de Mo/sec (contre 26,8 - 54,4 Mo/seconde pour le meilleur des disques 2,5 pouces). Tandis que les débits moyens en écriture vont de 24,7 à 29,7 Mo/seconde (17,9 - 35,8 Mo/sec pour le meilleur des disques 2,5 pouces 7200 tours/minute). Ce type de disque offre un vrai plus au niveau du temps de démarrage de Windows XP (on parle de 11 secondes contre 21,3 secondes pour un Hitachi 7K tours/minute - 2,5 pouces). Cette technologie devrait être intégrée dans des PC portables haut de gamme vendus aux prix de 2430 et 3700 dollars. Ils devraient (logiquement) se démocratiser dans les années à venir avec les baisses de prix sur la mémoire Flash. L'ensemble des benchmarks peuvent être consultés sur cette page. On regrettera cependant l'absence d'informations concernant la durée de vie de ces disques (nombre de cycles d'écriture possibles). qxQXQX

232 VII Architecture d’un ordinateur
VII.4 Périphérique interne de stockage Le CDROM cuvette = lumière non réfléchie plat = lumière réfléchie 780 nm ‘1’ codé par une transition couche protection couche sensible polycarbonate photodiode diode laser

233 VII Architecture d’un ordinateur
VII.4 Périphérique interne de stockage Le CDROM 1 seule piste en spirale 150 ko/s (1X) ko/s (48x) Caractéristiques vitesse lecture / écriture interface

234 VII Architecture d’un ordinateur
VII.4 Périphérique interne de stockage Le DVDROM cuvette plus petite 650 nm et 635 nm double couche

235 VII Architecture d’un ordinateur
VII.4 Périphérique interne de stockage Type de support Capacité Nbre CD CD 800 Mo 1 DVDRAM 2.6 Go 4 DVD -/+ RW simple face simple couche 4.7 GO 6 DVD -/+ RW double face simple couche 9.4 Go 12 DVD -/+ RW simple face double couche 8.5 Go 11 DVD -/+ RW double face double couche 17 Go 22

236 VII Architecture d’un ordinateur
VII.1 Carte mère VII.2 Microprocesseur VII.3 Mémoire VII.4 Périphérique interne de stockage VII.5 Carte graphique VII.6 Comparaison offre MIPE

237 VII Architecture d’un ordinateur
VII.5 Carte graphique Carte graphique GPU Mémoire vidéo RAMDAC DVI CRT BUS PCIX Le rôle de la carte graphique est de convertir les données numériques à afficher en un signal compréhensible par un écran . Alors qu'à ses débuts, la carte vidéo se chargeait uniquement d'afficher une simple image formée de points colorées (pixel), les derniers modèles apparus se chargent d'afficher des images en 3D d'une grande complexité. C’est donc un système à microprocesseur à elle seule qui est composée par : Un GPU (Graphics Processor Unit) De la mémoire vidéo D’un dispositif de conversion analogique numérique : RAMDAC. D’entrées/sorties vidéo qxQXQX

238 VII Architecture d’un ordinateur
VII.5 Carte graphique Carte graphique : GPU placer les objets dans le repère et leur appliquer des transformations (translation, rotation, etc…)  appliquer les effets de lumières sur chaque objet décomposer les objets en petits triangles puis en fragments appliquer des textures et des effets sur les fragments afficher les pixel résultants de l’association des fragments Vertex shader Setup Engine Le GPU est le processeur central de la carte graphique. Il se charge du traitement des données vidéo, permettant ainsi de soulager le microprocesseur. Son rôle est de traiter les objets envoyés par le microprocesseur puis d’en déduire les pixels à afficher. En effet, dans le cas de l’affichage du scène 3D, le microprocesseur communique au GPU les données à afficher sous forme vectorielle. Les objets sont donc définis par une masse de points représentant leurs coordonnées dans l’espace. Pour afficher un objet à l’écran, le GPU procède en plusieurs étapes : placer les objets dans le repère et leur appliquer des transformations (translation, rotation, etc…)  appliquer les effets de lumières sur chaque objet décomposer les objets en petits triangles puis en fragments appliquer des textures et des effets sur les fragments afficher les pixel résultants de l’association des fragments Pour cela, il est constitué d’un immense pipeline principal. Celui-ci comprend au moins un vertex shader (étape 1 et 2), un setup engine (étape 3) et un pixel shader (étape 4 et 5). Pixel Shader qxQXQX

239 VII Architecture d’un ordinateur
VII.5 Carte graphique

240 VII Architecture d’un ordinateur
VII.1 Carte mère VII.2 Microprocesseur VII.3 Mémoire VII.4 Périphérique interne de stockage VII.5 Carte graphique VII.6 Comparaison offre MIPE

241 VII Architecture d’un ordinateur
VII.6 Comparaison offre MIPE Offre MIPE (MIcro Portable Etudiant) Poids ≤ 3kg WIFI Suite bureautique Autonomie ≥ 3h Lecteur DVD ≥ 2 prises USB Antivirus avec ≥ 6 mois de maj gratuite Garantie européenne ≥ 2ans

242 VII Architecture d’un ordinateur
VII.6 Comparaison offre MIPE Référence Processeur Mémoire Disque dur Lecteur Optique Carte Vidéo Ecran Poids Port E/S DELL Inspiron ASUS Z92T 1299€ EasyNote MX45-003 999€ HP Pavilion DV5245EA 949€ Cybertek Amilo M1451 Pentium M 1.6 GHz 2 Mo 512 Mo FSB 400 MHz 60 Go 4200 tr/min DVD+/-RW 8x – 4x – 2x Intel 900 128 Mo partagé 15,4’’ 1280x800 3 kg WIFI 802.11g 3 USB… Garantie 3 ans Maj antivirus 15 mois Core Duo 1.6 GHz 1 Mo/core 1 Go FSB 533 MHz 100 Go 5400 tr/min DVD+/-RW 8x – 4x – 2x GeForce 7400Go 128 Mo 15,4’’ 1280x800 3 kg WIFI 802.11g 3 USB… Garantie 2 ans + lecteur carte 6 en 1 – maj antivirus 2 mois Core Duo 1.6 GHz 1 Mo/core 1 Go FSB 533 MHz 100 Go 5400 tr/min DVD+/-RW 8x – 4x – 2x Intel 945 128 Mo partagé 15’’ 1280x800 2,8 kg WIFI 802.11g 3 USB… Garantie 2 ans + webcam640x480 – maj antivirus 6 mois Core Duo 2 GHz 1 Mo/core 1 Go FSB 667 MHz 120 Go 5400 tr/min DVD+/-RW 8x – 4x – 2x ATI X1400 256 Mo 17’’ 1440x900 3,5 kg WIFI 802.11g 6 USB… Garantie 3 ans Maj antivirus 15 mois Depuis 3 ans, très très grosse amélioration des produits = beaucoup de produit intéressant pour prix faible Pratiquement que des cores duo. D’où super tarif sur Pentium M. Attention au céléron (moitié moins de cache) Moins cher = Dell à 649€ = techno d’il y a 2 ans Ensuite tout un tas de micro à +200€ avec juste 20Go de DD ou 100MHz de proce en plus… pas intéressant pour la dif de prix Ensuite 1ier rapport prix/config intéressant = HP Voir forum tt hardware dans topic [incontournable] [guide d’achat] maj de mi-septembre. Turion X2 1.6 GHz 512 ko/core 2 Go FSB 400 MHz 100 Go 5400 tr/min DVD+/-RW 8x – 4x – 2x GeForce 7600 GO 256 Mo 15,4’’ 1280x800 2,9 kg WIFI 802.11g 4 USB… Garantie 2 ans + webcam 1,3Mp – maj antivirus 6 mois – sacoche - souris Core 2 Duo 2Ghz - 4Mo 1399€ Core Duo 2 GHz 1 Mo/core 1 Go FSB 667 MHz 120 Go SATA 150 5400 tr/min DVD+/-RW 8x – 4x – 2x GeForce 7600 GO 256 Mo 15,4’’ 1280x800 2,9 kg WIFI 802.11g 3 USB… Garantie 2 ans + webcam 1,3Mp + lecteur carte + lecteur empreinte + maj antivirus 24 mois – sacoche - souris + 1 PCMCIA – 1 firewire – Réseau 10/100 – Audio stéréo qxQXQX

243 -FIN- qxQXQX


Télécharger ppt "Architecture des ordinateurs Elaboré par: ABIDA Mounir"

Présentations similaires


Annonces Google