Bachelorprüfung Modul Computertechnik

Größe: px
Ab Seite anzeigen:

Download "Bachelorprüfung Modul Computertechnik"

Transkript

1 Prüfungsfähigkeit: Bachelorprüfung Modul Computertechnik Computersysteme 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. 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: Name: Vorname: Matrikel-Nr.: Unterschrift: Hörsaal: Reihe: Platz: Fakultät: EI EDU BWL INF Hier Etikett einkleben (Prüfungsaufsicht): Punkte: Aufg. Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Aufg. 6 Summe

2 Übersicht Komponenten Computer-Systeme (4 Punkte) 3 2 Zahldarstellung (4 Punkte) 3 3 MMIX (3 Punkte) 4 3. Assembler- und Loaderbefehle (3 Punkte) MMIX Befehlsformat - Übersetzungstabelle (3 Punkte) Befehls-Definitionen (4 Punkte) Lade- und Speicherbefehle Alignment (7 Punkte) Arithmetische Befehle (6 Punkte) Funktionsaufrufe/Stack (7 Punkte) Mikroarchitektur (2 Punkte) 4. MMIX-Datenpfad ( Punkte) Entwurf eines Moore-Automaten (7 Punkte) ROM basierte Steuerung (4 Punkte) Pipelining (8 Punkte) 6 6 Cache ( Punkte) 8

3 3 Komponenten Computer-Systeme (4 Punkte) a) Nennen Sie drei logische Grundeinheiten eines Prozessors. (3 Punkte) b) Wo sind die Direkt-Operanden eines Befehls gespeichert? ( Punkt) 2 Zahldarstellung (4 Punkte) a) Welchen Wert hat eine Zahl, deren Kodierung als Bit breite Gleitkomma-Zahl xc2b 8 lautet? Geben Sie den Rechenweg an! (4 Punkte)

4 4 3 MMIX 3 MMIX (3 Punkte) Hinweis: Sie können in allen Aufgaben buf, buf,... als Pufferregister verwenden. 3. Assembler- und Loaderbefehle (3 Punkte) a) Geben Sie die Anweisung an, mit der Sie Register durch den Namen erg ansprechbar machen. ( Punkt) b) Wie können Sie einen Namensraum beenden? ( Punkt) c) Mit welchem Befehl können Sie im Speicher ein 6 Bit breites Datenwort zur Aufnahme einer Zahl im 2er-Komplement reservieren? ( Punkt) 3.2 MMIX Befehlsformat - Übersetzungstabelle (3 Punkte) Beachten Sie die Tabelle auf der rechten Seite. a) In welches Befehlswort wird der Befehl SUB $,$,3 übersetzt? (2 Punkte) b) Was bedeutet in der Tabelle der Ausdruck [B]? ( Punkt)

5 3.3 Befehls-Definitionen 5! x.. x.. x2.. x3.. x4.. x5.. x6.. x7.. x8.. x9.. xa.. xb.. xc.. xd.. xe.. xf..! x.. x.. x..2 x..3 x..4 x..5 x..6 x..7 TRAP 5ν FCMP ν FUN ν FEQL ν FADD 4ν FIX 4ν FSUB 4ν FIXU 4ν FLOT[I] 4ν FLOTU[I] 4ν SFLOT[I] 4ν SFLOTU[I] 4ν FMUL 4ν FCMPE 4ν FUNE ν FEQLE 4ν FDIV 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 x.. x.. x2.. x3.. x4.. x5.. x6.. x7.. x8.. x9.. xa.. xb.. xc.. xd.. xe.. xf..! 3.3 Befehls-Definitionen (4 Punkte) a) Welchen Effekt hat der Ausdruck ra ra u (25 )? (2 Punkte) b) Wozu wird beim SETL-Befehl der Ausdruck u (u(yz)) verwendet? (2 Punkte)

6 6 3 MMIX 3.4 Lade- und Speicherbefehle Alignment (7 Punkte) a) Tragen Sie in nachfolgende Tabelle den Speicherinhalt des MMIX-Prozessors ein, der sich nach Ausführung der angegebenen Befehle ergibt. (3 Punkte) LOC Data_Segment BYTE 7 WYDE 25 Adresse: Daten: x2 x2 x22 x23 x24 Das folgende MMIX-Programm wird augeführt: LOC Data_Segment A WYDE #C3 B OCTA #ABCD23 LOC # Main LDBU $,A LDB $2,$254, LDT $3,$254,5 STO $3,A TRAP,Halt,

7 3.5 Arithmetische Befehle 7 Geben Sie für den Zeitpunkt der Ausführung des TRAP-Befehls hexadezimal alle Bit... b)... des in Register gespeicherten Datenworts an. ( Punkt) c)... des in Register 2 gespeicherten Datenworts an. ( Punkt) d)... des in Register 3 gespeicherten Datenworts an. Geben Sie ebenfalls hexadezimal alle Bits eines über die Marke A adressierten 32 Bit breiten Datenworts an. (2 Punkte) 3.5 Arithmetische Befehle (6 Punkte) a) Geben Sie MMIX-Befehle an, mit denen Sie X = 2,5 a + b berechnen und das Ergebnis im Speicher an der Marke X ablegen. Die Variable a und b sind bereits als Gleitkommazahlen in den Registern a und b abgelegt. (6 Punkte) Hinweis: Die Wurzel können Sie mit dem Befehl FSQRT berechnen.

8 8 3 MMIX 3.6 Funktionsaufrufe/Stack (7 Punkte) Eine mit 2 Parametern aufgerufene Funktion hat die Register,, 2 und 3 (in dieser Reihenfolge) auf den Stack gesichert, ein Ergebnis berechnet und dieses in Register abgelegt. Die Rücksprungadresse wurde in Register übergeben und soll auch wieder dort abgelegt werden. Der Stackpointer kann über die global definierte Marke SP referenziert werden. a) Geben Sie MMIX-Befehle an, mit denen Sie aus dem Namensraum Fkt: heraus das Ergebnis auf den Stack sichern, die Register wiederherstellen, und zum Funktionsaufrufer zurückspringen. (5 Punkte) Hinweis: Der Stackpointer zeigt auf die Sicherung von Register. b) Geben Sie MMIX-Befehle an, mit denen Sie aus dem Namensraum Main: heraus das Ergebnis o.g. Funktion vom Stack in das Register $ einlesen und den Stackpointer anpassen. (2 Punkte)

9 3.6 Funktionsaufrufe/Stack 9 Diese Seite ist absichtlich leer.

10 4 Mikroarchitektur 4 Mikroarchitektur (2 Punkte) 4. MMIX-Datenpfad ( Punkte) Interrupt Enable-Bits ermöglichen das Freischalten () oder Sperren () von Interrupts. Interrupt Event-Bits zeigen an, ob ein entsprechendes Ereignis aufgetreten ist () oder nicht (). Im Spezialregister ra dienen die Bits V zur Steuerung der Interrupt-Behandlung von Festkommazahl-Überläufen. ra 63 interrupt enable 4 V interrupt event 6 V a) Tragen Sie in nachfolgende Abbildung eine Schaltung ein, die das Ausgangssignal interrupt auf setzt, wenn ein Festkommazahl-Überlauf stattgefunden hat und der entsprechende Interrupt freigeschaltet ist. (2 Punkte) ra interrupt Nehmen Sie an, dass der MMIX-Prozessor über einen Befehl RETI mit Opcode xf9 verfügt, der aus einer Interrupt-Service-Routine zurückspringt. b) Tragen Sie in nachfolgende Abbildung eine Schaltung ein, die für den Fall, dass im Befehlsregister der RETI-Befehl steht, den Ausgang RETI auf setzt, anderenfalls auf. (2 Punkte) Befehls- Register 32 RETI

11 4. MMIX-Datenpfad Die nachfolgend abgebildete Schaltung soll folgende Funktion erfüllen: Wenn ein Interrupt auftritt (Signal interrupt wechselt von auf ), soll in die Interrupt Service Routine (ISR) verzweigt werden und die Rücksprungadresse im Register Rücksprungadresse abgelegt werden. Wenn der RETI-Befehl ausgeführt wird (RETI = ), soll an die im Register Rücksprungadresse stehende Adresse verzweigt werden. Anderenfalls soll der im Speicher auf den aktuellen Befehl folgende Befehl ausgeführt werden. c) Tragen Sie in nachfolgende Schaltung geeignete Verbindungen ein, damit sich das beschriebene Verhalten ergibt. (6 Punkte) RETI interrupt Rück- sprung- adresse Befehls- zähler ISR Adresse 4 ADD

12 2 4 Mikroarchitektur 4.2 Entwurf eines Moore-Automaten (7 Punkte) Für nachfolgend angegebenen Datenpfad soll eine Steuerung entwickelt werden. 4 ADD R3 Offset Steuerung Ende- Detektor Lese- Adresse ende Daten- Speicher schreiben R2 Mittelwert Schreib- Adresse ADD Adr. Ausg. R Daten Die Steuer- und Signalleitungen sind jeweils Bit breit, die Datenleitungen > Bit. Die Steuerung soll wie folgt funktionieren: In den Zuständen und sollen das Register Offset sowie die Register Rx (x =, 2, 3) mit initialisiert werden (,5 Punkte). In den Zuständen 2 und 3 soll der im Speicher an der Adresse Lese-Adresse + Offset stehende Wert in das Register R übernommen werden (,5 Punkte). In den Zuständen 4 und 5 soll das durch den Block Mittelwert berechnete Datenwort im Speicher an der Adresse Schreibadresse + Offset abgelegt werden. ( Punkt). Ist im Zustand 5 ende ==, soll in den Zustand 2 verzweigt werden, anderenfalls in den Zustand 6 ( Punkt). Beim Übergang von Zustand 5 auf 2 soll der im Register Offset stehende Wert um 4 erhöht werden ( Punkt). Ausgehend vom Zustand soll bis zum Zustand 5 immer in den nächsten Zustand verzweigt werden. Beim Übergang in den Zustand 6 sollen sich die in den Registern bzw. im Speicher abgelegten Werte nicht ändern ( Punkt)

13 4.2 Entwurf eines Moore-Automaten 3 a) Tragen Sie in nachfolgenden Moore-Automaten geeignete Ausgangswerte und Übergänge ein, so dass sich das gewünschte Verhalten ergibt. (7 Punkte) Initialisierung Initialisierung 2 Schieben 3 Schieben 4 Speichern 5 Speichern 6 Ende immer

14 4 4 Mikroarchitektur 4.3 ROM basierte Steuerung (4 Punkte) Nachfolgende Abbildung zeigt einen anderen Moore-Automaten. immer ende == ende == Initialisierung Initialisierung 2 Schieben 3 Schieben X X ende == ende == immer 4 Speichern 5 Speichern 6 Ende X X X X immer immer immer

15 4.3 ROM basierte Steuerung 5 Der abgebildete Moore-Automat soll mit folgender ROM-basierten Steuerung implementiert werden: ROM Speicher 3 2 D2 Q2 D Q D Q clk ende a) Tragen Sie in nachstehende ROM-Tabelle binär die Daten ein, die an den angegebenen Adressen abgelegt sein müssen, damit die Steuerung den gezeigten Moore-Automaten realisiert. (4 Punkte) Hinweis: Zustand wird als codiert, Zustand als, Zustand 2 als,... Adresse Daten

16 6 5 Pipelining 5 Pipelining (8 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 $X Lese Daten $X $X 32 Schreiben/ Lese- Lesen $X Daten $Y $Y 8..5 Lesen $Y Lesen $Z Registerblock Schreiben 8 Clk2 Lese- Daten $Z $Z Dir Op. Clk3 8 ALU ES SP $X Erg ALU 2 Zugriffs- Art Schreib- Daten Adr. Clk4 Daten- Speicher Schreiben Lese- Daten ES Lese Dat. Erg ALU X X X a) Welche Funktion haben Forwarding-Pfade? Wozu ist das nötig? (2 Punkte) Betrachten Sie folgenden Ausschnitt aus einem MMIX-Programm: FMUL $,$2,$3 Zeile_ FSUB $3,$2,$ Zeile_2 FADD $2,$,$3 Zeile_3 STO $3,:A Zeile_4 b) Geben Sie alle auftretenden Datenkonflikte an. (4 Punkte)

17 7 c) Erklären Sie den Begriff Strukturkonflikt und geben Sie ein Beispiel an. (2 Punkte) d) Erklären Sie den Begriff Steuerungskonflikt und geben Sie ein Beispiel an. (2 Punkte) Nehmen Sie folgende Register-Belegung an: $ = x, $2 = x22, $3 = x33, $254 = x2. Nehmen Sie desweiteren an, dass im Speicher an der OCTA- Adresse x2 der Wert x abcdef steht. e) Tragen Sie in nachfolgende Abbildung den Inhalt der Pipeline-Register für die unter den Pipeline-Registern angegebenen Befehle ein. Geben Sie für alle irrelevanten Einträge X an. Nehmen Sie an, dass die benötigten Forwarding-Pfade zwischen der SP/AF-Phase und der BD-Phase geschaltet sind. (8 Punkte) Reg. Schr.: Erg. Ausw.: Sp. Schr.: Reg. Schr.: Zugr.-Art: X Erg. Ausw.: ALU: x2 Sp. Schr.: Reg. Schr.: Dir. Op.: Zugr.-Art: Erg. Ausw.: $X: $X: Lese-Daten: $Y: STT $,$254, $Z: Erg. ALU: Erg. ALU: Dir. Op.: X: X: X: STT $,$254, ADDU $,$,$2 SUB $2,$2,# LDB $,$254,5

18 8 6 Cache 6 Cache ( Punkte) a) Erläutern Sie die Zuordnung Arbeitsspeicheradresse Rahmen bei einem Direktabgebildeten, einem Set-Assoziativen und einem Vollassoziativen Cache. (3 Punkte) b) Wie groß ist ein vollassoziativer Cache, wenn der Schlüssel mit 28 Datenworten der Größe 52 Bit verglichen werden muss und die Adressbreite Bit beträgt? (3 Punkte) c) Über wieviele Cache-Rahmen verfügt ein 4 fach Set-Assoziativer Cache-Speicher, wenn zur Codierung der Set-Nummer Bit verwendet werden? (2 Punkte) d) Welcher Rahmen wird bei einem direktabgebildeten Cache beim Zugriff mit der Bit breiten Arbeitsspeicher-Adresse x abcdef ausgewählt, wenn der Schlüssel mit 36 Bit und die Byteauswahl mit 6 Bit codiert wird? (2 Punkte)

19 9 Laden aus Speicher Schreiben in Speicher Befehl Operanden Name/Aktion Definition Befehl Operanden Name/Aktion Definition LDB LDBU LDW LDWU LDT LDTU LDO LDOU Schieben $X,$Y,$Z Load byte $X s (s(m [u($y)+u($z)])) $X,$Y,Z Load byte immediate $X s (s(m [u($y)+u(z)])) $X,$Y,$Z Load byte unsigned $X u (u(m [u($y)+u($z)])) $X,$Y,Z Load byte uns. immed. $X u (u(m [u($y)+u(z)])) $X,$Y,$Z Load wyde $X s (s(m 2[u($Y)+u($Z)])) $X,$Y,Z Load wyde immediate $X s (s(m 2[u($Y)+u(Z)])) $X,$Y,$Z Load wyde unsigned $X u (u(m 2[u($Y)+u($Z)])) $X,$Y,Z Load wyde uns. immed. $X u (u(m 2[u($Y)+u(Z)])) $X,$Y,$Z Load tetra $X s (s(m 4[u($Y)+u($Z)])) $X,$Y,Z Load tetra immediate $X s (s(m 4[u($Y)+u(Z)])) $X,$Y,$Z Load tetra unsigned $X u (u(m 4[u($Y)+u($Z)])) $X,$Y,Z Load tetra uns. immed. $X u (u(m 4[u($Y)+u(Z)])) $X,$Y,$Z Load octa $X M8[u($Y)+u($Z)] $X,$Y,Z Load octa immediate $X M8[u($Y)+u(Z)] $X,$Y,$Z Load octa unsigned $X M8[u($Y)+u($Z)] $X,$Y,Z Load octa uns. immed. $X M8[u($Y)+u(Z)] Befehl Operanden Name/Aktion Definition SL SLU SR SRU $X,$Y,$Z Shift left; with overflow $X,$Y,Z Shift left immediate; with ovf. $X,$Y,$Z Shift left uns., no overflow $X u $X,$Y,Z Shift left uns. immed.; no ovf. $X u $X u ( u($y u($z)) ) u($y) 2 u($z) 2 ) ra ra u (25 ) $X u ( u($y u(z)) ) u($y) 2 u(z) 2 ) ra ra u (25 ) ( u($y u($z)) ) ( 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 $X $Y u u($z) $X,$Y,Z Shift right uns. imm.; fill w. $X $Y u u(z) STB STBU STW STWU STT STTU STO STOU Marken Befehl Operanden auflösen/adressen Name/Aktion laden Definition LDA $X,$Y,$Z Store byte; with overflow $X,$Y,Z Store byte immed.; ovf. $X,$Y,$Z Get address (absolute) $X u (u($y)+u($z)) $X,$Y,Z Get address immed. (absolute) $X u (u($y)+u(z)) GETA $X,YZ Get address (relativ) $X u M[u($Y)+u($Z)] ($X)7... s($x) 2 7 ) ra ra u (26 ) s($x) < 2 7 ) ra ra u (26 ) M[u($Y)+u(Z)] ($X)7... s($x) 2 7 ) ra ra u (26 ) s($x) < 2 7 ) ra ra u (26 ) $X,$Y,$Z Store byte unsigned M[u($Y)+u(Z)] ($X)7... $X,$Y,Z Store byte uns. imm. M[u($Y)+u(Z)] ($X)7... $X,$Y,$Z Store wyde; with overflow $X,$Y,Z Store wyde immed.; ovf. M2[u($Y)+u(Z)] ($X)5... s($x) 2 5 ) ra ra u (26 ) s($x) < 2 5 ) ra ra u (26 ) M2[u($Y)+u(Z)] ($X)5... s($x) 2 5 ) ra ra u (26 ) s($x) < 2 5 ) ra ra u (26 ) $X,$Y,$Z Store wyde unsigned M2[u($Y)+u(Z)] ($X)5... $X,$Y,Z Store wyde uns. imm. M2[u($Y)+u(Z)] ($X)5... $X,$Y,$Z Store tetra; with overflow $X,$Y,Z Store tetra immed.; ovf. M4[u($Y)+u(Z)] ($X)3... s($x) 2 3 ) ra ra u (26 ) s($x) < 2 3 ) ra ra u (26 ) M4[u($Y)+u(Z)] ($X)3... s($x) 2 3 ) ra ra u (26 ) s($x) < 2 3 ) ra ra u (26 ) $X,$Y,$Z Store byte unsigned M4[u($Y)+u(Z)] ($X)3... $X,$Y,Z Store byte uns. imm. M4[u($Y)+u(Z)] ($X)3... $X,$Y,$Z Store octa M8[u($Y)+u(Z)] $X $X,$Y,Z Store octa immediate M8[u($Y)+u(Z)] $X $X,$Y,$Z Store octa unsigned M8[u($Y)+u(Z)] $X $X,$Y,Z Store octa uns. imm. M8[u($Y)+u(Z)] $X (u(@) + 4 s(yz))

20 2 Arithmetische Befehle (Festkomma) BefehlOperanden Name/Aktion Definition $X,$Y,$Z Add; signed, with overflow ADD $X,$Y,Z Add immediate; signed, with overflow $X s (s($y)+s($z)) (s($y)+s($z) < 2 63 ) (s($y)+s($z) 2 63 ) ) ra ra u (25 ) $X s (s($y)+u(z)) (s($y)+s(z) < 2 63 ) (s($y)+s(z) 2 63 ) ) ra ra u (25 ) $X,$Y,$Z Add unsigned; no overflow $X u (u($y)+u($z)) ADDU $X,$Y,$Z Add unsigned; no overflow $X u $X,$Y,Z Add unsigned; no overflow $X u (u($y)+u(z)) $X,$Y,$Z Subtract; signed, with overflow SUB $X,$Y,Z Subtract immediate; signed, with overflow $X s (s($y) s($z)) (s($y) s($z) < 2 63 ) (s($y) s($z) 2 63 ) ) ra ra u (25 ) $X s (s($y) u(z)) (s($y) s(z) < 2 63 ) (s($y) s(z) 2 63 ) ) ra ra u (25 ) SUBU $X,$Y,$Z Subtract unsigned; no overflow $X u (u($y) u($z)) $X,$Y,Z Subtract unsigned immed.; no ovf. $X u (u($y) u(z)) $X,Y,$Z Negate; signed, with overflow NEG $X s (u(y) s($z)) u(y) s($z 2 63 ) ) ra ra u (25 ) $X,Y,Z Negate immediate; signed, with overflow $X s (u(y) s(z)) NEGU $X,Y,$Z Negate unsigned; no overflow $X s (u(y) s($z)) $X,Y,Z Negate unsigned immed.; no overflow $X s (u(y) u(z)) $X,$Y,$Z Multiply; signed, with overflow $X s (s($y) s($z)) MUL $X,$Y,Z Multiply immediate; signed, with ovf. $X s (s($y) u(z)) $X,$Y,$Z Multiply unsigned; rh ($Y $Z) rh$x u 28 (u($y) u($z)) MULU $X,$Y,$Z Multiply unsigned; rh ($Y $Z) $X,$Y,Z Multiply uns. imm.; rh ($Y Z) rh$x u 28 (u($y) u(z)) Divide; signed, with overflow $X s (bs($y)/s($z)c) $X,$Y,$Z (case $Z 6= ) rr s ( s($y)%s($z)) DIV $X,$Y,Z Divide immediate; signed, with ovf. $X u () (case $Z = ) rr $Y $X,$Y,$Z DIVU Divide unsigned; no overflow; $X u 28 ( bu(rd$y)/u($z)c ) (case u($z) > u(rd) ) rr u 28 ( u(rd$y)%u($z)) Divide unsigned; no overflow; $X rd no overflow (case u($z) apple u(rd) ) rr $Y Divide unsigned immediate; $X u 28 ( bu(rd$y)/u(z)c ) no overflow; (case u(z) > u(rd) ) rr u 28 ( u(rd$y)%u(z)) Divide; signed, with overflow $X s (bs($y)/s($z)c) $X,$Y,$Z (case $Z 6= ) rr s ( s($y)%s($z)) DIV $X,$Y,Z Divide immediate; signed, with ovf. $X u () (case $Z = ) rr $Y $X,$Y,$Z DIVU $X,$Y,Z Divide unsigned; no overflow; $X u 28 ( bu(rd$y)/u($z)c ) (case u($z) > u(rd) ) rr u 28 ( u(rd$y)%u($z)) Divide unsigned; no overflow; $X rd no overflow (case u($z) apple u(rd) ) rr $Y Divide unsigned immediate; $X u 28 ( bu(rd$y)/u(z)c ) no overflow; (case u(z) > u(rd) ) rr u 28 ( u(rd$y)%u(z)) Divide unsigned immedediate; $X rd no overflow (case u(z) apple u(rd) ) rr $Y Arithmetische Befehle (Gleitkomma) Befehl Operanden Name/Aktion Definition FADD $X,$Y,$Z Floating point add $X f ( f ($Y)+f($Z)) FSUB $X,$Y,$Z Floating point subtract $X f ( f ($Y) f($z)) FMUL $X,$Y,$Z Floating point multiplication $X f ( f ($Y) f($z)) FDIV $X,$Y,$Z Floating point divide $X f ( f ($Y)/f($Z)) p FSQRT $X,$Z Square root $ $X f f($z)) Umwandlung Befehl Operanden Festkomma Name/Aktion <-> Gleitkomma Definition FLOT $X,$Z Convert fixed to floating $X f ( s($z)) $X,Z Conv. fixed to float. imm. $X f ( u(z)) FLOTU $X,$Z Conv. uns. fixed to floating $X f ( u($z)) $X,Z Conv. uns. fixed to float. imm. $X f ( u(z)) Convert floating to fixed FIX $X,$Z with overflow $X s ( r( f ($Z))) f($z) < 2 63 ) ra ra u (25 ) f($z) > 2 63 ) ra ra u (25 ) Convert floating to fixed FIXU $X,$Z $X s without overflow ( r( f ($Z))) Spezialregister Befehl Operanden Name/Aktion Definition GET $X,Z Get value of special purpose register $X r[z] PUT X,$Z Put value to special purpose register r[x] $Z X,Z Put immed. value to spec. purp. reg. r[x] u (u(z))

21 2 Divide unsigned immedediate; $X rd no overflow (case u(z) apple u(rd) ) rr $Y Logische Operationen Verzweigungen Befehl Operanden Name/Aktion Definition Befehl Operanden Name/Aktion Definition AND ANDN $X,$Y,$Z Bitwise AND $X $Y & $Z $X,$Y,Z Bitwise AND $Y & u ( u(z)) immediate $X $Y & u $X,$Y,$Z Bitwise AND NOT $X $Y & $Z $X,$Y,Z Bitww AND NOT immed. $Y & u ( u(z)) $X $Y & u ANDNL $X,YZ Bitw. AND NOT low wyde $X $X & u ( u(yz)) BNZ $X,YZ Branch if nonzero s($x) 6= u ( u(@) + 4 s(yz)) ANDNML $X,YZ Bw. AND NOT med. l. wd. $X $X & ( u ( u(yz)) 6) PBNZ $X,YZ Prob. br. if nonzero s($x) 6= u ( u(@) + 4 s(yz)) ANDNMH $X,YZ Bw. AND NOT med. h. wd. $X $X & ( u ( u(yz)) 32) BN $X,YZ Branch if negative s($x) < u ( u(@) + 4 s(yz)) ANDNH $X,YZ Bw. AND NOT high wyde $X $X & ( u ( u(yz)) 48) PBN $X,YZ Prob. br. if negative s($x) < u ( u(@) + 4 s(yz)) NAND OR $X,$Y,$Z Bitwise NOT AND $X ($Y & $Z) $X,$Y,Z Bitwise NOT AND ( $Y & u ( u(z))) immed. $X ( $Y & u $X,$Y,$Z Bitwise OR $X $Y $Z $X,$Y,Z Bitwise OR $Y u ( u(z)) immediate $X $Y u ORL $X,YZ Bitwise OR low wyde $X $X u ( u(yz)) ORML $X,YZ Bitw. OR med. low wyde $X $X ( u ( u(yz)) 6) ORMH $X,YZ Bitw. OR med. high wyde $X $X ( u ( u(yz)) 32) ORH $X,YZ Bitwise OR high wyde $X $X ( u ( u(yz)) 48) ORN NOR XOR NXOR $X,$Y,$Z Bitwise OR NOT $X $Y $Z $X,$Y,Z Bitwise OR NOT $Y u ( u(z)) immediate $X $Y u $X,$Y,$Z Bitwise NOT OR $X ($Y $Z) $X,$Y,Z Bitwise NOT OR ($Y u ( u(z))) immediate $X ($Y u $X,$Y,$Z Bitwise XOR $X $Y $Z $X,$Y,Z Bitwise XOR $Y u ( u(z)) immediate $X $Y u $X,$Y,$Z Bitwise NOT XOR $X ($Y $Z) $X,$Y,Z Bitw. NOT XOR immediate ($Y u ( u(z))) $X ($Y u Funktionsaufruf Befehl Operanden Name/Aktion Definition $X,$Y,$Z Go to location GO $X,$Y,Z Go to location immediate JMP XYZ u ( u(@) + 4 s(xyz)) Befehl Operanden Name/Aktion Definition BZ $X,YZ Branch if zero s($x) u ( u(@) + 4 s(yz)) PBZ $X,YZ Probable br. if zero s($x) u ( u(@) + 4 s(yz)) BNN $X,YZ Branch if nonneg. s($x) u ( u(@) + 4 s(yz)) PBNN $X,YZ Prob. br. if nonneg. s($x) u ( u(@) + 4 s(yz)) BP $X,YZ Branch if positive s($x) > u ( u(@) + 4 s(yz)) PBP $X,YZ Prob. br. if positive s($x) > u ( u(@) + 4 s(yz)) BNP $X,YZ Branch if nonpositive s($x) apple u ( u(@) + 4 s(yz)) PBNP $X,YZ Prob. br. if nonpos. s($x) apple u ( u(@) + 4 s(yz)) BEV $X,YZ Branch if even u ( u(@)+4 s(yz)) PBEV $X,YZ Prob. branch if even u ( u(@)+4 s(yz)) BOD $X,YZ Branch if odd u ( u(@)+4 s(yz)) PBOD $X,YZ Prob. branch if odd u ( u(@)+4 s(yz)) Direktoperanden Befehl Operanden Name/Aktion Definition SETL $X,YZ Set to low wyde u (u(yz)) $X u SETML $X,YZ Set to med. low wyde $X u (u(yz 6)) SETMH $X,YZ Set to med. high wyde $X u (u(yz 32)) SETH $X,YZ Set to high wyde $X u (u((yz 48)) INCL $X,YZ Increase by low wyde $X u (u($x)+u(yz)) $X u ( u(@) + 4) ); INCML $X,YZ Inc. by med. low wyde $X u (u($x)+u(yz u ( u($y)+u($z)) $X u INCMH $X,YZ Inc. by med. high wyde $X u (u($x)+u(yz 32)) ( u(@) + 4) u ( u($y)+u(z)) INCH $X,YZ Increase by high wyde $X u (u($x)+u(yz 48))

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 kenntlich machen.

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

GOP Computertechnik. Computersysteme

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

Mehr

GOP Computertechnik. Computersysteme

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

Mehr

GOP Computertechnik. Computersysteme Probeklausur 2

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

Mehr

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

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

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

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

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

Mehr

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

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

Mehr

MMIX Assembler Programmierung Dr. Michael Zwick. Zahldarstellung

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

Mehr

GOP Computertechnik. Computersysteme Probeklausur 1

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

Mehr

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

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

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

Mehr

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

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

Mehr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

Ü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

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

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

"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

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

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

Mehr

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

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

Mehr

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

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

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

Der Nachfolger von MIX MMIX

Der Nachfolger von MIX MMIX Der Nachfolger von MIX MMIX Autor: Sven Bormann Matr.No.: 33196 Semester: I7EI Datum: 07.02.2004-1 - Inhaltsverzeichnis Inhaltsverzeichnis...2 1. Wofür einen neuen RISC-Prozessor?...5 2. Was bedeutet der

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

Heute nur MIPS-Praxis (4 Aufgaben)

Heute nur MIPS-Praxis (4 Aufgaben) Themen heute Heute nur MIPS-Praxis (4 Aufgaben) Hinweis: Diese Aufgaben findet ihr auf den Übungsblättern zu den Tutorien (bei Aufgabe 4 wurde eine Teilaufgabe und im Tutorium #6 bereits geklärte Wissensfragen

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

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

Umwandlung elektrischer Energie mit Leistungselektronik

Umwandlung elektrischer Energie mit Leistungselektronik Lehrstuhl für Elektrische Antriebssysteme und Leistungselektronik Technische Universität München Prof. Dr.-Ing. Ralph Kennel Arcisstraße 1 Email: eat@ei.tum.de Tel.: +49 (0)89 89 858 D 80 München Internet:

Mehr

Klausur Mikroprozessortechnik 29. März 2010

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

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

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

RISC-Prozessoren (1)

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

Mehr

Assembler-Unterprogramme

Assembler-Unterprogramme Assembler-Unterprogramme Rolle des Stack Prinzipieller Ablauf Prinzipieller Aufbau Unterprogramme void main(void) int sub(int i) { { int i,k; return i*2; i = sub(13); } k = sub(14); } Wie macht man das

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

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

RO-Tutorien 15 und 16

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

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

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

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : ESI Semesterendprüfung 15.6.2009 Name : Klasse : Punkte : Note : Zeit: 12.50 bis 13.35 Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf die Rückseite

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

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

Computational Engineering I

Computational Engineering I DEPARTMENT INFORMATIK Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 25.01.2016 Probeklausur zu Computational Engineering

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

Grundlagen der Rechnerarchitektur

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

Mehr

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren der beiden Registerwerte $t1 und $t2 in einem Zielregister

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

Datenpfad einer einfachen MIPS CPU

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

Mehr

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

Teil 2: Rechnerorganisation

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

Mehr

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden. Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen

Mehr

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Datenpfad einer einfachen MIPS CPU

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

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das

Mehr

MMIX Crashkurs Teil 3 Unterprogramme und Parameterübergabe. Freiling/Wienzek/Mink Vorlesung Rechnerstrukturen RWTH Aachen Sommersemester 2005

MMIX Crashkurs Teil 3 Unterprogramme und Parameterübergabe. Freiling/Wienzek/Mink Vorlesung Rechnerstrukturen RWTH Aachen Sommersemester 2005 MMIX Crashkurs Teil 3 Unterprogramme und Parameterübergabe Freiling/Wienzek/Mink Vorlesung Rechnerstrukturen RWTH Aachen Sommersemester 2005 Unterprogramme Hauptproblem heutiger Softwareentwicklung liegt

Mehr

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

24. Februar Name:. Vorname. Matr.-Nr:. Studiengang Klausur 24. Februar 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

Mehr