Nachfolgende Tabelle übersetzt MMIX-Opcodes in diejenigen Zahlen, die im Befehlswort in den Bits abgelegt werden müssen.
|
|
- Oswalda Schneider
- vor 5 Jahren
- Abrufe
Transkript
1 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 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] ν 2ADDU[I] ν CMP[I] ν SL[I] ν BN[B] ν+π BNN[B] ν+π PBN[B] 3ν-π PBNN[B] 3ν-π CSN[I] ν ADDU[I] ν 4ADDU[I] ν CMPU[I] ν SLU[I] ν BZ[B] ν+π BNZ[B] ν+π PBZ[B] 3ν-π PBNZ[B] 3ν-π CSZ[I] ν SUB[I] ν 8ADDU[I] ν NEG[I] ν SR[I] ν BP[B] ν+π BNP[B] ν+π PBP[B] 3ν-π PBNP[B] 3ν-π CSP[I] ν SUBU[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] µ+ν 0 39 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ν 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF 0x5 0x5 0x6 0x6 : 0x7 0x7 0x8 0x8 0x9 0x9 0xA 0xA 0xB 0xB 0xC 0xC 0xD 0xD 0xE 0xE 0xF 0xF!! SL $i $23 Die Übersetzung erfolgt folgendermaßen: On Befehl suchen 02% is 7 $5$6 Doppelzeile ermitteln, in der der Befehl steht An der Seite der Tabelle das obere Nibble (= die oberen 4 Bits) des Opcodes ablesen, zb 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, zb ADD ) 0x0 oder 0x1 vt3v gesprungen Bzfhetypringa Steht der Befehl im unteren Teil der Doppelzeile, kann man das w 0x0 0x1 0x2 0x3 0x4
2 64 MMIX-Programme 257 untere Nibble (=die unteren 4 Bits) des Opcodes an der untersten Tabellenzeile ablesen, zb 2ADDU ) 0x8 oder 0x9 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 0x0 oder 0x1 auswählen muss oder ob man in der unteren Zeile 0x8 oder 0x9 auswählen muss Dazu wird der in der Tabelle nach dem Befehlsnamen in Klammern stehende Buchstabe verwendet; I bedeutet immediate, dh Direktoperand; Beispiel: Bei ADD $1,$2,$3 wird ADD mit 0x20 codiert, bei ADD $1,$2,3 mit 0x21 B bedeutet backward, dh 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 ZX 3, wenn gesprungen wird, und 0, wenn nicht gesprungen wird
3 258 6 MMIX-Prozessor Aufgaben T a) Wie breit (in Bit) ist das MMIX Befehlswort? 32 Bit T b) Skizzieren Sie das MMIX Befehlswort und geben Sie den Inhalt jedes Bytes an Spanton T c) In welchen Byte des Befehlsworts wird im Allgemeinen Information über die zd=x Quelloperanden bzw über die Zieloperanden abgespeichert? T d) Was ist ein Direktoperand? i Queller Ein Direktopeand ist ein Operand, der direkt in Befehlswortsteht Y, e) Wieviele Taktzyklen benötigen die meisten Befehlen zur Ausführung? Die meister Befehle Konner imehalb von tv dh f) Welcher Befehl benötigt die längste Zeit zur Ausführung, wenn man von Speicherbefehlen absieht? Division A Taktzyklus abgearbatt Werder von Festkommazahle g) Wieviele Takte benötigt der BZ-Befehl, wenn gesprungen wird? vt Zv =3 Takte
4 64 MMIX-Programme 259 h) Wieviele Takte benötigt der BZ-Befehl, wenn nicht gesprungen wird? = + I v + or = ntakt i) Wieviele Takte benötigt der PBZ-Befehl, wenn gesprungen wird? = 3 - v IT V = A Takt v j) Wieviele Takte benötigt der PBZ-Befehl, wenn nicht gesprungen wird? 3v - I = 3-0 v = 3 Takte k) Geben Sie das 32 Bit breite Befehlswort des Befehls SL $1,$2,3 an 0 39 On 0203 T l) Geben Sie das 32 Bit breite Befehlswort des Befehls SUB $5,$6,7 an SUB $5$ OF
5 OX 65 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 E ±*: # 64 a >> u b b ADD a a << b FADD b a SUB a-b b a a a >> s b FSUB a-b b MUL b a b :pp YILE code a b :*
6 266 6 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 Allzweck- Registerblock Adresse 64 $X $X 64 Befehls- Speicher Daten X Y Z $Y $Z ALU Arithmetische Befehle auf Festkommazahlen Befehl Operanden Name/Aktion Definition $X s 0 64 (s($y)+s($z)) $X,$Y,$Z Add; signed, with overflow (s($y)+s($z) < 2 63 ) (s($y)+s($z) 2 63 ) ) ADD ra ra u64 0 (26 ) $X s64 0 (s($y)+u(z)) $X,$Y,Z Add immediate; signed, with overflow (s($y)+u(z) < 2 63 ) (s($y)+u(z) 2 63 ) ) ra ra u 0 64 (26 ) ADDU $X,$Y,$Z Add unsigned; no overflow $X u 0 64 (u($y)+u($z)) $X,$Y,Z Add unsigned; no overflow $X u 0 64 (u($y)+u(z))
7 Bitwise UERODERUNG am 10 On 0 o Jnnoo= 65 MMIX Befehle Gg SUB $X,$Y,$Z $X,$Y,Z Subtract; signed, with overflow Subtract immed; signed, with ovf $X s64 0 (s($y) s($z)) (s($y) s($z) < 2 63 ) (s($y) s($z) 2 63 ) ) Bit Nr6 ra ra u64 0 < (26 ) Tangen $X s64 0 (s($y) u(z)) beioan (s($y) u(z) < 2 63 ) (s($y) u(z) 2 63 ) ) ra ra u 0 64 (26 ) SUBU NEG NEGU $X,$Y,$Z Subtract uns; no ovf $X u64 0 (u($y) u($z)) $X,$Y,Z Subtract uns immed; no ovf $X u64 0 (u($y) u(z)) $X,Y,$Z Negate; signed, with overflow $X s64 0 (u(y) s($z)) u(y) s($z) 2 63 ) ra ra u 0 64 (26 ) $X,Y,Z Negate immediate; signed $X s64 0 (u(y) u(z)) $X,Y,$Z Negate unsigned; no overflow $X s64 0 (u(y) s($z)) $X,Y,Z Negate unsigned immedidate $X s64 0 (u(y) u(z)) MUL $X,$Y,$Z $X,$Y,Z Multiply; signed, with overflow Multiply immed; signed, with ovf $X s64 0 (s($y) s($z)) (s($y) s($z) < 2 63 ) (s($y) s($z) 2 63 ) ) ra ra u 0 64 (26 ) $X s64 0 (s($y) u(z)) (s($y) s($z) < 2 63 ) (s($y) s($z) 2 63 ) ) ra ra u 0 64 (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 s64 0 (bs($y)/s($z)c) (case $Z 6= 0) rr s64 0 ( s($y)%s($z)) Divide signed $X u64 0 (0) (case $Z = 0) rr $Y Divide immediate; signed $X s64 0 (bs($y)/s(z)c) (case Z 6= 0) rr s64 0 ( s($y)%u(z)) Divide immediate; signed $X u64 0 (0) (case Z = 0) rr $Y
8 268 6 MMIX-Prozessor DIVU $X,$Y,$Z $X,$Y,Z Divide uns; 128 bit $X u64 0 ( bu(rd$y)/u($z)c ) case u($z) > u(rd) rr u64 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 u64 0 ( bu(rd$y)/u(z)c ) no overflow; case u(z) > u(rd) rr u64 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 64 (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? Nein entwede odor $x,$y, $2 $x,$yiz T c) Wie kann man 5 3 in einer einzigen Codezeile berechnen? NEG $0, 5,3
9 65 MMIX Befehle 269 T d) Was ist der Unterschied zwischen den Befehlen MUL und MULU? MUL : Quell - und Zidopeanda habm jewels 64 Bit Muw : Ziel hat 128 Bit operand C Die oberon 64 Bit Werder in rtf abyespeidertl 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 MUL bofliaia ( 2a ) MUL buf2 Ai2 MUL but 2,542,b ( Zab ) MUL but }, bib Cbs ) ADD xibuflibofh ( x a2aa5 ) ADD Xikcbuf } ( x a2+2ab -44 H
10 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
11 FLOT $ MMIX Befehle 271 Umwandlung Gleitkommazahl $ Festkommazahl Befehl Operanden Name/Aktion Definition FLOT FLOTU $X,$Z Convert fixed to floating $X f64 0 ( s($z)) $X,Z Conv fixed to float imm $X f64 0 ( u(z)) $X,$Z Conv uns fixed to floating $X f64 0 $X,Z Conv uns fixed to float $X f64 0 imm FIX $X,$Z Convert floating to fixed with overflow $X s64 0 ( r( f 64($Z))) f 64 ($Z) < 2 63 ) ra ra u64 0 (25 ) f 64 ($Z) > ) ra ra u64 0 (25 ) FIXU $X,$Z Convert floating to fixed without overflow $X s 0 64 ( r( f 64($Z))) a) Welche Aktion führt der Operator r() aus? b) Geben Sie den Befehl an, mit dem Sie Register 0 die Gleitkommazahl 15,0 zuweisen c) Geben Sie den Befehl an, mit dem Sie eine Gleitkommazahl in Register 1 in eine Festkommazahl umwandeln
12 272 6 MMIX-Prozessor Arithmetische Befehle auf Gleitkommazahlen Befehl Operanden Name/Aktion Definition FADD $X,$Y,$Z Floating point add $X f 0 64 ( f 64($Y)+f 64 ($Z)) FSUB $X,$Y,$Z Floating point subtract $X f 0 64 ( f 64($Y) f 64 ($Z)) FMUL $X,$Y,$Z Floating point multiplication $X f 0 64 ( f 64($Y) f 64 ($Z)) FDIV $X,$Y,$Z Floating point divide $X f 0 64 ( f 64($Y)/f 64 ($Z)) FSQRT $X,$Z Square root $X f 0 64 ( p f 64 ($Z)) a) Geben Sie MMIX-Befehle an, die = in Register a ablegen 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
13 ' 65 MMIX Befehle 273 T c) Geben Sie MMIX-Befehle an, die e = 2, in Register b ablegen 27^8281^828 SETL SETL bufle b, MUL bibcfl, } b 27' oiooo SETL buff 1828 ADD MUL ADD bibcbuf bib, but b, } bufz b b g FLOT bib FLOT bufn, buj^ FDIV b, b buf1 be FDW bib,bj1 bt 27, FCOT boflilo FDN b,b,bf^ b e
14 274 6 MMIX-Prozessor Schiebe-Befehle Befehl Operanden Name/Aktion Definition SL $X,$Y,$Z $X,$Y,Z Shift left; with overflow Shift left immediate; with ovf $X u64 0 ( u($y u($z)) ) u($y) 2 u($z) 2 64 ) ra ra u 0 64 (25 ) $X u64 0 ( u($y u(z)) ) u($y) 2 u(z) 2 64 ) ra ra u 0 64 (25 ) SLU SR SRU $X,$Y,$Z Shift left uns, no overflow $X u64 0 ( u($y u($z)) ) $X,$Y,Z Shift left uns immed; no ovf $X u64 0 ( u($y u(z)) ) $X,$Y,$Z Shift right; fill with sign $X $Y s u($z) $X,$Y,Z Shift right imm; fill with sign $X $Y s u(z) $X,$Y,$Z Shift right unsigned; fill with 0 $X $Y u u($z) $X,$Y,Z Shift right uns imm; fill w 0 $X $Y u u(z)
15 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 AND NOT $X $Y & $Z $X,$Y,Z Bitww AND NOT immed $X $Y & u64 0 ( u(z)) ANDNL $X,YZ Bitw AND NOT low wyde $X $X & u 0 64 ( u(yz)) ANDNML $X,YZ Bw AND NOT med l wd $X $X & ( u64 0 ( u(yz)) 16) ANDNMH $X,YZ Bw AND NOT med h wd $X $X & ( u64 0 ( u(yz)) 32) ANDNH $X,YZ Bw AND NOT high wyde $X $X & ( u64 0 ( u(yz)) 48) NAND OR $X,$Y,$Z Bitwise NOT AND $X ($Y & $Z) $X,$Y,Z Bitwise NOT AND immed $X ( $Y & u64 0 ( u(z))) $X,$Y,$Z Bitwise OR $X $Y $Z $X,$Y,Z Bitwise OR immediate $X $Y u64 0 ( u(z)) ORL $X,YZ Bitwise OR low wyde $X $X u 0 64 ( u(yz)) ORML $X,YZ Bitw OR med low wyde $X $X ( u64 0 ( u(yz)) 16) ORMH $X,YZ Bitw OR med high wyde $X $X ( u64 0 ( u(yz)) 32) ORH $X,YZ Bitwise OR high wyde $X $X ( u64 0 ( u(yz)) 48) ORN NOR XOR NXOR $X,$Y,$Z Bitwise OR NOT $X $Y $Z $X,$Y,Z Bitwise OR NOT immediate $X $Y u64 0 ( u(z)) $X,$Y,$Z Bitwise NOT OR $X ($Y $Z) $X,$Y,Z Bitwise NOT OR immediate $X ($Y u64 0 ( u(z))) $X,$Y,$Z Bitwise XOR $X $Y $Z $X,$Y,Z Bitwise XOR immediate $X $Y u64 0 ( u(z)) $X,$Y,$Z Bitwise NOT XOR $X ($Y $Z) $X,$Y,Z Bitw NOT XOR immediate $X ($Y u64 0 ( u(z)))
16 01 d 65 MMIX Befehle O 0 O 0 O o o a o o 00 $1 Bits löschen AND a) Welche Befehle verwendet man typischerweise um einzelne Bits zu löschen? ±: III b) Geben Sie an, wie Sie mit dem Befehl ANDNML Bit 21 in Register a löschen T c) Geben Sie an, wie Sie mit dem Befehl ANDN Bit 21 in Register a löschen 0 - start bei Bit 0 it EE Q d) Geben Sie an, wie Sie mit einem NAND und einem AND-Befehl Bit Nr 21 löschen Bits setzen a) Welche Befehle verwendet man typischerweise um Bits zu setzen?
17 la?tszk?krsi!! MMIX-Prozessor b) Geben Sie die Befehle, mit denen Sie in Register a Bit 20 mit einem OR-Befehl auf 1 setzen T c) Geben Sie an, wie Sie in Register a Bit 20 mit einem ORML-Befehl auf 1 setzen 201^9 I 18 I XOR a) Erklären Sie den Effekt einer XOR-Operation b) Was wird dem Ziel-Operanden einer XOR-Operation zugewiesen, wenn alle Bits des einen Quell-Operanden gelöscht (0) sind? c) Was wird dem Ziel-Operanden einer XOR-Operation zugewiesen, wenn alle Bits des einen Quell-Operanden gesetzt (1) sind? d) Geben Sie die Befehle an, mit denen Sie alle Bits in Register a invertieren
18 ' A BYTE FF ii 4 BYTE FF : ego 65 MMIX Befehle I 7 is T a) Welche Wortgrößen kann der MMIX vom Speicher in Register laden? 16,32164 : Bit T b) Was ist der Unterschied zwischen vorzeichenbehaftetem (signed) und vorzeichenlosen (unsigned) Laden? a LDB SIX, EE Ee Ef LDB $X, b owe µpg aµ # LDBU $X a, T c) Warum muss man zwischen vorzeichenlosem und vorzeichenbehaftetem Laden unterscheiden? Register 8Byfe FUFFWF o0o@oowo8noowowettuoreinerpositive2ahlslehenunendlidevidenukenbeiuunwandlngmit2es-komplimentwerdadiesezveinsenw FF w ird eine Zahl T d) Wie unterscheiden sich die Namen der vorzeichenlosen und vorzeichenbehafteten Ladebefehle?, die Kleine als 69 Bit brat ist in ein Register gelada, restticlen Idler unit dan ASB aufgefikf Wenden so misses die
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
q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x initialisieren,
6.4 MMIX-Programme 251 q) Geben Sie Befehle an, die ein neues globales Register anlegen und dieses mit Speicheradresse 0x2000000000000000 initialisieren, an dieser Speicheradresse ein Bit breites Datenwort
Ü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
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.
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.
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
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
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
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
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
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
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,
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
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?
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!
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
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
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
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.................................
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,
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!
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:
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,
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!
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.................................
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.................................
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
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
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
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
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
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
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
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.
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:
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
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
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
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.
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
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
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,
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
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
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
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
2. Teilklausur Informatik II
1. Aufgabe (4 + 6 Punkte) Beweise: n (a) i = (b) i=0 n i 2 = i=0 n (n + 1) 2 n (n + 1) (2n + 1) 6 2. Aufgabe (10 Punkte) Seien a, b {0, 1} n. Wir definieren: a < lex b i {0,..., n 1} : a[n 1 : i + 1] =
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
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
Ü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
Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts
Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101
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:
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
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
21. Februar Name:. Vorname. Matr.-Nr:. Studiengang
Klausur 21. Februar 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,
Teil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
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:
Zusammenfassung der Assemblerbefehle des 8051
Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach
Rechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)
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
Klausur Mikroprozessortechnik 29. März 2010
Klausur Mikroprozessortechnik 29. März 2010 Name:... Vorname:... Matr.-Nr:... Studiengang:... Hinweise: Bitte füllen Sie vor dem Bearbeiten der Aufgaben das Deckblatt sorgfältig aus. Zur Klausur zugelassen
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
Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
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
Weitere Arithmetik. Grundlagen der Rechnerarchitektur Assembler 33
Weitere Arithmetik Grundlagen der Rechnerarchitektur Assembler 33 Die speziellen Register lo und hi Erinnerung: ganzzahliges Produkt von zwei n Bit Zahlen benötigt bis zu 2n Bits Eine MIPS Instruktion
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
Einführung Programmierpraktikum C Michael Zwick
Einführung Programmierpraktikum C Michael Zwick Vorlesung, Übung & Fragestunde Dr.-Ing. Michael Zwick Raum Z945 zwick@tum.de (089) 289 23609 Tutorium Ab Dienstag: Auswahl Tutoriumsplatz auf www.ldv.ei.tum.de/lehre/computertechnik
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:
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
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
TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM. Die MARS Umgebung
Die MARS Umgebung MARS ist ein Simulationswerkzeug für MIPS Prozessoren Es enthält einen Assembler und eine Laufzeitumgebung Da das Wirtsystem (z.b. Windows) auf einem anderen Prozessor basiert, werden
Programmieren 1 C Überblick
Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen
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
RISC-Prozessoren (1)
RISC-Prozessoren (1) 1) 8 Befehlsklassen und ihre mittlere Ausführungshäufigkeit (Fairclough): Zuweisung bzw. Datenbewegung 45,28% Programmablauf 28,73% Arithmetik 10,75% Vergleich 5,92% Logik 3,91% Shift
Grundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS
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
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
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
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
Kap.3 Mikroarchitektur. Prozessoren, interne Sicht
Kap.3 Mikroarchitektur Prozessoren, interne Sicht 3.1 Elementare Datentypen, Operationen und ihre Realisierung (siehe 2.1) 3.2 Mikroprogrammierung 3.3 Einfache Implementierung von MIPS 3.4 Pipelining Implementierung
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
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
RO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 5 am 25.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
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
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.
Assembler Integer-Arithmetik
Assembler Integer-Arithmetik Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Integer-Arithmetik 1/23 2008-04-01 Arithmetik
Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling
Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Aufgabe 1: Sie haben in der Vorlesung einen hypothetischen Prozessor kennen
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:
Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
Grundlagen der Informatik 2. Typen
Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace
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
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
Integrierte Schaltungen
Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100
Rechnerarchitektur SS TU Dortmund
Rechnerarchitektur SS 2016 Exercises: Scoreboarding and Tomasulo s Algorithm Jian-Jia Chen TU Dortmund to be discussed on June, 14, 2016 Jian-Jia Chen (TU Dortmund) 1 / 8 Scoreboardings Im nächste Folien
Mikroprozessortechnik. 03. April 2012
Klausur 03. April 2012 Name:. Vorname Matr.-Nr:. Studiengang Hinweise: Bitte füllen Sie vor dem Bearbeiten der Aufgaben das Deckblatt sorgfältig aus. Die Klausur besteht aus 6 doppelseitig bedruckten Blättern.
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
Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation
Multiplizierer 1 Beispiel komplexer arithmetischer Schaltung Langsamer als Addition, braucht mehr Platz Sequentielle Multiplikation Kompakte kombinatorische Variante mit Carry-Save-Adders (CSA) Vorzeichenbehaftete
Praktikum ASP Blatt 2 1. LEHRSTUHL FÜR RECHNERARCHITEKTUR UND PARALLELE SYSTEME Aspekte der systemnahen Programmierung bei der Spieleentwicklung
Praktikum ASP Blatt 2 1 LEHRSTUHL FÜR RECHNERARCHITEKTUR UND PARALLELE SYSTEME Aspekte der systemnahen Programmierung bei der Spieleentwicklung Arbeitsblatt 2 29.10.2018-04.11.2018 T1 Grundlagen der AArch64-Architektur