q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x initialisieren,

Größe: px
Ab Seite anzeigen:

Download "q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x initialisieren,"

Transkript

1 6.4 MMIX-Programme 251 q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x initialisieren, an dieser Speicheradresse ein Bit breites Datenwort anlegen, das mit 4 initialisiert wird und über die Marke N angesprochen werden kann, an den darauffolgenden Speicheradressen zwei 4-dimensionale Vektoren wie folgt anlegen: Der erste Vektor soll über ADR_A1 ansprechbar sein und mit den Bit-Zahlen [1, 2, 3, 4] initialisert werden; der zweite Vektor soll über ADR_A2 ansprechbar sein und mit den Bit-Zahlen [10, 20, 30, 40] initialisiert werden. LOL # N OCTA 4 ADR - A1 OCTA ,4 ADR - AZ OCTA 10 OCTA 20 OCFA 30 OCTA 40

2 252 6 MMIX-Prozessor T r) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x initialisieren, an dieser Speicheradresse ein Bit breites Datenwort anlegen, das mit der Marke Erg angesprochen werden kann, an den darauffolgenden Speicheradressen zwei 3-dimensionale Vektoren wie folgt anlegen: Der erste Vektor soll über V1 ansprechbar sein und mit den 32 Bit-Zahlen [100, 200, 300] initialisert werden; der zweite Vektor soll über V2 ansprechbar sein und mit den 32 Bit-Zahlen [10, 20, 30] initialisiert werden.

3 6.4 MMIX-Programme 253 Übersetzungsprozess Nachfolgende Abbildung zeigt den Übersetzungsprozess, mit dem MMIX-Quelldateien in MMIX-Objektdateien umgewandelt werden um anschließend vom MMIX-Simulator ausgeführt werden zu können. Quelldatei *.mms LOC Data_Segment A OCTA 3 a IS $1 LOC #100 Main LDO a,a ADD a,a,8 STO a,a mmixal *.mms Assembler (Präprozessor) LOC Data_Segment A OCTA 3 a IS $1 LOC #100 Main LDO $1,$254,0 ADD $1,$1,8 STO $1,$254,0 Assembler Binärdatei *.mmo xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxx 8D01FE AD01FE00 xxxxxxxxxxxxxxxxxxxxxxxx Loader-Anweisungen MMIX-Befehle Symboltabelle mmix -i *.mmo MMIX-Simulator MMIX-Quelldateien werden mit einem Texteditor erstellt. Die Quelldateien haben die Endung mms (MMIX source). Mit einem Aufruf des Assemblierungsprogramms mmixal

4 254 6 MMIX-Prozessor werden die Quelldateien in Objektdateien übersetzt. Der Assembler verarbeitet zunächst die Assembler-Anweisungen (z.b. IS-Befehle) mit einem Präprozessor und löst Namen und Marken auf. Anschließend übersetzt er die MMIX-Befehle (mit den aufgelösten Marken) in entsprechende Binärwerte. Die durch Namen und Marken gegebenen Anweisungen sind somit implizit in den MMIX-Befehlen enthalten (Nummer des Registers, Speicheradresse,...). Aus den Sprung-Marken erstellt der Assembler eine Symboltabelle, in der für jedes vorkommende Symbol die entsprechende Adresse eingetragen wird. Auf diese Weise kann z.b. der Loader über die Symboltabelle die Adresse der Marke Main ermitteln und zum Programmstart an diese Adresse verzweigen. Befehlswort Das Befehlswort beim MMIX ist für alle Befehle 32 Bit breit, d.h. die Länge des Befehlsworts (in Byte) ist konstant. Dies ist ein typisches Merkmal für RISC-Prozessoren. Durch die konstante Befehlswortbreite ist es sehr einfach, Befehle im Voraus aus dem Befehlsspeicher zu laden: Da alle Befehle vier Byte breit sind, können durch Laden der nächsten 4 n Byte die nächsten n Befehle aus dem Speicher geladen werden. Bei CISC-Prozessoren ist die Länge des Befehlsworts nicht konstant sondern abhängig vom jeweiligen Befehl. Bei x86 sind Befehlsworte beispielsweise zwischen 1 und 15 Byte lang. Beim MMIX gliedert sich das 32 Bit breite Befehlswort in vier Byte, die Opcode, X, Y und Z genannt werden OP X Y Z $0 = Der Opcode ist eine 8 Bit breite Zahl die festlegt, um welchen Befehl es sich handelt (Addieren, Subtrahieren,...). Die Zuordnung Opcode $ Befehl wird durch eine Tabelle (s.u.) spezifiziert. X ist (bis auf Speicherbefehle) der Ziel-Operand, d.h. eine 8 Bit breite Zahl, die festlegt, in welches Register (0 bis 255 bei Allzweckregistern bzw. 0 bis 31 bei Spezialregistern) das Ergebnis der Operation abgelegt werden soll. Die Codierung von X entspricht der Registernummer, d.h. Register 1 wird als X = =0x01 codiert. Y und Z sind die Quelloperanden, d.h. zwei 8 Bit breite Zahlen, die festlegen, in welchen Registern die Quelloperanden stehen. Die Codierung entspricht der von X. > 0 00 $ 255=3 OXFF

5 6.4 MMIX-Programme 255 Spezialregister werden im Befehlswort wie folgt codiert: x S(x) x S(x) x S(x) x S(x) 0x00 rb 0x08 rc 0x10 rq 0x18 rw 0x01 rd 0x09 rn 0x11 ru 0x19 rx 0x02 re 0x0A ro 0x12 rv 0x1A ry 0x03 rh 0x0B rs 0x13 rg 0x1B rz 0x04 rj 0x0C ri 0x14 rl 0x1C rww 0x05 rm 0x0D rt 0x15 ra 0x1D rxx 0x06 rr 0x0E rtt 0x16 rf 0x1E ryy 0x07 rbb 0x0F rk 0x17 rp 0x1F rzz Viele MMIX-Befehle verwenden sog. Direktoperanden (engl. immediate operands), d.h. Operanden, die direkt im Befehlswort stehen. Beim MMIX sind folgende Direktoperanden möglich: Z: Die Bits des Befehlsworts enthalten eine 8 Bit breite Zahl. Y: Die Bits des Befehlsworts enthalten eine 8 Bit breite Zahl. YZ: Die Bits des Befehlsworts enthalten eine 16 Bit breite Zahl. XYZ: Die Bits des Befehlsworts enthalten eine 24 Bit breite Zahl.

6 256 6 MMIX-Prozessor Nachfolgende Tabelle übersetzt MMIX-Opcodes in diejenigen Zahlen, die im Befehlswort in den Bits abgelegt werden müssen.!! 0x0.. 0x1.. 0x2.. 0x3.. 0x4.. 0x5.. 0x6.. 0x7.. 0x8.. 0x9.. 0xA.. 0xB.. 0xC.. 0xD.. 0xE.. 0xF.. I = im mediale = Direkt µ 0x..0 0x..1 0x..2 0x..3 0x..4 0x..5 0x..6 0x..7 TRAP 5ν FCMP ν FUN ν FEQL ν FADD 4ν FIX 4ν FSUB 4ν FIXU 4ν FLOT[I] 4ν FLOTU[I] 4ν SFLOT[I] 4ν SFLOTU[I] 4ν FMUL 4ν FCMPE 4ν FUNE ν FEQLE 4ν FDIV 40ν FSQRT 40ν FREM 4ν FINT 4ν MUL[I] 10ν MULU[I] 10ν DIV[I] 60ν DIVU[I] 60ν ADD[I] ν ADDU[I] ν SUB[I] ν SUBU[I] ν 2ADDU[I] ν CMP[I] ν SL[I] ν BN[B] ν+π BNN[B] ν+π PBN[B] 3ν-π PBNN[B] 3ν-π CSN[I] ν 4ADDU[I] ν CMPU[I] ν SLU[I] ν BZ[B] ν+π BNZ[B] ν+π PBZ[B] 3ν-π PBNZ[B] 3ν-π CSZ[I] ν 8ADDU[I] ν NEG[I] ν SR[I] ν BP[B] ν+π BNP[B] ν+π PBP[B] 3ν-π PBNP[B] 3ν-π CSP[I] ν 16ADDU[I] ν NEGU[I] ν SRU[I]ν BOD[B] ν+π BEV[B] ν+π PBOD[B] 3ν-π PBEV[B] 3ν-π CSOD[I] ν CSNN[I] ν ZSN[I] ν CSNZ[I] ν ZSZ[I] ν CSNP[I] ν ZSP[I] ν CSEV[I] ν ZSOD[I] ν ZSNN[I] ν ZSNZ[I] ν ZSNP[I] ν ZSEV[I] ν LDB[I] µ+ν LDBU[I] µ+ν LDW[I] µ+ν LDWU[I] µ+ν LDT[I] µ+ν LDTU[I] µ+ν LDO[I] µ+ν LDOU[I] µ+ν LDSF[I] µ+ν LDHT[I] µ+ν CSWAP[I] 2µ+2ν LDUNC[I] µ+ν LDVTS[I] ν PRELD[I] ν PREGO[I] ν GO[I] 3ν STB[I] µ+ν STBU[I] µ+ν STW[I] µ+ν STWU[I] µ+ν STT[I] µ+ν STTU[I] µ+ν STO[I] µ+ν STOU[I] µ+ν STSF[I] µ+ν STHT[I] µ+ν STCO[I] µ+ν STUNC[I] µ+ν SYNCD[I] ν PREST[I] ν SYNCID[I] ν PUSHGO[I] 3ν OR[I] ν ORN[I] ν NOR[I] ν XOR[I] ν AND[I] ν ANDN[I] ν NAND[I] ν NXOR[I] ν BDIF[I] ν WDIF[I] ν TDIF[I] ν ODIF[I] ν MUX[I] ν SADD[I] ν MOR[I] ν MXOR[I] ν SETH ν SETMH ν SETML ν SETL ν INCH ν INCHM ν INCML ν INCL ν ORH ν ORMH ν ORML ν ORL ν ANDNH ν ANDNMH ν ANDNML ν ANDNL ν JMP[B] ν PUSHJ[B] ν GETA[B] ν PUT[I] ν POP 3ν RESUME 5ν [UN]SAVE 20µ+ν SYNC ν SWYM ν GET ν TRIP 5ν 0x..8 0x..9 0x..A 0x..B 0x..C 0x..D 0x..E 0x..F 0x0.. 0x1.. 0x2.. 0x3.. 0x4.. 0x5.. 0x6.. 0x7.. 0x8.. 0x9.. 0xA.. 0xB.. 0xC.. 0xD.. 0xE.. 0xF..! operand Die Übersetzung erfolgt folgendermaßen: Befehl suchen Doppelzeile ermitteln, in der der Befehl steht An der Seite der Tabelle das obere Nibble (= die oberen 4 Bits) des Opcodes ablesen, z.b. ADD ) 0x2 Prüfen, ob der Befehl im oberen oder im unteren Teil der Doppelzeile steht Steht der Befehl im oberen Teil der Doppelzeile, kann man das untere Nibble (= die unteren 4 Bits) des Opcodes an der ersten Tabellenzeile ablesen, z.b. ADD ) 0x..0 oder 0x..1 Steht der Befehl im unteren Teil der Doppelzeile, kann man das

7 6.4 MMIX-Programme 257 untere Nibble (=die unteren 4 Bits) des Opcodes an der untersten Tabellenzeile ablesen, z.b. 2ADDU ) 0x..8 oder 0x..9 Anschließend muss nur noch unterschieden werden, ob es sich um die linke oder die rechte Variante des Befehls handelt, beispielsweise ob man in der oberen Zeile 0x..0 oder 0x..1 auswählen muss oder ob man in der unteren Zeile 0x..8 oder 0x..9 auswählen muss. Dazu wird der in der Tabelle nach dem Befehlsnamen in Klammern stehende Buchstabe verwendet; I bedeutet immediate, d.h. Direktoperand; Beispiel: Bei ADD $1,$2,$3 wird ADD mit 0x20 codiert, bei ADD $1,$2,3 mit 0x21 B bedeutet backward, d.h. Rückwärtssprung; erhöht sich bei einem Sprung die Adresse, wird der linke Zahlenwert verwendet (Vorwärts- Sprung); verringert sich bei einem Sprung die Adresse, wird der rechte Zahlenwert verwendet (Rückwerts-Sprung) Aus der Tabelle lassen sich auch die von Donald Knuth für den MMIX-Simulator spezifizierten Ausführungszeiten ermitteln: entspricht der Dauer von 1 Takt µ ist die Anzahl der Takte für einen Speicherzugriff bedeutet 2, wenn gesprungen wird, und 0, wenn nicht gesprungen wird.

8 258 6 MMIX-Prozessor Aufgaben T a) Wie breit (in Bit) ist das MMIX Befehlswort? T b) Skizzieren Sie das MMIX Befehlswort und geben Sie den Inhalt jedes Bytes an. T c) In welchen Byte des Befehlsworts wird im Allgemeinen Information über die Quelloperanden bzw. über die Zieloperanden abgespeichert? T d) Was ist ein Direktoperand? e) Wieviele Taktzyklen benötigen die meisten Befehlen zur Ausführung? v = > 1 Takt f) Welcher Befehl benötigt die längste Zeit zur Ausführung, wenn man von Speicherbefehlen absieht? D Iv : 60 Takte g) Wieviele Takte benötigt der BZ-Befehl, wenn gesprungen wird? v + T = 3 Takte sprung : statt! am

9 6.4 MMIX-Programme 259 h) Wieviele Takte benötigt der BZ-Befehl, wenn nicht gesprungen wird? v + IT = 1 Takt i) Wieviele Takte benötigt der PBZ-Befehl, wenn gesprungen wird? Jv - Ötakte j) Wieviele Takte benötigt der PBZ-Befehl, wenn nicht gesprungen wird? ] - 1 Takt Y= = Ov 3 Takte ZU k) Geben Sie das 32 Bit breite Befehlswort des Befehls SL $1,$2,3 an. oxsäoiios SL $1,42, $3 T l) Geben Sie das 32 Bit breite Befehlswort des Befehls SUB $5,$6,7 an.!

10 260 6 MMIX-Prozessor 6.5 MMIX Befehle Definitionen Wort w b ist ein Wort der Länge b Byte. wx b repräsentiert Bit Nr. x im Datenwort w b, wobei das niederwertigste Bit in w b an Bitposition x =0liegt. wx...y b meint Bits x...y des Datenworts w b. Befehlswort Sei ein 32 Bit breites MMIX Befehlswort. X = Y = Z = YZ = XY = XYZ = Allzweckregister Der MMIX-Prozessor verfügt über 256 Allzweckregister, die mit 0, 1, durchnummeriert werden. Zur Adressierung eines Allzweckregisters im Befehlswort wird die als vorzeichenlose 8 Bit breite Zahl codierte Registernummer verwendet. Beispiel: Register 5 wird als 0x05 bzw. als Bitkombination codiert. $x, 0 apple x apple 255 entspricht der Bitkombination, die in Register x gespeichert ist. $X ist die Bitkombination, die in dem durch Bits des Befehlsworts adressierten Register gespeichert ist. Beispiel: Befehlswort ist 0x ; Bits extrahieren ) 0x34 (= Bitkombination ) = Dezimal 52 ) Im Falle des Befehlsworts 0x meint $X den Wert, der in Register 52 gespeichert ist. $Y ist die Bitkombination, die in dem durch Bits des Befehlsworts adressierten Register gespeichert ist. $Z ist die Bitkombination, die in dem durch Bits des Befehlsworts adressierten Register gespeichert ist.

11 6.5 MMIX Befehle 261 Arbeitsspeicher M ist der Arbeitsspeicher des MMIX Prozessors (M = memory). - _.. M 1 [x] ist das an Adresse x gespeicherte Byte. XX 0 M 2 [x] ist das an Adresse x &( 2) gespeicherte Wyde. O löschen LSB ~ M 4 [x] ist das an Adresse x &( 4) gespeicherte Tetra. M 8 [x] ist das an Adresse x &( 8) gespeicherte Octa. Die Symbole, X, Y, Z, $X, $Y, $Z, $0, $1,..., M 1 [...], M 2 [...],... repräsentieren Bitmuster. Ein Zahlenwert entsteht erst durch entsprechende Interpretation des Bitmusters (z.b. vorzeichenlose Festkommazahl,...). XX - & 11-n-n.MX wg -.. XXX. Alignment Befehlszähler Beim MMIX bedeutet das the place where we are at und meint eine Adresse im Speicher. Beim Loader bezieht auf die Adresse, an der ein Daten- oder Befehlsworte im Speicher abgelegt werden soll. In Bezug auf die Befehlsausführung die Adresse des Befehls, der gerade ausgeführt wird, also den Befehlszähler BZ (oder PC für engl. program counter).

12 262 6 MMIX-Prozessor Operationen x y: Weise x den Wert y zu x, y: Ausdruck x ist äquivalent zum Ausdruck y x ) y: Wenn x, dann y x y: Logische operation x ODER y x = y: Vergleich ob x den gleichen Wert hat wie y; liefert wahr (d.h. 1), wenn x den selben Wert hat wie y, sonst falsch (d.h. 0) x y: Schiebe x um y Stellen nach links; fülle frei werdende Bitstellen mit 0 auf x u y: Schiebe x um y Bitstellen nach rechts; fülle frei werdende Bitstellen mit 0 auf x s y: Schiebe x um y Bitstellen nach rechts; fülle frei werdende Bitstellen mit dem Wert des Vorzeichenbits (MSB) auf. x % y: Rest der Festkomma-Division x/y. x: Invertiere alle Bits von x, d.h. berechne das 1er-Komplement x & y: Bitweise UND-Verknüpfung von x und y x y: Bitweise ODER-Verknüpfung von x und y x y: Bitweise XOR-Verknüpfung von x und y Umwandlung Festkommazahl $ Gleitkommazahl f 32 (w 4 ): Nimmt an, dass das vier Byte breite Datenwort w 4 im 32 Bit IEEE 754 Gleitkommaformat codiert ist und gibt den entsprechenden Zahlenwert zurück (z.b. 1,75). f32 0 (x): Codiert die Zahl x als 32 Bit breite Gleitkommazahl und gibt das entsprechende 32 Bit breite Bitmuster zurück. f (w 8 ): Nimmt an, dass das acht Byte breite Datenwort w 8 im Bit IEEE 754 Gleitkommaformat codiert ist und gibt den entsprechenden Zahlenwert zurück (z.b. 1,75). f 0 (x): Codiert die Zahl x als Bit breite Gleitkommazahl und gibt das entsprechende Bit breite Bitmuster zurück. r(x): Rundet eine reelle Zahl gemäß dem in Register ra ausgewählten Rundungsmodus auf eine ganze Zahl.

13 6.5 MMIX Befehle 263 (De-) Codierung von Festkommazahlen s(w b ): Nimmt an, dass das b Byte breite Wort w b im 2er-Komplement codiert ist und gibt den entsprechenden Wert zurück (z.b. 1, 0, -3) u(w b ): Nimmt an, dass das b Byte breite Wort w b als vorzeichenlose Festkommazahl codiert ist und gibt den entsprechenden Wert zurück (z.b. 0, 1) sb 0 (x): Gibt das b Bit breite im 2er-Komplement codiert Bitmuster zurück das dem Wert x entspricht. ub 0 (x): Gibt das b Bit breite Bitmuster (vorzeichenlose Codierung) zurück das dem Wert x, x 0, entspricht. Zusammenfassen von in Registern gespeicherten Werten Wenn $X das Bit breite in Register X gespeicherte Bitmuster ist und $Y das Bit breite in Register Y gespeicherte Bitmuster ist, dann ist $X$Y das 128 Bit breite Bitmuster das aus der Aneinanderreihung der beiden Bitmuster $X und $Y entsteht. ($X$Y) = $X und ($X$Y) = $Y. Programm beenden TRAP 0,Halt,0 beendet ein MMIX-Programm und gibt die Kontrolle zurück an das Betriebssystem. Register-Register-Befehle Hardware Der MMIX ist eine Drei-Address- Register-Register-Maschine, d.h. er verarbeitet bis zu zwei individuell spezifizierbare Quell-Operanden zu einem Zieloperand, wobei alle Operanden in Registern stehen. Auf die durch Y und Z adressierten Operanden wird beim MMIX nur lesend zugegriffen. Auf X wird sowohl lesend als auch schreibend zugegriffen.

14 2 6 MMIX-Prozessor a) Vervollständigen Sie nachfolgende Schaltung des Registerblocks (engl. register file so, dass an den Ausgängen $X, $Y und $Z die durch X, Y und Z spezifizierten Register automatisch ausgegeben werden und das am Eingang $X anliegende Datenwort im Falle einer positiven Flanke am clk-eingang in das durch X spezifizierte Register übernommen wird. clk 0 1 $X $5 $X $ X 8 $1 0 1 $Y $ Y Z 8 $ $Z $1 8

15 6.5 MMIX Befehle 265 T b) Vervollständigen Sie nachfolgende Schaltung des Rechenwerks (= ALU = Arithmetic Logic Unit) so, dass mit der Steuerleitung op (operation) die Ergebnisse der verschiedenen integrierten Hardware-Schaltungen an den Ausgang durchgeschaltet werden können. a a >> u b b ADD a a << b FADD b a SUB a-b a a >> s b b a FSUB a-b b b MUL a a b b

16 MMIX-Prozessor c) Entwickeln Sie einen MMIX-Prozessor, der Register-Register-Befehle mit 8 Bit vorzeichenlosen Direktoperanden Z ausführen kann sowie vorzeichenlose 16 Bit Direktoperanden YZ in Register X ablegen kann Steuerung - Allzweck- Registerblock Adresse Befehls- Speicher Daten 32 / BZäiü $X $X X $2 23 $Y Y $3 v Z $Z o 63. 6/4 ALU OPIXIYIZ ADD 0 20/ ^ Arithmetische Befehle auf Festkommazahlen Befehl Operanden Name/Aktion Definition ADD $X,$Y,$Z $X,$Y,Z Add; signed, with overflow Add immediate; signed, with overflow $X s 0 (s($y)+s($z)) (s($y)+s($z) < 2 63 ) (s($y)+s($z) 2 63 ) ) ra ra u 0 (26 ) $X s 0 (s($y)+u(z)) (s($y)+u(z) < 2 63 ) (s($y)+u(z) 2 63 ) ) ra ra u 0 (26 ) ADDU $X,$Y,$Z Add unsigned; no overflow $X u 0 (u($y)+u($z))

17 6.5 MMIX Befehle 267 $X,$Y,Z Add unsigned; no overflow $X u 0 (u($y)+u(z)) SUB $X,$Y,$Z $X,$Y,Z Subtract; signed, with overflow Subtract immed.; signed, with ovf. $X s 0 (s($y) s($z)) (s($y) s($z) < 2 63 ) (s($y) s($z) 2 63 ) ) ra ra u 0 (26 ) $X s 0 (s($y) u(z)) (s($y) u(z) < 2 63 ) (s($y) u(z) 2 63 ) ) ra ra u 0 (26 ) SUBU NEG NEGU $X,$Y,$Z Subtract uns.; no ovf. $X u 0 (u($y) u($z)) $X,$Y,Z Subtract uns. immed.; no ovf. $X u 0 (u($y) u(z)) $X,Y,$Z Negate; signed, with overflow $X s 0 (u(y) s($z)) u(y) s($z) 2 63 ) ra ra u 0 (26 ) $X,Y,Z Negate immediate; signed $X s 0 (u(y) u(z)) $X,Y,$Z Negate unsigned; no overflow $X s 0 (u(y) s($z)) $X,Y,Z Negate unsigned immedidate $X s 0 (u(y) u(z)) $ 5=10 $X,$Y,$Z NEU $5,0, $5 MUL $X,$Y,Z Multiply; signed, with overflow Multiply immed.; signed, with ovf. $X s 0 (s($y) s($z)) (s($y) s($z) < 2 63 ) (s($y) s($z) 2 63 ) ) ra ra u 0 (26 ) $X s 0 (s($y) u(z)) (s($y) s($z) < 2 63 ) (s($y) s($z) 2 63 ) ) ra ra u 0 (26 ) MULU $X,$Y,$Z Mult. uns.; 128 bit result rh$x u128 0 (u($y) u($z)) $X,$Y,Z Mult. uns. imm.; 128 bit result rh$x u128 0 (u($y) u(z)) DIV $X,$Y,$Z $X,$Y,Z Divide; signed $X s 0 (bs($y)/s($z)c) (case $Z 6= 0) rr s 0 ( s($y)%s($z)) Divide signed $X u 0 (0) (case $Z = 0) rr $Y Divide immediate; signed $X s 0 (bs($y)/s(z)c) (case Z 6= 0) rr s 0 ( s($y)%u(z)) Divide immediate; signed $X u 0 (0)

18 268 6 MMIX-Prozessor (case Z = 0) rr $Y DIVU $X,$Y,$Z $X,$Y,Z Divide uns.; 128 bit $X u 0 ( bu(rd$y)/u($z)c ) case u($z) > u(rd) rr u 0 ( u(rd$y)%u($z)) Divide uns.; 128 bit dividend $X rd no ovf.; case u($z) apple u(rd) rr $Y Divide uns. immed.; 128 bit $X u 0 ( bu(rd$y)/u(z)c ) no overflow; case u(z) > u(rd) rr u 0 ( u(rd$y)%u(z)) Divide uns. immed.; 128 bit $X rd no ovf.; case u(z) apple u(rd) rr $Y Direktoperand in Register schreiben Befehl Operanden Name/Aktion Definition SETL $X,YZ Set to low wyde $X u 0 (u(yz)) Der Assembler akzeptiert statt SETL auch SET, um Direktoperanden in ein Register zu laden. Wird SET mit einem Register als zweiter Operand aufgerufen, wird der Befehl SET $X,$Y in den Befehl OR $X,$Y,0 übersetzt. T a) In welchem Wertebereich können die Direktoperanden bei den Arithmetischen Befehlen liegen? T b) Kann mit dem ADD Befehl 3+5in einer einzigen Codezeile berechnet werden? T c) Wie kann man 5 3 in einer einzigen Codezeile berechnen?

19 6.5 MMIX Befehle 269 T d) Was ist der Unterschied zwischen den Befehlen MUL und MULU? T e) Geben Sie die MMIX-Befehle an, mit denen Sie x = a 2 +2 a b + b 2 mit Festkommazahlen berechnen. Nehmen Sie an, dass die Register a, b, und c bereits initialiert wurden und das Ergebnis in Register x gespeichert werden soll. Benutzen Sie Register buf1, buf2,... für Zwischenergebnisse, falls notwendig.

20 270 6 MMIX-Prozessor Gegeben ist der folgende Programmcode: a IS $0 b IS $1 c IS $2 d IS $3 buf1 IS $4 buf2 IS $5 LOC #100 Main SETL b,1 SETL c,2 SETL d,3 f) Geben Sie MMIX-Befehle an, mit denen Sie a = c d b b+c+d berechnen. mit Festkommazahlen MUL butt, Cid SUB buft.bufl.to ADD but, b. c ADD buf2.by?ddiva,buf1ibuf2

21 6.5 MMIX Befehle 271 Umwandlung Gleitkommazahl $ Festkommazahl Befehl Operanden Name/Aktion Definition FLOT FLOTU $X,$Z Convert fixed to floating $X f 0 $X,Z Conv. fixed to float. imm. $X f 0 $X,$Z Conv. uns. fixed to floating $X f 0 $X,Z Conv. uns. fixed to float. $X f 0 imm. FIX $X,$Z Convert floating to fixed with overflow $X s 0 ( r( f ($Z))) f ($Z) < 2 63 ) ra ra u 0 (25 ) f ($Z) > ) ra ra u 0 (25 ) FIXU $X,$Z Convert floating to fixed without overflow $X s 0 ( r( f ($Z))) a) Welche Aktion führt der Operator r() aus? rundet wie in Register RA festgelegt b) Geben Sie den Befehl an, mit dem Sie Register 0 die Gleitkommazahl 15,0 zuweisen. FLOT $0,15 c) Geben Sie den Befehl an, mit dem Sie eine Gleitkommazahl in Register 1 in eine Festkommazahl umwandeln. FIX $1, $1 " : : 21 lo

22 272 6 MMIX-Prozessor Arithmetische Befehle auf Gleitkommazahlen Befehl Operanden Name/Aktion Definition FADD $X,$Y,$Z Floating point add $X f 0 ( f ($Y)+f ($Z)) FSUB $X,$Y,$Z Floating point subtract $X f 0 ( f ($Y) f ($Z)) FMUL $X,$Y,$Z Floating point multiplication $X f 0 ( f ($Y) f ($Z)) FDIV $X,$Y,$Z Floating point divide $X f 0 ( f ($Y)/f ($Z)) FSQRT $X,$Z Square root $X f 0 ( p f ($Z)) a) Geben Sie MMIX-Befehle an, die = in Register a ablegen. SETL a, FLOT a, 9 SET er, FLOT FDIV b a, b, a, b b) Geben Sie MMIX-Befehle an, mit denen Sie x = a 2 +2 a b + b 2 mit Gleitkomma- Operationen berechnen. Nehmen Sie an, dass Register a und b mit Festkommazahlen initialisiert wurden und zunächst in Gleitkommazahlen umgewandelt werden müssen. Speichern Sie das Ergebnis als Gleitkommazahl in Register x. Benutzen Sie buf1, buf2,... als Pufferregister.

Nachfolgende Tabelle übersetzt MMIX-Opcodes in diejenigen Zahlen, die im Befehlswort in den Bits abgelegt werden müssen.

Nachfolgende Tabelle übersetzt MMIX-Opcodes in diejenigen Zahlen, die im Befehlswort in den Bits abgelegt werden müssen. 256 6 MMIX-Prozessor Nachfolgende Tabelle übersetzt MMIX-Opcodes in diejenigen Zahlen, die im Befehlswort in den Bits 3124 abgelegt werden müssen! 0x0 0x1 0x2 0x3 0x4 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 TRAP

Mehr

T e) Wie unterscheiden sich die Opcodes von vorzeichenlosen und vorzeichenbehafteten Ladebefehlen?

T e) Wie unterscheiden sich die Opcodes von vorzeichenlosen und vorzeichenbehafteten Ladebefehlen? - 282 6 MMIX-Prozessor T e) Wie unterscheiden sich die Opcodes von vorzeichenlosen und vorzeichenbehafteten Ladebefehlen? f) Nehmen Sie an, dass die vorzeichenbehaftete 8 Bit breite Zahl -64 mit dem LDB-Befehl

Mehr

Übungsblätter zur Vorlesung IT-Systeme 1. 1 Zahldarstellung und Codierung

Übungsblätter zur Vorlesung IT-Systeme 1. 1 Zahldarstellung und Codierung Hochschule für angewandte Wissenschaften (FH) München Wintersemester 2009/2010 Fakultät für Informatik und Mathematik 11. Januar 2010 Prof. Dr. A. Böttcher Übungsblätter zur Vorlesung IT-Systeme 1 1 Zahldarstellung

Mehr

q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x initialisieren,

q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x initialisieren, 6.4 MMIX-Programme 235 q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x2000000000000000 initialisieren, an dieser Speicheradresse ein Bit breites Datenwort

Mehr

k) Wie kann man beim MMIX auf die Parameter zugreifen? $1 + 8 $

k) Wie kann man beim MMIX auf die Parameter zugreifen? $1 + 8 $ 63 Speicher 241 k) Wie kann man beim MMIX auf die Parameter zugreifen? $0 : arge $1 : argv $1 +0 Virtueller Speicher $1 + 8 $1 16 +,, ARGUED Argus argv IZJ - a) Wenn alle Programme an Adresse 0x100 beginnen

Mehr

6.3 Speicher 233. Virtueller Speicher dreier Programme. realer Speicher Interrupt-Vektoren. Text-Segment.

6.3 Speicher 233. Virtueller Speicher dreier Programme. realer Speicher Interrupt-Vektoren. Text-Segment. 6.3 Speicher 233 Virtueller Speicher Die gezeigte Einteilung des Speichers in verschiedene Segmente bezieht sich auf den sog. virtuellen Speicher. Virtueller Speicher meint, dass die Speicheradressen,

Mehr

6.5 MMIX Befehle 287. LOC $254 BYTE 1 WYDE #1234 OCTA #56789ABC 0x x x

6.5 MMIX Befehle 287. LOC  $254 BYTE 1 WYDE #1234 OCTA #56789ABC 0x x x 6.5 MMIX Befehle 287 T q) Tragen Sie in nachfolgende Tabelle den Speicherinhalt ein, der sich nach Ausführung der angegebenen MMIX-Befehle im Falle von Big- und Little-Endian- Adressierung ergeben würde.

Mehr

0x01? 0x01. 0x12 0x34. 0x34 0x12 0xBC 0x00 0x00 0x9A 0x00 0x78. 0x00 0x56. 0x56 0x00 0x78 0x00 0x9A 0x00 0xBC 0x00. 6.

0x01? 0x01. 0x12 0x34. 0x34 0x12 0xBC 0x00 0x00 0x9A 0x00 0x78. 0x00 0x56. 0x56 0x00 0x78 0x00 0x9A 0x00 0xBC 0x00. 6. 6.5 MMIX Befehle 287 T q) Tragen Sie in nachfolgende Tabelle den Speicherinhalt ein, der sich nach Ausführung der angegebenen MMIX-Befehle im Falle von Big- und Little-Endian- Adressierung ergeben würde.

Mehr

den Loader; der Loader ist derjenige Teil des Betriebssystems, der auszuführende Programme vom der Festplatte/SSD in den Speicher lädt

den Loader; der Loader ist derjenige Teil des Betriebssystems, der auszuführende Programme vom der Festplatte/SSD in den Speicher lädt 242 6 MMIX-Prozessor 64 MMIX-Programme MMIX-Programme bzw Assembler-Programme für den MMIX-Prozessor sind Quelltext- Dateien mit Befehlen für den MMIX-Prozessor; die vom MMIX unterstützen Befehle nennt

Mehr

T b) Wo findet man den Arbeitsspeicher in einem Computersystem? Auf dem Prozessor-Kern? Auf dem Mainboard? Als externes Gerät?

T b) Wo findet man den Arbeitsspeicher in einem Computersystem? Auf dem Prozessor-Kern? Auf dem Mainboard? Als externes Gerät? 234 6 MMIX-Prozessor Aufgaben Verständnis Speicher T a) Wozu verwendet ein Computer Arbeitsspeicher? T b) Wo findet man den Arbeitsspeicher in einem Computersystem? Auf dem Prozessor-Kern? Auf dem Mainboard?

Mehr

q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x2000000000000000 initialisieren,

q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x2000000000000000 initialisieren, At AZOCTA 6.4 MMIX-Programme 235 q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x2000000000000000 initialisieren, an dieser Speicheradresse ein Bit breites

Mehr

6.3 Speicher 233. Virtueller Speicher dreier Programme. realer Speicher Interrupt-Vektoren. Text-Segment.

6.3 Speicher 233. Virtueller Speicher dreier Programme. realer Speicher Interrupt-Vektoren. Text-Segment. 6.3 Speicher 233 Virtueller Speicher Die gezeigte Einteilung des Speichers in verschiedene Segmente bezieht sich auf den sog. virtuellen Speicher. Virtueller Speicher meint, dass die Speicheradressen,

Mehr

T a) Welche Wortgrößen kann der MMIX vom Speicher in Register laden? Die MMIX-Ladebefehle unterstützen Wortbreiten von 8, 16, 32 und 64 Bit.

T a) Welche Wortgrößen kann der MMIX vom Speicher in Register laden? Die MMIX-Ladebefehle unterstützen Wortbreiten von 8, 16, 32 und 64 Bit. 6.5 MMIX Befehle 265 T a) Welche Wortgrößen kann der MMIX vom Speicher in Register laden Die MMIX-Ladebefehle unterstützen Wortbreiten von 8, 16, 32 und 64 Bit. T b) Was ist der Unterschied zwischen vorzeichenbehaftetem

Mehr

276 6 MMIX-Prozessor. Befehl Operanden Name/Aktion Definition. $X,$Y,$Z Bitwise AND $X $Y & $Z $X,$Y,Z Bitwise AND immediate $X $Y & u64 0 ( u(z)) AND

276 6 MMIX-Prozessor. Befehl Operanden Name/Aktion Definition. $X,$Y,$Z Bitwise AND $X $Y & $Z $X,$Y,Z Bitwise AND immediate $X $Y & u64 0 ( u(z)) AND 276 6 MMIX-Prozessor Logische Operationen auf Bit-Ebene Befehl Operanden Name/Aktion Definition AND ANDN $X,$Y,$Z Bitwise AND $X $Y & $Z $X,$Y,Z Bitwise AND immediate $X $Y & u64 0 ( u(z)) $X,$Y,$Z Bitwise

Mehr

Aufgabenkatalog. Computersysteme 1 Dr. Michael Zwick. Technische Universität München

Aufgabenkatalog. Computersysteme 1 Dr. Michael Zwick. Technische Universität München Aufgabenkatalog Computersysteme 1 Dr. Michael Zwick Technische Universität München Inhalt 1 Komponenten eines Computer-Systems 5 Netzteil.................................... 5 Grafikkarten.................................

Mehr

Bachelorprüfung Modul Computertechnik

Bachelorprüfung Modul Computertechnik Prüfungsfähigkeit: Bachelorprüfung Modul Computertechnik Computersysteme 24.7.24 Hiermit bestätige ich, dass ich vor Prüfungsbeginn darüber in Kenntnis gesetzt wurde, dass ich im Falle einer plötzlich

Mehr

GOP Computertechnik. Computersysteme

GOP Computertechnik. Computersysteme Prüfungsfähigkeit: Weitere Hinweise: - - - - - - - - GOP Computertechnik Computersysteme 7.8.27 Hiermit bestätige ich, dass ich vor Prüfungsbeginn darüber in Kenntnis gesetzt wurde, dass ich im Falle einer

Mehr

GOP Computertechnik. Computersysteme

GOP Computertechnik. Computersysteme Prüfungsfähigkeit: Weitere Hinweise: - - - - - - - - GOP Computertechnik Computersysteme 3.7.2 Hiermit bestätige ich, dass ich vor Prüfungsbeginn darüber in Kenntnis gesetzt wurde, dass ich im Falle einer

Mehr

GOP Computertechnik. Computersysteme Probeklausur 2

GOP Computertechnik. Computersysteme Probeklausur 2 Prüfungsfähigkeit: Weitere Hinweise: - - - - - - - - Die Prüfungsdauer beträgt 75 Minuten. Es sind keine Hilfsmittel erlaubt, auch keine Taschenrechner! Heftung nicht öffnen - keine Blätter abtrennen!

Mehr

MMIX Assembler Programmierung Dr. Michael Zwick. Zahldarstellung

MMIX Assembler Programmierung Dr. Michael Zwick. Zahldarstellung MMIX Assembler Programmierung Dr. Michael Zwick Zahldarstellung Festkommazahlen Vorzeichenlose Zahlen n Bit => 2 n verschiedene Werte darstellbar Wertebereich: 0... 2 n - 1 Kodierung: 0... 000, 0... 001,

Mehr

GOP Computertechnik. Computersysteme

GOP Computertechnik. Computersysteme Prüfungsfähigkeit: Weitere Hinweise: - - - - - - - - GOP Computertechnik Computersysteme 22.7.26 Hiermit bestätige ich, dass ich vor Prüfungsbeginn darüber in Kenntnis gesetzt wurde, dass ich im Falle

Mehr

MMIX Assembler Programmierung. Computersysteme 1 Dr. Michael Zwick

MMIX Assembler Programmierung. Computersysteme 1 Dr. Michael Zwick MMIX Assembler Programmierung Computersysteme 1 Dr. Michael Zwick Zahldarstellung Festkommazahlen Vorzeichenlose Zahlen n Bit => 2 n verschiedene Werte darstellbar Wertebereich: 0... 2 n - 1 Kodierung:

Mehr

GOP Computertechnik. Computersysteme Probeklausur 2

GOP Computertechnik. Computersysteme Probeklausur 2 Prüfungsfähigkeit: Weitere Hinweise: - - - - - - - - Die Prüfungsdauer beträgt 75 Minuten. Es sind keine Hilfsmittel erlaubt, auch keine Taschenrechner! Heftung nicht öffnen - keine Blätter abtrennen!

Mehr

Aufgabenkatalog. Computersysteme 1 Dr. Michael Zwick. Technische Universität München

Aufgabenkatalog. Computersysteme 1 Dr. Michael Zwick. Technische Universität München Aufgabenkatalog Computersysteme Dr. Michael Zwick Technische Universität München Inhalt Komponenten eines Computer-Systems 5 Netzteil.................................... 5 Grafikkarten.................................

Mehr

GOP Computertechnik. Computersysteme Probeklausur 1

GOP Computertechnik. Computersysteme Probeklausur 1 Prüfungsfähigkeit: Weitere Hinweise: - - - - - - - - Die Prüfungsdauer beträgt 75 Minuten. Es sind keine Hilfsmittel erlaubt, auch keine Taschenrechner! Heftung nicht öffnen - keine Blätter abtrennen!

Mehr

Aufgabenkatalog. Computersysteme 1 Dr. Michael Zwick. Technische Universität München

Aufgabenkatalog. Computersysteme 1 Dr. Michael Zwick. Technische Universität München Aufgabenkatalog Computersysteme 1 Dr. Michael Zwick Technische Universität München Inhalt 1 Komponenten eines Computer-Systems 5 Netzteil.................................... 5 Grafikkarten.................................

Mehr

Bachelorprüfung Modul Computertechnik

Bachelorprüfung Modul Computertechnik Prüfungsfähigkeit: Bachelorprüfung Modul Computertechnik Computersysteme Probeklausur 2 Hiermit bestätige ich, dass ich vor Prüfungsbeginn darüber in Kenntnis gesetzt wurde, dass ich im Falle einer plötzlich

Mehr

6 MMIX-Prozessor. 6.1 Programmiermodell. S.219 alles wichtig. 6.2 Register. Allzweckregister

6 MMIX-Prozessor. 6.1 Programmiermodell. S.219 alles wichtig. 6.2 Register. Allzweckregister 6 MMIXProzessor Modell eines Prozessors (keine LegacyEffekte) RegisterRegister Architektur mit 256 Allzweck Register und 32 Spezialregister Wortbreite der Register, des Rechenwerks, der Daten und AdressBusse:

Mehr

4. TÜ-Zusammenfassung zum Modul Computersysteme

4. TÜ-Zusammenfassung zum Modul Computersysteme 4. TÜ-Zusammenfassung zum Modul Computersysteme Kurzzusammenfassung 6. Kapitel MMIX 256 Allzweckregister um Operanden abzuspeichern 32 Spezialregister bilden Schnittstelle zwischen Soft- und Hardware ALU(Arithmetic

Mehr

T e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben?

T e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben? 236 6 MMIX-Prozessor T e) Welche Eigenschaft müssen Byte-, Wyde-, Tetra- und Octa-Adressen beim MMIX haben? Byte : Reine besondere Eigenschaft wyde : durch 2 tutbar eetztesrstto Tetra : dutch 4 teicbar

Mehr

6 MMIX-Prozessor MMIX-Prozessor

6 MMIX-Prozessor MMIX-Prozessor 218 6 MMI-Prozessor 6 MMI-Prozessor In diesem Kapitel beschäftigen wir uns mit dem MMI-Prozessor. Der MMI-Prozessor wurde von Donald Ervin Knuth zu Lehr- und Forschungszwecken an der Stanford University

Mehr

RO.RO, ADD RO, 120,121 MUL 120,120,121 INPUT RO, MUL INPUT 120,0 ADD RO, INPUT 121,1 INPUT R 1,2 INPUT 121,2 RO, IN put 121,1 N RO, ROIRA SET 121,3

RO.RO, ADD RO, 120,121 MUL 120,120,121 INPUT RO, MUL INPUT 120,0 ADD RO, INPUT 121,1 INPUT R 1,2 INPUT 121,2 RO, IN put 121,1 N RO, ROIRA SET 121,3 6 4 Prozessor-Datenpfad a) Schreiben Sie für den Universalrechner ein Programm in Assembler-Sprache, welches die drei Seiten eines Würfels von den Eingängen, und einliest, das Volumen des Würfels berechnet

Mehr

MMIX - Crashkurs. TI-II Rechnerarchitektur

MMIX - Crashkurs. TI-II Rechnerarchitektur MMIX - Crashkurs TI-II Rechnerarchitektur MMIX Einführung Aussprache: em-micks MMIX ist ein virtueller Prozessor, mit eigener Assemblersprache Um MMIX-Programme assemblieren und ausführen zu können, benötigt

Mehr

T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes?

T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes? 222 6 MMIXProzessor Verständnisfragen/Aufgaben Allgemein T a) Was ist ein Register? Kleiner aber Schneller Speicher T b) Wo findet man Register in einem ComputerSystem? Prozessor T c) Daten welcher Größenordnung

Mehr

4 Prozessor-Datenpfad 4.1 Vom zu lösenden Problem abhängige Schaltung

4 Prozessor-Datenpfad 4.1 Vom zu lösenden Problem abhängige Schaltung 4 ProzessorDatenpfad 4.1 Vom zu lösenden Problem abhängige Schaltung Die Idee ist es nun nicht unflexible Schaltungen, die aus einer großen Anzahl von Komponenten bestehen und nur eine Aufgabe erledigen

Mehr

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere

Mehr

MMIX: Einführung. Einführung. Ressourcen. Aussprache: em-micks Autor: Donald Knuth

MMIX: Einführung. Einführung. Ressourcen. Aussprache: em-micks Autor: Donald Knuth MMIX: Einführung Einführung Aussprache: em-micks Autor: Donald Knuth MMIX ist ein virtueller Prozessor, mit eigener Programmiersprache MMIX-Programme sind maschinennah, d.h. eng an die Prozessorhardware

Mehr

Welche Register werden zur Parameterübergabe verwendet? In welcher Reihenfolge werden die Parameter auf dem Stack bzw. in den Registern abgelegt?

Welche Register werden zur Parameterübergabe verwendet? In welcher Reihenfolge werden die Parameter auf dem Stack bzw. in den Registern abgelegt? 6.5 MMIX Befehle 291 Aufrufkonventionen Eine Aufrufkonvention (engl. calling convention) legt fest, wie einer Funktion Parameter übergeben werden und wie der Rückgabewert zurückgegeben wird. Damit spezifiziert

Mehr

4.2 Universalrechner: Schaltung unabhängig vom Problem 185

4.2 Universalrechner: Schaltung unabhängig vom Problem 185 4.2 Universalrechner: Schaltung unabhängig vom Problem 85 a) Geben Sie binär die Befehlsworte an, mit denen Sie die Eingänge a, b und c in die Register R, R2 und R übernehmen. K D M4 M M2 M Kommentar XXXXXXXXXXX

Mehr

4.3 Assembler 207 SET R0,0 INPUT R1,0 MUL R1,R1,R1 ADD R0,R0,R1 INPUT R1,1 MUL R1,R1,R1 ADD R0,R0,R1 INPUT R1,2 MUL R1,R1,R1 ADD R0,R0,R1 SQRT R0,R0

4.3 Assembler 207 SET R0,0 INPUT R1,0 MUL R1,R1,R1 ADD R0,R0,R1 INPUT R1,1 MUL R1,R1,R1 ADD R0,R0,R1 INPUT R1,2 MUL R1,R1,R1 ADD R0,R0,R1 SQRT R0,R0 4. Assembler 27 c) Schreiben Sie für den Universalrechner ein Programm in Assembler-Sprache, welches die an den Eingängen, 1 und 2 anliegenden Koordinaten eines Vektors im dreidimensionlen Raum einliest,

Mehr

SUB $2,$5,10 Zeile 1 LDO $5,$0,2*8 Zeile 2 OR $1,$2,$3 Zeile 3 SRU $1,$5,$1 Zeile 4.

SUB $2,$5,10 Zeile 1 LDO $5,$0,2*8 Zeile 2 OR $1,$2,$3 Zeile 3 SRU $1,$5,$1 Zeile 4. 33 7 Pipelining Gegeben ist der folgende Ausschnitt aus einer MMIX Codesequenz: SUB $2,$5, Zeile LDO $5,$,2* Zeile 2 OR $,$2,$3 Zeile 3 SRU $,$5,$ Zeile 4 Zeile und 3 wg b) Geben Sie alle auftretenden

Mehr

Assembler am Beispiel der MIPS Architektur

Assembler am Beispiel der MIPS Architektur Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: 1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address

Mehr

4.3 Assembler. Assembler als leicht verständliche hardwarenahe Sprache Prozessor-Datenpfad

4.3 Assembler. Assembler als leicht verständliche hardwarenahe Sprache Prozessor-Datenpfad 24 4 Prozessor-Datenpfad 4.3 Assembler Die Programmierung des Universalrechners durch Niederschreiben der einzelnen Befehlswort-Bits aller Befehle ist sehr aufwendig. Aus diesem Grund wird dieser Schritt

Mehr

Speicher. T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes? einige Byte.

Speicher. T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes? einige Byte. R lzieloperanden rich 222 6 MMIXProzessor Verständnisfragen/Aufgaben Allgemein T a) Was ist ein Register? ein Schneller ate kleiner Speicher T b) Wo findet man Register in einem ComputerSystem? im Haupt

Mehr

6 MMIX-Prozessor MMIX-Prozessor

6 MMIX-Prozessor MMIX-Prozessor 218 6 MMI-Prozessor 6 MMI-Prozessor In diesem Kapitel beschäftigen wir uns mit dem MMI-Prozessor. Der MMI-Prozessor wurde von Donald Ervin Knuth zu Lehr- und Forschungszwecken an der Stanford University

Mehr

Assembler als Übersetzer

Assembler als Übersetzer 4 ProzessorDatenpfad Assembler als Übersetzer Um ein AssemblerProgramm für den Universalrechner zu übersetzen iteriert der Assembler der Reihe nach über alle Programmzeilen und führt für jede Zeile folgendes

Mehr

T e) Wie wird im Speicher an der Adresse 0x die 32 Bit-Zahl

T e) Wie wird im Speicher an der Adresse 0x die 32 Bit-Zahl 63 Speicher 237 T e) Wie wird im Speicher an der Adresse 0x2000000000000008 die 32 BitZahl 0x12345678 abgelegt im Falle einer BigEndian und einer LittleEndianMaschine? Adresse Big Endian Little Endian

Mehr

Technische Informatik II Rechnerarchitektur

Technische Informatik II Rechnerarchitektur Technische Informatik II Rechnerarchitektur MMIX-Crashkurs Matthias Dräger, Markus Rudolph E-Mail: mdraeger@mi.fu-berlin.de rudolph@mi.fu-berlin.de www: tinyurl.com/mmix2010 www.matthias-draeger.info/lehre/sose2010ti2/mmix.php

Mehr

Hinweise. Auswertung. Einführung in die Technische Informatik WS 2006/2007 Bachelor-Klausur. Aachen, 07. März 2007 SWS: V2/Ü2, ECTS: 4

Hinweise. Auswertung. Einführung in die Technische Informatik WS 2006/2007 Bachelor-Klausur. Aachen, 07. März 2007 SWS: V2/Ü2, ECTS: 4 Professor Dr.-Ing. Stefan Kowalewski Dipl.-Inform. Andreas Polzer Dipl.-Inform. Ralf Mitsching LEHRSTUHL INFORMATIK XI SOFTWARE FÜR EINGEBETTETE SYSTEME Aachen, 07. März 2007 SWS: V2/Ü2, ECTS: 4 Einführung

Mehr

Grundlagen der Rechnerarchitektur. MIPS Assembler

Grundlagen der Rechnerarchitektur. MIPS Assembler Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32

Mehr

Hinweise. Auswertung. Einführung in die Technische Informatik WS 2007/2008 Bachelor-Klausur (TI) Aachen, 05. März 2008 SWS: V4/Ü2, ECTS: 7

Hinweise. Auswertung. Einführung in die Technische Informatik WS 2007/2008 Bachelor-Klausur (TI) Aachen, 05. März 2008 SWS: V4/Ü2, ECTS: 7 Professor Dr.-Ing. Stefan Kowalewski Dipl.-Inform. Philipp Kranen Dipl.-Inform. Andreas Polzer LEHRSTUHL INFORMATIK XI SOFTWARE FÜR EINGEBETTETE SYSTEME Aachen, 5. März 28 SWS: V4/Ü2, ECTS: 7 Einführung

Mehr

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78 32 Bit Konstanten und Adressierung Grundlagen der Rechnerarchitektur Assembler 78 Immediate kann nur 16 Bit lang sein Erinnerung: Laden einer Konstante in ein Register addi $t0, $zero, 200 Als Maschinen

Mehr

Nachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten)

Nachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten) 62 Register 205 Spezialregister Spezialregister (engl special purpose registers) haben im Gegensatz zu Allzweckregistern einen bestimmten Zweck, dh jedes Spezialregister hat seine ganz eigene Aufgabe Spezialregister

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden. 70 Arithmetische Schaltungen Multiplikation vorzeichenbehafteter Zahlen Zur Multiplikation vorzeichenbehafteter Zahlen (er-komplement) kann auf die Schaltung für vorzeichenlose Multiplikation zurückgegriffen

Mehr

Dividend / Divisor = Quotient + Rest 9876 : 0054= : 0054= = -10 (negativ bleibt bei 1 mal) 4476 : 0054=018

Dividend / Divisor = Quotient + Rest 9876 : 0054= : 0054= = -10 (negativ bleibt bei 1 mal) 4476 : 0054=018 78 Arithmetische Schaltungen Division Allgemein Bei der Division gilt allgemein: Dividend / Divisor = Quotient + Rest Division zur Basis, wie in der Schule gelernt: 9876 : 54= Runde Teildividend = 9 Passt

Mehr

Darstellung von Instruktionen. Grundlagen der Rechnerarchitektur Assembler 21

Darstellung von Instruktionen. Grundlagen der Rechnerarchitektur Assembler 21 Darstellung von Instruktionen Grundlagen der Rechnerarchitektur Assembler 21 Übersetzung aus Assembler in Maschinensprache Assembler Instruktion add $t0, $s1, $s2 0 17 18 8 0 32 6 Bit Opcode Maschinen

Mehr

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden

Mehr

LOC Data_Segment A OCTA a) Bestimmen Sie das 32 Bit breite Befehlswort des Befehls JMP Start.

LOC Data_Segment A OCTA a) Bestimmen Sie das 32 Bit breite Befehlswort des Befehls JMP Start. humpl 6.5 MMIX Befehle 299 Betrachten Sie die folgenden Befehle: LOC Data_Segment GREG @ A OCTA 1000 a IS $1 b IS $2 LOC #100 Main LDB aa Start SUB aa1 swathe 2 Befehl OR aa0 BZ aend JMP Start End TRAP

Mehr

Computersysteme. Serie 11

Computersysteme. Serie 11 Christian-Albrechts-Universität zu Kiel Institut für Informatik Lehrstuhl für Technische Informatik Prof.Dr. Manfred Schimmler Dr.-Ing. Christoph Starke M.Sc. Vasco Grossmann Dipl.-Inf. Johannes Brünger

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.

Mehr

Technische Informatik II Rechnerarchitektur

Technische Informatik II Rechnerarchitektur Technische Informatik II Rechnerarchitektur 3.Unterprogramme in MMIX Matthias Dräger E-Mail: www: mdraeger@mi.fu-berlin.de www.matthias-draeger.info/lehre/sose2010ti2/ tinyurl.com/sose2010ti2 Zuletzt bearbeitet:

Mehr

Rechnerarchitektur. Marián Vajteršic und Helmut A. Mayer

Rechnerarchitektur. Marián Vajteršic und Helmut A. Mayer Rechnerarchitektur Marián Vajteršic und Helmut A. Mayer Fachbereich Computerwissenschaften Universität Salzburg marian@cosy.sbg.ac.at und helmut@cosy.sbg.ac.at Tel.: 8044-6344 und 8044-6315 3. Mai 2017

Mehr

Übersicht. Quelle: Kapitel 3, 4 und 5 aus Anlauff, Böttcher, Ruckert: Das MMIX-Buch. Springer, 2002

Übersicht. Quelle: Kapitel 3, 4 und 5 aus Anlauff, Böttcher, Ruckert: Das MMIX-Buch. Springer, 2002 Übersicht Wiederholung: ein einfaches MMIX-Programm Speicherorganisation, Speicherzugriff Zahlen und Arithmetik Zeichenketten und Ein-/Ausgabe Kontrollstrukturen Unterprogramme Quelle: Kapitel 3, 4 und

Mehr

ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen

ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen Aufgabenstellung: - das beigefügte Assembler-Programm schrittweise ausführen - sich mit der Handhabung der Entwicklungswerkzeuge

Mehr

5 Befehlssätze und deren Klassifikation

5 Befehlssätze und deren Klassifikation 215 5 Befehlssätze und deren Klassifikation Befehlssatz Unser Universalrechner kennt 7 verschiedene Befehle: ADD SUB MUL DIV FSQRT INPUT und SET Die Menge (im mathematischen Sinne) der Befehle die ein

Mehr

Rechnerstrukturen. 7. Assembler. Inhalt. Vorlesung Rechnerstrukturen. Assemblerprogrammierung SML-CPU. SML-Assembler. Binden

Rechnerstrukturen. 7. Assembler. Inhalt. Vorlesung Rechnerstrukturen. Assemblerprogrammierung SML-CPU. SML-Assembler. Binden Rechnerstrukturen 7. Assembler Assemblerprogrammierung SML-CPU Inhalt SML-Assembler Adressierungsarten Instruktionssatz Assembler-Direktiven Binden 7.2 1 Maschinensprache Instruktion = Bitkombination Für

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)

Mehr

6 MMIX-Prozessor MMIX-Prozessor

6 MMIX-Prozessor MMIX-Prozessor 218 6 MMIProzessor 6 MMIProzessor In diesem Kapitel beschäftigen wir uns mit dem MMIProzessor Der MMIProzessor wurde von Donald Ervin Knuth zu Lehr und Forschungszwecken an der Stanford University entwickelt

Mehr

IM P label = Bedingte Verzweigungen

IM P label = Bedingte Verzweigungen 298 6 MMIX-Prozessor Verzweigungsbefehle Unbedingte Verzweigung 23 0 opc X 4 z Befehl Operanden Name/Aktion Definition JMP XYZ Jump @ u64 0 ( u(@) + 4 s(xyz)) IM P label = Bedingte Verzweigungen Befehl

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Prinzipieller Aufbau und Funktionsweise eines Prozessors Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg

Mehr

Lösung 5. Übungsblatt

Lösung 5. Übungsblatt Fakultät Informatik, Technische Informatik, Lehrstuhl für Eingebettete Systeme Lösung 5. Übungsblatt Entwicklung eines Mikroprogrammsteuerwerks und Maschinen-programmierung für einen einfachen Rechner.

Mehr

ERA-Zentralübung Maschinenprogrammierung

ERA-Zentralübung Maschinenprogrammierung ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 27.10.2017 Arithmetik mit 80386 Inhalt Rechenmodell Register Befehle Beispiele 80386-Rechenmodell Typisches Zwei-Address-Format Ziel :=

Mehr

1. TÜ-Zusammenfassung zum Modul Computersysteme

1. TÜ-Zusammenfassung zum Modul Computersysteme 1. TÜ-Zusammenfassung zum Modul Computersysteme Kurzzusammenfassung 1. Kapitel Netzteil: Aufbau: Bereitgestellte Spannungen: 12V, -12V, 5V, -5V und 3.3V Leistung: Da bei Transformatoren die übertragbare

Mehr

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control

Mehr

Hello World! Eine Einführung in das Programmieren Variablen

Hello World! Eine Einführung in das Programmieren Variablen Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?

Mehr

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. Ein Programm liegt der CPU in binärer Form vor und wird durch den Assembler in einer primitiven

Mehr

Beispiel: A[300] = h + A[300]

Beispiel: A[300] = h + A[300] Beispiel: A[300] = h + A[300] $t1 sei Basisadresse von A und h in $s2 gespeichert. Assembler Code? Maschinen Code (der Einfachheit halber mit Dezimalzahlen)? op rs rt rd adr/shamt funct Instruktion Format

Mehr

1 Aufgaben Wie funktioniert ein Computer. a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 5W, 12W,

1 Aufgaben Wie funktioniert ein Computer. a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 5W, 12W, 81 1 Aufgaben Wie funktioniert ein Computer Netzteil a) Welche Spannungen werden von PCNetzteilen bereitgestellt? 3 BV 5W 12W 5 V 12W b) Warum können PCNetzteile hohe Leistungen liefern obwohl die eingebauten

Mehr

Zusammenfassung: Grundlagen der Informatik Zahlensysteme, b-adische Darstellung, Umrechnung Beispiel: Umrechnung von ( ) 10 ins Dualsystem

Zusammenfassung: Grundlagen der Informatik Zahlensysteme, b-adische Darstellung, Umrechnung Beispiel: Umrechnung von ( ) 10 ins Dualsystem Zusammenfassung: Grundlagen der Informatik - Seite von 6 Zusammenfassung: Grundlagen der Informatik Zahlensysteme, b-adische Darstellung, Umrechnung Beispiel: Umrechnung von (69.59375) 0 ins Dualsystem

Mehr

3.8 Sequentieller Multiplizierer 167

3.8 Sequentieller Multiplizierer 167 .8 Sequentieller Multiplizierer 67 a) Welche Organisation hat das ROM? 6=64 Datenwerte zu je 9 Bit Im ROM wird durch die Adress-Bits, und der Zustand festgelegt, durch die Adress-Bits und 4 der Rundenzähler,

Mehr

Sprungbefehle und Kontroll-Strukturen

Sprungbefehle und Kontroll-Strukturen Sprungbefehle und Kontroll-Strukturen Statusregister und Flags Sprungbefehle Kontrollstrukturen Das Status-Register 1 Register-Satz des ATmega128 Universal-Register (8Bit) R0..R15 16 Bit Program counter

Mehr

Notwendigkeit für andere Instruktionsformate

Notwendigkeit für andere Instruktionsformate Notwendigkeit für andere Instruktionsformate add $t0, $s1, $s2 op rs rt rd shamt funct 6 Bit 5 Bit 5 Bit 5 Bit 5 Bit 6 Bit R Typ? lw $t0, 32($s3) I Typ Opcode 6 Bit Source 5 Bit Dest 5 Bit Konstante oder

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

2.4 Codierung von Festkommazahlen c) Wie lässt sich im Zweier-Komplement ein Überlauf feststellen? neg. pos.

2.4 Codierung von Festkommazahlen c) Wie lässt sich im Zweier-Komplement ein Überlauf feststellen? neg. pos. 24 Codierung von Festkommazahlen 115 Aufgaben a) Codieren Sie für n 8 und r 0 die folgenden Zahlen binär im Zweier Komplement EC +10 : 00001010 11110101 Dezimal Binär 10 1111 0110 + 0 ch 1111011 0 20 00000000

Mehr

Nachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten)

Nachfolgende Abbildung zeigt das Spezialregister ra, das Arithmetische Status Register. Interrupt Enable (Freischalten) 62 Register 221 Spezialregister Spezialregister (engl special purpose registers) haben im Gegensatz zu Allzweckregistern einen bestimmten Zweck dh jedes Spezialregister hat seine ganz eigene Aufgabe Spezialregister

Mehr

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:

Mehr

Vorzeichenbehaftete Festkommazahlen

Vorzeichenbehaftete Festkommazahlen 106 2 Darstellung von Zahlen und Zeichen Vorzeichenbehaftete Festkommazahlen Es gibt verschiedene Möglichkeiten, binäre vorzeichenbehaftete Festkommazahlen darzustellen: Vorzeichen und Betrag EinerKomplement

Mehr

Computersysteme. Fragestunde

Computersysteme. Fragestunde Computersysteme Fragestunde 1 Dr.-Ing. Christoph Starke Institut für Informatik Christian Albrechts Universität zu Kiel Tel.: 8805337 E-Mail: chst@informatik.uni-kiel.de 2 Kurze Besprechung von Serie 12,

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

28. März Name:. Vorname. Matr.-Nr:. Studiengang

28. März Name:. Vorname. Matr.-Nr:. Studiengang Klausur 28. März 2011 Name:. Vorname Matr.-Nr:. Studiengang Hinweise: Bitte füllen Sie vor dem Bearbeiten der Aufgaben das Deckblatt sorgfältig aus. Zur Klausur zugelassen sind ausschließlich Schreibutensilien,

Mehr

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter

Mehr

3.8 Sequentieller Multiplizierer 159

3.8 Sequentieller Multiplizierer 159 .8 Sequentieller Multiplizierer 59 Nachfolgende Abbildung zeigt den (unvollständigen) Aufbau einer Schaltung zur Implementierung des gezeigten Multiplikationsverfahrens. b) Vervollständigen Sie die Schaltung

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr