Beruflich Dokumente
Kultur Dokumente
Anwendungsebene
Ebene der hheren Programmiersprachen
Assemblerebene
Betriebssystemebene
Maschinenspracheebene
Mikroprogrammebene
Hardwareebene
RISC und CISC haben fast die selbe Hierarchie der Ebenen, jedoch hat RISC keine
Mikroprogrammebene.
RISC CISC
Ausfhrungszeit 1 Datenpfadzyklus 1 Datenpfadzyklus
Instruktionsanzahl Klein Gro
Intruktionsformat Einfach Variabel
Steuerung ber Handware Mikroprogramm
Hauptspeicherzugriffe LOAD/STORE Keine Einschrnkung
Pipelining Einfach mglich Aufwendig
Verlagerung der Komplexitt Compiler Hardware
Erklre den Unterschied von Compiler und Interpretern. Was ist ein Vollcompiler?
Compiler: ein Maschinenprogramm welches ein ganzes Programm in eine andere Sprache
transformiert
Interpreter Compiler
Quick and Dirty Schnell
Einfacherere Implementierung Codeoptimierung mglich
gut fr Prototypen
Fehler werden sofort erkannt
Systemunabhngig
Synchrone Datenbertragung: bertragung der Daten findet nur zu festen Zeitpunkten statt,
welche durch ein gemeinsames Taktsignal definiert werden.
Was sind Vor- und Nachteile von Assembler bzw. Hheren Sprachen
Vorteile Nachteile
Was ist Pipelining? Nenne den Beschleunigungsfaktor, der durch Pipelining erzielt
werden kann.
Ziel: Steigerung der Rechnerperformanz durch parallelisieren von Phasen der Befehlsabarbeitung
km
Maximalen Geschwindigkeitsgewinn: speedup k = wobei k = # der Phasen und m= #
k +( m1)
der auszufhrende Instruktionen
Was sind Hazards? Welche Typen von Hazards gibt es? Wie kann man sie vermeiden?
Lsungen:
Einfgen von NOPS (Software)
Branch Prediction (Hardware)
Branch Prediction: durch intelligentes Raten der nchsten Instruktion das wahrschenlich nchste
Ziel in die Pipeline geladen; Effektiv bei hufig gleichen Verzweigungen (Schleifen); Falls falsche
Entscheidung getroffen, muss Pipeline geleert werden
Lsungen:
Einfgen von NOPS (Software)
Umsortieren der Maschinenbefehle (Software)
Forwarding (Hardware)
Zugriffsgeschwindigkeit Grenordnung
Schnell / Teuer Register Byte
Caches Kilobyte
Arbeitsspeicher Mega - Gigabyte
Massenspeicher (Festplatte) Giga - Terabyte
Langsam / Billig Wechseldatentrger Giga - Terabyte
Was ist ein Cache? Wozu Caches? Was ist ein Assoziativcache?
Cache: (franz. verstecken) soll die Performanzlcke zwischen Register und Hauptspeicher fllen;
software-transparent
Vollassoziativer Cache (FA): die entsprechende Adresse wird mit allen Verglichen
Direktabgebildeter Cache (DM): feste Abbildung der Hauptspeicheradressen auf die Cache
Adressen (dmc); Arbeitsspeicher in Dekoder und Tag unterteilt
n-fach Satz-Assoziativer Cache: Kombination aus DM und FA; dmc speichert einen Block mit n
Cacheadressen; die Blcke mssen intern als FA organisiert sein.
Vollassoziativer
Vorteile Nachteile
Schnell, hohe Performanz (solange Cache nicht Groe, teure und aufwendige Logikschaltung fr
zu gro) parallelen Vergleich bentigt (ab gewissen
Gre)
Speicherort im Cache fr Hauptspeicherzellen Langsam (umso mehr Cachezellen, umso lnger
frei whlbar braucht der Vergleich)
Problemlose bernahme von Daten aus dem # der Cache miss, Trefferrate und Performanz
Hauptspeicher (solange Cache nicht voll) hngen von dem zu verdrngenden Datum ab
Paralleler Vergleich ist aufwendig
Direktabgebildeter
Vorteile Nachteile
Wenig Hardware und somit gnstig Trefferrate kann nicht erhht werden (keine
Verdngungsstrategien)
Schnell durch vereinfachte Suche
Keine Verdrngungsstrategien weil dmc
bestimmt
geringer Realisierungsaufwand
keine gegenseitige Verdrngung
Least Recently Used (LRU): das mit dem am lngste zurckliegende Zugriffsdatum wird
verdrngt
Least Frequently Used (LFU): das mit dem am seltensten benutzten Datum wird verdrngt
First in, First out (FIFO): das mit dem am lngsten zurckliegende Datum wird verdrngt
Die FIFO-Strategie ist einfach zu realisieren und LRU / LFU-Strategie bercksichtigen das
Geschehen in der Vergangenheit besser.
Warum werden beim Direct Mapped Cache die niederwertigen Bits zur Adressierung
an den Hauptspeicher verwendet?
Vorteile Nachteile
WT Konsistenzprobleme in der Entstehung Zeitaufwendig durchs zugreifen auf den
durch aktualisieren verhindert Hauptspeicher
hohe Belastung des Bus
WB / WA Braucht keinen sofortigen Kosistenzprobleme wenn andere
Hauptspeicherzugriff (auer WB bei cache Komponenten auf den Hauptspeicher
miss) zugreifen knnen
Belastung fr Bus kleiner Aufwand
Schnell da kein Wartezyklus vorhanden
Bei WB muss bei cache miss auf den
Hauptspeicher zugegriffen werden
Der virtuelle Speicher schliet die Lcke zwischen den Anforderungen des Anwenders und den
Kapazittsgrenzen. Dem Anwender wird vermittelt, dass solange der Adressraum nicht voll ist, alle
Daten und Programme im Hauptspeicher abgelegt werden knnen. Das heit, dass dieser den
ganzen Hauptspeicher mit den kompletten Adressraum benutzen kann.
Paging: der Inhalt vom virtuellen Speicher wird komplett auf dem Sekundrspeicher abgelegt
Der virtuelle Speicher wird in verschieden groe Segmente unterteilt welche unterschiedliche
Zwecke zugeordnet sind (zB Stack, Programmcode). Das Betriebssystem sorgt dafr, dass die
Segmente im Hauptspeicher liegen und nicht verdrngt werden.
Multiprozessor: mehrere Prozessoren mit einem Speicher; Kommunikation ber Speicher; evlt.
Performanz-Probleme
Multicomputer: mehrere Rechner ohne gemeinsamen Speicher Jeder Prozessor hat eigenen
Speicher; Nachrichtenaustausch; evtl. hoher Aufwand wegen Nachrichten
Ring
n
Durchmesser:
2
Grad: 2
Token Ring (ein Token/Packet kreist und Rechner darf nur Senden wenn er Token
besitzt)
Hypercube
Durchmesser: log 2 n
Grad: log 2 n
keine Wartezeiten
Was ist ein Code? Was sind die Distanz eines Codes?
Binrer Code: Abbildung des Alphabets auf eine Menge von Bitfolgen
Hamming Distanz zwischen zwei Wrtern: # Stellen an denen sich x und y unterscheiden
Hamming Distanz zwischen zwei Codes: kleinste Hamming Distanz zwischen zwei Codewrtern
zB:
Fehler erkennender Code: d hamming (c )k +1
Fehler korrigierende Code: d hamming (c )2k +1
Die Parity-berprfung ist ein fehlererkennender Code welcher bestanden ist, falls die Anzahl der
auf 1 gesetzten Bits gerade ist. Dabei werden Parity Bits verwendet um die Codelnger zu erhhen,
sodass der Code den Test besteht.
Der Hamming-Code ist ein 1-fehlererkennender Code. Hierbei wird der Code zuerst um r Bitstellen
erweitert. Die Bitstellen sind 20 , 21 , ... ,2r wobei nur bis 2 r1 zur berprfung benutzt werden.
Eine Zahl die kleiner ist als die kleinste normalisierte Zahl.
Implikant:
ein Teilwrfel mit nur markierten Knoten
Primimplikant: Terme einer Disjunktion von Konjunktionstermen die nicht mehr verkrzt werden
knnen; krzesten Konjunktionsterme
ein maximaler Teilwrfel
Erlutere den Algorithmus von Quine-McCluskey.
Programm: http://www.dbhunter.de/php/include.php?path=content/content.php&contentid=94
Applet: http://www-ihs.theoinf.tu-ilmenau.de/~sane/projekte/qmc/embed_qmc.html