- Mobile und Verteilte Systeme | LMU München

Ludwig-Maximilians-Universität München
Institut für Informatik
Lehrstuhl für Mobile und Verteilte Systeme
Prof. Dr. Claudia Linnhoff-Popien
Rechnerarchitektur im Sommersemester 2016
Übungsblatt 11
Abgabetermin:
04.07.2016, 12:00 Uhr
Besprechung:
Besprechung der T-Aufgaben in den Tutorien vom 27. Juni – 01. Juli 2016
Besprechung der H-Aufgaben in den Tutorien vom 04. – 08. Juli 2016
Ankündigungen:
Bitte beachten Sie die Anmeldung zur Klausur! Die An- bzw. Abmeldung ist bis 12.
Juli 2016 um 12:00 Uhr über Uniworx möglich (harte Deadline!). Spätere An- und
Abmeldungen werden nicht mehr berücksichtigt!
Aufgabe 53: (T) Parameterübergabe bei Unterprogrammaufrufen
(– Pkt.)
Für die Parameterübergabe bei Prozeduraufrufen existieren verschiedene Möglichkeiten.
a.
Erläutern Sie zunächst die Begriffe call by value und call by reference. Geben Sie zu beiden
Konzepten je ein Beispiel in einer Hochsprache an.
b.
Schreiben Sie nun ein SPIM-Programm, das den Durchschnitt der Werte eines Feldes berechnet. Die Berechnung selbst soll dabei ein Unterprogramm erledigen. Die Übergabe des Feldes
soll nach dem Konzept call by value erfolgen.
Achtung: Das Hauptprogramm soll dem Unterprogramm alle zur Berechnung notwendigen
Werte über den Stack zur Verfügung stellen! Sie dürfen bei Ihrer Implementierung davon
ausgehen, dass sich das Feld bereits im Speicher befindet.
c.
Schreiben Sie Ihr Programm aus Aufgabe b) so um, dass die Übergabe des Feldes nach dem
Konzept call by reference funktioniert.
Achtung: Das Hauptprogramm soll dem Unterprogramm ausschließlich Speicheradressen
zur Berechnung zur Verfügung stellen! Sie dürfen wieder davon ausgehen, dass sich das Feld
bereits im Speicher befindet. Sie dürfen zur Übergabe der Adressen an das Unterprogramm
die laut Konvention dafür vorgesehenen Register $a0 - $a3 verwenden. Das Ergebnis des
Unterprogrammaufrufes dürfen Sie dem Hauptprogramm über das Register $v0 zur Verfügung
stellen.
Aufgabe 54: (T) Don’t Care-Argumente
1 falls x ∈ {0, 1, 3, 4, 5, 8, 9}
Betrachten Sie folgende Funktion y3 (x) =
0 falls x ∈ {2, 6, 7}
(– Pkt.)
Zur Binärcodierung der Ergebniswerte verwenden wir (wie in der Vorlesung) vierstellige Dualzahlen. Damit könnten also 16 Argumente kodiert werden. Stellen Sie eine Funktionstabelle auf und
minimieren Sie anschließend die Funktion mit Hilfe eines Karnaugh-Diagramms.
Rechnerarchitektur – SoSe 16, Übungsblatt 11
2
Aufgabe 55: (T) Anwendungen der Digitalisierung
(– Pkt.)
In der Vorlesung „Rechnerarchitektur“ werden Grundlagen der Digitalisierung behandelt. Während
diese in Zeiten der Entstehung erster Rechnerarchitekturen zunächst die Hardware betrafen, vollzog sich sukzessive eine Erweiterung hin zur Software und dann zur Digitalisierung von Prozessen
und ganzen Branchen. Die Auswirkungen sind heute in unserem Leben und Arbeiten, in den Medien und unserer Gesellschaft sichtbar. Diesen Aspekt wollen wir mit Hilfe des Buchs „Marktplätze
im Umbruch“ betrachten.
Lesen Sie den nachstehenden Artikel und gehen Sie kurz auf folgende Fragen ein:
Welche Herausforderungen ergeben aus Sicht des Software Engineerings auf dem Weg zu Smart
Cities?
–
Timo Greifenberg, Markus Look, Claas Pinkernell und Bernhard Rumpe: Energieeffiziente
Städte - Herausforderungen und Lösungen aus Sicht des Software Engineerings?
Hinweis: Als Student können Sie sich ein freies Exemplar des Buches „Marktplätze im Umbruch“
aus dem Internet herunterladen. Dabei haben Sie die folgenden 2 Möglichkeiten:
a.
Rufen Sie aus dem LRZ-Netz den folgenden Link zum Buch auf: http://link.springer.
com/book/10.1007/978-3-662-43782-7. Verwenden Sie dabei den PAC-Proxy
(https://www.lrz.de/services/netzdienste/proxy/zeitschriftenzugang/)
b.
Rufen Sie den folgenden Link zum Buch auf: http://link.springer.com/book/10.
1007/978-3-662-43782-7. Gehen Sie auf „Sign up/ Login“ und dort auf „Log in via Shibboleth or Athens“. Unter „find your institution“ geben Sie „LMU“ ein und klicken Sie auf
„Log in via Shibboleth“. Es folgt die Weiterleitung zur LMU und der Login mit Ihrer CampusAdresse. Nach Bestätigung können Sie auf der Springer-Seite das Buch herunterladen.
Aufgabe 56: (H) Multiplikation mit Schaltnetzen
(12 Pkt.)
In dieser Aufgabe sollen Sie ein Schaltnetz entwerfen, das dazu verwendet werden kann, das Ergebnis der Multiplikation einer dreistelligen Dualzahl x2 x1 x0 mit 3 zu erzeugen.
a.
Wie viele Bit werden mindestens benötigt, um alle Zahlen darstellen zu können, die bei der
Multiplikation als Ergebnis auftreten können?
b.
Stellen Sie die Funktionstabelle der oben beschriebenen Schaltung auf.
c.
Stellen Sie anhand ihrer Funktionstabelle nun jeweils die Boolesche Funktion für die einzelnen
Ergebnisbits auf und vereinfachen Sie diese Funktionen soweit wie möglich. Der Rechenweg
muss klar ersichtlich sein!
d.
Durch welche einfache Operation lässt sich eine beliebige Dualzahl verdoppeln?
Rechnerarchitektur – SoSe 16, Übungsblatt 11
3
Aufgabe 57: (H) Einfachauswahlaufgabe: Wiederholung
(5 Pkt.)
Für jede der folgenden Fragen ist eine korrekte Antwort auszuwählen („1 aus n“). Eine korrekte
Antwort ergibt jeweils einen Punkt. Mehrfache Antworten oder eine falsche Antwort werden mit 0
Punkten bewertet.
a) Welche Dualzahl entspricht dem hexadezimalen Wert C9?
(i) 10000001
(ii) 11001001
(iii) 10111111
b) Wie lautet eine der De Morganschen Regeln?
(iv) 10101010
(iv) a · (b + c) =
(a · b) + (a · c)
c) Wie lautet die Belegung von $t2 nach Ausführung des folgenden SPIM-Codes?
.data
var: .word 8, 32, 17, 4, 9
(i) (a + b) = a · b
(ii) a · 0 = 0
(iii) a + a = 1
.text
main: lw $t1, var
lw $t2, var+4($t1)
(i) 8
(ii) 32
(iii) 12
(iv) 4
d) Sei folgende Wahrheitstafel einer Booleschen Funktion f : B2 → B gegeben.
Welcher Ausdruck entspricht nicht dieser Funktion?
i
0
1
2
3
x1
0
0
1
1
x2
0
1
0
1
(i) f(x1 , x2 ) =
(ii)
f(x1 , x2 ) = x1 + x2
(x1 · x1 ) · x2
e) Ein Carry-Save-Addiernetz...
(i) ...berechnet
(ii) ...dient der
Teilergebnisse
schnellen Addition
doppelt und
von mehr als zwei
selektiert eines
Summanden.
davon.
f(x1 , x2 )
1
0
1
1
(iii)
f(x1 , x2 ) = (x1 · x2 )
(iv) f(x1 , x2 ) =
(x1 + x2 ) · (x1 + x2 )
(iii) ...lässt den
endgültigen Übertrag
(von rechts nach
links) durch das
Schaltnetz rieseln.
(iv) ...führt die
Additionsoperation
auf die Subtraktion
zurück.