Klausur 10/2003

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Klausur 10/2003
Kann mir jemand verraten, was in A.3 diese Zeilen hier bedeuten?

movl L24(%eax), %eax
.long L4

Und wo ist bitte der Unterschied zwischen [m]*%eax[/m] und m[/m]?


*%eax kommt im skript vor?
hab ich nicht gesehen


Wenn ich mich recht entsinne, hieß die Zeile:

jmp *%eax

Das ist eine Fußnote, die weiter unten auf dem Blatt erklärt ist. Das Ding springt dann einfach an die Adresse die in %eax steht.

movl L24(%eax),%eax

scheint meines Erachtens irgendeine Adresse zu erzeugen an der ein Funktionsaufruf steht. Könnte im C-Code ein Pointer auf ein Array von Funktionszeigern gewesen sein.


Ja, die Zeile hieß wohl so, aber dann würd ich da einfach (%eax) sagen, und nicht C-Pointer im Prozessor ausführen.

genauso wie C-Funktionen. Wär ja mal ganz was neues, wenn Assembler oder Prozessor C verstehen würden…


Weitere Frage zur Aufgabe 5b, selbe Klausur, da soll man ein Schaltnetz für die Funktion davor aufbauen. Wir haben jetzt hier die Funktion dazu mathematisch optimiert und die sieht so aus:
color=blue/64 + 31/64
= 4*z - z/32 + 31/64[/color]

Die 31/64 sind < 0,5, fallen also weg. Dann bleibt doch nur noch ein
z shl 2 - z shr 5
übrig, oder? Die beiden shifts kann man ja fest verdrahten, und beide Werte dann addieren. Da wir aber ein Minus haben, müssen wir die 2. Zahl zuerst noch invertieren und beim 8bit-VA das Carry-in auf 1 setzen.

Richtig so?


Ganz weglassen kannst du die 31/64 meiner Meinung nach nicht; schliesslich kann es bei z/32 + 31/64 zu einem Uebertrag kommen.
Eine schoene Loesung fuer das Problem hab ich allerdings auch noch nicht gefunden…


ausserdem, was soll denn “und die gängigen logikelemente” heißen?
was isn bitteschö ein volladdierer? der verwendet wohl das super spezielle bauteil “X”, mit dem man auch das halteproblem lösen kann?! LOL


Naja, glaub der Volladdierer unterscheidet sich vom Halbaddierer dadurch, dass er auch ein CarryIn hat und nicht nur das CarryOut. Somit kann das ergebniss des vorgaengerbausteins in die Berechnung einfliessen (eben als uebertrag)

Aber das Halteproblem loesst er leider nicht mist

trotzdem waere es gut zu wissen wie man son kack in hardware giesst…


Hm, meinst du wir müssen nen HA/VA in Logik hinschreiben? Das wäre dumm, muss grade mal die Unterlagen dazu suchen…


was genau meinst du denn bitte? das teil als schaltnetz? noe, das glaub ich eher nicht.

Mehr Spass macht mir hingegen die Tatsache dass ich nicht weiss wie man die grundsaetzlichen elementaren Gatter zammschalten muss um sowas rauszukriegen, wie die wollen. :rolleyes:

Anmerkung: Jemand der sich hier gut auskennt, koennte hier was posten, dann waer ich sehr dankbar.


Vielleicht ist mit dem verwenden von nur einem Addierwerk das gemeint, das Du hier eben nur den Übertrag berechnen musst, also nur die AND Gatter hintereinanderschalten musst. Dann natürlich zwei Zahlen shiften, abzeihen usw.


Natuerlich kann ich keine Verantwortung fuer die Richtigkeit der Loesung uebernehmen, (schließlich bin ich da ja auch nicht selber drauf gekommen), aber fuer mich sieht das schon richtig aus.

Attachment:
zeichnungen.pdf: https://fsi.cs.fau.de/unb-attachments/post_16213/zeichnungen.pdf


hmm … kann das sein, dass die 5b) durch Verwendung von KEINEM einzigen “gängigen Logikelement” lösbar ist?

Einfach Z5-Z0 von links her mit den VAs verbinden und dann Z5 an den 2. Eingang jeden VAs … Carry is wurscht, weil Subtraktion (im Prinzip) und die VAs dann direkt mit den Ms darunter verbinden … Null Logik … wo ist die Herausforderung, oder haben wir was übersehen? :slight_smile:


schon ma was von Karnaugh-Diagrammen ghört?
Zuerst spezifizierst du den output deiner Funktion in Abhängigkeit von den Eingangsvariablen in ner Tabelle, dann trägst du sie in ein Karnaugh-Diagramm ein (OTR1-Stoff) und optimierst sie entsprechend der tollen Regeln für solche K-Diagramme. Dann hast Du bereits die gesuchte Funktion in DNF und musstse nur noch ein HW giessen.


doch doch, davon schon. hm, aber ich hab ein leichtes problem beim aufstellen der funktionen fuer ein/ausgabe. oh weh oh weh


5b anders (nein, nicht meine loesung)

is noch anderes zeuch dabei

Attachment:
zeichnungen.pdf: https://fsi.cs.fau.de/unb-attachments/post_16233/zeichnungen.pdf


schaut gut aus.


kann mal jemandvon euch von der 4ten aufgabe nen plan?

Speziell: die 4a


zu M: in den carry müsste IMO nur Nicht(Z4) rein. Nicht(Z3) ist egal, da durch die 31 und das vorherige carry sowieso ein übertrag stattfindet, unabhängig von Z3.