24.09.2013 Aufrufe

Klausur

Klausur

Klausur

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

NAME<br />

MATRIKELNUMMER<br />

Prüfungsart: SL oder PL<br />

<strong>Klausur</strong><br />

Theoretische Informatik + Rechnerarchitektur WS04<br />

Summe TI+RA Note<br />

Dozent: Döben­Henisch<br />

31.Januar 2005, 10:00 – 12:00h, Raum BCN 224<br />

Minimale Punktezahl, um TI+RA zu bestehen: TI 12.5 Pkt + RA 12.5 Pk<br />

1. Regularien<br />

i. Teilnehmer an der <strong>Klausur</strong> müssen sich durch Lichtbildausweis identifizieren.<br />

ii. Es dürfen nur leere Blätter, Schreibgeräte und Taschenrechner benutzt werden. Alle in<br />

Gebrauch befindlichen Blätter müssen mit Name und Matr.Nummer gekennzeichnet sein.<br />

Arbeitsblätter ohne Kennzeichnung gelten als Täuschungsversuch. Blätter ohne<br />

Kennzeichen werden bei der Auswertung nicht berücksichtigt.<br />

iii. Die <strong>Klausur</strong>zeit beträgt 120 Min. Man darf seinen Platz erst verlassen, wenn der<br />

Prüfungsleiter die <strong>Klausur</strong>arbeit in Empfang genommen hat.<br />

iv. Es gilt folgende Punktetabelle:<br />

1. >69<br />

2. 55­69<br />

3. 40­54<br />

4. 25­39<br />

5.


5. (Pkt. 2) Was unterscheidet einen nichtdeterministischen endlichen Automaten (NFA) von einem<br />

deterministischen endlichen Automaten (DFA)? Welche Beziehung besteht zwischen (i) einem<br />

NFA und einer regulären Sprache und (ii) zwischen einem DFA und einer regulären Sprache?<br />

6. (Pkt. 2) Wie unterscheidet sich eine Chomsky Normalform und eine schwache Chomsky<br />

Normalform von der allgemeinen Definition einer CFG?<br />

7. (Pkt. 2) Wenn man mit Hilfe einer formalen Grammatik G und einem geeigneten Automaten A<br />

eine Zeichenkette analysiert: Was bedeutet in diesem Kontext ein Top­Down­Parsing bzw. ein<br />

Bottom­Up­Parsing?<br />

TI­Aufg.1 (Max.Pkt: 7):<br />

Gegeben sei folgende Menge von konkreten Ausdrücken (Ketten von terminalen Zeichen, Token):<br />

1. ( AB & B )<br />

2. ( AA & ( B | C ))<br />

3. ( ( ~A & ~B ) | D )<br />

Konstruieren sie eine formale kontextfreie Grammatik, mit der man mindestens diese drei<br />

Ausdrücke ableiten kann. Schreiben Sie die Regeln ihrer Grammatik im EBNF­Format.<br />

Konstruieren Sie auf der Basis ihrer Grammatik einen Syntaxbaum.<br />

TI­Aufg.2 (Max.Pkt: 7):<br />

Gegeben sei die folgende Produktionsregel einer kontextfreien Grammatik im EBNF­Format.<br />

1. unsigned integer = digit | unsigned integer, digit ;<br />

2. integer = unsigned integer | "+", unsigned integer | "­", unsigned integer ;<br />

3. decimal fraction = ".", unsigned integer ;<br />

4. exponent part = "10", integer ;<br />

5. decimal number = unsigned integer | decimal fraction | unsigned integer, decimal fraction;<br />

6. unsigned number = decimal number | exponent part | decimal number, exponent part ;<br />

7. digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;<br />

Konstruieren Sie dazu die vollständige kontextfreie Grammatik. Zeigen Sie durch Konstruktion<br />

einer Ableitung ob der folgende konkrete Ausdruck ableitbar oder nicht ableitbar ist:<br />

? "1"".""2"10""+""5" ?<br />

TI­Aufg.3 (Max.Pkt: 9):<br />

Es wurde ein kleiner Softwareagent programmiert, den man in einer 2D­Welt mittels<br />

Tasteneingaben steuern kann. Vier Befehlsworte sind vorgesehen: "n" für "north", "s" für "south",<br />

"e" für "east" sowie "w" für "west". Ende der Eingabe wird durch "§" angezeigt. Konstruieren sie<br />

einen deterministischen endlichen Automaten A, der diese Eingaben erkennen kann. Im Falle von<br />

"§" soll der Automat in einen Endzustand übergehen. Konstruieren Sie diesen Automaten A (i) in<br />

Form eines Zustandsgraphen und (ii) schreiben sie eine formale Definition hin.<br />

Döben­Henisch – <strong>Klausur</strong> TI+RA WS04 2//8


TI­Aufg.4 (Max.Pkt:7):<br />

Folgender endlicher Automat A sei gegeben:<br />

A = < P> mit<br />

Q = {S, X, Y, Z, G, H, M, V, W,1}<br />

q 0 = S<br />

E = {1}<br />

T = {a, b, e, g, k, l, n, u, z, §} (Unterstrich markiert terminales Zeichen)<br />

P = { /* Basisfälle */<br />

}<br />

i. <br />

ii. <br />

iii.<br />

iv. <br />

v. <br />

vi. <br />

vii.<br />

viii.<br />

ix. <br />

x. <br />

xi. <br />

xii.<br />

xiii.<br />

}<br />

/* Reduktionsfall */<br />

i. P(q,a) = q'<br />

ii. P(q,ax) = P(P(q,a),x) (mit a in T, x in T*, q,q' in Q)<br />

Konstruieren Sie einen Zustandsgraphen zu diesem Automaten. Zeigen Sie durch eine Ableitung,<br />

ob die folgende Eingabe von dem Automaten A akzeptiert wird oder nicht akzeptiert wird:<br />

? abzug§ ?<br />

RA Fragen 1­7 (Max: 11 Pkt):<br />

1. (1,5 Pkt) Welche Aspekte im Bereich der Modell­CPU mic1 entsprechen dem Schreib­Lese­<br />

Kopf einer Universellen Turingmaschine?<br />

Döben­Henisch – <strong>Klausur</strong> TI+RA WS04 3//8


2. (1,5 Pkt) Welcher Aspekt der Modell­CPU mic1 entspricht dem Programm einer Universellen<br />

Turingmaschine?<br />

3. (1 Pkt) Welche Eigenschaft des abstrakten Konzeptes einer universellen Turingmaschine lässt<br />

sich nicht auf einen konkreten Mikroprozessor mit Speicher übertragen?<br />

4. (1 Pkt) Warum kann ein zweiter Datenbus ­­der A Bus­­ im Bereich der Modell­CPU mic1 eine<br />

Verbesserung der Leistung erbringen?<br />

5. (2 Pkt) Warum kann die Einführung zusätzlicher Datenlatches in den Bussen A, B und C im<br />

Bereich der Modell­CPU mic1 zu einer Leistungssteigerung führen?<br />

6. (2 Pkt) Wenn Sie die historische Entwicklung der Intel CPU­Familie betrachten: welches sind<br />

die wichtigsten Eigenschaften, die sich im Laufe von ca. 30 Jahren verändert haben und in<br />

welchem Sinne können Sie zu einer Leistungssteigerung beitragen?<br />

7. (2 Pkt) Welche speziellen Eigenschaften werden durch die Multimedia­Register MMX und<br />

XMM eingeführt? Warum kann dadurch die Leistung gesteigert werden.<br />

RA­Aufg.1 (Max. 7 Pkt)<br />

Gegeben ist ein System mit vier Eingängen {a,b,c,d} und einem Ausgang y. Der Zusammenhang<br />

zwischen den Eingängen a­d und dem Ausgang y wird durch folgende Tabelle beschrieben:<br />

a b c d y<br />

0 0 0 0 0<br />

0 0 0 1 0<br />

0 0 1 0 0<br />

0 0 1 1 0<br />

0 1 0 0 1<br />

0 1 0 1 1<br />

0 1 1 0 1<br />

0 1 1 1 1<br />

1 0 0 0 0<br />

1 0 0 1 0<br />

1 0 1 0 0<br />

1 0 1 1 0<br />

1 1 0 0 1<br />

1 1 0 1 1<br />

1 1 1 0 0<br />

1 1 1 1 0<br />

Zeigen Sie durch Umformung dieser Tabelle mittels Nomalformen oder Karnaugh Maps, ob der<br />

Ausdruck (~a & b) | ( b & ~c ) eine korrekte Wiedergabe für die Funktion y =(a,b,c,d) ist bzw., falls<br />

Döben­Henisch – <strong>Klausur</strong> TI+RA WS04 4//8


dies nicht der Fall ist, begründen Sie durch ihre Umformung, warum dies nicht der Fall ist (als Hilfe<br />

können die logischen Umformungsgleichungen aus dem Anhang benutzt werden).<br />

RA­Aufg.2 (Max. 12 Pkt)<br />

Geben sind folgende zwei Funktionen:<br />

y = (~a & b & ~c) | (a & ~b & ~c) | (~a & ~b & c) | (a & b & c)<br />

z = ( a & c) | (b & c)<br />

Die Variablen sollen die folgende Bedeutung haben:<br />

Variable Bedeutung<br />

a,b Dateneingänge {0,1}<br />

c Carry­In {0,1}<br />

y Summe aus binärer Addition {0,1}<br />

z Carry­Out aus binärer Addition {0,1}<br />

Konstruieren Sie eine binäre Schaltung (= Zeichnung), die diese Schaltung umsetzt. Wählen Sie<br />

für das Layout ihrer Schaltung das PLD­Format ( Eingänge ­> Und­Gatter ­> Oder­Gatter).<br />

Erweitern sie die Schaltung so, dass damit zwei 2­Bit­Zahlen addiert werden können (z.B. "01"<br />

+ "11"). Erläutern Sie, welche Rolle möglicherweise der Systemtakt für eine korrekte Addition<br />

spielen kann.<br />

RA­Aufg.3 (Max. 12 Pkt)<br />

In der Vorlesung sind unterschiedliche Optimierungsstrategien am Beispiel der Modell­CPU mic1<br />

behandelt worden. Im Übergang von mic2 zu mic3 wurde Parallelverareitung mit Hilfe von<br />

unabhängigen Datenbussen und Latches eingeführt (siehe Schaubild im Anhang). Im folgenden<br />

werden ihnen drei Befehlsabschnitte aus dem Mikroprogramm von mic2 gegeben und sie sollen<br />

zeigen, wie man dieses Microprogramm unter Voraussetzung der Struktur von mic3 (siehe<br />

Anhang) so umschreiben kann, dass man durch Parallelisierung eine zeitliche Optimierung<br />

erreicht. Konstruieren Sie eine Tabelle, die diese neuen Abarbeitungsmöglichkeiten zeigt.<br />

Döben­Henisch – <strong>Klausur</strong> TI+RA WS04 5//8


Vorgabe: Ausschnitt Mikroprogramm mic2<br />

Mikrobefehl<br />

mic2<br />

if_icmpeq1<br />

if_icmpeq2<br />

if_icmpeq3<br />

if_icmpeq4<br />

if_icmpeq5<br />

if_icmpeq6<br />

Interne Abarbeitung Kommentar<br />

MAR = SP = SP – 1; rd<br />

MAR = SP = SP – 1<br />

H = MDR; rd<br />

OPC = TOS<br />

TOS = MDR<br />

Z = H – OPC; if (Z) goto T;<br />

else goto F<br />

Lies nächstes oberes Stapelwort ein<br />

Setze MAR für das Einlesen der neuen<br />

Stapeloberseite<br />

Kopiere zweite Stapelwort nach H<br />

Speichere TOS vorübrgehend in OPC<br />

Lege neue Stapeloberseite in TOS ab<br />

T H = PC – 1; goto goto2 Kopiere PC nach H<br />

F<br />

F2<br />

H = MBR2<br />

goto (MBR1)<br />

Falls die beiden obersten wort gleich sind,<br />

goto T, andernfalls goto F<br />

Markiere zu verwerfende Bytes in MBR2<br />

Nächste Instruktion<br />

Aufgabe: Konstruieren Sie eine Abarbeitungsfolge für mic3 nach folgendem Schema:<br />

Takt if_icmpeq<br />

1<br />

if_icmpeq<br />

2<br />

1 B = SP ...<br />

2 C = SP­1 ...<br />

3 MAR = SP ...<br />

4 rd ...<br />

5 ... ...<br />

...<br />

k<br />

if_icmpeq<br />

3<br />

if_icmpeq<br />

4<br />

ANHANG<br />

if_icmpeq<br />

5<br />

Def.: g ist eine formale Grammatik [FG(g)] gdw g = < P> mit<br />

1. V := Menge der Variablen (oder nicht­terminalen Elemente)<br />

2. T := Menge der terminalen Elemente<br />

3. S := Das Startsymbol; es gilt {S} C V<br />

if_icmpeq<br />

6<br />

T F F2<br />

4. P := Die Menge der Ersetzungs­ bzw. Produktionsregeln. Es gilt allgemein P C (V ∪ T) + x<br />

(V ∪ T)*. Dies bedeutet, auf der linken Seite einer Erzeugungsregel muss mindestens ein<br />

Zeichen stehen, die rechte Seite kann leer sein.<br />

Döben­Henisch – <strong>Klausur</strong> TI+RA WS04 6//8


Def.: g ist eine formale Grammatik vom Typ 2 [FG(g,2)](Kontextfreie Grammatik, 'Contextfree<br />

Grammar' [CFG]) gdw<br />

FG(g) & (A:u,w)( (u,w) ∈ P => u ∈ V & w ∈ (V ∪ T)* )<br />

Def.: y ist mit der formalen Grammatik g direkt ableitbar aus x<br />

[geschrieben: DABL(y,x,g) oder x => g y oder x |­ g y ] gdw<br />

(E:a,b,k,k')( (a,b) ∈ P & x = kak' & y = kbk' & a ∈ (V ∪ T )<br />

g g g + & k,k',b ∈ (V ∪ T )<br />

g g * )<br />

Def.: y ist in g ableitbar aus x [ geschrieben: ABL(y,x,g) oder x * => y oder x |­g<br />

*<br />

y ] gdw<br />

g<br />

(E:f)( SEQ(f) & (f:Nat ­­­> (V ∪ T )* & A:i,j)( i,j ∈ dm(f) & j =i+1 => DABL(f<br />

g g j ,f i ,g) & x = f 0 & y =f len(f)­<br />

1 ))<br />

'SEQ(f)' heisst, dass f eine Folge ist und x ist das erste Element der Folge und y ist das letzte<br />

Element der Folge. Da der Index einer Folge mit 0 beginnt, hat das letzte Element einer Folge f<br />

den Index len(f)­1 = |dom(f)|­1.<br />

Logische Umformungsgleichungen<br />

GESETZ AND­Form OR­FORM<br />

Identitätsgesetz 1A = A 0 + A = A<br />

Nullgesetz 0A = 0 1 + A = 1<br />

Idempotenzgesetz AA = A A + A = A<br />

Inversionsgesetz A & ~A = 0 A + ~A = 1<br />

Kommutativgesetz AB = BA A + B = B + A<br />

Assoziativgesetz (AB)C = A(BC) (A + B) + C = A +<br />

(B + C)<br />

Distributivgesetz A + BC = (A + B)(A<br />

+ C)<br />

A(B + C) = AB +<br />

AC<br />

Absorptionsgesetz A(A + B) = A A + AB = A<br />

De Morgansche Gleichungen ~(AB) = ~A + ~B ~A + ~B = ~(AB)<br />

De Morgansche Gleichungen ~A & ~B = ~(A +<br />

B)<br />

~(A + B) = ~A &<br />

~B<br />

Döben­Henisch – <strong>Klausur</strong> TI+RA WS04 7//8


Hardware­Architektur von Mic3<br />

(In jedem Datenbus A,B,C ist jeweils noch ein Latch implementiert; nicht im Bild)<br />

Döben­Henisch – <strong>Klausur</strong> TI+RA WS04 8//8

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!