La majorité des claviers d’aujourd’hui utilisent le port USB pour communiquer avec les ordinateurs, cependant il reste une partie non négligeable des PC qui utilisent encore le port PS/2 pour leurs claviers et aussi leurs souris. La quasi-totalité des cartes-mères actuelles disposent encore de ce port, il reste parmi les ports les plus anciens actuellement encore en utilisation dans le domaine de la micro-informatique, ses premières utilisations datées dans les milieux des années 80, donc le début de la micro-informatique.
La vidéo présente est celle de l’académicien Ben Eater, c’est une excellente vidéo comme c’est toujours le cas avec ses vidéos (voici les liens de ça chaîne Youtube et son site-web). La vidéo nous mène dans l’exploration du protocole utilisé par le clavier pour communiquer avec le PC, c’est très bien expliqué malgré que le protocole n’est pas simple ni intuitive que ça, les claviers des machines comme l’Apple II ou le Commodore 64, très célèbres machines avant lui étaient beaucoup plus simples, quoi qu’il en soit c’est un protocole indispensable à connaître si la nécessité se fait sentir pour l’utilisation d’un clavier dans un projet.
La carte-mère, ou Motherboard en Anglais est le principal circuit imprimé (ou PCB pour Printed Circuit Board) dans lequel tous les composants internes à l’unité centrale sont assemblés, dont le processeur, les barrettes de RAM, la carte graphique, les cartes d’extension…etc. La carte-mère représente un enjeu important lors de l’achat d’un nouveau PC, ou pour le montage soi-même de son propre PC, que je conseille d’ailleurs fortement aux étudiants en informatique, l’enjeu de la carte-mère c’est qu’elle va décider du type de processeur, du type de la mémoire, des périphériques…etc., c’est pratiquement le composant le plus critique parmi les autres choix de composants. La vidéo de la chaine YouTube éducative PowerCert donne un très bon aperçu sur les plus importantes particularités à connaitre sur les carte-mères.
Mémoriser l’information est l’un des
atouts principaux d’un ordinateur, il a une faculté énorme de
mémoriser l’information pour des périodes très très longues, sur
ce terrain il bat l’humain à plein couture, un seul disque dur peut
mémoriser l’équivalent d’une montagne de livre sans oublier la
moindre lettre, alors que la mémoire humaine en comparaison est très
faible et moins fiable.
À l’intérieur d’un ordinateur on trouve généralement deux types de mémoires, les mémoires vives, appelées aussi mémoire centrale ou RAM, c’est une mémoire temporaire utilisée lorsque l’ordinateur est en état de marche. Les deuxièmes sont les mémoires mortes ou mémoires secondaires, ça inclut disque dur, la mémoire flash, les CD-ROM, DVD…etc. Leurs capacités sont beaucoup plus grandes que la mémoire vive, par contre elles sont utilisées pour un stockage permanent de l’information, et c’est surtout important lorsque la machine est éteinte. La vidéo en haut fait une comparaison entre les deux technologies contemporaines de disque dur qui sont le HDD et le SSD.
Là encore une fois Ben Eater nous fait rêver avec ces deux excellentes vidéos en explorant la conception hardware d’une carte graphique à partir de zéro. En d’autres mots From the ground et en utilisant un nombre réduit de composantes logiques simples de la série TTL 74 il arrive sur quelques breadbord à générer le signal analogique pour une image fixe de résolution 800×600 de fréquence 60 Hertz sur un connecteur VGA, qui est actuellement très répondu dans la majorité des moniteurs.
C’est vrai que sur un point de vue
technique la carte est loin égale à la puissance des dernières
cartes graphique, mais sur un plan académique c’est une pure
merveille, elle permet avec toute simplicité de démonter les
concepts de base de la création d’une carte graphique pour des
amateurs et des étudiants avec un niveau de première ou deuxième
année universitaire, il devient même très intéressant de la
mettre en mini-projet un de ces jours sachant que tous les composants
sont simples à trouver chez les vendeurs d’électronique.
La vidéo suivante est une sorte d’état de l’art sur la conception hardware et l’architecture des ordinateurs, le terme état de l’art dans la recherche scientifique fait référence à un résumé sur l’historique de l’évolution d’une technologie donnée englobant le plus souvent les deux aspects; recherche et commercial, ça couvre généralement les principales avancées technologiques, en habituellement une perspective sur les principales voies d’évolution future possible pour cette technologie. Ainsi cette vidéo est plutôt orientée aux chercheurs et experts dans le domaine de la conception hardware plus qu’aux étudiants en première et deuxième année informatique, néanmoins c’est une excellente vidéo dans le sens qu’elle permet de casser la vision pompeuse des messages publicitaires des firmes technologiques comme Intel, AMD ou Nvidia, et met en évidence les réelles limitations des architectures actuelles.
La présentation est faite dans la conférence Google I/O organisée annuellement par Google, et c’est présenté par celui qui est déjà mentionné dans le titre John Hennessy, un monument dans le domaine, pour ne pas dire le monument. Dans le domaine académique, il est connu surtout pour ses livres références coécrits avec David Patterson; Computer Organization and Design et Computer Architecture: A Quantitative Approach, littéralement les deux références dans le domaine. Il est aussi connu pour être pour plusieurs années le président de l’université de Stanford. Mais au-delà de ça il est surtout connu dans la recherche pour avoir développé le modèle RISC des processeurs qui représente aujourd’hui 99% des processeurs modernes, ce modèle lui a permis de fonder la société MIPS Technologies responsable de la fabrication des fameux processeurs MIPS, ces travaux lui ont valu avec David Patterson en 2017 le prestigieux prix de Turing, l’équivalent du prix Nobel en informatique. Actuellement il est le président de Alphabet Inc. maison mère de Google.
Les composants élémentaires de base lors de la conception d’un circuit électronique numérique, que ça soit un processeur, un microcontrôleur, une puce graphique, une carte son, un contrôleur réseau…etc, est sans doute les portes logiques. La conception de ce genre de matériel est un processus d’assemblage et de connexion peut être d’une centaine, millier, million, et même milliard de portes logiques par exemple les derniers processeurs modernes. Mine de rien on peut dénombrer seulement quelques types de ces portes logiques qui sont en plus très simples à comprendre leurs manières de fonctionner. La vidéo suivante de la chaîne éducative Computerphile explique le fonctionnement des trois principaux types de ces portes qui sont le AND, le OR et le NOT. Il est bon de rappeler que dans l’électronique numérique les valeurs binaires 0 et 1 sont réellement des valeurs physiques représentées par un voltage électronique, par exemple 0 volt peut représenter le 0 logique et 5 volts le 1 logique, la famille par exemple des circuits TTL utilisent ce standard.
Il est totalement légitime de se poser la question que normalement il est connu que les composants élémentaires pour la construction disons par exemple des processeurs sont les transistors et non les portes logiques, et que généralement on évalue la complexité de ces circuits par le nombre de transistors et non le nombre de portes logiques. C’est vrai dans le sens où les portes logiques sont construites à base de transistors, par exemple la porte AND peut être construite à partir de 6 transistors, mais sur un point de vue logique, le transistor en lui tout seul ne peut pas faire d’opération logique, l’opération logique en elle-même représente l’élément unitaire basique pour faire le traitement sur l’information binaire (0 et 1), sachant que par définition l’informatique c’est le traitement automatique de l’information, qui est sous représentation binaire, par une machine qui est elle électronique pour ces temps modernes.
L’une des merveilles technologiques qu’a connu le monde vidéoludique dans son histoire est sans doute la PlayStation 1 de la marque Sony, pour ma part c’est la meilleure console de jeux vidéo de tous les temps. Sa sortie en 1994 a marqué un tournant technologique sans précédent, elle présentait des performances en 3D dépassant de loin son homologue PC, avec un prix 2 à 3 fois moins cher (pour rappel à l’époque de sa sortie les PC tournés encore sur Windows 3.11), une prouesse qui a ébloui toute personne concernée par la technologie. Et une question se posait, comment Sony avait réussi à produire un tel exploit technologique ?
La réponse de nos jours est désormais
simple et bien connue, c’est en 2 mots; spécialisation et
optimisation. La PlayStation d’un point de vue général n’était pas
plus puissante que les PCs de l’époque, mais dans son domaine, en
occurrence la 3D, elle était très très en avance, son architecture
globalement était orientée vers le rendu 3D en optimisant au
maximum les coûts des composants, les concepteurs ont voulu dès le
début construire une architecture simple à programmer étant les
début de la 3D, avec le moindre coût. Sur le diagramme en bas on
peut avoir un aperçu de cette architecture.
Un très bon article (voici son lien,c’est aussi la source du diagramme) arrive à décortiquer d’une manière relativement détaillée l’architecture. On peut ainsi observer sur le diagramme que la PlayStation 1 dispose d’un processeur de 33.87 MHz dérivé de MIPS et implémentant le jeu d’instruction MIPS I (le même étudié dans le module Architecture des Ordinateur). Généralement MIPS dispose de 4 slots pour rajouter des Co-processeurs, le processeur de la PlayStation n’utilise que 2, le MMU (pour la gestion de mémoire virtuelle) et le GTE (Geometry Transformation Engine) module purement mathématique accélérant les calculs de transformation et des projections géométriques des polygones qui représente une bonne partie du moteur de rendu 3D. Sur le même silicone du processeur se trouve aussi un DMA (Direct Memory Access) automatisant et accélèrent le transfert de donnés entre différentes mémoires, et le MDEC (Motion Decoder) pour la lecture du flux vidéo, en raison que le processeur n’a pas assez de puissant pour le faire d’une manière logiciel, les processeurs actuels (de 4 à 5 GHz) peuvent le faire facilement et ne disposent pas forcément un composant dédié.
Le processeur est ensuite raccordé au bus sur le quel sont rattachés : une RAM de 2 Mo du type EDO RAM, le GPU (Graphics processing unit) responsable de l’affichage graphique, le SPU (Sound Processing Unit) l’unité responsable du son, le CD-ROM controller, le BIOS (Basic Input/Output System) sous forme d’une ROM de 512 Ko contenant principalement le programme de démarrage de la machine, et une interface pour la communication avec les manettes et les cartes mémoires. Le GPU de la PlayStation est relativement primitif, il ne peut essentiellement que dessiner des triangles, sachant que le triangle est la forme primitive élémentaire constituant une scène en 3D, la commande de dessiner un triangle et ses paramètres lui provient du processeur, il dispose d’une mémoire propre VRAM de taille 1 Mo. L’unité de son aussi dispose de 512 Ko de mémoire SRAM. L’image en bas illustre la carte-mère et la disposition physique des composants.
Voilà, on vient de faire un petit survol sur l’architecture de la PlayStation 1, je vous conseille fortement de lire l’article qui détail beaucoup plus l’architecture, (lien de l’article). Il est probable que je consacrerai dans le futur inchaallah un tutoriel bien plus détaillé et approfondi pour arriver au moins à implémenter des petits programmes sur la machine, ces petits programmes sont généralement appelés démos. En conclusion, il est facilement observable que l’architecture d’une PlayStation 1 et totalement différente d’un PC, on avait vu dans le module de l’Architecture des Ordinateurs que le PC suivait plus ou moins l’architecture de Von Neumann qui est relativement simple, alors que la PlayStation suit un modèle totalement différent, plus éparpillé et plus distribué éventuellement pour optimiser au-mieux les caractéristiques vidéoludique de la machine.
La vidéo suivante est produite par la chaîne Youtube Computerphile, une excellente chaîne de se spécialisant sur diverses technologies en informatique. La vidéo est animé par le Docteur Steve Bagley (le lien de son site personnel) de l’université de Nottingham en Angleterre, il fait la présentation d’un état de l’art sur le fonctionnement externe et interne des processeurs (CPU). La présentation touche des concepts importants dans l’Architecture des Ordinateurs comme l’architecture de Von neumann, l’interaction CPU-RAM, l’exécution des instructions à travers les compartiments internes du CPU, dont Fetch, Decode, Execute, l’exécution en pipeline et le phénomène du pipeline hazard (ou risques du pipeline), qui exige un traitement spécifique pour certaines instructions.
La vidéo suivante est excellente pour avoir une compréhension et un aperçu sur la technologie de mémoire qui prime sur nos machines actuelles, c’est très pédagogique et très bien illustré.
Ces deux references sheet m’ont beaucoup aidé pour l’utilisation du processeur MIPS. Ils contiennent en résumé les principales informations à connaître pour le processeur MIPS.