Vous êtes sur la page 1sur 3

10.

a) 7 Befehle mit einer 5-bit Registernummer und einer 24-bit Adresse:


- 3 Bits für Befehlscodierung
- 5 Bit Registernummer
- 24 Bit Adresse

b) 500 Befehle mit zwei 5-bit Registernummern und einem Adressoffset:


- in a) ungenutztes 3 Bit-Befehlswort
- 9 Bits für 500 Befehle
- 5 Bit Registernummer
- 5 Bit Registernummer
- 10 Bit für Adressoffset

c) 50 Befehle ohne Adressen oder Registerangaben:


- eines der in b) ungenutzten 12 Bit-Befehlswörter
- 6 Bits für 50 Befehle
- 14 Don't Cares

10.2

a) imm8 = 167
rot = 0

b) nicht darstellbar, da ungerade. Eine Zahl > 255 muss durch 4 teilbar sein, um darstellbar zu
sein. (Notwendiges Kriterium)

c) Nicht darstellbar, da um den Exponenten von 2^23 gerade zu machen die 2 nicht
rausgezogen werden kann, da 147*2 > 255

d) imm8 = 160
rot = 12

e) imm8 = 74
rot = 7
10.3 a)
0-Adress-Maschine:
push E
push F
mul
push D
sub
push B
push C
mul
push A
add
div
pop W

1-Adress-Maschine:
load E
mul F
store W
load D
sub W
store W
load B
mul C
add A
div W
store W

2-Adress-Maschine:
mov W, B
mul W, C
add W, A
mov T, E
mul T, F
mov H, D
sub H, T
div W, H

3-Adress-Maschine:
load R0, A
load R1, B
load R2, C
load R3, D
load R4, E
load R5, F
mul R1, R1, R2
add R1, R0, R1
mul R4, R4, R5
sub R3, R3, R4
div R6, R1, R3
store W, R6
b)
0-Adress-Maschine:
12 Opcodes + 7 Speicheradresse (push, pop)
= 12 * 8 Bit + 7 * 16 Bit
= 208 Bit

1-Adress-Maschine:
11 Opcodes + 11 Speicheradresse
= 11 * 8 + 11 * 16
= 264 Bit

2-Adress-Maschine:
8 Opcodes + 2 * 8 Speicheradressen
= 8 * 8 Bit + 16 * 16 Bit
= 320 Bit

3-Adress-Maschine:
12 Opcodes + 22 Registernummern + 7 Speicheradressen
= 12 * 8 Bit + 22 * 4 Bit + 7 * 16 Bit
= 296 Bit

Die 0-Adress-Maschine hat die kompakteste Codierung für dieses Programm.

10.4
siehe 104.png

Vous aimerez peut-être aussi