GOP Computertechnik. Computersysteme Probeklausur 1

Größe: px
Ab Seite anzeigen:

Download "GOP Computertechnik. Computersysteme Probeklausur 1"

Transkript

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! Lösungen bitte immer nur in den dafür vorgesehenen Abschnitt eintragen. An anderen Stellen eingetragene Lösungen werden nicht bewertet. Ggf. zweiten Angabebogen anfordern. Verwenden Sie zum Schreiben bitte einen dunklen Stift - die Prüfungen werden eingescannt! Die Prüfung besteht inkl. Anhang und Konzeptpapier aus 22 Seiten - bitte überprüfen! Die angegebene Anzahl zu erreichender Punkte ist als vorläufig zu betrachten. Alle Aufgaben sind unabhängig von der Lösung vorangegangener Aufgaben lösbar. Vorangegangene Angaben können benötigt werden. Bitte ausfüllen: GOP Computertechnik Computersysteme Probeklausur Hiermit bestätige ich, dass ich vor Prüfungsbeginn darüber in Kenntnis gesetzt wurde, dass ich im Falle einer plötzlich während der Prüfung auftretenden Erkrankung das Aufsichtspersonal umgehend informieren muss. Dies wird im Prüfungsprotokoll vermerkt. Danach muss unverzüglich ein Rücktritt von der Prüfung beim zuständigen Prüfungsausschuss beantragt werden. Ein vertrauensärztliches Attest - ausgestellt am Prüfungstag - ist unverzüglich nachzureichen. Wird die Prüfung hingegen in Kenntnis der gesundheitlichen Beeinträchtigung dennoch regulär beendet, kann im Nachhinein kein Prüfungsrücktritt aufgrund von Krankheit beantragt werden. Wird die Prüfung wegen Krankheit abgebrochen, wird die Klausur mit der Note "5, - nicht erschienen" gemeldet und - unabhängig von einem Rücktrittsantrag - nicht bewertet. Name: Vorname: Matrikel-Nr.: Unterschrift: Hörsaal: Reihe: Platz: Fakultät: EI EDU BWL INF Hier Etikett einkleben (Prüfungsaufsicht): Aufg. Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Aufg. 6 Aufg. 7 Aufg. 8 Punkte: Note:

2 Übersicht Komponenten Computer-Systeme (5 Punkte) 3 2 Darstellung von Zahlen und Zeichen (7 Punkte) 3 3 Arithmetische Schaltungen (29 Punkte) 4 4 Universalrechner (9 Punkte) 5 Befehlssätze und deren Klassifikation (4 Punkte) 6 MMIX (23 Punkte) 2 6. Assembler- und Loaderbefehle (6 Punkte) MMIX Befehlsformat - Übersetzungstabelle (4 Punkte) Lade- und Speicherbefehle Alignment (4 Punkte) Arithmetische Befehle (5 Punkte) Funktionsaufrufe/Stack (4 Punkte) Pipelining (4 Punkte) 6 8 Cache (8 Punkte) 8

3 3 Komponenten Computer-Systeme (5 Punkte) a) Geben Sie drei Beispiele für in Festplatten-Sektoren abgespeicherte Verwaltungsinformationen an. (3 Punkte) b) Wie kann man die Aussage verstehen, dass heutige Rechnersysteme oft sowohl eine Harvard- als auch eine von Neumann-Architektur aufweisen? (2 Punkte) 2 Darstellung von Zahlen und Zeichen (7 Punkte) a) Wozu wird zur Umwandlung einer positiven Zahl in eine negative Zahl im 2er- Komplement nach der Invertierung aller Bits noch die Zahl addiert? (2 Punkte) b) In welche drei Ausführungs-Schritte gliedert sich die Addition zweier Gleitkommazahlen? (2 Punkte) x c) Bestimmen Sie die Kodierung der 32 Bit breiten Gleitkommazahl 8,625 nach IEEE 754 und tragen Sie das Ergebnis in nachfolgende Abbildung ein. (3 Punkte) 8,625,=, E ; e - 4= e=4tk = 27+4 =r3n

4 4 3 Arithmetische Schaltungen 3 Arithmetische Schaltungen (29 Punkte) a) Tragen Sie in nachfolgende Abbildung die Realisierung eines Bit 2-auf- Multiplexers ein. (3 Punkte) to:* Gegeben ist die aus der Vorlesung bekannte Carry-Look-Ahead-Einheit x y inv. CLA CLA CLA CLA s G 3 P 3 G C 3 G 2 P 2 C 2 G P C P Carry-Look-Ahead-Einheit GG PP C CC b) Geben Sie an, wie sich das Signal C 2 in Abhängigkeit der Signale G i, P i und CC bestimmt. (2 Punkte) c) Geben Sie an, wie sich das Signal GG bestimmt. (2 Punkte)

5 5 x Gegeben ist der folgende logische Ausdruck: x = a 3 _ (b 2 ^ a 2 ) _ (b 2 ^ b ^ a ). d) Zeichnen Sie für Fan-In = 2 ein Gatterschaltung zur Bestimmung von x. Geben Sie die maximale Anzahl an Gatterlaufzeiten zur Berechnung von x an. (3 Punkte) a 3 t.fi#ii a 2 a b b 2 x + = + Anzahl Gatterlaufzeiten: 3 -

6 6 3 Arithmetische Schaltungen Nachfolgende Abbildung zeigt einen Datenpfad, der die Anzahl identischer Bits zweier Bit breiter Datenworte w und w 2 bestimmt und in Register R3 ablegt. init 63 init/>> R clk Steuerung ende B w reset clk2 63 init/>> R2 A Add R3 w 2 Schaltung A überprüft, ob das niederwertigste Bit (LSB) der beiden anliegenden Datenworte identisch ist. Ist das LSB identisch, gibt Schaltung A die Bit breite Zahl aus. Ist das LSB unterschiedlich, gibt die Schaltung die Bit breite Zahl aus. e) Tragen Sie in nachfolgende Abbildung eine Realisierung der Schaltung A ein. (3 Punkte) A Toy %63= of #, - ± ;f o..

7 7 Schaltung B gibt nach positiven Flanken am Eingang clk am Ausgang ende den Wert aus. Im Detail funktioniert die Schaltung wie folgt: Liegt die Leitung init auf, dann wird bei einer positiven Flanke am Eingang clk : die in der Schaltung B gespeicherte Anzahl bisher gezählter positiver Flanken zurückgesetzt. Liegt die Leitung init auf, wird jede positive Flanke am Eingang clk gezählt. me Nach aufeinander folgenden positiven Taktflanken am Eingang clk mit init =wird das Signal ende auf gesetzt. Anderenfalls hat ende den Wert. f) Tragen Sie in nachfolgende Abbildung eine Realisierung der Schaltung B ein. (5 Punkte) B init Mf j t #± * clk ende "fo o HI DiU

8 8 3 Arithmetische Schaltungen Nachfolgende Abbildung zeigt noch einmal den Datenpfad. init 63 init/>> R clk Steuerung ende B w reset clk2 63 init/>> R2 A Add R3 w 2 Die Steuerung des Datenpfads soll wie folgt funktionieren: In den Zuständen und 2 sollen die Register R und R2 mit den Eingangsworten w und w 2 ( Punkt) und das Register R3 mit initialisiert werden ( Punkt). Von Zustand 2 soll in Zustand 4 verzweigt werden. Hat in Zustand 4 das Signal ende den Wert, soll in den Zustand 5 verzweigt werden (,5 Punkte). Dabei sollen alle gespeicherten Werte unverändert bleiben ( Punkt). Anderenfalls soll von Zustand 4 in Zustand 3 verzweigt werden (,5 Punkte). Dabei soll der in Register R3 stehende Wert um den von Block A ausgegebenen Wert erhöht werden ( Punkt). Von Zustand 3 soll immer in Zustand 4 verzweigt werden. Dabei sollen die in R und R2 gespeicherten Werte um eine Stelle nach rechts geschoben werden ( Punkt). g) Erweitern Sie nachfolgenden Moore-Automaten so, dass er die Hardware in gewünschter Weise steuert. Geben Sie für irrelevante Werte X an. (6 Punkte) Initialisieren knw if an 2 Initialisieren 3 Addieren 4 inner Schieben 5 Ende clk: clk2: init: reset: clk: clk2: ^ clk: clk2: clk: clk2: clk: clk2: init: init: init: init: ^ reset: ^ reset: reset: reset: X N immer ended

9 9 Nachfolgende Abbildung zeigt einen anderen Moore-Automaten. immer ende = ende = Initialisieren 2 Initialisieren 3 Addieren 4 Schieben 5 Ende clk: clk: clk: clk: clk: clk2: clk2: clk2: clk2: clk2: init: init: init: init: init: reset: reset: reset: reset: reset: ende = immer ende = immer Dieser Moore-Automat soll mit folgender Schaltung implementiert werden: clk clk2 init reset ROM 3 2 D-Register ended ende First.2 h) Tragen Sie dazu in nachstehende Tabelle binär die ROM-Inhalte für die angegebenen Adressen ein. Zustand wird mit kodiert, Zustand 2 mit,... (5 Punkte) topic- Adresse x2 Daten roroom x3, xa proz xb " ' xc t Uno oro OxA=l" ender 2mk2 OxC= 3=4^ /

10 .. 4 Universalrechner 4 Universalrechner (9 Punkte) Gegeben ist der aus der Vorlesung bekannte Universalrechner. n MSB R D23 K D4 R7 M3 n- D3 D D2 7 D 3 A2 D M4 6 D9 D8 3 ADD R6 D7 M3 25 clk A7 D6 D5 3 BZ 34 A D4 M2 D3 D :* D M R5 a D 2 M2 6 2 SUB a-b b 25 A 34 R4 M Add 2 M3 reset 3 MUL R a M M2 DIV a/b D R2 34 b a 3 b 2 ftp.t.es?i??t:e#eie*?iidi R p c 2 X 3 M R M4 M4 a) Tragen Sie in nachfolgende Tabelle binär den Speicherinhalt zur Berechnung von p 3a b ein. Gehen Sie entsprechend der Kommentare vor. Geben Sie für alle irrelevanten Werte X an. (9 Punkte) K D M4 M3 M2 M Kommentar R = a R = 3 R = 3*a R = b R = 3*a-b. xxx R = sqrt(3*a-b)

11 5 Befehlssätze und deren Klassifikation (4 Punkte) a) Kann bei einer Load-/Store-Architektur das Ergebnis einer arithmetischen Operation ohne Umweg über ein Register direkt im Speicher abgelegt werden? ( Punkt) b) Werden bei einer Register-Register-Architektur Speicherzugriffe explizit oder implizit durchgeführt? ( Punkt) c) Ist der in Aufgabe 4 gezeigte Universalrechner eine Ein-, Zwei- oder Dreiaddressmaschine? Warum? (2 Punkte)

12 2 6 MMIX 6 MMIX (23 Punkte) Hinweis: Sie können in allen Aufgaben buf, buf,... als Pufferregister verwenden. 6. Assembler- und Loaderbefehle (6 Punkte) a) Geben Sie die Befehle an, mit denen Sie im Speicher an Adresse x2 ein Datenwort zur Aufnahme einer Bit Gleitkommazahl anlegen und dieses Datenwort über die Marke Double ansprechbar machen. (2 Punkte) Double LOC # 2 Oooo oooo oooo GREG OCTA b) Geben Sie die Anweisungen an, mit denen Sie den (globalen) Namensraum Fkt: anlegen und in diesem Namensraum das Register durch den Namen ret ansprechbar machen. (2 Punkte) PREFIX Fat : ret IS $^ c) Über welchen globalen Namen können Sie ausserhalb jedes Namensraums das in Aufgabe b) benannte Register jetzt ansprechen? ( Punkt) Fkt : ref d) Geben Sie den Befehl an, mit dem Sie einen Namensraum beenden. ( Punkt) PREFIX ;

13 6.2 MMIX Befehlsformat - Übersetzungstabelle MMIX Befehlsformat - Übersetzungstabelle (4 Punkte) Beachten Sie nachfolgende Tabelle.! x.. x.. x..2 x..3 x..4 x..5 x..6 x..7 x.. x.. x2.. x3.. x4.. x5.. x6.. x7.. x8.. x9.. xa.. xb.. xc.. xd.. xe.. xf.. 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 4ν FSQRT 4ν FREM 4ν FINT 4ν MUL[I] ν MULU[I] ν DIV[I] 6ν DIVU[I] 6ν 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] ν 6ADDU[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 2µ+ν SYNC ν SWYM ν GET ν TRIP 5ν x..8 x..9 x..a x..b x..c x..d x..e x..f! a) In welches Befehlswort wird der Befehl ADD $,$2,3 übersetzt? (2 Punkte) x.. x.. x2.. x3.. x4.. x5.. x6.. x7.. x8.. x9.. xa.. xb.. xc.. xd.. xe.. xf..! 223 Gegeben ist der folgende MMIX-Code: LOC Data_Segment A TETRA # GREG $254 x2... LOC # Main LDT $,A b) In welches Befehlswort wird der Befehl LDT $,A übersetzt? (2 Punkte) y $254 TO 89 FEOO 88 On FE 4 $254 t $

14 4 6 MMIX 6.3 Lade- und Speicherbefehle Alignment (4 Punkte) a) Tragen Sie in nachfolgende Tabelle den Speicherinhalt des MMIX-Prozessors ein, der sich nach Ausführung der angegebenen Befehle ergibt. (2 Punkte) LOC GREG Data_Segment BYTE WYDE 2 = x2 x2 x22 x23 OXOA IN -2 4 A 2 2 Gegeben ist die folgende Speicherbelegung LDBSIMB LOC Data_Segment LDB $ $254,8GREG $254, - A WYDE #ABCD oxa= B OCTA # a sbisbl b) Geben Sie hexadezimal alle Bit des Registers nach Ausführung der nachfolgend angegebenen Befehle an. (2 Punkte) Its " " uudnichf LDB $,A: BU " cuitmsbauffntleu OXFFFF FFFF FFFF FFAB LDT $,$254,5: OXFFFFFFFF

15 6.5 Funktionsaufrufe/Stack Arithmetische Befehle (5 Punkte) a) Geben Sie MMIX-Befehle an, mit denen Sie Y = p (2, 3 x) mit Gleitkommaoperationen berechnen und das Ergebnis im Speicher an der Marke Y ablegen. Die Variable x ist bereits als Gleitkommazahl im Register x abgelegt. Hinweis: Die Wurzel können Sie mit dem Befehl FSQRT berechnen. (5 Punkte) 6.5 Funktionsaufrufe/Stack (4 Punkte) Die Funktion Fkt befindet sich im Namensraum Fkt: und hat ein Bit breites Parameter- Wort auf dem Stack übergeben bekommen. Der Stackpointer wurde global mit der Marke SP angelegt. a) Geben Sie die MMIX-Befehle an, mit denen Sie in der Funktion Fkt die Register und auf den Stack sichern und den Parameter in Register einlesen. (4 Punkte) FLOT bufl, 23 FLOT but 2, FDIV buflibufhbufz FMUL bwfhbufl, FSQRT butybuft STO bufhy

16 6 7 Pipelining 7 Pipelining (4 Punkte) Gegeben ist der bekannte Pipelining-Datenpfad. Sp.-Puls 4 BZ Add Adresse Befehls- Speicher Daten Clk BR Reg.-Schreiben Ergebnisauswahl ES Sp.-Schreiben Reg.-Puls Zugriffs-Art 2 SP Steuerung ALU-Funktion Direktoperand AF 32 X-Auswahl Schreib- Daten Lese Daten 32 Schreiben/ Lese- Lesen Daten $Y $Y 8..5 Lesen $Y Lesen $Z Registerblock Schreiben 8 Clk2 Lese- Daten $Z $Z Dir Op. Clk3 8 ALU ES SP Erg ALU 2 Zugriffs- Art Schreib- Daten Adr. Clk4 Daten- Speicher Schreiben Lese- Daten ES Lese Dat. Erg ALU X X X Betrachten Sie folgenden Ausschnitt aus einem MMIX-Programm: FADD a,b,c Zeile_ FDIV c,a,b Zeile_2 FMUL b,a,c Zeile_3 STO b,:a Zeile_4 a) Tritt ein Steuerungskonflikt auf? Wo bzw. warum? (2 Punkte) b) Geben Sie alle auftretenden Datenkonflikte an. (4 Punkte)

17 7 Nehmen Sie folgende Register-Belegung an: $ = x, $2 = x2, $254 = x2. Nehmen Sie desweiteren an, dass im Speicher an der Adresse x2 das Tetra x abgelegt ist (Big Endian). Nehmen Sie folgende Forwarding-Pfade an: Vom Ausgang der ALU zu den, $Y und $Z-Eingängen des auf die BD-Phase folgenden Pipeline-Registers. Vom Ende der SP-Phase (Ausgang Speicher sowie Ergebnis ALU) zu den, $Y und $Z-Eingängen des auf die BD-Phase folgenden Pipeline-Registers. c) Tragen Sie in nachfolgende Abbildung den Inhalt der Pipeline-Register für die unter den Pipeline-Registern angegebenen Befehle ein. Nehmen Sie an, dass die benötigten Forwarding-Pfade genutzt werden. Geben Sie für alle irrelevanten Eingänge X an. (8 Punkte) Reg. Schr.: Erg. Ausw.: Sp. Schr.: Reg. Schr.: Zugr.-Art: egal Erg. Ausw.: ALU: 5 Sp. Schr.: Reg. Schr.: Dir. Op.: Zugr.-Art: Erg. Ausw.: : : Lese-Daten: $Y: STO $,$254, $Z: Erg. ALU: Erg. ALU: Dir. Op.: X: X: X: STO $,$254, ADD $,$,$2 SUB $2,$2, LDB $,$254,2

18 8 8 Cache 8 Cache (8 Punkte) a) Erläutern Sie die Zuordnung Arbeitsspeicheradresse! Rahmen bei einem Direkt- Abgebildeten, einem Set-Assoziativen und einem Voll-Assoziativen Cache. (3 Punkte) b) Welcher Rahmen wird bei einem Direkt-Abgebildeten Cache beim Zugriff mit der Bit breiten Arbeitsspeicher-Adresse x abcdef ausgewählt, wenn der Schlüssel mit 44 Bit und die Byteauswahl mit 8 Bit codiert wird? (2 Punkte) c) Wie groß ist ein Voll-Assoziativer Cache, wenn der Schlüssel mit 24 Datenworten der Größe 56 Bit verglichen werden muss und die Adressbreite Bit beträgt? Geben Sie den Rechenweg an! (3 Punkte)

19 Load byte unsigned Load byte uns. immed. Load wyde Load wyde immediate Load wyde unsigned Load wyde uns. immed. Load tetra Load tetra immediate Load tetra unsigned Load tetra uns. immed. Load octa Load octa immediate Load octa unsigned Load octa uns. immed.,$y,$z,$y,z,$y,$z,$y,z,$y,$z,$y,z,$y,$z,$y,z,$y,$z,$y,z,$y,$z,$y,z,$y,$z,$y,z LDB LDBU LDW LDWU LDT LDTU LDO 72LDOU Shift left immediate; with ovf. Shift left uns., no overflow Shift left uns. immed.; no ovf. Shift right; fill with sign Shift right imm.; fill with sign Shift right unsigned; fill with Shift right uns. imm.; fill w.,$y,$z,$y,z,$y,$z,$y,z,$y,$z,$y,z SLU SR SRU Shift left; with overflow,$y,z SL,$Y,$Z Befehl Operanden Name/Aktion Schieben Schiebe-Befehle Load byte Load byte immediate,$y,$z,$y,z Befehl Operanden Name/Aktion Laden aus Speicher Daten vom Speicher in ein Register laden Lade- und Speicherbefehle M8 [u($y) + u($z)] M8 [u($y) + u(z)] u (u(m4 [u($y) + u($z)])) u (u(m4 [u($y) + u(z)])) s (s(m4 [u($y) + u($z)])) s (s(m4 [u($y) + u(z)])) u (u(m2 [u($y) + u($z)])) u (u(m2 [u($y) + u(z)])) s (s(m2 [u($y) + u($z)])) s (s(m2 [u($y) + u(z)])) u (u(m [u($y) + u($z)])) u (u(m [u($y) + u(z)])) s (s(m [u($y) + u($z)])) s (s(m [u($y) + u(z)])) $Y $Y $Y $Y u ( u($y u ( u($y u($z) u(z) u u u($z) s u(z) s u($z)) ) u(z)) ) u ( u($y u($z)) ) u($y) 2u($Z) 2 u (25 ) u ( u($y u(z)) ) u(z) u($y) 2 2 u (25 ) M8 [u($y) + u($z)] 2 Assemblerprogrammierung M8 [u($y) + u(z)] ()3... ()3... a),yz,$y,$z,$y,z Get address (relativ) Get address (absolute) Get address immed. (absolute) u (u() + 4 s(yz)) u (u($y) + u($z)) u (u($y) + u(z)) M8 [u($y) + u(z)] M8 [u($y) + u(z)] Was ist der Unterschied zwischen dem Befehl LDA und den Ladebefehlen LDB,...? GETA LDA Befehl Operanden Name/Aktion laden Marken auflösen/adressen STOU M4 [u($y) + u(z)] M4 [u($y) + u(z)] ()3... u (26 ) u (26 ) ()3... u (26 ) u (26 ) M4 [u($y) + u(z)] s() 23 s() < 23 M4 [u($y) + u(z)] s() 23 3 s() < 2,$Y,$Z Store octa unsigned Store octa uns. imm. Adressen,$Y,Z in ein Register laden Store byte unsigned Store byte uns. imm. ()5... ()5... ()5... u (26 ) u (26 ) ()5... u (26 ) u (26 ) M2 [u($y) + u(z)] s() 25 s() < 25 M2 [u($y) + u(z)] s() 25 s() < 25 M2 [u($y) + u(z)] M2 [u($y) + u(z)] ()7... ()7... M [u($y) + u(z)] M [u($y) + u(z)] M [u($y) + u($z)] ()7... s() 27 u (26 ) s() < 27 u (26 ) M [u($y) + u(z)] ()7... s() 27 u (26 ) s() < 27 u (26 ) M8 [u($y) + u(z)] 2 Assemblerprogrammierung M8 [u($y) + u(z)],$y,$z,$y,z,$y,$z,$y,z Store tetra immed.; ovf. Store tetra; with overflow,$y,$z,$y,z Store wyde unsigned Store wyde uns. imm. Store wyde immed.; ovf. Store wyde; with overflow Store byte unsigned Store byte uns. imm. Store byte immed.; ovf.,$y,$z,$y,z,$y,z,$y,$z,$y,$z,$y,z,$y,z Store byte; with overflow 2 Assemblerprogrammierung Store octa Store octa immediate 54 STO STTU STT STWU STW STBU STB,$Y,$Z Befehl Operanden Name/Aktion Schreiben in Speicher Daten vom Register in den Speicher schreiben (speichern) 56 9

20 ,$Y,Z,$Y,$Z,$Y,Z DIV DIVU,$Y,$Z Divide; signed, with overflow (case $Z = ) Divide immediate; signed, with ovf. (case $Z = ) Divide unsigned; no overflow; (case u($z) > u(rd) ) Divide unsigned; no overflow; no overflow (case u($z) u(rd) ) Divide unsigned immediate; no overflow; (case u(z) > u(rd) ) ($Y $Z)27... ($Y Z)27... Multiply unsigned; rh Multiply uns. imm.; rh,$y,$z,$y,z MULU s ( s($y)/s($z) ) s ( s($y) % s($z) ) u () $Y u28 ( u(rd$y)/u($z) ) u28 ( u(rd$y) % u($z) ) rd $Y u28 ( u(rd$y)/u(z) ) u28 ( u(rd$y) % u(z) ) u28 (u($y) u($z)) u28 (u($y) u(z)) rh rh s (u(y) s($z)) s (u(y) u(z)) s(z)) Multiply; signed, with overflow s (s($y) s($z)) 2 Assemblerprogrammierung Multiply immediate; signed, with ovf. s (s($y) u(z)) s (u(y),$y,$z,$y,z MUL 66 NEGU s (u(y) s($z)) u(y) s($z 263 ) u (25 ) u (u($y) u($z)) u (u($y) u(z)) Negate unsigned; no overflow Negate unsigned immed.; no overflow Negate; signed, with overflow,y,$z,y,$z,y,z Subtract unsigned; no overflow Subtract unsigned immed.; no ovf.,$y,$z,$y,z u (u($y) + u($z)) u (u($y) + u(z)) s (s($y) s($z)) (s($y) s($z) < 263 ) (s($y) s($z) 263 ) u (25 ) s (s($y) u(z)) (s($y) s(z) < 263 ) (s($y) s(z) 263 ) u (25 ) s (s($y) + s($z)) (s($y) + s($z) < 263 ) (s($y) + s($z) 263 ) u (25 ) s (s($y) + u(z)) (s($y) + s(z) < 263 ) (s($y) + s(z) 263 ) u (25 ) Negate immediate; signed, with overflow Subtract immediate; signed, with overflow,$y,z Subtract; signed, with overflow Add unsigned; no overflow Add unsigned; no overflow Add immediate; signed, with overflow Add; signed, with overflow Name/Aktion,Y,Z NEG SUBU SUB,$Y,$Z,$Y,$Z ADDU,$Y,Z ADD,$Y,$Z BefehlOperanden Arithmetische Befehle auf Festkommazahlen Arithmetische Befehle (Festkomma) Arithmetische Befehle,$Y,Z,$Y,$Z Divide unsigned; no overflow; (case u($z) > u(rd) ) Divide unsigned; no overflow; no overflow (case u($z) u(rd) ) Divide unsigned immediate; no overflow; (case u(z) > u(rd) ) Divide unsigned immedediate; no overflow (case u(z) u(rd) ) Divide; signed, with overflow (case $Z = ) Divide immediate; signed, with ovf. (case $Z = ) s ( s($y)/s($z) ) s ( s($y) % s($z) ) u () $Y f ( f ($Y) + f ($Z) ) u28 ( u(rd$y)/u($z) ) u28 ( u(rd$y) % u($z) ) rd $Y u28 ( u(rd$y)/u(z) ) u28 ( u(rd$y) % u(z) ) 2 Assemblerprogrammierung rd $Y,$Y,$Z Floating point add,$y,$z Floating point divide f ( f ($Y)/f ($Z) ) r [Z] a) nachfolgender Befehlssequenz Befehle zur der Festb) Tragen Geben Sie in den Befehl an, mit dem Sie Register dieberechnung Gleitkommazahl 5, kommadivisioni dividend/divisor ein und speichern Sie das Ergebnis an der zuweisen. Marke Quotient und den Divisionsrest an der Marke Remainder ab. FLOT $,5 X,$Z Put value to special purpose register r [X] $Z PUTr () rundet eine Gleitkommazahl in eine Festkommazahl. Das Runden erfolgt wie in X,Z Put immed. value to spec. purp. reg. r [X] u (u(z)) Spezialregister eingestellt. a)getwelche,z Aktion führt Operator r () aus? Getder value of special purpose register Spezialregister Befehl Operanden Name/Aktion FIXU Bit. Die oberenconvert Bit floating des Ergebnisses to fixed werden im Spezialregister rh,$z s ( r ( f ($Z) ) ) abgelegt. Zugriff auf Spezialregister without overflow c) Befehl Operanden Name/Aktion Umwandlung Festkomma <-> Gleitkomma Wie kann man 5 3 in einer einzigen Codezeile berechnen? a) Geben Sie MMIX-Befehle an, die = 3.45 in Register a ablegen.,$z Convert fixed to floating f ( s($z) ) FLOT,Z Conv.NEG fixed to float. imm. f ( u(z) ) $,5,3 SET a,345,$z Conv. uns. floating f ( u($z) ) FLOTfixed toa,a FLOTU,Z Conv. uns. fixed to float. f ( u(z) ) SET buf, imm. d) Was ist der Unterschied zwischen FLOT den Befehlen buf,bufmul und MULU? FDIV a,a,buf s ( r ( f ($Z) ) ) Convert floating to fixed 63 5) 2.3 MMIX Befehle 79 FIX,$Z f ($Z) < 2 u (2 MUL: Quell- undwith Zieloperanden overflow haben jeweils Bit 63 5 ($Z) >2 hat MULU: Die Quelloperanden haben jeweils Bit,fder Zieloperand 28 u (2 ) Nein, da der ADD-Befehl nur einen Direktoperanden unterstützt, muss der zweite p FSQRT,$Z Square root f ( f ($Z) ) Umwandlung Gleitkommazahl Festkommazahl Operand zuvor in ein Allzweckregister geladen werden. FDIV FSUB,$Y,$Z Floating point subtract f ( f ($Y) f ($Z) ) 2 Assemblerprogrammierung,$Y,$Z Floating multiplication f ( f ($Y) f ($Z) ) b)fmul Kann mit dem ADD Befehl 3 + point 5 in einer einzigen Codezeile berechnet werden? sowohl für vorzeichenlose als auch für vorzeichenbehaftete Operationen. FADD a)befehl In welchem Wertebereich können die Direktoperanden bei den Arithmetischen Operanden Name/Aktion Befehlen liegen? Arithmetische Befehle (Gleitkomma) Arithmetische Befehle auf Gleitkommazahlen 68 DIVU DIV,$Y,$Z,$Y,Z 2

21 Divide unsigned immedediate; no overflow (case u(z) u(rd) ) XYZ Jump Bitwise AND immediate $Y & u ( u(z) ) if zero Wie kann man 5 Bitwise NOT AND Bitwise NOT AND immed.,$y,$z,$y,z NAND & & &,$Y,Z Bitwise OR immediate Bitwise OR NOT Bitwise OR NOT immediate Bitwise NOT OR Bitwise NOT OR immediate Bitwise XOR Bitwise XOR immediate Bitwise NOT XOR Bitw. NOT XOR immediate,$y,$z,$y,z,$y,$z,$y,z,$y,$z,$y,z,$y,$z,$y,z ORN NOR $Y $Z u ( u(z) ) 48) ($Y $Z) ($Y u ( u(z) ) ) $Y ( u ( u(yz) ),YZ,YZ,YZ,YZ PBNP BP BEV PBP,YZ PBOD a) GO Go to location immediate Go to location JMP benutzt Relative Adressierung, während GO Absolute Adressierung Was ist der Haupt-Unterschied zwischen dem JMP-Befehl und dem GO-Befehl?,$Y,Z,$Y,$Z u ( u() + 4) ); u ( u($y) + u($z) ) u ( u() + 4) ); u ( u($y) + u(z) ) Prob. branch if odd s() % 2 = SETMH SETML a),yz,yz,yz Increase by high wyde Inc. by med. high wyde Inc. by med. low wyde Increase by low wyde Set to high wyde Set to med. high wyde Set to med. low wyde 48)) 32)) 6)) u (u() + u(yz u (u() + u(yz u (u() + u(yz 48)) 32)) 6)) u (u() + u(yz)) u (u((yz u (u(yz u (u(yz u (u(yz)) u ( u()+4 s(yz) ) u ( u()+4 s(yz) ) u ( u()+4 s(yz) ) uu (( u()+4 s(yz) ) u()+4 s(yz) ) Geben Sie die Befehle an, mit denen Sie ausschließlich durch die Verwendung von Direktoperanden die Zahl x AB CDEF in Register $ schreiben. INCH INCMH INCML,YZ,YZ,YZ,YZ Set tobranch low wyde Prob. if odd s() % 2 = Prob. branch if even s() s() % % 22 = = s() % 2 = u u ( u()+4 s(yz) ) s() ( u() + 4 s(yz) ) Prob. br.if ifodd nonpos. SETL PBOD,YZ,YZ uu ( u() + 4 s(yz) ) ( u() + 4 s(yz) ) uu ( u() + 4 s(yz) ) ( u() + 4 s(yz) ) uu ( u() + 4 s(yz) ) ( u() + 4 s(yz) ) uu ( u() + 4 s(yz) ) ( u() + 4 s(yz) ) uu ( u() + 4 s(yz) ) ( u() + 4 s(yz) ) uu ( u() + 4 s(yz) ) ( u() + 4 s(yz) ) uu ( u() + 4 s(yz) ) ( u() + 4 s(yz) ) uu u() s(yz) s(yz))) (( u() uu u() s(yz) s(yz))) (( u() u ( u() + 4 s(yz) ) u ( u() + 4 s(yz) ) u ( u() + 4 s(yz) ) s() % 2 = u u ( u()+4 s(yz)6 ) s() ( u() + 4 s(yz) ) s() % 2 =,YZ u ( u() + 4 s(xyz) ) u ( u() + 4 s(xyz) ) s() % 2>= u u ( u()+4 s(yz) s() ( u() + 4 s(yz))) Direktoperanden Befehl Operanden Name/Aktion BOD,YZ if odd PBEV s() s() > s() s() > s() > < s() < s() = s() < = s() < = s() = s() = s() = s() = Prob. branch if even if nonpositive Prob. br.if ifeven positive Prob. br.if ifpositive nonpos. Prob. br.if ifnonpositive nonneg. Prob. br.if ifnonneg. positive Prob. br.if ifpositive negative Prob. br.if ifnegative nonneg. Prob. br.if ifnonneg. nonzero Prob. br.if ifnonzero negative if negative Probable br. if zero Prob. br.if ifzero nonzero Probable br. if zero BEV,YZ if even Direktoperand in Register schreiben,yz,yz BOD PBNP INCL ($Y $Z) u ( u(z) ) ),YZ BNP PBNN SETH ($Y,YZ PBP BNN 2.3 MMIX Befehle PBEV,YZ BNP,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ BP PBN PBNN BN Befehl Operanden Name/Aktion $Y $Z $Y u ( u(z) ) 2 Assemblerprogrammierung 32) 6) u ( u(yz) ) $Y $Z $Y u ( u(z) ) BNN PBNZ PBN BNZ BN PBZ PBZ Funktionsaufruf Befehle für Funktionsaufrufe NXOR XOR 84 Bitwise OR high wyde,yz ORH ORML 48) 32) 6) ($Y & $Z) ( $Y & u ( u(z) ) ) ( u ( u(yz) ) ( u ( u(yz) ) ( u ( u(yz) ) MULU: Die Quelloperanden haben jeweils Bit, der Zieloperand hat 28,YZ Bitw. OR med. low wyde ( u ( u(yz) ) Bit. Die oberen Bit des Ergebnisses werden im Spezialregister rh ORMH abgelegt.,yz Bitw. OR med. high wyde ( u ( u(yz) ) Quell- undbitwise Zieloperanden ORL MUL:,YZ OR lowhaben wydejeweils Bit OR d) Was ist der Unterschied zwischen,$y,$z Bitwise OR den Befehlen MUL und MULU? Bw. AND wyde NEG NOT high $,5,3,YZ Bw. AND NOT med. h. wd. 3 in einer einzigen Codezeile berechnen? ANDNH ANDNMH,YZ c) Bw. AND NOT med. l. wd. PBNZ BZ,YZ ANDNML,YZ BZ Bedingte Verzweigungen BNZ,YZ if nonzero Befehl Operanden Name/Aktion ANDN,$Y,$Z Bitwise AND NOT $Y & $Z,$Y,Z Bitww AND NOT immed. $Y & u ( u(z) ) Nein, da der ADD-Befehl nur einen Direktoperanden unterstützt, muss der zweite Operand zuvor in ein Allzweckregister geladen ANDNL,YZ Bitw. AND NOT low wydewerden. & u ( u(yz) ) b) Kann mit dem ADD Befehl in einer einzigen Codezeile berechnet werden?,$y,z JMP XYZ Jump Befehl Operanden Name/Aktion AND Befehl Operanden Name/Aktion Bedingte Verzweigungen Verzweigungen Unbedingte Verzweigung JMP Befehl Operanden Name/Aktion Verzweigungsbefehle sowohl für vorzeichenlose,$y,$z Bitwise AND als auch für vorzeichenbehaftete Operationen. $Y & $Z Befehl Operanden Name/Aktion $Y 2 Assemblerprogrammierung rd a) In welchem Wertebereich können die Direktoperanden bei den Arithmetischen Logische Operationen Befehlen liegen? Logische Operationen auf Bit-Ebene 74 2

22 22 Konzeptpapier Konzeptpapier Verwenden Sie dieses Blatt für Notizen. Falls Inhalte dieses Blatts bewertet werden sollen, müssen Sie das auf diesem Blatt und bei der jeweiligen Teilaufgabe kennzeichnen.

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

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

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

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

Ü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

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 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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Namensräume - der PREFIX-Befehl

Namensräume - der PREFIX-Befehl 65 MMIX Befehle 33 Namensräume - der PREFIX-Befehl Der PREFIX-Befehl ist ein Assembler-Befehl Er wird verwendet um in einem Programm vorkommenden Namen vom Assembler-Präprozessor durch Voranstellen einer

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

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

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

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

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

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

stackpointer dentals Basisadresse Arbeitsspeicher, Program mdaten wte Reicksprungadreson ltbergabe parameter Dater warden immeruber stack pointer

stackpointer dentals Basisadresse Arbeitsspeicher, Program mdaten wte Reicksprungadreson ltbergabe parameter Dater warden immeruber stack pointer 322 6 MMIXProzessor T i) Was ist der Stack? Bereich im Program mdaten wte lokale Arbeitsspeicher der lokale Register Reicksprungadreson ltbergabe parameter enthaet T j) Wo beginnt der Stack und in welche

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

LOC Data_Segment

LOC Data_Segment 65 MMIX Befehle 291 In folgendem Programmcode wird XXX XXXXXXXX als Platzhalter für einen einzelnen Befehl verwendet: : LOC Data_Segment a iii GREG @ :;fff ±t A OCTA #FFFFFFFFFFFFFFFF B TETRA #87654321

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

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

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

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

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

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

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

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

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

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

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1= Arithmetische Schaltungen c) Vervollständigen Sie nachfolgend abgebildeten Zustands-Automaten so, dass er den Multiplizierer wie gewünscht steuert. Nehmen Sie an, dass Sie zur Detektion des Schleifen-Abbruchs

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

Ü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

3 Initialisierung. Initialisierung. Addieren clk_mkand= clk_produkt= multiplexer= multiplexer= I0 init/>>1= mon. init/>>1= 0.

3 Initialisierung. Initialisierung. Addieren clk_mkand= clk_produkt= multiplexer= multiplexer= I0 init/>>1= mon. init/>>1= 0. u Arithmetische Schaltungen c) Vervollständigen Sie nachfolgend abgebildeten s-automaten so, dass er den Multiplizierer wie gewünscht steuert Nehmen Sie an, dass Sie zur Detektion des Schleifen-Abbruchs

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

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

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel des

Mehr

Technische Universität München Fakultät für Mathematik Mathematik 1 (Elektrotechnik) Probeklausur Prof. Dr. Anusch Taraz 24.

Technische Universität München Fakultät für Mathematik Mathematik 1 (Elektrotechnik) Probeklausur Prof. Dr. Anusch Taraz 24. Note: Name Vorname Lerngruppen-Nummer Tutorübung-Nr. Hiermit bestätige ich, dass ich vor Prüfungsbeginn darüber in Kenntnis gesetzt wurde, dass ich im Falle einer plötzlich während der Prüfung auftretenden

Mehr

Integrierte Schaltungen

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

Mehr

Einführung Programmierpraktikum C Michael Zwick

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

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

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)

Mehr

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer Übung RA, Kapitel 1.5 1. Beantworten Sie bitte folgende Repetitionsfragen 1. Beschreiben Sie in eigenen Worten und mit einer Skizze die Schichtung einer Multilevel Maschine. Folie 5, rechte Seite 2. Welche

Mehr

Daniel Betz Wintersemester 2011/12

Daniel Betz Wintersemester 2011/12 Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register

Mehr

21. Februar Name:. Vorname. Matr.-Nr:. Studiengang

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,

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

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

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

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

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

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

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

Einige Teilgebiete der Informatik

Einige Teilgebiete der Informatik Einige Teilgebiete der Informatik Theoretische Informatik Formale Sprachen, Automatentheorie, Komplexitätstheorie, Korrektheit und Berechenbarkeit, Algorithmik, Logik Praktische Informatik Betriebssysteme,

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 8 Musterlösung zu Übung 5 Datum : 8.-9. November 8 Aufgabe : MIPS Architektur Das auf der nächsten

Mehr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2017 Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch 21.06.2017, 14:00 Uhr 1.1. Einführung Programmsteuerbefehle

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

"Organisation und Technologie von Rechensystemen 4"

Organisation und Technologie von Rechensystemen 4 Klausur OTRS-4, 29.09.2004 Seite 1 (12) INSTITUT FÜR INFORMATIK Lehrstuhl für Rechnerarchitektur (Informatik 3) Universität Erlangen-Nürnberg Martensstr. 3, 91058 Erlangen 29.09.2004 Klausur zu "Organisation

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

Carry Lookahead Adder

Carry Lookahead Adder Carry Lookahead Adder Mittels der Generate und Propagate Ausdrücke lässt ich dann für jede Stelle i der Carry (Übertrag) für die Stelle i+1 definieren: Für einen 4 Stelligen Addierer ergibt sich damit:

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

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

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

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

Zusammenfassung der Assemblerbefehle des 8051

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

Mehr

Einführung. Computertechnik Dr. Michael Zwick

Einführung. Computertechnik Dr. Michael Zwick Einführung Computertechnik Dr. Michael Zwick Vorlesung, Übung & Fragestunde Dr.-Ing. Michael Zwick Raum Z945 zwick@tum.de (089) 289 23609 Modul Computertechnik und Programmieren Computertechnik V/Ü/P =

Mehr

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente 7 Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel

Mehr

Speichern von Zuständen

Speichern von Zuständen Speichern von Zuständen Erweiterung eines R S Latch zu einem D Latch (D=Data, C=Clock) R S altes Q neues Q 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 R S C D altes Q neues Q 0 0 0 0 0 1 0 1 0 0 1

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

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

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 20.03.09 4-1 Heutige große Übung Ankündigung

Mehr

Von-Neumann-Architektur

Von-Neumann-Architektur Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen

Mehr

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein.

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein. 3.1 Schaltungselemente 129 b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein. 2 1 0 1 1 130 3 Arithmetische Schaltungen emultiplexer emultiplexer

Mehr

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

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

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

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