| Zeile 1: | Zeile 1: | ||
Wie funktioniert das eigentlich mit deiner CPU? Schreibst du da einen Emulator? Oder hast du da sogar schon mal einen Lötkolben verwendet (natürlich nicht auf dem Niveau von Intel, aber immerhin)? --[[Benutzer:Roadrunner|Roadrunner]] 16:14, 6. Nov. 2012 (CET) | Wie funktioniert das eigentlich mit deiner CPU? Schreibst du da einen Emulator? Oder hast du da sogar schon mal einen Lötkolben verwendet (natürlich nicht auf dem Niveau von Intel, aber immerhin)? --[[Benutzer:Roadrunner|Roadrunner]] 16:14, 6. Nov. 2012 (CET) | ||
| + | ::Also am Anfang überlege ich mir Grundlegende Sachen wie Busbreite (größtenteils 16 Bit, da toll) und Speicher Adressierung (Der einfachheithalber immer linear und bei 16 Bit daten 16 bit Speicherzellen (macht das Auswerten von Befehlen einfacher)), dann das Instructionset, dann wie die CPU aufgebaut sein soll (das wird teilweise schon mit dem IS entschieden) und welche inneren Eigenschaften sie haben soll. So und dann habe ich bei meinen Früheren CPU Projekten meinen Logiksimulator genommen und die CPU aus einzelnen Gattern gebaut (mit einigen Ausnahmen, da die schon in der Bibliothek mit drin waren (adder, multiplizierer, divitierer etc)). Bei der Neusten CPU ist das anders, für die habe ich gleich einen Emulator geschrieben und habe auch nicht vor diese als Logikschaltung aufzubauen, da der Simulator mit max 4.1Khz simulieren kann und ich aber min 100khz erreichen will von der Taktung. Zudem ist der Emulator so geschrieben, dass er die Funktion emuliert, nicht die Vorgehensweise - heißt wenn gesagt wird add r1, r2 (in maschienencode) wird ausgeführt regs[1] = regs[1] + regs[2] und nicht die komplexe Logikverknüpfung - und so läuft das ... Ich bin aber noch nicht dazu gekommen den Emulator komplett zu testen (z.B. Interrupts sind noch komplett ungetestet) weil ich erstmal den Assembler Fertigbekommen will, da Coden in Maschienencode anstrengend ist ... ständiges Tabellen jonglieren ... --[[Benutzer:Chris12|Chris12]] 22:36, 7. Nov. 2012 (CET) | ||