Introduction I.1 Architecture des ordinateurs I.1.a L'informatique aujourd'hui
Introduction I.1 Architecture des ordinateurs I.1.a L'informatique aujourd'hui Apparue il y a une cinquantaine d'années, l'informatique a connu et connaît une évolution extrêmement rapide. A sa motivation initiale qui était de faciliter et d'accélérer le calcul, se sont ajoutées de nombreuses fonctionnalités, comme l'automatisation, le contrôle et la commande de pratiquement tout processus, la communication et le partage de l'information. Dans nos sociétés occidentales elle omniprésente. Après avoir été un outil réservé aux centres de recherche, elle s'est implantée dans l'industrie et depuis une dizaine d'années elle envahit nos foyers. Au départ nous n'avions que des systèmes centraux, puis sont apparus les postes de travail individuels, très rapidement reliés en réseaux locaux. Tous, ou presque, sont maintenant connectés à la "Toile". Nombreux sont les projets actuels d'utilisation et de gestion d'une puissance de calcul énorme distribuée sur un grand nombre de sites disséminés de par le monde. L'informatique est en grande partie responsable de la profonde transformation que connaît actuellement la civilisation des pays riches. Les évolutions techniques sont telles que la durée de vie des matériels est relativement courte. Le marché est extrêmement instable et en permanente évolution. La position des constructeurs est presque remise en cause chaque jour. Face à cette situation, après une première période de systèmes propriétaires, dans lesquels un client de pouvait en pratique s'approvisionner qu'auprès d'un seul constructeur, nous sommes passés aux systèmes ouverts. Cela sous-entend des architectures normalisées pour lesquelles les éléments peuvent provenir de plusieurs constructeurs. En parallèle, du côté logiciel un accent important est mis sur la réutilisation des produits, qui doit permettre de suivre ces évolutions au prix d'un effort moindre, sans avoir à repartir de zéro à chaque passage sur une nouvelle plate-forme par exemple. Cela explique l'émergence des technologies "Orientées Objets" et du "Génie Logiciel". Il est à remarquer que cela se fait souvent avec une perte d'efficacité, masquée par l'évolution des performances au niveau technique. Face à cette situation très volatile, nous constatons tout de même que les concepts de base introduits par les pionniers perdurent, même s'ils peuvent se décliner de façons très différentes. Pour éviter d'avoir à réécrire ce cours d'Architecture des Ordinateurs tous les ans, j'ai donc pris le parti de principalement développer et expliquer ces concepts et les technologies de base. Une partie est cependant consacrée une illustration plus concrète : l'architecture du PC. Ce choix me semble être aujourd'hui (en l'an 2000) incontournable. Il y a quelques années j'aurais sans doute choisi les architectures RISC des stations de travail. Je ne prendrai pas le risque de prédire quel sera l'exemple à choisir dans cinq ou dix ans. 15 Fonctions logiques élémentaires II.1 Systèmes binaires et algèbre de Boole Actuellement, alors que les ordinateurs analogiques sont encore du domaine de la recherche, les informations traitées par les systèmes informatiques sont codées sous forme binaire. Un système binaire (signal, circuit, etc…) est un système qui ne peut exister que dans deux états autorisés. Le circuit de la figure 1 est un exemple plus que simpliste de circuit binaire : selon que l'interrupteur S est ouvert ou fermé la tension V0 ne peut être égale qu'à +5 V ou 0 V. R +5V S V0 Figure 1 Diverses notations peuvent être utilisées pour représenter ces deux états : numérique : 1 et 0 (bit : binary digit) logique : vrai et faux (true et false) oui et non (yes et no) électronique : ON et OFF haut et bas (HI et LO, H et L, H et B) Pour étudier les fonctions de variables binaires on utilise une algèbre développée au XIXème siècle par un mathématicien anglais : Georges Boole. Dans ce chapitre nous nous proposons de présenter les fonctions de base de l'algèbre booléenne ainsi que leurs représentations symboliques en électronique. Nous rappellerons également, sans prétendre à la rigueur mathématique, les quelques notions élémentaires nécessaires à l'étude des circuits électroniques. 33 Logique combinatoire Dans ce chapitre nous nous intéressons à une famille de circuits logiques pour lesquels la sortie dépend uniquement des états des entrées. III.1 Addition binaire III.1.a Demi-additionneur Addition et soustraction sont deux opérations arithmétiques de base. Commençons par l'addition de deux nombres binaires, la soustraction sera étudiée dans le prochain paragraphe. En base 2 l'addition de deux bits s'écrit : = + = + = + = + 10 1 1 01 0 1 01 1 0 00 0 0 Comme en décimal, nous devons donc tenir compte d'une éventuelle retenue (carry). La figure 1 montre la décomposition de l'addition de deux nombres binaires de quatre bits. a 3 a a a 0 1 2 b b b b3 2 1 0 s 3 2 1 0 s s s r 3 2 1 0 r r r nombre A nombre B somme : S = A + B retenues + Figure 1 L'addition des deux bits de bas poids (LSB : Least Significant Bit) a0 et b0, donne un résultat partiel s0 et une retenue r0. On forme ensuite la somme des deux bits a1 et b1 et de la retenue r0. 57 Logique séquentielle IV.1 Logique séquentielle asynchrone et synchrone Dans le chapitre précédent portant sur la logique combinatoire nous avons fait abstraction du temps : les signaux de sortie ne dépendaient que des états des variables d'entrée. Pour les circuits de logique séquentielle nous devons tenir compte de l'état du système. Ainsi les sorties dépendent des entrées mais également de l'état du système. Celui-ci dépend aussi des entrées. Si nous notons Q l'état d'un système séquentiel, X ses entrées et Y ses sorties, nous avons de manière générale : = = ) Q , X ( g Y ) Q , X ( f Q La logique séquentielle permet de réaliser des circuits dont le comportement est variable avec le temps. L'état d'un système constitue une mémoire du passé. Lorsque les changements d'état des divers composants d'un circuit séquentiel se produisent à des instants qui dépendent des temps de réponse des autres composants et des temps de propagation des signaux on parle de logique séquentielle asynchrone. Cependant les retards peuvent ne pas être identiques pour toutes les variables binaires et conduire à certains aléas. Ceux-ci peuvent être évités en synchronisant la séquence des diverses opérations logiques sur les signaux périodiques provenant d'une horloge. La logique séquentielle est alors dite synchrone : tous les changements d'état sont synchronisés sur un signal de contrôle. Nous commençons notre étude par celle des bascules, éléments de base des circuits séquentiels. Puis nous étudierons les registres et les compteurs. IV.2 Les bascules Une bascule (flip-flop) a pour rôle de mémoriser une information élémentaire. C'est une mémoire à 1 bit. Une bascule possède deux sorties complémentaires Q et Q. La mémorisation fait appel à un verrou (latch) ou système de blocage, dont le principe de rétro-action peut être représenté de la façon suivante : 85 Mémoires vives Dans les trois chapitres précédents nous avons étudié la plupart des briques de base utilisées pour la conception d'ordinateurs. Nous allons maintenant monter d'un niveau et aborder les principes de réalisation des principaux blocs fonctionnels à partir de ces briques. Nous commençons (c'est un choix arbitraire) par la mémoire vive. La première partie de ce chapitre sera consacrée à son organisation matérielle. Dans la seconde nous ébaucherons son organisation logique, dont l'étude doit être approfondie dans le cours sur les systèmes d'exploitation. V.1 Introduction Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,…) etc… sont manipulées sous une forme binaire. Ces informations doivent en général être conservées pendant un certain temps pour permettre leur exploitation. Ce rôle est dévolu aux mémoires chargées de conserver programmes, données provenant de l'extérieur, résultats intermédiaires, données à transférer à l'extérieur, etc. Nous avons déjà rencontré les registres de mémorisation, mais ceux-ci ne sont pas adaptés aux grandes capacités de stockage. Il faut pour cela des mémoires à lecture et écriture ou mémoires vives, qui permettent d'enregistrer une information, de la conserver et de la restituer. Ces mémoires sont, d'autre part, à accès aléatoire (RAM : Random Acces Memory) c'est-à-dire que le temps d'accès à l'information est indépendant de sa place en mémoire. Cette appellation, d'origine historique, est toujours synonyme de mémoire vive. Bien que très répandue cette appellation n'est plus suffisante car tous les circuits à semi-conducteur sont aujourd'hui à accès aléatoire. L'accès séquentiel ne porte plus que sur les mémoires magnétiques (disques ou bandes). Par contre, une mémoire vive est volatile : la conservation de son contenu nécessite la permanence de son alimentation électrique. L'information élémentaire, ou bit (binary digit), est mémorisée dans une cellule ou point mémoire. Nous étudierons plus loin les deux principales technologies utilisées pour réaliser une cellule. Ces cellules sont groupées en mots de n bits, c'est-à-dire que les n bits sont traités (écrits ou lus) simultanément. On ne peut pas modifier un seul bit, il faut transférer le mot dans un registre, modifier le bit uploads/Philosophie/ arch-ord-cola.pdf
Documents similaires
-
81
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 07, 2021
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 1.0700MB