0% fanden dieses Dokument nützlich (0 Abstimmungen)
20 Ansichten2 Seiten

Lehrstuhl Für Angewandte Informatik II: Aufgabe 9.1

Als pdf oder txt herunterladen
Als pdf oder txt herunterladen
Als pdf oder txt herunterladen
Sie sind auf Seite 1/ 2

Lehrstuhl für Angewandte Informatik II

Universität Bayreuth, Universitätsstraße 30, 95447 Bayreuth


Prof. Dr. Thomas Rauber Tel.: 0921/55 7700 Büro: AI 2.08
Dr. Natalia Kalinnik Tel.: 0921/55 7704 Büro: AI 2.10
Johannes Seiferth Tel.: 0921/55 7707 Büro: AI 2.12
Internet: https://elearning.uni-bayreuth.de/course/view.php?id=35065
E-Mails: {rauber, natalia.Kalinnik, johannes.seiferth}@uni-bayreuth.de

9. Übung zur Vorlesung „Rechnerarchitektur und Rechnernetze“


Wintersemester 2022/2023 19. 12. 2022

Abgabe: Montag, 9. 01. 2023, 8:00 Uhr

Aufgabe 9.1 (2 + 3 Punkte)

Sei f ∈ F (3) eine boolesche Funktion mit der Indexmenge I(f ) = {0, 1, 4, 6, 7}.

(a) Nutzen Sie Ihr Wissen über Minterme, um einen Schaltkreis für die Funktion f zu bestimmen. Gehen
Sie dabei wie folgt vor:
• Bestimmen Sie alle Minterme der booleschen Funktion f .
• Konstruieren Sie einen booleschen Term e mit [λx1 , x2 , x3 .e] = f über die Minterme.
• Zeichnen Sie den Schaltkreis für die Funktion f , der durch den Term e festgelegt ist.
(b) Geben Sie analog mit Hilfe der Maxterme einen weiteren Schaltkreis für die Funktion f an.

Aufgabe 9.2 (2 + 3 + 4 Punkte)


Optimieren Sie die nebenstehende kombinatorische Schaltung mit den Eingängen x0 , x1 , x2 und x3 und
dem Ausgang f ! Gehen Sie dabei wie folgt vor:
x3

(a) Analysieren Sie den Schaltkreis und spezifizieren Sie die


x2
berechnete boolesche Funktion f : {0, 1}4 → {0, 1}, f =
[λx0 , x1 , x2 , x3 .e] indem Sie einen entsprechenden boole-
schen Term e angeben!
(b) Bestimmen Sie die disjunktive Normalform von e! x0

(c) Bestimmen Sie mit dem Quine-McCluskey-Verfahren die x1


Menge der Primimplikanten PIM(f )!

Aufgabe 9.3 (1 + 1 Punkte)

Betrachten Sie folgendes Karnaugh-Diagramm für die boolesche Funktion f ∈ F (3) :

x̄1 x̄2 x̄1 x2 x1 x2 x1 x̄2


x̄3 1
x3 1

Das Minimalpolynom m kann man direkt mit der Methode von Karnaugh aus dem Karnaugh-Diagramm
ablesen:
m = x̄1 x̄2 x̄3 + x1 x̄2 x3

1
(a) Zeigen Sie, dass der boolesche Term e = x̄2 · (x1 + x̄3 ) · (x̄1 + x3 ) äquivalent ist zum Minimalpolynom
m.

(b) Vergleichen Sie die Kosten (Anzahl an Variablen im Term; doppelte mitgezählt) von m und e. Hat
das Minimalpolynom wirklich die geringsten Kosten? Falls nicht, wieso ist dies möglich?

Aufgabe 9.4 (2 Punkte)

Mit Hilfe der Kenntnisse, die Sie über die MIPS-Assemblersprache erworbenen haben, können Sie bereits
einfache Assemblerprogramme, die für komplexere Instruktionssets geschrieben wurden, analysieren und
modifizieren.
Auf der E-Learning-Seite finden Sie ein Assemblerprogramm für x86-64-Prozessoren, das aus der Überset-
zung des C-Programms „pow1.c“, welches Sie ebenfalls auf der E-Learning-Seite finden, entstanden ist.
Doch bei der Übersetzung scheinen sich Fehler eingeschlichen zu haben, denn es liefert bei Ausführung
nicht die richtigen Ergebnisse.
Erklären Sie den Fehler und korrigieren Sie das Programm! Geben Sie an, welche Änderungen (Zeilen-
nummer, veränderter Befehl) notwendig sind, damit das Programm richtige Ergebnisse liefert!
Hinweis: Auf x86-64-Systemen (z. B. im CIP-Pool) können Sie aus dem Assemblerprogramm unter Li-
nux mit dem Befehl „gcc -o pow1-x86_64-buggy pow1-x86_64-buggy.s“ ein ausführbares Programm
namens pow1-x86_64-buggy erzeugen. Testen Sie das Verhalten des Programms beim Start aus der Kom-
mandozeile mit einer kleinen ganzen Zahl als erstem und einer kleinen natürlichen Zahl größer 0 als
zweitem Argument!

Aufgabe 9.5 (2 Punkte)

Analysieren Sie das auf der E-Learning-Seite bereitgestellte MIPS-Assemblerprogramm rle.s. Welche
Bedeutung haben die im Datensegment abgelegten Daten und wie entsteht aus diesen Daten die Ausgabe
des Programms?

Das könnte Ihnen auch gefallen