View Full Version : [LÖSUNG] - Antworten-Sammlung
Hier ist die Sammlung zu
http://tigerente.htu.tuwien.ac.at/~iforum/showthread.php?t=20157
Frage 1:
1. Arithmetic Logic Unit (ALU)
2. Register File (Scratchpad)
3. Busverbindungen
4. Schnittstellen zu externen Bausteinen:
a) zu RAM/ROM:
Memory Adress Register (MAR)
b) Zu anderen Bausteinen (z.B Mathematik-Co-Prozessor)
5. Micro Code Logic
a) Micro Code ROM
b) Micro Instruction Register (MIR)
c) Micro Instruction Counter (MIC)
6. Clock- und Timing-Bausteine
7. Power-up- und Reset-Schaltungen
Frage 7: Was versteht man unter einem Bus:
Ein Bus ist eine Anzahl paralleler Leitungen, die von mehreren Teilnehmern, z.B Registern, benutzt werden können (sog. Leitungsvielfach) Frage 8: Welche Aufgabe hat ein Bus-Arbiter ?
Ein Bus Arbiter entscheidet, wer einen Bus zu welchem Zeitpunkt benutzen darf.
Frage 9: Bennen Sie drei Status-Anzeigen bei einer Arithmetik-Logik-Einheit (ALU)
1. Übertragsanzeige (engl.: carry)
Es wird ein Übertrag angezeigt
2. Nullanzeige (engl.: zero status flag)
Die Nullanzeige hat den Wert 1, wenn im Ergebnis der ALU alle Bits Null sind.
3. Vorzeichenanzeige (engl. sign)
Hat die Vorzeichenanzeige den Wert 0, liegt ein positiver Wert vor.
Frage 26: Nennen Sie die wichtigsten Vor- und Nachteile der Verwendung von Micro-Programmierung zur Realisierung einer Funktion, anstatt diese Funktion in Hardware zu realisieren!
Vorteil: Einfachheit der Hardware und der zugehörigen Kontrollmechanismen, die sich
dadurch ergeben.
Nachteil: langsamere Ausführungszeit der Funktion im Vergleich zu einer Realisierung in Hardware.
Frage 27: Was versteht man unter einem Micro-Prozessor?
Es ist ein Baustein, der sämtliche Komponenten eines Prozessors enthält.
Er ist meistens auf die Verarbeitung von Daten mit bestimmter, fixer Wortlänge ausgerichtet.
Frage 28: Ein Teil der Control Unit erzeugt phasenverschobene Taktsignale zur Steuerung der verschiedenen Komponenten der ALU. Erläutern Sie die Funktion dieser Taktsignale (engl. trigger)!
Ein Taktgenerator als Bestandteil der Control Unit steuert die Bauteile der ALU mit zeitlich verschobenen Taktsignalen wie folgt:
Trigger C1: Die aktuelle Micro-Instruktion wird geladen, es werden Daten auf den A- und B-
Bus gelegt, die Funktionen der ALU und des Shift-Registers werden ausgewählt.
Trigger C2: Versorgung der Register A und B mit den Daten, die sich auf den Bussen befinden.
Trigger C3: ungenutz (Bereitstellung der Zeit für die Durchführung der gewählten Operation
durch ALU und Shifter)
Trigger C4: Ergebnis wird vom S-Bus in das Zielregister geladen.
23) Durch welche im Buch erläuterten Arten der Parallelverarbeitung kann die Performance eines Prozessors gesteigert werden?
- Vektorverarbeitung
- Superskalare Verarbeitung
- Pipelining
11)was ist ein imp:
interface message processor - Frühere Bezeichnung für die Knoten in der Datenpaketvermittlung, die im Arpanet benutzt wurden
14) Was bedeutet die Abkürzung "CSMA/CD"
Carrier sense multiple access with collision detection
18) Durch welches Bauelement wird beim "Token Ring" nach IEEE 802.5 ein unidirektionaler Kommunikationsablauf bewirkt?
D-FlipFlop
19) Welche Information enthält der Trailer im DATA LINK LAYER des OSI Refernce Modells?
CRC-checksum
15) Erläutern Sie, wie das Verfahren in einem vernetzten Rechnersystem zur "Collision Detection" realisiert wird, wenn zeitgleich mehrere Nodes auf den gemeinsamen Bus zugreifen
mit Hilfe der Elektronik für die sogenannte Carrier Detection im Transceiver stellt ein sendewilliger Host fest, ob die Leitung frei ist. Wenn nicht, wird ein Freiwerden abgewartet, andernfalls wird der Frame sofort gesendet. Bei Kollisionen von Frames wird diese von den Transceivern der Sender erkannt und alle nodes stoppen die Übertragung. Nach einer zufälligen Zeit wird das beschriebene Verfahren wiederholt
4) Benennen Sie zwei wesentliche Aufgaben im Layer 1 des ISO-OSI Referenzmodells!
Bestimmung des Übertragungsmediums (Lichtleiter, Kupfer, ...)
Bestimmung der verwendeten Übertragungstechnik (analog/digital)
3.) Was versteht man unter "atomic actions"?
auch als "unteilbare Operation" bezeichnete Folge von Instruktionen, die durch geeignete Maßnahmen sicherstellt, dass ihre Ausführeung zur Gänze oder garnicht erfolgt
Frage 5: Benennen Sie vier Strategien für das "Page Replacement"
FIFO (First In First Out)
LRU (Least Recently Used)
LFU (Least Frequently Used)
NUR (Not Used Recently)
Frage 12: Welche 3 Arten von Scheduling werden im VO-Buch genannt?
Prozess-Scheduling
Thread-Scheduling
Job-Scheduling
29. Was ist CISC bzw. RISC?
a)CISC......Complex Instruction Set Computer
b)RISC......Reduces Instruction Set Computer
ad a
die ersten Erweiterungen der Von-Neumann Methode zielten darauf ab, immer mehr Befehle (manchmal über 1000) und komplexere Konstrukte schon auf der Maschinenebene zur Verfügung stellen.
Nachteil: aufwändige Control Unit, komplexe Microprogrammierung
ad b
- Beschränkung auf wenige (ca 100 - 200) Instruktionen, die durch die
Compiler genutzt werden, und Emulationen der anderen durch den
existierenden Befehlssatz
- Optimale Implementierung dieser geringen Anzahl von Befehlen
--> RISCs benötigen wegen ihrer einfachen Befehle praktisch keinen Micro-Code (Ablaufsteuerung fest verdrahtet), dadurch Einsparung bei internen Kontrollmechanismen, durch einfachere Hardware höhere Taktraten
--> Befehlsverarbeitung erfolgt nach dem Pipelining Prinzip (1 Befehl pro Maschinetakt)
--> Load/Store Befehle kommunizieren mit dem Speicher, alle anderen Befehle arbeiten ausschließlich mit Registern
wichtige RISC-Weiterentwicklungen: SPARC (Scaleable Processor Architecture, "offene" Architektur), MIPS ( Microprocessing without Interlocking Pipelining Stages)
30) Was sind Race Conditions ?
mehrere Programmprozesse machen ein Wettrennen gegeneinander, wer als erstes Zugriff auf die Ressourcen bekommt.
.
Ich glaube es ist das Problem damit gemeint, dass wenn ein Prozess Daten eines anderen überschreibt, welcher vom Scheduler soeben suspendiert worden ist, und dieser dann dadurch bei einem Resuming einen Fehler produziert.
34. Wie lang ist die Verarbeitungsdauer einer MikroInstruktion?
ein Maschinenzyklus
35. Zählen Sie die Bitkombinationen und Ihre Bedeutung sowie die zugehörigen Symbolbezeichnungen für
a)Die Steuereinheiten S0S1
b) die Steuereinheiten F0F1 auf !
a)
00 -keine Veränderung: SH <- R
01 - shift left: SH <- lsh(R)
10 - shift right <- rsh(R)
11 - nicht belegt
b)
00 - A unverändert durchschalten
01 - addieren
10 - bitweise &-Verknüpfung
11 - A negieren
6) Welche Grösse beinflusst beim Round-Robin Scheduling das Laufzeitverhalten eines Programmprozessors
Das Quantum oder TimeSlice genannt = (kurzes) Zeitintervall
Ist dieses zu klein, wird es kritisch: der Scheduling Overhead reduziert die nutzbare Prozessorleistung unzulässig, ist sie zu groß hingegen sind die Antwortzeiten unbefriedigend...
10) Aus welchen Datenbereichen besteht die Datenstruktur des Semaphors?
aus einem auf 0 initialisierten Counter (Typ integer) und einer zunächst leeren Liste (Warteschlange/Queue) für Prozess-IDs
34. Erläutern Sie den Unterschied zwischen synchronen und asynchronen Methoden der Interprozess-Kommunikation
Synchrone Methoden der IK zeichnen sich dadurch aus, dass der Empfänger eine Nachricht durch seine eigene Aktivität abholen muss.
Asynchrone Methoden: kein explizites Abholen der an ihn geschickten Nachrichten, unterbricht den Empfänger in seiner normalen Tätigkeit und überrasch ihn 35. Was ist ein Information Exchange ?
Vergleichbar mit einem Briefkasten, wo Prozesse Nachrichten abliefern können oder sie abholen können
36. Welche SystemCalls werden
a) bei einem Semaphor
b) beim Message Passing
zur Verfügung gestellt und welche Bedeutung haben Sie.
a)
S_OPEN(semaphore name):
fordert ein Semaphor vom Betriebssystem an.Beim ersten Aufruf wird das S-Objekt erzeugt, alle weiteren liefern es zurück
S_V(semaphor_id):
Rückgabe einer Ressource durch Programmprozess in die Verwaltung des Betriebsystems, Counter wird incrementiert
S_P(semaphot_id):
Anforderung einer Ressource aus dem Betriebsystem, Counter wird decrementiert
b)
E_OPEN(exchange name, message)
fordert ein Exchange vom BS an
E_RECEIVE(exchange-ID, message)
Abholen einer Meassage von einem Exchange
E_SEND(exchange-ID, message)
E_CHECK(exchange name, message time)
gibt die Zeit zurück, die max. gewartet werden soll, bis der Prozess aus dem Zustand BLOCKED geholt wird.
E_ACCEPT(exchange-ID, message, time)
dient der Behandlung von Situationen, in denen die Blockierung eines Empfängerprozesses im Falle einer leeren MeassageQueue unerwünscht ist.
Wenn eine Message an dem Exchange deponiert ist, verhält sich dieser Service Call genau wie E_RECEIVE, sonst wartet er maximal time Sekunden auf deren eintreffen.
E_CLOSE
schließen eines Echanges
37.) Welche System Calls sind Ihnen bekannt bei der asynchronen Interprozess Kommunikation?
A_TRIGGER(signal, process-ID)
schick ein Signal
A_CATCH(signal, service_routine)
Fängt Signale ab; spezifiziert, was bei dem Eintreffen von signal geschehen soll.
Nicht mit A_CATCH abgefange Signale "killen" (terminieren) überlicherweise den Empfänger.
A_PAUSE()
einen Prozess im Zustand BLOCKED auf das eintreffen eines (beliebigen) Signals warten lassn.
39.) Geben Sie Kriterien zur Vergebung von Signal-Namen an
sollte einen symbolischen Namen habe zusammengersetzt aus dem Prozess und dem Singalnamen 40.)Welchem Zweck dient der System-Call A_CATCH ?
Mit dessen Hilfe kann sich ein Prozess davor schützen, mitten aus dem Leben gerissen zu werden. 41.) Wofür ist der Parameter service_routine beim Signal A_CATCH. Geben Sie ein sinnvolles Bsp an, was beim Aufruf von A_CATCH passieren könnte ?
Sie ist die Routine, die beim Abfangen des Signals aufgerufen werden soll, z.B ein Eintrag einer Message an den eigenen Programmprozess.
16) Wie lautet das Kommunikationsmittel bei der Interprozesskommunikation zwischen Clients und Server?
Message Exchange
17) Welchen Systemcall sollte ein Operation System enthalten, um asynchrone Signale abzufangen?
A_CATCH
thebigMuh
25-06-2004, 20:06
30.)
Genauere Erläuterung:
Race Conditions treten auf, wenn zwei Threads auf die gleiche Ressource zugreifen wollen, zum Beispiel eine Variable.
Beispiel:
if (a == 0)
a++;
Zwei Threads A und B führen diese Aktion auf ein und derselben Variablen a aus, die auf 0 initialisiert ist.
In diesem Fall funktioniert es:
A führt aus, a = 0: if (a == 0)
A führt aus, a = 1: a++;
B führt aus, a = 1: if (a == 0)
B führt daher nicht mehr aus: a++;
Hier funktioniert es nicht mehr:
A führt aus, a = 0: if (a == 0)
B führt aus, a = 0: if (a == 0)
A führt aus, a = 1: a++;
B führt aus, a = 2: a++;
Im zweiten Fall erhält a den falschen Wert 2.
vBulletin® v3.7.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.