Amis de Zeste de Savoir, bonjour !
Est-ce que vous vous êtes un jour demandé comment un ordinateur fonctionne, à son plus bas niveau ? Comment avec quelques composants très simples, on peut réaliser des choses aussi complexes que l’appareil sur lequel vous êtes en train de lire ce tutoriel ? Si oui, alors soyez les bienvenues.
Prérequis
Ce tutoriel se veut accessible au plus grand nombre. Normalement, pas besoin de maths poussées ou de connaissances complexes en électronique pour l’aborder
Objectifs
Appréhender la logique formelle et le binaire.
Expliquer comment on passe d’une expression mathématique à un circuit électrique qui fait la même chose.
Voir quelques circuits intéressants, qui entrent dans la composition d’un ordinateur.
La logique des propositions et des prédicats
- C'est quoi, une proposition ?
- Assembler des propositions avec les connecteurs
- C'est toujours utile: les prédicats et les quantificateurs
L'algèbre de Boole
- Propriétés de l'algèbre de Boole
- Fonctions booléennes
- Simplifier une forme normale : la méthode de Karnaugh
- Simplifier une forme normale : la méthode de Quine-Mc Cluskey
Des maths à l'électronique
- La version « interrupteurs »
- Semi-conducteurs et diodes
- Jonctions et transistors à effet de champ
- Des portes, des portes et des portes !
Un détour nécessaire : le binaire
- C'est la base !
- Addition, soustraction et nombres négatifs en binaire
- Multiplication et divison binaire
Vers la pratique: un gros paquet de portes
J’espère que vous avez appris plein de choses, et que vous avez ressenti qu’il suffit en fait d’outils très simples et d’un peu d’ingéniosité pour faire des choses très complexes, telles que le support que vous êtes en train d’utiliser pour me lire.
Dans tous les cas, je vous remercie de m’avoir suivi. Merci également à @Taurre pour la validation, ainsi que tous les gens qui m’ont fait part de retours lors de la bêta d’une manière ou d’une autre: @Aabu, @d3m0t3p, @Ksass`Peuk, @unidan et @Vayel.
Sources et notes:
- Le livre computer organization and design de M. Patterson et J.L. Hennessy, qui, en plus de réexpliquer tout ce que je fais dans ce tutoriel, va plus loin et tente d’expliquer comment fonctionne vraiment un ordinateur (incluant le célèbre processeur MIPS32). Merci donc à mon prof de m’avoir indiqué ce bouquin. Nombre des schémas du dernier chapitres en sont directement inspirés.
- Wikipédia, surtout dans sa version anglaise, reste une source inépuisable de savoir, même s’il est parfois nécessaire de jongler entre les onglets. En particulier, ça m’a bien aidé pour écrire toute la partie liée aux semi-conducteurs (en), aux transistor bipolaires (en) mais aussi les CMOS (en), et donc les MOSFETs (en).
- Pour l’algorithme de Quine-Mc Cluskey, outre la page Wikipédia (en), je me suis également aidé de cette présentation (en) et de celle-ci (en). La méthode de Petrick est en outre expliquée ici (mais également dans les deux documents précédents).
- De manière générale, ce textbook (en) de « All About Circuits » est une mine d’information géniale. Si le sujet vous intéresse, foncez.
- Par ailleurs, cette présentation de F. Anceau, qui m’a été indiquée par Aabu lors de la bêta, retrace très bien l’historique du développement des transistors, et mentionne deux ou trois choses que je n’ai pas eu le temps et la place de développer.
- En l’absence de mieux, les schémas électriques ont été réalisés à l’aide de circuitikz (en) (ça fonctionne vraiment pas mal, en fait !), les tables de Karnaugh sont issues d’une réécriture en Tikz des fonctionnalités de ce package (en), tandis que l’afficheur 7 segments est une réécriture des fonctionnalités de ce package (mais avec des segments un peu plus réalistes et modulables à mon gout). L’ensemble de ces schémas est distribué sous la même licence que le tutoriel sur un dépôt Github dédié.
À bientôt !