fb18.de
/ Diplom Informatik
/ Unterbereich Grundstudium
/ Technische Informatik
T3 Aufg. 2.2.2
Woher weiß ich, wann X, Y, Z eine 16bit Adresse ist und wann eine 4-bit Registernummer?
Woher weiß ich, wann X, Y, Z eine 16bit Adresse ist und wann eine 4-bit Registernummer?
Solange du die Speicheradressen A..Z benutzt ists ne 16-Bit-Adresse, sobald du Register benutzt (idealerweis emit R0..R15 bezeichnet), ists 4-Bit.
Dass hilft nicht so richtig weiter, denn ich weiß noch immer nicht, wann ich die Zahlen aus dem Register oder aus dem Speicher lese. Bei 0-Adress- und 1-Adress-Maschine ist es ja leicht, doch bei den letzen beiden bin ich mir nicht sicher wann ich die A,B,C,D,E,F Zahlen aus dem Speicher oder aus dem Register einlese.
Wird bei dem ersten Zugriff auf eine Speicheradresse ein Zeiger im Register dafür erzeugt, so dass ich bei den nächsten Aufrufen nur noch den Register anspreche?
Habe ich evtl. irgendwie in der Vorlesung was verpasst oder gibt es eine Folie, die mein Problem löst?
das was triphoenix gesagt hat und wenn du nicht explizit etwas im register ablegst ist auch nichts bzw. etwas unbekanntes im register.
Ok, ich hab da ne Vermutung, die ich jetzt einfach in meine Lösung übernehmen werde. Und ich denke, dass ich da auch nicht ganz falsch liege.
edit
DANKE !
edit2
Eine Frage hätte ich da aber doch noch:
Und zwar wenn ich mit der Berechnung fertig bin, muss ich dann z.B. bei 0-Adress noch mal Pop W oder bei der 1-Adress Store W aufrufen, oder reicht es wenn mein Ergebniss steht.
Ich gehe davon aus, dass ich es nicht noch mal extra unter W speichern muss, richtig?
Also ich speicher es am Ende nochmal. Ist halt sauberer, die Daten liegen am Anfang ja auch im Speicher.
Also ich speicher es am Ende nochmal. Ist halt sauberer, die Daten liegen am Anfang ja auch im Speicher.
Ja, die Daten liegen am Anfang im Speicher und sollen am Ende auch da wieder liegen.
Na toll, ab 2.2.2 schnall ich gar nichts. Wo kam diese Kodiererei denn vor? Sagt mal was an…..
Na toll, ab 2.2.2 schnall ich gar nichts. Wo kam diese Kodiererei denn vor? Sagt mal was an…..
In der zweiten Vorlesung.
gar nich… oh menno, ich hab so gut aufgepasst [img]
http://www.fb18.de/gfx/19.gif[/img]
Welche Folien sind denn dafür zuständig. Also Aufg 2.1 und 2.2.1 hab ich ja, war ja kein Ding, auch wenn man erst rätseln musste, was die Bescheribungen der Adressierungsarten stehen.
Welche Folien sind denn dafür zuständig. Also Aufg 2.1 und 2.2.1 hab ich ja, war ja kein Ding, auch wenn man erst rätseln musste, was die Bescheribungen der Adressierungsarten stehen.
Ab Seite 25 in der PDF-Version kommt alles schöne zu Befehlsformaten.
2.2.2 [img]http://www.fb18.de/gfx/10.gif[/img]: Wenn die Befehlskodierung jeweils 8-bit für den Opcode verwendet (und natürlich 16-
bit für eine Speicheradresse bzw. 4-bit für eine Registernummer), wie viele Bits werden dann für
jedes der obigen vier Programme benötigt?
Was ist denn der Unterschied bei kursiv gestelltem? 16 Bit Speicheradresse, also der Speicher(bereich) im Hauptspeicher ist 16 Bit groß und 4-Bit bracuht die Adresse im Register?
Nein, eine SpeicherADRESSE ist 16bit gross, nicht der gesamte Speicher (das waere dann doch ETWAS wenig…). Ueber die Groesse eines Speicherworts sagt die Aufgabe IIRC nichts aus (ist auch irrelevant.)
Neee schon klar, dachte nur 16 Bit ist im Speicher frei für einen Wert unter der Adresse x, die 4 Bit groß ist. SO!, Das der Spweicher im Gesamten größer ist ist mir klar. Aber bitt dennoch mal Kommentar zu obiger Fetsstellung. Ist ja Müll echt diese Aufgabe echt.
Neee schon klar, dachte nur 16 Bit ist im Speicher frei für einen Wert unter der Adresse x, die 4 Bit groß ist. SO!, Das der Spweicher im Gesamten größer ist ist mir klar. Aber bitt dennoch mal Kommentar zu obiger Fetsstellung. Ist ja Müll echt diese Aufgabe echt.
Es sidn in dener Formulieren n Bit im Speicher für einen Wert unter der Adrsese x, die 16 Bit groß ist. Wie größ n ist, ist egal für die Aufgabe.
Na Toll alles falsch. Und was ist 4 Bit groß????
Benutze ich Speicheradressen oder Registernummern, Wann denn nun Was???
Es gibt 2^4=16 Register, also brauchst Du 4 bit um eines davon auszuwaehlen.
16-bit für eine Speicheradresse
also das brauche ich nicht?
Jo jo, nochmal von vorne.
8 Bit braucht der OpCode (Also nur der Operator)
4 Bit úm einen Register anzuchecken
Kann also 12 Bit brauchen, wenn ich in einer Operation 3 Registeradressen verwende (man schlage Alarm, wenn ich zu viel ausplaudere/rate)
AbriKadabri: Ich benutze doch auch Immediate Werte in der Aufgabe, oder werden immer nur Registeraddis verwendet?
So habs jetzt, bitte keine KOmmentare mehr, habe Tris Hinweis ganz oben verwendet, eben gar nicht gesehen.
Gute Nacht