Prüfung - Institut für Kommunikationsnetze und Rechnersysteme ...
Prüfung - Institut für Kommunikationsnetze und Rechnersysteme ...
Prüfung - Institut für Kommunikationsnetze und Rechnersysteme ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Frage 5 a) Warum ist die Variable empty neben den Variablen windex <strong>und</strong> rindex erforderlich,<br />
wenn es möglich sein soll, alle Zeilen des Write Buffers gleichzeitig<br />
zu nutzen?<br />
b) Beginnen Sie damit, Process B (vgl. Bild 4) zu implementieren. Betrachten<br />
Sie dabei zunächst Schreibzugriffe. Gehen Sie weiter davon aus, dass ein<br />
Schreibzugriff eine neue Zeile erfordert, d.h. schließen Sie die Fälle Write<br />
Merge <strong>und</strong> Update (vgl. Frage 3) vorerst aus.<br />
Hinweis: Beachten Sie dabei, dass Sie die Variable empty sowohl auswerten<br />
als auch ggf. ändern müssen.<br />
c) Ergänzen Sie Process B um Lesezugriffe. Ein Lesezugriff entferne die älteste<br />
Zeile aus dem Write Buffer <strong>und</strong> erfolge immer dann, wenn zur steigenden<br />
Taktflanke das Signal remove (vgl. Bild 4) aktiv ist.<br />
Hinweis: Die Weiterverarbeitung der gelesenen Daten werde im Rahmen<br />
dieser Aufgabe nicht betrachtet.<br />
Um bei einem Schreibzugriff die Fälle Write Merge <strong>und</strong> Update zu erkennen, muss geprüft werden,<br />
ob der Write Buffer zu ergänzende oder zu aktualisierende Einträge enthält. Dazu diene<br />
Process S.<br />
Frage 6<br />
Frage 7<br />
Implementieren Sie Process S vollständig. Nutzen Sie die Signale hit <strong>und</strong><br />
hit_index (vgl. Bild 4) mit jeweils geeignetem Typ, um Process B vom Ergebnis<br />
der Überprüfung zu informieren.<br />
Ergänzen Sie Process B nun um die Fälle Write Merge <strong>und</strong> Update.<br />
Aufgabe 2 Seite 9