Un ingénieur britannique a construit un processeur discret de 500 kg. Etapes de travail et entretiens avec le créateur
Le mégaprocesseur est un processeur 16 bits avec quatre registres à usage général. Des panneaux séparés contiennent des diagrammes à des fins diverses, y compris la mémoire, l'unité arithmétique, les entrées / sorties et autres. Le système utilise une unité ALU 16 bits et un additionneur 16 bits. Le mégaprocesseur est équipé de 10 000 LED, dont le clignotement montre chaque étape du processus de calcul, indiquant la direction du mouvement des données selon le schéma. La capacité mémoire est de 256 octets. Le bloc mémoire comprend 27 000 transistors. Le nombre total de transistors dans le système dépasse 40 000. La masse du processeur est de 500 kg. Le processeur fonctionne à une fréquence de 20 kilohertz.Pourquoi tout cela a-t-il été créé? L'auteur du projet, un ingénieur en électronique du Royaume-Uni, James Newman, voulait comprendre comment fonctionne un processeur moderne. Il a décidé que la meilleure façon d'obtenir le maximum d'informations sur les principes de fonctionnement des transistors et d'un processeur serait de créer lui-même un processeur. Selon lui, le processus d'étude est devenu incontrôlable et s'est transformé en un travail quotidien.«Les ordinateurs sont opaques. En les regardant, on ne peut pas comprendre comment ils fonctionnent. Ce que je voulais faire, c'était monter à l'intérieur et comprendre ce qui se passait. Le problème est que cela ne peut pas être fait avec des processeurs de taille régulière. Mais nous pouvons construire un grand processeur de nos propres mains - et alors il sera clair ce qui se passe à l'intérieur. Pour afficher les flux de données, il convient également d'ajouter des LED, ce qui a été fait », explique James Newman. Maintenant, le mégaprocesseur peut être regardé en temps réel, et tout le monde peut comprendre de quels éléments le processeur se compose et comment chaque unité fonctionne.Le mégaprocesseur occupe une partie importante du salon de la maison de l'ingénieur, lui causant certains inconvénients.Pour démontrer les capacités informatiques du processeur, l'ingénieur a décidé de choisir un jeu tetris. Les éléments du jeu sont affichés sur un grand écran LED avec une résolution de 32 * 64 LED. Pendant le jeu en temps réel, tout ce qui se passe à l'intérieur du processeur est visible."Votre ordinateur est peut-être un million de fois plus rapide que le système que j'ai construit, mais il est beaucoup plus attrayant ... Je ne pense pas que je puisse jamais vendre mon projet, mais je veux que le méga-processeur soit présenté comme une exposition dans un musée ou un établissement d'enseignement" "Dit Newman.Assemblage du système
Le mégaprocesseur se compose d'un grand nombre d'éléments qui sont assemblés en blocs. Des blocs séparés sont placés sur des supports. La hauteur du stand est de 2 mètres. Largeur - de 1,2 à 1,6 mètres. Sur chaque stand, un petit nombre de modules est monté - de 2 à 4. Le stand sert de lieu pour placer les modules et leur protection. Chaque module exécute un ensemble spécifique de fonctions. Par exemple, il existe un module ALU, un décodeur et d'autres. Les modules sont constitués de cartes individuelles.Stands
Les cadres étaient en aluminium extrudé. Sur tous les stands, il y a une description détaillée des fonctions remplies par une unité informatique particulière. Voici un bloc de registres à usage spécial:
Le cadre a des canaux pour les fils d'alimentation. Les batteries sont recouvertes d'une protection métallique pour que rien ne bouge en cas de déplacement du support: des
blocs de connexion sont montés sur les côtés du support.
Chaque support a une carte de service, qui est montée dans le côté inférieur droit.
Chaque carte de service a deux fonctions. Le premier est la connexion et la surveillance des lignes électriques. La seconde donne accès aux bornes de puissance. Il y a 7 stands dans le système.Modules
Le mégaprocesseur est divisé en plusieurs modules. Voici le module de l'automate de contrôle:
Ici, vous pouvez voir les ensembles de cartes qui implémentent la logique pour un sous-système particulier. Les cartes sont assemblées dans un circuit montrant ce qui est lié à quoi et comment. Le circuit est imprimé sur du carton collé au contreplaqué pour assurer la rigidité de l'ensemble de la structure. Tous les fils de connexion sont ramenés afin de ne pas gâcher l'apparence du module. Au départ, les fils étaient devant, mais ça n'avait pas l'air trop joli.
Afin de ne rien confondre, il y a aussi une liste de l'ensemble du régime derrière.
La connexion de tous les éléments avec des fils prend beaucoup de temps.
Honoraires
Dès le début, j'ai décidé que les PCB seraient utilisés dans le projet. Sans eux, il serait impossible de créer quelque chose de compliqué, car seules les connexions dans le système sont supérieures à 100 000. La plupart des fonds du projet sont allés aux conseils. Au départ, je voulais faire de grandes planches, mais cela s'est avéré incroyablement difficile, alors j'ai décidé de tout diviser en petites planches, ce qui a été fait. Pour la conception, j'ai utilisé CadSoft Eagle.
D'autres planches peuvent être vues ici .Vérifier
Des contrôles ont été effectués en permanence, à chaque étape du projet:- Chaque carte a été testée avant son installation dans le module;
- Chaque module a été testé à la fin des travaux;
- Chaque stand a été testé une fois l'installation des modules terminée;
- Après avoir connecté chaque nouveau stand, l'ensemble du système a été testé.
Pour vérifier le fonctionnement des tableaux, modules et supports, l'équipement de BlueChip Technologies a été utilisé.


Composante financière
Au total, Newman a dépensé environ 40 000 livres. Au taux actuel (après le référendum sur le retrait de l'UE, la livre a chuté de 30% par rapport au dollar), c'est 53071 $.Le coût de divers éléments structurels:Électronique | £ 19,000 |
Honoraires | £ 14,000 |
Aluminium | £ 3,500 |
Les outils | £ 2,000 |
Gravure | £ 900 |
Coloration et impression | £ 900 |
Fixations, contreplaqué, etc. | £ 500 |
Le coût des composants électroniques:Transistors | £ 2000 |
Les câbles | £ 1800 |
Connecteurs | £ 5000 |
Chips (pour le débogage) | £ 850 |
Résistances | £ 370 |
La nutrition | £ 800 |
LEDs | £ 1300 |
Soudure | £ 370 |
"Le reste est du fer" | £ 1100 |
| |
Statistiques générales dequelques statistiques:Transistors | 42 400
|
Résistances | 50 500
|
LEDs | 10 500
|
Connecteurs | 770
|
Contacter les terminaux | 7 700
|
Contacts soudés | 272 300
|
Poids de soudure | 4,25 kg
|
Poids de plomb | 2,5 kg
|
Fil unique
| 1 500 m
|
Câble plat à 20 broches | 420 m
|
Longueur totale des conducteurs | 9.9 km |
Planches utilisées dans le projetType de carte | Transistors sur chacun | LED sur chaque | montant utilisé | transistors totaux | leds totales |
2AND | 5 | 3 | 72 | 360 | 216 |
3AND | 7 | 4 | 18 | 126 | 72 |
4AND | 9 | 5 | 5 | 45 | 25 |
2OR | 5 | 3 | 54 | 270 | 162 |
3OR | 7 | 4 | 34 | 238 | 136 |
4OR | 9 | 5 | 23 | 207 | 115 |
5OR | 11 | 6 | 16 | 176 | 96 |
8OR | 17 | 9 | 6 | 102 | 54 |
Xor | 7 | 3 | 5 | 35 | 15 |
2x2 AND_OR | 14 | 9 | 47 | 658 | 423 |
2x3 AND_OR | 18 | 11 | 7 | 126 | 77 |
4x2 AND_OR | 26 | 17 | 16 | 416 | 272 |
8x2 AND_OR | 50 | 33 | 9 | 450 | 297 |
1BUF | 2 | 2 | 28 | 56 | 56 |
4BUF | 8 | 8 | 5 | 40 | 40 |
4déc | 19 | 7 | 8 | 152 | 56 |
16DEC | 82 | 21 | 7 | 574 | 147 |
2x16MUX | 118 | 52 | 3 | 354 | 156 |
4x16MUX | 241 | 93 | 20 | 4820 | 1860 |
16REG | 226 | 33 | 8 | 1808 | 264 |
8ADD | 302 | 187 | 5 | 1510 | 935 |
8LOGIC | 158 | 126 | 3 | 474 | 378 |
BUS SPLIT | 16 | 16 | 119 | 1904 | 1904 |
BUS SPLIT (pas de LED) | 0 | 0 | 9 | 0 | 0 |
3x2 CHIFFRE (7 segments) | 0 | 0 | 8 | 0 | 0 |
4 DIGIT (7 ) | 0 | 0 | 11 | 0 | 0 |
16 DIGIT (7 ) | 0 | 0 | 2 | 0 | 0 |
BUS 2 BUS | 0 | 0 | 40 | 0 | 0 |
2 TEE | 0 | 0 | 17 | 0 | 0 |
4 TEE | 0 | 0 | 15 | 0 | 0 |
BYTE_2_WORD | 0 | 0 | 13 | 0 | 0 |
SHIFT | 37 | 34 | 8 | 296 | 272 |
8B RAM | 766 | 64 | 32 | 24512 | 2048 |
4 MEM MUX | 252 | 40 | 10 | 2520 | 400 |
2 MEM MUX | 141 | 24 | 1 | 141 | 24 |
|
|
| : | 42370 | 10500 |
Transistors mal installésAfin de faciliter sa tâche, Newman a créé de petits circuits imprimés avec des désignations maximales pour les éléments. Sur chaque carte, la valeur de la résistance et la méthode d'installation du transistor ont été indiquées.
Tout est simple. Mais il y avait des erreurs dans le processus - environ une douzaine de transistors, James installé incorrectement. Et les trouver était une tâche difficile, étant donné le nombre total de ces éléments dans le projet. Essayez de le faire vous-même. Sur la photo ci-dessous, il y a une carte où l'un des transistors est mal installé.
L'auteur du projet a passé des heures à trouver le problème. Souvent, il inspectait plusieurs fois le même transistor mal installé sans le remarquer.ConnecteursLa connexion avec des connecteurs est une tâche simple. Mais s'il existe environ 500 de ces composés, la probabilité d'erreur est élevée. Et James s'est trompé plusieurs fois.Câble asymétrique
Sur la photo, vous pouvez voir immédiatement le problème - le câble est asymétrique et plusieurs contacts ne sont pas utilisés. Mais détecter une telle erreur dans la masse des fils et des connexions est très difficile. Newman a pensé que le problème était dans l'un des modules et a passé énormément de temps à vérifier les modules. Mais j'ai dû vérifier le câble.Dents incurvéesIl existe également un type de connexion comme IDC (Insulation Déplacement Connector). Un câble est inséré entre des dents pointues dont l'isolant est coupé lors de l'insertion et le câble est connecté aux dents. Tout est simple. Dans un cas, la «dent» du contact s'est courbée et a touché la voisine, fermant le circuit. Trouver un problème a été très difficile.
Et encore un problème de même nature. Seulement dans ce cas, la «dent» pliée n'a pas fourni un contact approprié avec le fil.
Les câblesUne installation incorrecte des câbles de raccordement est un autre problème. De plus, il a été détecté le plus souvent après avoir connecté ces câbles à des modules ou des supports individuels. James se trompait parfois en positionnant le connecteur sur les câbles. Naturellement, le circuit n'a pas fonctionné. Et encore une fois les heures de fouille, les carillons des circuits, la vérification des éléments. La photo montre un câble correctement serti avec un connecteur et un câble problématique (ci-dessus).
Et voici une autre raison courante de rupture de circuit - un câble sous-installé qui ne fournit pas un contact approprié. Fermeture de
contactCourt-circuit vers le boîtierIl y a deux tableaux, dont l'un n'a pas fonctionné comme il se doit. Il s'est avéré que la raison en était que James a endommagé la planche avec un tournevis et l'a verrouillée aux attaches, et celle-ci - à l'ensemble du support. Il est presque impossible de le remarquer à l'œil nu.
SoudureParfois, pendant la soudure, des problèmes caractéristiques se posaient - court-circuiter les contacts avec un pont de la soudure. Sur la photo, l'image est agrandie plusieurs fois. Il est très difficile de remarquer une telle descente - vous devez examiner en détail tous les éléments du tableau.
James est un ingénieur de circuits de profession, et il soude depuis sa petite enfance. Sur la photo ci-dessus, la raison en est une chute accidentelle d'une goutte d'étain sur le circuit. C'était un cas isolé pour tout le temps, mais il y avait beaucoup de bruit avec lui - il n'était pas facile de trouver la mauvaise soudure. James a d'abord commencé à vérifier toutes les connexions de la carte et a ensuite décidé d'inspecter le lieu de la soudure.Un autre problème similaire, il n'a été trouvé qu'avec une loupe - le pont formé par la soudure a l'épaisseur d'un cheveu humain.
Et la soudure.Et ici, James, pour une raison quelconque, a juste oublié de souder les contacts. Toute une série de pattes de transistor s'est avérée être «nue», non attachée à quoi que ce soit. Ce problème a été rapidement découvert et résolu.
Défaut de transistorC'était l'un des problèmes les plus graves. Il y a plusieurs milliers de transistors dans le circuit. Et la défaillance d'un seul transistor échoue signifie qu'un mégaprocesseur ne fonctionne pas. Pour éviter les problèmes, James a vérifié chaque transistor avant de souder. Puis - après la soudure. Ensuite - tous les transistors du circuit. Et il s'est avéré que certaines cartes ne fonctionnaient pas, et la faute était le transistor défectueux. La cause des dommages était généralement une décharge électrostatique. Les transistors de type 2N7000 sont très sensibles à ce type d'exposition.De plus, si le conseil d'administration fonctionnait hier, il ne pourrait plus fonctionner aujourd'hui. Pourquoi? La raison était inhabituelle. C'est ... un aspirateur nommé Henry.
James Newman pensait que les transistors étaient endommagés lorsque l'alimentation de certains circuits était activée. Après vérification, il s'est avéré que ce n'était pas le cas. Et seulement après de nombreuses heures de tentatives infructueuses pour trouver une source d'électricité statique, il s'est souvenu qu'il avait reçu un petit choc électrique, touchant l'aspirateur. Et avec cet aspirateur, il a nettoyé certains supports après qu'ils soient prêts, oubliant complètement le type de problème que pourrait poser un aspirateur (en particulier, le nettoyage d'ordinateurs et d'ordinateurs portables avec un aspirateur - de nombreux fabricants de PC le préviennent). En conséquence, Henry est allé nettoyer les tapis, les stands ont été nettoyés à la main. Et les transistors ont cessé de tomber en panne.D'autres problèmesIl y en avait énormément. Newman a travaillé sur le projet pendant cinq ans, et bien sûr, quelque chose se passait presque tous les jours. Erreurs, dysfonctionnements techniques, courts-circuits, modélisation incorrecte et bien plus encore - ce n'est qu'une petite fraction des problèmes. Il n'est pas possible de décrire tout cela dans un seul article. Il vaut mieux lire ce que James lui-même écrit sur les problèmes lors de la mise en œuvre du projet.Entretien avec James Newman
Je ne pouvais pas simplement écrire sur ce projet grandiose sans poser quelques questions à l'auteur. James a immédiatement accepté de parler un peu de son projet pour les lecteurs de Geektimes.Comment vous est venue l'idée de créer ce projet?C'est arrivé il y a cinq ans. L'idée est née sous l'influence de deux facteurs. J'ai mené des expériences avec des transistors afin de comprendre en détail leur fonctionnement. De plus, dans mon travail, mes collègues ont commencé à discuter de la possibilité de construire un système informatique à partir de circuits logiques discrets. Et je voulais créer un ordinateur non pas à partir de microcircuits séparés, mais à partir de transistors discrets. Je voulais créer un système au sein duquel une personne qui pourrait voir comment tout cela fonctionnait pouvait s'intégrer. À quoi cela pourrait-il ressembler?Combien de temps s'est écoulé entre l'idée et le début du projet?Pas trop. J'ai commencé à effectuer des travaux préparatoires pour la mise en œuvre de l'ensemble du projet de création d'un système informatique presque immédiatement. Environ un an a été consacré à ce travail et à ces expériences.Et quelle est la différence entre le plan initial et la durée réelle du projet?Il me semblait que je pourrais réaliser mon idée dans un an. Mais le projet a duré près de cinq ans. C'est arrivé parce que déjà en train d'agir, j'ai décidé de construire quelque chose de plus grandiose que je ne l'avais prévu.Que pouvez-vous nommer, gros ou petits problèmes, survenus pendant le travail? Lequel d'entre eux était critique?Le principal problème qui a cessé de fonctionner pendant un certain temps est le développement du multiplexeur. Pendant un certain temps, j'ai travaillé sur la résolution du problème de l'effet de diode parasite, qui est pertinent pour les transistors MOS . Se débarrasser de cette diode se heurte à d'importantes difficultés technologiques, ils ont donc appris à la supporter et même à l'utiliser dans des solutions de circuits. - N.D.E. ). En conséquence, j'ai développé des cartes qui ont résolu le problème, mais elles étaient plus grandes que ce à quoi je m'attendais.Un autre problème est la complexité de la création de racks, leur conception était trop compliquée. Je n'ai pas une trop bonne imagination spatiale.Eh bien, en plus de cela, je devais constamment résoudre des problèmes mineurs, il y en avait juste un grand nombre à la fois pendant le processus de conception et pendant la mise en œuvre du plan prévu.Si vous connaissiez tous ces problèmes, travailleriez-vous sur un projet?Je soupçonnais que quelque chose comme ça arriverait. Cela ne m'arrêterait pas. Au départ, je voulais juste savoir comment tout fonctionnait. Mais si je savais quelle serait la taille du processeur et combien d'argent irait au projet, je ne le ferais pas. Le mégaprocesseur est trop grand pour ma maison et je veux lui trouver une autre maison.Avez-vous pensé à arrêter de travailler au cours du projet?Il y a eu plusieurs cas où mon enthousiasme s'est épuisé, ce qui a entraîné un ralentissement. En même temps, je ne me permettais pas de me détendre complètement. Chaque jour, dans de tels cas, je me forçais à faire quelque chose, peu importe à quel point cette tâche était insignifiante. Je me suis dit: "Vous pouvez manger un éléphant, il vous suffit de mordre morceau par morceau."Votre projet est devenu très célèbre. Y a-t-il des offres commerciales? Peut-être avez-vous déjà décidé de donner Megaprocessor à un musée ou une université?Pas d'offres commerciales! Je ne pense pas que je pourrais récupérer l'argent dépensé, et ce n'était jamais le but. Je voudrais donner Megaprocessor à un musée ou à une autre organisation similaire. Des négociations sont déjà en cours.Le système a-t-il besoin d'une attention particulière?Non, rien de tel n'est requis. Seule la prudence est de mise. Cela est particulièrement vrai pour l'électricité statique - une petite charge peut endommager quelque chose.Comment saisissez-vous les données dans le système?J'utilise actuellement une version modifiée du Venom Arcade Stick. Au début, j'avais prévu d'utiliser une interface série qui me permettrait d'utiliser un PC. J'ai développé, fabriqué l'interface, mais je ne l'ai pas encore testée.Quelle est la consommation électrique du système?Je pense à environ 300 watts. La majeure partie est destinée aux LED.Quelque chose s'est-il cassé dans le système une fois le mégaprocesseur prêt?Le seul problème que j'ai rencontré était un système plus lent que prévu initialement. Comme il s'est avéré, la raison en est les résistances de traction nominales mal sélectionnées. Il fallait choisir des résistances d'une valeur nominale non pas de 10k, mais seulement de 470. Une autre chose n'est pas un problème, mais plutôt mon désir. Je voudrais offrir la possibilité de régler la luminosité de l'écran. Mais maintenant, il est trop tard pour y penser.Le mégaprocesseur comprend plusieurs dizaines de milliers de pièces. Quelle est la probabilité que tout fonctionne sans panne au fil du temps?Très bonne question. Et effrayant. Je pense que si vous ne bougez pas ou ne touchez pas les composants électroniques de l'ensemble du système, tout ira bien. Mais le problème est que le Megaprocessor est situé dans mon salon, et je dois déplacer les supports. Chaque fois que je fais cela, il y a un risque d'endommagement de la connexion. La probabilité est faible. Peut-être 10%. Samedi dernier, j'ai trouvé un dysfonctionnement sur l'une des planches. Il y avait des problèmes avant de déplacer les stands. Par conséquent, j'ai calculé qu'une fois sur dix, un dysfonctionnement se produit lors du déplacement des stands. Si je mets tout dans une voiture et installe le système dans une nouvelle maison, je suis sûr que j'obtiendrai quelques dysfonctionnements. Une dizaine.Avez-vous des idées de nouveaux projets?La première chose que je dois faire est de ranger la maison et le jardin. Ils ont été abandonnés pendant plusieurs années. Après cela, je verrai quoi faire d'autre.Que pouvez-vous conseiller aux personnes qui envisagent de faire quelque chose de similaire?Conseils pratiques: lorsque vous travaillez sur un projet de cette ampleur, vous devez avoir une idée claire de ce que vous faites. Vous devez être un professionnel dans votre domaine et être professionnel à chaque étape. Lors du développement de quelque chose, vous devez être sûr que tous les éléments créés seront compatibles les uns avec les autres au stade de l'assemblage.Conseil abstrait: commencer est facile, difficile à terminer. Pourquoi voulez-vous faire ça? Dès que vous commencez à faire quelque chose, vous vous rendrez compte plus tard que cela peut être mieux fait et vous recommencerez cette étape. Et encore et encore. Il y a deux ans, j'ai réalisé que si je refais tout tout le temps, je ne finirai rien. Et j'ai décidé de m'arrêter au stade avec le bilan de «pas mal», puisque ce stade correspond dans la plupart des cas aux plans. Je sais qu'il y a beaucoup d'erreurs dans le projet et beaucoup de choses qui pourraient être mieux faites. Mais j'ai quand même fini mon projet, et je suis content. Source: https://habr.com/ru/post/fr395919/
All Articles