Est-il possible de fabriquer un ordinateur simple entièrement avec des platines et des composants électroniques de base? Est-il possible, par exemple, de construire une calculatrice scientifique de cette manière?
19
Est-il possible de fabriquer un ordinateur simple entièrement avec des platines et des composants électroniques de base? Est-il possible, par exemple, de construire une calculatrice scientifique de cette manière?
Réponses:
Je ne suis pas d'accord pour dire que placer un microcontrôleur sur une planche à pain équivaut à construire un ordinateur sur une planche à pain. À l'exception des E / S (comme un clavier et un écran), un microcontrôleur en soi est à peu près un ordinateur complet. Il suffit de le placer sur une planche à pain et de connecter quelques fils est trivial et peut être fait en dix minutes.
Lorsque le PO a demandé: "Est-il possible de fabriquer un ordinateur simple entièrement avec des tables d'expérimentation et des composants électroniques de base?", Par composants électroniques de base, je pense que cela signifie quelque chose de plus comme ceci:
Maintenant, c'est un ordinateur sur une planche à pain (enfin, plusieurs tables à pain), construit à partir de composants de base . La description de celui - ci est ici . Il est composé d'une douzaine de types de circuits intégrés de la série 74LS00. (Je ne pense pas que nous voulions remonter jusqu'aux transistors; le PDP-8 d'origine avait la taille d'un petit réfrigérateur ).
En ce qui concerne une calculatrice scientifique, si vous avez construit un ordinateur à usage général comme celui illustré ci-dessus, il pourrait être programmé comme une calculatrice scientifique. Construire une calculatrice scientifique en utilisant uniquement des circuits intégrés logiques (pas d'ordinateur) serait extrêmement difficile; tous les fabricants de calculatrices de ce type (Ti, HP, etc.) utilisaient des circuits intégrés spéciaux à grande échelle . Voici une calculatrice maison qui utilise un calculateur début 4 bits IC.
Je conviens que si l'on veut mettre un ordinateur en service le plus rapidement possible, il est préférable d'utiliser un microcontrôleur. Si l'on veut vraiment comprendre comment un ordinateur fonctionne en interne, alors en construire un à partir de circuits intégrés de base est la bonne voie.
la source
Ce n'est pas seulement possible, je l'ai effectivement fait: voir https://www.vttoth.com/CMS/projects/47
Voici à quoi ressemblait le câblage à l'arrière de l'une des plaques d'essais:
Bien sûr, tout dépend des composants qualifiés de «basiques». Dans mon cas, les composants de base étaient des puces TTL de la série 74 ..., une centaine environ. Construire un ordinateur entièrement à partir, disons, de transistors ... ce serait beaucoup trop écrasant.
De plus, mon ordinateur 4 bits n'est vraiment pas assez puissant pour être utilisé comme une calculatrice scientifique, principalement en raison des limitations de la mémoire (256 nybbles 4 bits). Cependant, il n'est pas très difficile d'étendre l'espace d'adressage, peut-être en utilisant un mécanisme de pagination, et 4096 nybbles (adresses 12 bits) pourraient déjà suffire, 65536 nybbles (adresses 16 bits) à coup sûr.
la source
Oui, c'est possible, mais il vous faudrait un peu plus que quelques planches à pain pour arriver à une calculatrice scientifique, en fonction bien sûr de ce que vous considérez comme un composant de base: que vous appeliez un transistor un composant de base ou une bascule , une EEPROM ou tout simplement quelque chose que vous pouvez souder dans un vieux réfrigérateur.
Il y a de bonnes réponses ici, mais je voudrais juste souligner une chose que les gens ne considèrent pas souvent. En regardant l'histoire des appareils informatiques, la difficulté de construire un ordinateur à partir d'écorce d'arbre et de clous n'est pas le CPU ni l'ALU. Le principal problème est la mémoire. Parce que vous en avez besoin d'une grande quantité pour que tout le concept de programme stocké fonctionne. Vous pouvez créer un processeur à partir de quelques tongs et de portes NAND; Par exemple, pour une application d'électronique de puissance avec des contraintes spécifiques, j'ai conçu un microprocesseur qui n'utilise que 69 bascules (4 registres 16 bits, 4 drapeaux et 1 bit de registre d'état indiquant FETCH / EXECUTE). Il est implémenté dans du silicium et les gens écrivent des logiciels qui s'exécutent dessus. C'est simple et cela correspond à la taille d'un contact de drain d'un transistor de puissance. Mais la mémoire nécessaire pour stocker tout programme utile est beaucoup, beaucoup plus grande.
Très tôt, la mémoire a été le point de départ de la conception. Vous pouvez utiliser des relais bi-stables comme ils l'ont fait lors des premiers échanges téléphoniques. Vous pouvez utiliser des tubes à vide ou des transistors pour faire des tongs; et les registres du CPU étaient généralement implémentés de cette façon. Mais pour le programme et le stockage des données, des bandes de papier, des bandes magnétiques, des disques en rotation ou des tambours en rotation ont été utilisés. Même des ondes acoustiques sur du fil d'acier qui sont constamment reçues et retransmises par l'électronique. Tout ce à quoi vous pouvez penser pourrait contenir des morceaux pendant un temps raisonnable à un coût raisonnable. Les ordinateurs de l'orbiteur et de l'atterrisseur lunaire d'Apollo utilisaient des mémoires à noyau enroulé enroulées sous forme de cordes. Tous ces éléments nécessitent un équipement d'interface différent et ont un impact énorme sur ce à quoi doit ressembler le processeur pour accéder à ce type de mémoire. La mémoire des semi-conducteurs n'est apparue que dans les années 1970, rejetant enfin ce genre de complexité. Mais là encore, les RAM dynamiques modernes ne sont pas si faciles non plus.
Ensuite, il y a la beauté supplémentaire d'avoir à concevoir un équipement d'entrée-sortie pour l'ordinateur. Quelques ampoules conviennent à certaines applications, mais si vous avez besoin d'une entrée / sortie de texte ou de quelque chose de plus complexe, vous rencontrez à nouveau plus de difficultés. Les lecteurs de cartes perforées, les imprimantes et les terminaux papier étaient une activité énorme à leur époque. Un terminal vidéo en mode texte VT100 de 1978 a beaucoup plus de mémoire et de puissance de traitement que n'en aurait votre ordinateur de calculatrice scientifique.
la source
C'est possible, mais la complexité et la taille dépendent de ce que vous appelez les composants électroniques de base. Une logique ALU et séquenceur est un peu complexe, mais réalisable. La mémoire est simple, mais le modèle de base doit être répété un très grand nombre de fois (pensez à des milliers de fois).
Outre le matériel, vous aurez également besoin d'un logiciel qui s'exécute dessus. À titre indicatif, pour un processeur moyennement complexe (niveau de données 8 bits d'instructions 16 bits classique), votre effort logiciel sera comparable à votre effort matériel. (Pour un processeur plus simpliste, vous aurez besoin de plus d'efforts logiciels.) Et comment allez-vous charger ce logiciel dans votre machine?
La chasse aux bogues (et leur résolution) sera une entreprise intéressante. Je vous conseille de commencer à écrire en VHDL et de l'exécuter sur un simulateur, qui sera beaucoup plus facile à déboguer qu'un tas de puces et de fils.
Deux de mes étudiants ont créé un processeur 16 bits avec un logiciel de base (y compris un port backend GCC) en ~ 1 an, en commençant par VHDL et le code C pour la simulation. L'ALU a utilisé 74181 puces, la mémoire était une RAM statique et ils ont utilisé un atMega pour interfacer entre le PC et leur ordinateur. L'ordinateur était en partie sur des barres de pain sans soudure et en partie sur des PCB (les 8 registres 16 bits). (Ces deux n'étaient pas des étudiants moyens!)
la source
Oui c'est possible. Mais vous avez besoin d'un microcontrôleur pour faire le calcul. Ceci est un exemple de projet. Il utilise un microcontrôleur AVR et un écran LCD 16 × 2.
la source