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
Vorzeichenweiterung auf die jeweilige Verarbeitungsbreite gebracht werden. Dabei wird das höchstwertige Bit der betreffenden Zahl als Vorzeichen interpretiert. Ist beispielsweise die Zahl 1 Byte lang, so werden alle Werte von 128 an (> 127) als negative Zahlen aufgefaßt.

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
8 = 256 Farbwerte codieren).

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:
& unter DOS: die Datei CONFIG.SYS,
& unter Windows (ab 95): Systemsteuerung - Tastatur - Sprache.

Die dargestellten Verwechslungen haben ihre Ursache darin, daß die Tastatur irrtümlich auf die französische Sprache eingestellt wurde (falscher Landescode in der COUNTRY-Anweisung oder falsche Sprachauswahl in der Systemsteuerung).

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.
der Prozessorbus,
das Arbeitsspeicher-Interface (Speicherbus),
der (1.) PCI-Bus,
ggf. das AGP-Interface.

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

Woran erkennen Sie, ob es sich um 5-V-PCI oder um 3,3-V-PCI handelt? (Die Frage betrifft sowohl Slots auf Motherboards als auch Steckkarten.)
An der Lage der Kerbe im Steckverbinder der Karte oder an der Lage der Sperre im Steckverbinder des Motherboards. 3,3 V: Kerbe/Sperre hinten (der PC-Rückseite bzw. dem Slot-Abdeckblech zugewandt); 5 V: Kerbe/Sperre vorn.

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:

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:
funktioniert auch ohne Unterstützung seitens der Hardware,
Schutz-, Zugangs- und Nutzungsrechte lassen sich feinstufig zuteilen.
Nachteile:
Aufteilung in Segmente muß vom Anwendungsprogrammierer geleistet werden,
Problem der Speicherbelegung, da die Segmente unterschiedlich lang sind (Auffinden freien Speicherplatzes, Auslagerung, Garbage Collection).
Was nützlich wäre:
Die Unterstützung der Anwesenheitsangabe (Presence Bit), so daß ein Zugriff auf einen Segmentdescriptor mit gelöschtem Presence Bit eine Programmausnahme wirksam wird.

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...):

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).
????????

Beschreiben Sie stichwortartig den grundsätzlichen Ablauf eines Unterprogrammrufs.
????????

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.)
??????