Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

1888

Praktikant

  • "1888" started this thread

Posts: 18

Date of registration: Jun 21st 2002

1

Monday, September 2nd 2002, 8:59pm

Tech Inf - MiniMax

Hallo Leute: Aus der Herbst 00 Klausur

zu a: wo setze ich da an ? bin totaler Analphabet

a) In den Registern COMPARE und MDR seien bestimmte Werte abgespeichert. Geben
Sie an, mit welcher Abfolge von ALU-Operationen der gegebenen MINIMAXMaschine
sich folgende Formel berechnen lässt:

b: ist klar jetzt, aber wie komme ich auf die Loesung zu c: ????

b) Ergänzen Sie auf dem Lösungsblatt die Steuersignale für den Mikrobefehl, welcher folgende
Operation durchführt: .
c) Die Minimax-Maschine arbeitet bei ihren Rechenoperationen mit vorzeichenbehafteten
Ganzzahlen und setzt das 2er-Komplement zur Darstellung von negativen Zahlen ein.
Es soll folgende Operation ausgeführt werden: .
Geben Sie an, welchen Inhalt das MSB vom COMPARE-Register (COMPARE31) nach
Durchführung des Befehls in den folgenden Fällen hat:
1.) ACCU > MDR 2.) ACCU == MDR 3.) ACCU < MDR
DANKE!!!!!!!

cowhen

Muuuh!

  • "cowhen" is male

Posts: 1,374

Date of registration: Dec 13th 2001

2

Monday, September 2nd 2002, 9:32pm

zur aufgabe 6 a)

du musst dir im prinzip nur überlegen wie du mit den begrenzten möglichkeiten der alu (also im prinzip nur addieren und subtrahieren) den gesuchten wert ausrechen kannst.

erstmal: das register an dem zum schluss das ergebnis stehen soll ist accu

du must also um 2 * compare zu bekommen:
1) accu <-- compare
2) accu <-- compare + accu

jetz ist der inhalt des registers accu genau 2 der von compare.

und jetz musst du nurnoch 3mal den inhalt von mdr davon abziehen.


____________________________
zu aufgabe 6c

compare_31 ist das msb einer zweierkomplement zahl. und das gibt immer das vorzeichen der selbigen an (1 = pos, 0 = neg). wenn also (accu-mdr) gebildet wird, dann ist das ergebnis nur dann negativ, wenn mdr > accu ist.

also ist das msb nur im fall 3.) 1 und sonst 0


______________________________
hth

cowhen
plenty of time to relax when you are dead

Informatik Minister

Senior Schreiberling

  • "Informatik Minister" is male

Posts: 1,234

Date of registration: Dec 11th 2001

3

Monday, September 2nd 2002, 9:36pm

verstehe irgendwie nicht, ob du noch probleme mit a) und b) hast, naja egal:

zu a) das sind ebend jene ALU Operation, die geforderte Formel berechnen. Minimax ist eine Ein-Adresse-Maschine, heisst, man kann ein Register benutzen + den Accu, je Operation natürlich. Da der Accu gegeben ist, als zweiflankengesteuert, kann aus ihm gleichzeitig gelesen und in ihn geschrieben werden, was auch gemacht wird z.B. bei ACCU <- COMPARE + ACCU (*hust*)
Ansonsten ist recht eindeutig, was die Operationen machen und warum damit die Formel berechnet wird.

zu c) Da ist schlicht und ergreifend nach einer Aussage gefragt, ob das Ergebnis ACCU - MDR grösser oder kleiner ist als Null. Dies ist nur der Fall, wenn MDR > ACCU. Genau dann ist das MSB von COMPARE 1 (die Zahl also negativ). In beiden anderen Fällen ist das Ergebnis positiv, das MSB von COMPARE also 0.

Hoffe das wars, was gefragt ist und hoffe auf richtige Terminologie.

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

4

Monday, September 2nd 2002, 9:45pm

Quoted

Original von 1888
zu a: wo setze ich da an ? bin totaler Analphabet
Grundsätzlich schaut man sich erstmal an, welche Operationen die ALU überhaupt durchführen kann. Wie man in den ersten beiden Tabellen sieht, stehen 2 und 3 als Konstanten nicht zur Verfügung, außerdem fehlt bei den verfügbaren Rechenoperationen (vorletzte Tabelle) die Multiplikation. Da wir aber Addition und Subtraktion benutzen können, können wir die benötigten Multiplikationen als Folge von Additionen bzw. Subtraktionen darstellen.

Ziel ist es, das Register ACCU mit dem Wert 2*COMPARE - 3*MDR zu befüllen. Den Weg kennen wir nun auch (Addition/Subtraktion), also können wir anfangen, die verfügbaren ALU-Befehle zu benutzen und die gesuchte Befehlsfolge hinzuschreiben:

Zuerst befüllen wir das Register ACCU mit dem Inhalt des Registers COMPARE (was ja kein Problem ist, da die ALU den Befehl TRANS.A kennt):

ACCU <- COMPARE

Jetzt addieren wir wir nochmal COMPARE (ALU-Befehl ADD):

ACCU <- COMPARE + ACCU (Achtung: ACCU <- ACCU + COMPARE ist falsch, weil man der ALU für den Wert B nicht COMPARE übergeben kann, siehe Tabelle)

Und jetzt noch dreimal MDR abziehen (ALU-Befehl SUB):

ACCU <- ACCU - MDR
ACCU <- ACCU - MDR
ACCU <- ACCU - MDR

Damit sind wir fertig.

Quoted

b: ist klar jetzt, aber wie komme ich auf die Loesung zu c: ????
c) ist eigentlich ganz einfach. Wir wissen, daß das COMPARE-Register negative Zahlen im Zweierkomplement speichert. Also ist das MSB bei negativen Zahlen gleich Eins und bei positiven (oder Null) gleich Null.

Bei den drei genannten Fällen wird immer der Wert von ACCU - MDR im Register COMPARE gespeichert. Also ergibt sich:

1. Fall: ACCU > MDR
Da ACCU größer als MDR ist, ist ACCU - MDR positiv. Also steht im COMPARE-Register eine positive Zahl. Das gesuchte MSB ist also 0.

2. Fall: ACCU == MDR
ACCU - MDR ist Null, also ist das MSB von COMPARE auch Null.

3. Fall: ACCU < MDR
ACCU - MDR ist negativ, also ist das MSB von COMPARE Eins.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

1888

Praktikant

  • "1888" started this thread

Posts: 18

Date of registration: Jun 21st 2002

5

Monday, September 2nd 2002, 10:54pm

okay,Cowhen,Joachim, ihr habt's schwer drauf, danke !
(Vor allem zu so spaeter Stunde!)

1888

Praktikant

  • "1888" started this thread

Posts: 18

Date of registration: Jun 21st 2002

6

Tuesday, September 3rd 2002, 10:09am

Steuersignale

Noch was.
Bei den Steuersignalen fuer Mikrobefehle in c1, c2, etc.

wofuer steht denn das CS in HS/CS ? bei c 7


P.S. Am 7.8 ist CMS mit uns Uebung 10 durchgegangen, ich denke, dass die Uebung klausurrelevant ist, jedenfalls meinte er so was.

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

7

Tuesday, September 3rd 2002, 10:27am

Quoted

Original von 1888
Bei den Steuersignalen fuer Mikrobefehle in c1, c2, etc.

wofuer steht denn das CS in HS/CS ? bei c 7
CS steht für "Chip Select", eine Art Schalter für den Speicherzugriff. Siehe dazu auch die Seiten 6-25 und 6-26 im Skript.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

BlaueMotte

Trainee

  • "BlaueMotte" is female

Posts: 76

Date of registration: Apr 9th 2002

Location: vom platten Land mit Nordseeluft

Occupation: hä? Studi...

8

Tuesday, September 3rd 2002, 10:27am

In den Folien zur Übung 10 gibt es eine große Tabelle mit diversen Steuerbefehlen (dort werden später scheinbar auch die Taktzyklen abgelesen).
Ich habe bei alten Klausuren gesehen, dass sie dort auch dran kam. Wie erstellt man sie?

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

9

Tuesday, September 3rd 2002, 10:42am

Quoted

Original von BlaueMotte
In den Folien zur Übung 10 gibt es eine große Tabelle mit diversen Steuerbefehlen (dort werden später scheinbar auch die Taktzyklen abgelesen).
Ich habe bei alten Klausuren gesehen, dass sie dort auch dran kam. Wie erstellt man sie?
Meinst du die Tabelle auf Seite 13? Die kommt in der Klausur bestimmt nicht dran. Viel zu zeitaufwändig. Aber falls du es doch mal machen willst:

  • zuerst den Grundaufbau der Tabelle machen, also z. B. in die Spalten die Steuersignale usw.
  • dann unter Bemerkungen zeilenweise die Operationen hinschreiben (evtl. Fallunterscheidungen beachten, siehe Beispiel) und vorne die Label setzen
  • die zu den Operationen die gehörigen Steuersignale raussuchen und eintragen (zeilenweise).


Das sollte es eigentlich gewesen sein.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

BlaueMotte

Trainee

  • "BlaueMotte" is female

Posts: 76

Date of registration: Apr 9th 2002

Location: vom platten Land mit Nordseeluft

Occupation: hä? Studi...

10

Tuesday, September 3rd 2002, 10:52am

Ja, die meinte ich.

Danke für die Erklärungen! Hoffe, dass so eine Tabelle nicht dran kommt, aber wer weiß...