Prüfung Mikroprozessorsysteme

Diskussionen rund um Themen und Veranstaltungen des 2. Master-Semesters

Moderator: (M) Mod.-Team Allgemein

Antworten
arne
Uni-Mitarbeiter
Uni-Mitarbeiter
Beiträge: 227
Registriert: Di, 26. Nov. 02, 22:44
Wohnort: Hamburg
Kontaktdaten:

Prüfung Mikroprozessorsysteme

Beitrag von arne » Do, 20. Okt. 05, 14:14

Ich weiß nicht warum, aber mit mündlichen Prüfungen habe ich (bis auf eine Ausnahme) nie Glück. Vielleicht liegt es an mir, vielleicht am Prüfer.
Heute hatte ich schon wieder das Vergnügen. Mikroprozessorsysteme. Ich war mir sicher gut vorbereitet zu sein. Rechnerarchitekturen hatte ich auch gerade abgelegt (mit 2,3 mein Ziel von mindestens 2,0 verfehlt) und in der Materie gut drin. Daher lag es - meiner Meinung nach - deutlich am Prüfer!

Teufel war erkältet und heiser. 1. Frage: "Welche Komponenten des von-Neumann-Rechners beinhaltet der Z80?" OK, kein Problem, Rechenwerk und Steuerwerk.

"Malen Sie mir doch mal die ALU auf." Das hat mich schon ein wenig verwirrt. Wie die ALU? Das ist ein ziemlich komplexes Schaltwerk, das kann ich doch nicht einfach mal so aufzeichnen. Ich fragte ihn, ob er im allgemeinen ein Rechenwerk meine. "Ja, zeichnen Sie doch mal." Na gut, habe ich ALU, Statusregister und ALU-Registerblock an Daten- und Steuerleitung gezeichnet. Zufrieden war er damit nicht. "Woher bekommt die ALU denn ihre Eingabe?" Vom Datenbus. "Nein." Wieso dass den nicht? Natürlich, aus den Registern über den Datenbus. "Nein, wie ist das denn bei Z80" Ach beim Z80. Er wollte die Darstellung mit dem TMP- und A-Register und die Rückführung auf den Datenbus. So wie ich das aufzeichnete gefiel ihm das nicht. War aber auch nicht ganz korrekt.

"Was sind PC und SP und wofür werden die benötigt". Auch kein Problem.

"Was passiert bei folgendem Code: ab call xy? ab ist die Adresse im Speicher in Hex. Was passiert mit dem PC und dem SP". Der PC wird auf den Stack gesichert, der SP wird dekrementiert und xy kommt in den PC. Es folgte die Anweisung, dass doch mal aufzuschreiben.
(SP-1)<- PCH
(SP-2)<- PCL
PC<- xy
"Nein, das ist falsch. Was ist den überhaupt PCH und PCL." Die oberen bzw. unteren 8 Bit des PC, die auf den Stack sollen und nicht an einer Speicheradresse untergebracht werden können. "Ja schon, aber in unserem Beispiel?" Im Programmcounter steht die Adresse 'ab'. "Nein! Schauen Sie sich doch mal den Rest von ab call xy an." Wie? Der PC wird auf xy gesetzt, aber erst mal muss doch der PC auf den Stack gesichert werden. "Der Meinung bin ich nicht." Jetzt war ich vollkommen verwirrt. Was bitte sollte daran denn großartig falsch sein. Ich fragte, was genau denn nicht zutreffe sei, bzw. was richtig wäre.
"Ich kann doch nicht Fragen in der Prüfung beantworten. Sie müssen meine Fragen beantworten. Und das ist ja das Problem." Na wunderbar. Nach wie vor bin ich mir sicher, dass meine Antwort bzw. Erklärung richtig war. Aber jetzt hatte mein Konzept einen Totalschaden erlitten, es lief nichts mehr und die Fragen wurden immer seltsamer.

"Wofür benötigt man das Statusregister?" Meine Antwort, Informationen zum Ergebnis der ALU bzw. für bedingte Sprünge erntete keine zufriedenen Blicke: "Können Sie mir mal so einen Sprung aufschreiben? JPC Z xy.

"Was bedeutet fdH?" Im Zweierkomplement: -3. "Das können Sie mir zwar jetzt so sagen, aber wie kommen Sie darauf". Das erste Bit gibt das Vorzeichen an. Wenn ich die Zahl invertiere und eine Eins draufaddiere bekomme ich den Wert. "Sie bekommen den Betrag. Na gut, kann man so machen."

"Nennen Sie mir doch mal einen arithmetischen Befehl". ADD A B.

"Und was muss die ALU so können." Was meinen Sie? Die muss irgendwie einen Addierer haben. "Ja genau, und was kann eine ALU noch so?" Z.B. invertieren. "Bei einer Addition??"
Was er wollte war mir vollkommen schleierhaft. Bei einer Addition natürlich nicht, es sei denn man möchte Subtrahieren und dafür vorher die Zahl negieren. Aber das wollte er alles nicht wissen.

"Können Sie mir ein Halbaddierer zeichnen?" Logisch.

"Wissen Sie was ein Moore und ein Mealy-Automat ist?" Na ja, prinzipiell schon.

"Zeichnen Sie einen Mealy-Automaten!" Ein Mealy-Automat. Puh. Mal schauen ob ich das zusammenbekomme. Habe ich ihm aufgezeichnet. War auch ein Mealy-Automat, gefiel ihm aber auch nicht. "Das ist ja nur ein State-Diagramm." Er wollte vielleicht die Zeichnung für den Hardwired Control Unit. Hat er aber nicht erkennen lassen, was mir allerdings auch nichts geholfen hätte.

"Es gibt mikroprogrammierte Steuerwerke, welche gibt es noch?" Festverdrahtete. Irgendwas wollte er dann noch zu festverdrahteten Steuerwerken wissen, wie die aufgebaut sind oder so ähnlich. Verwirrte mich aber immer weiter und konnte ich nicht beantworten.

"Zeichnen Sie eine mikroprogrammierte Steuereinheit." Teufel guckt genervt auf seine Uhr. Inzwischen war ich sehr durcheinander. Ich habe das Teil zwar gezeichnet, wusste eigentlich auch genau wie das funktioniert, habe im Stress aber den Counter vergessen, so dass ich mit meinen Leitungen nicht mehr hinkam, was Teufel mit einem lapidaren "Das ist falsch" quittierte ohne mir mal einen Hinweis zu geben, wie das Ding eigentlich weiterzählen sollte.

"Wann wird ein Reset ausgeführt?" Endlich mal wieder etwas, das ich kann, dachte ich. Beim Einschalten oder wenn man den Prozessor neu starten möchte. "Was passiert dann?" Der PC wird auf Null gesetzt, nächste Instruktion ist instruction-fetch, DI und IM0. "Weshalb wird DI ausgeführt?" Damit der Stackpointer initialisiert werden kann. "Nein, NMI wird ja z.B. auch ausgeführt". Damit erstmal in aller Ruhe alles weitere initialisiert werden kann, also die erste Instruktion geholt werden kann. Und nochmal: "Nein, NMI wird ja z.B. auch ausgeführt". Ja, dann weiß ich es nicht.

Er legt mir ein Stück Assembler-Code vor.
call B_PLUS_X
soll A <- B+X ausführen, anschließend A und F auf den Stack schreiben und ich soll die Routine schreiben.
Ziemlich gehetzt schreibe ich ihm hin:
B_PLUS_X
LD A B
pop D
ADD A, D
push AF
Gut, dass pop D nicht funktioniert war mir auch klar, habe ich ihm auch gesagt. LD A B ist natürlich auch überflüssig, mein Kopf war inzwischen allerdings alles andere als kühl. Er meinte, das sei alles falsch und fragte seinen Protokollanten, wie lange es denn noch dauern würde.

"Welche Komponenten hat der von-Neumann-Rechner außerdem noch?" Speicher und E/A.

"Was muss ich machen, wenn der Datenbus schon ausgelastet ist und ich noch weitere Peripherie anschließen möchte". Einen Bustreiber verwenden. "Können Sie mir den mal einzeichnen." Ich habe den Bustreiber an die Anschlüsse der Peripherie gezeichnet. "Nein, das ist ja sowieso immer so." Aha, na gut, dann einen Bustreiber und die Peripherie dahinter.
"Nein, ich glaube nicht, dass Sie das noch hinbekommen. Lassen Sie uns bitte einen Augenblick alleine."
"Sie habe nicht bestanden. Das haben Sie selber gemerkt."

Mein erfolgsverwöhnter Kollege, der direkt nach mir dran war hatte wenig mehr Glück. Er kam zwar freudestrahlend aus der Prüfung raus, sicherrechnend mit einer 1 vorm Komma, bekam aber wider Erwarten auch nur eine 2,7.

Mein Fazit: Wie schon viele vor mir habe auch ich die Erfahrung machen müssen, dass die Note bei Teufel größtenteils von seinem Gemütszustand abhängt. (Eine Erkältung war wohl nicht so die richtige Vorraussetzung. Würde mich mal interessieren, wie der Rest heute so abgeschnitten hat!) Teufel hat die unangenehme Eigenart einem keine Hilfe zu geben oder Brücken zu bauen, keine richtige Teilantworten anzuerkennen und bei Verständnisproblemen seine Frage nur so lange zu wiederholen, bis man achselzuckend abwinken muss. Darüber hinaus stellt er falsche oder unsaubere Antworten nie richtig, so dass man fast sagen muss, man geht dümmer wieder raus, als man reingegangen ist. Man weiß nicht, in wie weit die Antwort richtig war oder ob man die Frage oder er die Antwort falsch verstanden hat.
Ich unterstelle ihm nicht Böswilligkeit, sondern einfach nur Unvermögen.

So, dass musste ich mir gerade von der Seele schreiben. Ich hoffe, ihr sammelt andere Erfahrungen.

maze
TalkING. Newbie
TalkING. Newbie
Beiträge: 18
Registriert: Di, 13. Apr. 04, 11:20

Beitrag von maze » Do, 20. Okt. 05, 18:53

es kommt mir fast so vor, als ob du meine Prüfung miterlebt hast.
Meine Erfahrung war genau die gleiche, am anfang hat er mich gleich kalt erwischt und verwirrt, dann sollte ich auch die ALU aufzeichnen, hatte ebenfalls keine Ahnung von dem Tmp Register usw.
Nach 20 min und zahlreichen Hustenanfällen die ich auf meine Antworten zurückführte wurde ich des Platzes verwiesen mit der Gleichen Antwort: Sie haben nicht bestanden, haben sie aber selber gemerkt...

arne
Uni-Mitarbeiter
Uni-Mitarbeiter
Beiträge: 227
Registriert: Di, 26. Nov. 02, 22:44
Wohnort: Hamburg
Kontaktdaten:

Beitrag von arne » Do, 20. Okt. 05, 22:55

Wie schön, ein Mitleidender. Na ja, eigentlich nicht schön.
Aber ich schätze es wird eine recht große Dunkelziffer anderer Gebranntmarkter geben. Leider gibt es bei mündl. Prüfungen ja keine Notenliste, sonst wüsste man, wie vielen es ähnlich ergangen ist.

deepsea
TalkING. Newbie
TalkING. Newbie
Beiträge: 4
Registriert: So, 18. Sep. 05, 16:43

Beitrag von deepsea » Fr, 21. Okt. 05, 22:36

Das ist ja sehr interessant, bei mir verlief die Prüfung sehr ähnlich (viele gleiche Fragen), übrigens leider auch mit dem gleichen Ergebnis! Auch ich hatte das Gefühl, das absolut keine meine Antworten als zufriedenstellend gewertet wurden. Das fing schon bei der allerersten Frage nach den Komponenten des Z80 an: Meine Antwort "Steuerwerk und Rechenwerk" wurde als nicht genau genug eingestuft.

Ein grundsätzliches Problem ist wohl die Vielzahl der Antwortmöglichkeiten auf eine nicht geauer definierte Frage. So war bei mir z.B. eine der ersten Fragen: "Was ist denn das besondere am Rechenwerk beim Z80 ?" Diese Frage ist genau genommen schon von der Art der Fragestellung her sehr schwierig zu beantworten. Weil: Aussagen über "das BESONDERE" machen zu können setzt die Kenntnis des bestimmten Rechenwerks (der Z80) voraus UND von ANDEREN Rechenwerken! Aber andere Rechenwerke in anderen CPU's wurden im Rahmen der Vorlesung nicht behandelt. Also kann man nur sagen wie das Rechenwerk der Z80 aussieht, NICHT aber seine Besonderheiten (gegenüber anderen Steuerwerken). Um die Frage wirklich beantworten zu können müsste man also den VERGLEICH zu anderen Rechenwerken haben. Um bei der Frage zu bleiben, wären eine Vielzahl von richtigen Antwortmöglichkeiten denkbar, z.B:
- 8 Bit-Architektur
- Vorhandensein von Akku und Flag-Registern und dem TMP-Register
- Hilfsregister (die der Programmierung nicht zur Verfügung stehen)
- eben die spezielle Anordnung der Register ...
- ...

Aber was möchte der Prüfer davon hören?

Bei der Erklärung wie ADD A, B genau funktioniert, sollte ich auch angeben, woher A und B kommen. Auch diese Frage lässt wieder eine Vielzahl von richtigen Antwortmöglichkeiten zu:
- über den (internnen) Datenbus (ist sicherlich richtig, denn die ALU kann nur über den Datenbus (über TMP-Register, ...) Daten bekommen
- Sicherlich müssen die Daten aber auch im Speicher abgespeiert sein.
- Sie können aber auch in den Registern (zwischen-) gespeichert sein.
- die Daten können aber auch von der I/O- Peripherie kommen (z. B. wenn man einen einfachen Additions- oder Subtraktionsrechner bauen möchte)
(- nicht zuletzt muss sich irgendwer die Daten ausgedacht haben oder sie sind z.B. das Messergebnis von einem Prozess, also könnte auch diese Quelle als der wahre Ursprung der Daten A und B angesehen werden.)

Die Antwort: "A und B werden über den Datenbus aus dem Speicher in den Akku und das TMP-Register geladen" war aber wohl eine nicht zufriedenstellende Antwort.


Eine Eigenschaft des Prüfers war auch, häufig schon im 1. oder 2. Antwortsatz zu unterbrechen (und damit auch den Gedankenfluss - des Prüflings - zu unterbrechen).
Ich hatte versucht, höflich nach einer Hilfestellung zu bitten, was zu genau der gleichen Reaktion wie oben beschriebenen führte!
Ich dachte ebenfalls, dass ich gut vorbereitet bin, zumal der Vorlesungsstoff überschaubar ist. Die zunehmende Verwirrung wurde jedoch ein echtes Problem ... .

Was mich auch mal interessieren würde: Darf vom Prüfer eine Prüfung schon nach 2/3 der Zeit abgebrochen werden? Die Prüfung war immerhin auf 30 min angesetzt.

arne
Uni-Mitarbeiter
Uni-Mitarbeiter
Beiträge: 227
Registriert: Di, 26. Nov. 02, 22:44
Wohnort: Hamburg
Kontaktdaten:

Beitrag von arne » Sa, 22. Okt. 05, 11:13

Nach meiner DPO (IIW) hat man einen Anspruch mindestens 15. Minuten geprüft zu werden. Wenn der Prüfer überzeugt ist, die Leistung einschätzen zu können, wird er vermutlich die Prüfung beenden dürfen.

Ist jemandem eigentlich schon mal dieser Absatz aus der DPO aufgefallen.
(6) Mitglieder der TUHH sind nach Maßgabe vorhandener Plätze als Zuhörende zu mündlichen Prüfungen zuzulassen, wenn die Kandidatin oder der Kandidat hiermit einverstanden ist. Studierende, die sich der gleichen Prüfung unterziehen wollen, sind zu bevorzugen. Die Zulassung erstreckt sich nicht auf die Beratung und die Bekanntgabe der Prüfungsergebnisse.
Davon sollte man vielmehr Gebrauch machen!!!
Das hilft einem nicht nur bei der Vorbereitung, sondern hätte vermutlich einen positiven Effekt auf die Launen des Prüfers.

Antworten