Übung 3 Aufgabe 3b

dietrich_p
Erstie
Erstie
Beiträge: 21
Registriert: 30. Okt 2008 21:09

Übung 3 Aufgabe 3b

Beitrag von dietrich_p »

Hallo Leute,

in Aufgabe 3b im Übungsblatt 3 bin ich auf etwas gestoßen, was ich nicht so recht verstehe. Es geht um das Assemblieren von MIPS Anweisungen. Grundsätzlich gilt, dass jeder Befehl 32 Bits lang ist. Die angegebene Befehlskette beginnt bei 0x00400024. Hiernach müsste sich doch folgende Speicherverteilung ergeben:

0x00400024: xor $t0, $t0, $t0
0x00400028: ori $16, $0, 10
0x0040002C: beq $8, $16, 8
0x00400030: addi $8, $8, 1
0x00400034: j 0x0040002C
0x00400038:

Es werden quasi immer 4 Byte Schritte gemacht. Kann es sein, dass sie letzte Adresse 0x00400038 ist und nicht 0x0040003C, wie es die Musterlösung vorschlägt?

Eine weitere Frage dreht sich um das immediate-Feld beim beq Befehl. Ist es egal, ob ich die Sprungweite in Byte, Half-Word oder Word angebe, solange ich überhaupt angebe, in welcher Einheit zu springen ist, oder gibt es hierfür eine Logik bzw. Regel?

Viele Grüße und gute Nacht


Peter

thomas_kalbe
Nerd
Nerd
Beiträge: 570
Registriert: 10. Jun 2006 14:58

Re: Übung 3 Aufgabe 3b

Beitrag von thomas_kalbe »

ja, ich denke Du hast hier Recht, der Befehl nach dem j müsste die Adresse 0x00400038 haben.
Ist es egal, ob ich die Sprungweite in Byte, Half-Word oder Word angebe, solange ich überhaupt angebe, in welcher Einheit zu springen ist, oder gibt es hierfür eine Logik bzw. Regel?
Ich weiss jetzt nicht so genau, was Du meinst -- erstens werden die Sprungadressen im Befehl immer durch 4 geteilt, d.h. wir
schreiben zwar (für uns) beq $8,$16,8, da wir 2 Befehle (bzw. 3) à 4 Byte überspringen.
Da die Befehle aber immer an Wortgrenzen liegen, steht im Befehl in Wirklichkeit der Wortoffset, also nochmal durch 4 geteilt --
die letzten beiden Bits wären ja sonst immer 0 und damit verschwendet.
Der andere Punkt sind die delayed_loads, aber das ist auf den Folien erklärt? (der PC wird bereits während bzw. bei Ausführung des Befehls
um 4 inkrementiert, deshalb beq $8,$16, 8, und nicht 12)

- t

karimhanif
Mausschubser
Mausschubser
Beiträge: 86
Registriert: 3. Mär 2009 14:13

Re: Übung 3 Aufgabe 3b

Beitrag von karimhanif »

auch von mir 'ne frage zu der 3b.)

Code: Alles auswählen

addi $t0, 1
ist kein gültiger befehl, es müsste wenn überhaupt:

Code: Alles auswählen

addi $t0, $t0, 1
lauten ;-)


mal was anderes bzgl. der ankreuzfragen, wieso zum geier ist ganz am anfang: "Was gehört zu einer wissenschaftlich dargestellten Gleitkommazahl?"
die Basis angekruzt, das ist doch totaler käse, zu einer validen IEEE 757 Gleitkommazahl gehören doch nur: Vorzeichen, Exponent und Mantisse, so eine aufgabe hätte mich in der Klausur immerhin 'n halben gekostet... 8)

Edit: Noch was zu der Aufgabe: 4: Ich finde die Aufgabenstellung mehr als verwirrend, ich hätte ohne ein Blick auf die Musterlösung die Multiplikation von IEEE 757 ganz im selben Stil wie ich es in TGI2 gelernt habe implementiert, was einen enormeren umfang hat als die musterlösung die lediglich die gleitkomma-aritmetik unter zuhilfename der gleitkomma-registern benutzt..

hoffe in der klausur wird die aufgabenstellung wirklich klar und deutlich präzisiert, ansonsten könnte es für so manchen fatal ausgehen...

Farnus
Mausschubser
Mausschubser
Beiträge: 47
Registriert: 12. Nov 2007 14:49

Re: Übung 3 Aufgabe 3b

Beitrag von Farnus »

karimhanif hat geschrieben:mal was anderes bzgl. der ankreuzfragen, wieso zum geier ist ganz am anfang: "Was gehört zu einer wissenschaftlich dargestellten Gleitkommazahl?" die Basis angekruzt, das ist doch totaler käse, zu einer validen IEEE 757 Gleitkommazahl gehören doch nur: Vorzeichen, Exponent und Mantisse, so eine aufgabe hätte mich in der Klausur immerhin 'n halben gekostet... 8)
Und wie unterscheidest du diese wissenschaftlich dargestellten Gleitkommazahl Zahlen 2.0 * 10^e und 2.0 * 2^e?
'Studenten? Ja, du weißt schon. Diese dünnen Leute, meist sehr blaß. Immerhin ist dies eine Universität. Die Studenten gehören dazu, wie Ratten...' Terry Pratchett -Voll im Bilde-

Osterlaus
BSc Spammer
BSc Spammer
Beiträge: 1263
Registriert: 23. Aug 2007 12:46
Wohnort: DA

Re: Übung 3 Aufgabe 3b

Beitrag von Osterlaus »

Farnus hat geschrieben:
karimhanif hat geschrieben:mal was anderes bzgl. der ankreuzfragen, wieso zum geier ist ganz am anfang: "Was gehört zu einer wissenschaftlich dargestellten Gleitkommazahl?" die Basis angekruzt, das ist doch totaler käse, zu einer validen IEEE 757 Gleitkommazahl gehören doch nur: Vorzeichen, Exponent und Mantisse, so eine aufgabe hätte mich in der Klausur immerhin 'n halben gekostet... 8)
Und wie unterscheidest du diese wissenschaftlich dargestellten Gleitkommazahl Zahlen 2.0 * 10^e und 2.0 * 2^e?
Schau dir mal die Wikipedia-Seite zum IEEE 754-Standard an, da ist keine Basis vorhanden, weil sie laut Standard auf 2 gesetzt wird. In anderen Darstellungen mag das natürlich anders sein.

Wambolo
Computerversteher
Computerversteher
Beiträge: 381
Registriert: 18. Okt 2007 11:36

Re: Übung 3 Aufgabe 3b

Beitrag von Wambolo »

In der Schnelltestfrage geht es nicht um IEEE754 im Speziellen, sondern um Gleitkommazahlen im Allgemeinen.

Von daher gehört die Basis natürlich dazu, da man Gleitkommazahlen natürlich mit verschiedenen Basen darstellen kann.

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 3 Aufgabe 3b

Beitrag von oren78 »

Osterlaus hat geschrieben:...Schau dir mal die Wikipedia-Seite zum IEEE 754-Standard an, da ist keine Basis vorhanden, weil sie laut Standard auf 2 gesetzt wird. In anderen Darstellungen mag das natürlich anders sein.
genau das hab ich gemeint! finde daher die aufgabenstellung etwas unterpräzisiert ;-)
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

SebFreutel
Computerversteher
Computerversteher
Beiträge: 317
Registriert: 30. Okt 2006 21:54

Re: Übung 3 Aufgabe 3b

Beitrag von SebFreutel »

Ich find die Aufgabenstellung da recht eindeutig... auch zu einer Zahl nach IEEE-soundso-Standard gehört ja schließlich eine Basis, nur dass sie eben in dem Standard schon festgelegt wird und nicht mehr variabel ist.

Die Basis für eine IEEE-754-Zahl muss nur nicht gespeichert werden, da dabei sowieso bekannt sein muss, dass die Zahl nach diesem Standard gespeichert wurde und dadurch implizit auch die Basis 2 bekannt ist.

Antworten

Zurück zu „Archiv“