/media/sda-magnetic/david/Dokumente-15/fernuni-hagen/cs-i-ii/plan.txt


Programm zum Erlenen des MIPS - und ... Ziele

Ziele
1.) Bestehen von Computersystemen I und II
2.) Lernen von VHDL ... kleineren Geschichten, Löten mit 74xx-TTL-Gattern ... Erläuterung folgt
3.) Implementierung eines MIPS in VHDL ... Erläuterung: Weil: In VHDL oder FPGA oder Spassprozessor - mit 74xx-TTL-Gattern
4.) Die Verbesserung des MIPS-I zu einem in verschiedenen Stufen verbesserten MIPS, was die bereits in der OpenSource Welt definierten MIPS betrifft
5.) Nachdem alles implementiert wurde - der Ausbau zu einem Betriebssystem perfekten MIPS, der alle Optionen des Pagings, der Segmente, des Speicherschutz, des Cachings und so weiter ermöglicht
... 6.) Mehrkernprozessor
7.) Der Umbau des gcc, Compilers, derartig - dass es C nicht mehr in Intel-586 Assembler erlaubt, sondern in diesem MIPS: Erläuterung: Das ist einfach: gcc gibt es im Netz - bitte einfach - das Backend ändern, dass es MIPS Code erzeugt
8.) Gewisse Kleinigkeiten, wie anpassen an HDMI und so weiter - damit der Computer am Bildschirm tut


----

Erläuterung: Kleinere Geschichten. VHDL lernt man oder lernt man nicht. Aber man lernt Computersysteme I und II. VHDL ist nicht Teil der Sache. Aber es ist logisch, dass man Computersysteme I und II lernt. Natürlich lernt man VHDL. Aber es kann kein Endziel sein VHDL zu lernen. Natürlich ist das ein Endziel. Aber Endziel ist überhaupt irgendwas zu lernen, dann ist alles ein Endziel

Deswegen: Aus Liebhaberei VHDL lernen und 74xx-TTL-Gatter. Das ist an sich nett, aber Teil einer Sache. Das heisst, das lernt man so oder so

Spassprozessor: Der Prozessor wird einfach mit richtigen IC's realisiert. Neben VHDL. Das macht eigentlich keinen Sinn, ist ein Spassprozessor. Immerhin wird kein ungläubiger schimpfen, aber der FPGA 

---

1.) Die vorhandenen Strategien bleiben: Dazu gehören 
1.1.) Die bisherigen CS II Teile lernen - MIPS 2 MIPS 4 MIPS 6
1.2.) Anmerkung, hier fehlt schon ein Teil der da ist - MIPS 7 - nämlich: RAW, WAR, WAW
1.3.) Chemie lernen 
1.4.) Quine Mc Cluskey Aufgabe 
1.5.) Automaten Aufgabe - Anmerkung: Operationswerk ASM-Diagramm, Übung verbessern und standardisieren 
1.6.) Die Dinge aufschreiben 
1.7.) VHDL auswendig lernen
1.8.) PROM, FPGA auswendig lernen
2.) Die bisherigen nicht super gemachten, nicht immer konsequent gemachten Dinge
2.1.) Aufgabe 1 - der Computersysteme I - das ist getrennt zu sehen, ich finde man sollte die erste Aufgabe, immer wieder machen 
2.2.) Die übrigen drei Aufgaben von Computersystemen I - immer die Aufgaben machen und noch mal machen 
2.3.) CS I lernen
3.) Die Dinge, die ich tun sollte ... einfach radikale Sammlung

- Wenn etwas nicht klar ist, nachschauen, selbst, wenn das nicht gleich gelernt wird. Dazu gehört - ALU-Operanden, ALU-Operation, Befehlsindirekt/Befehlszählerrelativ ...
- Programme schreiben, mit MIPS - drei Dinge für die Befehle
    - jeden Befehl lernen und nicht nur ein paar
    - genau nachschauen, was der Befehl tut
    - programme schreiben, grosse lange Programme mit Befehlen schreiben: Vermutung: Die meisten Leute lernen nicht auswendig - sie schreiben Programme - Respekt David Vajda - Programme schreibe ich im Handumdrehen - auswendig lernen
- VHDL - Programme schreiben - wie VHDL Programme schreiben: Ich denke, man muss VHDL lernen, wie alles. Ich denke man muss mit dem Lernen nicht übertreiben, nicht erst alles wissen und dann lernen. Ich habe ein Problem - ich kann zwar Pi * Daumen, in VHDL was machen, aber ich kann immer noch nicht den Volladdierer im Paralladdierer einsetzen. Jetzt könnte man zeit verschwenden, das heisst, nachgucken, wie das geht. Ebenso wenig, sitzt entity und architecture. Ich denke, das kommt mit der  Zeit. Nämlich beim Lernen. Wird architecture und entity schon sitzen. Bis dahin, einfach VHDL Programme schreiben, das bedeutet, solange Verknüpfungen dass wenigstens die sitzen. Man sollte - case/when und wie das heisst, das sollte automatisch gehen.
    
Philosophische Frage: Vajda sagt, erst lernen, dann verstehen. Die Leute sagen: Erst Programmieren, dann von alleine. Vajda sagt: Vajda hat Recht. Programmieren und lernen, sind ähnlich. Vajda sagt, man lernt als Daten. Man lernt nicht, indem man versteht. Man lernt, alle Daten, die sitzen und die programmiert man. Dann kommt der Rest Daten. Die Leute verstehen nicht. Die Leute wollen verstehen. Vajda will nicht verstehen. Ich nicht Sprache sprechen, ich nichts verstehen. Sprache sprechen geht so: Mutter kommt: Sagt Vase. Kind sagt Vase. Deswegen, verstehen heisst: Dinge bennenen zu können, Sprache haben. So lernt man und nicht indem man versteht
    
- VHDL Programme schreiben 
- TTL Gatter lernen - das wirkt jetzt ausufernd - a never Ending storry - wenn ich VHDL lerne und dann TTL Gatter und dann noch jeden Prozessor von Intel. Nein: weil: Es gibt Dekoder, Coder, ALU, Addierer, Register, man muss nicht jedes TTL Gatter kennen. wenn ich bei einem Elektronikversand Bauteile kaufe, genügt das, um einen Computer zu bauen. Jetzt sollte ich wissen, was ich kaufe, das heisst, nur die einfachsten Gatter lernen. Nur, die examplarisch wichtigsten. Nicht, wo was ist A und B und C, das ist bei allen so. Und bei Flips Flops noch Takt und CE oder wie das heisst, und noch VCC und GND - ich muss nicht alles wissen. Aber ich sollte, wissen was die ALU für den Spass Computer
- Immer wieder die Aufgaben machen 
- jetzt muss ich den Rest lernen: da fehlt am Ende viel in CS II
- Den MIPS Prozessor zeichnen. Der MIPS Prozessor ist einfach. Der lässt sich hinzeichnen. Ich kann das so machen. Ich zeichne zunächst mal den einfachsten Teil 2 oder 4 Wochen, immer wieder Registersatz und ALU, einfach immer wieder. Wenn das sitzt, dann immer eine Komponente dazu. Das ist wichtig


Was kann ich jetzt praktisch tun?
- Meine Aufgaben: Quine McClusky - und Automat 
- Die Aufgaben 1 bis 4 von CS I und CS II - immer wieder 
- MIPS Programme kann ich schreiben 
- VHDL schreiben 
- Mehr kann ich nicht machen - die Aufgaben der Fernuni Hagen, vielleicht fällt mir was dazu ein. Aber die kann ich nur wiederholend immer wieder machen


Extrakt:

Programm zum Erlenen des MIPS - und ... Ziele

Ziele
1.) Bestehen von Computersystemen I und II
2.) Lernen von VHDL ... kleineren Geschichten, Löten mit 74xx-TTL-Gattern ... Erläuterung folgt
3.) Implementierung eines MIPS in VHDL ... Erläuterung: Weil: In VHDL oder FPGA oder Spassprozessor - mit 74xx-TTL-Gattern
4.) Die Verbesserung des MIPS-I zu einem in verschiedenen Stufen verbesserten MIPS, was die bereits in der OpenSource Welt definierten MIPS betrifft
5.) Nachdem alles implementiert wurde - der Ausbau zu einem Betriebssystem perfekten MIPS, der alle Optionen des Pagings, der Segmente, des Speicherschutz, des Cachings und so weiter ermöglicht
... 6.) Mehrkernprozessor
7.) Der Umbau des gcc, Compilers, derartig - dass es C nicht mehr in Intel-586 Assembler erlaubt, sondern in diesem MIPS: Erläuterung: Das ist einfach: gcc gibt es im Netz - bitte einfach - das Backend ändern, dass es MIPS Code erzeugt
8.) Gewisse Kleinigkeiten, wie anpassen an HDMI und so weiter - damit der Computer am Bildschirm tut


----

Erläuterung: Kleinere Geschichten. VHDL lernt man oder lernt man nicht. Aber man lernt Computersysteme I und II. VHDL ist nicht Teil der Sache. Aber es ist logisch, dass man Computersysteme I und II lernt. Natürlich lernt man VHDL. Aber es kann kein Endziel sein VHDL zu lernen. Natürlich ist das ein Endziel. Aber Endziel ist überhaupt irgendwas zu lernen, dann ist alles ein Endziel

Deswegen: Aus Liebhaberei VHDL lernen und 74xx-TTL-Gatter. Das ist an sich nett, aber Teil einer Sache. Das heisst, das lernt man so oder so

Spassprozessor: Der Prozessor wird einfach mit richtigen IC's realisiert. Neben VHDL. Das macht eigentlich keinen Sinn, ist ein Spassprozessor. Immerhin wird kein ungläubiger schimpfen, aber der FPGA 

---

1.) Die vorhandenen Strategien bleiben: Dazu gehören 
1.1.) Die bisherigen CS II Teile lernen - MIPS 2 MIPS 4 MIPS 6
1.2.) MIPS 7 - nämlich: RAW, WAR, WAW
1.3.) Chemie lernen 
1.4.) Quine Mc Cluskey Aufgabe 
1.5.) Automaten Aufgabe
1.6.) Die Dinge aufschreiben, auswendig 
1.7.) VHDL auswendig lernen
1.8.) PROM, FPGA auswendig lernen
2.) Die bisherigen nicht super gemachten, nicht immer konsequent gemachten Dinge
2.1.) Aufgabe 1 immer wieder
2.2.) Aufgabe 1 bis 4 immer wieder 
2.3.) CS I lernen
3.) Dinge, die neu dazu kommen 
- Was nicht klar ist, nachschauen ohne Anforderung
- MIPS-Befehle: programme schreiben
- MIPS-Befehle: jeden Befehl lernen und nicht nur ein paar
- MIPS-Befehle: genau nachschauen, was der Befehl tut
- VHDL Programme schreiben 
- TTL Gatter lernen: Zum Spassprozessor
- Alle Aufgaben der Fernuni Hagen, immer wieder von vorne nach hinten
- Den Rest lernen, CS II
- Den MIPS Prozessor zeichnen - immer wieder MIPS-I zeichnen 




1.) Die bisherigen CS II Teile lernen - MIPS 2 MIPS 4 MIPS 6
2.) MIPS 7 - nämlich: RAW, WAR, WAW
3.) Chemie lernen 
4.) Quine Mc Cluskey Aufgabe 
5.) Automaten Aufgabe
6.) Die Dinge aufschreiben, auswendig 
7.) VHDL auswendig lernen
8.) PROM, FPGA auswendig lernen
9.) Aufgabe 1 immer wieder
10.) Aufgabe 1 bis 4 immer wieder, Alle Aufgaben der Fernuni Hagen, immer wieder von vorne nach hinten
11.) CS I lernen
12.) Was nicht klar ist, nachschauen ohne Anforderung
13.) MIPS-Befehle: programme schreiben
14.) MIPS-Befehle: jeden Befehl lernen und nicht nur ein paar
15.) MIPS-Befehle: genau nachschauen, was der Befehl tut
16.) VHDL Programme schreiben 
17.) TTL Gatter lernen: Zum Spassprozessor
18.) Den Rest lernen, CS II
19.) Den MIPS Prozessor zeichnen - immer wieder MIPS-I zeichnen 


Was kann ich jetzt praktisch tun?
- Meine Aufgaben: Quine McClusky - und Automat 
- Die Aufgaben 1 bis 4 von CS I und CS II - immer wieder 
- MIPS Programme kann ich schreiben 
- VHDL schreiben 
- Mehr kann ich nicht machen - die Aufgaben der Fernuni Hagen, vielleicht fällt mir was dazu ein. Aber die kann ich nur wiederholend immer wieder machen

ich erweitere jetzt mein Programm, morgen fange ich wieder normal mit Computersystemen I und II an
Aber ich mache
- Java von der Fernuni Hagen dazu
- wieder Bash Aufgaben, einschliesslich Server start stop skripten. 
- JavaScript mit Node.JS
- Python Programmier Aufgaben 
- auswendig lernen - des letzten Textes.