Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne fait partie de son cours d’introduction à l’information, à la communication, et au calcul. Il s’inscrit dans le 3e module de ce cours qui porte sur le fonctionnement et la sécurité des systèmes informatiques.
Et nos registres et mémoires alors ? Unité arithm. Banc de registres Décodeur ? Mémoire pour les données Le videoclip précédent a tenté de suggérer de façon aussi convaincante que possible qu’on pouvait implémenter le décodage et les unités arithmétiques d’un processeur à partir de transistors. Mais qu’en est-il des registres, pointeur de ligne et autres éléments de mémoire? Pointeur de ligne + 1 Mémoire pour les instructions
Peut-on aussi mémoriser l’information ? Pour les calculs, tout va bien : Mais pour mémoriser ?! Unité arithm. 3 2 5 ‘1’ ‘0’ Peut-on aussi implémenter les éléments de mémoire à partir de transistors? Et si oui, comment? r1: 2 r2: ? r3: 3 r4: ? 5 Banc de registres r3 r1 2 3 écrire lire ?!
Un circuit assez particulier Un circuit « bistable » c.à.d. qui peut être dans un parmi deux états parfaitement stables un élément mémoire de 1 bit ! La réponse est oui mais pour comprendre comment il faut étudier un circuit particulier. 1 Ce circuit est composé de deux inverseurs connectés en tête-bêche. 2 Il est tel que si la connexion joignant les deux inverseurs à gauche sur cette figure est sous tension (1 binaire) … 3 … elle implique automatiquement que la connexion les rejoignant à droite de la figure se trouve mise à la terre (0 binaire) … 4 … ce qui à son tour maintient la connexion gauche sous tension (1 binaire). 5 Inversement si la connexion joignant les deux inverseurs à gauche sur cette figure est à la terre (0 binaire) … 6 se trouve mise sous tension (1 binaire) … 7 … ce qui à son tour maintient la connexion gauche hors tension (0 binaire). 8 Ce circuit peut donc se maintenir tout seul dans deux états stables inverses. C’est pourquoi on l’appelle le circuit bistable. En d’autres termes cette propriété lui permet de «se souvenir» de son état, c.à.d. en pratique de mémoriser 1 bit d’information! On a donc ainsi réalisé avec 2 inverseurs (c.à.d. 4 transistors) une case mémoire de 1 bit. ‘0’ ‘1’ ‘0’ ‘1’
Comment écrire cette mémoire ? ‘1’ ‘0’ ‘1’ ‘0’ Ecrire Donnée à écrire Donnée lue Cette mémoire de 1 bit n’est cependant que intéressante si on peut lire et écrire le bit. Le lire est simple: il suffit de détecter l’état du circuit, p.ex. en captant le voltage (0 ou 1 binaire) de la connexion de sortie à droite de la figure. L’écriture requiert par contre de connecter un inverseur via un transistor n-mos ouvert à la connexion d’entrée à gauche du bistable. Faisons l’hypothèse que le bit de sortie du circuit est initialement dans l’état 1, ce qui implique que son entrée est dans l’état 0. 1 Pour écrire un 0 dans ce bit, on commence par appliquer un 0 à l’entrée de l’inverseur d’extrême gauche. 2 On applique ensuite une courte impulsion électrique (1 logique) au transistor n-mos. 3 Ceci ferme ledit transistor qui connecte donc la sortie de l’inverseur d’extrême gauche à l’entrée du bistable, appliquant à celle-ci un 1 binaire bref mais puissant. 4 Cette soudaine injection de courant fait basculer l’inverseur supérieur du bistable, mettant sa sortie à la terre (0 binaire). 5 Cette mise à la terre cause immédiatement le basculement de l’inverseur inférieur du bistable, maintenant ainsi sa sortie (qui est aussi l’entrée du bistable) dans l’état 1 binaire … 6 … bien après la disparition du 1 binaire appliqué suite à la courte impulsion d’écriture. 7 A l’aide de quelques 7 transistors on a donc ainsi réalisé un parfait circuit de mémoire pour tous les bits de nos registres et de nos mémoires d’instructions et de données. ‘0’ ‘1’ ‘1’ Impulsion r1: 2 r2: ? r3: 3 r4: ? 5 Banc de registres r3 r1 2 3 écrire lire => Avec quelques transistors on a un parfait circuit mémoire pour tous les bits de nos registres et de nos mémoires
Maintenant on sait tout faire ! Unité arithm. Banc de registres Décodeur ? Mémoire pour les données Il est donc possible de réaliser aussi bien les éléments de logique et de calcul … 1 … que les éléments de mémoire d’un ordinateur à partir de transistors. Pointeur de ligne + 1 Mémoire pour les instructions
Architecture du processeur On a atteint notre but ! Mémoire pour les données les instructions Unité arithm. Banc de registres Décodeur Pointeur de ligne + 1 Le but est donc atteint: tous les composants architecturaux d’un ordinateur … Architecture du processeur
On a atteint notre but ! Circuit électronique … peuvent être réalisés par des circuits électroniques comprenant des multitudes de transistors. Circuit électronique
(aujourd’hui autour de 108-109 transistors) On a atteint notre but ! Circuit intégré VLSI (aujourd’hui autour de 108-109 transistors) De tels circuits peuvent comprendre aujourd’hui des centaines de millions voire des milliards de transistors intégrés en une seule puce.
On a atteint notre but ! Et une collection de telles puces montée sur une carte mère permet de fournir toute l’intelligence et la mémoire nécessaires pour réaliser n’importe quel ordinateur, du plus gros (comprenant des centaines ou des milliers de cartes-mères) au plus petit ordinateur personnel, tablette, téléphone portable, ou tout autre appareil ou gadget connecté.
Des algorithmes aux ordinateurs Langages de Programmation C, C++, C#, Java, Scala, Python, Perl, PHP, SQL, Excel, etc. En résumé donc, partant d’algorithmes abstraits, on peut les réécrire … 1 … dans des langages de programmation plus formels – aujourd’hui des langages puissants … 2 … tels que C, C++, C#, Java, Scala, Python, Perl, PHP, SQL, Excel, etc. … 3 … qui peuvent être traduits automatiquement en langages assembleurs … 4 … lesquels sont à leur tour traduits automatiquement en binaire. 5 Tout langage assembleur correspond à l’architecture de l’ordinateur auquel il est destiné … 6 … laquelle architecture est réalisée par des ingénieurs sous forme de puces de circuits intégrés comprenant des millions de transistors … 7 … qui se retrouvent dans tous genres d’ordinateurs et appareils informatisés. 8 Tous ces appareils renferment ce qu’on appelle des ordinateurs à programme enregistré. Logiciel Matériel Ordinateur à programme enregistré + +