Ordinateur de bord [fermé]


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?


10
Ce n'est pas seulement possible, mais les gens le font, par exemple megaprocessor.com et bien d'autres, juste google pour "discrete transistor cpu" ou similaire. Il devient juste terriblement complexe et prend des années à construire et déboguer
PlasmaHH

Cela dépend de ce que vous entendez par une maquette. Si cela inclut Veroboard, des bandes d'étiquettes ou une construction d'insectes morts ancrés par des clous martelés dans la planche à pain de maman (oui) - tous soudés alors oui, certainement. Si vous voulez dire ces choses en plastique qui lâchent des fils au hasard, oubliez ça ...
Brian Drummond

@BrianDrummond Re planches à pain en plastique - c'est apparemment possible (voir ma réponse). J'ai vu quelques ordinateurs construits de cette façon. Si quelqu'un a accidentellement retiré des fils, quel cauchemar. Je suis vraiment étonné qu'ils courent.
tcrosley

2
Je pense que si vous aviez des planches à pain infinies, vous seriez complet?
PyRulez

2
Vous avez vraiment besoin de découvrir le « web ring » CPU Homebrew (qui était un retour à sens unique chose dans les années 90 avant que le moteur de recherche a dominé le web): members.iinet.net.au/~daveb/simplex/ringhome.html
slebetman

Réponses:


33

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:

entrez la description de l'image ici

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.



1
@ColeJohnson Ses notes indiquent qu'il n'a aucun schéma pour cela!
tcrosley

1
@JohnD thx, fixe.
tcrosley

23

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:

entrez la description de l'image ici

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.


Toutes nos félicitations. C'est tout un exploit. J'aime le jeu d'instructions - me rappelle un 6800.
tcrosley

1
Il y a un gars qui travaille à la construction d'un processeur utilisant uniquement des transistors. La RAM, le processeur, tout. MegaProcessor.com
Cole Johnson

4
Certaines personnes sont plus patientes que moi
Viktor Toth

10

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.


Bien qu'il soit certainement possible d'implémenter de la mémoire à l'aide de bascules, je pense qu'une concession est nécessaire pour permettre aux circuits intégrés de mémoire (c'est généralement le cas dans ces ordinateurs de brassage domestique d'utiliser un 74181 pour l'ALU). Vous pouvez obtenir une SRAM 8Kx8 dans un package DIP pour environ 2 $. Cela devrait être suffisant pour une calculatrice. Idem pour l'EEPROM.
tcrosley

1
@tcrosley, je suis d'accord. Je rappelle juste une remarque de l'histoire. Si vous allez construire un ordinateur homebrew aujourd'hui, vous ne le faites pas pour suivre un ensemble arbitraire de règles, vous allez le faire pour le plaisir et l'apprentissage. Et concevoir un microprocesseur est plus amusant et une meilleure expérience d'apprentissage que d'enrouler 16 mille bits de mémoire de base;)
PkP

@PkP Il y a quelque chose à dire pour quelqu'un qui se souvient comment tisser la mémoire centrale et la documenter. Pas tellement au niveau du fonctionnement d'un ou deux bits, mais du côté pratique de la façon de faire 16 kbits sans devenir fou. J'ai travaillé sur des projets de semences de semences. Je peux visualiser la folie ... Je suppose qu'il y avait une fois l'automatisation d'usine pour le faire, mais j'ai vu très peu d'écrits sur le côté production.
RBerteig

2
@RBerteig merci, je suis d'accord. Eh bien, je me souviens avoir lu que les souvenirs de la corde de l'ordinateur du vaisseau spatial Apollo ont été tissés par des femmes tisserandes très habiles, qui ont eu la patience étonnante de vérifier très soigneusement chacune ou zéro dans le diagramme de code, ce qui indique si la bobine de bit est tissée à travers le noyau ou contourné autour de lui, ou quelque chose à cet effet. Je me souviens avoir lu dans la même source qu'il leur a fallu six mois pour tisser une nouvelle ROM après chaque modification logicielle des ingénieurs du MIT qui ont écrit le logiciel Apollo.
PkP

7

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!)


5

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.


+1 J'ai une calculatrice qui utilise un processeur ARM. De nos jours, un microcontrôleur devrait être considéré comme un composant de base.
Spehro Pefhany

25
Vous n'avez pas besoin d'un micro, cela rend les choses plus faciles.
PlasmaHH

@PlasmaHH soit un microcontrôleur, soit plusieurs platines. Vous n'avez que des portes de base à 2 entrées? S'amuser. OTOH une ROM ou deux + un registre MUX + = déjà un simple microcontrôleur.
John Dvorak

Comment pensez-vous que les microcontrôleurs font les mathématiques? Avec les ALU - en silicium / transistors / grilles élémentaires selon l'échelle à laquelle vous voyez la chose.
user3728501

Les microcontrôleurs et microprocesseurs sont également fabriqués à partir d'éléments électroniques, vous pouvez donc les faire sur une planche à pain, pas besoin d'un vrai microcontrôleur
phuclv
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.