COURS ARCHITECTURE INTRODUCTION Définitions Ordinateur Historique REPRESENTATION DE L'INFORMATION Numération Codes internes Représentation des nombres signés LOGIQUE COMBINATOIRE Algèbre de Boole Circuits logiques élémentaires LOGIQUE SEQUENTIELLE Circuits logiques évolués LA FONCTION MEMOIRE Mémoire centrale Mémoires secondaires ARCHITECTURES ET PROCESSUS DE TRAITEMENT Registres, UAL, séquencement Autres architectures ( RISC, Parallèles) IUT Informatique Architecture des ordinateurs Bernard Hemmer QU'EST - CE - QUE L'INFORMATIQUE ? L’informatique vient de la contraction des mots INFORmation et autoMATIQUE. C’est un ensemble de techniques qui permet de traiter automatiquement des données à l’aide de machines programmées. C’est donc à la fois : - une science : science du traitement informatisé de l’information, - une technique : technique des moyens mis en œuvre pour effectuer ces traitements. Généralement il convient de distinguer : - l’informatique de gestion, - l’informatique scientifique et technique - et l’informatique industrielle. Chacun de ces domaines possède un éventail très étendu de métiers et de compétences. Définition de l'Informatique : Science du traitement rationnel, notamment par machines automatiques, de l'information considérée comme le support des connaissances humaines et des communications dans les domaines technique, économique et social. IUT Informatique Architecture des ordinateurs Bernard Hemmer L’information est caractérisée par trois composantes : - son contenu sémantique, - son support, - son moyen de transmission. D’un point de vue informatique, on peut dire qu’une information est un renseignement de type : - numérique : ( un prix, une quantité, un pourcentage, etc. ), - alphanumérique : ( une chaîne de caractères, un nom, etc. ), - graphique : ( une image, un dessin, etc. ) , - sonore : ( un bip, une voix, une musique, etc. ), - algorithmique : ( un programme ), - connaissance : ( système expert ). Le terme consacré pour désigner une information est : « données » ( data ). Les informations sont rangés dans des fichiers et stockées sur des supports magnétiques. IUT Informatique Architecture des ordinateurs Bernard Hemmer HISTORIQUE 1634 : Pascal invente une machine arithmétique 1854 : Boole crée les opérateurs logiques 1936 : 1er calculateur à relais 1943 : 1er calculateur électromécanique 1946 : ENIAC 30 tonnes 70m² et 300 multiplications/seconde 1947 : Invention du transistor 1955 : 1er ordinateur à transistors à l'architecture : Von Neumann ( mémoire + UC + UAL ) 1958 : 1er circuit intégré et premier disque dur de 5 Mo 1962 : Invention du mot Informatique et 1er mini-ordinateur IBM 1964 : Création du langage BASIC et du code ASCII 1969 : Création du système d'exploitation UNIX 1971 : 1er micro-processeur d'INTEL le 4004 1976 : 1er processeur 16 bits TEXAS 1977 : Apparition de l'APPLE II IUT Informatique Architecture des ordinateurs Bernard Hemmer 1978 : Lancement du 8086 Intel 1980 : 1er PC 8088 1982 : Processeur 80286 1984 : 1er Macintosh 1985 : Processeur 80386 et 32 bits et Windows 1.0 1988 : 1er virus 1990 : Windows 3.0 1993 : 1er Pentium Intel 1994 : Linux 1.0 1995 : Sortie du Pentium Pro Entre 1971 et 1995 la puissance du microprocesseur a été multiplié par 5000 ! 1998 : Windows 98 1999 : Sortie du Pentium III et de l'Athlon 2000 : Windows 2000 et arrivée des processeurs à 1 Ghz 2001 : Windows Millenium et lancement du Pentium IV IUT Informatique Architecture des ordinateurs Bernard Hemmer REPRESENTATION DE L'INFORMATION Définitions - Système décimal : dix symboles utilisés : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. - Système binaire : deux symboles utilisés : 0 et 1. - Système octal : huit symboles utilisés : 0, 1, 2, 3, 4, 5, 6, 7. - Système hexadécimal : seize symboles utilisés : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Représentation - Forme polynomiale simplifiée A = (a3 a2 a1 a0) b= (A) b - Forme polynomiale détaillée A = a3.b3 + a2.b2 + a1.b1 + a0.b0 (avec a, b N ) Rang d'un chiffre : puissance i de b Chiffre de gauche ( a 3 ) : poids fort : Most Significant Bit (M.S.B.) Chiffre de droite ( a 0 ) : poids faible : Lowest Significant Bit (L.S.B.) Valeur décimale d'un nombre ( N ) b On fait le calcul des valeurs décimales des bi que l'on multiplie par le coefficient ai . La somme de ces différents produits nous donne la valeur décimale de A. IUT Informatique Architecture des ordinateurs Bernard Hemmer Exemple : (A)7 = ( 64235 ) 7 d'où A = 6.74 + 4.73 + 2.72 + 3.71 + 5.70 b = 7 ai { 0, 1, 2, 3, 4, 5, 6 } - 6 est le poids fort de A7 ( MSB ) - 5 est le poids faible de A7 ( LSB ) - 4 est de rang 3 - 5 est de rang 0 la valeur de A est : A = 6.74 + 4.73 + 2.72 + 3.71 + 5.70 A = 6 2401 + 4 343 + 2 49 +3 7 + 5 1 A = 14406 + 1372 + 98 + 21 + 5 A = ( 15902 )10 Changement de base - Multiplications successives voir exemple précédent - Divisions successives Exemple : convertir (7678)10 en base 7 - Soustractions successives Exemple : convertir (974)10 en base 9 IUT Informatique Architecture des ordinateurs Bernard Hemmer REPRESENTATION INTERNE DE L'INFORMATION 1- Définitions - L'information (nombres signés ou non, lettres et caractères dits spéciaux) est représentée à l'aide d'un code correspondant à un système physique permettant deux états d'équilibre. Chacune de ces "cases" à 2 états possibles est appelé BIT ( BInary digiT) - Un CODAGE constitue la manière d'agencer les bn combinaisons formées avec n rangs en base "b" pour compter de 0 à b n-1. Ces combinaisons sont au nombre de (bn)! Et chacune d'entre elles constitue un code. - Un "DIGIT" (DIGital unIT) est un élément d'information numérique : binaire, décimal et autre. Ex : 6 est un digit de base 7,8,10 et16. - Un "MOT" résulte de l'association de plusieurs bits ou digits. Ex : 1010 est mot de 4 bits A3B est un mot de 3 digits - Un "OCTET" est un mot de 8 bits appelé aussi BYTE. - Le "KILO" (K) représente 210 = 1024 - Le "MEGA" (M) représente 220 = 1 048 576 IUT Informatique Architecture des ordinateurs Bernard Hemmer 2 - Les principaux codes Code binaire naturel : Chacun des chiffres représente le poids de bi qui lui est associé. Code BCD ou DCB : On représente chaque chiffre décimal sur 4 bits. On conserve les avantages du décimal et du binaire pour la représentation. Ex: ( 13 ) 10 = ( 1101 ) 2 = [ ( 0001 ) ( 0011 )]DCB Code DCB Excès 3 : Il est issu du code DCB auquel on a ajouté 3 unités. Son rôle est de simplifier les opérations en machine. Il de plus est autocomplémenté. Code GRAY ou binaire réfléchi : On passe d'un nombre à l'autre en ne changeant qu'un seul bit à la fois. Code ASCII : ( Américan Standard Code for Information Interchange ) Ce code est une norme presque universelle dans les transmissions. Tous les caractères du clavier sont codés sur 7 bits d'informations + 1 bit de parité c'est-à-dire sur 2 chiffres hexadécimaux. Ex : U = (55)16 = ( 1010101 )2 K = (4B)16 = ( 1001011 )2 IUT Informatique Architecture des ordinateurs Bernard Hemmer 3 - Représentation des caractères en machine Problèmes : - coder les "caractères" (caractères alphabétiques + nombres + caractères spéciaux) voir les différents codes, - coder les nombres destinés à faire des calculs les différents registres, - contrôler la sécurité (erreurs, défaillance technologique, phénomène physique, ...) bit supplémentaire et/ou codes redondants. 4 - Représentation des nombres signés Représentation du signe par : - 1 bit supplémentaire pour coder le signe : + est codé par 0 + 5 = 0 0101 - est codé par 1 - 5 = 1 0101 - le complément restreint (en binaire complément à 1) : + 5 = 0101 - 5 = 1010 - le complément vrai ( en binaire complément à 2) : ajout de 1 au complément restreint : + 5 = 0101 - 5 = 1011 IUT Informatique Architecture des ordinateurs Bernard Hemmer REMARQUE SUR LES NOMBRES SIGNES Rappel : Avec b bits on code 2b valeurs différentes Ex : b = 3 8 valeurs de 000 à 111 - cas des nombres signés : les valeurs sont comprises pour b = 3 entre -4 et +3 telles que : valeur minimum - 2b-1 à valeur maximum +2b-1 - 1 vérification pour b=3 : - 23-1 - 22 -4 à à à + 23-1 - 1 + 22 - 1 +3 - cas des nombres signés en complément à 2: Exemple : 1 1 0 1 cplt à 2 = - 3 Démonstration complémenté 1101 1 = 1100 = 0011 = |3| - 3 Le MSB d'un nombre (= le bit de signe) vaut dans ce cas : " - 2b-1 " Exemple : 1101 b=4 1 x - 24-1 + 1 x 22 + 1 x 20 = - 8 + 4 + 1 = - 3 IUT Informatique Architecture des ordinateurs Bernard Hemmer 5 - Représentation des nombres fractionnaires - Virgule fixe La virgule n'est pas représentée (elle est virtuelle). C'est le programmeur qui choisit le nombre de décimales pour chaque zone. - Virgule flottante Les nombres sont enregistrés sous forme d'une mantisse et d'un exposant, avec 0 mantisse < 1. La représentation normalisée est celle donnant la plus grande mantisse ( norme IEEE) - Exemple en base 10 : 2534,78 = 0,253478 x 104 qui sera codé 253478 +4 0,000016 = 0,16 x 10-4 qui sera codé 16 -4 - Exemple en binaire : 10,01 = 0,1001 x 22 codé 1001 +2 Remarque : Habituellement, les mantisses sont cadrés à gauche et les exposants à droite. Les alignements sont automatiques lors des calculs. Avant chaque addition, l'ordinateur compare les exposants. S'ils sont égaux le calcul est effectué sinon il y a décalage à droite de l'opérande affecté du plus petit exposant, tant que les exposants ne sont pas égaux. IUT Informatique Architecture des ordinateurs Bernard Hemmer REPRESENTATION GENERALE DES REGISTRES R = {T; N; O; C} Ex : R = {24; Fl(1,15,8), SFf; B} T = Taille n = nombre de bits N = Nature du registre : - Entier E(s,v) s = nb de bits de signe v = nb de bits de Valeur Absolue - Virgule Fixe F(s,e,f) s = nb de bits de signe e = nb de bits de partie entière f = nb de bits de partie fractionnaire - Virgule Flottante Fl(s,m,x) s = nb de bits de signe m = nb de bits de la mantisse x = nb de bits de partie exposant O = Ordre des données dans le registre : Exemple : S, F, f Signe ou Signe Partie Entière Mantisse Partie Fractionnaire Exposant C = Codage du registre : B = binaire D = DCB etc... IUT Informatique Architecture des ordinateurs Bernard Hemmer CODES DETECTEURS ET AUTO-CORRECTEURS D'ERREURS Exemple de code BCD avec parité Décimal 0 1 2 3 4 5 6 7 8 9 DCB + 3 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 Bit de parité 0 1 0 0 1 1 0 0 1 0 Code à parité simple par ligne Exemple : information avant transfert 1 0 1 1 1=8 information après transfert 0 0 1 0 1=? Il n’y aura pas d’erreur détectée car le nombre de 1 est toujours pair à la réception malgré les deux changements de bits. Code à parité simple par colonne Il est possible d’introduire une vérification de parité ne portant pas obligatoirement sur des chiffres consécutifs. Supposons le message de 16 bits d’information avec quatre contrôles de parité portant sur les chiffres comptés de 4 en 4, la parité se faisant par colonne. IUT Informatique Architecture des ordinateurs Bernard Hemmer Exemple : soit le message 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1, plaçons le message sous forme d’un tableau ; 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 Le message complet transmis sera : 11010100101110111001 A la réception, ce code permet de détecter toutes les erreurs simples mais également toute erreur double ou triple à condition qu’elle concerne des chiffres pris dans un groupe de 4 consécutifs (car deux erreurs dans la même colonne ne change pas la parité). Code à parité entrelacée Le principe de ce code est de positionner un bit de parité pour chaque ligne et chaque colonne, puis un bit supplémentaire résultant des bits de parité précédents. Exemple : prenons un message de 24 bits Parité colonne 101011 010110 100001 110110 101010 0 1 0 0 1 Parité ligne Parité des parités colonne et ligne Le message transmis sera : 10101100101101100001011011001010101 Un tel contrôle permet, pour une erreur simple de la détecter, de la localiser donc de la corriger. Pour une erreur double ou impaire, il permet simplement de la détecter. IUT Informatique Architecture des ordinateurs Bernard Hemmer LOGIQUE COMBINATOIRE ALGEBRE DE BOOLE 1 - POSTULATS 2 états : - état 1 = présence = vrai = oui - état 0 = absence = faux = non 2 relations : - union = addition ou somme logique notée : + ou - intersection = multiplication ou produit logique notée : ou Complément : Toute variable à un inverse complément tel que : a+a=1 aa=0 Opérations logiques : - opération logique commutative : a+b=b+a ab=ba - opération logique distributive : a(b+c)=ab+ac a + ( b c ) = (a + b ) ( a + c ) IUT Informatique Architecture des ordinateurs Bernard Hemmer 2 - OPERATIONS LOGIQUES ELEMENTAIRES La négation loi NON L'addition loi OU La multiplication loi ET 3 - OPERATIONS LOGIQUES DERIVEES La somme logique complémenté loi NI Le produit logique inverse loi NON ET La somme disjonctive OU EXCLUSIF 4 - PROPRIETES ET THEOREMES - commutativité - associativité - distributivité vérification avec table de vérité - idempotence - absorption - théorèmes de De Morgan 5 - FONCTIONS LOGIQUES C'est une combinaison de variables booléennes reliées par des opérateurs NON, ET et OU. - Fonction logique complètement définie - Fonction logique incomplètement définie IUT Informatique Architecture des ordinateurs Bernard Hemmer 6 - SIMPLIFICATIONS DES FONCTIONS : Soit la fonction à 3 variables définie par la table de vérité : a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 F 0 1 1 1 0 0 1 0 F(a,b,c) = a.b.c + a.b.c + a.b.c + a.b.c - SIMPLIFICATIONS ALGEBRIQUES F(a,b,c) = - TABLEAUX DE KARNAUGH c a 0 0 1 1 b 0 1 1 0 0 1 0 1 1 0 1 1 0 0 F(a,b,c) = IUT Informatique Architecture des ordinateurs Bernard Hemmer EXEMPLES de TABLEAUX de KARNAUGH A: a \ cd 0 1 00 1 1 01 0 0 11 1 0 10 1 0 ab \ cd 00 01 11 10 00 1 1 0 1 01 0 0 0 1 11 0 0 0 0 10 1 1 0 1 ab \ cd 00 01 11 10 00 1 1 0 1 01 0 0 0 0 11 1 0 0 1 10 1 1 0 1 B: C: IUT Informatique Architecture des ordinateurs Bernard Hemmer LES CIRCUITS LOGIQUES DEFINITIONS Ce sont des systèmes réalisés à l'aide de composants électroniques dans lequel les informations d'entrées et de sorties sont codées par les états logiques 0 et 1. entrées circuit sorties 0, 1 logique 0, 1 A chaque état logique correspond une tension qui dépend de la technologie généralement: "1" logique = + 5V et "0" logique = 0V LES CIRCUITS COMBINATOIRES Ce sont des circuits dont les valeurs des sorties ne dépendent que des valeurs des entrées. Les mêmes valeurs d'entrées donnent toujours les mêmes valeurs de sorties. L'état de sortie est une fonction booléenne de l'entrée. IUT Informatique Architecture des ordinateurs Bernard Hemmer EXEMPLE de CIRCUITS LOGIQUES OU EXCLUSIF à NAND & & & & MULTIPLEXEUR DEMULTIPLEXEUR DECODEUR APPLICATION LOGIQUES IUT Informatique DES DEMUX Architecture des ordinateurs AUX FONCTIONS Bernard Hemmer LOGIQUE SEQUENTIELLE LES CIRCUITS LOGIQUES SEQUENTIELS DEFINITIONS Ce sont des circuits logiques dans lesquels l'état des valeurs des sorties dépend : - des états des entrées, - et aussi du dernier état du système. circuit entrées sorties séquentiel - Il y a prise en compte de la notion de TEMPS, - Il y a mémorisation des états antérieurs. Le circuit de mémorisation le plus répandu est la BASCULE IUT Informatique Architecture des ordinateurs Bernard Hemmer Une BASCULE est un circuit logique qui possède 2 sorties, l'une étant l'inverse (ou le complément) de l'autre sortie normale entrées BASCULE sortie inversée La sortie normale est notée O (output) ou Q, La sortie inversée est notée O ou Q. La bascule est au niveau HAUT quand Q = 1 et Q = 0 La bascule est au niveau BAS quand Q = 0 et Q = 1 Les bascules sont les éléments mémoires les plus polyvalents, en raison de la rapidité de fonctionnement, de la facilité avec laquelle on lit et on écrit l'information et de la grande simplicité de leur interconnexion avec les portes logiques. IUT Informatique Architecture des ordinateurs Bernard Hemmer Les DIFFERENTS TYPES de BASCULES La bascule R S R Q 1 1 S Q Table de vérité R 0 0 1 1 S 0 1 0 1 Q mémoire 1 0 ambiguë Représentation IUT Informatique R Q S Q Architecture des ordinateurs Bernard Hemmer La bascule J K C'est une bascule RS complexe à laquelle est ajoutée une commande H, déclenchant le transfert des informations. J Q H K Q Cette commande reçoit un signal d'horloge (signal carré ) dont, généralement, le front montant est la transition active. Table de vérité IUT Informatique J K Qn 0 0 (mémoire) = Qn-1 1 0 1 0 1 0 1 1 Qn-1 Architecture des ordinateurs Bernard Hemmer La bascule D C'est une bascule J K dont les 2 entrées J et K sont reliées au moyen d'un inverseur. J Q D Q H Q H K 1 Q Table de vérité D Qn + 1 0 0 1 1 REMARQUES Ces 2 bascules possèdent également 2 entrées supplémentaires (appelées SET et CLEAR) permettant le forçage de la sortie Q soit à 0 ou à 1. Les bascules D et JK sont à la base de la réalisation des registres et des compteurs. IUT Informatique Architecture des ordinateurs Bernard Hemmer LA FONCTION MEMOIRE GENERALITES Définition : Zone de stockage des instructions et des données. Rappel : la 1ère puce mémoire de 1 kilo-bit date de 1970 Niveaux de mémoires : Registres : mémoires internes à l'unité de traitement, Mémoire centrale : mémoire principale, Mémoire auxiliaire : secondaire ou périphérique. Autres mémoires : cache, virtuelle, vidéo. Types de technologie : - Mémoires Mortes : ROM / Read Only Memory. - Mémoires Vives : RAM / Random Access Memory. Caractéristiques : Accès direct (sélectif) ou séquentiel, Capacité, Vitesse d'accès. IUT Informatique Architecture des ordinateurs Bernard Hemmer LA MEMOIRE ROM Elle contient les éléments essentiels au démarrage : le BIOS : programme permettant de piloter les interfaces d’entrées et de sorties, le Bootstrap (chargeur d’amorce) : programme permettant de charger le système d’exploitation en mémoire RAM et de le lancer, le Setup CMOS : écran disponible à l’allumage de l’ordinateur permettant de modifier les paramètres du système, le POST : Power-On Self Test, programme exécuté automatiquement à l’amorçage du système permettant de faire un test de celui-ci. CLASSIFICATION des MEMOIRES ROM PROM : Programmable ROM EPROM :Erasable PROM EEPROM : Electrically EPROM IUT Informatique Architecture des ordinateurs Bernard Hemmer CLASSIFICATION des MEMOIRES RAM SRAM : Static Random Access Mémory mémoire 1 bit = bascule flip-flop, conserve ses informations tant que le circuit est alimenté, rapide, chère et encombrante, utilisée pour les mémoires caches : - niveau 1 (interne au processeur) jusqu'à 64Ko, - niveau 2(« près » du processeur) jusqu'à 512Ko. DRAM : Dynamic Random Access Mémory mémoire 1 bit = condensateur, rafraîchissement à intervalles réguliers, un circuit lit la mémoire et la réécrit afin de ne pas perdre d’informations, moins encombrante, moins chère, mais plus lente à cause des rafraîchissements. RAM EDO : Extended DataOut mémoire DRAM perfectionnée, on adresse la colonne suivante pendant la lecture des données d’une colonne, temps d’accés réduit de 40% par rapport à une mémoire DRAM classique Supplantée par la SDRAM à partir de 1998. IUT Informatique Architecture des ordinateurs Bernard Hemmer SDRAM : Synchronous DRAM exploite le fait que les accès mémoires sont le plus souvent séquentiels, accès mémoire = adresse de début + nombre de lignes à lire, circuits de gestion d’accès intégrés au circuit mémoire, 18% plus rapide que la mémoire EDO, deux standards : PC100 et PC133. RDRAM : Rambus DRAM permet de transférer des données sur un bus de 16 bits d largeur, synchronisée avec l’horloge du bus, ultra rapide, IUT Informatique Architecture des ordinateurs Bernard Hemmer PRINCIPE de FONCTIONNEMENT 1 - choisir une adresse donnant accès à l'emplacement touché par une opération de lecture ou d'écriture, 2 - choisir entre une opération de lecture ou d'écriture, 3 - acheminer la donnée d'entrée mémorisée durant une opération d'écriture, 4 - contenir les données tirées de la mémoire durant une opération de lecture, 5 - valider ou invalider la mémoire afin qu'elle réagisse ou ne réagisse pas aux entrées d'adresse et à la commande lecture/écriture. IUT Informatique Architecture des ordinateurs Bernard Hemmer LES MEMOIRES AUXILIAIRES LE DISQUE DUR : mémoire magnétique inventé en 1954 par IBM (capacité de 5 Mo) composé de plateaux (en métal, céramique ou verre et recouverts d’une fine couche magnétique), superposés tournant à la même vitesse souvent découpé en partitions (disques logiques se comportant comme des disques différents) l’organisation du disque dur en secteur, cylindre et piste est créé lors du formatage « bas niveau » le cluster ou bloc regroupe plusieurs secteurs (1 à 16 ) la taille d’un bloc ( de 4 à 32 Ko) est fonction de la taille de la partition notion de fragmentation Performances : vitesse de rotation : en trs/mn ( 12000 ) temps d’accès : intervalle entre la requête et le résultat taux de transfert :dépend également de l’interface IDE :3,3 à66,6 Mo/s IUT Informatique SCSI : 5 à 80 Mo/s Architecture des ordinateurs Bernard Hemmer Le CD ROM : Compact Disc - Read Only Memory inventé par Philips et Sony en 1980 disque en matière plastique recouvert d’une pellicule métallique sur une des faces la lecture se fait par réflexion ou non d’un faisceau laser sur la surface du disque Caractéristiques : CD Audio : 74 mn en 16 bits/44,1 kHz stéréo CD-ROM : jusqu’à 650 Mo de données CD-R : disques enregistrables Vitesse de lecture : X fois la vitesse de base d’un CD Audio qui est de 150 Ko/s Le DVD ROM : Digital Versatile Disc - ROM Amélioration de la finesse Plusieurs couches de données (transparente et réflexive) Capacité : de 4,7 Go à 17 Go (1face 1 couche à 2 faces 2 couches Débit en vidéo = 1250 Ko/s IUT Informatique Architecture des ordinateurs Bernard Hemmer LE PROCESSUS DE TRAITEMENT 1 - TRAITEMENT DE L’INFORMATION Il est effectué par l’unité centrale. Son support principal est le programme qui est une suite de traitements élémentaires. 1.1. L’unité de commande ou de contrôle ( U.C. ) L’unité de commande est une structure qui a pour rôle d’assurer l’exécution de l’information. le Compteur Ordinal (compteur d’instructions ou de programmes). La mémoire ordinale composée de deux parties : le registre d’instructions contenant le code opération. le registre d’adresses (en général l’adresse des opérandes). Le séquenceur : détermine le traitement à réaliser en fonction de la synchronisation horloge. IUT Informatique Architecture des ordinateurs Bernard Hemmer 1.2. L’Unité Arithmétique et Logique (U.A.L.) Elle traite toutes les instructions élémentaires arithmétiques et logiques, elle gère les déplacements dans un registre et la mise à jour des indicateurs. 1.2.1. Structure de l’U.A.L. Elle contient deux types de registres : le registre accumulateur dans lequel on y trouve le résultat des opérations de base. le registre indicateur d’états : chaque bit est destiné à fournir une indication sur l’unité centrale. 1.2.2. Les différentes opérations traitées L’U.A.L. peut traiter : l’addition, on la trouve toujours, elle est la plus rapide à l’exécution (2 entrées 1 sortie). la soustraction se fait par le complément à 2 du deuxième nombre, que l’on additionne au premier. la multiplication est faite sous forme d’additions. on utilise des décaleurs pour les multiples de 2. IUT Informatique Architecture des ordinateurs Bernard Hemmer 1.3. Les registres Ce sont des petites mémoires capables de contenir des informations. Tous les transferts sont fait d’un registre vers un autre. 1.3.1. Registres de travail (ou registre banalisé) : Constitués de mémoires très rapides. 1.3.2. Registres d’adresses : Leur rôle est de stocker les adresses des opérandes. le Compteur Ordinal (C.O.) contient l’adresse de la prochaine instruction à exécuter. le Pointeur de Pile (P.P. ou Stack Pointer) stocke les événements dans l’ordre où ils se produisent, il sauvegarde les instructions lors d’une interruption. Le programmeur peut utiliser la pile comme zone mémoire. Il existe deux instructions minimum : PUSH (empiler) & POP (dépiler). La pile fonctionne selon le mode L.I.F.O. (Last In First Out). IUT Informatique Architecture des ordinateurs Bernard Hemmer 1.3.3. Les registres d’état (des applications, d’indicateur ou de drapeau) sont toujours associé à l’UAL. Le nombre de bits est le nombre d’états caractérisé par le registre, chaque bit est utilisé pour une fonction particulière. Exemple : 5 bits C V S Z P : Carry : bit de retenue lors d’une opération arithmétique, recueil le bit perdu lors d’un décalage ou rejet d’une opération arithmétique. oVerflow : bit de débordement, de dépassement de capacité (1 si dépassement de capacité). Signe : bit de signe (1 si négatif; 0 si positif). Zéro : bit à 1 lorsque le résultat de l’opération est nul. Parité : bit de parité (1 si paire; 0 si impaire). IUT Informatique Architecture des ordinateurs Bernard Hemmer 2 - LES INSTRUCTIONS 2.1. Définitions : L’instruction est un ordre exécutable par le processeur permettant d’effectuer un certain nombre de commandes. Une instruction est spécifique pour chaque processeur on parle alors de langage machine (instructions codées en binaire). Le langage assembleur (assembleur) utilise directement le jeu d’instructions du processeur sans passer par une transformation. 2.2. Composition d’une instruction 2.2.1 code opération (op code) Il indique le type de traitement à exécuter, le nombre d’opérandes, le mode d’adressage. Le code est lié à ces informations par une longueur qui dépend du processeur, du jeu d’instructions et du type de codage. IUT Informatique Architecture des ordinateurs Bernard Hemmer 2.2.2 Opérandes : Ce sont les informations, les données sur lesquelles vont porter les traitements, elles sont désignées par un mode d’adressage qui dépend du processeur et peut être choisi par l’utilisateur : Il y a plusieurs modes d'adressage des opérandes dans les instructions. Ces différentes méthodes permettent au programmeur de créer des objets exécutables performants et de simplifier le codage de son algorithme. adressage immédiat, adressage direct ou absolu, adressage indirect, adressage registre ou implicite, adressage indexé, adressage relatif. Chaque constructeur fait un choix dans le mode d’adressage. IUT Informatique Architecture des ordinateurs Bernard Hemmer 2.2.3 Les différents types d’instructions instruction de traitement. instruction de rupture de séquence. instruction d’échange E / S. instruction de transfert (interne à la machine). 2.3 Déroulement d’une instruction recherche de l’instruction. rangement de l’opérande. préparation de l’instruction suivante : il s’agit d’aller chercher en mémoire l’instruction suivante : Incrémenter le Compteur Ordinal pour obtenir l’adresse de la nouvelle instruction (C.O. C.O.+1). IUT Informatique Architecture des ordinateurs Bernard Hemmer 2.4 Instruction de rupture de séquence : Elle provoque un branchement à une adresse qui n’est pas la suivante. L’adresse de la nouvelle instruction se trouve alors dans le C.O. Il existe deux types: branchement inconditionnel. branchement conditionnel (condition à réaliser). 2.5 Interruptions Elles ne font pas partie du programme binaire mais ce sont des commandes qui sont prioritaires et qui émane de l’environnement extérieur, elles vont donc interrompre le programme pour leur propre exécution. 2.6 Le séquencement des instructions Il est commandé par le séquenceur central. Une instruction de base est déclenchée à chaque microcycle. On appelle cycle machine l’ensemble des microcycles nécessaires pour déclencher les instructions. IUT Informatique Architecture des ordinateurs Bernard Hemmer ARCHITECTURES EVOLUEES 1 - L’ARCHITECTURE CLASSIQUE (VON NEUMANN) Machine SISD (Single Instruction Single Data) ou scalaire Un seul processeur Les instructions, les données et les résultats rangés en mémoire Une seule instruction exécutée à la fois Une seule donnée traitée à la fois Améliorations apportées progressivement: Registres d’index Interruptions Mémoire virtuelle Microprogrammation Mémoire cache Bus Architecture insuffisante pour les calculs scientifiques et techniques et pour les grands volumes de données à traiter. IUT Informatique Architecture des ordinateurs Bernard Hemmer 2 - L’ARCHITECTURE PIPE-LINE OU VECTORIELLE Amélioration de la vitesse de traitement par une démultiplication du traitement des instructions : L’UC comporte plusieurs unités différentes qui travaillent en parallèle : chargement des instructions décodage des instructions exécution des instructions Chargement D1 D2 D3 D4 Décodage D1 D2 D3 D1 D2 Exécution Applications : Calculs en virgule flottante : la multiplication est scindée en plusieurs opérations : recherche des exposants recherche des mantisses addition des exposants multiplication des mantisses expression du résultat IUT Informatique Architecture des ordinateurs Bernard Hemmer 3 - L’ARCHITECTURE PARALLELE Plusieurs unités de traitement identiques fonctionnement simultanément. Mode de fonctionnement : Machine SIMD (Single Instruction Multiple Data) Une même instruction est exécutée par chaque unité de traitement sur des données différentes. Machine MIMD (Multiple Instruction Multiple Data) Les programmes sont divisés en différentes tâches exécutées par des processeurs différents de manière indépendante. Organisation de la mémoire : Mémoire partagée : mémoire unique pour toutes les unités de traitement. Mémoire distribuée ou répartie : chaque processeur dispose d’une mémoire locale. IUT Informatique Architecture des ordinateurs Bernard Hemmer 4 - L’ARCHITECTURE RISC (REDUCED INSTRUCTION SET COMPUTER) L’amélioration des techniques de compilation (logicielles et non matérielles) a rendu possible la génération automatique de microcode performant. 80 % des programmes n’utilisent que 20% du jeu d’instructions du microprocesseur, donc l’idée est de réduire (donc simplifier) le jeu d’instructions. (Les instructions seront directement câblées sur le circuit). Instructions simples donc exécutions en un cycle d’horloge. Utilisation intensive de la mémoire cache et des registres, ainsi que des techniques visant à effectuer des tâches en parallèles IUT Informatique Architecture des ordinateurs Bernard Hemmer 5 - L’ARCHITECTURE CISC (COMPLEX INSTRUCTION SET COMPUTER) Une seule instruction traitée à la fois. Chaque instruction peut pendre plus d’un cycle d’horloge. Exécution lente. Coût élevé . Débat RISC ou CISC ? Bibliographie : Architecture de l’ordinateur par Andrew Tanenbaum, InterEditions. Site web : www.pctechguide.com www.commentcamarche.net TPS 1/3 QCM 1/3 Numération / codage / représentation 1/3 Circuits logiques JOYEUX NOEL IUT Informatique Architecture des ordinateurs Bernard Hemmer