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 Probeklausur 2 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 6 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 2 Seiten - bitte überprüfen! Die angegebene Anzahl zu erreichender Punkte ist als vorläufig zu betrachten. Die mit einem Stern (*) gekennzeichneten 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 (5 Punkte) 3 2 Zahldarstellung (4 Punkte) 3 3 MMIX (26 Punkte) 4 3. Assembler- und Loaderbefehle (2 Punkte) MMIX Befehlsformat (2 Punkte) Lade- und Speicherbefehle Alignment (4 Punkte) Arithmetische Befehle (6 Punkte) Logische Operationen, Spezialregister (3 Punkte) Verzweigungen (4 Punkte) Funktionsaufrufe/Stack (5 Punkte) Mikroarchitektur (22 Punkte) 9 4. MMIX-Datenpfad (8 Punkte) Datenpfad- und Steuerungsentwurf (4 Punkte)... Entwurf eines Moore-Automaten (9 Punkte) ROM basierte Steuerung (5 Punkte) Pipelining (6 Punkte) 4 6 Cache (7 Punkte) 5

3 3 Komponenten Computer-Systeme (5 Punkte) Was ist eine Festplatten-Spur? (2 Punkte) Kreis, den die Schreib-/Leseköpfe auf der Platte abfahren, wenn sich bei rotierender Platte die Position des Schreib-/Lesekopfs nicht ändert. b) Welche der Busse Adressbus, Datenbus, Steuerbus sind unidirektional, welche bidirektional? (DMA wird nicht betrachtet.) (3 Punkte) unidirektional: Adressbus, Steuerbus bidirektional: Datenbus 2 Zahldarstellung (4 Punkte) Kodieren Sie 7.25 als Bit breite Gleitkommazahl und tragen Sie das Bitmuster in die vorgegebene Abbildung ein. (4 Punkte) 7.25:. =. 2 4 s = e K =4 e = K + 4 = = 27 = f =

4 4 3 MMIX 3 MMIX (26 Punkte) Hinweis: Sie können in allen Aufgaben buf, buf,... als Pufferregister verwenden. 3. Assembler- und Loaderbefehle (2 Punkte) Geben Sie die Anweisungen an, mit denen Sie den Namensraum Daten: anlegen und in diesem Namensraum die Register und 2 durch die Namen x und y ansprechbar machen. (2 Punkte) PREFIX Daten: pro falscher Zeile x IS $ Pkt. Abzug, jedoch y IS $2 mind. Pkt. 3.2 MMIX Befehlsformat (2 Punkte) Betrachten Sie die rechts angegebene Übersetzungs-Tabelle. Gegeben ist folgender Programmcode: Start DIV $,$2,3 SUB $,$,3 BZ $,Ende SUB i,i, JMP Start Geben Sie hexadezimal das Befehlswort an, in das der Befehl JMP Start übersetzt wird. (2 Punkte) xffffffc ( Pkt. auf Opcode, Pkt. auf FFFFFC)

5 3.3 Lade- und Speicherbefehle Alignment 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 Lade- und Speicherbefehle Alignment (4 Punkte) Nehmen Sie folgende Speicherbelegung an: LOC Data_Segment TETRA OCTA #8328BC #A3CD8BD765BAD8 Geben Sie hexadezimal alle Bit des Registers nach Ausführung der nachfolgend angegebenen Befehle an. (2 Punkte) LDW $,$254,: LDTU $,$254,5: xffff FFFF FFFF CD8B x D765 BAD8

6 6 3 MMIX In folgendem Programmcode wird XXX XXXXXXXX als Platzhalter für einen einzelnen Befehl verwendet: LOC Data_Segment $254 Data_Segment A TETRA # B WYDE #8765 C TETRA #ABCD23 LOC # Main LDW $,C XXX XXXXXXXX TRAP,Halt, b) Geben Sie für das gezeigte Programm den Inhalt des 32 Bit breiten Wortes an, welches durch die Marke A adressiert wird, wenn XXX XXXXXXXX jeweils durch folgenden Befehl ersetzt wird: (2 Punkte) STBU $,A: xcd STTU $,$254,3: xffff ABCD 3.4 Arithmetische Befehle (6 Punkte) Es soll das Volumen einer Kugel mittels V = 4 3 r 3 berechnet werden. r und liegen bereits als Gleitkommazahlen in Register r und pi. a) Geben Sie den MMIX-Code an, mit dem Sie das Volumen berechnen und im Speicher als Gleitkommazahl an der lokalen Marke V ablegen. (6 Punkte) FLOT buf,4 /2 Pkt. FLOT buf2,3 /2 Pkt. FDIV buf,buf,buf2 Pkt. FMUL buf,buf,r insges. 2 Pkt.; pro FMUL buf,buf,r falscher Zeile - Pkt. FMUL buf,buf,r mind. Punkte FMUL buf,buf,pi Pkt. STO buf,v Pkt.

7 3.6 Verzweigungen Logische Operationen, Spezialregister (3 Punkte) Geben Sie den MMIX-Code an, mit dem Sie in Spezialregister ra das Bit Nr. 9 auf setzen. (3 Punkte) GET buf,ra Pkt. ORL buf,#2 Pkt. PUT ra, buf Pkt. 3.6 Verzweigungen (4 Punkte) Verwenden Sie MMIX Verzweigungs-Befehle den nachfolgend angegebenen C- Code zu implementieren. (4 Punkte) Hinweis: Register x ist bereits angelegt, Sie können es direkt verwenden. C-code: int x;... if(x <= ) { x = ; } else { x = ; } MMIX-Code: BP x,pos Pkt. SET x, /2 Pkt. JMP Ende /2 Pkt. Pos SET x, /2 Pkt. Ende Marken: /2 Pkt.

8 8 3 MMIX 3.7 Funktionsaufrufe/Stack (5 Punkte) Nachfolgende Abbildung zeigt, wie einer Funktion Parameter übergeben wurden und wie die Funktion die verwendeten Register auf den Stack gesichert hat. Die Funktion hat ein Ergebnis berechnet und soll nun beendet werden. :SP Gesichertes Register $ Gesichertes Register $2 Gesichertes Register $3 Parameter Parameter 2 a) Geben Sie den MMIX-Code an, mit dem Sie das im Register befindliche Ergebnis auf dem Stack ablegen, die Register, 2 und 3 wiederherstellen, den Stackpointer anpassen und zurück zum Funktionsaufrufer springen (Rücksprungadr. in Reg. ). (5 Punkte) STO $,:SP,4*8 Pkt. LDO $,:SP, von 2 Pkt. ausgehend LDO $2,:SP,*8 für jede falsche Zeile LDO $3,:SP,2*8 - Pkt. ADD :SP,:SP,4*8 Pkt. GO $,$, Pkt.

9 4.2 Datenpfad- und Steuerungsentwurf 9 4 Mikroarchitektur (22 Punkte) 4. MMIX-Datenpfad (8 Punkte) Erweitern Sie nachfolgende Schaltung so, dass beim Befehl GO $,$253, die Rücksprungadresse in Register abgelegt werden kann. (4 Punkte) 4 Add BZ Adresse Befehls- Speicher Befehl 32 BR Allzw.-Reg. Schrei- ben Schreib- Daten X Y Z $Z 2 3 OR o o2 b) Erweitern Sie nachfolgende Schaltung so, dass in der AF-Phase aus o2 und o3 die Sprungziel-Adresse des BZ-Befehls für den Fall = berechnet werden kann. (4 Punkte) BZ Adresse Befehls- Speicher Befehl 32 BR Allzweck- Registerblock Schreiben Schreib- Daten X Y Z $Z 2 3 OR o o o3

10 4 Mikroarchitektur 4.2 Datenpfad- und Steuerungsentwurf (4 Punkte) Entwurf eines Moore-Automaten (9 Punkte) Für nachfolgend angegebenen Datenpfad soll eine Steuerung entwickelt werden. r/w r/w ADD Schreiben Adresse Speicher Daten Basisadresse x Offset Ergebnisadresse 8 Off- set ADD ADD ADD Offset B Fertig? D null clk_mw Sum- me Zähler fertig Steuerung a a / b b Die Steuerung soll wie folgt funktionieren: In den Zuständen und sollen Register Summe, Zähler und Offset mit initialisiert werden. ( Punkt) In Zustand soll die Speicheradresse Basisadresse x + Offset ausgelesen werden. Hat das ausgelesene Datum den Wert, soll in Zustand 2 verzweigt werden. Anderenfalls soll in Zustand 4 verzweigt werden. (,5 Punkte) Beim Übergang von Zustand 2 auf 3 soll der in Register Offset gespeicherte Wert um 8 erhöht werden. ( Punkt) In Zustand 3 soll das im Speicher an Adresse Basisadresse x + Offset abgelegte Datum zur Generierung des Signals null bereitgestellt werden. (,5 Punkte) Hat in Zustand 3 das Signal null den Wert, soll in Zustand 4 verzweigt werden. Anderenfalls in Zustand 2, falls fertig = bzw. Zustand 6, falls fertig =. (,5 Punkte) Beim Übergang von Zustand 4 in den Zustand 5 soll Register Summe um den an Speicheradresse Basisadresse x + Offset stehenden Wert erhöht werden. (,5 Punkte).

11 4.2 Datenpfad- und Steuerungsentwurf Ist in Zustand 5 fertig =, soll in Zustand 2 verzweigt werden. Anderenfalls in Zustand 6. ( Punkt) Beim Übergang von Zustand 6 in den Zustand 7 soll der im Register Summe stehende Wert durch den im Register Zähler stehenden Wert dividiert werden und das Ergebnis im Speicher an der Ergebnisadresse abgelegt werden. ( Punkt) Vervollständigen Sie den nachfolgenden Moore-Automat so, dass er die Hardware- Schaltung in gewünschter Weise steuert. Legen Sie Leitungen, deren Pegel egal ist auf. (9 Punkte) immer null = immer 2 3 Initialisierung Initialisierung Nächster Nächster r/w r/w r/w r/w clk_mw clk_mw clk_mw clk_mw null = fertig = null= && fertig = null = null = && fertig = Mittelwert Mittelwert Schreiben Schreiben/Ende r/w r/w r/w r/w clk_mw clk_mw clk_mw clk_mw immer fertig = immer immer

12 2 4 Mikroarchitektur ROM basierte Steuerung (5 Punkte) Nachfolgende Abbildung zeigt einen anderen Moore-Automaten. null = xy/res x/y clk_x clk_y clk_res xy/res x/y clk_x clk_y clk_res null = immer fertig = xy/res x/y clk_x clk_y clk_res xy/res x/y clk_x clk_y clk_res fertig = immer

13 4.2 Datenpfad- und Steuerungsentwurf 3 Der abgebildete Moore-Automat soll mit folgender ROM-basierten Steuerung implementiert werden: xy/res x/y clk_x clk_y clk_res ROM Speicher 3 2 D Q D Q D2 Q2 clk fertig null Tragen Sie in nachstehendes ROM binär die Daten ein, die an den angegebenen Adressen abgelegt sein müssen, damit die Steuerung den gezeigten Moore- Automaten realisiert. (5 Punkte) Hinweis: Die links angegebene Zustands-Codierung entspricht den Bits und des ROM-Speichers. Adresse Daten

14 4 5 Pipelining 5 Pipelining (6 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 8..5 Lesen 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 Welche Anforderung muss man an die relativen Ausführungsgeschwindigkeiten der einzelnen Stufen stellen, damit der Durchsatz maximal wird? (2 Punkte) Die Stufen müssen alle gleich lang sein. Betrachten Sie folgenden Ausschnitt aus einem MMIX-Programm: DIV $2,$2,$ Zeile_ SUB $,$2,2 Zeile_2 MUL $3,$2,$ Zeile_3 STO $,:Erg Zeile_4 b) Geben Sie alle auftretenden Datenkonflikte an. (4 Punkte). Datenkonflikt zwischen DIV Zeile und SUB Zeile 2 wegen Register $2. 2. Datenkonflikt zwischen DIV Zeile und MUL Zeile 3 wegen Register $2. 3. Datenkonflikt zwischen SUB Zeile 2 und MUL Zeile 3 wegen wegen Register $. 4. Datenkonflikt zwischen SUB Zeile 2 und STO Zeile 4 wegen Register $.

15 5 6 Cache (7 Punkte) Nachfolgende Abbildung zeigt den bekannten Direktabgebildeten MMIX-Cache. k Bits Schlüssel f Bits Rahmen-Nr. b Bits Byte-Auswahl k f Rahmen (frame) b v v v v v v v f 2 - v k Bits Geben Sie in richtiger Reihenfolge die zwei Aktionen an, die durchgeführt werden müssen, bevor mit der Byte-Auswahl ein Byte aus einem Rahmen ausgewählt werden kann. (2 Punkte). Adressierung der Zeile bzw. des Rahmens mit der Rahmen-Nr. 2. Vergleich des Schlüssels mit dem Tag. b) Wie groß ist k, wenn jeder Rahmen 4 kbyte groß ist und der Cache insgesamt 2 MB an Daten aufnehmen kann? (3 Punkte) ld(4k) = 2; ) b = 2. ld(2 MB / 4 kb) = 9; ) f = 9. k = = 43. c) Welcher Rahmen wird bei Adresse x ausgewählt, wenn k = 36 und b = 2? Geben Sie den Wert hexadezimal an. (2 Punkte) x23

16 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.,,$z,,z,,$z,,z,,$z,,z,,$z,,z,,$z,,z,,$z,,z,,$z,,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.,,$z,,z,,$z,,z,,$z,,z SLU SR SRU Shift left; with overflow,,z SL,,$Z Befehl Operanden Name/Aktion Schieben Schiebe-Befehle Load byte Load byte immediate,,$z,,z Befehl Operanden Name/Aktion Laden aus Speicher Daten vom Speicher in ein Register laden Lade- und Speicherbefehle M8 [u() + u($z)] M8 [u() + u(z)] u (u(m4 [u() + u($z)])) u (u(m4 [u() + u(z)])) s (s(m4 [u() + u($z)])) s (s(m4 [u() + u(z)])) u (u(m2 [u() + u($z)])) u (u(m2 [u() + u(z)])) s (s(m2 [u() + u($z)])) s (s(m2 [u() + u(z)])) u (u(m [u() + u($z)])) u (u(m [u() + u(z)])) s (s(m [u() + u($z)])) s (s(m [u() + u(z)])) u ( u( u ( u( u($z) u(z) u u u($z) s u(z) s u($z)) ) u(z)) ) u ( u( u($z)) ) u() 2u($Z) 2 ) ra ra u (25 ) u ( u( u(z)) ) u(z) u() 2 2 ) ra ra u (25 ) M8 [u() + u($z)] 2 Assemblerprogrammierung M8 [u() + u(z)] ()3... ()3... a),yz,,$z,,z Get address (relativ) Get address (absolute) Get address immed. (absolute) u (u(@) + 4 s(yz)) u (u() + u($z)) u (u() + u(z)) M8 [u() + u(z)] M8 [u() + 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() + u(z)] M4 [u() + u(z)] ()3... ra u (26 ) ra u (26 ) ()3... ra u (26 ) ra u (26 ) M4 [u() + u(z)] s() 23 ) ra s() < 23 ) ra M4 [u() + u(z)] s() 23 ) ra s() < 23 ) ra,,$z Store octa unsigned Store octa uns. imm. Adressen,,Z in ein Register laden Store byte unsigned Store byte uns. imm. ()5... ()5... ()5... ra u (26 ) ra u (26 ) ()5... ra u (26 ) ra u (26 ) M2 [u() + u(z)] s() 25 ) ra s() < 25 ) ra M2 [u() + u(z)] s() 25 ) ra s() < 25 ) ra M2 [u() + u(z)] M2 [u() + u(z)] ()7... ()7... M [u() + u(z)] M [u() + u(z)] M [u() + u($z)] ()7... s() 27 ) ra ra u (26 ) s() < 27 ) ra ra u (26 ) M [u() + u(z)] ()7... s() 27 ) ra ra u (26 ) s() < 27 ) ra ra u (26 ) M8 [u() + u(z)] 2 Assemblerprogrammierung M8 [u() + u(z)],,$z,,z,,$z,,z Store tetra immed.; ovf. Store tetra; with overflow,,$z,,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.,,$z,,z,,z,,$z,,$z,,z,,z Store byte; with overflow 2 Assemblerprogrammierung Store octa Store octa immediate 54 STO STTU STT STWU STW STBU STB,,$Z Befehl Operanden Name/Aktion Schreiben in Speicher Daten vom Register in den Speicher schreiben (speichern) 56 6

17 ,,Z,,$Z,,Z DIV DIVU,,$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) ) ( $Z)27... ( Z)27... Multiply unsigned; rh Multiply uns. imm.; rh,,$z,,z MULU s ( s()/s($z) ) s ( s() % s($z) ) u () u28 ( u(rd)/u($z) ) u28 ( u(rd) % u($z) ) rd u28 ( u(rd)/u(z) ) u28 ( u(rd) % u(z) ) u28 (u() u($z)) u28 (u() u(z)) rh rh s (u(y) s($z)) s (u(y) u(z)) s(z)) Multiply; signed, with overflow s (s() s($z)) 2 Assemblerprogrammierung Multiply immediate; signed, with ovf. s (s() u(z)) s (u(y),,$z,,z MUL 66 NEGU s (u(y) s($z)) u(y) s($z 263 ) ) ra ra u (25 ) u (u() u($z)) u (u() 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.,,$z,,z u (u() + u($z)) u (u() + u(z)) s (s() s($z)) (s() s($z) < 263 ) (s() s($z) 263 ) ) ra ra u (25 ) s (s() u(z)) (s() s(z) < 263 ) (s() s(z) 263 ) ) ra ra u (25 ) s (s() + s($z)) (s() + s($z) < 263 ) (s() + s($z) 263 ) ) ra ra u (25 ) s (s() + u(z)) (s() + s(z) < 263 ) (s() + s(z) 263 ) ) ra ra u (25 ) Negate immediate; signed, with overflow Subtract immediate; signed, with overflow,,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,,$Z,,$Z ADDU,,Z ADD,,$Z BefehlOperanden Arithmetische Befehle auf Festkommazahlen Arithmetische Befehle (Festkomma) Arithmetische Befehle,,Z,,$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()/s($z) ) s ( s() % s($z) ) u () f ( f () + f ($Z) ) u28 ( u(rd)/u($z) ) u28 ( u(rd) % u($z) ) rd u28 ( u(rd)/u(z) ) u28 ( u(rd) % u(z) ) 2 Assemblerprogrammierung rd,,$z Floating point add,,$z Floating point divide f ( f ()/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 ra 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 ) ra ra u (2 MUL: Quell- undwith Zieloperanden overflow haben jeweils Bit 63 5 ($Z) >2 ) MULU: Die Quelloperanden haben jeweils Bit,fder Zieloperand hatra 28 ra u (2 ) Nein, da der ADD-Befehl nur einen Direktoperanden unterstützt, muss der zweite FSQRT,$Z Square root f ( f ($Z) ) Umwandlung Gleitkommazahl Festkommazahl Operand zuvor in ein Allzweckregister geladen werden. FDIV FSUB,,$Z Floating point subtract f ( f () f ($Z) ) 2 Assemblerprogrammierung,,$Z Floating multiplication f ( f () 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,,$Z,,Z 7

18 Divide unsigned immedediate; no overflow (case u(z) u(rd) ) XYZ Jump Bitwise AND immediate & u ( u(z) ) if zero Wie kann man 5 Bitwise NOT AND Bitwise NOT AND immed.,,$z,,z NAND & & &,,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,,$z,,z,,$z,,z,,$z,,z,,$z,,z ORN NOR $Z u ( u(z) ) 48) ( $Z) ( u ( u(z) ) ) ( 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?,,Z,,$Z u ( u(@) + 4) u ( u() + u($z) ) u ( u(@) + 4) u ( u() + u(z) ) Prob. branch if odd,yz Prob. branch if even SETMH SETML SETL PBOD 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 Set tobranch low wyde Prob. if odd 48)) 32)) 6)) 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() + u(yz s() % 2 = 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,YZ,YZ s() % 2 = s() % 2 = s() s() % % 22 = = ) s() % 2 = ))@@ u u ( u(@)+4 s(yz) ) s() ( u(@) + 4 s(yz) ) Prob. br.if ifodd nonpos. s() % 2>= ))@@ u u ( u(@)+4 s(yz) s() ( 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(@) + 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) ) u ( u(@) + 4 s(xyz) ) u ( u(@) + 4 s(xyz) ) s() % 2 = ))@@ u u ( u(@)+4 s(yz)6 ) 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 ( $Z) u ( u(z) ) ),YZ BNP PBNN SETH (,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 $Z u ( u(z) ) 2 Assemblerprogrammierung 32) 6) u ( u(yz) ) $Z 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) ( & $Z) ( & 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,,$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,,$Z Bitwise AND NOT & $Z,,Z Bitww AND NOT immed. & 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?,,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,,$z Bitwise AND als auch für vorzeichenbehaftete Operationen. & $Z Befehl Operanden Name/Aktion 2 Assemblerprogrammierung rd a) In welchem Wertebereich können die Direktoperanden bei den Arithmetischen Logische Operationen Befehlen liegen? Logische Operationen auf Bit-Ebene 74 8

19 9 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.

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

Ü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

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

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

Mehr

T 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

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

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

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

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

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

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

GOP Computertechnik. Computersysteme Probeklausur 2

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

Mehr

MMIX Assembler Programmierung Dr. Michael Zwick. Zahldarstellung

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

Mehr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Übungsblatt 10 (Block C 2) (16 Punkte)

Übungsblatt 10 (Block C 2) (16 Punkte) georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de pascal.libuschewski [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2016 Übungsblatt 10 (Block C 2) (16

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

Darstellung von Instruktionen. Grundlagen der Rechnerarchitektur Assembler 21

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

Mehr

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

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

Mehr

Zusammenfassung 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

Ü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

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

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

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

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

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

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

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

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 9.1: Dinatos-Algorithmus-Analyse Die folgenden Verilog-Zeilen

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

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 Programmieren in der Elektrotechnik unverzichtbar VHDL Simulation

Mehr

1 Rechnerstrukturen 1: Der Sehr Einfache Computer

1 Rechnerstrukturen 1: Der Sehr Einfache Computer David Neugebauer, Informationsverarbeitung - Universität zu Köln, Seminar BIT I Inhaltsverzeichnis 1 Rechnerstrukturen 1: Der Sehr Einfache Computer 1 1.1 Komponenten................................. 1

Mehr

Übungsblatt 10 (Block C 2) (16 Punkte)

Übungsblatt 10 (Block C 2) (16 Punkte) georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de marco.duerr [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2018 Übungsblatt 10 (Block C 2) (16 Punkte)

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

Klausur ( ): Technische Grundlagen der Informatik 2 Rechnerorganisation SS 2007

Klausur ( ): Technische Grundlagen der Informatik 2 Rechnerorganisation SS 2007 Klausur (27.07.2007): Technische Grundlagen der Informatik 2 Rechnerorganisation SS 2007 Vorname :.............................................. Name :.............................................. Matrikelnummer

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

Grundlagen der Rechnerarchitektur. MIPS Assembler

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

Mehr

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

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

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

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

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

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