Inhaltsverzeichnis:
- Schritt 1: Forschung auf dem Weg
- Schritt 2: Aufgetretene Schwierigkeiten
- Schritt 3: Leistungen und Reflexion
Video: 8-Bit-Computer auf einem Steckbrett - Übersicht - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Mein Ziel für dieses Projekt war es, ein besseres Verständnis der Computerarchitektur, des Hardwaredesigns und der Sprachen auf Assemblerebene zu entwickeln. Als Junior an der Universität, der Computertechnik studiert, hatte ich vor kurzem Kurse in Elektronik, Labors, die mich in Assemblersprache eingeführt haben, und Hardwarearchitektur abgeschlossen. Durch eine Einführung in diese Themen wollte ich mein Verständnis für die Feinheiten in allen drei Kursen verbessern. Wie könnte man besser lernen, als an einem Projekt zu arbeiten?
Meine ursprüngliche Absicht war es, diesen 8-Bit-Computer mithilfe der auf Ben Eaters YouTube-Kanal bereitgestellten Vortragsvideos vollständig zusammenzubauen, die den Designprozess fantastisch in eine solide Mischung aus Material, das ich behandelt habe, und Aspekten, die ich noch nicht behandelt habe, zerlegen. lernen. Da ich bereits ein grundlegendes Verständnis von kombinatorischem Design und grundlegender Elektroniklogik hatte, wollte ich mich selbst herausfordern, indem ich versuchte, Teile des Computers nach den Entwurfsübersichten zu entwerfen und zu bauen, aber ohne die Bauanleitung zu beachten. Während des gesamten Projekts war es mein Ziel, mehr zu lernen und mein Verständnis zu verbessern, als nur etwas Neues zu bauen. Daher habe ich während jedes Projektschritts ein wenig in Online-Artikeln und Foren über die Komponentenarchitektur und die für jeden verwendeten grundlegenden Konventionen gelesen von ihnen.
Schritt 1: Forschung auf dem Weg
Dieses Projekt hat mich wirklich dazu gebracht, viel mehr zu lesen, als ich erwartet hatte. Einer meiner Hauptansätze für jede Komponente bestand darin, einen Überblick aus einem Online-Forum oder einen Artikel zu lesen, die Vorträge aus Eaters Videos zu sehen und zu versuchen, mein eigenes Teil zu entwerfen, bevor ich es baue, teste und meistens für ein Stück verschrotte mehr geführte Annäherung von Eaters Kanal. Ein Beispiel dafür war, als ich die ALU-Komponente des PCs baute. Während ich mir die Designvideos ansah, las ich Artikel über Chipkomponenten mit höherer Funktionalität und Triggereingängen, die es ermöglichen würden, Befehlstypen umzuschalten und Eingänge intern in das Zweierkomplement zu invertieren. Vor dem Kauf dieser einfacheren Chips habe ich jedoch den Designansatz überprüft, über den Ben Eater in seinen Videos gesprochen hat, mit der Mischung von Addierern und XOR-Logikgattern, um die Funktionalität des ALU-Moduls zu erhöhen, ohne dass teurere Chips benötigt werden. Dadurch schätze ich die Verwendung diskreter Logik und ihre Anwendbarkeit auf das Computerdesign und lernte verschiedene Ansätze zum Bauen von Komponenten kennen. Durch die Kombination von Chips niedrigerer Ebene auf dem Steckbrett lernte ich auch einige wichtige Architekturmerkmale kennen, die innerhalb der ALU verwendet werden, was mein Verständnis dieser Ausführungskomponente auf dem PC verbessert hat.
Eine weitere Schlüsselkomponente, die ich kennengelernt habe, war die Verwendung von Transceivern, auch als Puffer bekannt. Bevor ich tiefer in das Projekt einstieg, dachte ich, dass ich einfach verschiedene Komponenten mithilfe von Steuersignalen aktivieren und deaktivieren würde, fand aber in den Artikeln schnell heraus, dass Puffer verwendet werden mussten, um diese Architektur im Von-Neuman-Stil richtig zu funktionieren. Da der Computer einen gemeinsamen Bus für die Übertragung von Daten zwischen den verschiedenen Modulen des PCs verwendet, wurde die Synchronisation der Zyklen von der Uhr vorgegeben. Um jedoch das Speichern und Laden ohne Störung der auf dem Bus verfügbaren Daten zu ermöglichen, stellte ich fest, dass Transceiver als Gates unerlässlich waren und ein Freigabesignal erforderlich waren, damit Daten rechtzeitig auf den Bus fließen können. Die Lesefähigkeit war nicht so schwer zu verstehen, da die Drähte immer die Werte auf dem Bus hielten, aber die Verwendung des richtigen Wertes bedeutete, dass die Register den neuen Wert speichern konnten.
Eine letzte Erkenntnis aus der Forschung während dieses Projekts war das Verständnis der Spezifikationsunterschiede zwischen ähnlichen Chips. Oft habe ich Chips mit den gleichen ID-Werten, aber unterschiedlichen Beschreibungsbuchstaben wie LS und HC gefunden. Ich lernte, dass es nicht nur um die Herstellung von Etiketten ging, sondern auch um Timing- und Leistungsspezifikationen für die Chips. Da mein Computer zum Glück relativ niedrige Komponenten mit hoher Toleranz verwendet, musste ich mich nicht darum kümmern, viele Spezifikationen zu erfüllen, aber beim Design auf höherer Ebene habe ich gelernt, dass Dinge wie Taktfrequenz und Leistungsaufnahme entscheidend für den Erfolg oder Misserfolg von Elektronik sind Entwurf
Schritt 2: Aufgetretene Schwierigkeiten
Ziemlich schnell in das Projekt hinein konnte ich einfache Komponenten wie den Taktgeber für die Synchronisierung von Prozessen und die grundlegende Speicherarchitektur entwerfen, aber die Bestellung von Teilen neben einem schweren Kurssemester machte es schwierig, dem Projekt außerhalb der Zeit zuzuordnen, was mich wieder beschäftigte Zeitplan für die Fertigstellung. Nach meinem ersten großen Rückschlag, weil ich eine Woche auf die Ankunft von Teilen warten musste, umging ich weitere Verzögerungen, indem ich alle Teile bestellte, von denen ich dachte, dass ich sie für den Abschluss dieses Projekts benötigen würde. Nachdem ich auch einige grundlegende Ansätze zum Debuggen gelernt hatte, begann ich, einige Baugruppen zu übersehen, was bedeutete, dass ich zurückgehen und Videos erneut ansehen musste, um meine Fehler zu erkennen, was normalerweise dazu führte, dass der größte Teil eines Boards auseinandergenommen wurde. Dies hatte keine Abkürzung. Ich habe gelernt, wie wertvoll es ist, Ihren Fortschritt beim Bau eines elektronischen Geräts zu überprüfen. Durch das Debuggen jedes Boards auf dem Weg konnte ich sie mit mehr Vertrauen kombinieren, dann wurde das Debuggen von kombinierten Boards viel einfacher.
Schritt 3: Leistungen und Reflexion
Alles in allem habe ich derzeit die Uhr, den Opcode- und Programmzähler, die ALU-Einheit, die rs rt- und rd-Register und den RAM fertiggestellt. Abgesehen davon, dass ich den Bus und die Peripheriegeräte vervollständigen musste, um dieses Projekt abzuschließen, habe ich eine beträchtliche Menge über Computerarchitektur gelernt, die ich hoffentlich in meinen Wahlfächern im Abschlussjahr weiterführen kann, indem ich den Computerarchitekturkurs belege.
M5 stellte mir alle notwendigen Werkzeuge zur Verfügung, um an meinem Projekt zu arbeiten, und die Komponenten waren entlang der Teilewände sehr gut angeordnet, sodass ich sehr früh wusste, welche Teile bestellt werden mussten und was entbehrlich war. Wenn ein anderer Student dieses Projekt übernehmen sollte, würde ich auf jeden Fall anmerken, dass dieses Projekt viel Zeit in Anspruch nimmt, wenn Sie versuchen, alles zu verstehen, was auf dem Computer vor sich geht. ES IST NICHT SCHWIERIG, aber es erfordert Sorgfalt, wenn Sie möchten, dass es erfolgreich funktioniert. Ich empfehle dringend, die Video-Playlist auf dem YouTube-Kanal von Ben Eater durchzugehen, um einen Überblick über alle Teile zu erhalten, die Sie verwenden müssen, damit Sie nicht rechtzeitig in Verzug geraten, wenn Sie nicht vorhaben, Ihren eigenen Ansatz zu entwickeln. Da ich die meisten Teile gekauft habe, plane ich, dies mitzunehmen, um es in meiner Freizeit fertigzustellen, aber es wäre cool, dies weiterzugeben, damit ein anderer Schüler es fertigstellen kann, was bedeutet, dass das Design der verbleibenden Teile belichtet wird, aber ein großer Fokus auf Assembler, an dem ich glücklicherweise in anderen Kursen arbeiten durfte
Empfohlen:
Windows 10 auf einem Raspberry Pi zum Laufen bringen – wikiHow
So funktioniert Windows 10 auf einem Raspberry Pi
So führen Sie eine Kraftkalibrierung auf einem CombiTouch durch: 6 Schritte
So führen Sie eine Kraftkalibrierung auf einem CombiTouch durch: Diese Anleitung zeigt, wie Sie eine Kraftkalibrierung auf einem Alto-Shaam CombiTouch-Ofen durchführen. Wenn der Bildschirm nicht auf die Berührung reagiert oder ein anderes Symbol aktiviert als das, das Sie berühren, folgen Sie einfach diesen Anweisungen. Wenn die
Netflix auf einem Pi2 (obwohl kein Ton): 3 Schritte
Netflix auf einem Pi2 (obwohl kein Ton): Hallo zusammen! Es gibt viele Tutorials online, um Netflix auf dem Raspberry Pi2 zu bekommen. Die meisten von ihnen sind jedoch veraltet und nicht sehr klar. Also, ich bin hier, um Ihnen meine Lieblingsmethode zu zeigen, um Netflix auf dem Himbeer-Pi zu bekommen. Der Pi funktioniert großartig für mos
Wie zeichne ich einen Computerbildschirm auf einem Mac auf?: 7 Schritte
Wie zeichne ich den Computerbildschirm auf dem Mac auf?: Wie zeichne ich den Bildschirm auf dem Mac auf? Wollten Sie schon immer etwas aufzeichnen, was auf Ihrem Computer oder Telefon passiert? Vielleicht sehen Sie sich ein Video an und möchten einen Clip aufnehmen; Vielleicht versuchst du jemandem zu zeigen, wie man etwas macht, und ein Video würde es schaffen
EKG-Schaltung (PSpice, LabVIEW, Steckbrett): 3 Schritte
EKG-Schaltung (PSpice, LabVIEW, Breadboard): Hinweis: Dies ist KEIN medizinisches Gerät. Dies dient nur zu Bildungszwecken mit simulierten Signalen. Wenn Sie diesen Stromkreis für echte EKG-Messungen verwenden, stellen Sie bitte sicher, dass der Stromkreis und die Verbindungen zwischen Stromkreis und Instrument eine ordnungsgemäße Isolierung verwenden