J'aimerais construire l'ordinateur le plus simple possible. Je ne me soucie pas de la vitesse ou du stockage, en effet, avoir une vitesse lente et un stockage faible est un énorme avantage car je veux le construire à partir de transistors (idéalement des relais!) Et je veux une LED pour chaque état. Il sera programmé via un Raspberry Pi qui hébergera une caméra afin que vous puissiez voir chaque cycle d'horloge s'exécuter (oui, il va fonctionner à Hz et non à GHz). Ce sera une conception ouverte avec l'intention que les écoles puissent acheter les pièces, comprendre et améliorer la conception. Le budget total doit donc être bien inférieur à 400 £, de préférence environ 100 £.
J'ai fait des recherches sur cela pendant de nombreuses années et j'ai de bonnes idées pour le CPU (registres minimaux, microcode dans les commutateurs DIP et opérations logiques / arithmétiques série binaires pour réduire le nombre de transistors). Ce que je ne peux pas comprendre, c'est comment obtenir la mémoire, je voudrais 1024 à 8096 bits.
Le mieux que je puisse trouver est deux décodeurs 6 bits one-of-n donnant accès à une grille de condensateurs 64 x 64. Soit ils ont une charge, soit ils n'en ont pas, et la lecture renforcerait cet état. Il n'y aurait pas de LED sur les condensateurs car le rafraîchissement de cette «DRAM» serait dans l'ordre ou en minutes (ce qui est dommage car ce serait la seule partie à ne pas afficher l'état).
D'autres idées incluent une certaine forme de lecteur de bande (mécanisme de cassette compact: grand stockage, trop complexe, pas de recherche), une mémoire de tambour (bande autour d'une boîte de grains: trop difficile à faire fonctionner la mécanique), une mémoire mécanique (roue de vélo et roulements à billes: trop d'erreurs sur les bits), mémoire centrale (gros noyaux de ferrite durs: toujours très difficile à obtenir à l'échelle requise), bande / carte (pouvons-nous toujours acheter les lecteurs de bande), disque rotatif avec trous perforés dans l'ordre binaire et certains magnétiques mémoire pour le stockage (trop complexe à construire).
En fin de compte, l'objectif est de publier une conception qui peut être construite au cours d'une année scolaire où toutes les parties d'un processeur et de la mémoire sont `` visibles '' et vous pouvez donc voir les instructions extraire, décoder en microcode et adresser le décodage / enregistrer l'accès / la logique tous qui se déroule en quelques minutes.
Si quelqu'un a des idées pour une mémoire vraiment bon marché (<< £ 100) où il est clair exactement comment cela fonctionne, faites-le moi savoir.
Tony
La situation actuelle de PS est sur http://www.blinkingcomputer.org/
la source
Réponses:
De nombreuses personnes ont construit des ordinateurs à partir de transistors discrets, de circuits intégrés, de relais et même de tubes à vide. Ils vont des machines 4 bits jusqu'à 32 bits. Le 4-bitters sera bien sûr le plus simple que vous puissiez construire et faire quoi que ce soit. Le tout premier microprocesseur était le 4004 4 bits d'Intel .
Je commencerais par rechercher sur Google les " ordinateurs 4 bits maison " (sans les guillemets).
Voici une carte d'un ordinateur transistorisé 4 bits:
En ce qui concerne la mémoire, certains de ces projets qui utilisent des transistors discrets "trichent" et utilisent des puces SRAM. Ils sont incroyablement bon marché pour des quantités modérées de mémoire, 32 Ko sont de 3,28 $ et ne nécessitent aucune horloge et aucun rafraîchissement.
Même si le reste de votre ordinateur utilise des relais, leur utilisation pour la mémoire sera extrêmement coûteuse.
Si vous pouvez vous en sortir avec 1K bits, vous pouvez en construire un avec des bascules transistorisées; Les 2048 2N3904 coûteront 3 ¢ chacun (60 $ au total, plus les autres composants qui seront encore moins chers - résistants à 1/2 centime, etc.). Vous pouvez obtenir des PCB pour 10 $ chacun, puis embaucher un enfant pour les farcir.
Ordinateurs de relais datent toutes les arrière jusqu'aux années 1930 fin des années, et l' un des premiers a été le Harvard Mark I . C'est de là que vient le nom de l'architecture Harvard (espace de programme et données séparés, par rapport à l' architecture von Neumann qui combine les deux).
L'ordinateur relais de brassage à domicile le plus célèbre est celui construit par Harry Porter.
Découvrez les vidéos de l'ordinateur en cours d'exécution. Me rappelle un ancien central téléphonique électromécanique.
Voici une partie d'un autre ordinateur relais de brassage maison appelé Zusie :
Beaucoup de lumières clignotantes.
Et enfin, voici un lien vers une vidéo d'un additionneur 4 bits, composée de 24 relais. Les additionneurs comme celui-ci sont au cœur de l'ALU (unité de logique arithmétique) dans un ordinateur.
la source
Si vous voulez une mémoire simple , ne cherchez pas plus loin qu'une bascule . Avec deux transistors et quatre résistances, vous pouvez avoir un peu de mémoire. Vous pouvez également faire une bascule avec deux portes NOR croisées, ou simplement acheter un circuit intégré avec déjà un tas de bascules.
En fait, le cache CPU très rapide est essentiellement un tas de bascules, intégrées dans le CPU.
la source
Je suis d'accord qu'il serait plutôt cool d'avoir un système informatique complet avec une LED pour chaque bit d'état, visible à l'œil humain.
L' ordinateur relais TIM 8 utilise 8 condensateurs, 2 diodes et un relais SPDT par octet dans ses 12 octets de mémoire principale RAM (mémoire de données). (Le TIM 8 possède 16 octets de mémoire variable si vous incluez des registres).
L'ordinateur relais TIM 8 utilise une bande perforée pour sa mémoire de programme.
Est-il possible de remplacer ces diodes par des LED, il y a donc une brève impulsion montrant les données entrant ou sortant d'un octet de RAM? Peut-être que si le système actualise la DRAM assez rapidement, en balayant chaque octet de RAM, alors chaque bit d'état semble être visible sur ces LED (bien que techniquement un seul octet de LED soit activé à un instant donné). (Il faudrait que ce soient des LED à fort courant si nous voulons CHARGER et STOCKER les données de ces condensateurs vers des registres à relais).
Est-il possible de mettre une résistance et une LED sur chaque condensateur de stockage de bits, montrant vraiment simultanément chaque bit d'état? (Il faudrait que ce soient des LED à faible courant et des condensateurs physiquement grands si nous voulons que le condensateur conserve les données suffisamment longtemps pour un taux de rafraîchissement raisonnable. Certaines LED peuvent être facilement vues avec seulement 1 mA de courant. Avec un rafraîchissement de 1 seconde condensateurs de cycle et (d'estimation) initialement chargés à 12 V même si (estimation) une charge de 7 V sur le condensateur est suffisante pour charger le matériel en aval, puis le condensateur a besoin d'une cote de C ~ = i * t / V = 1 mA * 1 s / (12 V - 7 V) = 200 uF.).
Bien sûr, cela sera beaucoup plus grand et nécessitera plus de travail humain à assembler que n'importe quelle mémoire principale basée sur un circuit intégré.
la source
Pourquoi n'utilisez-vous pas simplement un simple processeur 8 bits (par exemple 6502) et une très petite quantité de mémoire (registres CPU, IC RAM, et une très petite quantité de stockage externe (par exemple: FD, HD ou disque flash, etc.) .) puis expliquez avec des diapositives ce qui suit:
Si vous souhaitez garder l'appareil aussi simple et peu coûteux que possible, utilisez un système de développement de microcontrôleur comme système de base ou même un Arduino est assez simple et peu coûteux. Aucun des élèves ne va construire un simple relais ou un ordinateur à tube à vide - et personne ne devrait vraiment le faire. Ils devraient commencer par un bon livre et un Arduino pour une compréhension de base de la programmation. Plus tard, s'ils veulent se lancer dans la lecture / le contrôle de périphériques externes, ils peuvent se plonger dans une programmation spécifique ou dans l'ingénierie.
Voici un bon projet à considérer pour vos idées:
http://www.instructables.com/id/How-to-Build-an-8-Bit-Computer/?ALLSTEPS
la source
Je conviens qu'il serait plutôt cool d'avoir un système informatique complet avec une LED pour chaque état, visible à l'œil humain, plutôt que caché dans une mystérieuse boîte noire.
Vous pourriez envisager d'utiliser un bus mémoire bit-parallèle plus ou moins standard - peut-être quelque chose comme le STEbus (bus IEEE-1000) .
Vous pourriez envisager d'utiliser un tas de circuits intégrés comme 74HC273 ou 74LS373 ou 74HC564 pour stocker les données afin que l'état actuel des données à l'intérieur de la puce soit toujours visible sur les LED connectées aux broches de sortie parallèle. Utilisez ensuite des tampons octaux à 3 états (tels que le 74HC241 ou 74LS245) ou des multiplexeurs, également connectés à ces broches de sortie parallèles, pour canaliser les données dans le bus. Vous vous retrouvez avec quelques puces de décodeur one-of-N et 2 puces par 8 bits de stockage. "Cela vous permet ... de voir quelles données sont réellement stockées dans chaque octet de RAM." - Ordinateur SAP-1 simple comme possible de Pong Guy avec RAM à composants discrets . Le même arrangement est utilisé pour les registres du CPU Fourbit de Jaromir ou les registres du CPU spaghetti 8 bits de Kyle .
Les prix actuels (2016) de Mouser.com sont d'environ 0,11 $ / bit en quantité 10 pour un tel arrangement (un verrou de stockage octal plus un tampon octal à 3 états par 8 bits) et 0,05 $ / bit pour les nouvelles LED en quantité 500. 2 ^ 9 octets = 512 octets = 2 ^ 12 bits = 4096 bits, c'est (très grossièrement)
Vous pourriez peut-être créer (très grossièrement) 64 octets de mémoire de données (la même quantité de mémoire de données qu'un Atmel ATTINY13 ou un Microchip PIC16F570) pour environ 90 $ (ce qui peut correspondre à votre budget de 150 $ ~ = 100 £).
Vous pouvez voir pourquoi il est tentant de remplacer toutes ces puces de stockage et de tampon et la plupart des puces de décodeur par une puce SRAM parallèle 32Kx8 standard, vous offrant beaucoup plus de stockage pour moins de 10 $. (Alliance AS6C1008-55PCN, Cypress CY7C199CN-15PXC, etc.)
C'est peut-être la raison pour laquelle la plupart des processeurs maison, du minuscule processeur Nibbler 4 bits à l'impressionnant ordinateur relais RC-3 http://www.computerculture.org/2012/09/rc-3-relay-computer/ http: / /www.computerculture.org/projects/rc3/ , sont connectés à une puce SRAM de boîte noire pour la mémoire principale.
Avec quelque chose comme un bus mémoire standard, vous pourriez peut-être avoir plusieurs cartes mémoire différentes connectées au CPU en même temps:
la source
Voici une autre suggestion pour un projet similaire qui pourrait être utile - construire une machine de Turing . Il s'agit de la machine informatique la plus simple possible
la source