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

Présentations similaires


Présentation au sujet: "Architecture des Ordinateurs"— Transcription de la présentation:

1 Architecture des Ordinateurs
IUT Informatique de Calais

2 Objectif du cours : Étude du fonctionnement interne de l’ordinateur
logique booléenne 1iè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 2ième partie : carte mère et périphériques carte mère : chipset, bus, connecteurs … périphériques d’entrée : clavier, souris … périphériques de sortie : écran, imprimante … périphériques d’entrée sortie : disque dur, modem ... IUT Informatique Calais Architecture des ordinateurs

3 Architecture des ordinateurs
Période : 1er semestre (16 semaines) 16 Cours 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 IUT Informatique Calais Architecture des ordinateurs

4 Architecture des ordinateurs
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 d’unités de traitement primitives assemblage de ces unités pour préciser l’organisation de l’ordinateur IUT Informatique Calais Architecture des ordinateurs

5 Architecture des ordinateurs
1.2 Historique de l’informatique … 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 (offline ...) (offline ...) 1.2.1 Du manuel à la mécanique IUT Informatique Calais Architecture des ordinateurs

6 Architecture des ordinateurs
L’homme a toujours cherché à s’aider pour le calcul : -500 : premiers outils de calcul, l ’abaque et le boulier IUT Informatique Calais Architecture des ordinateurs

7 Architecture des ordinateurs
-300 : 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 IUT Informatique Calais Architecture des ordinateurs

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

9 Architecture des ordinateurs
IUT Informatique Calais Architecture des ordinateurs

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

11 Architecture des ordinateurs
1820 : C.X. Thomas invente l’arithmomètre (6 à 20 chiffres) 1 500 exemplaires vendus de 1823 à 1878 IUT Informatique Calais Architecture des ordinateurs

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

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

14 Architecture des ordinateurs
1833 : Babbage imagine une machine analytique contenant les concepts d’unité 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 d’itérations successive dans l’exécution d’une opération et nomme ce processus algorithme en l’honneur du mathématicien arabe Al Khowarizmi IUT Informatique Calais Architecture des ordinateurs

15 Architecture des ordinateurs
1854 : Boole démontre que tout processus logique est décomposable en une suite d’opé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, c’est la 1ière machine à traiter l’information IUT Informatique Calais Architecture des ordinateurs

16 Architecture des ordinateurs
1896 : 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 IUT Informatique Calais Architecture des ordinateurs

17 Architecture des ordinateurs
1937 : A.M. Turing résout des problèmes mathématiques à l’aide d ’une bande de papier, de pions et d ’un trombone ! C’est 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 IUT Informatique Calais Architecture des ordinateurs

18 Architecture des ordinateurs
1941 : J. Atanasoff et C. Berry créent le 1er calculateur binaire basé sur l’algèbre de Boole. L’ABC est considéré comme le premier ordinateur mais son programme n’est 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 IUT Informatique Calais Architecture des ordinateurs

19 Architecture des ordinateurs
1943 : 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 1943 : Thomas Watson, IBM : « Je pense qu’il y a un marché mondial pour au moins 5 ordinateurs. » 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 s’appellera BUG. 1945 : J. Von Neuman travaillant sur le projet ENIAC définit ce que devrait être un ordinateur à programme enregistré : architecture de Von Neuman IUT Informatique Calais Architecture des ordinateurs

20 Historique de l ’informatique 1.2.3 L’électronique
IUT Informatique Calais Architecture des ordinateurs

21 Architecture des ordinateurs
1946 : P. Eckert et J. Mauchly créent l’ENIAC. Particularités : tubes, 30 tonnes, 72 m2, 140 KW, 100 kHz, 330 x/s IUT Informatique Calais Architecture des ordinateurs

22 Architecture des ordinateurs
1947 : invention du transistor dans les laboratoires de Bell Telephone 1948 : Newman et Williams créent le Manchester Mark I. Particularité : mémoire à tubes cathodiques 1949 : revue Popular Mechanics : « Alors que le calculateur ENIAC est équipé de tubes à vide et pèse 30 tonnes, les futurs ordinateurs de l’an 2000 ne devraient avoir que 1000 tubes à vide et ne peser que 1,5 tonnes. » 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 d’un code source 1953 : invention de la mémoire à tores de ferrite IUT Informatique Calais Architecture des ordinateurs

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

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

25 Architecture des ordinateurs
1958 : 1er circuit intégré par Texas Instruments 1958 : 1er modem par Bell 1958 : 1er 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 IUT Informatique Calais Architecture des ordinateurs

26 Architecture des ordinateurs
1965 : 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 l’ARPANET (ancêtre de l ’internet) 1967 : premier lecteur de disquettes par IBM IUT Informatique Calais Architecture des ordinateurs

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

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

29 Architecture des ordinateurs
1972 : 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 n’y a aucune raison pour que tout le monde veuille un ordinateur à la maison » IUT Informatique Calais Architecture des ordinateurs

30 Architecture des ordinateurs
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 ! IUT Informatique Calais Architecture des ordinateurs

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

32 Architecture des ordinateurs
Janvier 1983 : Apple lance le Lisa. Caractéristiques : µP à 5Mhz, 1 Mo RAM, 2 Mo ROM, écran graphique 12’’ 720x364, 2 x 5’’25, DD 5 Mo avec interface graphique et souris $ Janvier 1984 : Apple lance le Macintosh. Caractéristiques : µP à 8Mhz, 128Ko RAM, 64 Ko ROM, 3’’50, é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. » IUT Informatique Calais Architecture des ordinateurs

33 Historique de l’informatique FIN
IUT Informatique Calais Architecture des ordinateurs

34 Architecture des ordinateurs
1.3 Positionnement du problème On souhaite construire un ordinateur basé sur l’utilisation 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 IUT Informatique Calais Architecture des ordinateurs

35 Architecture des ordinateurs
1.4 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 IUT Informatique Calais Architecture des ordinateurs

36 Architecture des ordinateurs
1.5 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 s’appliquent 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 IUT Informatique Calais Architecture des ordinateurs

37 Architecture des ordinateurs
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 2.2.1 Fonction NON (inverseur) Elle donne le complémentaire d ’une valeur logique. a s symbole usuel symbole normalisé ANSI table de vérité 1 IUT Informatique Calais Architecture des ordinateurs

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

39 Architecture des ordinateurs
2.2.4 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 & 2.2.5 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 IUT Informatique Calais Architecture des ordinateurs

40 Architecture des ordinateurs
2.2.6 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 2.2.7 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 IUT Informatique Calais Architecture des ordinateurs

41 Architecture des ordinateurs
2.2.8 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 IUT Informatique Calais Architecture des ordinateurs

42 Architecture des ordinateurs
2.2.9 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 ou IUT Informatique Calais Architecture des ordinateurs

43 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

44 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 13 14 8 9 10 11 12 2 1 7 6 5 4 3 IUT Informatique Calais Architecture des ordinateurs

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

46 Architecture des ordinateurs
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 15ns NON-OU-EXCLUSIF à 3 entrées OU-EXCLUSIF à 3 entrées 14ns NON-OU à 3 entrées NON-ET à 3 entrées OU à 3 entrées ET à 3 entrées 13ns NON-OU-EXCLUSIF à 2 entrées OU-EXCLUSIF à 2 entrées 12ns NON-OU à 2 entrées NON-ET à 2 entrées OU à 2 entrées ET à 2 entrées 10ns NON (inverseur) Délai de propagation : b vers t : = 34ns IUT Informatique Calais Architecture des ordinateurs

47 Architecture des ordinateurs
Chronogrammes en TD : on supposera qu’il n’y a pas de délai de propagation Exemple de chronogramme : t b a c s i j 1 s j i b a temps IUT Informatique Calais Architecture des ordinateurs

48 Architecture des ordinateurs
2.3 Simplification d’une 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. IUT Informatique Calais Architecture des ordinateurs

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

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

51 Pour trouver la valeur décimale d'un nombre en base B :
N10=anBn + an-1Bn-1 + … + a2B2 + a1B1 + a0 Exemples : = 1×23 + 0×22 + 1× = 1110 2478 = 2×82 + 4× = 16710 2DB16 = 2× × = 73110 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 2n il suffit de regrouper les bits par n de la droite vers la gauche afin de retrouver chaque chiffre en base 2n. Exemples : soit à représenter en octal (8 = 23) : = 2678 hexadécimal (16 = 24) : = B716 IUT Informatique Calais Architecture des ordinateurs

52 Architecture des ordinateurs
2.4.2 Représentation des nombres binaires non signés n bits permettent de représenter 2n valeurs différentes, donc les nombres entiers positifs de 0 à 2n-1. Exemple : sur 8 bits on peut représenter 28 = 256 valeurs différentes donc les entiers de 0 à 255 ( à ). 2.4.3 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, c’est 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 (0→1, 1→0) étape 3 : ajouter 1 (additionner 1 au nombre obtenu) IUT Informatique Calais Architecture des ordinateurs

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

54 Architecture des ordinateurs
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. 4 6 10 0100 110 1010 4 -2 -6 0100 1110 10010 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 IUT Informatique Calais Architecture des ordinateurs

55 Architecture des ordinateurs
2.4.4 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 à 10n-1 (ou 102m-1) 2.4.5 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 : an an-1…a0 , a-1 a-2 … a-p = anbn + an-1bn-1 + … + a0b0 + a-1b-1 + a-2b-2 + … + a-pb-p IUT Informatique Calais Architecture des ordinateurs

56 Architecture des ordinateurs
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 qu’elle devienne nulle ou que la précision maximale soit atteinte. Exemple 1 : 28,125 28  11100 0,125 * 2 = 0, ,25 * 2 = 0, ,5 * 2 = 1,0 0,125  0,001 28 2 1 1 IUT Informatique Calais Architecture des ordinateurs

57 Codage informatique des nombres réels selon la norme IEEE 754 :
Exemple 2 : 0,3 0,3 * 2 = 0, ,6 * 2 = 1, ,2 * 2 = 0, ,4 * 2 = 0, ,8 * 2 = 1,6 0,6 * 2 = 1, ,2 * 2 = 0, … 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,… * 2n puis codés sur 32bits. le 1er bit code le signe (0 pour + et 1 pour -) les 8 bits suivants codent l’exposant 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 24ième bit est 1 alors on arrondit à la valeur supérieure (mantisse + 1) seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm IUT Informatique Calais Architecture des ordinateurs

58 Architecture des ordinateurs
Exemple : 5,3  101, … normalisation : 1, … * 22 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 : l’exposant signifie que le nombre est dénormalisé l’exposant signifie que ce n’est pas un nombre (NaN) les exposant sont donc compris entre –126 et 127. IUT Informatique Calais Architecture des ordinateurs

59 Architecture des ordinateurs
2.4.6 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 IUT Informatique Calais Architecture des ordinateurs

60 Architecture des ordinateurs
3 Logique combinatoire 3.1 Introduction Objet : étude des fonctions logiques du type x=f(a,b,c,…). Note : le temps n’intervient pas dans l’équation. La logique combinatoire permet la réalisation des fonctions de base d’un 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. IUT Informatique Calais Architecture des ordinateurs

61 Architecture des ordinateurs
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 l’activité du circuits sur ses entrées. Remarque : similitude conception d’un 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. IUT Informatique Calais Architecture des ordinateurs

62 Architecture des ordinateurs
3.2 Exemples de circuits combinatoire 3.2.1 Additionneur Réalise l’addition 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 IUT Informatique Calais Architecture des ordinateurs

63 Architecture des ordinateurs
3.2.2 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. 2n entrées de donnée n entrées de contrôle Les n bits de contrôle ( 0 à 2n-1 ) = numéro de l’entrée à sélectionner s e0 e3 e2 e1 c1 c0 1 1 = e1 IUT Informatique Calais Architecture des ordinateurs

64 Architecture des ordinateurs
Démultiplexeur = rôle inverse du multiplexeur : choisir la sortie vers laquelle transmettre l’entrée s0 s3 s2 s1 e c1 c0 = e 1 IUT Informatique Calais Architecture des ordinateurs

65 Architecture des ordinateurs
3.2.3 Décodeur et encodeur Décodeur : n entrées et 2n sorties Les n bits en entrée codent une valeur de 0 à 2n-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. s0 s3 s2 s1 e0 e1 e2 s4 s7 s6 s5 = 0 = 1 1 IUT Informatique Calais Architecture des ordinateurs

66 Architecture des ordinateurs
Encodeur : rôle inverse du décodeur 2n entrées et n sorties Une seule entrée est à 1 Les n bits en sortie codent le numéro de l’entrée qui est à 1 s0 e3 s2 s1 e0 e1 e2 e4 e7 e6 e5 1 = 0 = 1 IUT Informatique Calais Architecture des ordinateurs

67 Architecture des ordinateurs
3.3 Méthodologie de réalisation d’un circuit combinatoire À 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 d’un tableau de Karnaugh 4 dessiner le schéma logique du circuit IUT Informatique Calais Architecture des ordinateurs

68 obtenu à partir de la table de vérité
3.3.1 Tableau de Karnaugh permet de trouver l’équation logique d’une sortie d’un 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 Entrées dans le même ordre que dans la table de vérité IUT Informatique Calais Architecture des ordinateurs

69 Architecture des ordinateurs
4 entrées a1a0b1b0 (en fait 2 nombres A et B) : tableau de Karnaugh de s Entrées toujours codées dans l’ordre croissant du codage binaire (ici de 0000 à 1111) Entêtes de ligne et de colonnes codées dans l’ordre croissant du codage de Gray IUT Informatique Calais Architecture des ordinateurs

70 Architecture des ordinateurs
Nombres croissants sur 3 bits selon …. le codage binaire classique : on ajoute 1 à chaque fois 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 n’a pas déjà été utilisé par un nombre précédent) 001:OK 000:NON 011:OK 010:OK 011:NON 000:NON 110:OK 111:OK 110:NON 101:OK 100:OK Remarque : Le premier et le dernier nombre ont également un seul bit qui les différencie IUT Informatique Calais Architecture des ordinateurs

71 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

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

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

74 Architecture des ordinateurs
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 : IUT Informatique Calais Architecture des ordinateurs

75 Architecture des ordinateurs
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 à l’union de plusieurs groupements, le OU EXCLUSIF correspond à l’union moins l’intersection de 2 groupements exemples : IUT Informatique Calais Architecture des ordinateurs

76 Architecture des ordinateurs
IUT Informatique Calais Architecture des ordinateurs

77 Architecture des ordinateurs
3.4 Étude de quelques circuits combinatoires 3.4.1 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 : r b a s IUT Informatique Calais Architecture des ordinateurs

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

79 Architecture des ordinateurs
Tableau de Karnaugh de s0 : IUT Informatique Calais Architecture des ordinateurs

80 Architecture des ordinateurs
Tableau de Karnaugh de s0 : IUT Informatique Calais Architecture des ordinateurs

81 Architecture des ordinateurs
Tableau de Karnaugh de s0 : IUT Informatique Calais Architecture des ordinateurs

82 Architecture des ordinateurs
Tableau de Karnaugh de s1 : IUT Informatique Calais Architecture des ordinateurs

83 Architecture des ordinateurs
Tableau de Karnaugh de s1 : IUT Informatique Calais Architecture des ordinateurs

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

85 Architecture des ordinateurs
3.4.3 additionneur complet sur des données de taille quelconque 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 : IUT Informatique Calais Architecture des ordinateurs

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

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

88 Architecture des ordinateurs
Schéma logique d'un additionneur 4 bits constitué d'additionneurs complets : r S A B IUT Informatique Calais Architecture des ordinateurs

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

90 Architecture des ordinateurs
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 ... IUT Informatique Calais Architecture des ordinateurs

91 Architecture des ordinateurs
… il vaut mieux utiliser un multiplexeur : c1 c0 a b s IUT Informatique Calais Architecture des ordinateurs

92 Architecture des ordinateurs
Schéma logique d’une UL sur 4 bits en combinant 4 UL 1 bit : S A B c1 c0 IUT Informatique Calais Architecture des ordinateurs

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

94 Architecture des ordinateurs
Le circuit primitif a donc deux entrées e1 et e0 qui sont respectivement les bits i+1 et i-1 de l’entré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 e1 e0 IUT Informatique Calais Architecture des ordinateurs

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

96 Architecture des ordinateurs
3.4.6 Conversion BCD en binaire 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 l’addition mais on ne sait pas multiplier par 10 … … mais décaler une donnée binaire d’une position vers la gauche correspond à une multiplication par deux … donc on décompose 10d en 8d + 2d ( x8 = 3 décalages à gauche ) IUT Informatique Calais Architecture des ordinateurs

97 Architecture des ordinateurs
Schéma logique d’un convertisseur BCD en binaire : + E S IUT Informatique Calais Architecture des ordinateurs

98 Architecture des ordinateurs
3.4.7 Test de validité d’un 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 c’est le cas, 0 sinon ( si les 4 bits ont une valeur > 9 ) soit b3b2b1b0 les 4 bis en entrée et s la sortie s b2 b1 b3 IUT Informatique Calais Architecture des ordinateurs

99 Architecture des ordinateurs
3.4.8 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 IUT Informatique Calais Architecture des ordinateurs

100 Architecture des ordinateurs
3.4.9 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 : 0 1 2 … … 15 … … 1111 0 1 2 … … -1 IUT Informatique Calais Architecture des ordinateurs

101 Architecture des ordinateurs
4 Logique séquentielle 4.1 Introduction 4.1.1 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) IUT Informatique Calais Architecture des ordinateurs

102 Architecture des ordinateurs
4.1.2 Quelques définitions Définition 7 : Un état d’un circuit est une configuration des sorties de ce circuit. Les n états d’un 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 2m états différents. Définition 8 : Une transition est un changement d’état. Définition 9 : Le graphe de transitions d’un circuit est un graphe dont les nœuds sont les états possible du circuit, les arcs les transitions possibles. IUT Informatique Calais Architecture des ordinateurs

103 Architecture des ordinateurs
4.1.3 L’oscillateur (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 d’obtenir 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). L’oscillateur le plus simple est une simple porte inverseur bouclant sur elle-même : IUT Informatique Calais Architecture des ordinateurs

104 Architecture des ordinateurs
La fréquence d’oscillation est fixée par le délai de propagation dans la porte. Dans un ordinateur, l’oscillateur rythmant ses activités est constitué d’un 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 d’un quartz, on obtient des fréquences sous-multiples à l’aide de diviseurs de fréquence réalisés à l’aide de compteurs (voir TDs). IUT Informatique Calais Architecture des ordinateurs

105 Architecture des ordinateurs
4.2 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 d’une 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 l’on veut lire ou écrire l’état interne de la bascule ; une entrée de donnée utilisée dans le cas d’une écriture spécifiant la valeur à écrire dans la bascule ; une sortie sur laquelle l’état courant de la bascule peut être lu. IUT Informatique Calais Architecture des ordinateurs

106 Architecture des ordinateurs
Bascule D : v e s L’entrée de contrôle v indique si l’on 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 n’est pas modifiée. IUT Informatique Calais Architecture des ordinateurs

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

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

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

110 Architecture des ordinateurs
4.3 La fonction mémoire Une bascule est un élément de mémorisation de 1 bit (ou point-mémoire). L’entré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. 4.3.1 Le registre C’est 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. Lorsqu’on 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. IUT Informatique Calais Architecture des ordinateurs

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

112 Architecture des ordinateurs
4.3.2 La mémoire 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 à l’aide de nm bascules. Étant donné une adresse, un décodeur sélectionne un mot dans la mémoire, c’est-à-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). IUT Informatique Calais Architecture des ordinateurs

113 Architecture des ordinateurs
Mémoire de 4 mots de 3 bits : Bus de données D Bus d’adresses Signal d’écriture IUT Informatique Calais Architecture des ordinateurs

114 Architecture des ordinateurs
Bus de données Signal d’écriture D Bus d’adresses IUT Informatique Calais Architecture des ordinateurs

115 Architecture des ordinateurs
Remarque : point de vue du programmeur 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. L’adresse de ce mot correspond au nom donné à la variable dans le programme. L’une des tâches du compilateur consiste donc a associer à chaque variable une adresse en mémoire, ou un registre. IUT Informatique Calais Architecture des ordinateurs

116 Architecture des ordinateurs
4.4 Compteurs 4.4.1 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 n’existe qu’une seule transition qui l’atteint 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 d’une 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. IUT Informatique Calais Architecture des ordinateurs

117 Architecture des ordinateurs
4.4.2 Conception d’un compteur Nombre d’états du compteur  nombre de bascules nécessaires. Pour un circuit à n états (de 0 à n-1), il faut au minimum log2(n-1) bascules ( x dénote le plus petit entier supérieur ou égal à x). Remarque : c’est aussi le nombre de bits nécessaires au codage du nombre n-1 en binaire. Lorsque le nombre d’états d’un compteur n’est 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) IUT Informatique Calais Architecture des ordinateurs

118 Architecture des ordinateurs
Compteur à 2n états Réalisons un compteur de 0 à 7 : il y a 8 états donc 3 bascules sont nécessaires (D0, D1 et D2). Table de transitions : 1 7 6 5 4 3 2 D0 D1 D2 Etat t+1 t IUT Informatique Calais Architecture des ordinateurs

119 Architecture des ordinateurs
Pour , on a le tableau de Karnaugh : 1 10 11 01 00 D2\D1D0 Pour , on a le tableau de Karnaugh : 1 10 11 01 00 D2\D1D0 Pour , on a le tableau de Karnaugh : 1 10 11 01 00 D2\D1D0 IUT Informatique Calais Architecture des ordinateurs

120 Architecture des ordinateurs
D’où le schéma du compteur de 0 à 7 : 1 1 1 D2 D1 D0 1 1 1 1 IUT Informatique Calais Architecture des ordinateurs

121 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 (D0, D1, D2 et D3). 4 bascules permettent de coder 16 états, donc 6 seront inutilisées. X 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 D0 D1 D2 D3 Etat t+1 t IUT Informatique Calais Architecture des ordinateurs

122 Architecture des ordinateurs
Table de transitions : X 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 D0 D1 D2 D3 Etat t+1 t Tableau de Karnaugh de D3t+1 : 1 01 X 11 10 00 D3D2\D1D0 IUT Informatique Calais Architecture des ordinateurs

123 Architecture des ordinateurs
Table de transitions : X 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 D0 D1 D2 D3 Etat t+1 t Tableau de Karnaugh de D2t+1 : 1 01 X 11 10 00 D3D2\D1D0 IUT Informatique Calais Architecture des ordinateurs

124 Architecture des ordinateurs
Table de transitions : X 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 D0 D1 D2 D3 Etat t+1 t Tableau de Karnaugh de D1t+1: 1 01 X 11 10 00 D3D2\D1D0 IUT Informatique Calais Architecture des ordinateurs

125 Architecture des ordinateurs
Table de transitions : X 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 D0 D1 D2 D3 Etat t+1 t Tableau de Karnaugh de D0t+1: 1 01 X 11 10 00 D3D2\D1D0 IUT Informatique Calais Architecture des ordinateurs

126 Architecture des ordinateurs
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é. 2 solutions : Ajouter un signal d’initialisation pour démarrer à l’état 0 : Modifier la table de transition pour faire évoluer les états non utilisés vers l’état 0. C’est-à-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 ... IUT Informatique Calais Architecture des ordinateurs

127 Architecture des ordinateurs
Schéma d’un compteur de 0 à 9 avec initialisation : D2 D1 D0 init D3 IUT Informatique Calais Architecture des ordinateurs

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

129 Architecture des ordinateurs
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. La table de transitions s’obtient directement à partir du graphe de transitions : vert orange 1 rouge 2 IUT Informatique Calais Architecture des ordinateurs

130 Architecture des ordinateurs
À partir des équations issues de la table de transitions, on dessine le circuit : D1 D0 IUT Informatique Calais Architecture des ordinateurs

131 Architecture des ordinateurs
Comment allumer les différents feux à partir des valeurs de D0 et de D1 ? On utilise un décodeur : s0 s3 s2 s1 e0 e1 e2 s4 s7 s6 s5 IUT Informatique Calais Architecture des ordinateurs

132 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. C’est un compteur à 4 états (0 à 3), donc il faut bascules pour le circuit. 2 Graphe de transition : vert orange 1 rouge 2 rouge orange 3 IUT Informatique Calais Architecture des ordinateurs

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

134 Architecture des ordinateurs
IUT Informatique Calais Architecture des ordinateurs

135 Architecture des ordinateurs
4.4.4 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 d’une séquence d’instructions d’un programme. Un compteur est capable de réaliser un cycle d’activités un nombre fixé de fois. C’est un circuit capable de contrôler une boucle pour ; l’indice de la boucle est alors la valeur courante du compteur. IUT Informatique Calais Architecture des ordinateurs

136 Architecture des ordinateurs
4.5 Automates 4.5.1 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 IUT Informatique Calais Architecture des ordinateurs

137 Architecture des ordinateurs
4.5.2 Introduction Un automate est un circuit logique pouvant être dans un certain nombre d’états. Plusieurs transitions peuvent entrer ou sortir d’un 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. IUT Informatique Calais Architecture des ordinateurs

138 Architecture des ordinateurs
4.5.3 Méthodologie de conception d’un automate 1. Déterminer les cycles d’actions de l’automate 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 l’automate. 4. Déterminer le nombre de bascules nécessaires à la réalisation de l’automate : pour n états c’est le nombre de bits pour coder n-1 en binaire. 5. Tracer le graphe de transitions de l’automate. 6. En déduire la table de transitions. 7. Pour chacune des bascules, déterminer l’équation logique de son entrée à l’aide d’un tableau de Karnaugh. 8. Faire le schéma logique de l’automate. Cette méthode n’est 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. IUT Informatique Calais Architecture des ordinateurs

139 Architecture des ordinateurs
L’objectif d’un 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. C’est-à-dire que tant que l’automate est dans cet état, l’action est réalisée. 2. Soit une action (ou des actions) est associée à une transition (l’automate arrive ou quitte un état). Une transition entraîne un front (montant ou descendant selon que l’on atteint ou que l’on quitte un état) qui déclenche une action. Ce mode de fonctionnement est utilisé lorsque l’on veut seulement déclencher une action, c’est-à-dire émettre une impulsion. IUT Informatique Calais Architecture des ordinateurs

140 Architecture des ordinateurs
4.5.4 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. IUT Informatique Calais Architecture des ordinateurs

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

142 Architecture des ordinateurs
1 10 11 01 00 c\D1D0 IUT Informatique Calais Architecture des ordinateurs

143 Architecture des ordinateurs
IUT Informatique Calais Architecture des ordinateurs

144 Architecture des ordinateurs
4.5.5 Distributeur de café On veut réaliser un automate contrôlant un distributeur de café. On suppose qu’il 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é. IUT Informatique Calais Architecture des ordinateurs

145 Architecture des ordinateurs
Ces 4 cas correspondent à 4 cycles différents du distributeur. 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 d’une 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 l’eau Il y a 7 états (0 à 6) donc 3 bascules seront nécessaires. IUT Informatique Calais Architecture des ordinateurs

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

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

148 Architecture des ordinateurs
IUT Informatique Calais Architecture des ordinateurs

149 Architecture des ordinateurs
IUT Informatique Calais Architecture des ordinateurs

150 Architecture des ordinateurs
L’automate que l’on 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 ! IUT Informatique Calais Architecture des ordinateurs

151 Architecture des ordinateurs
init ( ) ( ) ( ) c1 c0 D2 D1 D0 D2 D1 D0 D0 D1 D2 c0 c1 IUT Informatique Calais Architecture des ordinateurs

152 Architecture des ordinateurs
L’automate que l’on vient de réaliser contrôle les activités du distributeur. Mais il est intéressant de regarder l’interfaçage avec : le circuit donneur d’ordres ; le circuit servant les boissons. La commande des boissons se fait au travers d’un 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, ...). IUT Informatique Calais Architecture des ordinateurs

153 Architecture des ordinateurs
Interfaçage de l’automate du distributeur de café : ? encodeur décodeur c1 c0 c cs cl cls D2 D1 D0 gobelet café sucre et mélang. lait eau ? 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) IUT Informatique Calais Architecture des ordinateurs

154 Architecture des ordinateurs
4.5.6 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. C’est un registre dans lequel on peut écrire une donnée, la lire, et la décaler directement dans le registre. D c0 c1 w e3 e2 e1 e0 IUT Informatique Calais Architecture des ordinateurs

155 Architecture des ordinateurs
w e3 e2 e1 e0 À chaque entrée de donnée des bascules est envoyé un fil du bus de données et les sorties des 2 bascules l’entourant. En fonction d’un signal de commande (c1c0), un multiplexeur sélectionne l’une de ces trois données pour l’écrire dans la bascule : IUT Informatique Calais Architecture des ordinateurs

156 Architecture des ordinateurs
4.5.7 Sérialiseur / désérialiseur de données Lorsque l’on doit transmettre une donnée, il est courant d’utiliser un seul fil et d’envoyer les bits de donnée à la queue-leu-leu : c’est 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, d’effectuer à chaque impulsion d’horloge un décalage à droite. IUT Informatique Calais Architecture des ordinateurs

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

158 Architecture des ordinateurs
4.5.8 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 1 3 3 3 1 4 3 En binaire non signé : multiplicande x multiplicateur produit IUT Informatique Calais Architecture des ordinateurs

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

160 Architecture des ordinateurs
En binaire non signé : multiplicande x multiplicateur produit + Par rapport à la ligne précédente, les nombres qui sont écrits sont décalés d’un rang vers la gauche. 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 d’additionner toutes les lignes en une fois, on les additionne 2 à 2 et on inscrit les sommes intermédiaires dans un registre : l’accumulateur. IUT Informatique Calais Architecture des ordinateurs

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

162 Architecture des ordinateurs
L’algorithme utilisé est le suivant (n est la taille des données) : pour i de 0 à n-1 faire si MT ^ 1 = 1 alors RES  RES + MD fsi décaler MD d’un bit vers la gauche décaler MT d’un bit vers la droite fpour C’est l’algorithme standard de multiplication tel qu’il est enseigné à l’école primaire. IUT Informatique Calais Architecture des ordinateurs

163 Architecture des ordinateurs
Le multiplicateur se compose des éléments suivants : 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. IUT Informatique Calais Architecture des ordinateurs

164 Architecture des ordinateurs
Le séquenceur doit déclencher les différentes actions à l’intérieur de la boucle et contrôler la réalisation de la boucle : initialisation du circuit, c’est-à-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 d’itérations. IUT Informatique Calais Architecture des ordinateurs

165 Architecture des ordinateurs
0. inactivité du multiplicateur ; 1. test du bit de poids faible de MT ; 2. décalage de MD et MT ; 3. test du compteur d’itérations. Transition de l’état 0 à l’état 1 : il faut déclencher l’initialisation 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. IUT Informatique Calais Architecture des ordinateurs

166 Architecture des ordinateurs
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 wR : signal d’écriture dans RES wT : signal d’écriture dans MT wD : signal d’écriture dans MD dT : décalage droite MT dD : décalage gauche MD iC : signal décrémentation décompteur 1 2 3 init, reset, wT, wD f wR dT, dD, iC cpt non nul cpt = 0 INIT IUT Informatique Calais Architecture des ordinateurs

167 Architecture des ordinateurs
décompteur de n à 0 init IC séquenceur INIT dD dT wR reset wT wD MT RES MD IUT Informatique Calais Architecture des ordinateurs

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

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

170 Architecture des ordinateurs
Remarques : La multiplication, contrairement à l’addition, 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 : l’une signée, l’autre non signée. Comme vous l’avez remarqué, la multiplication est une opération bien plus complexe à réaliser qu’une addition. En fait, les premiers microprocesseurs ne disposaient pas d’instruction de multiplication ; elle devait être programmée en assembleur. IUT Informatique Calais Architecture des ordinateurs

171 Architecture des ordinateurs
4.5.9 Conclusion Pour terminer le chapitre sur la logique séquentielle : 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 d’un processeur est maintenant connu. IUT Informatique Calais Architecture des ordinateurs

172 Architecture des ordinateurs
5 Le processeur 5.1 Introduction Un microprocesseur est constitué par un assemblage de circuits exécutant les fonctions de l’unité centrale de traitement d’un micro-ordinateur. En anglais : CPU = central processing unit. Définition : Un microprocesseur est un circuit logique capable, après identification d’une séquence d’instructions, d’effectuer des traitements de l’information. IUT Informatique Calais Architecture des ordinateurs

173 Architecture des ordinateurs
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 calculs UAL = unité arithmétique et logique échanges de données bus internes et externes, unité E/S synchronisation des opérations horloge 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 IUT Informatique Calais Architecture des ordinateurs

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

175 Architecture des ordinateurs
5.2 Bus internes Définition : Un bus est un ensemble de fils qui transportent (en parallèle ou en série) une information d’un composant à l’autre. 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 d’adresse bus de contrôle Les bus se distinguent par : largeur vitesse IUT Informatique Calais Architecture des ordinateurs

176 Architecture des ordinateurs
5.3 UAL Circuits nécessaires pour les opérations arithmétiques et logiques étudiés dans les chapitres précédents En fonction de l’opé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 IUT Informatique Calais Architecture des ordinateurs

177 Architecture des ordinateurs
5.4 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 d’accélérer la vitesse de traitement Ils peuvent être synchronisés avec l’UAL IUT Informatique Calais Architecture des ordinateurs

178 Unité d’entrées/ sorties (E/S)
But : échanger des informations avec l’extérieur (nécessaire au fonctionnement du CPU) Unité d’entrées/ sorties (E/S) Intérieur du processeur Extérieur du processeur Bus de donnée Bus d’adresse Bus de commande L’unité d’E/S assure les liaisons entre bus internes et bus externes Les bus d’adresse est unidirectionnel IUT Informatique Calais Architecture des ordinateurs

179 Architecture des ordinateurs
5.6 Unité de commande « Chef d’orchestre » qui pilote et synchronise les unités du processeur Elle est pilotée par une horloge et permet de cadencer l’exé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. L’entré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) IUT Informatique Calais Architecture des ordinateurs

180 Architecture des ordinateurs
Exemple : verrou unidirectionnel simple 4 bits e0 e1 e2 e3 transfert s0 s1 s2 s3 e3 e2 e1 e0 1 s3 s2 s1 s0 Transfert Exemple : transfert du contenu de 2 registres en parallèle : Registre 0 Registre 1 Verrou e0 e1 D transfert transfert R0 R1 Schéma de principe IUT Informatique Calais Architecture des ordinateurs

181 Architecture des ordinateurs
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. L’entrée de contrôle modifie l’ordre de connexion des entrées de données aux sorties. Exemple : cellule de commutation simple 1 bit e0 e1 s0 s1 c 1 Il existe des cellules unidirectionnels (ei si) et des cellules bidirectionnelles (ei si) IUT Informatique Calais Architecture des ordinateurs

182 Architecture des ordinateurs
5.7 Modèle de Von Neumann En 1945 J. Von Neumann ( ) définit les bases de l’architecture 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 IUT Informatique Calais Architecture des ordinateurs

183 Architecture des ordinateurs
5.7.1 Principe général de fonctionnement du microprocesseur Pour exécuter un programme, le microprocesseur effectue cycliquement : lecture d’un code d’instruction en mémoire (fetch) reconnaissance de ce code, ou décodage (decode) exécution d’un ordre élémentaire (execute) positionnement sur le code de l’instruction suivante du programme En plus de l’accumulateur il faut d’autres registres pour le fonctionnement du microprocesseur : compteur ordinal (pointe sur l’instruction suivante immédiate) registre d’instruction 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, …) IUT Informatique Calais Architecture des ordinateurs

184 Architecture des ordinateurs
5.7.2 Séquencement des instructions Une instruction est découpée en plusieurs micro-opérations / micro-commandes Lire l’instruction Calculer l’adresse de la prochaine instruction, incrémenter le CO Décoder l’opération Calculer les adresses des opérandes si nécessaire Lire les opérandes éventuelles depuis la mémoire Exécuter l’instruction Calculer l’adresse du résultat Ranger le résultat en mémoire IUT Informatique Calais Architecture des ordinateurs

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

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

187 Architecture des ordinateurs
Définition : Un mnémonique est une abréviation permettant de se rappeler du code et de la fonction d’une 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é. IUT Informatique Calais Architecture des ordinateurs

188 Architecture des ordinateurs
5.8 Réalisation d'une unité de commande 5.8.1 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-instruction séquence de micro-opérations déclenche Idée : mémoire non-volatile (nanomémoire) code-instruction adresse 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 IUT Informatique Calais Architecture des ordinateurs

189 Architecture des ordinateurs
5.8.2 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 IUT Informatique Calais Architecture des ordinateurs

190 jeu d'instructions important pas (trop) de problème de réalisation
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 micro-processeurs (très) rapides disposant d'un jeu d'instruction réduit contenant des instructions simples et peu nombreuses processeurs CISC Complex Instruction Set Computer processeurs RISC Reduced Instruction Set Computer IUT Informatique Calais Architecture des ordinateurs

191 Les processeurs construits par Intel et AMD utilisent un compromis
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 décodeur d'instructions code opération opérande 1 opé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 : IUT Informatique Calais Architecture des ordinateurs

192 Architecture des ordinateurs
5.8.3 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 IUT Informatique Calais Architecture des ordinateurs

193 Architecture des ordinateurs
5.9 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 ... IUT Informatique Calais Architecture des ordinateurs

194 Architecture des ordinateurs
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 Ei (ou zone de stockage accessible) l'emplacement unique sur lequel une opération de lecture ou d'écriture est possible à l'instant t. IUT Informatique Calais Architecture des ordinateurs

195 Architecture des ordinateurs
6.2 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, ...) IUT Informatique Calais Architecture des ordinateurs

196 Architecture des ordinateurs
6.2.1 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 Ei alors l'accès à l'instant t+1 porte obligatoirement sur l'emplacement Ei+1 ou Ei-1 (notion d'accès séquentiel). Définition : Une pile est une mémoire séquentielle dont les déplacements (Ei Ei+1 ou Ei Ei-1) sont liés respectivement à la commande d'écriture ou de lecture. écrire (empiler) Ei occupé vide Ei Ei+1 écrire dans Ei+1 lire (dépiler) Ei occupé vide Ei Ei-1 lire dans Ei IUT Informatique Calais Architecture des ordinateurs

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

198 Architecture des ordinateurs
6.2.2 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 l’accès sur chacune d’elles en un temps indépendant de la position. l’accè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 d’adresse i. La valeur précédemment stockée à l’adresse i est perdue, « écrasée » par la nouvelle valeur lecture en mémoire : délivre une copie du mot binaire stocké à l’adresse i. La lecture ne modifie pas la valeur du mot en mémoire. IUT Informatique Calais Architecture des ordinateurs

199 Architecture des ordinateurs
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 l’information stockée disparaît lorsque l’on coupe l’alimentation. On peut également distinguer : UVPROM, EEPROM : programmable par l’utilisateur 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 IUT Informatique Calais Architecture des ordinateurs

200 Familles et sous-familles de mémoires adressables :
Principales mémoires adressables Mémoires mortes Mémoires vives ROM masque PROM utilisateur RAM statiques RAM dynamiques Associatives (caches) PROM fusibles EPROM 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 IUT Informatique Calais Architecture des ordinateurs

201 mot 0 mot 1 ... mot M-1 mot M ... ... mot M+N-1 ... ... ...
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 2m 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 mot M-1 mot M mot M+N M-1 M M+N-1 M+N ... 2m-1 adresses RAM ROM E/S IUT Informatique Calais Architecture des ordinateurs

202 Architecture des ordinateurs
il existe deux méthodes principales pour désigner une adresse : linéaire : mots numérotés de 0 à 2m-1 segmentée : adresse = < n° segment , déplacement > 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 ... IUT Informatique Calais Architecture des ordinateurs

203 Architecture des ordinateurs
Aspect matériel : le temps d’accè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 d0, …, d7, … pour les données broches a0, …, a7, … pour les adresses éventuellement une broche OE (output enable) de connexion (logique 3 états) des sorties vers l’extérieur (bus de donnée) 2 broches pour l’alimentation électrique IUT Informatique Calais Architecture des ordinateurs

204 Architecture des ordinateurs
6.2.3 Mémoires associatives : la mémoire cache est une mémoire associative présente dans tous les ordinateurs personnels qui a pour but d’accélérer l’accè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, ...) IUT Informatique Calais Architecture des ordinateurs

205 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 < IUT Informatique Calais Architecture des ordinateurs

206 Architecture des ordinateurs
6.3 RAM dynamique et RAM statique Définition : Une RAM est dite statique (SRAM) si l’information est conservée en l’absence de signaux de commandes. la cellule élémentaire d’une SRAM est constituée de 4 transistor MOS formant une sorte de bascule RS (différente de la bascule D) Définition : Une RAM est dite dynamique (DRAM) si l’information ne peut être conservée que par l’application répétée de signaux de commande (rafraîchissement de la mémoire) la cellule élémentaire d’une DRAM est constituée d’un 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) IUT Informatique Calais Architecture des ordinateurs

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

208 Architecture des ordinateurs
6.4 Caractéristiques des mémoires RAM actuelles 6.4.1 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 IUT Informatique Calais Architecture des ordinateurs

209 Architecture des ordinateurs
6.4.2 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 64 16 2x64 Fréquence en MHz 66 133 250 800 1 066 1 500 Débit en Mo/s 508 1 017 2 034 3 814 6 103 8 132 22 888 IUT Informatique Calais Architecture des ordinateurs

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

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

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

213 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 IUT Informatique Calais Architecture des ordinateurs

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

215 Architecture des ordinateurs
7.2 Jeu d'instruction 7.2.1 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, R1 R1 05 2. Charger la case mémoire d'adresse (8000)16 avec le contenu de R2 MOVE R2, $8000 M[8000] (R2) 3. Additionner la valeur 05 au contenu de R1, le résultat est dans R1 ADD #05, R1 R1 (R1) + 05 instruction : ensemble de µcommandes dépendant du mode d'adressage IUT Informatique Calais Architecture des ordinateurs

216 Architecture des ordinateurs
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, CLR1 R1 0 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, R R (M[87FF]) IUT Informatique Calais Architecture des ordinateurs

217 Architecture des ordinateurs
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, *R2 M[R2] (R1) ex 2 : MOVE *$7AF2, R1 R1 (M[M[7AF2]]) 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 7.2.2 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 IUT Informatique Calais Architecture des ordinateurs

218 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

219 Architecture des ordinateurs
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 Les instructions ont toutes un opérande au plus noté $n ($ pour hexa) 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]) IUT Informatique Calais Architecture des ordinateurs

220 Architecture des ordinateurs
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 ! 7.2.3 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érande une instruction 1 mot mémoire = 1 octet IUT Informatique Calais Architecture des ordinateurs

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

222 7.2.4 Codage des instructions
Le premier octet d'une instruction peut être divisé en 2 champs : champ opération INST<6:1> champ d'adressage INST<7+0> instruction groupe IUT Informatique Calais Architecture des ordinateurs

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

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

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

226 Architecture des ordinateurs
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 : 0001 instruction groupe mode d’adressage Codage final : 8E 2A IUT Informatique Calais Architecture des ordinateurs

227 Architecture des ordinateurs
-- 99 END C1 LEAVE 20 ENTER 91 RET 88 09 08 CALL 9E 1F 1E BSN C6 47 46 BSV A6 27 26 BSZ 96 17 16 BSC 8E 0F 0E BRA C5 POPA A5 PUSHA 94 15 ST 8C 0D 0C LD 9A 1B 1A EOR C2 43 42 OR A2 23 22 AND 92 13 12 SUB 8A 0B 0A ADD Basé-indexé Direct Immédiat Implicite IUT Informatique Calais Architecture des ordinateurs

228 Architecture des ordinateurs
Présentation de la petite machine à l’aide du logiciel … 7.3 Programmation de la petite machine 7.3.1 Saisie et exécution d’un programme simple Additionner les nombres 21 et 13 et mettre le résultat à l’adresse $80. LD #$15 chargement de 21 dans A ADD #$0D additionner 13 au registre A ST $80 stocker A à l’adresse $80 END fin du programme Effectuer l’opération ( ) OU (24 – 14) et stocker le résultat à l’adresse $80 … IUT Informatique Calais Architecture des ordinateurs

229 Architecture des ordinateurs
7.3.2 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=-1 7.3.3 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 à l’adresse $80 … IUT Informatique Calais Architecture des ordinateurs

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

231 Architecture des ordinateurs
7.3.5 Notations à utiliser en TD et DS Nombres en hexadécimal ($dd) et codés en complément à 2 Utilisation d’étiquettes au lieu d’adresses 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 à l’adresse $81) res = $80 (variable res lue et stockée à l’adresse $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 finsi : END IUT Informatique Calais Architecture des ordinateurs

232 Architecture des ordinateurs
7.3.6 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 #$dd appelle 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 IUT Informatique Calais Architecture des ordinateurs

233 Architecture des ordinateurs
Exemple : E CALL #$42 CP = =2 CP = CP+1+1= … CP = CP+1+1= 30 ADD #$23 CP = =44 CP = CP+1+1= 46 CP = CP+1+1= … A RET 5C … CP = CP+1+1= 5C CP = 30 Problème : comment se rappeler que c’est à l’adresse 30 qu’il faut revenir ? IUT Informatique Calais Architecture des ordinateurs

234 Architecture des ordinateurs
Gestion de l’adresse de retour : utilisation d’une pile (pointée par SP) Lorsque l’instruction CALL est appelée, l’adresse de retour est empilée. CALL #$dd : M[SP] CP SP SP CP dd empiler $30 saut à $42 À la fin du sous-programme, lorsque RET est appelé, l’adresse est récupérée sur la pile RET : SP SP CP M[SP] dépiler $30 dans CP donc saut à $30 L’utilisation de la pile permet l’imbrication de plusieurs appels à des sous-programmes Visualisation des appels avec la petite machine … IUT Informatique Calais Architecture des ordinateurs

235 Architecture des ordinateurs
7.3.7 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 L’accès aux paramètres et aux variables locales d’une fonction se fait impérativement en utilisant le mode basé-indexé ([RX+dd]) : RX indique l’endroit sur la pile correspondant au sous-programme en cours Les paramètres sont empilés avant l’appel au sous-programme à l’aide de l’instruction PUSHA et dépilés après l’appel à l’aide de l’instruction POPA Exemple : 00 LD #$ PUSHA LD #$A PUSHA CALL #$ A ST $ C POPA 0E POPA variable res=$80 étiquette f à l’adresse $16 res:=f(66,165) IUT Informatique Calais Architecture des ordinateurs

236 Les variables locales sont allouées à l’aide de l’instruction ENTER :
ENTER est la première instruction d’un 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 #$dd M[SP] RX (dd indique le nombre de SP SP – 1 variables locales désirées) RX SP SP SP - dd empiler RX courant : RX=sommet de pile : réserver dd cases sur la pile Les variables locales sont libérées (enlevées de la pile) et l’ancien contenu de RX (avant l’appel) récupéré à l’aide de l’instruction LEAVE : mode implicite : LEAVE SP RX SP SP RX M[SP] récupérer ancien som. de pile dépiler RX pour récupérer son ancienne valeur IUT Informatique Calais Architecture des ordinateurs

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

238 Architecture des ordinateurs
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] … 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] … Si le sous-programme est une fonction, on supposera que le résultat est stocké dans A avant de retourner au programme appelant 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é à l’adresse 80. IUT Informatique Calais Architecture des ordinateurs

239 Architecture des ordinateurs
7.3.8 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 IUT Informatique Calais Architecture des ordinateurs

240 Architecture des ordinateurs
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) A LEAVE 3C RET (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 ! IUT Informatique Calais Architecture des ordinateurs

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

242 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) IUT Informatique Calais Architecture des ordinateurs

243 Architecture des ordinateurs
Connexion d'un registre à un bus : R CR ER LR Commande CR active : ER : R (bus) LR : bus (R) Commande CR inactive : R isolé du bus R ER équivalent à : LR Commande ER active : R (bus) Commande LR active : bus (R) IUT Informatique Calais Architecture des ordinateurs

244 Architecture des ordinateurs
Schéma de l'unité de traitement de la petite machine : unité de contrôle SELA LA EAC opération EAC 8 A 4 8 U A L indicateur d'état C Z SELA LA 4 N V bus de données 8 IUT Informatique Calais Architecture des ordinateurs

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

246 Architecture des ordinateurs
Gestion du mode basé-indexé : bus d' adresses 8 SELRX LRX EAD EAR RX RR extérieur du CPU ADD SELEX LEX bus de données 8 IUT Informatique Calais Architecture des ordinateurs

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

248 7.4.2 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 PROCESSEUR séquenceur unité de traitement unité de gestion de la mémoire RI Partie contrôle IUT Informatique Calais Architecture des ordinateurs

249 Architecture des ordinateurs
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 7.5 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 IUT Informatique Calais Architecture des ordinateurs

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

251 Architecture des ordinateurs
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 #$00 12 LD *$ ST $8B 14 ADD $8B 04 LD #$0A 16 ST $8B 06 ST $79 18 LD $79 08 ADD #$00 1A SUB #$01 0A BSZ #$20 1C ST $79 0C LD #$80 1E BRA #$0A 0E ADD $79 20 END 10 ST $78 3 variables : $8B = somme $79 = compteur (i) $78 = adresse de l'élément de tab IUT Informatique Calais Architecture des ordinateurs

252 Architecture des ordinateurs
7.6 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 IUT Informatique Calais Architecture des ordinateurs

253 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 IUT Informatique Calais Architecture des ordinateurs

254 Architecture des ordinateurs
8.2 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. IUT Informatique Calais Architecture des ordinateurs

255 Architecture des ordinateurs
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), MIII 0,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 Pourquoi graver plus finement ? Diminuer la chaleur dissipée Augmenter la fréquence de fonctionnement 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 ... IUT Informatique Calais Architecture des ordinateurs

256 Architecture des ordinateurs
8.3 Registres internes 8.3.1 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 d’un mot Entiers Préc. Réels 8086 au à ,5.10-5 80386DX au P4, Athlon à 2, Athlon64, P4 EM64T, Core , à 5, IUT Informatique Calais Architecture des ordinateurs

257 Architecture des ordinateurs
Les processeurs n'ayant pas ces caractéristiques utilisaient des co-processeurs arithmétiques 40bits : 8087, 80187, 80287, 80387, 80487 Les processeurs actuels incluent des registres de taille supérieure à la taille des mots standard traitées (MMX, 3Dnow!, SSE, SSE2, SSE3, SSE4) 8.3.2 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, … IUT Informatique Calais Architecture des ordinateurs

258 Architecture des ordinateurs
8086 au 80486SX : 8 GPRs 16bits + 8 FPRs 80bits si co-processeur x87 80386DX 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 IUT Informatique Calais Architecture des ordinateurs

259 Architecture des ordinateurs
8.4 Bus 8.4.1 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 Largeur Espace d'adr. Mémoire adr. 80386, 80486, Pentium, Athlon 32bits 4Gmots 4Go Pentium pro, PII, PIII, P4 36bits 68Gmots 64Go Itanium 44bits 17Tmots 16To Athlon64, P4 EM64T, Core 2 64bits Tmots 256To , 1To IUT Informatique Calais Architecture des ordinateurs

260 Architecture des ordinateurs
8.4.2 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 IUT Informatique Calais Architecture des ordinateurs

261 Fréquences de fonctionnement
Processeur Année bus de données Fréquences de fonctionnement Intel 8086 1978 16 bits 4,77 puis 10 MHz Intel 286 1981 6, 12 et jusque 20 MHz Intel 386DX 1985 32 bits 16, 33 et jusque 40 Mhz Intel 486 1989 16 à 50 MHz Intel Pentium 1992 64 bits MHz Intel Pentium II 1997 66 – Mhz AMD K6 MHz AMD Athlon 1999 2 x ( – 166) MHz Pentium 4, Core 2 2000 4 x ( – 200 – 266) MHz AMD Athlon 64 2003 4 x 200 Mhz IUT Informatique Calais Architecture des ordinateurs

262 Architecture des ordinateurs
8.5 Vitesse de l’horloge Le travail du microprocesseur est cadencé par le rythme de l’horloge de la carte mère auquel est appliqué un multiplicateur La fréquence ne donne qu’une idée très approximative de la vitesse de travail du µprocesseur à cause du nombre de µcycles/instr : Une instruction nécessitant 10 µcycles d’horloge (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 n’est pas comparable entre µp à jeu d’instructions complexes et réduits. MFLOPS, GFLOPS (millions ou milliards d’opérations sur des réels effectuées par seconde) mais le nombre de cycles d’attente pour accéder à la mémoire entre aussi en compte … IUT Informatique Calais Architecture des ordinateurs

263 Architecture des ordinateurs
µprocesseur Multiplicateur Fréquence en Mhz Pentium 1 à 4 Mhz K6 2,5 à 5,5 Mhz Pentium II 3,5 à 5 Mhz Pentium III 4 à 11 Mhz Athlon 5 à 11 Mhz Pentium 4 13 à 26 1,3-3,8 GHz Athlon64 10 à 13 2-2,6 GHz Pentium M 10 à 16 1,5-2,13 GHz Core 2 6 à 11 1,6-2,93GHz IUT Informatique Calais Architecture des ordinateurs

264 Permettent d’atténuer les cycles d’attentes dus aux accès mémoire
8.6 Mémoires caches Permettent d’atténuer les cycles d’attentes 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) 8.6.1 Un seul niveau de cache Une requête de lecture du µp entraîne 2 possibilités : 1) La donnée est dans le cache : succès (cache success) 2) La donnée n’est pas dans le cache : échec (cache miss) cache libre cache plein IUT Informatique Calais Architecture des ordinateurs

265 Architecture des ordinateurs
Lignes de cache entières manipulées : P4 : L1 64octets et L2 128octets par ligne Athlon 64 : L1 et L2 64 octets par ligne 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 l’algo 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 IUT Informatique Calais Architecture des ordinateurs

266 Architecture des ordinateurs
8.6.2 Deux niveaux de cache exclusifs Tant que L1 n’est pas plein : fonctionnement du cache unique Quand L1 est plein, L2 entre en action : l’algo 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 l’algo LRU est effacée (sauf s’il y a un niveau 3 – L3) IUT Informatique Calais Architecture des ordinateurs

267 Architecture des ordinateurs
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) IUT Informatique Calais Architecture des ordinateurs

268 Architecture des ordinateurs
8.6.3 Deux niveaux de cache inclusifs Tant que L1 n’est pas plein : si la donnée n’est 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) IUT Informatique Calais Architecture des ordinateurs

269 Architecture des ordinateurs
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 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) = L2 seulement (car L1  L2 ) IUT Informatique Calais Architecture des ordinateurs

270 + pas de contrainte sur L2 + taille utile = L1 + L2 + performance L2
Caches exclusifs Caches inclusifs + pas de contrainte sur L2 + taille utile = L1 + L2 + performance L2 + niveaux de cache supplémentaires - performance L2 - niveaux de cache supplémentaires - contrainte sur L2 (L2 >> L1) - taille utile = L2 AMD : Athlon, Athlon64 grand L1, L2 moyen INTEL : Pentium 4, Core 2 petit L1, grand L2 ou L2 moy + L3 µp L1 inst+données L2 Fréq. L2 L3 Pentium II 16ko + 16ko 512ko FSB / Pentium III 256/512ko ½ µp Pentium 4 12kµop + 8ko 128 à 2048ko 2048ko (P4EE) Xeon 256 à 512ko 1024 à 6144ko Athlon 64ko + 64ko Athlon64 512 à 1024ko Core 2 32ko + 32ko 4096ko IUT Informatique Calais Architecture des ordinateurs

271 Exemple : pipeline à 3 étages
L’idé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écution décodage chargement instruction 1 instant t exécution décodage instruction 1 chargement instant t+1 instruction 2 exécution instruction 1 décodage instruction 2 chargement instruction 3 instant t+2 IUT Informatique Calais Architecture des ordinateurs

272 6 + (4 (entiers) / 9 (réels)) Core 2 14
Plus le nombre d’étage est grand, plus le débit des instructions est important (idée de base de l’architecture 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 d’où utilisation de méthodes de prédiction de branchement µprocesseur Étages du pipeline Pentium III 10 Pentium 4 20 puis 31 (prescott) Pentium M 12 Athlon 11 Athlon 64 6 + (4 (entiers) / 9 (réels)) Core 2 14 IUT Informatique Calais Architecture des ordinateurs

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

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

275 Architecture des ordinateurs
8.9.2 Intel Pentium 4 IUT Informatique Calais Architecture des ordinateurs

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

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

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

279 Architecture des ordinateurs
9 Les périphériques 9.1 Composants d’un 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 d’E/S (série, parallèle, USB, IR, …) périphériques internes (cartes, DD, …) périphériques externes (moniteur, clavier, souris, imprimante, scanner, …) + alimentation + boîtier = unité centrale (UC) carte mère IUT Informatique Calais Architecture des ordinateurs

280 Architecture des ordinateurs
9.2 Circuits d’entrées/sorties et interfaces Définition d’un périphérique : système matériel qui permet d’introduire (ou d’extraire) des données dans (ou de) l’ordinateur Composition d’un périphérique : partie « active » qui effectue les opérations (mémoriser des données, afficher, imprimer …) connexion qui relie la partie active à l’ordinateur (µp) via les bus et circuits d’E/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 l’ordinateur IUT Informatique Calais Architecture des ordinateurs

281 Architecture des ordinateurs
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 d’E/S jouent souvent le rôle d’interfaces (on considère que ces termes sont équivalents) IUT Informatique Calais Architecture des ordinateurs

282 Architecture des ordinateurs
Organisation des E/S vers les périphériques : un circuit d’E/S : assure le transfert des informations de ou vers les bus de l’ordinateur une interface : adapte les signaux en provenance du périphérique pour les rendre compatibles avec le circuit d’E/S (temps/débit, amplitude/intensité, protocole) un contrôleur de périphérique qui gère la partie active Remarques : le circuit d’E/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 d’interface est soit : dans le circuit d’E/S dans le périphérique divisé en 2 parties (circuit E/S + périphérique) IUT Informatique Calais Architecture des ordinateurs

283 Architecture des ordinateurs
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 d’E/S et l’interface pour accéder au contrôleur de périphérique et le pilote grâce à ces 3 registres Il existe 2 types d’interfaces : dédiée : une interface par périphérique + : simple à concevoir - : multiplie de nombre d’interfaces dans l’ordinateur générique : une interface indépendante du périphérique + : une seule interface dans l’ordinateur - : norme, problèmes de vitesse, … IUT Informatique Calais Architecture des ordinateurs

284 Architecture des ordinateurs
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 d’interruption (IRQ) qui permet à tout moment d’interrompre l’exécution d’un 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 d’interruption et le contrôleur d’accès direct en mémoire (DMA) non détaillé dans ce cours IUT Informatique Calais Architecture des ordinateurs

285 9.3 Liaison synchrone et asynchrone
Définition : une liaison est dite synchrone si la transmission d’un bit est liée à un signal d’horloge commun aux deux interlocuteurs 1 msg clk émetteur récepteur msg clk masse commune émetteur ré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 différentes durées d’impulsions pour 1 et 0 IUT Informatique Calais Architecture des ordinateurs

286 Architecture des ordinateurs
9.4 Liaison série et liaison parallèle 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 d’interférences : grande longueur de câble possible Inconvénient : plus lent qu’une liaison parallèle (à l’origine) Liaisons série sur le PC (à l’origine) : port PS/2 (clavier, souris) – liaison synchrone port série (port RS232) - liaison asynchrone – limité à 30m IUT Informatique Calais Architecture des ordinateurs

287 Architecture des ordinateurs
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 qu’une liaison série (nombreux fils) + il y a de fils et + la fréquence est élevée alors + il y a d’interférences et + la distance de communication est courte Liaisons parallèles sur le PC (à l’origine) : 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 d’adresse en dehors du µp bus de donnée, bus d’adresse dans le µp IUT Informatique Calais Architecture des ordinateurs

288 Architecture des ordinateurs
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 l’Ultra ATA (IDE ou PATA) pour les périphériques de stockage Autre amélioration : utilisation de plusieurs liens série simultanément pour atteindre de très hauts débits 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 l’Athlon64 IUT Informatique Calais Architecture des ordinateurs

289 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

290 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

291 Architecture des ordinateurs
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) IUT Informatique Calais Architecture des ordinateurs

292 Architecture des ordinateurs
9.5 Carte mère (PC) principal circuit imprimé de l’ordinateur permet d’inter-connecter tous les éléments de l’ordinateur contient le bus système, un ensemble de connecteurs et de ports d’E/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 l’usb, 33/66Mhz pour l’agp … etc Définitions : chipset : ensemble de circuits gérant les échanges d’information slot : connecteur « fond de panier » sur la carte mère BIOS (Basic Input Output System) : programme en ROM d’initialisation et de test des composants de l’ordinateur et de pilotage des fonctions d’E/S de base IUT Informatique Calais Architecture des ordinateurs

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

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

295 Architecture des ordinateurs
Socket 775 : IUT Informatique Calais Architecture des ordinateurs

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

297 Architecture des ordinateurs
Connecteurs cartes d’extension 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 IUT Informatique Calais Architecture des ordinateurs

298 Architecture des ordinateurs
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) IUT Informatique Calais Architecture des ordinateurs

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

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

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

302 Architecture des ordinateurs
9.5.2 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, … dédié à une famille de µp north bridge south bridge IUT Informatique Calais Architecture des ordinateurs

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

304 Architecture des ordinateurs
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) IUT Informatique Calais Architecture des ordinateurs

305 Architecture des ordinateurs
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) IUT Informatique Calais Architecture des ordinateurs

306 Architecture des ordinateurs
9.5.3 Détail d’une ancienne carte mère IUT Informatique Calais Architecture des ordinateurs

307 Architecture des ordinateurs
9.5.4 Détail d’une carte mère récente IUT Informatique Calais Architecture des ordinateurs

308 Architecture des ordinateurs
9.6 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 d’acquisition, 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 d’authentification (vocal, empreinte, …) mémoires de masse périphériques d’E/S IUT Informatique Calais Architecture des ordinateurs

309 Architecture des ordinateurs
9.7 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, …) 9.7.1 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 C’est le support de stockage le plus connu de la micro-informatique car il a été longtemps le seul disponible facilement Dernier format existant : 3’’1/2 de capacité de 720Ko, 1,44Mo et 2,88Mo Interface : dédiée ou USB IUT Informatique Calais Architecture des ordinateurs

310 Architecture des ordinateurs
Schéma d’une disquette 3’’1/2 : IUT Informatique Calais Architecture des ordinateurs

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

312 Architecture des ordinateurs
Structure physique d’une disquette (ou d’un 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 IUT Informatique Calais Architecture des ordinateurs

313 Architecture des ordinateurs
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 d’amorçage qui peut contenir le programme de lancement (si c’est un disque système) une table d’allocation 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 qu’ensemble de clusters de taille donnée (512octets, 1024, 2048, 4096, …) dans lesquels seront stockées des informations sous forme de fichiers L’ensemble des clusters est géré à l’aide de la table d’allocation qui permet de retrouver les clusters utilisés par un fichier IUT Informatique Calais Architecture des ordinateurs

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

315 Architecture des ordinateurs
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. L’ensemble des pistes portant le même numéro sur les différents plateaux est appelé un cylindre IUT Informatique Calais Architecture des ordinateurs

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

317 Architecture des ordinateurs
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 : MHz SATA : MHz x 2 DDR x bit x 16 bits x % codage paquets 8b10b / 8 bits par octets / bits par octets = 100 Mo/s = 150Mo/s IUT Informatique Calais Architecture des ordinateurs

318 Architecture des ordinateurs
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 d’attente des commandes (NCQ) : l’ordre 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 IUT Informatique Calais Architecture des ordinateurs

319 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

320 Architecture des ordinateurs
É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 IUT Informatique Calais Architecture des ordinateurs

321 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

322 Architecture des ordinateurs
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 d’1 bloc = vitesse d’1 disque IUT Informatique Calais Architecture des ordinateurs

323 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

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

325 Architecture des ordinateurs
9.7.3 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 IUT Informatique Calais Architecture des ordinateurs

326 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

327 Architecture des ordinateurs
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) IUT Informatique Calais Architecture des ordinateurs

328 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

329 Architecture des ordinateurs
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) IUT Informatique Calais Architecture des ordinateurs

330 Architecture des ordinateurs
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 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 IUT Informatique Calais Architecture des ordinateurs

331 Architecture des ordinateurs
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 l’horloge 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 IUT Informatique Calais Architecture des ordinateurs

332 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

333 Architecture des ordinateurs
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 1984. 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 IUT Informatique Calais Architecture des ordinateurs

334 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

335 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

336 Architecture des ordinateurs
CD-ROM Mode Mixte : Combine les formats CD-ROM et CD-A première piste informatique suivie d’une 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 IUT Informatique Calais Architecture des ordinateurs

337 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

338 Architecture des ordinateurs
CD-R (Recordable) ou disque WORM (Write Once/Read Many) : Le contenu d’un 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 IUT Informatique Calais Architecture des ordinateurs

339 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

340 Architecture des ordinateurs
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 d’un DVD 1X est de 1380 ko/s IUT Informatique Calais Architecture des ordinateurs

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

342 Architecture des ordinateurs
double face, simple (DVD 10) ou double couche (DVD 18) : 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 d’erreur et des octets de sync. Gain finesse gravure (4,5) + gain codages (1,52) : capacité d’un DVD simple face simple couche 7 fois plus importante que celle d’un CD : DVD 5 : 4,7Go DVD 9 : 8,5Go DVD 10 : 9,4Go DVD 18 : 17Go IUT Informatique Calais Architecture des ordinateurs

343 Architecture des ordinateurs
Lecture de la première couche toujours de l’intérieur vers l’extérieur Lecture de la seconde couche possible dans les deux sens (possibilité d’enchaî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 d’enregistrement 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 IUT Informatique Calais Architecture des ordinateurs

344 9.7.4 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 IUT Informatique Calais Architecture des ordinateurs

345 Architecture des ordinateurs
9.8 Périphériques d’E/S 9.8.1 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 qu’entre elle et l’écran Sur un écran l’image est découpée en points élémentaires : pixels (picture’s element – pict’s el.) Résolution d’une image = nombre de pixels présents simultanément (donné par nb pixels par ligne * nb pixels par colonne) La couleur d’un 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 IUT Informatique Calais Architecture des ordinateurs

346 Architecture des ordinateurs
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 d’utiliser plus de 8 bits par composantes) IUT Informatique Calais Architecture des ordinateurs

347 Architecture des ordinateurs
Capacité de la mémoire vidéo : Ex : 1024 x 768 en 256 couleurs : 1024 * 768 * 8 = bits = 768Ko Nombre de couleurs 16,8M 65536 256 16 Résolution 900Ko 600Ko 300Ko 150Ko 640 x 480 1,37Mo 938Ko 469Ko 235Ko 800 x 600 2,25Mo 1,5Mo 768Ko 384Ko 1024 x 768 3,75Mo 2,5Mo 1,25Mo 640Ko 1280 x 1024 5,49Mo 3,66Mo 1,83Mo 1600 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 ! IUT Informatique Calais Architecture des ordinateurs

348 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

349 Architecture des ordinateurs
Interface : A l’origine 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 l’arrivée de la 3D et notamment l’utilisation 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 : l’AGP est un port et non un bus car il ne fonctionne qu’avec un seul composant ! Avec le PCIe carte graphique connectée sur un port 16x = 4Go/s : aucun intérêt car un débit d’un peu plus de 1Go/s suffit pour l’instant Avantages : + simple, - coûteux et plusieurs cartes en 4x ou 8x IUT Informatique Calais Architecture des ordinateurs

350 Architecture des ordinateurs
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 IUT Informatique Calais Architecture des ordinateurs

351 Architecture des ordinateurs
À l’origine 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 IUT Informatique Calais Architecture des ordinateurs

352 Architecture des ordinateurs
En informatique, on parle d’affichage 3D lorsqu’on donne une impression de relief à partir d'une image plane, en jouant sur les effets de perspective, d'éclairage, d'ombrage, de texture, etc L’affichage 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 IUT Informatique Calais Architecture des ordinateurs

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

354 Architecture des ordinateurs
Étapes lors de la réalisation d’une image 3D (suite) : 5 : Plaquage de textures : Éclairage 7 : Transparence : Effets divers IUT Informatique Calais Architecture des ordinateurs

355 Architecture des ordinateurs
Programmation 3D : L’accès aux fonctions câblées des cartes graphiques se fait au travers de bibliothèques de fonctions d’affichage 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 d’exploitation (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 Problème : pour chaque bibliothèque il faut développer un driver spécifique (d’où différences de performances dues à la qualité des drivers) IUT Informatique Calais Architecture des ordinateurs

356 Architecture des ordinateurs
Des processeurs graphiques complexes : Les processeurs graphiques reprennent les optimisations des CPU : unités en parallèle (calculs, textures, pixel, …) plusieurs pipelines d’exécution (application des textures) 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) 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 IUT Informatique Calais Architecture des ordinateurs

357 Architecture des ordinateurs
Des cartes vidéo multi-fonctions : Les cartes vidéo actuelles ne se contentent plus seulement de l’affichage 2D/3D mais intègrent de plus en plus souvent d’autres fonctions : compression/décompression mpeg2 pour la vidéo capture d’images 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 IUT Informatique Calais Architecture des ordinateurs

358 Architecture des ordinateurs
9.8.2 Moniteur Écran cathodique : Il fonctionne sous le même principe qu’un é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 L’affichage 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 IUT Informatique Calais Architecture des ordinateurs

359 Architecture des ordinateurs
Cathode Électrons Anode Plaques verticales Plaques horizontales Écran Photophore IUT Informatique Calais Architecture des ordinateurs

360 Architecture des ordinateurs
É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 IUT Informatique Calais Architecture des ordinateurs

361 Architecture des ordinateurs
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 l’image 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 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 d’affichage optimale pour une utilisation confortable : ce rapport est contestable … Résolutions d’affichage : 640x480, 800x600, 1024x768, 1152x864, 1280x960, 1280x1024, 1280x800, 1400x1050, 1400x900, 1600x900, 1600x1200, 1800x1440, 1920x1080, 1920x1200, 1920x1440, 2048x1536 … IUT Informatique Calais Architecture des ordinateurs

362 Architecture des ordinateurs
9.8.3 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) IUT Informatique Calais Architecture des ordinateurs

363 Architecture des ordinateurs
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é IUT Informatique Calais Architecture des ordinateurs

364 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 IUT Informatique Calais Architecture des ordinateurs

365 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 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) impression matricielle : + permet l’impression de dessins - lent - bruyant IUT Informatique Calais Architecture des ordinateurs

366 Architecture des ordinateurs
Imprimante jet d’encre jet continu : une série de buses émet de l’encre à 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 IUT Informatique Calais Architecture des ordinateurs

367 Architecture des ordinateurs
goutte à la demande : le circuit d’encre est maintenu à basse pression : les gouttelettes restent dans l’électrode creuse lorsqu’un 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 l’encre inutilisée IUT Informatique Calais Architecture des ordinateurs

368 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 l’encre 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 à l’achat IUT Informatique Calais Architecture des ordinateurs

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

370 Architecture des ordinateurs
9.8.4 Scanner une source lumineuse éclaire intensément la ligne du document à scanner, à l’aide d’un miroir et d’une 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 IUT Informatique Calais Architecture des ordinateurs

371 Architecture des ordinateurs
9.8.5 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 d’une matière dont le toucher rappelle celui de la gomme (frappe rapide impossible) type machine à écrire : touches ergonomiques, dureté calculée … (claviers actuels mais à l’origine très chers : 1000F à 10000F) type cristaux liquides : permet d’associer à chaque touche un caractère ou une fonction particulière tout en affichant un pictogramme de celui-ci sur la touche IUT Informatique Calais Architecture des ordinateurs

372 Architecture des ordinateurs
Fonctionnement : c’est un véritable petit µordinateur à lui seul ! ROM et RAM : codes des touches dispositif d’E/S pour les touches et pour dialoguer avec l’ordinateur µprocesseur qui joue le rôle de contrôleur, d’interface et de circuit d’E/S IUT Informatique Calais Architecture des ordinateurs

373 Architecture des ordinateurs
9.8.6 Souris Souris à boule en déplaçant la souris la boule fait tourner deux rouleaux disposés à angle droit l’un de l’autre (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 à l’aide de cellules photoélectriques IUT Informatique Calais Architecture des ordinateurs

374 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 IUT Informatique Calais Architecture des ordinateurs

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

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

377 Architecture des ordinateurs
9.8.7 Modem C’est un pont entre les signaux numériques de l’ordinateur et les signaux analogiques transmis sur la ligne téléphonique Lors d’une communication entre 2 ordinateurs, d’un côté les 0 et les 1 sont transformés en signaux analogiques en faisant varier la fréquence du signal (modulation) et de l’autre côté l’opé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. IUT Informatique Calais Architecture des ordinateurs

378 Architecture des ordinateurs
Modems RTC normalisés 300 600/1200 1200/1400 2400 1200/2400 4800 2400/4800 4800/9600 Jusqu’à 14400 Jusqu’à 28800 Jusqu’à 33600 Jusqu’à 56000 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/s CCITT IUT Informatique Calais Architecture des ordinateurs

379 Architecture des ordinateurs
Sens de transmission : unidirectionnel (ou simplex) bidirectionnel à l’alternat (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 IUT Informatique Calais Architecture des ordinateurs

380 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). IUT Informatique Calais Architecture des ordinateurs

381 Architecture des ordinateurs
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, …) IUT Informatique Calais Architecture des ordinateurs


Télécharger ppt "Architecture des Ordinateurs"

Présentations similaires


Annonces Google