Le bus PCI Express

L’autre jour je voulais installer un disque dur SSD pour un peu augmenter les performances de mon PC de maison. Lorsque j’ai commencé à chercher les différents modèles SSD sur Internet j’ai constaté qu’il existait 3 différents types de disque dur, les disques durs SSD utilisant le bus SATA, le connecteur des anciens disques durs magnétiques HDD, les SSD utilisant le M.2 NVMe, et surtout ce que je ne connaissais pas avant, c’est les SSD se branchant directement sur le port PCI Express. C’est vrai que le bus PCI Express et pratiquement le principal bus d’extension pour les cartes-mères des PC modernes. Je me rappelle très bien de l’évolution de ce bus, parce que ça a été toujours le seul moyen de rajouter des cartes d’extension aux PC, comme les cartes graphiques, les cartes réseau, les cartes son, les cartes TV, les cartes d’acquisition…etc. Les cartes-mères avant l’apparition du PCI Express utilisaient son grand frère le bus PCI qui avait exactement la même fonction et la même utilisation, mais contrairement aux cartes-mères modernes ces cartes-mères disposaient d’un port différent et spécifique que pour les cartes graphiques, appelé le port AGP. Et en revenant encore plus avant dans l’histoire de l’informatique, avant le port PCI il y avait son ancêtre le port ISA, que personnellement j’ai connu sur ma première carte-mère, mais que je n’ai jamais eu le besoin de l’utiliser.

Introduction à PCI Express

Malgré que le bus PCI Express soit conçu principalement pour être facile à utiliser, mais aussi conçu pour être versatile pour s’adapter à tout type varié de cartes d’extension à rajouter la carte-mère. C’est pour cette raison qu’il n’est pas si simple à utiliser, ou plutôt il est préférable de connaître ses différentes variantes pour ne pas se tromper dans son utilisation, et de bien comprendre son utilisation. La vidéo en haut est une excellente démonstration qui englobe tous les cas d’utilisation de ce port qui est de nos jours indispensable pour nos PC.

Comprendre le fonctionnement de son propre PC

Pour un informaticien il est important de comprendre ce qui se trouve dans les entrailles de sa machine. Et le sens du terme comprendre va au-delà de reconnaitre les principaux composants d’un PC, comme par exemple le processeur, la carte-mère, la carte graphique…etc. Mais plus spécifiquement de voir à l’intérieur comment ces composants fonctionnent. Il faut savoir que sur les 20 dernières années, l’architecture des PC a énormément évolué. Comme par exemple la disparition avec le temps du chipset Northbridge et son intégration à l’intérieur des processeurs. Ou aussi l’intégration des cartes graphiques à l’intérieur des processeurs. L’apparition du multicœur qui est devenu maintenant la norme des processeurs. L’apparition du cashe de niveau 3 commun pour tous les cœurs d’un processeur. Les nouvelles technologies de bus comme le PCI-express, l’USB 3, ou le NVMe pour les disques durs SSD…etc.

Architecture d’un PC

La vidéo en haut de la chaîne YouTube Computer Science Lessons, donne une explication relativement approfondie de la composition interne d’un PC. Personnellement je trouve que c’est important de comprendre comment se comporte notre PC et de pouvoir comprendre et suivre l’état des différents composants en suivant leurs profile par un logiciel comme CPU-Z par exemple.

Le concept de la mémoire virtuelle

Personnellement je suis un enseignant en architecture des ordinateurs, et j’essaye de parler le moins possible dans mes cours de la mémoire virtuelle. Pourquoi ? parce que ça va rajouter un degré de confusion pour la compréhension du fonctionnement de la mémoire pour les étudiants. Malgré ça dans le cas pratique, la mémoire virtuelle est quasiment implémentée dans toutes les machines modernes. Elle se peut qu’elle soit quad même absente dans les systèmes simplistes comme les microcontrôleurs et quelques systèmes embarqués. En tout cas il est très simple de reconnaître si un possesseur utilise la mémoire virtuelle ou non, il suffit de chercher s’il dispose d’un MMU, car c’est le composant en charge de cette technologie.

La mémoire virtuelle

La vidéo en haut de la chaîne YouTube Computerphile expose très bien le concept de la ma mémoire virtuelle, malgré cela j’aimerais juste rajouter quelques observations personnelles. Comme par exemple le mécanisme de la mémoire virtuelle semble a priori apporter de la complexité superflue à la machine, mais en réalité il est très pratique. Car premièrement d’un point de vue technique, il est très simple à implémenter. Et deuxièmement, ça permet d’incorporer beaucoup d’autres mécanismes. Comme par exemple la protection de la mémoire, lorsqu’un programme est limité à son espace et ne peut pas accéder aux données d’un autre programme. Ou encore l’utilisation du swapping ou pagination avec le disque dur, utilisés principalement lorsque la RAM n’a pas d’espace suffisant pour contenir toutes les données d’un programme, ainsi le disque dur prend le rôle d’un approvisionneur de mémoire.

Un dernier point technique concernant l’utilisation de la mémoire virtuelle, c’est que cette dernière est réalisée par un composant interne au processeur appelez le MMU (Memory Management Unit). Dans l’utilisation réelle, le système d’exploitation sollicite le MMU pour gérer la mémoire virtuelle. Il important aussi de savoir que le MMU utilise une partie de la RAM pour sauvegarder ses tables de transition, en ayant en plus une minuscule mémoire cashe dans le processeur s’appelant TLB (Translation Lookaside Buffer), lui permettant d’accélérer les opérations de transition. Bien sûr j’aimerais rappeler que cette mémoire cashe est totalement différente du cache principal du processeur, lui aussi géré par le MMU. 

Monter un PC en 2022 

C’est presque nostalgique pour moi ce type de contenu. Lorsque j’étais étudiant au début des années 2000 j’étais très branché dans le domaine du matériel informatique, ou ce qu’on appelle maintenant en argot le “matos informatique”. Et je me rappelle qu’à l’époque internet n’était pas aussi prolifique qu’aujourd’hui, il y avait peu de sites internet et pas du tout de YouTube spécialiste dans ce domaine. Malgré cela, il y avait une alternative qui me manque aujourd’hui et qui était tout aussi attrayante, c’était les magazines. À l’époque en Algérie, était disponible un magazine que j’appréciais particulièrement, c’était le magazine PC expert. Un magazine mensuel qui à force de le lire va vraiment renforcez vos connaissances dans ce domaine pour devenir un féru en matos.

Montage PC en 2022

C’est une nouvelle époque, les médias ont changé, mais le sentiment d’engouement pour ces nouvelles technologies reste le même. La vidéo en haut de la chaîne YouTube PCBuilderChannel est une excellente vidéo d’introduction au montage PC. Pour ma part, un informaticien doit connaître plus ou moins le processus de construction de sa propre machine, même si c’est un développeur ou un administrateur de base de données et que le hardware l’intéresse peu. 

Cours sur l’assembleur ARM

Le langage assembleur est souvent considéré par les informaticiens  comme un  langage difficile, la première raison c’est qu’il existe plusieurs langages assembleurs très différents les uns des autres, en réalité chaque à processeur possède son propre assembleur. En plus ce sont des langages de bas niveau, très proches du langage machine binaire,  ça exige du programmeur une compréhension technique du fonctionnement du processeur et de l’architecture de la machine. Mine de rien le langage assembleur est très  populaire dans le domaine des systèmes embarqués, là où il faut bien optimiser son code et le rendre le plus rapide possible. La conception des pilotes des systèmes d’exploitation exige aussi souvent l’utilisation de l’assembleur  en raison  des spécificités intrinsèques de chaque matériel.  Sans oublier de mentionner aussi l’existence des extensions et fonctionnalités uniques pour chaque processeur qui ne sont généralement exploitables qu’à travers l’assembleur, comme par exemple les extensions du processeur Intel Pentium, comme MMX, SSE, et AVX, ou celle des processeurs AMD, l’extension 3Dnow. L’utilisation de l’assembleur est aussi très favorable pour les microcontrôleurs, ces petits microprocesseurs qui sont le plus souvent inclus à l’intérieur des appareils électroniques.

L’assembleur du processeur ARM

Le cours sur la vidéo en haut concerne le processeur ARM, C’est un processeur très connu, d’ailleurs ils embarquent la quasi-totalité des téléphones portables actuels. La vidéo de la chaîne Youtube freeCodeCamp.org relate une bonne explication de la partie théorique complémentée par de la programmation dans la partie pratique.

La proche fin de la loi de Moore

Pour commencer, on va tout d’abord comprendre c’est quoi la loi de Moore ? Véritablement, ce n’est pas une loi à proprement dit, mais disons une spéculation ou une observation faite par Gordon Moore, le cofondateur de la firme d’Intel, dans laquelle il stipule que le nombre de transistors ou la densité des transistors dans une surface donnée des circuits intégrés doublerait tous les deux ans. Cette observation est souvent mise en avant pour démonter l’évolution plutôt spectaculaire de la technologie des circuits intégrés sur plus de 40 ans. Malheureusement, ces dernières années cette loi n’est pas à la rigueur comme pour les années précédentes, et sa courbe d’évolution tend à régresser. Plus encore, la vidéo de la chaîne Youtube Computerphile en bas, prouve que la limite physique est plutôt proche, puisque la trace sur silicium (silicon en Anglais) va plutôt atteindre une largeur proche de l’atome, et dans ce cas c’est plus les lois de la physique électronique classique qui vont être utilisées mais les lois de la physique quantique, ce qui va totalement changer la donne.

La fin de la loi de Moore

Les connecteurs et les ports les plus connus

Il y a des connaissances qui ne sont pas apprises à l’université, mais le plus souvent acquises par la pratique et l’expérience, la première chose qui me vient à l’esprit en pensant aux nouveaux étudiants dans le domaine d’informatique, c’est leurs stupeurs et méconnaissances devant l’énorme base de termes et de jargons utilisés dans ce domaine, pas forcément tous les étudiants, il y a quelques-uns qui sont assez aguerries en informatique, mais beaucoup requirent un peu de temps d’adaptation pour ce domaine.

Charte des connecteurs et ports dans un PC

Parmi les connaissances importantes à recueillir pour un informaticien, et qui ne sont pas explicitement apprises dans le cursus, sont la désignation et appellation des différents connecteurs et ports utilisés dans un ordinateur. Justement, l’exploration de l’image en haut donne un aperçu sur les ports et connecteurs les plus communs utilisés dans un ordinateur (cliquez sur l’image pour zoomer).

Raspberry Pi 4, un PC pas cher ?

Il faut signaler avant de commencer que le Raspberry Pi n’est une gamme de PC, mais de SBC, ou Single Board Computer, par définition le SBC est l’opposé d’un PC, un PC est spécialement conçu pour être utilisé par un humain pour faire des tâches informatiques, le SBC est une machine informatique qui ne devrait pas être utilisée par un humain, mais plutôt être embarquée dans d’autres machines et leur fournir des services en informatique, c’est généralement ce qu’on appelle Système Embarqué, c’est comme par exemple l’informatique dans les voitures modernes, dans les avions, dans les machines industrielles…etc. La vidéo en bas de l’excellente chaîne YouTube Explaining Computers spécialisée dans l’analyse des SBC, invoque toutes les spécifications techniques du Raspberry Pi 4 dans tous ses détails.

Raspberry PI 4

En dépit de la définition évoquée plus haut, la Raspberry Pi Fundation définit le SBC (dans leur site officiel) comme un Desktop (PC en Anglais), et surtout c’est un PC très abordable (disponible en Algérie et coûte entre 15000 et 25000 DA) et très portable avec une taille très réduite proche de la taille d’un portefeuille. Une chose importante cependant reste à savoir, c’est que de base Raspberry Pi 4 ne dispose ni de souris, ni clavier, ni de moniteur, il faut les procurer autrement, plus important encore la puissance de l’SBC, il est loin d’égaler un PC haut ou milieu de gamme, il a selon les tests et les benchmarks circulant sur internet la puissance d’un PC d’entrée de gamme. En résumé, cette carte est idéale pour les étudiants spécialement ceux d’informatique, elle possède une puissance suffisante pour faire quasiment toutes les tâches pédagogiques, offrant un prix abordable et un gabarie réduit, et surtout c’est une machine apte et destinée particulièrement pour le hack et la modification, elle très versatile et très maniable pour substituer d’autre type de machine, ou pour être elle-même intégrée dans d’autres machines électroniques.

Steve Wozniak et le droit à la réparation

Une bataille juridique fait rage entre les constructeurs technologiques et industriels et les associations de consommateurs à l’heure qu’il est, ça se passe principalement aux États Unis et en Europe, malgré que ce problème normalement concerne le monde entier. Le droit à la réparation est la prescription des lois visant principalement à contrer les fabricants et constructeurs exigeant de leurs clients l’utilisation exclusive de leurs services pour la réparation ou la maintenance du produit acheté, sous prétexte qu’ils se considèrent comme les mieux placés pour connaître leurs technologies. Il y a quelques années de cela, la première loi pour le droit à la réparation était prononcée en 2012 aux États Unis contre les constructeurs automobiles leurs exigeant la fourniture de documents et d’information techniques au client lui permettant la réparation soi-même ou à travers un tiers indépendant de sa propre voiture.

Steve Wozniak sur le droit à la réparation

Si vous ne l’avez pas encore reconnu, la personne sur la vidéo en haut est Steve Wozniak. Avec Steve Jobs, les deux ont fondé la firme à la pomme Apple, dans le duo Jobs était le génie du marketing et du management, alors que Wozniak était le génie de l’électronique et de la programmation, ça revient à lui en grande partie la création des machines Apple I, Apple II, et plusieurs technologies et programmes utilisés dans les produits Apple. Dans cette vidéo Steve Wozniak prend parti contre Apple (il n’est plus dans la firme) pour leur stratégie de fermer les spécifications de leurs produits et réserver la réparation qu’à quelques partenaires exclusifs, mais le plus intéressent à mon sens dans la vidéo, est de voir que dans l’histoire d’Apple et la technologie dans les années 70-80, les constructeurs et Apple en faisait partie, publiaient les schémas électroniques de leurs machines et même le code open source de leurs programmes d’une façon tout à fait normale, une pratique qui est devenue aujourd’hui impensable.

Le plus simple circuit pour mémoriser 1 bit

La vidéo de la chaîne Youtube Computerphile est un simple exemple de démonstration de comment peut construire une cellule mémoire qui peut sauvegarder 1 bit. Le circuit est construit à base de portes logiques (d’ailleurs on a déjà fait un article sur ces composants), ce sont des composants électroniques numériques pour faire le traitement sur un signal binaire à base de 0 et 1. C’est une démonstration parfaite pour avoir un aperçu sur comment la mémoire est construite à l’intérieur d’une machine.

Mémoire sur 1 bit