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

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

Architecture des Ordinateurs IUT Informatique de Calais.

Présentations similaires


Présentation au sujet: "Architecture des Ordinateurs IUT Informatique de Calais."— Transcription de la présentation:

1 Architecture des Ordinateurs IUT Informatique de Calais

2 IUT Informatique Calais Architecture des ordinateurs2 Objectif du cours : Étude du fonctionnement interne de lordinateur 1 ière partie : couple processeur / mémoire codage des nombres logique combinatoire fonctions simples : addition … logique séquentielle fonctions plus sophistiquées : mémoire... introduction à l'assembleur 2 ième partie : carte mère et périphériques carte mère : chipset, bus, connecteurs … périphériques dentrée : clavier, souris … périphériques de sortie : écran, imprimante … périphériques dentrée sortie : disque dur, modem... logique booléenne

3 IUT Informatique Calais Architecture des ordinateurs3 8 TDs : manipulation de nombres binaires logique combinatoire logique séquentielle 8 TPs : programmation assembleur 2 DS + 1 contrôle TD + 1 contrôle TP Période : 1er semestre (16 semaines) 16 Cours

4 IUT Informatique Calais Architecture des ordinateurs4 1 Introduction 1.1 Objectif de la première partie du cours Couple processeur / mémoire : utilisation des opérations logiques de base : ET, OU, NON niveaux logique et fonctionnel (circuits logiques et équations) réalisation dunités de traitement primitives assemblage de ces unités pour préciser lorganisation de lordinateur

5 IUT Informatique Calais Architecture des ordinateurs5 1.2 Historique de linformatique … agrémenté de quelques « phrases célèbres » en rouge … Références : –« Préhistoire et histoire des ordinateurs » de Robert Ligonnière, Robert Laffont, 1987 –http://www.scedu.umontreal.ca/histoiredestec/histoire/tdmhiste.htm (offline...)http://www.scedu.umontreal.ca/histoiredestec/histoire/tdmhiste.htm –http://histoire.info.online.frhttp://histoire.info.online.fr –http://dmawww.epfl.ch/~delay/projet3 (offline...)http://dmawww.epfl.ch/~delay/projet Du manuel à la mécanique

6 IUT Informatique Calais Architecture des ordinateurs6 Lhomme a toujours cherché à saider pour le calcul : -500 : premiers outils de calcul, l abaque et le boulier

7 IUT Informatique Calais Architecture des ordinateurs : Aristote définit la logique : J. Napier invente les logarithmes + nombres décimaux + techniques de multiplication et division (bâtons de Napier) 1623 : Cylindres de Schickard ( + idée d utiliser des roues dentelées) 1673 : Disques de Morland

8 IUT Informatique Calais Architecture des ordinateurs : Schickard esquisse la première calculatrice 1642 : Blaise Pascal invente la pascaline

9 IUT Informatique Calais Architecture des ordinateurs9

10 IUT Informatique Calais Architecture des ordinateurs : machine de Leibniz (multiplication et division)

11 IUT Informatique Calais Architecture des ordinateurs : C.X. Thomas invente larithmomètre (6 à 20 chiffres) exemplaires vendus de 1823 à 1878

12 IUT Informatique Calais Architecture des ordinateurs : C. Herzstark invente la Curta Curta I : exemplaires vendus de 1947 à 1970 Curta II : exemplaires vendus de 1954 à 1970

13 IUT Informatique Calais Architecture des ordinateurs13 Historique de l informatique De la mécanique à lélectromécanique

14 IUT Informatique Calais Architecture des ordinateurs : Babbage imagine une machine analytique contenant les concepts dunité de calcul, mémoire, registre et entrée des données par carte perforée 1840 : Ada Lovelace, collaboratrice de Babbage définit le principe ditérations successive dans lexécution dune opération et nomme ce processus algorithme en lhonneur du mathématicien arabe Al Khowarizmi

15 IUT Informatique Calais Architecture des ordinateurs : Boole démontre que tout processus logique est décomposable en une suite dopérations logiques (ET, OU, NON) appliquées sur 2 états (0-1, V-F,...) 1884 : H. Hollerith crée une tabulatrice à cartes perforées pour faire traiter le recensement américain de 1890, cest la 1 ière machine à traiter linformation

16 IUT Informatique Calais Architecture des ordinateurs : H. Hollerith crée la firme Tabulating Machine Corporation 1904 : J. Fleming invente le premier tube à vide (la diode) 1907 : L.D. Forest invente la triode 1919 : Eccles et Jordan inventent le basculeur (flip-flop ou circuit bi-stable) 1924 : Tabulating Machine Corporation est renommée International Business Machine

17 IUT Informatique Calais Architecture des ordinateurs : A.M. Turing résout des problèmes mathématiques à laide d une bande de papier, de pions et d un trombone ! Cest la machine de Turing 1938 : Shannon dans sa thèse fait le parallèle entre circuit électrique et algèbre booléenne. Il définit le chiffre binaire : bit (BInary digiT) 1938 : K. Zuse crée le Z1, ordinateur binaire programmable mécanique ! 1939 : Z2, une partie de la mécanique est remplacée par des relais téléphoniques

18 IUT Informatique Calais Architecture des ordinateurs : J. Atanasoff et C. Berry créent le 1 er calculateur binaire basé sur lalgèbre de Boole. LABC est considéré comme le premier ordinateur mais son programme nest pas stocké en mémoire 1941 : Z3, premier calculateur avec programme enregistré. Mémoire : 64 nombres de 22 bits, puissance : 4 +/s ou 1 x en 4s

19 IUT Informatique Calais Architecture des ordinateurs : H. Aiken crée le Mark I calculateur électromécanique (3000 relais, 800km de câbles) dont le fonctionnement est proche de la machine imaginée par Babbage 1945 : un insecte coincé dans la Mark I bloque son fonctionnement. La mathématicienne G.M. Hopper décide que tout ce qui arrêtera le bon fonctionnement d un programme sappellera BUG : J. Von Neuman travaillant sur le projet ENIAC définit ce que devrait être un ordinateur à programme enregistré : architecture de Von Neuman 1943 : Thomas Watson, IBM : « Je pense quil y a un marché mondial pour au moins 5 ordinateurs. »

20 IUT Informatique Calais Architecture des ordinateurs20 Historique de l informatique Lélectronique

21 IUT Informatique Calais Architecture des ordinateurs : P. Eckert et J. Mauchly créent lENIAC. Particularités : tubes, 30 tonnes, 72 m 2, 140 KW, 100 kHz, 330 x/s

22 IUT Informatique Calais Architecture des ordinateurs : Newman et Williams créent le Manchester Mark I. Particularité : mémoire à tubes cathodiques 1950 : M.V. Wilkes invente l assembleur (avant on programmait en binaire) 1951 : G.M. Hopper invente le premier compilateur A0 générant un programme binaire à partir dun code source 1947 : invention du transistor dans les laboratoires de Bell Telephone 1953 : invention de la mémoire à tores de ferrite 1949 : revue Popular Mechanics : « Alors que le calculateur ENIAC est équipé de tubes à vide et pèse 30 tonnes, les futurs ordinateurs de lan 2000 ne devraient avoir que 1000 tubes à vide et ne peser que 1,5 tonnes. »

23 IUT Informatique Calais Architecture des ordinateurs : TRADIC le premier ordinateur à transistors par Bell amorce la seconde génération d ordinateurs 1956 : 1 er disque dur, le RAMAC 305 par IBM (50 disques de 61 cm - 5 Mo) 1957 : J. Backus d IBM crée le langage FORTRAN

24 IUT Informatique Calais Architecture des ordinateurs : 1er ordinateur commercial entièrement transistorisé par S. Cray

25 IUT Informatique Calais Architecture des ordinateurs : 1 er circuit intégré par Texas Instruments 1958 : 1 er modem par Bell 1958 : 1 er jeu vidéo (très similaire au jeu pong par Atari en 1972) 1960 : langage Cobol 1962 : P. Dreyfus invente le mot informatique 1964 : langage Basic

26 IUT Informatique Calais Architecture des ordinateurs : G. Moore écrit que la densité des circuits intégrés doublera tous les 18 mois (loi de Moore) 1966 : première console de jeux vidéo, la Magnavox Odyssey I 1967 : plans de lARPANET (ancêtre de l internet) 1967 : premier lecteur de disquettes par IBM

27 IUT Informatique Calais Architecture des ordinateurs : D.C. Engelbart fait la démonstration dun environnement graphique avec fenêtres utilisant une souris : langage Pascal 1969 : naissance d Unix grâce à K. Thompson et B. Kernighan 1970 : K. Thompson crée le langage B pour Unix 1968 : HP présente sa première calculatrice de bureau programmable, la HP 9100 (20 kg, 5000 $)

28 IUT Informatique Calais Architecture des ordinateurs : Intel vend le premier microprocesseur : Intel 4004 (4 bits, 108 kHz, 200$) : transformation du langage B (interprété) en langage C (compilé) 1971 : Apparition de lordinateur Kenback-1 pour 750$ en kit !

29 IUT Informatique Calais Architecture des ordinateurs : R. Tomlinson crée un logiciel de courrier électronique pour ARPANET 1972 : premier langage orienté objet, SmallTalk 1972 : B. Gates et P. Allen fondent la compagnie Traf-O-Data 1973 : apparition du mot microcomputer (micro-ordinateur) 1975 : Traf-O-Data devient Micro-Soft 1976 : S. Jobs et S. Wozniak créent l Apple Computer et fondent Apple 1977 : Ken Olson, DEC : « Il ny a aucune raison pour que tout le monde veuille un ordinateur à la maison »

30 IUT Informatique Calais Architecture des ordinateurs30 Avril 1981 : Xerox vend le Star Caractéristiques : Ram 1 Mo, DD 8 Mo, interface Ethernet, interface graphique, souris 2 boutons, Drag&Drop, copier- coller, menus contextuels, tableur, traitement de texte WYSIWYG, et messagerie électronique. Problème : $ Il faudra 10 ans à Apple et 15 ans à Microsoft pour faire aussi bien !

31 IUT Informatique Calais Architecture des ordinateurs31 Août 1981 : IBM lance le 5150 Personal Computer. Caractéristiques : RAM 640Ko, lecteur de disquettes 525, système PC-DOS 1.0 pour $ (version CGA 16 couleurs pour 6000 $). Windows 1.0 sortira en novembre Il napporte rien de nouveau et pourtant : Bill Gates, Microsoft : « 640Ko devrait être suffisant pour tout le monde. »

32 IUT Informatique Calais Architecture des ordinateurs32 Janvier 1983 : Apple lance le Lisa. Caractéristiques : µP à 5Mhz, 1 Mo RAM, 2 Mo ROM, écran graphique x364, 2 x 525, DD 5 Mo avec interface graphique et souris $ Janvier 1984 : Apple lance le Macintosh. Caractéristiques : µP à 8Mhz, 128Ko RAM, 64 Ko ROM, 350, écran N&B 9 512x384 avec interface graphique et souris $ Loi de Wirth : « Les logiciels deviennent plus lents de manière plus rapide que le matériel ne devient plus rapide. »

33 IUT Informatique Calais Architecture des ordinateurs33 Historique de linformatique FIN

34 IUT Informatique Calais Architecture des ordinateurs Positionnement du problème On souhaite construire un ordinateur basé sur lutilisation de la base 2 Problèmes : représentation des nombres réalisation des opérations arithmétiques : + et - : facile en entier et en réel x : plus dur... / : efficacité difficile à obtenir en entier, ardu en réel séquenceur intégration

35 IUT Informatique Calais Architecture des ordinateurs Principes fondamentaux Tous les ordinateurs sont fondés sur les mêmes principes de base : programmes / données processeur / mémoire / périphériques informations codées en binaire traitements effectués en binaire Pourquoi la base 2 ? Simple générale Depuis l ENIAC, seule la technologie a changée : lampe à vide - transistor - circuit intégré - microprocesseur d où : plus rapide, plus petit, moins gourmand, plus fiable, moins coûteux

36 IUT Informatique Calais Architecture des ordinateurs Définitions Définition 1 Un processeur est un élément qui exécute des traitements. Les traitements à exécuter sont indiqués par les instructions du programme exécuté. Les traitements sappliquent sur des données et fournissent également des résultats. Définition 2 La mémoire centrale contient les programmes exécutés par le processeur ainsi que les données du programme et ses résultats. Processeur Résultats Programme Données Mémoire

37 IUT Informatique Calais Architecture des ordinateurs37 2 Logique booléenne 2.1 Représentation des valeurs booléennes 0 : 0 volt = masse 1 : +5 volts = alimentation 2.2 Les portes logiques Fonction NON (inverseur) Elle donne le complémentaire d une valeur logique. as as symbole usuelsymbole normalisé ANSI table de vérité 1

38 IUT Informatique Calais Architecture des ordinateurs Fonction ET Un ET est vrai si ses deux entrées sont vraies. b a s a b s & Fonction OU Un OU est faux si ses deux entrées sont fausses. a b s b a s

39 IUT Informatique Calais Architecture des ordinateurs Fonction NON-ET ou NAND Un NON-ET est un ET complémenté. Son résultat est faux si ses deux entrées sont vraies. b a s a b s & Fonction NON-OU ou NOR ou NI Un NI est un OU complémenté. Son résultat est vrai si ses deux entrées sont fausses. a b s b a s

40 IUT Informatique Calais Architecture des ordinateurs Fonction OU-EXCLUSIF Un OU-EXCLUSIF est vrai si ses deux entrées ont des valeurs différentes. Il permet de « tester » si deux valeurs logiques sont différentes. a b s b a s Fonction NI-EXCLUSIF Un NI-EXCLUSIF est vrai si ses deux entrées ont des valeurs égales. Il permet de « tester » si deux valeurs logiques sont égales. b a s a b s

41 IUT Informatique Calais Architecture des ordinateurs Fonctions ET-multiple, OU-multiple, NON-ET-multiple et NI-multiple Les fonctions ET, OU, NON-ET et NI (NON-OU) se généralisent facilement à des fonctions ayant un nombre quelconque d entrées : ET-multiple : vrai (1) si toutes ses entrées sont vraies (1), faux (0) sinon OU-multiple : faux si toutes ses entrées sont fausses, vrai sinon NON-ET-multiple : faux si toutes ses entrées sont vraies, vrai sinon NI-multiple : vrai si toutes ses entrées sont fausses, vrai sinon

42 IUT Informatique Calais Architecture des ordinateurs Porte trois-états La porte trois-états agit en interrupteur. Elle possède deux entrées et une sortie. L une des entrées contrôle son activité. Si celle-ci vaut 1 alors l entrée a est directement connectée à la sortie s, sinon elles sont déconnectées. L état déconnecté n est pas un 0, on le nomme haute-impédance (noté Z). a s c a s c ou a s c

43 IUT Informatique Calais Architecture des ordinateurs43 L intérêt de la porte trois-états est de pouvoir connecter directement deux fils en évitant tout risque de court-circuit en utilisant un montage de barrière bi- directionnelle ou transceiver. c

44 IUT Informatique Calais Architecture des ordinateurs Aspect matériel Matériellement, les portes se présentent dans des circuits intégrés. Un circuit en regroupe un certain nombre de même type. Exemple : le 7400 comporte 4 portes NAND

45 IUT Informatique Calais Architecture des ordinateurs45 Il faut un certain temps pour qu une porte logique réagisse à un changement sur ses entrées : cest le délai de propagation (environ 10 ns) Chronogramme réel faisant apparaître ce délai : 1 s 0 1 b 0 1 a 0 délai de propagation dans une porte ET Une porte peut prendre en compte le valeur dune entrée lorsquil y a un changement détat logique de cette entrée. Changement d état = front : 0 à 1 : front montant 1 à 0 : front descendant

46 IUT Informatique Calais Architecture des ordinateurs46 Le délai de propagation d'un circuit est le temps le plus long nécessaire pour propager un front sur une des entrées vers une des sorties. Exemple de calcul du délai de propagation : t b a c s 15nsNON-OU-EXCLUSIF à 3 entrées 15nsOU-EXCLUSIF à 3 entrées 14nsNON-OU à 3 entrées 14nsNON-ET à 3 entrées 14nsOU à 3 entrées 14nsET à 3 entrées 13nsNON-OU-EXCLUSIF à 2 entrées 13nsOU-EXCLUSIF à 2 entrées 12nsNON-OU à 2 entrées 12nsNON-ET à 2 entrées 12nsOU à 2 entrées 12nsET à 2 entrées 10nsNON (inverseur) Délai de propagation : b vers t : = 34ns

47 IUT Informatique Calais Architecture des ordinateurs47 Exemple de chronogramme : Chronogrammes en TD : on supposera quil ny a pas de délai de propagation temps t b a c s i j sjibasjiba

48 IUT Informatique Calais Architecture des ordinateurs Simplification dune fonction logique Pourquoi simplifier ? Équation plus lisible + facile à construire - cher + rapide - gourmand en énergie - de chaleur Théorème 1 La porte NON-ET est universelle. Théorème 2 La porte NI est universelle.

49 IUT Informatique Calais Architecture des ordinateurs Théorèmes de Boole Formules de De Morgan

50 IUT Informatique Calais Architecture des ordinateurs Autres propriétés ET est associatif et commutatif (comme la multiplication) OU est associatif et commutatif (comme laddition) ET est distributive par rapport à OU (comme x par rapport à +) 2.4 Représentation des nombres Utilisation d'une base quelconque et changement de base Un nombre N en base B s'écrit : N B = a n a n-1 a n-2 … a 1 a 0 avec 0 a i B-1 Exemples : base 2 (binaire) : a i 1 base 8 (octal) : a i 7 base 10 (décimal) : a i 9 base 16 (hexadécimal) : 3A5E8F 16 0 a i F chiffres hexadécimaux : A B C D E F

51 IUT Informatique Calais Architecture des ordinateurs51 Pour trouver la valeur décimale d'un nombre en base B : N 10 =a n B n + a n-1 B n-1 + … + a 2 B 2 + a 1 B 1 + a 0 Exemples : = 1× × × = = 2× × = DB 16 = 2× × = Pour passer d'une base à une autre il est toujours possible de passer par la base 10 Pour passer du binaire à une base de type 2 n il suffit de regrouper les bits par n de la droite vers la gauche afin de retrouver chaque chiffre en base 2 n. Exemples : soit à représenter en octal (8 = 2 3 ) : = hexadécimal (16 = 2 4 ) : = B7 16

52 IUT Informatique Calais Architecture des ordinateurs Représentation des nombres binaires non signés n bits permettent de représenter 2 n valeurs différentes, donc les nombres entiers positifs de 0 à 2 n -1. Exemple : sur 8 bits on peut représenter 2 8 = 256 valeurs différentes donc les entiers de 0 à 255 ( à ) Représentation des nombres binaires signés Pour représenter des nombres entiers positifs et négatifs, on utilise la représentation en complément à deux. Pour un nombre entier positif, cest sa représentation en base 2. Pour un nombre entier négatif, on obtient sa représentation en 3 étapes : étape 1 : calculer la représentation binaire de sa valeur absolue étape 2 : complémenter tous les bits (01, 10) étape 3 : ajouter 1 (additionner 1 au nombre obtenu)

53 IUT Informatique Calais Architecture des ordinateurs sur 8 bits ? étape 1 : étape 2 : étape 3 : Avec n bits on représentent les nombres entiers de -2 n-1 à 2 n La soustraction sobtient en additionnant les représentations C2. La représentation C2 n a de sens que si on précise quon l utilise pour ce nombre, sinon -23 en C2 vaut 233 en binaire (233=256-23). étape 1 : étape 2 : étape 3 : Exemples : -23 sur 8 bits ?

54 IUT Informatique Calais Architecture des ordinateurs54 Lorsque des opérations sont effectuées sur des nombres codés en complément à 2, ceux-ci doivent impérativement être codés sur le même nombre de bits On ne tient pas compte de la retenue finale Comment détecter un débordement ? si les nombres sont de signes différents, pas de problème si ils sont de même signe, le signe du résultat doit être le même, sinon il y a débordement

55 IUT Informatique Calais Architecture des ordinateurs Binaire Codé Décimal (BCD) BCD permet de coder des nombres entiers positifs. En BCD, on code chaque chiffre du nombre décimal sur 4 bits et on concatène ces demi-octets. Exemple : 4236 devient en BCD Avec 4n bits (ou m octets) on code les entiers de 0 à 10 n -1 (ou 10 2m -1) Représentation des nombres réels En décimal on écrit par exemple : 52,467 = De manière générale, dans la base b, on écrit : a n a n-1 …a 0, a -1 a -2 … a -p = a n b n + a n-1 b n-1 + … + a 0 b 0 + a -1 b -1 + a -2 b -2 + … + a -p b - p

56 IUT Informatique Calais Architecture des ordinateurs56 Par exemple en binaire : ,011 = = 165+1/4+1/8 = 165,375 Passage de la base 10 vers une base quelconque : pour la partie entière, on procède par divisions comme pour un entier la partie fractionnaire est multipliée par la base de manière successive en conservant la partie entière et ce jusquà ce quelle devienne nulle ou que la précision maximale soit atteinte. Exemple 1 : 28, ,125 * 2 = 0,25 0,25 * 2 = 0,5 0,5 * 2 = 1,0 0,125 0,

57 IUT Informatique Calais Architecture des ordinateurs57 Exemple 2 : 0,3 0,3 * 2 = 0,6 0,6 * 2 = 1,2 0,2 * 2 = 0,4 0,4 * 2 = 0,8 0,8 * 2 = 1,6 0,6 * 2 = 1,2 0,2 * 2 = 0,4 … 0,3 0, … Codage informatique des nombres réels selon la norme IEEE 754 : Les nombres réels sont normalisés sous la forme 1,… * 2 n puis codés sur 32bits. le 1 er bit code le signe (0 pour + et 1 pour -) les 8 bits suivants codent lexposant auquel on ajoute 127 (permet de coder des exposants négatifs sans C2) les 23 derniers bits codent la partie fractionnaire du nombre (après la virgule) mais si le 24 ième bit est 1 alors on arrondit à la valeur supérieure (mantisse + 1) seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm

58 IUT Informatique Calais Architecture des ordinateurs58 Exemple : 5,3 101, … normalisation : 1, … * 2 2 signe : 0 exposant : = 129 soit sur 8 bits mantisse sur 23 bits : mais le 24ième bit est 1 donc la mantisse est codage final : de manière plus lisible en hexadécimal : 40 A9 99 9A Remarques : lexposant signifie que le nombre est dénormalisé lexposant signifie que ce nest pas un nombre (NaN) les exposant sont donc compris entre –126 et 127.

59 IUT Informatique Calais Architecture des ordinateurs Unités de stockage unité de base : le bit (0 ou 1) unité usuelle : l'octet (1 octet = 8 bits) kilooctet : 1 ko = 1024 octets mégaoctet : 1 Mo = 1024 Ko gigaoctet : 1 Go = 1024 Mo téraoctet : 1 To = 1024 Go

60 IUT Informatique Calais Architecture des ordinateurs60 3 Logique combinatoire 3.1 Introduction Objet : étude des fonctions logiques du type x=f(a,b,c,…). Note : le temps nintervient pas dans léquation. La logique combinatoire permet la réalisation des fonctions de base dun ordinateur. Définition 3 : entrée Valeur logique fournie au circuit et à partir de laquelle est déterminée la sortie du circuit. Définition 4 : entrée de donnée Entrée ayant un rôle de valeur à traiter par le circuit.

61 IUT Informatique Calais Architecture des ordinateurs61 Définition 5 : entrée de contrôle Entrée ayant un rôle de modification / spécification du traitement réalisé par le circuit. Définition 6 : sortie Valeur logique résultat de lactivité du circuits sur ses entrées. Remarque : similitude conception dun programme / circuit logique Étant donnés des entrées et les résultats qui doivent être obtenus, on conçoit un programme ou un circuit logique passant des unes aux autres.

62 IUT Informatique Calais Architecture des ordinateurs Exemples de circuits combinatoire Additionneur Réalise laddition de deux nombres entiers sur n bits. Le résultat est fourni sur n+1 bits, le bit supplémentaire étant un bit de retenue. + A B C=A+B

63 IUT Informatique Calais Architecture des ordinateurs Multiplexeur et démultiplexeur Le multiplexeur transmet plusieurs signaux en entrée sur un seul fil en sélectionnant une des entrées à transmettre en sortie. Une entrée de contrôle réalise la sélection. 2 n entrées de donnée n entrées de contrôle Les n bits de contrôle ( 0 à 2 n -1 ) = numéro de lentrée à sélectionner s e0e0 e3e3 e2e2 e1e1 c1c1 c0c0 1 = e 1

64 IUT Informatique Calais Architecture des ordinateurs64 Démultiplexeur = rôle inverse du multiplexeur : choisir la sortie vers laquelle transmettre lentrée s0s0 s3s3 s2s2 s1s1 e c1c1 c0c0 1 0 = e

65 IUT Informatique Calais Architecture des ordinateurs Décodeur et encodeur Décodeur : n entrées et 2 n sorties Les n bits en entrée codent une valeur de 0 à 2 n -1 La sortie ayant ce numéro passe à 1 (les autres 0) Le décodeur est un élément essentiel dans la réalisation de la mémoire. s0s0 s3s3 s2s2 s1s1 e0e0 e1e1 e2e2 s4s4 s7s7 s6s6 s5s = 0 = 1 = 0

66 IUT Informatique Calais Architecture des ordinateurs66 Encodeur : rôle inverse du décodeur 2 n entrées et n sorties Une seule entrée est à 1 Les n bits en sortie codent le numéro de lentrée qui est à 1 s0s0 e3e3 s2s2 s1s1 e0e0 e1e1 e2e2 e4e4 e7e7 e6e6 e5e = 0 = 1

67 IUT Informatique Calais Architecture des ordinateurs67 À partir des spécification du circuit à réaliser : 1 identifier les entrées et les sorties du circuit en distinguant les entrées de donnée des entrées de contrôle 2 donner la table de vérité de chacune des sorties en fonction des entrées 3 pour chacune des sorties, en fonction de la table de vérité, obtenir une équation logique simplifiée au moyen dun tableau de Karnaugh 4 dessiner le schéma logique du circuit 3.3 Méthodologie de réalisation dun circuit combinatoire

68 IUT Informatique Calais Architecture des ordinateurs68 Entrées dans le même ordre que dans la table de vérité Tableau de Karnaugh permet de trouver léquation logique dune sortie dun circuit en regroupant les cases contenant la valeur 1 obtenu à partir de la table de vérité Exemples : 2 entrées : tableau de Karnaugh de s

69 IUT Informatique Calais Architecture des ordinateurs69 Entêtes de ligne et de colonnes codées dans lordre croissant du codage de Gray 4 entrées a 1 a 0 b 1 b 0 (en fait 2 nombres A et B) : tableau de Karnaugh de s Entrées toujours codées dans lordre croissant du codage binaire (ici de 0000 à 1111)

70 IUT Informatique Calais Architecture des ordinateurs70 Nombres croissants sur 3 bits selon …. le codage binaire classique : on ajoute 1 à chaque fois :OK 000:NON 011:OK 010:OK 011:NON 000:NON 110:OK 111:OK 110:NON 101:OK 100:OK le codage de Gray : 1) 2 nombres consécutifs ont un seul bit qui les différencie 2) Trouver le nombre suivant consiste à inverser le bit le plus à droite possible (vérifier que le codage obtenu na pas déjà été utilisé par un nombre précédent) Remarque : Le premier et le dernier nombre ont également un seul bit qui les différencie

71 IUT Informatique Calais Architecture des ordinateurs71 Pourquoi le codage de Gray pour les tableaux de Karnaugh ? Le codage des entrées de 2 cases voisines ont un seul bit qui les différencie, dans ce cas léquation leur correspondant se simplifie Important : La première et la dernière case de chaque ligne et de chaque colonne sont également considérée comme voisine (un seul bit différencie leur codage) exemples

72 IUT Informatique Calais Architecture des ordinateurs72 Plus le regroupement de cases voisines est grand, plus léquation résultante est simple Exemples de groupements de 4 cases voisines :

73 IUT Informatique Calais Architecture des ordinateurs73 Exemples de groupements de 8 cases voisines : Les groupements ne se font que par 2 n cases (2, 4, 8, 16, …) Un groupement de 2 n cases est valide ssi chaque case du groupement a n voisins dans ce groupement Exemples de groupements non valides : 2 2 cases dont 2 nont qu1 voisin 6 cases (pas une puissance de 2) 2 3 cases dont 5 nont que 2 voisins et une en a 4

74 IUT Informatique Calais Architecture des ordinateurs74 Les cases contenant 1 peuvent être utilisées plusieurs fois par des groupements différents pour reconstituer léquation de la sortie Il y a généralement de nombreuses solutions possibles, mais chercher les plus grands groupements permet de trouver les plus simples Exemples complets :

75 IUT Informatique Calais Architecture des ordinateurs75 Dans les exercices, toujours entourer les groupements utilisés dans le tableau de Karnaugh et indiquer leur correspondance avec un des termes de léquation (par une couleur ou un numéro) De même, toujours tenter de simplifier léquation finale groupement OU EXCLUSIF : alors que le OU correspond à lunion de plusieurs groupements, le OU EXCLUSIF correspond à lunion moins lintersection de 2 groupements exemples :

76 IUT Informatique Calais Architecture des ordinateurs76

77 IUT Informatique Calais Architecture des ordinateurs Étude de quelques circuits combinatoires Semi-additionneur » 1 bit Table de vérité de la sortie s : problème 1+1=10 donc 2 bits nécessaires Deuxième sortie pour la retenue r : b a s r

78 IUT Informatique Calais Architecture des ordinateurs Additionneur sur 2 bits en entrée : 2 nombres sur deux bits a 1 a 0 et b 1 b 0 en sortie : s 1 s 0 et la retenue r Remarques : entrées à gauche sorties à droite bits dans l'ordre pour lire les nombres

79 IUT Informatique Calais Architecture des ordinateurs79 Tableau de Karnaugh de s 0 :

80 IUT Informatique Calais Architecture des ordinateurs80 Tableau de Karnaugh de s 0 :

81 IUT Informatique Calais Architecture des ordinateurs81 Tableau de Karnaugh de s 0 :

82 IUT Informatique Calais Architecture des ordinateurs82 Tableau de Karnaugh de s 1 :

83 IUT Informatique Calais Architecture des ordinateurs83 Tableau de Karnaugh de s 1 :

84 IUT Informatique Calais Architecture des ordinateurs84 Tableau de Karnaugh de r :

85 IUT Informatique Calais Architecture des ordinateurs85 même raisonnement que précédemment : laborieux idée : combinaison de plusieurs circuits travaillant sur 1 bit avantages : plus facile à réaliser, travail avec une taille de n bits (n quelconque), conception plus claire, meilleur méthodologie, schéma logique plus clair, réalisation matérielle du circuit plus simple. Circuit primitif : additionneur 1 bit complet prise en compte de la retenue précédente : additionneur complet sur des données de taille quelconque

86 IUT Informatique Calais Architecture des ordinateurs86 Table de vérité : Tableau de Karnaugh pour r : Tableau de Karnaugh pour s :

87 IUT Informatique Calais Architecture des ordinateurs87 b a s r c Schéma logique :

88 IUT Informatique Calais Architecture des ordinateurs88 Schéma logique d'un additionneur 4 bits constitué d'additionneurs complets : r S 0 AB

89 IUT Informatique Calais Architecture des ordinateurs Unité logique deux entrées A et B sur n bits et une sortie S résultat dune opération logique le choix de lopération est fixé par c 1 c 0 : les valeurs de A et B ne sont pas exprimées dans le tableau car elles nont pas dintérêt ici utilisation de n circuits sur 1 bit pour réaliser le circuits sur n bits

90 IUT Informatique Calais Architecture des ordinateurs90 Circuit logique sur 1 bit : table de vérité : (la même mais sur des données 1 bit) On peut faire le schéma directement à partir de léquation mais...

91 IUT Informatique Calais Architecture des ordinateurs91 … il vaut mieux utiliser un multiplexeur : s c1c1 c0c0 a b

92 IUT Informatique Calais Architecture des ordinateurs92 Schéma logique dune UL sur 4 bits en combinant 4 UL 1 bit : S AB c1c1 c0c0

93 IUT Informatique Calais Architecture des ordinateurs Décaleur Remarque : un décalage à gauche dun nombre entier positif représenté en binaire correspond à une multiplication par deux un décalage à droite dun nombre entier positif représenté en binaire correspond à une division par deux Pour un décaleur sur n bits, le i ième bit du résultat est soit le bit i-1 soit le bit i+1 de lentrée. décalage à gauche : entrée : sortie : s i = e i-1 décalage à droite :entrée : sortie : s i = e i+1 bit 7bit 0

94 IUT Informatique Calais Architecture des ordinateurs94 Le circuit primitif a donc deux entrées e 1 et e 0 qui sont respectivement les bits i+1 et i-1 de lentrée E pour le circuit logique sur n bits. Il a également une entrée de contrôle indiquant un décalage à droite (c=0) ou à gauche (c=1). s c e1e1 e0e0

95 IUT Informatique Calais Architecture des ordinateurs95 Schéma logique du circuit de décalage sur 4 bits : 0 0 c S A

96 IUT Informatique Calais Architecture des ordinateurs96 on suppose que le nombre BCD est composé de deux chiffres codés sur 2x4 bits pour convertir ce nombre en binaire, il suffit de multiplier le chiffre des dizaines d par 10 et ajouter le chiffre des unités u : s = 10d + u on sait faire laddition mais on ne sait pas multiplier par 10 … … mais décaler une donnée binaire dune position vers la gauche correspond à une multiplication par deux … donc on décompose 10d en 8d + 2d ( x8 = 3 décalages à gauche ) Conversion BCD en binaire

97 IUT Informatique Calais Architecture des ordinateurs97 Schéma logique dun convertisseur BCD en binaire : S

98 IUT Informatique Calais Architecture des ordinateurs Test de validité dun code BCD en entrée une donnée sur 4 bits qui est censée représenter un chiffre en BCD et en sortie 1 si cest le cas, 0 sinon ( si les 4 bits ont une valeur > 9 ) soit b 3 b 2 b 1 b 0 les 4 bis en entrée et s la sortie s b2b2 b1b1 b3b3

99 IUT Informatique Calais Architecture des ordinateurs Comparateur : A = B un comparateur sur n bits avec n comparateurs sur 1 bit comparateur sur 1 bit : OU-EXCLUSIF ( 1 si les deux entrées sont différentes ) on compare tous les bits 1 à 1 puis on fait un OU sur les résultats : s A B

100 IUT Informatique Calais Architecture des ordinateurs Comparateur : A < B (nombres signés) A et B sont codés en complément à 2 si A et B sont de signes différents, le nombre positif est le plus grand si A et B sont de même signe, on utilise le comparateur de nombres positifs Pourquoi la comparaison fonctionne pour deux nombres négatifs ? codage C2 sur 4 bits : 012…789… … … …7-8-7…-1

101 IUT Informatique Calais Architecture des ordinateurs101 4 Logique séquentielle 4.1 Introduction Objet Étude des fonctions logiques du type x(t)=f(entrées,t-1). Note : le temps intervient dans léquation. Grâce à la logique séquentielle, on peut réaliser un circuit de mémorisation et concevoir complètement un processeur. Du point de vue du programmeur : logique combinatoire = opération arithmétiques et logiques simple (addition, soustraction, et, ou, décalage, rotation, comparaison) logique séquentielle = fonctionnalités nécessitant de mémoriser des données (affectation, structures de contrôle, séquencement des instructions)

102 IUT Informatique Calais Architecture des ordinateurs Quelques définitions Définition 7 : Un état dun circuit est une configuration des sorties de ce circuit. Les n états dun circuit sont numérotés de 0 à n-1. Exemple : une bascule (définie plus loin) possède deux états ; un circuit composé de 2 bascules à 4 états différents ; un circuit composé de m bascules a 2 m états différents. Définition 8 : Une transition est un changement détat. Définition 9 : Le graphe de transitions dun circuit est un graphe dont les nœuds sont les états possible du circuit, les arcs les transitions possibles.

103 IUT Informatique Calais Architecture des ordinateurs Loscillateur (ou horloge) L'oscillateur est l'élément permettant l'introduction de la notion de temps dans les circuits. Il est symbolisé par : Un oscillateur permet dobtenir un signal carré ayant une fréquence bien précise, constante au cours du temps et qui peut être élevée (plusieurs centaines de Mhz). Loscillateur le plus simple est une simple porte inverseur bouclant sur elle-même :

104 IUT Informatique Calais Architecture des ordinateurs104 La fréquence doscillation est fixée par le délai de propagation dans la porte. Dans un ordinateur, loscillateur rythmant ses activités est constitué dun quartz. Le quartz vibre naturellement, avec une grande précision et une grande constance au cours du temps, quand on lui applique un courant oscillant. Le quartz vibre à sa fréquence propre qui dépend de sa taille et de la façon dont il a été taillé. À partir dun quartz, on obtient des fréquences sous-multiples à laide de diviseurs de fréquence réalisés à laide de compteurs (voir TDs).

105 IUT Informatique Calais Architecture des ordinateurs Les bascules La bascule est lélément fondamental de la logique séquentielle. Elle possède 2 états (0 ou 1). On peut lire létat dune bascule et on peut lécrire (affecter létat voulu). Typiquement, une bascule aura deux entrées et une sortie : une entrée de contrôle indiquant si lon veut lire ou écrire létat interne de la bascule ; une entrée de donnée utilisée dans le cas dune écriture spécifiant la valeur à écrire dans la bascule ; une sortie sur laquelle létat courant de la bascule peut être lu.

106 IUT Informatique Calais Architecture des ordinateurs106 Bascule D : Lentrée de contrôle v indique si lon veut lire ou écrire une valeur. Si un front apparaît sur v, la donnée présente sur e est écrite sur s, sinon la sortie nest pas modifiée. v e s s

107 IUT Informatique Calais Architecture des ordinateurs107 Détection dun front montant sur v : Le front est détecté grâce au délai de propagation dans la porte NON. v a b s 1 1 Front descendant ?ETNI a b s v

108 IUT Informatique Calais Architecture des ordinateurs v e s s v e s

109 IUT Informatique Calais Architecture des ordinateurs109 Schéma dune bascule D déclenchant sur front montant : s s e v Schéma dune bascule D déclenchant sur front descendant : s s e v

110 IUT Informatique Calais Architecture des ordinateurs La fonction mémoire Une bascule est un élément de mémorisation de 1 bit (ou point-mémoire). Lentrée de contrôle joue le rôle de signal de lecture/écriture (noté r/w). Un ensemble de bascules est utilisé pour réaliser un registre ou une mémoire Le registre Cest un circuit capable de mémoriser 1 mot. Les registres sont situés dans le processeur et constituent donc une mémoire locale au processeur. Lorsquon programme en assembleur, on accède directement aux registres du processeur (certains registres nécessaires au fonctionnement ne sont pas accessibles au programmeur). Un registre de m bits est simplement constitué de m bascules.

111 IUT Informatique Calais Architecture des ordinateurs111 Un registre 3 bits : DD D Bus de données Signal décriture

112 IUT Informatique Calais Architecture des ordinateurs112 Un mot de m bits est mémorisé dans un ensemble de m bascules. Une mémoire de n mots de m bits est réalisée à laide de nm bascules. Étant donné une adresse, un décodeur sélectionne un mot dans la mémoire, cest-à-dire les bascules constituant les bits du mot à accéder. Un signal décriture indique si le contenu du mot-mémoire est modifié (opération décriture en mémoire) ou consulté (opération de lecture) La mémoire

113 IUT Informatique Calais Architecture des ordinateurs113 Mémoire de 4 mots de 3 bits : Bus de données DDD DDD DDD DDD Bus dadresses Signal décriture

114 IUT Informatique Calais Architecture des ordinateurs114 Bus de données DDD DDD DDD DDD Bus dadresses Signal décriture

115 IUT Informatique Calais Architecture des ordinateurs115 La fonction mémoire recouvre la notion de « variable » et d« affectation » en programmation. Une variable simple (de type entier ou caractère) est un mot-mémoire et est stockée dans un registre ou contenu dans une mémoire. Ladresse de ce mot correspond au nom donné à la variable dans le programme. Lune des tâches du compilateur consiste donc a associer à chaque variable une adresse en mémoire, ou un registre. Remarque : point de vue du programmeur

116 IUT Informatique Calais Architecture des ordinateurs Compteurs Objet Un compteur est un circuit logique qui cycle parmi tous ses états possibles, toujours de la même manière. Pour tout état, il nexiste quune seule transition qui latteint et une seule qui le quitte. Le graphe de transition est donc un simple cycle. Les états du circuit sont matérialisés par des bascules, et les transitions sont ponctuées par les fronts dune horloge. Exemple simple : le feu tricolore 3 états : vert allumé, orange allumé, rouge allumé ; cycle perpétuel entre ces 3 états, toujours dans le même ordre.

117 IUT Informatique Calais Architecture des ordinateurs117 Nombre détats du compteur nombre de bascules nécessaires. Pour un circuit à n états (de 0 à n-1), il faut au minimum log 2 (n-1) bascules ( x dénote le plus petit entier supérieur ou égal à x). Remarque : cest aussi le nombre de bits nécessaires au codage du nombre n-1 en binaire. Lorsque le nombre détats dun compteur nest pas une puissance de 2, certains états du circuit ne seront pas utilisés. Exemple : compteur à 5 états nombre de bascules ? 3 (8 états codables donc 3 états inutilisés) Conception dun compteur

118 IUT Informatique Calais Architecture des ordinateurs Compteur à 2 n états Réalisons un compteur de 0 à 7 : il y a 8 états donc 3 bascules sont nécessaires (D 0, D 1 et D 2 ). Table de transitions : D0D0 D1D1 D2D2 EtatD0D0 D1D1 D2D2 t+1 t

119 IUT Informatique Calais Architecture des ordinateurs119 Pour, on a le tableau de Karnaugh : D 2 \D 1 D D 2 \D 1 D D 2 \D 1 D 0

120 IUT Informatique Calais Architecture des ordinateurs120 Doù le schéma du compteur de 0 à 7 : D2D2 D1D1 D0D0 D0D0 D1D1 D2D2 D2D2 D1D1 D0D0

121 IUT Informatique Calais Architecture des ordinateurs Compteur à un nombre quelconque détats Réalisons un compteur de 0 à 9 : il y a 10 états donc 4 bascules sont nécessaires (D 0, D 1, D 2 et D 3 ). 4 bascules permettent de coder 16 états, donc 6 seront inutilisées.

122 IUT Informatique Calais Architecture des ordinateurs122 Table de transitions : Tableau de Karnaugh de D 3 t+1 : XXXX11 XX D 3 D 2 \D 1 D 0

123 IUT Informatique Calais Architecture des ordinateurs123 Table de transitions : Tableau de Karnaugh de D 2 t+1 : XXXX11 0X D 3 D 2 \D 1 D 0

124 IUT Informatique Calais Architecture des ordinateurs124 Table de transitions : Tableau de Karnaugh de D 1 t+1 : XXXX11 XX D 3 D 2 \D 1 D 0

125 IUT Informatique Calais Architecture des ordinateurs125 Table de transitions : Tableau de Karnaugh de D 0 t+1 : XXXX11 XX D 3 D 2 \D 1 D 0

126 IUT Informatique Calais Architecture des ordinateurs126 Problème : Les 4 équations ne suffisent pas. Étant donné que tous les états ne sont pas utilisés, il faut bien initialiser le circuit pour ne pas démarrer dans un état non utilisé. Modifier la table de transition pour faire évoluer les états non utilisés vers létat 0. Cest-à-dire changer tous les X en 0 dans la table. Il faut alors refaire les tableaux de Karnaugh et les équations. A faire en exercice... 2 solutions : Ajouter un signal dinitialisation pour démarrer à létat 0 :

127 IUT Informatique Calais Architecture des ordinateurs127 Schéma dun compteur de 0 à 9 avec initialisation :

128 IUT Informatique Calais Architecture des ordinateurs Feux tricolores Feux tricolores français Un feu tricolore est un compteur. Le graphe de transitions est le suivant : vert 0 orange 1 rouge 2

129 IUT Informatique Calais Architecture des ordinateurs129 Le graphe a 3 états numérotés de 0 à 2. Le nombre 2 se code 10 en binaire (2 bits) donc il y aura 2 bascules dans ce circuit. vert 0 orange 1 rouge 2 La table de transitions sobtient directement à partir du graphe de transitions :

130 IUT Informatique Calais Architecture des ordinateurs130 À partir des équations issues de la table de transitions, on dessine le circuit : D1D1 D0D0 D0D0 D1D1 D1D1 D0D0

131 IUT Informatique Calais Architecture des ordinateurs131 Comment allumer les différents feux à partir des valeurs de D 0 et de D 1 ? On utilise un décodeur : s0s0 s3s3 s2s2 s1s1 e0e0 e1e1 e2e2 s4s4 s7s7 s6s6 s5s5

132 IUT Informatique Calais Architecture des ordinateurs Feux tricolores scandinaves ou du royaume-uni Cycle : vert, orange, rouge, orange, vert,... Contrairement aux feux type français, un état ne correspond pas à une couleur allumée. Cest un compteur à 4 états (0 à 3), donc il faut bascules pour le circuit. 2 Graphe de transition : vert 0 orange 1 rouge 2 rouge orange 3

133 IUT Informatique Calais Architecture des ordinateurs133 vert 0 orange 1 rouge 2 rouge orange 3

134 IUT Informatique Calais Architecture des ordinateurs134 D1D1 D0D0 D0D0 D1D1 D1D1 D0D0

135 IUT Informatique Calais Architecture des ordinateurs Point de vue du programmeur Un compteur peut déclencher des actions les unes après les autres. Son rôle est donc de déclencher la réalisation dune séquence dinstructions dun programme. Un compteur est capable de réaliser un cycle dactivités un nombre fixé de fois. Cest un circuit capable de contrôler une boucle pour ; lindice de la boucle est alors la valeur courante du compteur.

136 IUT Informatique Calais Architecture des ordinateurs Automates Un exemple pour commencer Un feux tricolore peut avoir 2 types de fonctionnement différents : de jour : vert, orange, rouge, vert,... ; de nuit : orange, éteint, orange, éteint,... Dans ce cas il y a 2 cycles de fonctionnements différents : impossible à réaliser avec un compteur. Automates

137 IUT Informatique Calais Architecture des ordinateurs Introduction Un automate est un circuit logique pouvant être dans un certain nombre détats. Plusieurs transitions peuvent entrer ou sortir dun même état. Étant dans un certain état, la transition à effectuer est sélectionnée en fonction de signaux de contrôle. En fait, du point de vue du graphe de transitions, il est composé de plusieurs cycles entrelacés.

138 IUT Informatique Calais Architecture des ordinateurs Méthodologie de conception dun automate 1. Déterminer les cycles dactions de lautomate et les numéroter (0 à m). 2. En déduire le nombre de signaux de contrôle (nb. bits pour coder m bin.) 3. Déterminer les états de lautomate. 4. Déterminer le nombre de bascules nécessaires à la réalisation de lautomate : pour n états cest le nombre de bits pour coder n-1 en binaire. 5. Tracer le graphe de transitions de lautomate. 6. En déduire la table de transitions. 7. Pour chacune des bascules, déterminer léquation logique de son entrée à laide dun tableau de Karnaugh. 8. Faire le schéma logique de lautomate. Cette méthode nest pas adaptée dans le cas où le nombre de cycles est infini. Dans ce cas, on essaie de concevoir directement le graphe de transitions.

139 IUT Informatique Calais Architecture des ordinateurs139 Lobjectif dun automate est de séquencer des actions. Ces actions peuvent être déclenchées de 2 manières différentes : 1. Soit une action (ou des actions) est associée à un état. Cest-à-dire que tant que lautomate est dans cet état, laction est réalisée. 2. Soit une action (ou des actions) est associée à une transition (lautomate arrive ou quitte un état). Une transition entraîne un front (montant ou descendant selon que lon atteint ou que lon quitte un état) qui déclenche une action. Ce mode de fonctionnement est utilisé lorsque lon veut seulement déclencher une action, cest-à-dire émettre une impulsion.

140 IUT Informatique Calais Architecture des ordinateurs Feux tricolores (suite) Un feux tricolore peut avoir 2 types de fonctionnement différents : de jour : vert, orange, rouge, vert,... ; de nuit : orange, éteint, orange, éteint,... 2 cycles différents donc 1 bit pour les différencier. On le note c et on choisit c=0 de jour et c=1 de nuit. On a 4 états possibles : état 0 : vert allumé (le reste éteint) ; état 1 : orange allumé (le reste éteint) ; état 2 : rouge allumé (le reste éteint) ; état 3 : tout éteint. 4 états donc 2 bascules nécessaires.

141 IUT Informatique Calais Architecture des ordinateurs141 Initialisation du cycle de jour Initialisation du cycle de nuit vert 0 orange 1 rouge 2 éteint

142 IUT Informatique Calais Architecture des ordinateurs c\D 1 D c\D 1 D 0

143 IUT Informatique Calais Architecture des ordinateurs143 D1D1 D0D0 D0D0 D1D1 D1D1 D0D0 c

144 IUT Informatique Calais Architecture des ordinateurs Distributeur de café On veut réaliser un automate contrôlant un distributeur de café. On suppose quil distribue du café, avec ou sans sucre, avec ou sans lait. Il y a donc 4 fonctionnement possibles : 1. fournir du café noir ; 2. fournir du café sucré ; 3. fournir du café au lait ; 4. fournir du café au lait sucré.

145 IUT Informatique Calais Architecture des ordinateurs145 Les cycles sont numérotés de 0 à 3 (2 bits de codage) : 00 : gobelet, café lyophilisé, eau ; 01 : gobelet, café lyophilisé, sucre, mélangeur, eau ; 10 : gobelet, café lyophilisé, lait lyophilisé, eau ; 11 : gobelet, café lyophilisé, sucre, mélangeur, lait lyophilisé, eau. On définit les états (certaines actions peuvent être regroupées) : état 0 : repos (attente dune commande de boisson) état 1 : commande de boisson déclenchée état 2 : donne un gobelet état 3 : donne du café lyophilisé état 4 : donne du sucre et un mélangeur état 5 : donne du lait lyophilisé état 6 : donne de leau Il y a 7 états (0 à 6) donc 3 bascules seront nécessaires. Ces 4 cas correspondent à 4 cycles différents du distributeur.

146 IUT Informatique Calais Architecture des ordinateurs146 Graphe de transitions : gobelet café lyophilisé sucre et mélangeur lait eau 0,1,2,3 0 1, ,3 3

147 IUT Informatique Calais Architecture des ordinateurs147 Table de transitions : gobelet café lyophilisé sucre et mélangeur lait eau 0,1,2, ,3 3

148 IUT Informatique Calais Architecture des ordinateurs148

149 IUT Informatique Calais Architecture des ordinateurs149

150 IUT Informatique Calais Architecture des ordinateurs150 Lautomate que lon vient de réaliser est incomplet, que manque-t-il ? l'initialisation ! Faut-il initialiser à l'aide d'un signal init ou remplacer les X par des 0 dans la table de transitions et refaire les équations et le circuit ? Il est impératif d'utiliser un signal init parce que : le signal init permet de toujours démarrer à l'état 0 (état de repos) ; remplacer les X par des 0 permet seulement de revenir à l'état 0 lorsqu'on démarre dans un état non géré par l'automate. Mais il est possible de démarrer dans n'importe quel état valide de l'automate ! Exemple lorsque les X sont remplacées par des 0 dans les tables : feux tricolores : le feux peut démarrer au rouge, au vert ou à l'orange, ça ne pose aucun problème ; distributeur de café : il peut démarrer à l'état 3, c'est-à-dire donner du café etc...., alors que l'on vient seulement de brancher le distributeur !

151 IUT Informatique Calais Architecture des ordinateurs151 D2D2 D1D1 D0D0 D1D1 D2D2 D2D2 D1D1 c0c0 c0c0 D0D0 D0D0 c1c1 c1c1 init ( )

152 IUT Informatique Calais Architecture des ordinateurs152 Lautomate que lon vient de réaliser contrôle les activités du distributeur. Mais il est intéressant de regarder linterfaçage avec : le circuit donneur dordres ; le circuit servant les boissons. La commande des boissons se fait au travers dun clavier à 4 touches, une pour chaque boisson : c : café ; cs : café sucré ; cl : café au lait ; cls : café au lait sucré. La distribution se fera grâce à des organes électro-mécaniques fournissant les différents éléments nécessaires (gobelet,...).

153 IUT Informatique Calais Architecture des ordinateurs153 encodeur décodeur c1c1 c0c0 c cs cl cls D2D2 D1D1 D0D0 gobelet café sucre et mélang. lait eau Interfaçage de lautomate du distributeur de café : Remarques : Le clavier német que des impulsions, il faut donc mémoriser c0 et c1 une fois générés : une impulsion quelconque déclenche le passage à létat 1 et en même temps lécriture de 2 bascules mémorisant c0 et c1. Le séquencement des opérations de distribution doit être temporisé, puis arrêté au retour à létat de repos (0) ? ?

154 IUT Informatique Calais Architecture des ordinateurs Registre à décalage En combinant le circuit à décalage de la section et un registre, on obtient un élément couramment rencontré, un registre à décalage. Cest un registre dans lequel on peut écrire une donnée, la lire, et la décaler directement dans le registre. e 3 e 2 e 1 e 0

155 IUT Informatique Calais Architecture des ordinateurs155 À chaque entrée de donnée des bascules est envoyé un fil du bus de données et les sorties des 2 bascules lentourant. En fonction dun signal de commande (c 1 c 0 ), un multiplexeur sélectionne lune de ces trois données pour lécrire dans la bascule : e 3 e 2 e 1 e 0

156 IUT Informatique Calais Architecture des ordinateurs156 Lorsque lon doit transmettre une donnée, il est courant dutiliser un seul fil et denvoyer les bits de donnée à la queue-leu-leu : cest le principe de la liaison série. De même on voudrait pouvoir recevoir plusieurs bits les uns après les autres sur le même fil et reconstituer une donnée de plusieurs bits. Comment faire ? On utilise un registre à décalage. Émission : la donnée est présente dans le registre à décalage et le fil de transmission est la sortie de la dernière bascule. Il suffit alors, le registre étant en mode lecture, deffectuer à chaque impulsion dhorloge un décalage à droite Sérialiseur / désérialiseur de données

157 IUT Informatique Calais Architecture des ordinateurs157 Réception ? registre à décalage 4 bits x x x x x x x x x x Comment ne pas perdre la donnée après émission ? Décalages à gauche La sortie du registre est également connectée à sa propre entrée Associé à un automate dirigeant un compteur et 2 registres, on peut réaliser un registre à décalage dun nombre quelconque de positions (utile pour multiplier ou diviser par 2 n )

158 IUT Informatique Calais Architecture des ordinateurs Multiplicateur La multiplication de 2 nombres binaires non signés se résume à des additions et à des décalages : En base 10 : 1 1 x En binaire non signé : multiplicande x multiplicateur produit

159 IUT Informatique Calais Architecture des ordinateurs159 Cette façon de procéder consiste à examiner les bits successifs du multiplicateur, en commençant par le bit de poids faible. En binaire non signé : multiplicande x multiplicateur produit Si ce bit est à 1, on recopie le multiplicande. Si ce bit est à 0, on inscrit des 0.

160 IUT Informatique Calais Architecture des ordinateurs160 Par rapport à la ligne précédente, les nombres qui sont écrits sont décalés dun rang vers la gauche. En binaire non signé : multiplicande x multiplicateur produit Lorsque tous les bits du multiplicateur ont été examinés, on les additionne pour obtenir le produit. Les additionneurs binaires ne traitent que 2 nombres à la fois, donc au lieu dadditionner toutes les lignes en une fois, on les additionne 2 à 2 et on inscrit les sommes intermédiaires dans un registre : laccumulateur. +

161 IUT Informatique Calais Architecture des ordinateurs multiplicande x multiplicateur bit du multiplicateur à 1 ; additionner le multiplicande à laccumulateur et décaler le multiplicande à gauche bit du multiplicateur à 0 ; décaler le multiplicande à gauche bit du multiplicateur à 1 ; additionner le multiplicande à laccumulateur et décaler le multiplicande à gauche bit du multiplicateur à 1 ; additionner le multiplicande à laccumulateur et décaler le multiplicande à gauche produit accumulateur multiplicande

162 IUT Informatique Calais Architecture des ordinateurs162 pour i de 0 à n-1 faire si MT ^ 1 = 1 alors RES RES + MD fsi décaler MD dun bit vers la gauche décaler MT dun bit vers la droite fpour Cest lalgorithme standard de multiplication tel quil est enseigné à lécole primaire. Lalgorithme utilisé est le suivant (n est la taille des données) :

163 IUT Informatique Calais Architecture des ordinateurs163 un registre à décalage sur n bits pour MT ; un registre à décalage sur 2n bits pour MD ; un registre 2n bits pour RES ; un compteur à n états qui va compter les itérations de la boucle pour ; un additionneur 2n bits ; un séquenceur qui coordonne les activités de tout ces circuits. Le multiplicateur se compose des éléments suivants :

164 IUT Informatique Calais Architecture des ordinateurs164 initialisation du circuit, cest-à-dire le compteur et RES ; addition de MD à RES ; décalage de MT ; décalage de MD ; arrêter le traitement quand il est fini. On en déduit les états du séquenceur : 0. inactivité du multiplicateur ; 1. test du bit de poids faible de MT ; 2. décalage de MD et MT ; 3. test du compteur ditérations. Le séquenceur doit déclencher les différentes actions à lintérieur de la boucle et contrôler la réalisation de la boucle :

165 IUT Informatique Calais Architecture des ordinateurs inactivité du multiplicateur ; 1. test du bit de poids faible de MT ; 2. décalage de MD et MT ; 3. test du compteur ditérations. Transition de létat 0 à létat 1 : il faut déclencher linitialisation du circuit. Transition de létat 1 à létat 2 : selon la valeur du bit de poids faible de MT, il y a addition ou non de MD à RES. Transition de létat 2 à létat 3 : décalage de MT et MD et incrémentation du compteur.

166 IUT Informatique Calais Architecture des ordinateurs166 Signaux reçus : INIT : init. du séquenceur cpt : valeur courante du décompteur f : bit de poids faible de MT Signaux émis : init : init. du décompteur reset : RES à 0 w R : signal décriture dans RES w T : signal décriture dans MT w D : signal décriture dans MD d T : décalage droite MT d D : décalage gauche MD i C : signal décrémentation décompteur init, reset, w T, w D f f wRwR d T, d D, i C cpt non nul cpt = 0 INIT

167 IUT Informatique Calais Architecture des ordinateurs167 décompteur de n à 0 initICIC séquenceur INIT init dDdD dTdT wRwR ICIC resetwTwT wDwD MT wTwT dTdT RES reset wRwR MD wDwD dDdD

168 IUT Informatique Calais Architecture des ordinateurs168 La conception est très simple : si les deux nombres sont négatif : on multiplie leurs compléments à deux si lun des deux est négatif : on multiplie son complément à deux par lautre nombre on calcul ensuite le complément à deux du résultat pour rétablir le signe. Multiplication de nombres signés (en complément à deux) :

169 IUT Informatique Calais Architecture des ordinateurs169 Schéma de principe : 1x1 multiplicateur de nombres positifs x/-x

170 IUT Informatique Calais Architecture des ordinateurs170 La multiplication, contrairement à laddition, nécessite de savoir si les nombres en entrée sont des nombres signés ou pas. En assembleur il y a donc deux instructions disponibles pour la multiplication : lune signée, lautre non signée. Comme vous lavez remarqué, la multiplication est une opération bien plus complexe à réaliser quune addition. En fait, les premiers microprocesseurs ne disposaient pas dinstruction de multiplication ; elle devait être programmée en assembleur. Remarques :

171 IUT Informatique Calais Architecture des ordinateurs171 On a vu : bascule registre mémoire compteur automate : élément de base de la logique séquentielle : mémoire la plus interne au processeur : en fait il y en a de nombreux types (cache, vidéo...) : pour la gestion de boucles de programmes : pour le séquencement des actions On a réalisé un circuit nécessitant tout ce qui a été vu : multiplication En fait, tout ce qui est nécessaire à la réalisation dun processeur est maintenant connu Conclusion Pour terminer le chapitre sur la logique séquentielle :

172 IUT Informatique Calais Architecture des ordinateurs172 5 Le processeur 5.1 Introduction Un microprocesseur est constitué par un assemblage de circuits exécutant les fonctions de lunité centrale de traitement dun micro-ordinateur. En anglais : CPU = central processing unit. Définition : Un microprocesseur est un circuit logique capable, après identification dune séquence dinstructions, deffectuer des traitements de linformation.

173 IUT Informatique Calais Architecture des ordinateurs173 Ce que doit savoir faire un ordinateur : Problème à résoudre Résolu par acquisition des données périphériques : clavier, souris, CD, disque, disquette, scanner, caméra... mémorisation des données, du programme à exécuter, des calculs intermédiaires... mémoire centrale et registres, éventuellement disque réalisation des calculsUAL = unité arithmétique et logique échanges de donnéesbus internes et externes, unité E/S synchronisation des opérationshorloge et unité de contrôle coordination de toutes les activités (calculs en cours, bon fonctionnement, transferts avec les périphériques...) microprocesseurs et contrôleurs dédiés

174 IUT Informatique Calais Architecture des ordinateurs174 unité de contrôle, de commande et de synchronisation ; unité arithmétique et logique mémoire et registres internes unité dentrées/sorties bus internes UAL Mémoire interne et registres E/S UC Un microprocesseur est un circuit contenant les unités suivantes :

175 IUT Informatique Calais Architecture des ordinateurs Bus internes Définition : Un bus est un ensemble de fils qui transportent (en parallèle ou en série) une information dun composant à lautre. Mode parallèle : autant de fils que le mot transporté contient de bits. Transporter mot sur un bus de taille inférieure : multiplexage 3 types de bus rencontrés : bus de données bus dadresse bus de contrôle Les bus se distinguent par : largeur vitesse

176 IUT Informatique Calais Architecture des ordinateurs UAL Circuits nécessaires pour les opérations arithmétiques et logiques étudiés dans les chapitres précédents En fonction de lopération sélectionnée : fournit le résultat met à jour un registre détat pour contrôler si résultat = 0 résultat positif / négatif débordement retenue …

177 IUT Informatique Calais Architecture des ordinateurs Mémoire et registres Le microprocesseur contient plusieurs registres et mémoire stockant données et instructions La taille des registres est fonction du type de processeur Les registres permettent daccélérer la vitesse de traitement Ils peuvent être synchronisés avec lUAL

178 IUT Informatique Calais Architecture des ordinateurs Entrées / sorties But : échanger des informations avec lextérieur (nécessaire au fonctionnement du CPU) Unité dentrées/ sorties (E/S) Intérieur du processeurExtérieur du processeur Bus de donnée Bus dadresse Bus de commande Lunité dE/S assure les liaisons entre bus internes et bus externes Les bus dadresse est unidirectionnel

179 IUT Informatique Calais Architecture des ordinateurs Unité de commande « Chef dorchestre » qui pilote et synchronise les unités du processeur Elle est pilotée par une horloge et permet de cadencer lexécution des instructions du programme : mise en service des circuits concernés (verrous) activation des communications (verrous + cellules de commutation) Définition : Un verrou est un circuit à n sorties, n entrées de données et une entrée de contrôle. Lentrée de contrôle autorise ou interdit le transfert des données vers les sorties. Il existe des verrous unidirectionnels (ei si) et des verrous bidirectionnels (ei si)

180 IUT Informatique Calais Architecture des ordinateurs180 Exemple : verrou unidirectionnel simple 4 bits Exemple : transfert du contenu de 2 registres en parallèle : Registre 0Registre 1Verrou e0e0 e1e1 D D D D transfert R0R1 Schéma de principe e3e3 e2e2 e1e1 e0e s3s3 s2s2 s1s1 s0s0 Transfert e0e0 e1e1 e2e2 e3e3 transfert s0s0 s1s1 s2s2 s3s3

181 IUT Informatique Calais Architecture des ordinateurs181 Définition : Une cellule de commutation (simple) est un circuit à 2 sorties, 2 entrées de données et une entrée de contrôle. Lentrée de contrôle modifie lordre de connexion des entrées de données aux sorties. Il existe des cellules unidirectionnels (ei si) et des cellules bidirectionnelles (ei si) Exemple : cellule de commutation simple 1 bit e0e0 e1e1 s0s0 s1s1 c e1e1 e0e0 1 e0e0 e1e1 0 s1s1 s0s0 c

182 IUT Informatique Calais Architecture des ordinateurs Modèle de Von Neumann En 1945 J. Von Neumann ( ) définit les bases de larchitecture des calculateurs modernes. unification des différentes représentations utilisées grâce au codage en binaire (algèbre de Boole) mémorisation des résultats intermédiaires mais surtout des opérations elles- mêmes représentation des opérations élémentaires à effectuer (désignées par « instructions ») ces instructions sont regroupées en « programmes » les programmes sont stockés en mémoire (plusieurs exécutions possibles) la rupture de séquence donne un « pouvoir de décision » à la machine en fonction des résultats intermédiaires sans intervention humaine

183 IUT Informatique Calais Architecture des ordinateurs Principe général de fonctionnement du microprocesseur Pour exécuter un programme, le microprocesseur effectue cycliquement : lecture dun code dinstruction en mémoire (fetch) reconnaissance de ce code, ou décodage (decode) exécution dun ordre élémentaire (execute) positionnement sur le code de linstruction suivante du programme En plus de laccumulateur il faut dautres registres pour le fonctionnement du microprocesseur : compteur ordinal (pointe sur linstruction suivante immédiate) registre dinstruction registre détat registre de sommet de pile (adresse de retour pour les sous-programmes) registres à usage plus général (adresse, donnée, buffer, …)

184 IUT Informatique Calais Architecture des ordinateurs Séquencement des instructions Une instruction est découpée en plusieurs micro-opérations / micro- commandes 1.Lire linstruction 2.Calculer ladresse de la prochaine instruction, incrémenter le CO 3.Décoder lopération 4.Calculer les adresses des opérandes si nécessaire 5.Lire les opérandes éventuelles depuis la mémoire 6.Exécuter linstruction 7.Calculer ladresse du résultat 8.Ranger le résultat en mémoire

185 IUT Informatique Calais Architecture des ordinateurs Instruction Définition : Une instruction est un ordre élémentaire exécutable par un microprocesseur donné (en un certain nombre de cycle dhorloge). Définition : Ces instructions sont spécifique à un microprocesseur et leur nombre est limité. Leur ensemble constitue le jeu dinstruction du microprocesseur. Classification des instructions : instructions de transfert instructions arithmétiques instructions logiques instructions de commande instructions dentrée/sortie

186 IUT Informatique Calais Architecture des ordinateurs186 Les instructions peuvent affecter ou utiliser le contenu dun ou plusieurs mot-mémoire, un ou plusieurs registres, ou aucun dentre-eux. Définition : Un opérande est un élément de la mémoire concerné par lexécution dune instruction donnée. On distingue 3 principaux types dinstruction : sans opérandes monadiques (un opérande) dyadiques (deux opérandes) Un code est associé à chaque instruction dun programme (code-instruction). En général on a : code opérationopérande 1opérande 2

187 IUT Informatique Calais Architecture des ordinateurs187 Définition : Un mnémonique est une abréviation permettant de se rappeler du code et de la fonction dune instruction. Le langage assembleur est directement basé sur ces mnémoniques. Définition : Un programme est une liste de codes-instructions implantés en mémoire et permettant de résoudre un problème prédéterminé.

188 IUT Informatique Calais Architecture des ordinateurs Réalisation d'une unité de commande UC micro-programmée Les différentes phases (chargement, exécution...) correspondent à des micro-opérations déclenchées pour exécuter l'instruction. code-instructionséquence de micro-opérations déclenche Idée : mémoire non-volatile (nanomémoire) code-instructionadresse séquence de micro-opérations décodage Avantages : changer le micro-programme = changer les possibilités du microprocesseur ajout, correction, custom-design facile (pas de modification des circuits) Inconvénients : nécessite un séquenceur de micro-inst. + accès mémoire : ralentissement

189 IUT Informatique Calais Architecture des ordinateurs UC câblée L'UC est entièrement réalisée sous forme d'un seul circuit logique séquentiel. Avantages : + rapide que l'UC micro-programmée + simple à réaliser et moins de place sur la puce SI jeu d'instruction pas trop important Inconvénients : circuit rapidement complexe quand le jeu d'instruction augmente ajout, modification, suppression d'une instruction : modification complète du circuit logique

190 IUT Informatique Calais Architecture des ordinateurs190 UC micro-programmée lente évolutive jeu d'instructions important pas (trop) de problème de réalisation UC câblée rapide non évolutive jeu d'instruction réduit sinon réalisation = usine à gaz micro-processeurs lents disposant d'un jeu d'instruction complet contenant éventuellement des instructions complexes processeurs CISC Complex Instruction Set Computer micro-processeurs (très) rapides disposant d'un jeu d'instruction réduit contenant des instructions simples et peu nombreuses processeurs RISC Reduced Instruction Set Computer

191 IUT Informatique Calais Architecture des ordinateurs191 micro-noyau RISC : très compact, très performant, stable dans le temps + unité de contrôle micro-programmée utilisant non pas la nanomémoire, mais le(s) micro-noyau(x) cette solution cumule les avantages sans (trop de) perte de vitesse d'horloge Les processeurs construits par Intel et AMD utilisent un compromis décodeur d'instructions code opérationopérande 1opérande 2 séquenceur cablé, µprogrammé ou hybride Microcommandes : UAL, verrous, cellules de commutation Registre instruction horloge externe schéma de principe d'une UC simple :

192 IUT Informatique Calais Architecture des ordinateurs Rôle de l'UC / échanges sur un bus Communication sur un bus : 1 seul émetteur et 1 seul récepteur connectés Les autres composants ne doivent pas accéder au bus. l'UC bloque l'accès au bus aux composants non concernés à l'aide de verrous... mais composants internes ET externes l'UC agit sur des verrous externes au travers de l'unité E/S donc l'UC pilote à la fois l'accès aux bus internes au microprocesseur mais également aux bus externes

193 IUT Informatique Calais Architecture des ordinateurs Critères de puissance d'un microprocesseur vitesses d'horloge interne et externe (sur les bus externes) largeur du bus de donnée : taille des mots manipulés en une instruction largeur du bus d'adresse : taille de la mémoire gérée nombre de registres et de mémoires internes (caches, buffers,...) qui réduisent le nombre d'accès en mémoire centrale nombre d'instructions et complexité du jeu d'instructions nombre de microcommandes exécutées en séquence : + il y en a + il faut de cycles pour exécuter une instruction, mais une UC simple supporte une fréquence rapide donc compromis. nombre de microcommandes déclenchées en parallèle : duplication d'unités fonctionnelles pouvant travailler en même temps... + complexe mais + performant...

194 IUT Informatique Calais Architecture des ordinateurs194 6 La mémoire 6.1 Définitions La mémoire centrale est un ensemble de registres dotés d'une structure d'accès permettant l'échange entre les registres et les organes extérieurs. La capacité d'une mémoire est le nombre de bits que l'on peut mémoriser dans cette mémoire. Le temps d'accès mémoire est le délai qui s'écoule entre une requête de lecture et la disponibilité de l'information correspondante. On appelle emplacement accessible E i (ou zone de stockage accessible) l'emplacement unique sur lequel une opération de lecture ou d'écriture est possible à l'instant t.

195 IUT Informatique Calais Architecture des ordinateurs Types de mémoire Un premier mode de classification des mémoires peut se faire selon la structure d'accès dont elles sont dotées. Il existe 3 familles de structures : mémoires séquentielles (ruban perforé, bande magnétique,...) mémoires adressables (mémoire centrale,...) mémoires associatives (sélection par le contenu / prédicat,...)

196 IUT Informatique Calais Architecture des ordinateurs Mémoires séquentielles Définition : Une mémoire séquentielle est une mémoire telle que si l'accès à l'instant t à porté sur l'emplacement E i alors l'accès à l'instant t+1 porte obligatoirement sur l'emplacement E i+1 ou E i-1 (notion d'accès séquentiel). Définition : Une pile est une mémoire séquentielle dont les déplacements (E i E i+1 ou E i E i-1 ) sont liés respectivement à la commande d'écriture ou de lecture. écrire (empiler) EiEi occupé vide E i E i+1 écrire dans E i+1 lire (dépiler) EiEi occupé vide E i E i-1 lire dans E i

197 IUT Informatique Calais Architecture des ordinateurs197 Application au microprocesseur : Le microprocesseur utilise une pile pour mémoriser les adresses de retour lors dappels à des sous-programmes ou à des routines dinterruption. vide occupé sommet de pile fond de pile

198 IUT Informatique Calais Architecture des ordinateurs Mémoires adressables Définition : Une mémoire adressable (appelée également à accès direct, à accès aléatoire - RAM, ou à accès sélectif) est un ensemble de zones de stockage complété par un mécanisme de sélection capable détablir laccès sur chacune delles en un temps indépendant de la position. laccès nécessite de désigner la position sélectionné par une adresse le microprocesseur agit sur le contenu de la mémoire par 2 opérations : écriture en mémoire : transfère un mot binaire dans un mot mémoire dadresse i. La valeur précédemment stockée à ladresse i est perdue, « écrasée » par la nouvelle valeur lecture en mémoire : délivre une copie du mot binaire stocké à ladresse i. La lecture ne modifie pas la valeur du mot en mémoire.

199 IUT Informatique Calais Architecture des ordinateurs199 ROM / RAM : ROM (Read Only Memory) ou MEM (Mémoire Morte) : mémoire à lecture seule RAM (Random Access Memory) ou MEV (Mémoire Vive) : mémoire à accès aléatoire (lecture / écriture) Les mémoire RAM sont dites « volatiles » car linformation stockée disparaît lorsque lon coupe lalimentation. On peut également distinguer : UVPROM, EEPROM : programmable par lutilisateur PROM à fusibles / jonctions : programmable une seule fois RAM série : à accès série RAM statique / dynamique : selon le type de rafraîchissement ROM + masque : programmable en usine …

200 IUT Informatique Calais Architecture des ordinateurs200 Familles et sous-familles de mémoires adressables : Principales mémoires adressables Mémoires mortes Mémoires vives ROM masquePROM utilisateurRAM statiques RAM dynamiques Associatives (caches) PROM fusiblesEPROM ou PROM effaçable OTPROM ou EPROM programmable une fois UVPROM ou PROM effaçable aux UV EEPROM ou PROM effaçable électriquement par octet EEPROM flash effaçable électriquement par bloc

201 IUT Informatique Calais Architecture des ordinateurs201 Espace d'adressage : la taille des mots binaires représentant les adresses limite le nombre de mots auxquels le microprocesseur peut accéder. Si les adresses sont codées sur m bits alors "l'espace d'adressage" est de 2 m mots-mémoire dans cet espace d'adressage il faut prévoir non seulement l'accès à la RAM, mais aussi à la ROM et aux E/S exemple : espace d'adressage d'une RAM de M mots, d'une ROM de N mots et d'un espace mémoire réservé aux entrées sorties mot 0 mot 1... mot M-1 mot M mot M+N M-1 M M+N-1 M+N... 2 m -1 adresses RAM ROM E/S

202 IUT Informatique Calais Architecture des ordinateurs202 il existe deux méthodes principales pour désigner une adresse : linéaire : mots numérotés de 0 à 2 m -1 segmentée : adresse = pour réaliser cet espace d'adressage il est nécessaire d'utiliser tout un ensemble de circuits déjà étudiés : décodeurs multiplexeurs démultiplexeurs...

203 IUT Informatique Calais Architecture des ordinateurs203 Aspect matériel : le temps daccès à ces mémoires varie de quelques nanosecondes à quelques dizaines de nanosecondes la mémoire se présente sous forme de boîtiers de différentes capacités et adressant une certaine taille de mots (1K mots de 1 bit, 256K mots de 8 bits, 1M mots de 32 bits, …) chaque boîtier dispose (en général) des broches suivantes : une broche de sélection : CS (chip select) une broche de lecture/écriture : R/W (read/write) pour les RAM broches d 0, …, d 7, … pour les données broches a 0, …, a 7, … pour les adresses éventuellement une broche OE (output enable) de connexion (logique 3 états) des sorties vers lextérieur (bus de donnée) 2 broches pour lalimentation électrique

204 IUT Informatique Calais Architecture des ordinateurs Mémoires associatives : la mémoire cache est une mémoire associative présente dans tous les ordinateurs personnels qui a pour but daccélérer laccès aux données (pour tout type de mémoire) son principe repose sur un certain nombre de remarques : 1. Les accès mémoire freinent les microprocesseurs : pendant le temps que dure un accès en lecture à la mémoire centrale, celui-ci pourrait exécuter plusieurs instructions 2. Le temps d'accès à la mémoire est fonction de sa technologie et de sa capacité (à cause du décodage des adresses) 3. Le coût de la mémoire est inversement corrélé à sa vitesse 4. Pendant l'exécution d'un programme, de nombreux accès mémoire concernent un petit nombre d'adresses, au moins pendant un certain temps (variables, boucles,...)

205 IUT Informatique Calais Architecture des ordinateurs205 Idée de la mémoire cache : si l'on arrive à accélérer l'accès à ses quelques adresses utilisées de manière répétitive on va du même coup accélérer l'exécution du programme puisqu'il n'y a que quelques adresses concernées, on peut utiliser une mémoire de faible capacité mais à faible temps d'accès pour les stocker. Même si le coût de ce type de mémoire est élevé, si on l'utilise en petite quantité, le coût de la machine va augmenter peu mais le rapport efficacité/prix va lui augmenter fortement important : à ces mémoires caches sont associés des algorithmes chargés de gérer son contenu de manière efficace hiérarchie des mémoires rencontrées dans un ordinateur : Type registre cache primaire secondaire O(capacité) Octets Ko/Mo Mo/Go Go/To O(temps d'accès) en ns 1 <

206 IUT Informatique Calais Architecture des ordinateurs RAM dynamique et RAM statique Définition : Une RAM est dite statique (SRAM) si linformation est conservée en labsence de signaux de commandes. Définition : Une RAM est dite dynamique (DRAM) si linformation ne peut être conservée que par lapplication répétée de signaux de commande (rafraîchissement de la mémoire) la cellule élémentaire dune SRAM est constituée de 4 transistor MOS formant une sorte de bascule RS (différente de la bascule D) la cellule élémentaire dune DRAM est constituée dun seul transistor MOS jouant le rôle de condensateur : la donnée est stockée sous forme de charge dans une capacité. Mais le courant de fuite entraîne la nécessité de recharger le condensateur : rafraîchissement (toutes les 2-4 ms)

207 IUT Informatique Calais Architecture des ordinateurs207 Avantages des SRAMAvantages des DRAM très rapide très dense faible consommationmoins chère moins sensible aux bruits et radiationscapacités élevées Dynamique ou statique ? Mémoires caches : SRAM Mémoires centrales : DRAM SDRAM ? Synchronous DRAM

208 IUT Informatique Calais Architecture des ordinateurs Caractéristiques des mémoires RAM actuelles Particularités DDR SDRAM (Double Data Rate SDRAM) utilisation des 2 fronts pour transférer les données DDRII SDRAM fréquence accrue + plus faible consommation QBM (Quad Band Memory) utilisation de 2 canaux de 64 bits alternativement RDRAM (Rambus DRAM) concept de mémoire série à 1 ou plusieurs canaux + fréquence élevée QDR SDRAM (Quad Data Rate SDRAM) transfert 2 ou 4 mots en 1 cycle + lectures et écritures simultanées possible QDRII SDRAM fréquences accrues

209 IUT Informatique Calais Architecture des ordinateurs Performances théoriques SDRAM SDRAM PC133 DDR SDRAM PC2100 DDR SDRAM PC4000 RDRAM 4 canaux PC800 RDRAM 4 canaux PC1066 QDR SDRAM Largeur bus données x64 Fréquence en MHz Débit en Mo/s

210 IUT Informatique Calais Architecture des ordinateurs Supports physiques barette SIMM 32 bits (Single Inline Memory Module) détrompeur 72 broches – FPM, FPM EDO

211 IUT Informatique Calais Architecture des ordinateurs211 barette DIMM 64 bits (Double Inline Memory Module) 168 broches - SDRAM 184 broches – DDR-SDRAM, DDRII-SDRAM, QDR-SDRAM 208 broches - QBM détrompeurs

212 IUT Informatique Calais Architecture des ordinateurs212 barette RDRAM 16 bits (Rambus DRAM) 184 broches détrompeurs

213 IUT Informatique Calais Architecture des ordinateurs213 7 Architecture d'un processeur simple : la petite machine 7.1 Positionnement du problème Pour réaliser ce processeur, il faut définir : la nature des traitements qu'il sera capable d'effectuer la taille et/ou le format des opérandes la capacité de transfert de données avec l'extérieur Ces 3 points aboutissent à l'établissement du jeu d'instruction du processeur de la structure matérielle de la partie opérative de la structure matérielle de dialogue avec les circuits extérieurs

214 IUT Informatique Calais Architecture des ordinateurs214 Le processeur est constitué de deux ensembles : la partie opérative la partie contrôle (séquenceur) séquenceur unité de traitement unité de gestion de la mémoire RI PROCESSEUR Partie contrôle Partie opérative Structures d'échange (BUS)

215 IUT Informatique Calais Architecture des ordinateurs Jeu d'instruction Modes d'adressage mnémonique traitement à effectuer, mais il faut préciser quel est le type des données (valeurs, adresses, registres...) il faut préciser "quoi" (traitement) et "où" (mode d'adressage) exemple : transfert d'un mot mémoire (MOVE) 1. Charger le registre R1 avec la valeur 05 MOVE #05, R1R Charger la case mémoire d'adresse (8000) 16 avec le contenu de R2 MOVE R2, $8000M[8000](R2) 3. Additionner la valeur 05 au contenu de R1, le résultat est dans R1 ADD #05, R1R1(R1) + 05 instruction : ensemble de µcommandes dépendant du mode d'adressage

216 IUT Informatique Calais Architecture des ordinateurs216 les traitements et les modes d'adressages sont liés à la structure matérielle du processeur (possibilités de l'UAL, nombre et taille des registres,...) microprocesseurs 8 bits : destination généralement incluse dans le mnémonique (ex : ADDA #05) microprocesseurs modernes : nombreux modes d'adressage dont adressage registre : le registre adressé est précisé dans l'instruction ex : mise à zéro du registre R1, CLR1R10 adressage immédiat : l'opérande est inclus dans l'instruction ex : addition de la valeur 34 avec R2 ADD #34, R2 R2 (R2) + 34 adressage direct : l'adresse de l'opérande est inclus dans l'instruction ex : transfert du contenu de la mémoire à l'adresse (87FF) 16 dans R1 MOVE $87FF, R1 R1 (M[87FF])

217 IUT Informatique Calais Architecture des ordinateurs217 adressages composés : l'adresse effective de l'opérande est obtenue par un calcul, généralement de type base + déplacement, où la base est le contenu d'un registre Jeu d'instruction de la petite machine Celui-ci est volontairement réduit dans un but de simplicité, il comprend un total de 19 instructions (seul le registre A est utilisable pour les calculs) 5 instructions de calcul ADD : addition du registre A avec un opérande SUB : soustraction de A avec un opérande AND : et bit à bit de A avec un opérande adressage indirect : le contenu d'un registre ou d'un mot mémoire représente l'adresse de l'opérande ex 1 : MOVE R1, *R2M[R2] (R1) ex 2 : MOVE *$7AF2, R1R1(M[M[7AF2]])

218 IUT Informatique Calais Architecture des ordinateurs218 OR : ou bit à bit de A avec un opérande EOR : ou exclusif bit à bit de A avec un opérande 4 instructions de transfert : LD : chargement de A avec un opérande ST : stockage du contenu de A en mémoire PUSHA : empilement du contenu de A POPA : dépilement de A 5 instructions de rupture de séquence : BRA : saut inconditionnel à une adresse donnée BSZ : saut si résultat nul BSC : saut si retenue BSV : saut si dépassement de capacité BSN : saut si résultat négatif

219 IUT Informatique Calais Architecture des ordinateurs219 5 instructions de haut niveau : CALL : branchement à un sous-programme RET : retour d'un sous-programme ENTER : gestion des paramètres et des variables locales LEAVE : libère les paramètres et les variables locales END : termine le programme Le processeur dispose de 4 modes d'adressage : mode implicite : pas d'opérande (ex : END) mode immédiat : symbole # devant l'opérande (ex : ADD #$05) mode direct : aucun symbole devant l'opérande (ex : ADD $05) mode basé indexé : noté [RX + $dd] (ex : ADD [RX + $05]) Les instructions ont toutes un opérande au plus noté $n ($ pour hexa)

220 IUT Informatique Calais Architecture des ordinateurs220 Les instructions, les opérandes et les adresses : 8 bits Les transferts processeur / mémoire : bus de 8 bits Remarque : une adresse de 8 bits ne code que 256 mots mémoire ! Structure des instructions : codées sur 2 octets : le premier contient le code opération ET le mode d'adressage (destiné à RI) le second précise, selon le mode d'adressage, une valeur, une adresse (destinée à TA) ou un index (pour faire RX+...) adresses i-2 i i+2 i-1 i+1 i+3 code op. opérandeune instruction 1 mot mémoire = 1 octet

221 IUT Informatique Calais Architecture des ordinateurs221 Les instructions sont classées en 4 groupes fonctionnels : instructions de calcul selon le mode : immédiat :ADD #$ddAA + dd direct :ADD $ddAA + M[dd] basé-indexé : ADD [RX+$dd]AA + M[(RX)+dd] les instructions de haut niveau et la gestion de la pile sont détaillées plus loin instructions de transfert selon le mode : immédiat :LD #$ddAdd direct :LD $ddAM[dd] basé-indexé : LD [RX+$dd]AM[(RX)+dd] ST n'a pas de mode immédiat !ST #$dd instructions de branchement (séquencement) selon le mode : immédiat :BRA #$ddCP dd direct :BRA $ddCP M[dd] basé-indexé : BRA [RX+$dd]CP M[(RX)+dd]

222 IUT Informatique Calais Architecture des ordinateurs Codage des instructions Le premier octet d'une instruction peut être divisé en 2 champs : champ opération INST champ d'adressage INST instructiongroupe

223 IUT Informatique Calais Architecture des ordinateurs instructiongroupe mode dadressage Bits 7 et 0 :00mode immédiat 01mode direct 10mode basé indexé 11mode implicite Bits 2 et 1 :00instruction de haut niveau 01instruction de calcul 10instruction de transfert 11instruction de rupture de séquence

224 IUT Informatique Calais Architecture des ordinateurs224 Bits 6 à 3 :0001ADD 0010SUB 0100AND 1000OR 0011EOR 0001LD 0010ST 0100PUSHA 1000POPA 0001BRA 0010BSC 0100BSZ 1000BSV 0011BSN 0001CALL 0010RET 0100ENTER 1000LEAVE 0011END

225 IUT Informatique Calais Architecture des ordinateurs225 Exemple : ADD #$05 adressage immédiat : bits 7 et 0 : 00 instruction de calcul : bits 2 et 1 : 01 addition : bits 6 à 3 : instructiongroupe mode dadressage Codage final :0A 05

226 IUT Informatique Calais Architecture des ordinateurs226 Exemple : BRA [RX+$2A] adressage basé-indexé : bits 7 et 0 : 10 instruction de rupture de séquence : bits 2 et 1 : 11 saut inconditionnel : bits 6 à 3 : instructiongroupe mode dadressage Codage final :8E 2A

227 IUT Informatique Calais Architecture des ordinateurs227

228 IUT Informatique Calais Architecture des ordinateurs Programmation de la petite machine Saisie et exécution dun programme simple Additionner les nombres 21 et 13 et mettre le résultat à ladresse $80. LD #$15chargement de 21 dans A ADD #$0Dadditionner 13 au registre A ST $80stocker A à ladresse $80 ENDfin du programme Effectuer lopération ( ) OU (24 – 14) et stocker le résultat à ladresse $80 … Présentation de la petite machine à laide du logiciel …

229 IUT Informatique Calais Architecture des ordinateurs Test si condition alors action 1 sinon action 2 fin si 10 :BS[C,N,V,Z] #$30 12…26 :action 2 28 : BRA #$46 30…44 :action 1 46 :… suite du programme Comparer les nombres 38 et 69 et mettre le plus grand à ladresse $80 … Codage Les nombres sont codés en complément à 2 sur 8bits donc de -128 à 127 : $00=0, $01=1, …, $7F=127, $80=-128, $81=-127, …, $FE=-2, $FF=

230 IUT Informatique Calais Architecture des ordinateurs Boucle faire action tant que condition 10…2A:action 2C : BS[C,N,V,Z] #$10 2E :… suite du programme Mettre 0 à ladresse $80, 16 à ladresse $81 et 3 à ladresse $82. tant que M[$81] > 0 faire M[$80] = M[$80] + 1 M[$81] = M[$81] - M[$82] fin tant que D'autre boucle peuvent être réalisée : tant que... faire (exemple ci-dessous), pour i de x à y faire (TD-TP).

231 IUT Informatique Calais Architecture des ordinateurs Notations à utiliser en TD et DS Nombres en hexadécimal ($dd) et codés en complément à 2 Utilisation détiquettes au lieu dadresses pour les sauts. Les étiquettes sont définies en début de ligne (finsi :, sizéro :, …) Des variables sont utilisées au lieu de leurs adresses (i=$81, ADD i, …) Variables :x = $81(variable x lue et stockée à ladresse $81) res = $80(variable res lue et stockée à ladresse $80) Programme :LD #$06(# : mode immédiat donc registre A = 6) ADD #$12(# : mode immédiat donc registre A + 18) ST x(x=6+18) LD #$18 (# : mode immédiat donc registre A = 24) SUB x(mode direct donc registre A = A – x) BSZ sizéro(saut à létiquette sizéro si le résultat est 0) LD #$01 ST res BRA finsi (saut inconditionnel à létiquette finsi) sizéro :LD #$FF ST res finsi :END

232 IUT Informatique Calais Architecture des ordinateurs Appel à un sous-programme Utilisation des instructions de haut niveau CALL, RET, ENTER et LEAVE CALL permet d'appeler un sous-programme (selon le mode) : immédiat : CALL #$ddappelle le sous-programme se trouvant à l'adresse dd direct :CALL $dd... à l'adresse M[dd] basé-indexé :CALL [RX+$dd]... à l'adresse M[(RX)+dd] RET permet de revenir au programme appelant lorsque le sous- programme est terminé : mode implicite :RET

233 IUT Informatique Calais Architecture des ordinateurs ECALL #$42 Exemple : ADD #$ ARET 5C… CP = =2 CP = CP+1+1= … CP = CP+1+1= 30 CP = =44 CP = CP+1+1= 46 CP = CP+1+1= … CP = CP+1+1= 5C CP = 30 Problème : comment se rappeler que cest à ladresse 30 quil faut revenir ?

234 IUT Informatique Calais Architecture des ordinateurs234 Gestion de ladresse de retour : utilisation dune pile (pointée par SP) Lorsque linstruction CALL est appelée, ladresse de retour est empilée. CALL #$dd:M[SP]CP SPSP-1 CPdd À la fin du sous-programme, lorsque RET est appelé, ladresse est récupérée sur la pile RET:SPSP+1 CPM[SP] Lutilisation de la pile permet limbrication de plusieurs appels à des sous-programmes Visualisation des appels avec la petite machine … empiler $30 saut à $42 dépiler $30 dans CP donc saut à $30

235 IUT Informatique Calais Architecture des ordinateurs Passage de paramètres et variables locales à un sous-programme Les paramètres sont passés aux sous-programmes en les mettant sur la pile De même les variables locales sont allouées aux sous-programmes en les mettant sur la pile Laccès aux paramètres et aux variables locales dune fonction se fait impérativement en utilisant le mode basé-indexé ([RX+dd]) : RX indique lendroit sur la pile correspondant au sous-programme en cours Les paramètres sont empilés avant lappel au sous-programme à laide de linstruction PUSHA et dépilés après lappel à laide de linstruction POPA Exemple :00LD #$42 02PUSHA 04LD #$A5 06PUSHA 08CALL #$16 0AST $80 0CPOPA 0EPOPA variable res=$80 étiquette f à ladresse $16 res:=f(66,165)

236 IUT Informatique Calais Architecture des ordinateurs236 Les variables locales sont allouées à laide de linstruction ENTER : ENTER est la première instruction dun sous-programme et permet de choisir le nombre de variables locales. Le registre RX est la base du mode basé-indexé : comme les variables locales et les paramètres sont sur la pile, RX doit contenir le sommet de la pile pour y accéder en mode basé-indexé mode implicite : ENTER #$ddM[SP]RX (dd indique le nombre deSPSP – 1 variables locales désirées)RXSP SPSP - dd Les variables locales sont libérées (enlevées de la pile) et lancien contenu de RX (avant lappel) récupéré à laide de linstruction LEAVE : mode implicite : LEAVESPRX SPSP + 1 RXM[SP] : RX=sommet de pile : réserver dd cases sur la pile récupérer ancien som. de pile empiler RX courant dépiler RX pour récupérer son ancienne valeur

237 IUT Informatique Calais Architecture des ordinateurs237 État de la pile suite à un appel à un sous-programme ayant deux paramètres et deux variables locales : variable locale 2 variable locale 1 RX CP (adresse de retour) paramètre 2 paramètre 1 Pile adresses croissantes SP RX (base du mode basé-indexé) RX + 3 Y X 00 0A A5 42 FA FB FC FD FE FF

238 IUT Informatique Calais Architecture des ordinateurs238 Dans un sous-programmes les paramètres sont toujours accessibles aux adresses [RX+3] et suivantes : [RX+3]dernier paramètre empilé [RX+4]avant dernier paramètre empilé [RX+5]… Exemple : appel à un sous-programme exécutant la somme de 2 nombres puis leur différence et retournant le plus grand des deux résultats. Le résultat final sera stocké à ladresse 80. Si le sous-programme est une fonction, on supposera que le résultat est stocké dans A avant de retourner au programme appelant Dans un sous-programmes les variables locales sont toujours accessibles aux adresses RX et précédentes : [RX+0]variable 1 [RX-1]variable 2 (attention [RX+FF] en C2) [RX-2]…

239 IUT Informatique Calais Architecture des ordinateurs Récursivité Un sous-programme récursif est un sous-programme qui s'appelle lui- même. Exemple : une suite d'entiers naturels fonction suite (entier n) : entier début si (n=0) alors retourner (1) sinon retourner (suite(n-1) + 3) fin si fin

240 IUT Informatique Calais Architecture des ordinateurs240 Pour utiliser la récursivité avec la petite machine il suffit, à l'intérieur du sous-programme, de l'appeler lui-même en faisant un CALL sur sa propre adresse de début de sous-programme : ENTER...(début du sous-programme) CALL #$12(appel récursif) ALEAVE 3CRET(fin du sous-programme retour au programme appelant) Vérifiez toujours le cas d'arrêt de votre sous-programme récursif ATTENTION : sauvegardez toujours votre programme avant de l'exécuter car si la récursivité est trop longue ou ne s'arrête pas, la pile déborde et écrase toute le mémoire !

241 IUT Informatique Calais Architecture des ordinateurs Organisation matérielle Structure de la partie opérative La partie opérative du processeur est divisée en 2 sous-ensembles : séquenceur unité de traitement unité de gestion de la mémoire RI Partie opérative PROCESSEUR

242 IUT Informatique Calais Architecture des ordinateurs L'unité de traitement C'est une UAL associée à plusieurs registres stockant les opérandes les résultats (intermédiaire, final) les indicateurs (flags) regroupés dans un registre d'état fonctionnement de cet ensemble : signaux de commandes lecture/écriture des registres codes opérations de l'UAL Plusieurs solutions possible pour réaliser cet unité de traitement La petite machine : structure à registre "accumulateur" et bus interne (architecture proposée par Von Neumann)

243 IUT Informatique Calais Architecture des ordinateurs243 Connexion d'un registre à un bus : Commande C R active : E R : R (bus) L R : bus (R) Commande C R inactive : R isolé du bus R ERER équivalent à : LRLR Commande E R active : R(bus) Commande L R active : bus (R) R CRCR ERER LRLR

244 IUT Informatique Calais Architecture des ordinateurs244 Schéma de l'unité de traitement de la petite machine : A SELA LA Lβ EAC CZ NV UALUAL opération bus de données indicateur d'état unité de contrôle SELALALβEAC

245 IUT Informatique Calais Architecture des ordinateurs L'unité de gestion des adresses TATA ETA 8 bus de données Gestion des modes implicite, immédiat et direct : CPCP SELCP LCP SCP CLRCP INCCP SELTA LTA ED SAD extérieur du CPU intérieur du CPU 8 bus d' adresses

246 IUT Informatique Calais Architecture des ordinateurs246 Gestion du mode basé-indexé : RXRX SELEX LEX Lδ ADDADD SELRX LRX R EAD EAR Lα 8 bus de données extérieur du CPU 8 bus d' adresses

247 IUT Informatique Calais Architecture des ordinateurs247 Gestion de la pile : SPSP SELSP LSP INCSP DECSP SETSP

248 IUT Informatique Calais Architecture des ordinateurs Structure de la partie contrôle La partie contrôle comprend le séquenceur et le registre d'instruction RI contient le code de l'instruction en cours d'exécution séquenceur unité de traitement unité de gestion de la mémoire RI PROCESSEUR Partie contrôle

249 IUT Informatique Calais Architecture des ordinateurs Limites de la petite machine Elle ne dispose que d'un registre utilisateur : A toutes les opérations passent par ce registre de nombreuses opérations de transfert supplémentaires nécessaires Les opérations de l'UAL sont limitées pas de multiplication / division pas de gestion des nombres réels travail sur des données de 8 bits Le séquenceur : il active les microcommandes au rythme de l'horloge interne il se réfère au cycle de Von Neumann définit dans le chapitre précédent

250 IUT Informatique Calais Architecture des ordinateurs250 variable i (dadresse 3) contenant ladresse de la variable j (dadresse 7) contenant la valeur 2C Mais la principale limite est le mode indirect qui n'est pas géré : Mode immédiat : ADD #$03A A C A mémoire Mode direct : ADD $03A A + M[03] exemple :A A + 07 Le mode direct permet de gérer des variables Mode indirect : ADD *$03A A + M[M[03]] exemple : A A + M[07] :A A + 2C La variable se trouvant à l'adresse 03 contient une adresse : cette variable est un pointeur valeur 3 utilisée par linstruction variable i (dadresse 3) contenant la valeur 7 i j

251 IUT Informatique Calais Architecture des ordinateurs251 Utilité du mode indirect : permet d'effectuer des calculs sur des adresses mémoire, c'est à dire des pointeurs grâce au mode indirect il devient possible de gérer des tableaux, des listes chaînées … exemple : additionner les nombres d'un tableau de 10 entiers situés entre les adresses $81 et $8A (le résultat est stocké à l'adresse $8B) somme = 0 pour i de 1 à 10 faire somme = somme + tab[i] fin pour 00 LD #$0012 LD *$78 02 ST $8B14 ADD $8B 04 LD #$0A16 ST $8B 06 ST $7918 LD $79 08 ADD #$00 1A SUB #$01 0A BSZ #$20 1C ST $79 0C LD #$80 1E BRA #$0A 0E ADD $7920 END 10 ST $78 3 variables : $8B = somme $79 = compteur (i) $78 = adresse de l'élément de tab

252 IUT Informatique Calais Architecture des ordinateurs Conclusion Ce chapitre vous a décrit le fonctionnement complet d'un processeur : organisation interne des circuits (registres, bus, UAL,...) pilotage du processeur par le séquenceur (association de chaque instruction à un cycle de microcommandes) définition et utilisation des instructions dans différents programmes en langage machine (codes) et assembleur (mnémoniques) fonctionnement au niveau le plus proche du processeur des concepts de base de la programmation : test, boucle, sous- programme, passage de paramètres, variables locales, pile d'exécution, pointeurs

253 IUT Informatique Calais Architecture des ordinateurs253 8 Évolution des microprocesseurs 8.1 Introduction Dans ce chapitre l'évolution des microprocesseurs va être examinée au travers de l'évolution de leur fabrication, de leur différents composants interne et de leur organisation Plusieurs exemples seront donnés en prenant comme référence les microprocesseurs les plus répandus dans le domaine des compatibles PC

254 IUT Informatique Calais Architecture des ordinateurs Intégration des transistors Loi de Moore : loi empirique énoncée par Gordon Moore (co-fondateur d'Intel) en 1965 qui prédit que le nombre de transistors intégrés sur une surface donnée double tous les 18 mois.

255 IUT Informatique Calais Architecture des ordinateurs255 Le niveau d'intégration est dépendant de la taille de gravure du silicium Pentium II, K6-II, K6-III, Athlon (Pluto)0,25µm Pentium III, Pentium 4 (Willamette), Athlon (Orion), MIII0,18µm P4 (Northwood), Athlon, Athlon64 (Newcastle, Clawhammer)0,13µm P4 (Prescott, Smithfield), Athlon64 (Winchester, San Diego)0,09µm = 90nm P4 (Cedar Mill, Presler), Core 2 duo (Conroe) et quadro (Kentsfield)65nm nm nm nm Mais la finesse de gravure est limitée par la technologie actuelle (type de laser), aussi la loi de Moore risque un jour de ne plus être valable... Pourquoi graver plus finement ? Diminuer la chaleur dissipée Augmenter la fréquence de fonctionnement

256 IUT Informatique Calais Architecture des ordinateurs Registres internes Taille des registres Elle correspond à la taille des mots traités par le microprocesseur La taille de mots standards traités définit le type de processeur du 8086 au : microprocesseurs 16 bits du 80386DX au Pentium 4, Athlon XP : microprocesseurs 32 bits Athlon64, P4 EM64T, Core 2 duo et quadro : µp 64 bits Pour des calculs précis en flottants 32 bits est un minimum Microprocesseur taille dun mot EntiersPréc. Réels 8086 au à , DX au P4, Athlon à 2, Athlon64, P4 EM64T, Core 264-9, à 5,

257 IUT Informatique Calais Architecture des ordinateurs257 Les processeurs n'ayant pas ces caractéristiques utilisaient des co- processeurs arithmétiques 40bits : 8087, 80187, 80287, 80387, Les processeurs actuels incluent des registres de taille supérieure à la taille des mots standard traitées (MMX, 3Dnow!, SSE, SSE2, SSE3, SSE4) Nombre de registres Le nombre de registres internes influence fortement les performances d'un microprocesseur car il réduit le nombre d'accès mémoire nécessaires au stockage des résultats intermédiaires lors de calculs complexes De plus les registres sont beaucoup plus rapides que les mémoires externes Les registres utilisable par le programmeur sont les : GPR (General Purpose Registers) – utilisation libre FPR (Floating Point Registers) – calcul en flottant instructions x87 registres SIMD – pour les instructions MMX, 3Dnow!, SSE, …

258 IUT Informatique Calais Architecture des ordinateurs au 80486SX : 8 GPRs 16bits + 8 FPRs 80bits si co-processeur x DX au Pentium MMX : 8 GPRs 32bits + 8 FPRs 80bits Pentium II au P4HT et Athlon XP : idem + 8 registres SSE 128bits Athlon64, P4 EM64T et Core 2 : instructions x87 (donc registres FPUs) appelées à disparaître gain de performance associé à un OS 64bits + programmation 64bits

259 IUT Informatique Calais Architecture des ordinateurs Bus Bus d'adresses L'augmentation de la largeur du bus d'adresse découle de la nécessité de traiter de plus en plus d'information et donc de disposer de plus en plus de mémoire : Microprocesseurs LargeurEspace d'adr. Mémoire adr , 80486, Pentium, Athlon32bits4Gmots4Go Pentium pro, PII, PIII, P436bits68Gmots64Go Itanium44bits17Tmots16To Athlon64, P4 EM64T, Core 264bits Tmots256To, 1To

260 IUT Informatique Calais Architecture des ordinateurs Bus de données (ou bus frontal – FSB : Front Side Bus) Permet de véhiculer les données, sa taille est égale ou supérieure à la taille des mots standard du µp selon les composants reliés Fréquence de fonctionnement : pendant longtemps = fréquence carte mère augmentation avec les mémoires et périphériques de + en + rapides 1999 : Athlon – bus EBV6 = DDR (Double Data Rate) fréquence CM inchangée mais fréquence FSB doublée 2000 : P4 – Netburst = QDR (Quad Data Rate) fréquence CM inchangée mais fréquence FSB quadruplée 2003 : Athlon64 – Hypertransport : 2 communications uni-directionnelles point à point à largeur variable + contrôleur mémoire dans le µp

261 IUT Informatique Calais Architecture des ordinateurs261 ProcesseurAnnée bus de données Fréquences de fonctionnement Intel bits 4,77 puis 10 MHz Intel , 12 et jusque 20 MHz Intel 386DX bits 16, 33 et jusque 40 Mhz Intel à 50 MHz Intel Pentium bits MHz Intel Pentium II – Mhz AMD K MHz AMD Athlon19992 x ( – 166) MHz Pentium 4, Core x ( – 200 – 266) MHz AMD Athlon x 200 Mhz

262 IUT Informatique Calais Architecture des ordinateurs Vitesse de lhorloge Le travail du microprocesseur est cadencé par le rythme de lhorloge de la carte mère auquel est appliqué un multiplicateur La fréquence ne donne quune idée très approximative de la vitesse de travail du µprocesseur à cause du nombre de µcycles/instr : Une instruction nécessitant 10 µcycles dhorloge (cycle élémentaire durant lequel une µinstruction est exécutée) avec un processeur cadencé à 2Ghz durera 10 x 0,5ns = 5ns Unités de mesure un peu plus fiable : MIPS, obtenu à partir du nombre de cycles moyen des instructions et de la fréquence, mais il nest pas comparable entre µp à jeu dinstructions complexes et réduits. MFLOPS, GFLOPS (millions ou milliards dopérations sur des réels effectuées par seconde) mais le nombre de cycles dattente pour accéder à la mémoire entre aussi en compte …

263 IUT Informatique Calais Architecture des ordinateurs263 µprocesseurMultiplicateurFréquence en Mhz Pentium1 à Mhz K62,5 à 5, Mhz Pentium II3,5 à Mhz Pentium III4 à Mhz Athlon5 à Mhz Pentium 413 à 261,3-3,8 GHz Athlon6410 à 132-2,6 GHz Pentium M10 à 161,5-2,13 GHz Core 26 à 111,6-2,93GHz

264 IUT Informatique Calais Architecture des ordinateurs Mémoires caches Permettent datténuer les cycles dattentes dus aux accès mémoire Différents niveaux de cache : niveau 1 (L1) : toujours interne au µp (même fréquence) niveaux 2 et 3 (L2, L3) : interne ou externe au µp (fréquence moindre) Un seul niveau de cache Une requête de lecture du µp entraîne 2 possibilités : 2) La donnée nest pas dans le cache : échec (cache miss) cache librecache plein 1) La donnée est dans le cache : succès (cache success)

265 IUT Informatique Calais Architecture des ordinateurs265 Pb : si les variables utilisées de manière répétitive ne tiennent pas dans le cache celui-ci ne sert à rien. Idée 1 : augmenter le cache de niveau 1 (cher) Idée 2 : inclure un deuxième niveau de cache utilisant une mémoire un peu moins rapide (donc moins cher) pour stocker temporairement les lignes effacées du cache de niveau 1 par lalgo LRU. différentes possibilités suite à une requête de lecture du µp : donnée dans L1 : L1 success donnée pas dans L1 mais dans L2 : L1 miss, L2 success donnée pas dans L1 ni L2 : L1 et L2 miss 2 modes de fonctionnement : inclusif et exclusif Lignes de cache entières manipulées : P4 : L1 64octets et L2 128octets par ligne Athlon 64 : L1 et L2 64 octets par ligne

266 IUT Informatique Calais Architecture des ordinateurs Deux niveaux de cache exclusifs Tant que L1 nest pas plein : fonctionnement du cache unique Quand L1 est plein, L2 entre en action : lalgo LRU (Last Recently Used) sélectionne une ligne de L1 qui est copiée dans L2 afin de libérer de la place pour la nouvelle donnée Quand L2 est plein, une de ses lignes choisie par lalgo LRU est effacée (sauf sil y a un niveau 3 – L3)

267 IUT Informatique Calais Architecture des ordinateurs267 L1 miss, L2 success : la ligne correspondante est déplacée dans L1 pour pouvoir être accessible rapidement par la suite (une ligne de L1 est donc déplacée dans L2 auparavant) Dans tous les cas les lignes de données de L1 et L2 sont différentes : caches exclusifs Taille totale de cache utile : capacité de L1 + capacité de L2 Pas de dépendance entre les tailles des caches (on peut avoir L1 > L2) Performances moyennes de L2 car copie de L1 vers L2 avant copie de L2 vers L1 difficile de gérer efficacement des niveaux de cache supplémentaires (multiples copie entre les niveaux)

268 IUT Informatique Calais Architecture des ordinateurs Deux niveaux de cache inclusifs Tant que L1 nest pas plein : si la donnée nest pas dans L1 alors lecture de la donnée en RAM et copie dans L1 ET L2 Quand L1 est plein, copie également dans L1 et L2 (une ligne de L1 est effaçée par LRU) Quand L2 est plein également, copie dans L1 et L2 (une ligne de L1 et de L2 sont effaçées par LRU)

269 IUT Informatique Calais Architecture des ordinateurs269 Dans tous les cas L1 L2 : caches inclusifs Permet déconomiser une écriture de L1 vers L2 en cas de L1 miss, L2 success par rapport aux caches exclusifs : L2 plus performant niveau de cache supplémentaires faciles à incorporer L2 > L1 impérativement et L2 >> L1 pour de bonnes performances Taille de cache utile : L1 + (L2 – L1) = L2seulement (car L1 L2 ) L1 miss, L2 success : la ligne correspondante est copiée de L2 dans L1 Choix de la ligne de L1 par LRU, mais non perdue car dans L2

270 IUT Informatique Calais Architecture des ordinateurs270 Caches exclusifsCaches inclusifs + pas de contrainte sur L2 + taille utile = L1 + L2 - contrainte sur L2 (L2 >> L1) - taille utile = L2 + performance L2 + niveaux de cache supplémentaires - performance L2 - niveaux de cache supplémentaires AMD : Athlon, Athlon64 grand L1, L2 moyen INTEL : Pentium 4, Core 2 petit L1, grand L2 ou L2 moy + L3 µpL1 inst+donnéesL2Fréq. L2L3 Pentium II16ko + 16ko512koFSB/ Pentium III16ko + 16ko256/512ko½ µp/ Pentium 412kµop + 8ko128 à 2048koµp2048ko (P4EE) Xeon12kµop + 8ko256 à 512koµp1024 à 6144ko Athlon64ko + 64ko256 à 512koµp/ Athlon6464ko + 64ko512 à 1024koµp/ Core 232ko + 32ko4096koµp/

271 IUT Informatique Calais Architecture des ordinateurs Pipeline Lidée du pipeline est de découper une opération en opérations élémentaires appelées étages, de façon à pouvoir traiter plusieurs opérations simultanément pipeline = principe de la chaîne de montage : la cadence de traitement des instructions est imposée par létage le plus lent Exemple : pipeline à 3 étages exécutiondécodagechargement instruction 1 instant t exécutiondécodage instruction 1 chargement instant t+1 exécution instruction 1 décodage instruction 2 chargement instruction 3 instant t+2 instruction 2

272 IUT Informatique Calais Architecture des ordinateurs272 Plus le nombre détage est grand, plus le débit des instructions est important (idée de base de larchitecture Netburst du Pentium 4) et plus la fréquence de fonctionnement peut être élevée Tant que les instructions se suivent, pas de problème, mais si un branchement (saut) est effectué dans le programme alors il faut vider le pipeline et recommencer doù utilisation de méthodes de prédiction de branchement µprocesseurÉtages du pipeline Pentium III10 Pentium 420 puis 31 (prescott) Pentium M12 Athlon11 Athlon (4 (entiers) / 9 (réels)) Core 214

273 IUT Informatique Calais Architecture des ordinateurs Parallélisme Multiplier le nombre dunités fonctionnelles pour effectuer plusieurs traitements simultanément Pentium 4Athlon64Pentium MCore 2 Lecture instr.4445 Décodage instr.3334 ALU (calcul entier) 2 doubles 1 simple 323 FPU (calcul réel) 1+1 (différentes)2+1 (diff.)2 SIMD (entier + réel) 1223 µp multi-cores = plusieurs µp dans une puce 2005 : 2 cores (Athlon64 X2, Pentium D) 2006 : 2 et 4 cores (Core 2 duo, Core 2 Quadro) + prototype Intel 80 cores de calcul 2007 : 4 cores (AMD)

274 IUT Informatique Calais Architecture des ordinateurs Complexité des processeurs actuels AMD Athlon64

275 IUT Informatique Calais Architecture des ordinateurs Intel Pentium 4

276 IUT Informatique Calais Architecture des ordinateurs Benchs de quelques µp grand public à l'aide de Spec-2000

277 IUT Informatique Calais Architecture des ordinateurs Benchs de quelques µp station de travail à l'aide de Spec-2000

278 IUT Informatique Calais Architecture des ordinateurs Références (en français) / arstechnica.com (en français) (en français)

279 IUT Informatique Calais Architecture des ordinateurs279 9 Les périphériques 9.1 Composants dun micro-ordinateur un ou plusieurs µp mémoire RAM mémoire ROM (bios) + RAM (cmos) circuits gérant les communications ensemble de bus horloges (bus, cpu) + temps réel (RTC) connecteurs (µp, mémoire, cartes …) ports dE/S (série, parallèle, USB, IR, …) périphériques internes (cartes, DD, …) périphériques externes (moniteur, clavier, souris, imprimante, scanner, …) carte mère + alimentation + boîtier = unité centrale (UC)

280 IUT Informatique Calais Architecture des ordinateurs Circuits dentrées/sorties et interfaces Définition dun périphérique : système matériel qui permet dintroduire (ou dextraire) des données dans (ou de) lordinateur Composition dun périphérique : partie « active » qui effectue les opérations (mémoriser des données, afficher, imprimer …) connexion qui relie la partie active à lordinateur (µp) via les bus et circuits dE/S Problèmes : périphériques conçus indépendamment des ordinateurs connecter le + de périphériques différents Standardisation et mise en forme des signaux de la partie active pour être compatible avec le bus de lordinateur

281 IUT Informatique Calais Architecture des ordinateurs281 Le µp pilote les périphériques grâce à des circuits spécialisés appelés interfaces interface partie active bus ordinateur Légende : périphérique ordinateur Les circuits dE/S jouent souvent le rôle dinterfaces (on considère que ces termes sont équivalents)

282 IUT Informatique Calais Architecture des ordinateurs282 Organisation des E/S vers les périphériques : un circuit dE/S : assure le transfert des informations de ou vers les bus de lordinateur une interface : adapte les signaux en provenance du périphérique pour les rendre compatibles avec le circuit dE/S (temps/débit, amplitude/intensité, protocole) un contrôleur de périphérique qui gère la partie active Remarques : le circuit dE/S est généralement sur la carte mère le contrôleur est en général dans le périphérique le circuit dinterface est soit : dans le circuit dE/S dans le périphérique divisé en 2 parties (circuit E/S + périphérique)

283 IUT Informatique Calais Architecture des ordinateurs283 Le contrôleur de périphérique contient les registres suivants : un registre de commande un registre de donnée un registre détat Le µp passe par le circuit dE/S et linterface pour accéder au contrôleur de périphérique et le pilote grâce à ces 3 registres Il existe 2 types dinterfaces : dédiée : une interface par périphérique + : simple à concevoir - : multiplie de nombre dinterfaces dans lordinateur générique : une interface indépendante du périphérique + : une seule interface dans lordinateur - : norme, problèmes de vitesse, …

284 IUT Informatique Calais Architecture des ordinateurs284 Actuellement : dédié + générique + compromis entre les 2 interface dédiée à certains périphériques : clavier, souris (PS/2), disquettes interface dédiée à des groupes de périphériques : unités de stockage - IDE, SATA, SCSI interface générique pour les autres périphériques : ISA, PCI, PCI-X, PCIe interface totalement générique : USB, Firewire Le µp accède au périphérique selon 3 méthodes principales : le µp prend totalement en charge les E/S (polling) le périphérique effectue des E/S via le µp et le contrôleur dinterruption (IRQ) qui permet à tout moment dinterrompre lexécution dun programme sur le µp afin que celui-ci prenne en compte la demande du périphérique le périphérique effectue des E/S via le µp, le contrôleur dinterruption et le contrôleur daccès direct en mémoire (DMA) non détaillé dans ce cours

285 IUT Informatique Calais Architecture des ordinateurs Liaison synchrone et asynchrone Définition : une liaison est dite synchrone si la transmission dun bit est liée à un signal dhorloge commun aux deux interlocuteurs msg clk émetteurrécepteur msg clk masse commune émetteurrécepteur msg masse commune Définition : une liaison est dite asynchrone si les deux interlocuteurs ne se synchronisent pas sur un même signal 1 0 msg différentes durées dimpulsions pour 1 et 0

286 IUT Informatique Calais Architecture des ordinateurs Liaison série et liaison parallèle Liaisons série sur le PC (à lorigine) : port PS/2 (clavier, souris) – liaison synchrone port série (port RS232) - liaison asynchrone – limité à 30m Une liaison série envoie les données sur 1 fil bit à bit un fil pour envoyer les données un fil pour recevoir les données + qques fils pour le contrôle des transmissions Avantages : simple à mettre en œuvre peu dinterférences : grande longueur de câble possible Inconvénient : plus lent quune liaison parallèle (à lorigine)

287 IUT Informatique Calais Architecture des ordinateurs287 Liaisons parallèles sur le PC (à lorigine) : port parallèle (port Centronics) 8 bits – limité à 3m stockage : disquette, IDE et SCSI – limité à environ 50cm ISA, PCI, PCI-X – limité à environ 20-30cm µp / mémoire bus de donnée, bus dadresse en dehors du µp bus de donnée, bus dadresse dans le µp Liaison parallèle : 1 fil par bit, 1 mot transmis en une fois Avantage : rapide (+ il y a de fils, + on envoie de bits en parallèle) Inconvénients : + difficile à mettre en œuvre quune liaison série (nombreux fils) + il y a de fils et + la fréquence est élevée alors + il y a dinterférences et + la distance de communication est courte

288 IUT Informatique Calais Architecture des ordinateurs288 Autre amélioration : utilisation de plusieurs liens série simultanément pour atteindre de très hauts débits Depuis quelques années, amélioration des liaisons séries : fréquences accrues + envoi de paquets de bits USB1.1 : 12Mb/s (1,4Mo/s) et USB2 : 480Mb/s (57Mo/s) Difficilement applicable aux liaisons parallèles (interférences) Nouvelles liaisons série sur le PC : USB, IEEE 1394 (Firewire) : remplacent les ports RS232, //, clavier et souris, … SATA : remplace lUltra ATA (IDE ou PATA) pour les périphériques de stockage Nouvelles liaisons série multiples sur le PC : PCI Express : remplace le bus PCI, PCI-X et le port AGP Hypertransport : remplace par exemple les bus entre µp et mémoire pour lAthlon64

289 IUT Informatique Calais Architecture des ordinateurs289 Exemple détaillé : PCI Express (PCIe) Remplace les nombreux fils du bus PCI par 4 fils par ligne PCIe Les lignes PCIe sont bi-directionnelles : communication synchrone simultanée dans les 2 sens

290 IUT Informatique Calais Architecture des ordinateurs290 Plusieurs lignes peuvent être utilisées simultanément pour multiplier le débit Les paquets sont découpés, envoyés en parallèle puis réassemblés

291 IUT Informatique Calais Architecture des ordinateurs291 Périphériques standards : 1 ligne PCIe = 250Mo/s bidirectionnel / périph. (PCI = 132Mo/s unidirectionnel partagé par tous les périphériques du bus) Nb lignes / périph. configurable à la construction de la carte mère : 1 à 32 Cartes graphiques : 16 lignes PCIe = 4Go/s dans chaque sens plusieurs cartes graphiques possible (avec 4 ou 8 lignes) (AGP 8X = env. 2Go/s unidirectionnel + port unique)

292 IUT Informatique Calais Architecture des ordinateurs Carte mère (PC) principal circuit imprimé de lordinateur permet dinter-connecter tous les éléments de lordinateur contient le bus système, un ensemble de connecteurs et de ports dE/S et un ensemble de contrôleurs propage les fréquences multiples ou sous-multiples de la sienne générées par le µp aux différents composants : 33MHz pour le pci, 48MHz pour lusb, 33/66Mhz pour lagp … etc Définitions : chipset : ensemble de circuits gérant les échanges dinformation slot : connecteur « fond de panier » sur la carte mère BIOS (Basic Input Output System) : programme en ROM dinitialisation et de test des composants de lordinateur et de pilotage des fonctions dE/S de base

293 IUT Informatique Calais Architecture des ordinateurs Connecteurs Connecteurs CPU actuellement 2 types de connecteurs : socket ou slot Slot 1 : Pentium III

294 IUT Informatique Calais Architecture des ordinateurs294 Sockets 775, 478 et 754 Athlon64 socket 754 (PGA) Pentium 4 socket 478 (PGA) Pentium 4 socket 775 (LGA)

295 IUT Informatique Calais Architecture des ordinateurs295 Socket 775 :

296 IUT Informatique Calais Architecture des ordinateurs Connecteurs mémoire : connecteurs SIMM : Mémoire FPM ou EDO < bits – 72 broches Capacité : 1Mo à 64Mo Temps de latence : 80ns à 50ns connecteurs DIMM : Mémoire SDRAM > bits – 168/184/208 broches Capacité : 16Mo à 2048Mo Temps de latence : env. 10ns

297 IUT Informatique Calais Architecture des ordinateurs Connecteurs cartes dextension connecteurs ISA : 8 bits puis 16 bits Débit : 5,5Mo/s connecteurs PCI : 32 bits puis 64 bits Débit : 66 Mo/s puis 132 Mo/s

298 IUT Informatique Calais Architecture des ordinateurs298 connecteurs AGP (Accelerated Graphic Port) : 64 bits puis 128 bits Débit : 264Mo/s (1X) env. 2Go/s (8X) Liaison directe avec la mémoire centrale connecteurs PCI Express (PCIe) : Liaison série 1 à 32 lignes Débit : 250Mo/s (1X) env. 4Go/s (16X)

299 IUT Informatique Calais Architecture des ordinateurs Connecteurs périphériques de stockage connecteur de disquettes : connecteur IDE ou PATA (Parallel ATA) : connecteur SCSI : connecteur SATA (Serial ATA) :

300 IUT Informatique Calais Architecture des ordinateurs Connecteurs dalimentation connecteurs carte mère : connecteur de disquettes et petits périphériques : connecteur périphériques stockage et divers : connecteur alimentation SATA connecteur ventilateur : +

301 IUT Informatique Calais Architecture des ordinateurs connecteurs E/S : Avant la norme ATX, les connecteurs dE/S étaient sur la carte mère et devaient être reliés à des prises accessibles depuis lextérieur du boîtier Maintenant une grande partie de ces connecteurs sont regroupés sur un bloc directement accessible depuis lextérieur du boîtier : PS2 : souris PS2 : clavier parallèle : imprimante, stockage externe, … IEEE 1394 (Firewire) : tous périph. + réseau RJ45 : réseau audio série : clavier, souris, réseau, … VGA : écran, vidéoprojecteur USB : tous périphériques

302 IUT Informatique Calais Architecture des ordinateurs Chipset contrôlent les différentes communications des éléments de la carte mère incorporent des fonctionnalités supplémentaires remplacant certains périphériques en particulier : µp / mémoire mémoire / AGP ou PCIe 16X µp / AGP ou PCIe 16X bus ISA, PCI PCI Express IDE, SCSI USB, Firewire réseau (avec ou sans fil), modem, audio, … north bridge south bridge dédié à une famille de µp

303 IUT Informatique Calais Architecture des ordinateurs303 Intel 925X : 2 puces DDRII SDRAM, PCI, PCIe, Hyperthreading, SATA, RAID, USB2, audio, réseau sans fil, E/S standard

304 IUT Informatique Calais Architecture des ordinateurs304 VIA KT800pro : 2 puces DDR-SDRAM Hypertransport AGP Audio PATA SATA USB2 PCI PCIe (2 lignes) réseau 10/100Mb modem E/S standard : (clavier, souris, série, parallèle, disquette)

305 IUT Informatique Calais Architecture des ordinateurs305 Nvidia nForce4 : 1 puce DDRII-SDRAM Hypertransport Audio PATA SATA2 USB2 PCI PCIe (20 lignes configurables) SLI (2 cartes graphiques) réseau Gb modem firewall E/S standard : (clavier, souris, série, parallèle, disquette)

306 IUT Informatique Calais Architecture des ordinateurs Détail dune ancienne carte mère

307 IUT Informatique Calais Architecture des ordinateurs Détail dune carte mère récente

308 IUT Informatique Calais Architecture des ordinateurs Classification des périphériques lecteur CDROM, DVDROM graveur CDR, CDRW, DVDRAM, DVDR, DVDRW disque dur, lecteur de disquettes, zip streamer, dat, clé usb lecteur de carte magnétique, de carte à puce clavier, souris carte réseau, modem imprimante, scanner carte graphique, moniteur, projecteur, data-show, écran tactile carte dacquisition, de montage vidéo, caméra, appareil photo numérique carte son, micro, enceintes périphériques MIDI (synthétiseur, boîte à rythme, …) joystick, casque 3D, gants 3D onduleur clef électronique, système de protection de données périphériques dauthentification (vocal, empreinte, …) mémoires de masse périphériques dE/S

309 IUT Informatique Calais Architecture des ordinateurs Mémoires de masse La fonction des mémoires de masse est de conserver durablement les informations sur des supports magnétiques (disquette, disques dur, bande magnétique, …) ou non (CDROM, DVD, …) Lecteur de disquette (floppy disk) Périphérique généralement interne permettant de lire des disquettes Une disquette est un support de données magnétique, souple ou rigide, de taille et de densité variées Cest le support de stockage le plus connu de la micro-informatique car il a été longtemps le seul disponible facilement Dernier format existant : 31/2 de capacité de 720Ko, 1,44Mo et 2,88Mo Interface : dédiée ou USB

310 IUT Informatique Calais Architecture des ordinateurs310 Schéma dune disquette 31/2 :

311 IUT Informatique Calais Architecture des ordinateurs311 Schéma interne du lecteur :

312 IUT Informatique Calais Architecture des ordinateurs312 Structure physique dune disquette (ou dun disque dur) : division en pistes circulaires puis chaque piste en secteurs (512octets en général) Cette structure est créée lors du formatage physique de la disquette (ou du disque dur) Nombre constant de secteurs par piste : densité variable selon les pistes Compatibilité au niveau du formatage physique : DOS et UNIX utilisent le même nombre de pistes et de secteurs par piste

313 IUT Informatique Calais Architecture des ordinateurs313 Le formatage logique est effectué après le formatage physique Il permet de réserver les premiers secteurs pour y stocker des programmes ou des informations systèmes et de regrouper les secteurs en clusters (blocs logiques) On y trouve : une zone damorçage qui peut contenir le programme de lancement (si cest un disque système) une table dallocation de fichiers le répertoire racine le reste du disque sert au stockage des données La zone de stockage est gérée en tant quensemble de clusters de taille donnée (512octets, 1024, 2048, 4096, …) dans lesquels seront stockées des informations sous forme de fichiers Lensemble des clusters est géré à laide de la table dallocation qui permet de retrouver les clusters utilisés par un fichier

314 IUT Informatique Calais Architecture des ordinateurs Disque dur (hard disk) Un disque dur est composé dun certain nombre de plateaux rigides fixés sur un même axe de rotation

315 IUT Informatique Calais Architecture des ordinateurs315 Chaque plateau dispose de 2 têtes de lecture/écriture Définition : sur un plateau, les pistes sont numérotées de 0 à p-1. Lensemble des pistes portant le même numéro sur les différents plateaux est appelé un cylindre

316 IUT Informatique Calais Architecture des ordinateurs316 Caractéristiques des disques durs : Leur capacité varie actuellement de 20Go à 500Go Cest parce que leur capacité a rapidement augmentée quest apparu la notion de cluster regroupant plusieurs secteurs (pour éviter dallouer individuellement les secteurs aux fichiers) Leur vitesse de rotation se situe actuellement entre 5400 et 15000tr/min Le temps daccès moyen est actuellement denviron 10ms Le taux de transfert des informations entre le disque et la mémoire se situe entre 5Mo/s et 60Mo/s actuellement Linterface de communication : IDE (Integrated Drive Electronics) – Ultra ATA ou PATA SATA (Serial ATA) SCSI (Small Computer System Interface) – Ultra SCSI Linterface la plus rapide autorise actuellement 320Mo/s – inutile pour un seul disque mais indispensable si plusieurs partagent la même interface

317 IUT Informatique Calais Architecture des ordinateurs317 Interface IDE (Ultra ATA) : L'interface la plus courante actuellement est l'interface Ultra ATA (ou PATA – Parallel ATA) Les lecteurs compatibles Ultra ATA intègrent la plupart des circuits de contrôle ce qui les rend simples à installer Une interface Ultra ATA accueille 2 périphériques de stockage – un maître et un esclave - il y a au minimum 2 interfaces par carte mère L'interface IDE a évoluée depuis sa création : EIDE : 16Mo/s, Ultra ATA 33/66/100 : 33,3/66,6/99,9Mo/s Interface SATA : Liaison série bidirectionnelle à très haute fréquence : Ultra ATA 100 : 25 MHzSATA : 1500 MHz x 2 DDRx 1 bit x 16 bitsx 80 % codage paquets 8b10b / 8 bits par octets/ 8 bits par octets = 100 Mo/s= 150Mo/s

318 IUT Informatique Calais Architecture des ordinateurs318 SATA 2 : 300 Mo/s Avantages du SATA par rapport au PATA : simple et - coûteux à mettre en œuvre (peu de fils comme PCIe/PCI) câbles – chers, + longs et + fins (meilleure aération du boîtier) évolution : déjà prévu jusque 600 Mo/s minimum pas de réglage maître / esclave (une liaison par périphérique) gestion natif de file dattente des commandes (NCQ) : lordre de traitement des commandes est optimisé pour limiter le nombre de tours et les oscillations des têtes de lecture donc + rapide, - vibrations et – de bruit

319 IUT Informatique Calais Architecture des ordinateurs319 Interface SCSI : L'interface SCSI est moins courante que l'interface IDE et n'est généralement pas intégrée aux cartes mère : il faut installer une carte contrôleur SCSI sur un bus PCIe ou PCI-X (extention du PCI pour les serveurs) Elle a toujours offert des performances supérieures à l'interface IDE et utilisé moins de ressources du µp pour fonctionner – utilisée sur les serveurs de fichiers - (mais performances rattrapées par le SATA2) Elle permet de connecter jusqu'à 15 périphériques de tous types : stockage, scanners, imprimantes,... mais les lecteurs sont plus chers et il faut acheter la carte contrôleur Évolution de l'interface SCSI : Ultra SCSI : 20Mo/s, Ultra Wide : 40Mo/s, Ultra-2 Wide : 80Mo/s, Ultra-3 Wide (U160) : 160Mo/s actuellement : U320 : 320Mo/s regroupe de nombreux protocoles de communication dont Gb ethernet futur : SAS (Serial Attached SCSI) = SATA + SCSI simultanément

320 IUT Informatique Calais Architecture des ordinateurs320 Évolution des disques durs : Augmentation de la vitesse de rotation (actuellement 15000tr/mn max) Amélioration du substrat magnétique (augmentation de la densité,...) Amélioration de la fiabilité Passage d'un périphérique passif à un périphérique intelligent : intégration de mémoires caches mécanismes d'anticipation de lecture mécanismes de réorganisation du séquencement des accès RAID : Redundant Arrays of Inexpensive Disks RAID 0 (stripping) : données divisées et écrites sur plusieurs disques en // + vitesse - tolérance aux pannes

321 IUT Informatique Calais Architecture des ordinateurs321 RAID 1 (mirroring) : données dupliquées sur 2 disques à la fois + tolérance aux pannes - vitesse et surcoût = x2 RAID 0+1 : disques en RAID 0 dupliqués (RAID 1) – 4 disques min. + tolérance aux pannes et vitesse - surcoût = x2

322 IUT Informatique Calais Architecture des ordinateurs322 RAID 3 : données divisées et écrites en // + disque parités – 3 disques min. + tolérance aux pannes + vitesse + faible surcoût (tjs 1 disque) - transactions traitées en séquence ( ok pour mono-utilisateur) RAID 5 : données divisées par blocs et écrites sur des disques indépendants avec parités distribuées + tolérance aux pannes + vitesse moy. + surcoût + // des trans. - vitesse de lecture d1 bloc = vitesse d1 disque

323 IUT Informatique Calais Architecture des ordinateurs323 Intel Matrix RAID Technology : 2 disques SATA découpés en 2 partitions 2 partitions utilisées en RAID 1 2 partitions utilisées en RAID 0

324 IUT Informatique Calais Architecture des ordinateurs324 Nouvelle technologie de stockage : enregistrement perpendiculaire magnétisation longitudinale : prend + de place et problèmes dinfluence des éléments contigus si miniaturisation trop importante densité maximale atteinte magnétisation perpendiculaire : prend – de place et – de problèmes dinfluence des éléments contigus + grande densité possible 2007 : DD 3,5" 1To micro DD 1" 20Go pour pocket PC, PDA, Smartphones … Fin 2005 : DD 1,8" de 80Go

325 IUT Informatique Calais Architecture des ordinateurs Disques optiques numériques Les disques compacts (ou CD) sont standardisés au niveau de leurs caractéristiques physiques et de leur format logique (compatibilité) La normalisation initiale correspond au disque compact audio (CD-A) : "Livre Rouge" rédigé en 1982 par Sony et Philips Le CD audio (CD-A) : Un CD-A est constitué de trois couches : un support en polycarbonate (plastique transparent résistant) une fine couche réfléchissante d'aluminium une laque protectrice (contre les rayures et l'oxydation), sur laquelle peut être imprimée une étiquette

326 IUT Informatique Calais Architecture des ordinateurs326 La zone utile est divisée en trois régions concentriques : un en-tête (lead-in) les données une plage de fin (lead-out) Sur l'ensemble de la zone utile est gravée une seule spirale de spires d'environ 5.6 km de long

327 IUT Informatique Calais Architecture des ordinateurs327 Les informations sont enregistrées au niveau de la couche métallique sous forme de cuvettes (pits) le long de la spirale à partir du centre vers l'extérieur La surface vierge qui séparent deux cuvettes consécutives est appelée méplat (land)

328 IUT Informatique Calais Architecture des ordinateurs328 La lecture des données se fait au moyen d'un laser d'une longueur d'onde de 780 nm (infrarouge) La lumière émise par ce laser traverse le polycarbonate puis se réfléchit sur la couche d'aluminium. Le rayon réfléchi est ensuite guidé par un miroir unidirectionnel vers une photodiode

329 IUT Informatique Calais Architecture des ordinateurs329 Le laser est focalisé en une tache un peu plus large que les cuvettes Sur une surface vierge (méplat) la lumière est totalement réfléchie et la photodiode reçoit alors au moins 70% de la lumière émise Lorsque l'image du laser chevauche une cuvette, la photodiode reçoit moins de 28% de la lumière émise (interférences destructrices)

330 IUT Informatique Calais Architecture des ordinateurs330 Codage de l'information : Contrairement à ce qu'on pourrait penser les cuvettes et les méplats ne sont pas directement associés aux deux valeurs logiques "0" et "1" En fait la valeur logique "1" est définie par une transition de l'intensité lumineuse détectée : passage d'un méplat à une cuvette et vice-versa La longueur des cuvettes et des zones vierges permet ensuite de compter le nombre de zéros : mécanisme d'horloge Principe de lecture simple, mais systèmes d'asservissement pour : conserver l'alignement de la tête de lecture le long de la spirale focaliser le laser au niveau de la couche réfléchissante La tête n'étant pas en contact avec le disque il n'y a que très peu d'usure

331 IUT Informatique Calais Architecture des ordinateurs331 Problème 1 : au moins deux 0 entre deux 1 : sinon problèmes de précision au plus dix 0 entre deux 1 : sinon désynchronisation de lhorloge Chaque créneau (pit ou land) donne une séquence binaire débutant par un 1 suivi de deux à dix 0 (entre 3 et 11 bits) A cause de ces contraintes il faut 14 bits (sur le CD) pour coder un octet car 267 combinaisons de 14 bits pour lesquelles on trouve entre deux et dix 0 entre deux 1 : codage E.F.M. (Eight to Fourteen Modulation) Problème 2 : lors de la concaténation de deux codes de 14 bits, il est encore possible de trouver deux 1 consécutifs ou une série de plus de dix 0 Solution apportée : 3 bits de fusion intercalés tous les 14 bits, donc au total 17 bits pour représenter un octet But du système de codage E.F.M. : rendre le système de lecture le plus tolérant possible à diverses imperfections techniques : centrage du trou, voile du disque, focalisation du laser, profondeur des creux, épaisseur du disque, etc

332 IUT Informatique Calais Architecture des ordinateurs332 Problème 3 : d'autres sources d'erreurs (bulles microscopiques ou poussières piégées dans le polycarbonate, rayures, salissures, empreintes de doigts...) et la spécification exige moins de 250 erreurs de lecture par seconde Solution : code de détection et de correction d'erreurs : le code Reed Solomon entrelacé croisé (CIRC : Cross Interleaved Reed Solomon Code) Organisation des données : 1 trame = (24o utiles + 8o CIRC + 1o de contrôle) x 17 bits de codage = 561 bits + 11 bits de sync + 5 bits de fusion = 588 bits 1 secteur = 98 trames 1 seconde d'enregistrement = 75 secteurs Adressage d'un secteur sur un CD-A : minute:seconde:secteur absolu (depuis le début de la spirale) relatif (depuis le début de la piste) Un CD audio peut être divisé en pistes (jusqu'à 99) Débit utile est de 172 ko/s Durée d'enregistrement de 74 minutes correspond à 747 Mo utiles

333 IUT Informatique Calais Architecture des ordinateurs333 Le CD informatique (CD-ROM) : Le disque compact est sorti peu de temps après l'IBM PC-XT qui était alors équipé d'un disque dur de 10 Mo ! Il est vite apparu que les disques compacts pouvaient servir de support à des données informatiques mais problèmes à résoudre : réduction du taux d'erreurs repérage plus précis des secteurs => format des secteurs revu et précisé dans le "Livre Jaune" rédigé par Philips et Sony en La structure des secteurs décrite pour les disques audio (98 trames de 588 bits) est conservée. Mais l'utilisation des 2352 octets disponibles dans chaque secteur est modifiée en 2 formats distincts

334 IUT Informatique Calais Architecture des ordinateurs334 CD-ROM Mode 1 : prévu pour les données informatiques 2048 octets de données (adapté à l'adressage binaire) + niveau supplémentaire de détection et de correction d'erreurs : 4 octets pour la détection (EDC : Error Detection Code) 276 octets pour la correction (ECC : Error Correction Code) 8 octets sont laissés libres entre les octets de détection et les octets de correction environ 1000 fois moins d'erreurs que le CD-A ! 12 octets de synchronisation suivis de 4 octets d'en-tête Ce format correspond à un débit pour les données utiles de 150 ko/s et une capacité utile de 650 Mo

335 IUT Informatique Calais Architecture des ordinateurs335 CD-ROM Mode 2 : prévu pour les données compressées audio ou vidéo N'utilise pas de détection d'erreurs supplémentaire Permet d'utiliser 2336 octets par secteur, pour un débit de 172 ko/s

336 IUT Informatique Calais Architecture des ordinateurs336 CD-ROM Mode Mixte : Combine les formats CD-ROM et CD-A première piste informatique suivie dune ou plusieurs pistes audio CD-ROM XA (ISO 9660) : Problème : Les livres rouge et jaune n'autorisent pas le mélange de secteurs de types différents sur une même piste : limitation pour les applications multimédia (texte + son + vidéo) car la tête de lecture est alors obligée de se déplacer en permanence pour alimenter les divers flux Solution : le format CD-ROM XA (en fait 2 formats) permet l'entrelacement de secteurs de types différents sur une même piste Le format des secteurs est légèrement modifié. Il utilise les 8 octets laissés libres par le format CD-ROM

337 IUT Informatique Calais Architecture des ordinateurs337 La vitesse de lecture des CD-A est fixée par la fréquence d'échantillonnage mais il n'y a aucune contrainte pour les CD-ROM : le débit de transfert est exprimé comme un multiple de 150 ko/s (nX) Les premiers lecteurs fonctionnaient à vitesse linéaire constante (CLV : Constant Linear Velocity), les lecteurs CD-ROM récents fonctionnent à vitesse de rotation constante (CAV : Constant Angular Velocity), le débit dépend alors de la position de la tête de lecture le long de la spirale

338 IUT Informatique Calais Architecture des ordinateurs338 CD-R (Recordable) ou disque WORM (Write Once/Read Many) : Le contenu dun CD-R peut être enregistré une fois, il fonctionne ensuite comme CD-ROM classique en lecture uniquement Un CD-R se compose de quatre couches. Entre le substrat en polycarbonate et la couche réfléchissante (en argent ou en or), se trouve un colorant organique photosensible

339 IUT Informatique Calais Architecture des ordinateurs339 L'écriture des données est réalisée par un laser puissant, qui permet de chauffer localement le colorant et de le rendre opaque Le codage des données est identique à celui d'un CD-ROM. A la lecture les zones "brûlées" absorbent la lumière, alors qu'ailleurs la lumière peut traverser le colorant pour être réfléchie La stabilité des colorants garantit une durée de vie d'au moins 30 ans CD-RW (ReWritable) ou disque WMRA (Write Many Read Always) : La structure d'un CD-RW comporte 6 couches. Le colorant est remplacé par un alliage pris en sandwich entre deux couches de diélectrique Dans un disque vierge, l'alliage est dans une forme cristalline. Il réfléchit alors en partie la lumière Écriture : un laser chauffe l'alliage et le faire fondre, si le refroidissement est rapide l'alliage prend une forme amorphe qui absorbe la lumière Effacement : si on chauffe suffisamment longtemps une zone amorphe on retrouve une structure cristalline après refroidissement

340 IUT Informatique Calais Architecture des ordinateurs340 DVD (Digital Versatile Disc) : Alors que le disque compact a été initié comme support audio, le disque haute densité avait pour objectif initial la vidéo Les dimensions d'un DVD sont identiques à celles d'un CD Le principe de lecture reste le même, la densité d'information a augmenté : laser avec une plus petite longueur d'onde (635 ou 650 nm, rouge) créneaux réduits en largeur et longueur, et spires plus serrées L'ensemble des modifications a permis une densité d'information brute environ 4,5 plus grande Le débit dun DVD 1X est de 1380 ko/s

341 IUT Informatique Calais Architecture des ordinateurs341 Le DVD utilise la capacité d'un faisceau lumineux de traverser plusieurs surfaces semi-transparentes : 2 couches de réflexion superposées simple face, double couche (DVD 9) : Les DVD existent en quatre versions : simple face, simple couche (DVD 5) :

342 IUT Informatique Calais Architecture des ordinateurs342 Le faisceau laser doit traverser deux fois la couche semi-réflective pour la lecture de la seconde couche donc la densité de celle-ci est légèrement inférieure (ainsi que sa capacité, de 15 % environ) Nombreuses amélioration / CD-ROM : réduction du codage, des codes de détection / correction derreur et des octets de sync. double face, simple (DVD 10) ou double couche (DVD 18) : Gain finesse gravure (4,5) + gain codages (1,52) : capacité dun DVD simple face simple couche 7 fois plus importante que celle dun CD : DVD 5 : 4,7Go DVD 9 : 8,5Go DVD 10 : 9,4Go DVD 18 : 17Go

343 IUT Informatique Calais Architecture des ordinateurs343 Lecture de la première couche toujours de lintérieur vers lextérieur Lecture de la seconde couche possible dans les deux sens (possibilité denchaîner les deux couches sans perte de temps, indispensable pour les applications vidéo du DVD) DVD inscriptibles et réinscriptibles : Les mêmes techniques denregistrement que celles des CD-R et CD-RW permettent de fabriquer des DVD-R et des DVD-RW Interfaces aux lecteurs de CD et de DVD : Ultra ATA, SCSI, SATA, USB, Firewire

344 IUT Informatique Calais Architecture des ordinateurs Disques magnéto-optiques numériques Le laser permet de réduire la dimension des pistes des supports magnétiques : les têtes de lecture/écriture sont guidées par un laser Aucune norme n'étant établie il existe de nombreux formats propriétaires : Iomega Zip : disquette de 100Mo (200Mo compressés) taux de transfert 11,2Mo/s max temps d'accès 29ms SuperDisk LS-120 : disquette 3"1/2 de 120Mo, compatible disquettes standards, transfert 250Ko/s Syquest Ezflyer : 230Mo sur cartouche, plus performant Dynamo 640SE : 640Mo, taux de transfert 3,9Mo max, 1,1Mo en moyenne, intégrité des données > 30 ans ! Iomega Jaz : disquette de 2Go (4Go compressés), taux de transfert 8,7Mo/s max, accès lecture 10ms, écriture 12ms Syquest SyJet : 1,5Go, accès 12ms, buffer 512Ko suplantés par la clé USB suplantés par le CDR/W et le DVDR/W suplantés par le DD externe

345 IUT Informatique Calais Architecture des ordinateurs Périphériques dE/S Carte graphique (ou carte vidéo, ou adaptateur graphique vidéo) La carte vidéo est conçue pour permettre une communication de données entre le processeur et elle ainsi quentre elle et lécran Sur un écran limage est découpée en points élémentaires : pixels (pictures element – picts el.) Résolution dune image = nombre de pixels présents simultanément (donné par nb pixels par ligne * nb pixels par colonne) La couleur dun pixel est constituée en mélangeant 3 couleurs : le rouge, le vert et le bleu : système RVB (RGB en anglais) 2 codage possible des couleurs : Vraies couleurs (true color) : codage de la valeur de chaque composante sur un certain nombre de bits. Ex : = 24 bits Palette : un nombre de couleurs déterminées et numérotées puis stockées dans une table

346 IUT Informatique Calais Architecture des ordinateurs346 Coût du codage : 2 couleurs : 1 bits par pixel (mémoire vidéo = plan de bits : bitmap) 4 couleurs : 2 bits par pixel 16 couleurs : 4 bits par pixel 256 couleurs : 8 bits par pixel couleurs : 16 bits par pixel couleurs (16,8 millions) : 24 bits par pixel couleurs (4,3 milliards) : 32 bits En vraies couleurs sur 24 bits on code 16,8 millions de couleurs : ceci suffit à représenter toutes les nuances décelables par lœil humain (inutile dutiliser plus de 8 bits par composantes)

347 IUT Informatique Calais Architecture des ordinateurs347 Capacité de la mémoire vidéo : Ex : 1024 x 768 en 256 couleurs : 1024 * 768 * 8 = bits = 768Ko Nombre de couleurs 16,8M Résolution 900Ko600Ko300Ko150Ko640 x 480 1,37Mo938Ko469Ko235Ko800 x 600 2,25Mo1,5Mo768Ko384Ko1024 x 768 3,75Mo2,5Mo1,25Mo640Ko1280 x ,49Mo3,66Mo1,83Mo938Ko1600 x 1200 Pour gérer un affichage de qualité (1600 x 1200 en vraies couleurs) il faut déjà 6Mo de mémoire vidéo uniquement pour une image !

348 IUT Informatique Calais Architecture des ordinateurs348 RAMDAC (RAM Digital-to-Analog Converter) : Le RAMDAC convertit les informations numériques en provenance de la mémoire vidéo et/ou du processeur graphique en signaux analogiques destinés au moniteur Convertit à la volée les codes couleurs des pixels en signaux analogiques Est composé de 3 DAC : un par couleur primaire Plus la résolution utilisée est grande, plus le RAMDAC doit être rapide Pour un bon confort des yeux : 72 images par secondes minimum => fréquence verticale : 72Hz minimum Fréquence horizontale (exprimée en KHz) = nb lignes * fréq. verticale

349 IUT Informatique Calais Architecture des ordinateurs349 Avec larrivée de la 3D et notamment lutilisation des textures le bus PCI est devenu trop lent aussi est apparu un nouveau port : AGP (Accelerated Graphic Port) Avantages : débit : AGP 8X = environ 2Go/s communication directe avec la mémoire sans passer par le µp Attention : lAGP est un port et non un bus car il ne fonctionne quavec un seul composant ! Interface : A lorigine connectées au bus ISA puis PCI mais partage du bus avec les autres périphériques pour communiquer avec le µp et la mémoire Avec le PCIe carte graphique connectée sur un port 16x = 4Go/s : aucun intérêt car un débit dun peu plus de 1Go/s suffit pour linstant Avantages : + simple, - coûteux et plusieurs cartes en 4x ou 8x

350 IUT Informatique Calais Architecture des ordinateurs350 Mémoire vidéo : VRAM (Video RAM) : DRAM avec 2 accès simultanés à la mémoire WRAM (Window RAM) : 25% plus performante que la VRAM SGRAM (Synchronous Graphic RAM) : simple accès mais sur 128 bits MDRAM (Multibank DRAM) : simple accès mais entrelacement DDR SDRAM : identiques à la mémoire centrale GDDR2 et GDDR3 : optimisées pour la vidéo avec fréquences élevées Avantage des VRAM par rapport aux DRAM : Grâce au double accès simultané, le processeur peut transférer des données vers la mémoire vidéo pendant que le RAMDAC la lit pour envoyer les données analogiques au moniteur Avec les DRAM les accès sont concurrentiels : pourtant actuellement les mémoires utilisées dans les cartes récentes sont des DDR-SDRAM à simple accès mais ayant des fréquences très élevées

351 IUT Informatique Calais Architecture des ordinateurs351 2D : À lorigine tous les calculs liés à la construction des images étaient effectués par le CPU : carte graphique « = » RAMDAC Pour décharger le CPU les cartes graphiques ont intégré des fonctions de dessin 2D : dessin : ligne, cercle … zoom manipulation de pixels …

352 IUT Informatique Calais Architecture des ordinateurs352 Laffichage 3D est généralement utilisé pour des séquences animées calculées en temps réel Si la fréquence de répétition de la vidéo atteint 25 images distinctes par seconde, chaque image doit être calculée et affichée en moins de 40 millisecondes Pour ne pas surcharger le CPU, les calculs nécessités par l'affichage 3D sont confiés à un circuit intégré situé sur la carte graphique de l'ordinateur L'affichage 3D, qui nécessite une puissance de calcul importante, est longtemps resté l'apanage des gros ordinateurs, puis des stations de travail Il est arrivé sur les ordinateurs personnels à la suite de la demande importante des jeux vidéo au travers des cartes 3dfx … maintenant disparu 3D : En informatique, on parle daffichage 3D lorsquon donne une impression de relief à partir d'une image plane, en jouant sur les effets de perspective, d'éclairage, d'ombrage, de texture, etc

353 IUT Informatique Calais Architecture des ordinateurs353 Étapes lors de la réalisation dune image 3D : 1 : Positionnement des points2 : Liaison des points en polygones 3 : Remplissage des polygones (z-buffer)4 : Lissage de Gouraud

354 IUT Informatique Calais Architecture des ordinateurs354 Étapes lors de la réalisation dune image 3D (suite) : 5 : Plaquage de textures 6 : Éclairage 7 : Transparence 8 : Effets divers

355 IUT Informatique Calais Architecture des ordinateurs355 Problème : pour chaque bibliothèque il faut développer un driver spécifique (doù différences de performances dues à la qualité des drivers) Programmation 3D : Laccès aux fonctions câblées des cartes graphiques se fait au travers de bibliothèques de fonctions daffichage 2 bibliothèques utilisées actuellement : OpenGL : évolution de GL, bibliothèque graphique créée par Silicon Graphics. Standard dans le milieu professionnel il est également utilisé dans le domaine ludique et portable entre différents systèmes dexploitation (Unix, Linux, Windows, MacOS, …) Direct3D : bibliothèque de Microsoft pour Windows. Très répandue mais propriétaire et dédiée à un seul système

356 IUT Informatique Calais Architecture des ordinateurs356 Ils sont aussi complexes à réaliser que les CPU (voir +) : Le processeur graphique G70 (Nvidia 7800 GTX) est constitué de 320 millions de transistors (Pentium 4 EE : 178 millions) Des processeurs graphiques complexes : Les processeurs graphiques reprennent les optimisations des CPU : unités en parallèle (calculs, textures, pixel, …) plusieurs pipelines dexécution (application des textures) Ils sont programmables : vertex program : programme implanté dans le processeur graphique et travaillant au niveau des points 3D fragment program : programme implanté dans le processeur graphique et travaillant au niveau des pixels => possibilité de nouveaux effets très réalistes

357 IUT Informatique Calais Architecture des ordinateurs357 capture dimages ou de vidéo sortie pour affichage sur un téléviseur ou vidéoprojecteur affichage sur un deuxième moniteur port pour périphériques de vision 3D (casque, lunettes, …) récepteur télévision fonctions magnétoscope compression selon différents formats pour le montage vidéo … Des cartes vidéo multi-fonctions : Les cartes vidéo actuelles ne se contentent plus seulement de laffichage 2D/3D mais intègrent de plus en plus souvent dautres fonctions : compression/décompression mpeg2 pour la vidéo

358 IUT Informatique Calais Architecture des ordinateurs Moniteur Écran cathodique : Il fonctionne sous le même principe quun écran de télévision : 3 canons à électrons (rouge-vert-bleu) envoient leurs faisceaux convergents pour obtenir la couleur souhaitée par mélange Un champ magnétique, généré par des plaques métalliques alimentées, oriente les faisceaux vers les points à afficher Laffichage se fait en partant en haut à gauche de lécran puis de gauche à droite, ligne après ligne : balayage Les électrons frappent des photophores sur la surface interne de lécran qui luisent pendant un bref instant seulement : nécessité de rafraîchir Pour ne pas percevoir de scintillement, le rafraîchissement doit être supérieur à 72Hz

359 IUT Informatique Calais Architecture des ordinateurs359 (1)Cathode (2)Électrons (3)Anode (4)Plaques verticales (5)Plaques horizontales (6)Écran (7)Photophore

360 IUT Informatique Calais Architecture des ordinateurs360 Écran LCD à cristaux liquides TFT (Thin Film Transistor) : Ce type décran qui était utilisé par les portables remplace maintenant également les moniteurs de bureau cathodiques. Le principe consiste à faire passer la lumière émise par un panneau fluorescent à travers des filtres successifs : un filtre polarisant vertical un filtre de couleur une cellule à cristaux liquides un filtre polarisant horizontal

361 IUT Informatique Calais Architecture des ordinateurs361 Les tailles des écrans des moniteurs sont indiqués par rapport à leur diagonale mesurée en pouces (de 14 à 25 voir plus) Dans de nombreuses publications est fait un rapport entre taille de lécran et résolution daffichage optimale pour une utilisation confortable : ce rapport est contestable … Résolutions daffichage : 640x480, 800x600, 1024x768, 1152x864, 1280x960, 1280x1024, 1280x800, 1400x1050, 1400x900, 1600x900, 1600x1200, 1800x1440, 1920x1080, 1920x1200, 1920x1440, 2048x1536 … Caractéristiques des moniteurs cathodique : pas de masque ou pitch (distance horizontale qui sépare 2 points de phosphore de même couleur : plus il est petit et plus limage est fine compris entre 0,29 pour les plus mauvais à < 0,2 pour les meilleurs) fréquence de rafraîchissement à sa résolution maximale Caractéristiques des moniteurs LCD : temps de réponse (quelle que soit la couleur) couleurs affichables

362 IUT Informatique Calais Architecture des ordinateurs Imprimante Critères de classification : Famille technologique : à impact : frappe du caractère sur un ruban encreur devant la feuille (marguerite, tulipe, boule, aiguilles, tambour, bande) sans impact : caractère formé par projection ou transfert d'encre (laser, jet d'encre, thermique) Mode d'impression du caractère : caractère préformé : type machine à écrire (marguerite, tulipe, boule, tambour, bande) impression matricielle : caractère formé par une matrice de points (aiguilles, laser, jet d'encre, thermique)

363 IUT Informatique Calais Architecture des ordinateurs363 Mode d'impression du texte : mode caractère : impression caractère par caractère (marguerite, tulipe, boule, aiguilles, jet d'encre, thermique) mode ligne : impression ligne à ligne (aiguilles, tambour, bande, jet d'encre, thermique) mode page : impression page à page (laser, jet d'encre) Mode d'avancement du papier : par traction : entraînement à l'aide de roues à picots dont les dents s'insèrent dans des perforations du papier (bandes caroll) par friction : entraînement par un rouleau caoutchouté

364 IUT Informatique Calais Architecture des ordinateurs Imprimante matricielle à impact une tête d'impression porte des aiguilles (9, 24, ou 48) qui frappent un ruban carboné défilant devant le papier le ruban est noir ou couleur (4 bandes NRVB ou NJMC) problèmes avec la couleur : certaines couleurs s'usent beaucoup plus vite que d'autres dérèglement de la hausse du ruban qui fait baver les couleurs

365 IUT Informatique Calais Architecture des ordinateurs Imprimante matricielle thermique avec papier thermosensible : l'aiguille est chauffée - son contact avec le papier déclenche une réaction chimique qui fait apparaître un point bleu ou noir impression matricielle : + permet limpression de dessins - lent - bruyant avec un ruban à transfert thermique : des éléments de couleurs sont déposés en chauffant le ruban - des rubans RVB ou JMC permettent d'obtenir 100 couleurs et une résolution de 400 ppp (points par pouce)

366 IUT Informatique Calais Architecture des ordinateurs Imprimante jet dencre jet continu : une série de buses émet de lencre à jet continu transformé en gouttelettes les gouttelettes passent devant une électrode qui les charge électriquement elles sont ensuite déviées par des plaques de déflexion en fonction de leur charge

367 IUT Informatique Calais Architecture des ordinateurs367 goutte à la demande : le circuit dencre est maintenu à basse pression : les gouttelettes restent dans lélectrode creuse lorsquun point doit être imprimé, une onde de choc est envoyée à la buse et la goutte est projetée sur le papier avantage : plus besoin de récupérer lencre inutilisée

368 IUT Informatique Calais Architecture des ordinateurs Imprimante laser même principe que les photocopieurs : technique xérographique un tambour couvert de sélénium est chargé +, un laser enlève les charges + des points à ne pas imprimer, de lencre en poudre (toner) chargée – est déposée uniquement sur les points à imprimer, cette poudre est déposée sur le papier puis fixée par cuisson rapide, précis, faible prix de revient, mais cher à lachat

369 IUT Informatique Calais Architecture des ordinateurs Critères de choix interfaçage : parallèle, série, usb, sans fil (bluetooth ou wifi) qualité : les jet dencre sont maintenant meilleures que les laser vitesse dimpression : les lasers sont les plus rapides polices de caractères choix du papier : laser peu cher, jet dencre + cher, thermique très cher format du papier : A4, A3, A2, A1, … (passer aux tables traçantes) bruit : les jet dencre et laser sont peu bruyantes Pour les anciennes imprimantes : nombre de colonnes en mode texte dispositif encreur : type de ruban

370 IUT Informatique Calais Architecture des ordinateurs Scanner une source lumineuse éclaire intensément la ligne du document à scanner, à laide dun miroir et dune lentille focalisatrice une barrette de cellules photosensibles CCD (dispositifs à couplage de charge) recueille la luminosité réfléchie par le document 3 types de scanners :- scanner à main - scanner feuille à feuille - scanner à plat

371 IUT Informatique Calais Architecture des ordinateurs Clavier Plusieurs types de claviers selon la technologie utilisée pour les touches : type membrane : film plastique recouvrant hermétiquement des microcontacts (résistants mais pénibles à utiliser) type calculatrice : touches en plastique dur montés sur ressorts (peu ergonomique, contacts pas francs) type gomme : les touches sont dune matière dont le toucher rappelle celui de la gomme (frappe rapide impossible) type machine à écrire : touches ergonomiques, dureté calculée … (claviers actuels mais à lorigine très chers : 1000F à 10000F) type cristaux liquides : permet dassocier à chaque touche un caractère ou une fonction particulière tout en affichant un pictogramme de celui-ci sur la touche

372 IUT Informatique Calais Architecture des ordinateurs372 Fonctionnement : cest un véritable petit µordinateur à lui seul ! ROM et RAM : codes des touches dispositif dE/S pour les touches et pour dialoguer avec lordinateur µprocesseur qui joue le rôle de contrôleur, dinterface et de circuit dE/S

373 IUT Informatique Calais Architecture des ordinateurs Souris Souris à boule en déplaçant la souris la boule fait tourner deux rouleaux disposés à angle droit lun de lautre (déplacement vertical et horizontal) ces rouleaux sont solidaires de roues crantées qui permettent de déduire le sens et la vitesse de déplacement de la souris à laide de cellules photoélectriques

374 IUT Informatique Calais Architecture des ordinateurs Souris optique infrarouge et laser une LED illumine la surface la lumière réfléchie est captée au travers de lentilles

375 IUT Informatique Calais Architecture des ordinateurs375 LED infrarouge / laser Image analysée et comparée à la précédente pour déterminer le déplacement

376 IUT Informatique Calais Architecture des ordinateurs376 Le capteur reste le même mais la qualité de limage traitée est meilleure image LED infrarougeimage laser Précision et rapidité de réaction accrues

377 IUT Informatique Calais Architecture des ordinateurs Modem Cest un pont entre les signaux numériques de lordinateur et les signaux analogiques transmis sur la ligne téléphonique Lors dune communication entre 2 ordinateurs, dun côté les 0 et les 1 sont transformés en signaux analogiques en faisant varier la fréquence du signal (modulation) et de lautre côté lopération inverse est effectuée (démodulation) modulation-démodulation : modem Les données sont transmises par paquets (suites de bits) – chaque paquet utilise 1 bit de début et 1 ou 2 bits de fin pour indiquer le début et la fin de transmission lors de transmission asynchrone Pour détecter et corriger les erreurs un bit de parité est utilisé (mis à 1 si le nombre de 1 est impair) La vitesse de transmission est exprimées en bits/s.

378 IUT Informatique Calais Architecture des ordinateurs / / / / / /9600 Jusquà Jusquà Jusquà Jusquà V.21 V.22 V.22bis V.23 V.26 V.26bis V.27 V.27bis V.29 V.32 V.32bis V.34 V.34+ V.90 Débit en bits/sCCITT Modems RTC normalisés

379 IUT Informatique Calais Architecture des ordinateurs379 Sens de transmission : unidirectionnel (ou simplex) bidirectionnel à lalternat (ou semi-duplex ou half-duplex) bidirectionnel simultané (ou duplex ou full-duplex) Durée de transmission fonction de : nombre de bits pour coder un caractère vitesse de transmission compression ou non exemple : transférer un fichier sans compression de 9600 caractères codés sur 10 bits à bauds : (9600 * 10) / = 5 secondes

380 IUT Informatique Calais Architecture des ordinateurs Modem ADSL : ADSL signifie Asymmetric Digital Subscriber Line en anglais En français : RNA « raccordement numérique asymétrique » ou « liaison numérique à débit asymétrique » Utilise des fréquences supérieures à celles d'un signal voix Les données et le signal voix circulent à des fréquences différentes : voix : 300Hz à 4000Hz ADSL : jusqu'à 1MHz ADSL2+ : jusquà 2MHz Même principe pour le SDSL sauf que débit montant =débit descendant Emission et réception simultanées à 100 % des débits respectifs montant (émission) et descendant (réception).

381 IUT Informatique Calais Architecture des ordinateurs381 Débits standards rencontrés en France : montants entre 128kbits/s et 1024kbits/s descendants jusquà 24Mbits/s Nécessité de poser des filtres ADSL entre chaque téléphone (ou fax ou modem RTC) et sa prise murale afin de séparer correctement les signaux des téléphones de ceux de l'ADSL Se raccorde via une prise Ethernet ou USB Peut être intégré à un router souvent Wifi Peut être intégré à une machine multifonction (freebox, livebox, neufbox, …)


Télécharger ppt "Architecture des Ordinateurs IUT Informatique de Calais."

Présentations similaires


Annonces Google