Lösungen - Lehrstuhl für Rechnertechnik und Rechnerorganisation

Werbung
FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN
Lehrstuhl für Rechnertechnik und Rechnerorganisation
Prof. Dr. Arndt Bode
Einführung in die Rechnerarchitektur
Wintersemester 2016/2017
Lösungsvorschlag zur Einführung
21.10.2016
Darstellung ganzer Zahlen
Antworten zu den Fragen im Text
Boolsche Algebra
☞ Was heisst eigentlich analog“, diskret“, digital“ und binär“?
”
”
”
”
Analog: Kontinuierlich, stetig veränderbar, keine Rastung“.
”
Fast alle physikalischen Werte sind analog. Problem ist die Unterscheidbarkeit
durch Rauschen, thermische Einflüsse und andere Abweichungen.
Diskret: Es gibt einzelne Abstufungen.
Digital: Die Eigenschaft, nur diskrete Werte anzunehmen.
Binär: Zwei, sich gegenseitig auschließende Zustände (z. B. 0 und 1).
Dual: Stellenwertsystem mit 0 und 1 (für die Zahldarstellung).
☞ Welche anderen physikalischen Größen kennen Sie oder können Sie sich zur
Repräsentation der Werte 0 und 1 vorstellen?
Hier gibt es im Prinzip beliebig viele Möglichkeiten, solche Werte darzustellen, z. B.:
Stromstärke: Bei alten Fernschreibern war die sogenannte 20 mA-Stromschleife eine gängige
Variante der Datenübertragung, bei der die beiden logischen Werte Stromstärken von
+20 mA und −20 mA auf der Übertragungsleitung entsprachen.
Lichtintensität: Gerade bei Glasfaserleitungen oder auch bei Infrarotübertragungen werden
logische Werte über An/Aus von Lichtquellen definiert. Dabei werden diese allerdings
aus Störsicherheitsgründen und zur Rückgewinnung eines Zeichentaktes häufig noch mit
verschiedenen Codierungen versehen.
Frequenz: Ein typisches Beispiel hierfür sind althergebrachte Modems und Akustikkoppler,
bei denen die logischen Werte im einfachsten Fall durch zwei verschieden hohe Töne
verwirklicht werden.
1
☞ Wie sehen die Wahrheitstabellen für die einfachen unären und binären Operatoren NEG (Negation), UND und ODER aus?
e
e
e1
e2
e1 · e2
e1
e2
e1 + e2
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
Zahlsysteme
☞ Welches Merkmal macht den entscheidenden Unterschied des arabischen zum
römischen System der Zahldarstellung aus?
Der entscheidende Unterschied ist die Radixschreibweise. Während es für stellenwertbasierte Zahlsysteme einfache Algorithmen für die vier Grundrechenarten gibt, existieren derartige
Verfahren für das römische Zahlsystem nicht.
☞ Warum sind gerade diese Systeme in der Informatik gebräuchlich?
Die Basis 2 ist das natürliche“ Zahlsystem der Informatik, da die heutigen Rechnern zugrun”
deliegende Digitaltechnik auf der Unterscheidung zwischen zwei Zuständen beruht. Oktal- und
Hexadezimalsytem sind mnemotechnische Hilfsmittel, die die langen Folgen von Nullen und
Einsen des Binärsystems in eine für den Menschen besser lesbare Form bringen, wobei aber
zugleich eine sehr einfache Umrechnung vom bzw. ins binäre Format möglich ist.
☞ Was ist zum Fall B = 1 zu sagen?
Mit B = 1 lässt sich kein Zahlsystem nach der Radixschreibweise definieren.
☞ Vervollständigen Sie die nachfolgende Tabelle:
binär
oktal
dezimal
hexadezimal
11100002
10100002
1010000012
101010112
1608
1208
5018
2538
11210
8010
32110
17110
7016
5016
14116
AB16
2
Darstellung von Zahlen im Rechner
☞ Welcher Zahlenbereich kann mit einem 8 Bit breiten Zahlenformat dargestellt
werden?
Mit einem 8 Bit breiten Zahlformat können vorzeichenlose Zahlen im Bereich [010 ; 25510 ]
([0000 0000; 1111 1111]) dargestellt werden. Allgemein kann ein n Bit breites Format den Bereich
[0; 2n − 1] darstellen.
☞ Führen Sie folgende Operationen nach den bekannten Regeln für das Rechnen
”
auf dem Papier“ aus.
3210
---110
111
11
-----1101
6
+ 7
1
----13
6 x 7
----42
76543210
-------01111111
00110101
Bitposition
127
- 53
1
-----74
Operand 1
Operand 2
Übertrag
Ergebnis
-------01001010
Bitposition
Operand 1
Operand 2
Übertrag
Ergebnis
110 x 111
--------110
110
110
11
Übertrag
----101010
☞ Welchen logischen Verknüpfungen entsprechen die Elementaroperationen auf den
einzelnen Stellen bei der Addition (Summe und Übertrag)?
Die Elementaroperationen a <op> b:
Addition
Übertrag
a\b 0 1
Addition
Summe
a\b 0 1
0
0
1
0
0
0
1
1
0
1
0
1
exklusives oder (XOR)
logisches und (AND)
3
Negative Zahlen
Einer-Komplement
☞ Wie erkennt man am einfachsten, ob eine Zahl positiv oder negativ ist? Haben alle
Zahlen eine eindeutige Darstellung?
• Im Einer- wie im Zweierkomplement ist eine negative Zahl an einer 1 in der höchstwertigen
Bit-Position erkennbar.
• Während im Einerkomplement zwei Darstellungen der Null existieren (die positive“ 0000 00002
”
und die negative” 1111 11112 ), haben im Zweierkomplement alle Zahlen eine eindeutige Dar”
stellung.
Zweier-Komplement
☞ Berechnen Sie mit 9 Bit Stellenanzahl 256 − 38.
Im Zweierkomplement rechnet man immer modulo 2n , wenn n die Breite des Datenformats ist.
”
Beispiel:
+
−3810
25610
110110102
1000000002
21810
−3810
1110110102
110110102
tatsächliches Ergebnis
Ergebnis im Register
Vorzeichen, Übertrag und Überlauf
☞ Unter welchen Voraussetzungen kann es bei Addition und Subtraktion zum Überlauf
kommen?
Ein Überlauf tritt auf
• bei der Addition
– wenn beide Operanden positiv sind und das Ergebnis größer als 2n−1 − 1 ist
– wenn beide Operanden negativ sind und das Ergebnis kleiner als −2n−1 ist
• bei der Subtraktion
– wenn der 1. Operand positiv, der 2. Operand negativ und das Ergebnis größer als 2n−1 − 1
ist
– wenn der 1. Operand negativ, der 2. Operand positiv und das Ergebnis kleiner als −2n−1
ist
☞ Wie kann ein Überlauf anhand der Carrybits festgestellt werden?
Ein Überlauf liegt immer dann vor, wenn Carry-In (das für die höchstwertige Bitstelle benötigte
Übertragsbit) und Carry-Out (das aus der höchsten Stelle entstehende Übertragsbit) verschieden sind.
4
1000
1001
0111
-8
0110
1010
-7
7
-6
6
0101
1011
-5
5
1100 -4
4 0100
-3
3 0011
1101
-2
2
1110
0010
-1 0 1
1111
0001
0000
4
+ 7
1
11
-5
+
3210
0100
0111
1
1000
1001
0111
-8
0110
1010
-7
7
-6
6
0101
1011
-5
5
1100 -4
4 0100
-3
3 0011
1101
-2
2
1110
0010
-1 0 1
1111
0001
0000
Overflow: 1
Carry-In
Carry-Out
+
1011
7
1000
1001
0111
0110
1010
-7 -8 7
6
-6
0101
1011
5
-5
1100 -4
4 0100
-3
3 0011
1101
2
-2
1110
0010
-1 0 1
1111
0001
0000
-
2
7
3210
0010
- 0111
1111
-5
11011
4
3
+
3210
0100
0011
Overflow: 0
Carry-In
Carry-Out
0111
1000
1001
0111
0110
1010
-7 -8 7
6
-6
0101
1011
5
-5
1100 -4
4 0100
-3
3 0011
1101
2
-2
1110
0010
-1 0 1
1111
0001
0000
-2
+ -8
Overflow: 0
Carry-In
Carry-Out
-10
6
3210
1110
+ 1000
1
10110
Abbildung 1: Die Lösungen zu den Rechenbeispielen (1)
5
Overflow: 1
Carry-In
Carry-Out
1000
1001
0111
-8
0110
1010
-7
7
-6
6
0101
1011
-5
5
1100 -4
4 0100
-3
3 0011
1101
-2
2
1110
0010
-1 0 1
1111
0001
0000
-3
- 7
-10
6
-
3210
1101
0111
11
1000
1001
0111
-8
0110
1010
-7
7
-6
6
0101
1011
-5
5
1100 -4
4 0100
-3
3 0011
1101
-2
2
1110
0010
-1 0 1
1111
0001
0000
-8
+ 7
Overflow: 1
Carry-In
Carry-Out
0110
-1
1000
1001
0111
0110
1010
-7 -8 7
6
-6
0101
1011
5
-5
1100 -4
4 0100
-3
3 0011
1101
2
-2
1110
0010
-1 0 1
1111
0001
0000
-3
+ -3
3210
1101
+ 1101
11 1
-6
11010
+
3210
1000
0111
Overflow: 0
Carry-In
Carry-Out
1111
1000
1001
0111
0110
1010
-7 -8 7
6
-6
0101
1011
5
-5
1100 -4
4 0100
-3
3 0011
1101
2
-2
1110
0010
-1 0 1
1111
0001
0000
-2
- -8
Overflow: 0
Carry-In
Carry-Out
6
-
3210
1110
1000
0110
Abbildung 2: Die Lösungen zu den Rechenbeispielen (2)
6
Overflow: 0
Carry-In
Carry-Out
Herunterladen