1.¨Ubung - Informatik 4 - RWTH

Werbung
Rechnerstrukturen
Sommersemester 2003
1. Übung
Ausgabe
29.04.03
Abgabe
07.-09.05.03
Bei Fragen und Problemen können Sie uns per E-mail unter den folgenden Adressen erreichen:
Mesut Güneş [email protected]
Ralf Wienzek [email protected]
Daniel Keysers [email protected]
Aufgabe 1 (je 1 = 10 Punkte): Das von-Neumann-Rechnermodell
1946 wurde das von-Neumann-Rechnermodell vorgestellt, das die Rechnerarchitektur bis heute maßgeblich beeinflusst. Arbeiten Sie die grundlegenden Organisationsprinzipien und Besonderheiten dieses
Modells (ggf. anhand des siebten Kapitels (im Lehrbuch von Oberschelp/Vossen)) heraus, indem Sie
folgende Fragen möglichst prägnant und in eigenen Worten beantworten.
a) Mit dem von-Neumann-Rechnermodell wurde erstmalig das Konzept für einen echten general”
purpose Computer“ vorgeschlagen. Was ist darunter zu verstehen?
b) Programme sind auch nur Daten“ ist eine grundlegende und eng mit dem von-Neumann-Rech”
nermodell verbundene Sichtweise. Was ist darunter zu verstehen?
c) Das von-Neumann-Rechnermodell setzt sich aus drei Hauptbestandteilen zusammen. Welche
Bestandteile sind dies und welchem Zweck dienen sie?
d) Im von-Neumann-Rechnermodell ist der Datenprozessor ein Bestandteil der CPU. Welche Aufgaben werden von welchen Komponenten dieses Prozessors erfüllt?
e) Im von-Neumann-Rechnermodell ist der Befehlsprozessor ein Bestandteil der CPU. Welche Aufgaben werden von welchen Komponenten dieses Prozessors erfüllt?
f) Das von-Neumann-Rechnermodell unterscheidet zwischen Daten- und Adressbus. Warum macht
das Sinn? Es ergeben sich auch Zusammenhänge zwischen der Größe (in Bits) des MAR, des
MBR, des Speichers, einer Speicherzelle sowie der Speicherzellenanzahl. Welche?
g) Die Arbeitsweise eines von-Neumann-Rechners wird durch die Bezeichnung SISD allgemein charakterisiert. Welches Prinzip verbirgt sich hinter dieser Abkürzung?
h) Bahnbrechend neu am von-Neumann-Rechnermodell war das Konzept einer quasi universellen
Programmierbarkeit. Erörtern Sie in diesem Zusammenhang die Begriffe Maschinencode, Assemblersprachen sowie Ein- und Mehr-Adress-Befehle.
i) Charakteristisch für das von-Neumann-Rechnermodell ist ein Zwei-Phasen-Konzept der Befehlsverarbeitung. Welches Problem wird damit auf welche Weise gelöst?
j) Die Architektur eines klassischen von-Neumann-Rechners führte schon bald zu einem gewichtigen Problem, dem von-Neumannschen Flaschenhals“. Was ist darunter zu verstehen und wie
”
versuchte man später dieses Problem zunächst zu umgehen?
1
Rechnerstrukturen
Sommersemester 2003
Aufgabe 2 (5+5+5=15 Punkte): Pseudoassembler
Folgende Abbildung zeigt noch einmal die Struktur einer CPU und ihre Verbindung zum RAMSpeicher. Für eine Speicheradresse a bezeichne RAM[a] die zugehörige Speicherzelle bzw. deren Inhalt.
CPU
Datenprozessor
MR
L
Befehlsprozessor
Decodierer
Steuerwerk
A
ALU
IR
MBR
MAR
PC
Adressbus
Datenbus
RAM-Speicher
Adresse a
0 . . . 000000
0 . . . 000001
0 . . . 000010
0 . . . 000011
0 . . . 000100
0 . . . 000101
0 . . . 000110
0 . . . 000111
0 . . . 001000
0 . . . 001001
0 . . . 001010
0 . . . 001011
0 . . . 001100
0 . . . 001101
0 . . . 001110
0 . . . 001111
.
.
.
Inhalt RAM[a]
Zur Vereinfachung werden MR und L im Folgenden vernachlässigt: statt MR L A wird nur ein
Register Akku verwendet. Nehmen Sie an, dass diesem Rechner die in der folgenden Tabelle durch
ihre Operationscodes identifizierten Befehle/Operationen zur Verfügung stehen:
Operationscode
0
Wirkung(en) der Operation
PC ← PC + 1
1
RAM[RAM[PC + 1]] ← MBR
PC ← PC + 2
2
MBR ← RAM[RAM[PC + 1]]
PC ← PC + 2
3
MBR ← RAM[PC + 1]
PC ← PC + 2
4
MBR ← Akku
PC ← PC + 1
5
Akku ← MBR
PC ← PC + 1
6
Akku ← Akku + MBR
PC ← PC + 1
7
Akku ← Akku − MBR
PC ← PC + 1
8
Akku ← Akku ∗ MBR
PC ← PC + 1
9
Akku ← Akku ÷ MBR
PC ← PC + 1
10
11
PC ← RAM[PC + 1]
Falls Akku = 0:
Falls Akku =
6 0:
PC ← RAM[PC + 1]
PC ← PC + 2
Der Rechner kenne nur ganze Zahlen (keine Gleitkomma-Zahlen). Dementsprechend steht ÷ für die
ganzzahlige Division (z.B. 26 ÷ 7 = 3).
a) Beschreiben Sie, wozu die Operationen (mit dem Operationscode) 1, 2, 3, 10, 11 dienen.
2
Rechnerstrukturen
Sommersemester 2003
Im folgenden Speicher-Auszug“ sind neben die Dualzahlen (mit denen echte Rechner“ natürlich
”
”
arbeiten) auch die entsprechenden Dezimalzahlen (klein und in Klammern) geschrieben.
In Ihren Lösungen brauchen Sie aber nur Dezimalzahlen anzugeben.
Zur Vereinfachung sei angenommen, dass die
CPU hier bei jeder Befehlsverarbeitung nur die
folgenden Zuweisungen“ (in dieser Reihenfolge)
”
durchführt:
(0)
(1)
(2)
IR ← RAM[PC]
Wirkung(en) der Operation IR
( PC-Änderung zuletzt ! )
(3)
(4)
(5)
(6)
b) Protokollieren Sie den Inhalt der Register
Akku, MBR, IR und PC nach jeder Befehlsverarbeitung bis PC den Wert 25 enthält, wobei zu Anfang alle Register 0 enthalten und
der Speicher wie nebenstehend gefüllt ist.
c) Betrachten Sie nun den nebenstehenden Speicherinhalt von Adresse 0 bis Adresse 21 (einschließlich) und interpretieren Sie ihn als ein
Programm. Was wird durch dieses Programm
berechnet?
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
Adresse a
0 . . . 000000
0 . . . 000001
0 . . . 000010
0 . . . 000011
0 . . . 000100
0 . . . 000101
0 . . . 000110
0 . . . 000111
0 . . . 001000
0 . . . 001001
0 . . . 001010
0 . . . 001011
0 . . . 001100
0 . . . 001101
0 . . . 001110
0 . . . 001111
0 . . . 010000
0 . . . 010001
0 . . . 010010
0 . . . 010011
0 . . . 010100
0 . . . 010101
0 . . . 010110
0 . . . 010111
0 . . . 011000
..
.
Inhalt RAM[a]
0 . . . 00000010 (2)
0 . . . 00010110 (22)
0 . . . 00000101 (5)
0 . . . 00000010 (2)
0 . . . 00010111 (23)
0 . . . 00000111 (7)
0 . . . 00000100 (4)
0 . . . 00000001 (1)
0 . . . 00011000 (24)
0 . . . 00001011 (11)
0 . . . 00011001 (25)
0 . . . 00000011 (3)
0 . . . 01100100 (100)
0 . . . 00000101 (5)
0 . . . 00000010 (2)
0 . . . 00011000 (24)
0 . . . 00001001 (9)
0 . . . 00000100 (4)
0 . . . 00000001 (1)
0 . . . 00011000 (24)
0 . . . 00001010 (10)
0 . . . 00011001 (25)
0 . . . 00001011 (11)
0 . . . 00000100 (4)
0 . . . 00000000 (0)
..
.
Aufgabe 3 (5+5+5=15 Punkte): Zahlen und ihre Darstellung
In space travel,“ repeated Slartibartfast, all the numbers are awful.“ (Douglas Adams: Life, the
”
”
Universe and Everything, Kapitel 6)
a) Nachdem die Vogonen die Erde zerstört haben, muss das Planetenbauer-Team um Slartibartfast
unseren Planeten ein zweites Mal entwerfen. Gelangweilt denkt er sich ein neues Zeitsystem aus:
Ein Tag hat 42 Stunden, eine Stunde 18 Minuten, und eine Minute besteht aus 36 Sekunden.
Darüber hinaus bilden 36 Tage einen Monat, und 42 Monate ein Jahr. Eine typische Zeitangabe wäre also: 35.41.1999, 27:03:00 Uhr. Wenn man ausrechnen will, wie viele Sekunden seit
dem 00.00.0000 um 00:00:00 Uhr vergangen sind, kann man diese Zeitangabe als Darstellung
(1999, 41, 35, 27, 3, 0)Sl ∈ IN 0 × Σ42 × Σ36 × Σ42 × Σ18 × Σ36 (Jahr, Monat, Tag, Stunde, Minute,
Sekunde) interpretieren. Wir schreiben (...)Sl für Slartibartfast, in Anlehnung an die Schreibweise
(100110)2 für Darstellungen im Dualsystem.
P
Offensichtlich gibt es für Umrechnungen keine einfache Formel der Form z = 5i=0 zi bi , da hier
unterschiedliche Basen verwendet werden. Die Potenzen bi müssen also durch andere Faktoren
fi ∈ IN ersetzt werden. Wie müssen diese fi aussehen, damit für jedes Datum der Form
3
Rechnerstrukturen
Sommersemester 2003
(z5 , z4 , z3 , z2 , z1 , z0 ) = (Jahr, Monat, Tag, Stunde, Minute, Sekunde)
gilt, dass die Anzahl z der seit dem 0-Punkt vergangenen Sekunden gerade
z=
5
X
z i fi
i=0
beträgt? (Wir nehmen an, dass die Tage, Monate und Jahre ab 0 gezählt werden; es gibt also
z.B. die 42 Monate 0,1,2,...,41).
Wie viele Sekunden sind zur Zeit (0, 0, 1, 14, 3, 25)Sl , also am 01.00.0000 um 14:03:25 Uhr, vergangen?
b) Im Dezimalsystem (mit Basis b = 10) gelten folgende Sätze“:
”
• Eine Zahl ist genau dann durch 5 teilbar, wenn ihre letzte Ziffer 0 oder 5 ist.
• Eine Zahl ist genau dann gerade, wenn ihre letzte Ziffer gerade ist.
Warum gelten diese Sätze? (kein Beweis gefordert; nur eine kurze Begründung geben)
Suchen Sie nach einem Satz für Zahlen in b-adischer Darstellung für ein beliebiges b, so dass
die beiden oben angegebenenP
Sätze Spezialfälle davon sind. (Der Satz soll also die Form haben:
n−1
i
Sei b > 2 beliebig und z =
i=0 zi b mit zi ∈ {0, ..., b − 1} eine beliebige natürliche Zahl in
b-adischer Darstellung. Dann gilt für alle d ∈ {...}: z ist genau dann durch d teilbar, wenn ...
(?).)
Erklären Sie (wie oben), warum dieser allgemeinere Satz gilt.
c) Im Dezimalsystem (mit Basis b = 10) gilt folgender Satz:
Eine Zahl ist genau dann durch d ∈ {3, 9} teilbar, wenn ihre Quersumme durch d teilbar ist.
Warum gilt dieser Satz? (kein Beweis gefordert; nur eine kurze Begründung geben)
Suchen Sie nach einem Satz für Zahlen in b-adischer Darstellung für ein beliebiges b, so dass der
oben angegebenenP
Satz ein Spezialfall davon ist. (Der Satz soll also die Form haben: Sei b > 2
i
beliebig und z = n−1
i=0 zi b mit zi ∈ {0, ..., b − 1} eine beliebige natürliche Zahl in b-adischer
Darstellung. Dann gilt für alle d ∈ {...}: z ist genau dann durch d teilbar, wenn die Quersumme
von z durch d teilbar ist.)
Erklären Sie (wie oben), warum dieser allgemeiner Satz gilt. Für welche Zahlen gilt die Quer”
summenregel“ auch im Hexadezimalsystem?
Arthur listened for a short while, but being unable to understand the vast majority of what Ford was
saying he began to let his mind wander, trailing his fingers along the edge of an incomprehensible
computer bank, he reached out and pressed an invitingly large red button on a nearby panel. The panel
lit up with the words “Please do not press this button again.” (Douglas Adams, The Hitchhiker’s Guide
to the Galaxy)
4
Herunterladen