Rechnerarchitekturen-FAQ
Was ist ein Stack Frame?
Ein Stack Frame ist ein fester Bereich im
Stack, der vor allem dazu dient, die statischen Variablen des laufenden
Programms aufzunehmen.
Ein Prozessor hat einen internen Cache
mit Einträgen (Cache Lines) von 32 Bytes. Wie sieht die integrale Adresse eines
solchen Eintrags aus?
Die Adresse muß durch 32 teilbar sein, d. h. die niedrigsten 5 Adressbits
sind Null
31 |
5 |
4 |
0 |
00000 |
---|
Ein Prozessor hat 48-Bit-Adressierung (Byteadresse). Die Einträge seines internen Caches sind 64 Bytes lang. Wie sieht die integrale Adresse eines solchen Eintrags aus?
log(64)/log(2)= 6
Die niderwertigsten 6 Bit werden mit 0 gefüllt, sowie die höchstwertigen 16.
Wie sieht die integrale Adresse einer Datenstruktur von 128 Bytes Länge aus? (32-Bit- Adresse, Byteadressierung.)
log(128)/log(2)=7
die 7 niederwertigsten Bits müssen 0 sein, damit die Adresse durch 128 teilbar ist
Ein Prozessor hat einen internen Cache mit Einträgen (Cache Lines) von 64 Bytes. Wie sieht die integrale Adresse eines solchen Eintrags aus?
log(64)/log(2) = 6
Die niedrigsten 6 Adressbits (0-5) müssen null sein, damit die Adresse durch 64 teilbar ist.
Nennen Sie den Unterschied zwischen der
v. Neumann- und der Harvard-Architektur.
v. Neumann: gemeinsamer Speicher, Harvard:
getrennte Speicher für Daten und Befehle. Die v.Neumann-Maschine hat nur einen
Zugriffsweg zum Speicher (den berühmten Flaschenhals), die echte
Harvard-Maschine hat hingegen unabhängige Zugriffswege (Flaschenhals ist
gleichsam doppelt so weit).
Gibt es eine Möglichkeit, das Prinzip der v.-Neumann- Architektur beizubehalten und trotzdem das Leistungsvermögen der Harvard-Architektur zu erreichen? Wenn ja, was ist dafür notwendig?
Dies ist möglich, dazu muss die Busbreite erhöht werden um den Speicherzugriff zu beschleunigen (optimal verdoppeln)
Brauchen wir für natürliche und ganze
Binärzahlen je einen besonderen Additionsbefehl?
Gilt Ihre Aussage auch für die Division?
a) nein, b) nein; man braucht hier jeweils besondere Befehle für jeden der
Datentypen.
Worauf müssen Sie achten, wenn - zwecks
Speicherplatz-Ausnutzung - numerische Angaben als kurze natürliche
(vorzeichenlose) Binärzahlen codiert werden (z. B. in einem Byte)?
Darauf, daß kurze Binärzahlen typischerweise durch
Für eine bestimmte Anwendung (nicht für
ein Computerspiel, sondern für etwas Ernsthaftes) ist es erforderlich, ca. 200
verschieden Farbwerte auf dem Bildschirm anzeigen zu können. Sie sollen dafür
eine Grafikkarte aussuchen. Welche Farbtiefe brauchen Sie?
Wenigstens 8 Bits = 1 Byte (damit lassen sich 2
Mit der Farbtiefe von Aufgabe 6 wird
eine Auflösung von 1024 # 768 Bildpunkten
gewünscht. Wie groß müßte der Bildspeicher hierfür wenigstens sein (in kBytes
bzw. MBytes)?
Mit 1 Byte/Pixel braucht man 768 # 1024 Bytes = 768 kBytes, also praktisch 1 MByte.
Was versteht man in der Rechnerarchitektur unter dem Begriff “Lokalität”? Wofür ist dieses
Prinzip von entscheidender Bedeutung (Hilfestellung: was würde nicht funktionieren, wenn es dieses Prinzip - als Erfahrungstatsache - nicht gäbe?)
Das grade laufende Programm braucht aus dem großen Adressraum nur vergleichsweise wenige Angaben und diese liegen zumiest dicht beisammen
Bsp: Befehle werden zumeist fortlaufend abgearbeitet
Verzweigungen innerhlab eines Programms sind häufiger als Verzweigungen zwischen anderen Programmen
ZUsammenhängende Programmstücke und Unterprograme beziehen sich häufig auf so wenige Daten, dass dies in Universalregistersätzen gehalten werden können.
Wenn zu einer Adress zugegriffen wurde, ist es wahrscheinlich, dass bald wieder drauf zugegriffen wird
Sind Diskettenlaufwerke wirklich so
altmodisch? - Nennen Sie eine gleichsam lebenswichtige Anwendung solcher
Einfachlaufwerke.
Beim aktuellen Stand der Technik brauchen wir ein Diskettenlaufwerk zum
Laden von Software (sprich: zum Buhten) in Problemfällen (z. B. zum Fehlersuchen
(Testsoftware) oder zur Datenwiederherstellung) sowie gelegentlich noch zum
Installieren von Software.
Ein Anwender beschwert sich darüber,
daß bei Tastenbetätigungen vollkommen falsche Zeichen auf dem Bildschirm
erscheinen. So sind "A" und "Q" miteinander vertauscht, anstelle eines "Z"
erscheint ein "Y", anstelle eines "Ö" ein "M" usw. Vermuten Sie einen
Hardwarefehler (würden Sie vorsichtshalber eine Reservetastatur mitnehmen)?
Wir müssen uns nicht mit der Reservetastatur
abplagen. Wenn alle Tasten eine definierte Wirkung zeigen, kann es kaum an der
Hardware liegen (der Fall liegt anders, wenn bei mehrfacher Betätigung ein und
derselben Taste unterschiedliche Zeichen erscheinen oder unterschiedliche
Wirkungen auftreten). Im geschilderten Fall müßten wir in der Software
nachsehen.
Zugangsbeispiele:
Wieviele AGP-Slots können auf einem
typischen Motherboard höchstens vorhanden sein?
Nur einer. AGP ist kein Bus, sondern ein Punkt-zu-Punkt-Interface.
Nennen Sie wenigstens 3 Interfaces
bzw. Bussysteme, die an eine North Bridge angeschlossen sind.
Auf einem Motherboard, das mit einem
P5-Prozessor bestückt ist, laufen die Burst-Zugriffe nach folgendem Schema ab:
5-3-2-2. Wieviele Wartezustände sind in einem solchen Burst- Zyklus enthalten?
Der schnellstmögliche Ablauf ist ein 2-1-1-1-Zyklus. Er besteht aus 2 + 1 +
1 + 1 = 5 Takten.
Ein 5-3-2-2-Zyklus
dauert hingegen 5 + 3 + 2 + 2 = 12 Takte. Die Differenz ergibt die Anzahl der
Wartezustände: 12 - 5 = 7 Wartezustände.
Auf einem Motherboard, das mit einem P5-Prozessor bestückt ist, laufen die Burst-Zugriffe nach folgendem Schema ab: 6-2-2-2. Wieviele Wartezustände sind in einem solchen Burst-Zyklus
enthalten?
6+2+2+2-6=6 Wartezyklen
Nennen Sie den jeweils wichtigsten Zeitkennwert
a) für asynchrone,
b) für synchrone Speichermoduln.
a) Zugriffszeit
b) Datenrate je Anschluss
Welchen Vorteil hat der ISA-Bus auch heute noch?
Robustheit, weite Verbreitung von Karten und Vielfalt, besonders im industriellen Bereich.
Einfachheit der Entwicklung
In einer Anzeige lesen Sie, das Motherboard des Herstellers X sei mit einem AGP-Pro-Slot
versehen.
a) Wozu ist AGPPro vorgesehen?
b) Woran erkennen Sie einen solchen Slot?
c) Das Motherboard hat neben dem AGP-Pro-Slot noch 4 PCI-Slots. Wieviele PCI-Karten passen
noch hinein, wenn Sie eine dicke AGP-Pro-Karte (High Power Card) bestücken?
d) Sie haben aber gar keine AGP-Pro-Karten. Werden “gewöhnliche” AGP-Karten auch
verwendbar sein?
a)Mehr Platz, größere Bestückungsbauhöhe um überdurchschnittliche Hardware bauen zu können
b)Der Slot hat an beiden Seiten zusätzliche Kontakte
c)Noch 2, da dicke AGP-Pro Karten die 2 benachbarte PCI Slot überdecken
d)Ja, AGP-PR0 ist abwärtskompatibel, normalke Karten können verwendet werden
a) Wieviele laufende Meter Kabel dürfen zwischen dem PC und einem Gerät liegen,
wenn dieses über den USB angeschlossen werden soll?
b) Was ist hierfür erforderlich (mit anderen Worten: reicht ein Stück Draht von x m
Länge aus oder sind Besonderheiten zu beachten)?
a)30m, 6x5m plus zwischengeschaltete USB-Hubs bzw Repeater
b)s.o. Ein normales Kabel darf nur bis 5m lang sein, es sind Hubs notwändig
Wir kennen verschiedene Ausführungen des PCI-Bus. Erklären Sie kurz (ggf. Skizze), worin sich 3,3-V-PCI und 5-V-PCI auf den ersten Blick voneinander unterscheiden (betrifft Motherboards und Steckkarten).
5V Slots haben eine zusätzliche Brücle, damit nur Karten mit der entsprechenden Kerbe eingesetzt werden können.
Nennen Sie wenigstens 3 Interfaces, die sich beim heutigen Stand der Technik zum Anschließen
von Festplatten eignen.
ATA, SCSI, USB, IEEE1394 (Firewire)
Wieviele Laufwerke lassen sich anschließen
a) an ein IDE-Kabel,
b) an ein SCSI-Kabel (8-Bit-SCSI),
c) an ein Wide-SCSI-Kabel?
a)2
b)7
c)15
Erklären Sie kurz das Prinzip
eines virtuellen Speichers auf Grundlage der Segmentierung.
Diskutieren Sie
kurz (stichwortartig) die wesentlichen Vor- und Nachteile dieses Prinzips.
Welche Vorkehrung seitens der Prozessorarchitektur wäre nützlich, um die
Implementierung des Prinzips zu unterstützen?
Programme und Datenbereiche werden als
Segmente aufgefaßt. Jedes Segment wird mittels eines Segmentdeskriptors
beschrieben, der folgende Angaben enthält:
eine Angabe darüber, ob das Segment im Arbeitsspeicher vorhanden ist oder nicht. Ist es vorhanden (= "present"), so enthält der Deskriptor weiterhin:
die Größe des Segments,
die Art des Segments, Zugangsrechte usw.
die Anfangsadresse.
Ist das Segment nicht im Arbeitsspeicher
vorhanden, so enthält der Segmentdeskriptor beispielsweise eine Positionsangabe
auf einem Massenspeicher (Festplatte).
Bei jedem Segmentzugriff muß nachgesehen werden, ob sich das Segment im
Arbeitsspeicher befindet oder nicht. Im letzteren Falle ist es in den
Arbeitsspeicher zu bringen.
Vorteile:
Erklären Sie kurz das Prinzip eines virtuellen Speichers auf Grundlage der Segmentierung.
Diskutieren Sie kurz (stichwortartig) die wesentlichen Vor- und Nachteile. Welche Vorkehrung
seitens der Prozessorarchitektur ist erforderlich, um die Implementierung des Prinzips zu
unterstützen?
Programmstücke und Datenbereiche werden aufgrund ihrer Funktionalität als Segmente betrachtet. Einzelne Segmente sind so groß wie notwendig (variable Länge), Jedes Segment beschrieben durch Segmentdeskriptor (Segmentlänge, PLatzierung, Segmenttyp, Zugriffsrechte)- Zugriff muss explizit ausprogrammiert werden, ist ein Segment nicht im Arbeitsspeicher, wird es bei Zugriff aus dem Massenspeicher geholt. Nur durch Software realisierbar.
Vorteile:
Auch ohne Hardware
realzeitverhalten vorhersagbar
umfangreiche Schutzmassnahmen implementierbar
Nachteile:
Speicherorganisation beim Programmieren zu berücksichtigen
komplizierte Speicherverwaltung erfordert Garbagecollection
Erklären Sie kurz das Prinzip eines virtuellen Speichers auf Grundlage der Seitenverwaltung.
Diskutieren Sie kurz (stichwortartig) die wesentlichen Vor- und Nachteile. Welche Vorkehrung
seitens der Prozessorarchitektur ist erforderlich, um die Implementierung des Prinzips zu
unterstützen?
Lineare Speicheradressen werden nicht direkt auf das Bus-interface durchgeschaltet, es findet eine Adressumsetzung statt. Dabei wird der gesamte Raum von 4GB in Seiten zu je 4kb zerlegt. Der eigentlich verfügbare Speicher wird in Seitenrahmen zu 4kb unterteilt, so dass jede beliebige Seite in jedem Rahmen untergebracht werden kann. Nicht verfügbare Seiten werden bei Abruf in den Arbeitsspeicher geladen.
Vorteile:
Speicherorganisation muss beim Programmieren nicht berücksichtigt werden (lineare Adressierung)
Einfach Speicherverwaltung
keine Garbagecollection notwändig
Nachteile:
TLB Hardware notwändig
Programmlaufzeit (Relazeitverhalten) kaum vorhersagbar
System kann durch Seitenwechsel zugestopft werden (page Trashing)
Es lassen sich nur globale Schutzmassnahmen implementieren
Wozu dienen die D- (Dirty-) Bits in den Seitentabelleneinträgen? Was wäre erforderlich, wenn
man deren Funktion weglassen würde?
Wird gesetzt, sobald ein Schreibzugriff auf die Seite
ausgeführt wird (kennzeichnet Änderung des Inhalts der Seite).
Wozu dienen die A- (Accessed-) Bits in den Seitentabelleneinträgen? Was wäre erforderlich, wenn
man deren Funktion weglassen würde?
Wird gesetzt, sobald ein Zugriff auf die Seite ausgeführt
wird (kennzeichnet Nutzung der Seite).
Weshalb ist eine (herkömmliche)
Mikroprogrammsteuerung prinzipbedingt langsamer als eine
sequentielle Steuerung?
Weil die Mikrobefehle nur eine beschränkte
Anzahl von Folgezuständen auswählen können (einen von zwei bei üblichen
Verzweigungen, ansonsten einen von 4...16). Eine sequentielle Steuerung kann
hingegen innerhalb eines einzigen Maschinenzyklus jeden beliebigen Folgezustand
bestimmen (kombinatorische Verknüpfungen). Zudem ist die Zugriffszeit des
Steuerspeichers typischerweise größer als die Verzögerungszeit von
Gatternetzwerken.
Weshalb ist eine wirksame
Sprungvorhersage von entscheidender Bedeutung für das
Leistungsvermögen eines modernen Prozessors?
Weil bei jedem
falsch vorausgesagten Sprung die Befehslpipeline angehalten und neu gefüllt
werden muß.
Erklären Sie kurz den Fachbegriff Sprungvorhersage (Branch Prediction). Weshalb sind solche
Vorkehrungen in modernen Hochleistungsprozessoren von besonderer Bedeutung?
Sprungvorhersage ist die Fähigkeit des Prozessors Verzweigungen vorauszusagen und die Pipeline entsprechend zu füllen. Eine gut funktionierende Sprungvorhersage ist wichtig, da bei einer Fehleinschätzung die komplette Pipeline geleert und neu gefüllt werden muss, dies kostet viel Rechenzeit.
Zusatzaufgabe: Schreiben Sie ein
Kleinstprogramm für den Prozessorsimulator P/F, das zwei
256-Bit-Binärzahlen MAX und
MORITZ zueinander addiert: MAX := MAX + MORITZ. Beide Binärzahlen stehen im
Arbeitsspeicher. Die Anfangsadresse von MAX finden Sie in Register R1 vor, jene
von MORITZ in Register R2. Die Inhalte der anderen Register R3...R6 sollen nach
Ende der Rechnung genauso aussehen wie am Anfang.
Programmbeispiel (es geht auch anders...):
PUSH R3 ;Regs retten
PUSH R4
PUSH R5
LDI R5,7 ;Schleifenzähler einstellen
LDR R3,R1 ;die ersten 32-Bit-Abschnitte holen
LDR R4,R2
ADD R3,R4 ;die erste Teiladdition
PUSHSTA ;Flagbits retten
ADDLO: STR R1,R3 ;Teilergebnis wegspeichern
;die verbleibenden 7 32-Bit-Abschnitte werden
;in einer Schleife addiert
INC R1,1 ;Adressen erhöhen
INC R2,1
LDR R3,R1 ;Abschnitte holen
LDR R4,R2
POPSTA ;Flagbits wiederherstellen
ADDC R3,R4 ;Teiladdition mit Eingangsübertrag
PUSHSTA ;Flagbits retten
DEC R5,1 ;Schleifenzähler vermindern
JPNZ ADDLO ;weiterrrechnen
POPSTA ;fertig. Flags aus Stack holen
POP R5 ;Regs wiederherstellen
POP R4
POP R3
Schreiben Sie ein Kleinstprogramm für eine Stackmaschine, das folgenden Ausdruck
berechnet:
X := A + (B * (C- (D/E)))
Die Befehlsliste: PUSH, POP, ADD, SUB, MUL, DIV.
PUSH A
PUSH B
PUSH C
PUSH E
PUSH D
DIV
SUB
MUL
ADD
Erläutern Sie kurz den Begriff "innewohnender Parallelismus" (Inherent Parallelism). Diskutieren Sie kurz die verschiedenen Möglichkeiten, ihn zu erkennen.
Die Tatsache, dass Vorgänge, obwohl eine strikt serielle Abarbeitung durch das Programm vorgegeben ist, trotzdem parallel abgearbeitet werden (sofern dies die Hardware zulässt).
Erkennung zur Kompilierzeit: 2 Vorteile, Schaltungstiefe wird vertieft, Compiler kann komplettes Programm überblicken , im Gegensatz zur Hardware, die nur die grade laufenden Befehle sieht
Erkennung zur Laufzeit: Hardware erkennt zur Laufzeit, welche Befehle gleichzeitig abgearbeitet werden können
Aus welchen Angaben besteht eine Gleitkommazahl?
Vorzeichen, Mantisse, Vorzeichen des Exponenten, Exponent
Nennen Sie die größte negative Zahl, die man im Zweierkomplement mit einem 23-Bit-Wort
darstellen kann.
-(2^22-1)
Verschiebeabläufe eignen sich bekanntermaßen zum schnellen Rechnen mit Zweierpotenzen.
Linksschieben um n Bits entspricht dem Multiplizieren mit 2n, Rechtsschieben dem Dividieren
durch 2n. Erläutern Sie kurz, in welchem Fall das Rechtsschieben nicht als Divisionsersatz
verwendet werden kann.
Wenn die Zahl Negativ ist. wird sie bei einer Division durch 2n positiv und das
ist ein Fehler.
In einer Anzeige wird groß herausgestellt, daß ein neuer Prozessor wirklich 1 MIPS/MHz
leistet. Was besagt das?
Es werden pro MHz 1 Million Instruktionen pro Sekunde ausgeführt.
Erklären Sie kurz die Bedeutung des Fachbegriffes VLIW.
VLIW = Very Long Instruction Word
Mehrere Befehle auf einmal, steht Hardware zur Verfügung, können mehrere Befehle auf einmal geholt werden und parallel ausgeführt werden. Diese Bündel stell so etwas ähnliches wie einen horizontalen Mikrobefehl dar. Ein Befehl kann alle gleichzeitig ausführbaren Befehle enthalten und sieht aus wie ein extrem breiter RSIC Befehl (größer 128 Bit)
Wodurch ist ein “vertikales” Mikrobefehlsformat gekennzeichnet?
Sequentieller Ablauf, Befehle werden einzeln dargestellt und ausgeführt.
Wodurch ist ein “horizontales” Mikrobefehlsformat gekennzeichnet?
Mehrere RISC Befehle werden zu einem Operationsbefehl, der 128 oder auch mehr Bit breit sein kann, aneinandergereiht. Diese Bündel kann parallel verarbeitet werden.
Erklären Sie kurz den wesentlichen Unterschied zwischen einer Superskalarmaschine (wie Pentium 4, Athlon usw.) und einer VLIW-Maschine.
Erklären Sie kurz das Adressierungsprinzip “Basis + Displacement” (was wird adressiert, wie
wird die Adresse berechnet?). Weshalb ist dieses Prinzip so wichtig?
Relativadressierung, Realisierung von Array und Records auch die Lineare
Auflösung der AS-Adresse ist damit möglich.
In vielen Programmen kommen bestimmte Abläufe immer wieder vor. Um sich beim
Programmieren Erleichterung zu verschaffen, gibt es bekanntermaßen zwei Möglichkeiten:
a) wir schreiben einen solchen Ablauf als Unterprogramm,
b) wir schreiben einen solchen Ablauf nur einmal und fügen dieses Stück Quelltext immer dort
ein, wo wir es benötigen (Inline-Code).
Erläutern Sie kurz die Vor- und Nachteile beider Alternativen.
Unterprogramm: Vorteile: kürzerer Programmcode, Nachteil: Rücksprungadresse muss gespeichert werden, dadurch etwas langsamere Programmausführung.
Inline-Code: Vorteil: Schnellere Programmausführung durch direkte Ausführung, Nachteil: Programmcode wird länger, da die Funktionen mehrfach im Code stehen.
Nennen Sie drei Alternativen der Adressrettung beim Unterprogrammruf. Erläutern Sie dabei kurz (Stichworte) die jeweiligen Vor- und Nachteile.
Stack:
Register:
in besonders vereinbarten Speicherzellen:
im Programm selbst
Beschreiben Sie kurz das Prinzip der Mikroprogrammsteuerung.
Befehlswirkung wird erbracht indem die Angaben des Befehls von einem weiteren Programm (dem Mikroprogramm) interpretiert werden. diese beruht auf Mikrobefehlen, die in Formatgestaltung und Wirkungsweise an die zu steuernde Hardware angepasst sind. Die
Ausführung wird direkt gesteuert. Grundlage ist der Mikroprogramm-Steuerspeicher, welcher als ROM ausgebildet ist. Aktuelle Befehle werden aus diesem Speicher in den Mikrobefehlsregister geladen, dieses Register wirkt auf die zu steuernde Hardware.
Nennen und erläutern Sie einen wichtige Ursache dafür, daß Windows 3.x, 95, 98, Me öfter
abstürzt als Windows NT und dessen Nachfolger.
Protectedmode, Virtuelle Speicherverwaltung
Denksportaufgabe: Alle eingeführten Architekturen sehen Befehle vor, die Operanden in Form
von Direktwerten enthalten. Nun wissen wir, daß man eigentlich darauf verzichten könnte - man kann schließlich diese Werte auch als Konstanten im Speicher halten und über die entsprechenden Aressen darauf zugreifen. Beispiel:
1) Variante mit Direktwert: LOAD Register 1, 23456
2) Variante ohne Direktwert: DEMO_WERT: DC 23456 -- Definition einer
Konstanten LOAD Register 1, DEMO_WERT
a) es gibt zwei handgreiflich-technische Vorteile des Direktwertprinzips. Nennen Sie diese.
b) aber auch die Variante ohne Direktwert hat zwei Vorteile. Welche sind das?
????????
Erläutern Sie kurz die wesentlichen Unterschiede zwischen der herkömmlichen
Verktorverarbeitung (in Supercomputern, Mainframes usw.) und der Vektorverarbeitung in
Prozessoren des PC-Bereichs (Intel, AMD, aber auch PowerPC).
????????
Gelegentlich sind Prozessoren in Mode, die sehr große Registersätze haben (soll heißen: deutlich mehr als 32 Universalregister).
a) hat so eine Auslegung auch Nachteile? (Ggf. kurz erläutern.)
b) erläutern Sie weiterhin eine typische - von der Architektur zu unterstützende - Nutzungsweise eines so großen Registersatzes (Hinweis: denken Sie an die Architekturen SPARC und IA-64).
?????????
Es geht um die Architektur IA-64. Weshalb muß das Prädikatregisterfeld im Befehl auf 0 gesetzt werden, wenn der Befehl unbedingt ausgeführt werden soll?
?????????
Nennen Sie die typischen Phasen des Befehlsablaufs (eines Operationsbefehls).
????????
Erläutern Sie kurz (ggf. anhand einer Skizze), wie homogene Datenstrukturen (Arrays) nach
dem Adreßrechenprinzip Basis + Displacement adressiert werden können. Wir beziehen uns
hierbei auf die Architektur IA-32.
a) der Einsatz von Basis + Displacement für derartige Zugriffe ist im Grunde ein
Programmiertrick. Welchen Vorteil hat dieser Trick? (Denken Sie dabei an die
Eigentümlichkeiten der IA-32-Architektur.)
b) der Trick hat aber auch Nachteile. Erläutern Sie kurz jenen Nachteil, der durch die
Eigentümlichkeiten der IA-32-Befehlsformate bedingt ist.
????????
In einer neuartigen Rechnerarchitektur hat die effektive Adresse eine Länge von 43 Bits
(Byteadressierung). Hierfür ist ein virtueller Speicher nach dem Prinzip der Seitenverwaltung
zu implementieren. Die physische Adresse soll ebenfalls 43 Bits lang sein. Die Datenstrukturen
der Adreßumsetzung werden im Prozessor über ein Zeigerregister ATP (Address Translation
Pointer) adressiert. Die Seitengröße: 8 kBytes. Entwerfen Sie das Schema der Adreßumsetzung
über eine mehrstufige Tabellenstruktur. Verwenden Sie bitte*) folgende Begriffe: Seitentabelle,
Seitentabellenverzeichnis 1. Ordnung, Seitentabellenverzeichnis 2. Ordnung usw.
*): um das Korrigieren zu erleichtern...
Die Aufgabe sollte schrittweise angegangen werden. (Alle Teillösungen werden bewertet.)
a) wie sieht die integrale 43-Bit-Adresse einer solchen Seite aus?
b) diskutierten Sie kurz, ob wir mit Tabelleneinträgen von 32 Bits Länge auskommen.
c) nennen Sie kurz einen handgreiflichen Vorteil von 64 Bits langen Einträgen.
Im folgenden bleiben wir bei 64 Bits.
d) diskutieren Sie kurz, wie groß die einzelne Tabelle sein sollte.
e) wieviele Umsetzungsstufen brauchen wir?
f) stellen Sie das Umsetzungsschema zeichnerisch dar.
????????
Wieviele programmseitig zugängliche Register enthält eine echte (klassische) v.Neumann-
Maschine? Erläutern Sie kurz, wozu diese Register dienen und von welchen Befehlsarten sie
angesprochen werden. Stellen Sie eine solche Maschine im (einfachen) Blockschaltbild dar.
????????
Welche Angaben enthält ein typischer Seitentabelleneintrag? (Beschränken Sie sich bitte nicht darauf, eine einschlägige Abbildung aus den Unterlagen nur abzumalen - das gibt nicht viele Punkte. Wichtig ist vielmehr, wozu die einzelnen Angaben gut sind.)
????????
In einer Anzeige werden Speichermoduln PC133 und PC1600 angeboten. Erklären Sie kurz,
worum es sich jeweils handelt.
??????
Erläutern Sie eine typische Situation, in der es mit einer QWERTZ-Tastatur zu Schwierigkeiten kommen kann.
??????
Skizzieren Sie den Aufbau eines Stack Frame. Geben Sie dabei an, welche Adreßregister
erforderlich sind und wozu sie jeweils dienen.
??????
Es geht um die Architektur IA-64. Auf welchen Wert muß das Prädikatregisterfeld im Befehl
gesetzt werden, wenn der Befehl unbedingt ausgeführt werden soll?
??????
Im PC-Bereich gibt es 16-Bit-Programme und 32-Bit-Programme. Weshalb sind 32-Bit-
Programme - bei gleicher Funktion - deutlich länger als 16-Bit-Programme? (Obwohl es dem
Programm - also der Folge von Maschinenbefehlen - an sich gleichgültig sein kann, wieviele
Bits die zu verarbeitenden Daten haben. Bei anderen Architekturen werden die Programme
zwar auch etwas länger, aber bei weitem nicht in diesem Umfang.)
??????