Architecture des ordinateurs Elaboré par: ABIDA Mounir

Slides:



Advertisements
Présentations similaires
Le micro-ordinateur.
Advertisements

Électronique de base du processeur
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
TECHNOLOGIE DES ORDINATEURS
TRAITEMENT PROGRAMME DE L’INFORMATION
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Informatique Deug2 Sciences Eco S. Maabout 2004/2005.
La mémoire morte(ROM) Il existe un type de mémoire permettant de stocker des données en l'absence de courant électrique, il s'agit de la ROM (Read Only.
Le Concept du programme enregistré
Architecture Systèmes
Les microprocesseurs A. Objectifs de la séquence:
TRANSMISSION DES DONNEES INFORMATIQUES
Architecture de machines La mémoire
Architecture de machines Principes généraux
Architecture de machines La mémoire
Cours d’initiation en Informatique
« ARCHITECTURE MATÉRIELLE D’UN ORDINATEUR »
Système d’exploitation : Assembleur
Les systèmes à microprocesseur
Architecture des ordinateurs
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Chapitre n°2 : Architecture d'un ordinateur
Définition – Rôle Formes Composants Périphériques internes
Architecture de base d’un ordinateur
NOTE : Pour faire évoluer le diaporama, si le clic de souris ne fait rien utilisez les touches du clavier : Pg up Pg down.
TRANSMISSION DES DONNEES.
Les mémoires :. Mémoriser Enregistrer Conserver Restituer.
Architecture des Ordinateurs
Fonction COMMUNIQUER les liaisons série
LES MEMOIRES.
Architecture d ’un système à MICROPROCESSEUR
LES SYSTEMES AUTOMATISES
Module 1 : Généralités sur les systèmes informatiques
Informatique 1. Les applications de l’informatique
Logique programmée & Microprocesseurs
ARCHITECTURE D’UN SYSTEME MICROPROGRAMME
COMPOSANTES INTERNES DE L’UNITE CENTRALE.
Codage binaire A 65 Entiers positifs caractères
Architecture d'un ordinateur
3-Présentation d’un µP simple
REPRESENTATION DE L’INFORMATION
Structure de Base d’un ordinateur Matière : Informatique
Passer directement au Quiz
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. tél Fax Cours Architecture des.
INFOR 101 Chapitre 5 Marianne Morris.
LES MEMOIRES.
Gestion des Périphériques
Un programme Algorithme permettant au processeur de s'alimenter:
Architecture des ordinateurs, Environnement Numérique de Travail
Patricia Renault UPMC 2005/2006
Représentation digitale des données Trois formats de base: 1) Décimale: base 10 (Une constante i.e dimension d ’1 vecteur) 2) Binaire: base 2 ( Mask, set/reset.
Codage de l’information
Chapitre 4 La représentation des nombres.
Chapitre 3 L’accès aux données.
1.1: notions de bases de l’informatique
Un ordinateur est une machine électronique qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui.
Memoire.
Architecture d’un ordinateur
LES MEMOIRES et le décodage d’adresses
Les bascules et registres
Initiation à l'informatique
Les mémoires la préparation de: chaimaa hamdou.
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
1 Initiation à la micro-informatique Le matériel CFPPA d’AUXERRE La Brosse Réalisation : Gilles BERDAL 2005 un clic pour la suite… L’Unité Centrale.
Architecture d'un automate programmable
Initiation à la micro-informatique Le matériel L’Unité Centrale un clic pour la suite…
Systèmes à microprocesseur Les mémoires
1 Architecture des ordinateurs Généralités. 2 Définition Informatique = Information + Automatique Ce terme a été introduit en France. Il est très répandu.
Transcription de la présentation:

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

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

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

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

Plan

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

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

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

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

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 001101101 qxQXQX

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

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 : 16 8 4 2 1 24 23 22 21 20 ( 1 1 0 0 1 )2 = 1+ 8 + 16 = (25)10 Bases correspondant à des puissances de 2 : conversions très faciles qxQXQX

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 : 55 2 1 27 2 (55)10 = (110111)2 13 2 1 6 1 2 3 2 1 1

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 : 256 16 1 162 161 160 ( B 2 2 )16 = Bx256 + 2x16 + 2x1 = 11x256 + 32 + 2 = (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

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 : 8 4 2 1 8 4 2 1 8 4 2 1 ( 1011 0010 0010 )2 ( B 2 2 )16  Conversion Hexadécimal → Binaire On effectue l’opération inverse

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

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

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

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

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 048 476 1 octet = 8 bits 1 ko = 1024 octets = 8192 bits 1 Mo = 210 ko = 1024 ko = 8 388 608 bits

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

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 = 91809 bits qxQXQX

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 = 91809 octets = 734 472 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

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 = 275 424 octets = 2 203 392 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 = 16777216 (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

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

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

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 : 0100 1011 0101 1111 = 0x4b5f

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

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

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)

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.

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

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 : 35268 est représenté en BCD par : 0011 0101 0010 0110 1000 Inconvénients : Opérations arithmétiques plus compliquées Demande plus de mémoire

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

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

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

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

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

qxQXQX

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

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

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

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

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

II. Architecture de base qxQXQX

II. Architecture de base qxQXQX

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

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

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

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

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

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

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

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é

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

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

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

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

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

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...

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

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

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

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

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

Système minimum

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

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

qxQXQX

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

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

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…

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

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

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

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

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

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

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é

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 = 215 . 8 = 262 144 bits 256 k bits 32 768 octets 32 ko 32 768 mots de 8 bits / 8 /1024

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

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

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

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

É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

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

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

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 = 268 435 456 octets = 268 435 456 * 8 = 2 147 483 648 bits = 2 147 483 648 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 5-3-3-3 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

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 5-1-1-1, 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

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

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

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

É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

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

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

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

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

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

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

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

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

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

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

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é +

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

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.

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.

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

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

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

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…

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

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

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

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

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.

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

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

Contenu d’une case (un mot)mémoire Une adresse 0001100 0011100 0111100 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

Structure d’un programme en MC 1000000 } 1111111 Partie données ( variables ) 0000000 11110000 Addition 11000001 Soustraction 11100001 11000001 11100001 Partie instructions 11100001 …………. ………. qxQXQX

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

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

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

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

Schéma d’une UAL 127 qxQXQX

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

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

Schéma d’une UC 130

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

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

Une machine avec des registres de travail 133

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

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

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érande1 Opérande2 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

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érande1 Opérande2 Exemple : ADD A,B ( BA +B ) 137

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

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

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 150 140 qxQXQX

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 150 A la fin de l’exécution nous allons avoir la valeur 50 ( 20 + 30 ) 30 150 141 qxQXQX

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 150 200 200 40 142 qxQXQX

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 150 + 30 200 Remarque : si ADR ne contient pas une valeur immédiate alors Adresse opérande = (ADR )+ (X) 143 qxQXQX

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 150 + ADD 250 144 qxQXQX

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

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

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

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

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

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

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…

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.

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

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

Langage le plus proche du langage machine IV. Le microprocesseur IV.5 Langage de programmation Langage machine 0101 0011 1111 0011 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…

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

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

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

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

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

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 + (0.21 + 0.12 + 0.24) x 2 = 1.57 cpi MIPS = F / CPI = 50 / 1.57 # 31.9 mips Texe = n / MIPS = 31.4 n ns

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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 2004 - 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

V. Performance d’un microprocesseur V.3 Outils de mesure Standart Performance Evaluation Corporation (SPEC) www.spec.org 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

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

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

V. Performance d’un microprocesseur Evolution des microprocesseurs

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

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 5000 ko/s Ecran Sortie 30000 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 à 128000 bit/s Bit de start : inverse état repos

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

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

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

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.

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…

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

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

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

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

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

VII Architecture d’un ordinateur VII.2 Microprocesseur Référence Athlon 64 4000+ 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 €

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

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

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

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

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

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

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

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

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

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 49 - 50 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 7K100 7200 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

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

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

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

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

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

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

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

VII Architecture d’un ordinateur VII.5 Carte graphique

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

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

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 1300 649€ ASUS Z92T 1299€ EasyNote MX45-003 999€ 9400 1299€ 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

-FIN- qxQXQX