FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Technische Informatik

T3 Praktikum

T3 Praktikum 2002-12-14 21:07
Elnino
Hi,

hat einer vielleicht schon mal das T3-Praktikum die 4.Mappe durch, und wäre bereit vielleicht einige Lösungen ins Forum zu stellen oder mir vielleicht per Mail zu schicken???
Hab morgen den letzten Termin und häng beim vierten Teil voll durch…und naja…den Schein hätt ich schon ganz gern!
z.b. für 2.1 hab ich
3480
38c0
3403
5003
3520
8ffa

um den kompl. RAM zu löschen, halt noch aus t3-2-2.4
jetzt soll der obere Code durch die Interrupts ergänzt werden.
Also muss der trap, rfi und das progi zu dem er wechseln soll rein, oder? angenommen ich will dazu wechseln, dass er…äh…was simples zwei zahlen addiert! meinetwegen
movi r3, 4
movi r4, 3
addu r3, r4
wie würde das dann aussehen? [img]http://www.sternenvolk.de/symb/3.gif[/img]

Re: T3 Praktikum 2002-12-14 22:41
TriPhoenix
Hi,

hat einer vielleicht schon mal das T3-Praktikum die 4.Mappe durch, und wäre bereit vielleicht einige Lösungen ins Forum zu stellen oder mir vielleicht per Mail zu schicken???
Gleich im Vorraus: die Rechnen nicht damit, Der 4te Teil steckt voller Bugs. Du ersparst dir z.B. viel Fehlersuche, falls du zum Teil mit dem virtuellen Speicher kommst. Da darf dein ASM-Code nicht über 0x1000 hinaus gehen, der üebrschreibt sonst den Anfang wieder…

jetzt soll der obere Code durch die Interrupts ergänzt werden.
Also muss der trap, rfi und das progi zu dem er wechseln soll rein, oder? angenommen ich will dazu wechseln, dass er…äh…was simples zwei zahlen addiert! meinetwegen
movi r3, 4
movi r4, 3
addu r3, r4
wie würde das dann aussehen? [img]http://www.sternenvolk.de/symb/3.gif[/img]
Nun hab ich soviel zum Prozesswechsel geschrieben und sehe erst welche Aufgabe das ist [img]http://www.sternenvolk.de/symb/28.gif[/img]. Also für den Prozesswechsel (3.4) weiter unten [img]http://www.sternenvolk.de/symb/22.gif[/img].

Du brauchst dir bei 2.1 garnicht soviele Gedanken um ein "zweites Programm" machen. Im Prinzip läuft das Speichersäuberungsprogramm, wird nur kurzzeitig für eine andere Aufgabe unterbrochen. In der Interruptroutine (liegt ab 0x0100) soll einfach nur ein Register incrementiert werden, also einfach nur ein addi RX, 1 und rfi. Mehr soll garnicht passieren.

Nun noch zum Prozesswechsel [img]http://www.sternenvolk.de/symb/28.gif[/img]
Bei einem Interrupt springt er an eine feste Adresse, nämlich 0x0100. Da muss dien Interrupthandler stehen (also eingeleitet mit .org 0x0100).

Der Interrupthandler für einen Prozesswechsel macht grob folgendes:
- alle Register aufm Stack sichern
- den Stackpointer an einer fest definierten Stelle speichern
- per eepc den aktuellen PC in R2 holen
- den Wert von R2 (also wos weitergeht wenn der Prozess wieder dran ist) sichern
- vom neuen Prozess den PC holen und per eepc wieder ins EPC bringen
- vom neuen Prozess den Stackpointer holen
- alle Register ovm Stack wiederherstellen
- rfi

Am besten definierst du irgendwie eine Stelle im Speicher wo du Stackpointer + PC für die Prozesse sicherst (z.B. 0x8000 für Stackpointer 1, 0x8002 für PC 1, 0x8004 für Stackpointer 2, 0x8006 für PC 2).


Re: T3 Praktikum 2002-12-14 23:24
Elnino
Cool, danke dir! Hilft mir sicherlich weiter!
Vor allem die Erklärungen waren hilfreich! thx

Re: T3 Praktikum 2002-12-15 01:16
Manitu
Einer der freundlichen Herren beim Praktikum raunte mir übrigens letzte Woche zu, dass die Türme von Hanoi vom dritten Blatt "Scheinkriterium" wären. Sprich: Der Rest ist obsolet und nur für Leute, die daraus Glücksgefühle ziehen, was mir nur bedingt gelingen mag… ;)

Re: T3 Praktikum 2002-12-15 15:46
Anonymer User
Dies kann ich nur bestätigen, die Türme von Hanoi, also die letzte Aufgabe vom Blatt 3 inklusive Zähler-Funktion wollen sie einmal kurz sehen und dann ist der Schein deiner.

So ging es mir jedenfalls heute morgen :-)

Re: T3 Praktikum 2002-12-15 18:34
Dennis
Mir ebenfalls. [img]http://images.rapidforum.com/images/i14.gif[/img]

Re: T3 Praktikum 2002-12-15 23:37
Elnino
Tja…DER SCHEIN IST MEIN [img]http://www.sternenvolk.de/symb/15.gif[/img]