Seite 1 von 1

Aufgabe 12.3.b lösungsvorschlag falsch?

Verfasst: 2. Feb 2010 15:34
von omidpsh2
Hi!
binärcode fürs Befehl:
powi $t0, $t1, 1111
op rs rt adress
110111 01001 01000 0000010001010111

sollte da nicht der Imm-wert 0000000000001111 stehen ?
und statt adress , imm ?

lg, Omid

Re: Aufgabe 12.3.b lösungsvorschlag falsch?

Verfasst: 2. Feb 2010 15:38
von Thorti
Hallo,

die 1111 war als Dezimalzahl gedacht und nicht als Binärwert. Normalerweise gilt: Keine extra Abgabe der Basis --> Dezimalsystem.
imm wäre hier passender, das stimmt.

Gruss
Thorsten

Re: Aufgabe 12.3.b lösungsvorschlag falsch?

Verfasst: 2. Feb 2010 15:40
von omidpsh2
gut das es nicht erst in der klausur passiert ist ! danke! :>

Re: Aufgabe 12.3.b lösungsvorschlag falsch?

Verfasst: 2. Feb 2010 15:44
von Thorti
Thorti hat geschrieben:Hallo,

die 1111 war als Dezimalzahl gedacht und nicht als Binärwert. Normalerweise gilt: Keine extra Angabe der Basis --> Dezimalsystem.
imm wäre hier passender, das stimmt.

Gruss
Thorsten

Re: Aufgabe 12.3.b lösungsvorschlag falsch?

Verfasst: 8. Feb 2010 05:01
von ul63ebyz
Habe auch mal eine Frage zur 12.3 b (in Verbindung mit a):

In a) wird (so wie ich es mir auch gedacht habe) gesagt das pow ein R-Typ ist.
In b) wird nun der op-Code zu "110101", aber ist nicht der Op-Code jeder R-Typ Instruction "000000"? Ich habe den Code "110101" stattdessen im funct-Feld untergebracht.

Kurze Frage: Weißt du ob die Aufzeichnung der heutigen Vorlesung rechtzeitig (also am besten bis Mittwoch) online sein wird? Weil ich habe eine lange Anfahrt und würde den Tag lieber mit lernen verbringen, anstatt durch die Walachei zu fahren.

Re: Aufgabe 12.3.b lösungsvorschlag falsch?

Verfasst: 8. Feb 2010 10:05
von Thorti
ul63ebyz hat geschrieben:Habe auch mal eine Frage zur 12.3 b (in Verbindung mit a):

In a) wird (so wie ich es mir auch gedacht habe) gesagt das pow ein R-Typ ist.
In b) wird nun der op-Code zu "110101", aber ist nicht der Op-Code jeder R-Typ Instruction "000000"? Ich habe den Code "110101" stattdessen im funct-Feld untergebracht.
Gemeint ist hier nur das R-Format, also das Format mit 3 Registern. Man kann es aber auch so machen wie von dir vorgeschlagen.
Kurze Frage: Weißt du ob die Aufzeichnung der heutigen Vorlesung rechtzeitig (also am besten bis Mittwoch) online sein wird? Weil ich habe eine lange Anfahrt und würde den Tag lieber mit lernen verbringen, anstatt durch die Walachei zu fahren.
Wir werden es auf jeden Fall versuchen.

Gruss
Thorsten

Re: Aufgabe 12.3.b lösungsvorschlag falsch?

Verfasst: 8. Feb 2010 10:45
von davidda
Ich habe da auch noch eine Frage zur Übung 13.2:

Im Lösungsvorschlag wird MemToReg auf 1 gesetzt. Dabei müsste es doch eigentlich auf 0 gesetzt werden, damit die Berechnung aus der ALU gespeichert wird, oder?

Re: Aufgabe 12.3.b lösungsvorschlag falsch?

Verfasst: 10. Feb 2010 01:21
von jack_90
Ich sehe das genauso. In S4 wird der add Befehl berechnet. Im nächsten Zustand müsste das Ergebnis dann in das Registerfeld geschrieben werden.
Da muss MemToReg dann auf 0 stehen.

Habe das ganze sowieso etwas anders gelöst. Ich hab es bei 5 Takten belassen, aber etwas mehr Hardware spendiert.
Parallel zur Berechnung des lw-Befehl in der ALU berechne ich den add-Befehl (extra Adder). Da der lw-Befehl nun noch 2 Takte braucht um in das Registerfeld zu schreiben,
schreibe ich bereits in S3 das Ergebnis des add-Befehls in das Registerfeld. Im nächsten Takt wird dann das Ergebnis des lw-Befehls geschrieben.
Wäre so eine Erweiterung auch in Ordnung?

Re: Aufgabe 12.3.b lösungsvorschlag falsch?

Verfasst: 10. Feb 2010 09:06
von Thorti
jack_90 hat geschrieben:Ich sehe das genauso. In S4 wird der add Befehl berechnet. Im nächsten Zustand müsste das Ergebnis dann in das Registerfeld geschrieben werden.
Da muss MemToReg dann auf 0 stehen.
Ja.
Habe das ganze sowieso etwas anders gelöst. Ich hab es bei 5 Takten belassen, aber etwas mehr Hardware spendiert.
Parallel zur Berechnung des lw-Befehl in der ALU berechne ich den add-Befehl (extra Adder). Da der lw-Befehl nun noch 2 Takte braucht um in das Registerfeld zu schreiben,
schreibe ich bereits in S3 das Ergebnis des add-Befehls in das Registerfeld. Im nächsten Takt wird dann das Ergebnis des lw-Befehls geschrieben.
Wäre so eine Erweiterung auch in Ordnung?
Hört sich gut an.
Allgemein gibt es hier mehrere Möglichkeiten, wie man es realisieren kann. Meist ist es ein Tradeoff zwischen zusätzlicher Hardware und mehr Takten.

Gruss
Thorsten