Computersysteme. Die DLX-560 Architektur
|
|
- Herbert Weiss
- vor 6 Jahren
- Abrufe
Transkript
1 Comptersysteme Die DLX-560 Architektr 1
2 Dr.-Ing. Christoph Starke Lehrsthl für Technische Informatik Institt für Informatik Christian Albrechts Universität z Kiel Tel.: E-ail: chst@informatik.ni-kiel.de 2
3 Die DLX-560 Architektr DLX, asgesprochen dele - Datenformate nd Befehlssatz - Bateile nd Datenpfade - Assemblerprogrammierng Das Verständnis dieser Architektr ist wichtig, sowohl für die Entwicklng von Hardware als ach für die Entwicklng von schneller nd zverlässiger Software. As den vorangegangenen Kapiteln haben wir eine Reihe von Lehren gezogen, die wir jetzt in einer Beispielarchitektr msetzen wollen: Was sind diese Vorgaben? 3
4 Vorgaben DLX GPR-Architektr, load-store ( =Register-Register) Adressierng: Displacement, Immediate, Indirect schnelle einfache Befehle (load, store, add,...) 8-Bit, 16-Bit, 32-Bit Integer 32-Bit, 64-Bit Floating-point feste Länge des Befehlsformats, wenige Formate indestens 16 GPRs 4
5 Instrction fetch Instrction decode/ register fetch Eecte/ address calclation emory access Write back 4 Add NPC Zero? Branch taken Cond PC Instrction memory IR Registers A B ALU ALU otpt Data memory LD 16 Sign 32 etend Imm DLX-Datenpfad mit Taktzyklen 5
6 Register Der Prozessor hat 32 GPRs. Jedes Register ist 32-Bit lang. Sie werden mit R0,..,R31 bezeichnet. R0 hat den Wert 0 nd ist nicht beschreibbar (Schreiben af R0 bewirkt nichts) R31 übernimmt die Rücksprngadresse bei Jmp and Link-Sprüngen Ferner gibt es 32 FP-Register. Jedes ist 32 Bit lang. F0,..,F31 Diese können wahlweise als einzelne Single-Register verwendet werden oder paarweise als Doble-Register F0, F2,...,F30. Zwischen den Registern nterschiedlicher Art gibt es spezielle ove-befehle 6
7 Datentypen 8-Bit Bytes. 16-Bit Halbworte. 32-Bit Worte. Für Integers. All diese entweder als nsigned Integer oder im 2-er Komplement. 32-Bit Singles. 64-Bit Dobles. Im IEEE Standard 754. Laden von Bytes nd Halbworten kann wahlweise mit führenden Nllen (nsigned) oder mit Replikation der Vorzeichenstelle (2-er Komplement) geschehen. 7
8 Adressierngsarten Displacement nd Immediate Drch geschickte Bentzng von R0 nd 0 können damit vier Adressierngsarten realisiert werden: Displacement: LW R1, 1000(R2); Immediate: LW R1, #1000; Indirect: LW R1, 0(R2); Direct: LW R1, 1000(R0); Displacement ist dabei die mit Abstand wichtigste Adressierngsart 8
9 Befehlsformate I - Befehl Opcode rs1 rd Immediate R - Befehl 6 Typische Immediate-Befehle (rd rs1 op immediate) Loads nd Stores von Bytes, Worten, Halbworten (rs1 nbentzt) Bedingte Verzweigngen (rs1 : register, rd nbentzt) Jmp register, Jmp and link register (rd = 0, rs1 = destination, immediate = 0) Opcode 5 rs1 5 rs2 5 rd 11 Fnction Register-Register ALU Operationen: rd rs1 fnc rs2 fnc (Fnction) sagt, was gemacht werden soll: Add, Sb,... Read/write af Spezialregistern nd moves J - Befehl 6 Opcode Jmp nd Jmp and link Trap nd Retrn from eception 26 Displacement (wird z PC addiert) 9
10 Befehle mit Speicherzgriff Befehl Name Bedetng LW R1,30(R2) Load word Regs [R1] 32 em [30+Regs [R2] ] LW R1,1000(R0) Load word Regs [R1] 32 em [1000+0] LB R1,40(R3) Load byte Regs [R1] 32 (em [40+Regs [R3] ] 0 ) 24 # # em[40+regs[r3] ] LBU R1,40(R3) Load byte nsigned Regs [R1] # # em[40+regs [R3] ] LH R1,40(R3) Load half word Regs [R1] 32 (em[40+regs [R3] ] 0 ) 16 # # em [40+Regs [R3] ] # # em[41+regs [R3] ] LF F0,50(R3) Load float Regs [F0] 32 em [50+Regs [R3] ] LD F0,50(R2) Load doble Regs [F0] # #Regs [F1] 64 em[50+regs [R2] ] SW 500(R4),R3 Store word em [500+Regs [R4] ] 32 Regs [R3] SF 40(R3),F0 Store float em [40+Regs [R3] ] 32 Regs [F0] SD 40(R3),F0 Store doble em[40+regs [R3] ] 32 Regs [F0]; em[44+regs [R3] ] 32 Regs [F1] SH 502(R2),R3 Store half em[502+regs [R2] 16 Regs [R3] SB 41(R3),R2 Store byte em[41+regs [R3] ] 8 Regs [R2]
11 Instrction fetch Instrction decode/ register fetch Eecte/ address calclation emory access Write back 4 Add + NPC Zero? Branch taken Cond PC Instrction memory IR Registers A B ALU + ALU otpt Data memory LD LW R30, 200(R2) 16 Sign 32 etend Imm lmm DLX-Datenpfad mit Taktzyklen 11
12 Instrction fetch Instrction decode/ register fetch Eecte/ address calclation emory access Write back 4 Add + NPC Zero? Branch taken Cond PC Instrction memory IR Registers A B ALU + ALU otpt Data memory LD SW 200(R3), R28 16 Sign 32 etend Imm lmm DLX-Datenpfad mit Taktzyklen 12
13 ALU-Befehle Befehl Name Bedetng SUB R1, R2, R3 Sbtract Regs [R1] Regs[R2] Regs[R3] ADDI Rl, R2, #3 Add immediate Regs [Rl] Regs [R2]+3 13
14 Instrction fetch Instrction decode/ register fetch Eecte/ address calclation emory access Write back 4 Add + NPC Zero? Branch taken Cond PC Instrction memory IR Registers A B ALU + ALU otpt Data memory LD ADD R30, R4, R18 16 Sign 32 etend lmm DLX-Datenpfad mit Taktzyklen 14
15 Weitere Arithmetik- / Logik-Befehle Befehl Name Bedetng SLLI R1,R2,#5 Shift left logical immediate Regs [R1] Regs [R2]<<5 SLT R1, R2, R3 Set less than if (Regs[R2]<Regs[R3]) Regs [R1] 1 else Else Regs [R1] 0 15
16 Sprngbefehle Befehl Name Bedetng J name Jmp PC name; ((PC+4) ) name < ((PC+4)+2 25 ) JAL name Jmp and link Regs[R31] PC+4; PC name; ( (PC+4) 2 25 ) name < ( (PC+4) ) JALR R2 Jmp and link register Regs [R31] PC+4; PC Regs [R2] JR R3 Jmp register PC Regs [R3] BEQZ R4,name Branch eqal zero if (Regs [R4] =0) PC name; ( (PC+4) 2 15 ) name < ( (PC+4) ) BNEZ R4,name Branch not eqal zero if (Regs [R4] 0) PC name; ( (PC+4) 2 15 ) < name < ( (PC+4) ) 16
17 Die Synta der PC-relativen Sprngbefehle ist etwas irreführend, da der als Operand eingegebene Parameter als Displacement zm PC z verstehen ist. Tatsächlich müßte die erste Zeile heißen: J offset bedetet PC <--- PC+4 + offset mit <= offset < Das würde aber heißen, daß man in Assemblerprogrammen die Displacements bei relativen Adressen eplizit angeben mß. Dies macht die Wartng eines solchen Programms nglablich schwierig. Daher erlabt man, daß man Namen für die effektiven Adressen einführt, die man wie Sprngmarken ins Assemblerprogramm schreibt. Ein Precompiler wandelt die Namen in die Offsets m, so daß anschließend die tatsächlichen Offsets verwendet werden können. Für Entwickler nd Leser ist ein solches mit arken geschriebenes Programm leichter verständlich. 17
18 Instrction fetch Instrction decode/ register fetch Eecte/ address calclation emory access Write back 4 Add + NPC Zero? Branch taken Cond PC Instrction memory IR Registers A B ALU + ALU otpt Data memory LD BEQZ R20, #68 16 Sign 32 etend Imm lmm DLX-Datenpfad mit Taktzyklen 18
19 Gleitkommabefehle Befehl Name Bedetng ADDS F2, F0, F1 Add single precision floating point nmbers ULTD F4, F0, F2 ltiply doble precision floating point nmbers Regs[F2] Regs[F0] + Regs[F1] Regs[F4]##Regs[F5] Regs[F0]##Regs[F1] * Regs[F2]##Regs[F3] 19
20 Instrction type/opcode Instrction meaning Data transfers ove data between registers and memory, or between the integer and FP or special registers; only memory address mode is 16-bit displacement + contents of a GPR LB,LBU,SB Load byte, load byte nsigned, store byte LH, LHU, SH Load half word, load half word nsigned, store half word LW, SW Load word, siore word (to/from integer registers) LF, LD, SF, SD Load SP float, load DP float, store SP float, store DP float OVI2S, OVS2I ove from/to GPR to/from a special register OVF, OVD Copy one FP register or a DP pair to another register or pair OVFP2I,OVI2FP ove 32 bits from/to FP registers to/from integer registers Arithmetic/logical Operations on integer or logical data in GPRs; signed arithmetic trap on overflow ADD, ADDI, ADDU, ADDUI Add, add immediate (all immediates are 16 bits); signed and nsigned SUB, SUBI, SUBU, SUBUI Sbtract, sbtract immediate; signed and nsigned ULT,ULTU,DIV,DIVU ltiply and divide, signed and nsigned; operands mst be FP registers; all operations take and yield 32-bit vales AND,ANDI And, and immediate OR,ORI,XOR,XORI Or, or immediate, eclsive or, eclsive or immediate LHI Load high immediate loads pper half of register with immediate SLL, SRL, SRA, SLLI, SRLI, SRAI Shifts: both immediate (S I) and variable form (S ); shifts are shift left logical, right logical, right arithmetic S_, S_ I Set conditional: _ may be LT, GT, LE, GE, EQ, NE Control Conditional branches and jmps; PC-relative or throgh register BEQZ,BNEZ Branch GPR eqal/not eqal to zero; 16-bit offset from PC+4 BFPT,BFPF Test comparison bit in the FP stats register and branch; 16-bit offset from PC+4 J, JR Jmps: 26-bit offset from PC+4 (J) or target in register (JR) JAL, JALR Jmp and link: save PC+4 in R31, target is PC-relative (JAL) or a register (JALR) TRAP Transfer to operating system at a vectored address RFE Retrn to ser code from an eception; restore ser mode Floating point FP operations on DP and SP formats ADDD,ADDF Add DP. SP nmbers SUBD,SUBF ULTD,ULTF ltiply DP, SP floating point DIVD, DIVF Divide DP, SP floating point CVTF2D, CVTF2I, CVTD2F, CVTD2I, CVTI2F, CVTI2D Convert instrctions: CVT2y converts from type to type y, where and y are I (integer), D (doble precision), or F (single precision). Both operands are FPRs. _D,_ F DP and SP compares: _ = LT, GT, LE, GE, EQ, NE; sets bit in FP stats register 20
21 α Beispiele für Assembler-Programmierng Sortieren zweier Zahlen A nd B. A steht an Adresse 1000, B an Adresse 1004 Die größere Zahl soll am Ende in 1000 stehen, die kleinere in 1004 Inpt: Natürliche Zahlen A nd B Otpt: A nd B in der Reihenfolge der Größe ethode: A, B einlesen A >= B? nein C = A A = B B= C ja IF A < B Then Endif Otpt A Otpt B C = A A = B B = C } A, B asgeben ω 21
22 Wir wollen dafür ein Assemblerprogramm schreiben. Wir setzen voras, dass die Operanden A nd B an den Adressen 1000 nd 1004 im Speicher stehen nd das Ergebnis sortiert an denselben Adressen entstehen soll: /Register: /R1, R2: A, B /R3, R4: Hilfsregister Start: LW R1, 1000(R0) /Lade A nach R1 LW R2, 1004(R0) /Lade B nach R2 SLT R3, R2, R1 /Setze R3 (ngleich 0), falls B < A BNEZ R3, Ende /Zahlen bereits in der richtigen Reihenfolge. /Sonst vertasche A nd B drch Ringtasch: ADD R4, R1, R0 /R4 := R1 ADD R1, R2, R0 /R1 := R2 ADD R2, R4, R0 /R2 := R4 SW 1000(R0), R1 /Speichern des aimms SW 1004(R0), R2 /Speichern des inimms Ende: HALT /Ende des Programms Ganz wichtig: Programmbeschreibng, Registerbelegng, Kommentare (nicht generisch) Test mit => Vermeidng syntaktischer Fehler 22
23 α Beispiele für Assembler-Programmierng Berechnng des GGT zweier Zahlen A nd B. A, B einlesen Inpt: Natürliche Zahlen A nd B Otpt: GGT(A,B) ethode: A = B? ja GGT = A While A <> B Do GGT = A If A<B Then B = B-A Else A = A-B EndIf nein A < B? nein A = A-B ja ω B= B-A 24
24 /Programmbeschreibng: /Das Programm liest 2 positive Integerwerte A nd B as den Adressen 1000 bzw. 1004, /berechnet GGT(A,B) nd speichert ihn an Adresse /Beispiel: GGT(28,12)=4 /Registerbelegng: /R1,R2: A, B /R3: Hilfsregister Start: LW R1, 1000(R0) /Lade A nach R1 LW R2, 1004(R0) /Lade B nach R2 Loop: SEQ R3, R1, R2 /R3 wird gesetzt <=> (A=B) BNEZ R3, Ende /Falls A=B ist A der GGT => Geh zm Ende SLT R3, R1, R2 /Sonst setze R3 <=> (A<B) BNEZ R3, AklB /Falls A<B gehe z AklB SUB R1, R1, R2 /A:=A-B J Loop /Geh zm Anfang der Schleife AklB: SUB R2, R2, R1 /B:=B-A J Loop /Geh zm Anfang der Schleife Ende: SW 1008(R0), R1 /Speichere GGT, der in A steht. Halt /Programmende Ganz wichtig: Programmbeschreibng, Registerbelegng, Kommentare (nicht generisch) Test mit => Vermeidng syntaktischer Fehler 25
25 Weitere Beispiele für Assembler-Programmierng ergen zweier sortierter Listen der Länge 25. Die eine ist ab Adresse 1000 im Speicher, die andere ab Adresse Die sortierte Gesamtliste S soll ab Adresse 1200 in den Speicher geschrieben werden. Sortiert heißt: Das kleinste Element steht in der Zelle mit der kleinsten Adresse nd von da an afsteigend. Inpt: Zwei sortierte Listen A nd B Otpt: Eine sortierte Gesamtliste S ethode: Das jeweils kleinste Element der einen Liste wird mit dem jeweils kleinsten Element der zweiten Liste verglichen. Das kleinere von beiden wird in die Gesamtliste gespeichert. Ein nees nnmehr kleinstes Element wird as der Liste geladen, as der das eben gespeicherte Element kam. Sobald eine der Listen verbracht ist, speichert man die restlichen Elemente der anderen Liste in der Reihenfolge, in der sie bereits sind. 26
26 α i, j =0; A i, B j einlesen A i < B j? nein ja A i speichern i = i+1 Nees A i einlesen B j speichern j = j+1 Nees B j einlesen nein i = 25? j = 25? nein ja ja B j speichern j = j+1 Nees B j einlesen A i speichern i = i+1 Nees A i einlesen nein j = 25? ja i = 25? ja nein ω 27
27 /Programmbeschreibng: /erge 2 afsteigend sortierte Listen A, B der Länge 25 in eine Gesamtliste S. /A beginnt an Adresse 1000, B an 1100, S soll ab 1200 gespeichert werden. /Registerbelegng: /R1,R2,R3: Zeiger af Listen A, B bzw. S /R4,R5: A i, B j /R6: Hilfsregister für Vergleiche START: ADD R1, R0, R0 /Initialisiere Zeiger af Listen A,B,S mit 0 ADD R2, R0, R0 ADD R3, R0, R0 LW R4, 1000(R1) /Lade A i LW R5, 1100(R2) /Lade B j LOOP: SLT R6, R4, R5 /Ist (A i <B j )? BNEZ R6, AkB /Spring ggf. z AkB (A kleiner B) SW 1200(R3), R5 /S k := B j ADDI R3, R3, #4 /Erhöhe Zeiger von S ADDI R2, R2, #4 /Erhöhe Zeiger von B LW R5, 1100(R2) /Lade nächstes B j SLTI R6, R2, #100 /Sind noch weitere Elemente in Liste B? BNEZ R6, LOOP /Springe ggf. z Loop nd vergleiche weiter. /Fortsetzng af der nächsten Folie 28
28 ARAUS: SW 1200(R3), R4 /Ab hier wird Rest von A herasgeschrieben ADDI R3, R3, #4 /Erhöhe Zeiger von S ADDI R1, R1, #4 /Erhöhe Zeiger von A LW R4, 1000(R1) /Lade nächstes Ai SLTI R6, R1, #100 /Sind noch weitere Elemente in Liste A? BNEZ R6, ARAUS /Springe ggf. z ARAUS. J ENDE /Sonst springe zm Ende AkB: SW 1200(R3), R4 /S k := A i ADDI R3, R3, #4 /Erhöhe Zeiger von S ADDI R1, R1, #4 /Erhöhe Zeiger von A LW R4, 1000(R1) /Lade nächstes A i SLTI R6, R1, #100 /Sind noch weitere Elemente in Liste A? BNEZ R6, LOOP /Springe ggf. z Loop nd vergleiche weiter. BRAUS: SW 1200(R3), R5 /Ab hier wird Rest von B herasgeschrieben ADDI R3, R3, #4 /Erhöhe Zeiger von S ADDI R2, R2, #4 /Erhöhe Zeiger von B LW R5, 1100(R2) /Lade nächstes B j SLTI R6, R2, #100 /Sind noch weitere Elemente in Liste B? BNEZ R6, BRAUS /Springe ggf. z BRAUS. Ende: HALT 29
29 Leitfaden für die Bearbeitng von Programmierafgaben Nehmen Sie sich die Zeit, die Afgabe gründlich z lesen. Kleine Beispiele überlegen nd afschreiben, die nterschiedliche Fälle abdecken. Welche Zahlenformate sind geeignet? Welche Grenzfälle gibt es? Welche Probleme können aftreten (z.b. Über-, Unterlaf, Rndngsfehler, Division drch 0)? Entwerfen Sie einen Algorithms nd optimieren Sie diesen (also nicht gleich Code schreiben). Kleine Code-Stücke schreiben nd testen. Programm gt kommentieren nd beschreiben (ach dabei entdeckt man oft noch Fehler). Programm anhand der kleinen Beispiele schrittweise drchlafen lassen. Zm Schlss ach größere Beispiele testen. In der Klasr dürfen Sie das Hüser-Tool nicht verwenden. Sie sollten deshalb genügend üben, damit Sie ach ohne die Hilfen des Hüser-Tools (möglichst) fehlerfreien Code schreiben können. 30
30 Testen einer Zahl af Primalität Die z testende Zahl steht im Speicher an Adresse Das Programm prüft, ob die Zahl eine Primzahl ist nd soll gegebenenfalls eine 1 an Adresse 1004 schreiben, anderenfalls eine 0. 31
31 α R1 einlesen R3 = R1-2 R4= R1 Asreichende Programmbeschreibng? Programmbeschreibng bitte selbst ergänzen! R4 = R1 R3 = R3-1 R3<2? nein R4 > R3? ja nein R4 = R3? ja nein R4= R4-R3 0 speichern 1 speichern ω 32
32 Register: R1 : Af Primalität z prüfende Zahl R2 : Konstante 2 R3 : Drchläft alle kleineren Zahlen nd prüft ob sie R1 teilen R4 : Kopie von R1 für Teilbarkeitstest R5: Hilfsregister START: ADDI R2, R0, #2 / Initialisieren von R2 mit 2 LW R1, 1000(R0) / Laden der z testenden Zahl ADD R4, R0, R1 / Kopieren von R1 SUBI R3, R4,#2 / Erster Teilerkandidat LOOP1: SLT R5, R3, R2 / Ist R3 kleiner als 2? BNEZ R5, PRIZAHL / R1 hat keine nichttrivialen Teiler LOOP2: SGT R5, R4,R3 / ist R4>R3? BEQZ R5, GLEICHTEST / wenn nicht, mss R4=R3 geprüft werden SUB R4, R4, R3 / R4 m R3 verringern J LOOP2 / Nächster Drchlaf der inneren Schleife GLEICHTEST: SEQ R5, R4, R3 / Ist R3 gleich R4 BNEZ R5, NICHTPRI / Dann teilt R3 die Zahl in R1 ADD R4, R0, R1 / Setzten von R4 af rsprünglichen Wert SUBI R3, R3,#1 / verringern von R3 m 1 J LOOP1 / neer Test af Teilbarkeit PRIZAHL: ADDI R5, R0, #1 / Erzegen einer 1 in R5 SW 1004(R0), R5 / Schreiben der 1 in 1004 J ENDE / ENDE NICHTPRI: SW 1004(R0), R0 / Schreiben der 0 nach 1004 ENDE: HALT 33
Die DLX-560 Befehlssatzarchitektur
Die DLX-560 Befehlssatzarchitektr As dem vorangegangenen Kapitel haben wir eine Reihe von Lehren gezogen, die wir jetzt in einer Beispielarchitektr msetzen wollen: DLX, asgesprochen dele Was sind diese
DLX Befehlsübersicht
DLX sübersicht 1 Instruktionen für den Daten-Transfer Daten können mit folgenden en zwischen Registern und dem Speicher oder zwischen Integer- und Fließkomma-Registern ausgetauscht werden. Der einzige
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.
2. Teilklausur Informatik II
1. Aufgabe (4 + 6 Punkte) Beweise: n (a) i = (b) i=0 n i 2 = i=0 n (n + 1) 2 n (n + 1) (2n + 1) 6 2. Aufgabe (10 Punkte) Seien a, b {0, 1} n. Wir definieren: a < lex b i {0,..., n 1} : a[n 1 : i + 1] =
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,
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,
Mikroprozessortechnik. 03. April 2012
Klausur 03. April 2012 Name:. Vorname Matr.-Nr:. Studiengang Hinweise: Bitte füllen Sie vor dem Bearbeiten der Aufgaben das Deckblatt sorgfältig aus. Die Klausur besteht aus 6 doppelseitig bedruckten Blättern.
Beispiel: A[300] = h + A[300]
Beispiel: A[300] = h + A[300] $t1 sei Basisadresse von A und h in $s2 gespeichert. Assembler Code? Maschinen Code (der Einfachheit halber mit Dezimalzahlen)? op rs rt rd adr/shamt funct Instruktion Format
Weitere Arithmetik. Grundlagen der Rechnerarchitektur Assembler 33
Weitere Arithmetik Grundlagen der Rechnerarchitektur Assembler 33 Die speziellen Register lo und hi Erinnerung: ganzzahliges Produkt von zwei n Bit Zahlen benötigt bis zu 2n Bits Eine MIPS Instruktion
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
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:
Lösungsvorschlag 10. Übung Technische Grundlagen der Informatik II Sommersemester 2009
Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag. Übung Technische Grundlagen der Informatik II Sommersemester 29 Aufgabe.: MIPS-Kontrollsignale Für die 5 Befehlstypen a) R-Format
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:
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
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:
Digitaltechnik und Rechnerstrukturen. 2. Entwurf eines einfachen Prozessors
Digitaltechnik und Rechnerstrukturen 2. Entwurf eines einfachen Prozessors 1 Rechnerorganisation Prozessor Speicher Eingabe Steuereinheit Instruktionen Cachespeicher Datenpfad Daten Hauptspeicher Ausgabe
Technische Informatik 1
Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache
DLX-Assembler-Programmierung Kutil, 2010
DLX-Assembler-Programmierung Kutil, 200 Es gibt mehrere Simulatoren für den DLX-Prozessor. Erstens WinDLX, ein altes 6-Bit-Windows-Programm mit GUI und Dokumentation. Zweitens dlxsim, ein Unix-Programm
Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.
Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.
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
Das Prinzip an einem alltäglichen Beispiel
3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und
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
Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G & 18.
Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G77 ggeorgia@tik.ee.ethz.ch 17. & 18. November 2016 Inhalt Implementierung von Device-I/O mittels Polling und
Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register
Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control
Befehle zur Verarbeitung von Daten ( data processing ):
ARM: Befehlssatz Befehle zur Verarbeitung von Daten ( data processing ): Register/Register-Befehle: ,, (Achtung! Andere Interpretation: ) Transport-Befehl: MOV ,
Programmiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 1: Von der Maschinensprache zu C Prof. Dr. Maschinensprache: MIPS R2000 Was bewirkt folgendes Programm: 00100111101111011111111111100000 10101111101111110000000000010100
Stephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44
Aufgabe 33 a) Der Pseudobefehl move $rd,$rs wird als addu $rd,$0,$rs übersetzt. Dabei macht sich SPIM zunutze, dass das Register $0 immer Null ist. Somit wird das Register $rd ersetzt durch $rd=0+$rs=$rs,
Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9
Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)
Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015
Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse
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
Eine einfache MIPS-Implementierung. Die Speicherzugriffsbefehle load word (lw) und store word (sw)
232 5 Der Prozessor: pfad nd Steerwerk 5.1 Einführng In Kapitel 4 haben wir gesehen, dass das Leistngsverhalten eines Rechners von drei Schlüssel-Faktoren bestimmt wird: Befehlszahl, Taktzyklszeit nd Taktzyklen
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
DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE
D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:
Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller
SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden
Rechnerstrukturen Sommersemester 2003
9. Übung Ausgabe Abgabe 08.07.03 16.-18.07.03 Bei Fragen und Problemen können Sie uns per E-mail unter den folgenden Adressen erreichen: Mesut Güneş guenes@informatik.rwth-aachen.de Ralf Wienzek wienzek@informatik.rwth-aachen.de
Prinzipieller Aufbau und Funktionsweise eines Prozessors
Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg
5.BMaschinensprache und Assembler
Die Maschinenprogrammebene eines Rechners Jörg Roth 268 5.BMaschinensprache und Assembler Die vom Prozessor ausführbaren Befehle liegen im Binärformat vor. Nur solche Befehle sind direkt ausführbar. So
TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems
Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving
Was ist die Performance Ratio?
Was ist die Performance Ratio? Wie eben gezeigt wäre für k Pipeline Stufen und eine große Zahl an ausgeführten Instruktionen die Performance Ratio gleich k, wenn jede Pipeline Stufe dieselbe Zeit beanspruchen
Die Mikroprogrammebene eines Rechners
Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.
Der Toy Rechner Ein einfacher Mikrorechner
Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte
Neues vom STRIP Forth-Prozessor
Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft März 2014 Bad Vöslau/Österreich Willi Stricker -Prozessor Inhalt 1. STRIP-Befehlssatz Bisher: minimaler Befehlssatz neu: erweiterter Befehlssatz
Ü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
Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control
Control Beispiel Store R1 4 Bit Register R1 SUB 4 Bit Register R2 Store R2 R2 Bit 0 Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Eingabe R2 Bit 0 Zero 0 0 Ausgabe
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
Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)
Auch hier wieder Aus voriger Wahrheitstabelle lässt sich mechanisch eine kombinatorische Schaltung generieren, die wir im Folgenden mit dem Control Symbol abstrakt darstellen. Instruction[31 26] (also:
Beispiele von Branch Delay Slot Schedules
Beispiele von Branch Delay Slot Schedules Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Prozessor 97 Weniger
Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen
Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember 2016 Bitte immer eine Reihe freilassen Ziele der Übung Verschiedene Arten von Instruktionsparallelität
Assembler (NASM) Crashkurs von Sönke Schmidt
Sönke Schmidt (NASM) Crashkurs von Sönke Schmidt Berlin, 4.11.2015 Meine Webseite: http://www.soenke-berlin.de NASM Was ist das? nach Wikipedia: Ein ist ein Programmierwerkzeug, das ein in maschinennaher
Technische Informatik 1
Technische Informatik 1 4 Prozessor Einzeltaktimplementierung Lothar Thiele Computer Engineering and Networks Laboratory Vorgehensweise 4 2 Prinzipieller Aufbau Datenpfad: Verarbeitung und Transport von
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
Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache
Assembler Programmierung Motivation Informatik II SS 2004 Teil 4: Assembler Programmierung Was ist ein Programm? Eine Reihe von Befehlen, die der Ausführung einer Aufgabe dient Dazu wird das Programm sequentiell
Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts
Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101
Die ARM-Mikroarchitektur. Acorn RISC Machine ARM. Asm Prak SS03 p.1/13
Die -Mikroarchitektur Acorn RISC Machine Asm Prak SS03 p.1/13 Die -Mikroarchitektur Acorn RISC Machine Advanced RISC Machine Asm Prak SS03 p.1/13 Designziele Kostengünstig Asm Prak SS03 p.2/13 Designziele
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)
Technische Informatik 1 - HS 2017
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 8 Datum: 30. 11. 1. 12. 2017 In dieser Übung soll mit Hilfe des Simulators WinMIPS64 die
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..
Lösungsvorschlag zur 3. Übung
Prof Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik Wintersemester 09/10 1 Präsenzübungen 11 Schnelltest Lösungsvorschlag zur Übung a) Welche der folgenden Aussagen entsprechen
Rechnerstrukturen 1: Der Sehr Einfache Computer
Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................
Assembler - Adressierungsarten
Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01
DLX-Assembler für Anfänger Kutil, 2004
DLX-Assembler für Anfänger Kutil, 200 Hiermit können Sie die ersten Schritte in die Assemblerprogrammierung am Beispiel des virtuellen DLX-Prozessors machen. Dieses Dokument erklärt aber nicht die Befehle
Kap 4. 4 Die Mikroprogrammebene eines Rechners
4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).
05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur
0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf
KOP / FBS - Programmierung
KOP / FBS - Programmierung Programmieren in Anweisungsliste Programmieren in strukturierten Text Programmieren in Kontaktplan Programmieren in Funktionsbausteinsprache KOP Programmierung (1) 2 1 Neues
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
Technische Informatik 1 Übung 2 Assembler (Computerübung) Matthias Meyer
Technische Informatik 1 Übung 2 Assembler (Computerübung) Matthias Meyer Ziele der Übung Aufgabe 1 Ein lauffähiges Assembler-Programm Umgang mit dem Debugger Aufgabe 2 (Zusatzaufgabe) Lesen und Analysieren
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
Assembler-Programmierung
Assembler-Programmierung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Assembler-Programmierung 1/48 2012-02-29 Assembler-Programmierung
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
Mikrocomputertechnik. Einadressmaschine
technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik
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
Datapath. Data Register# Register# PC Address instruction. Register#
Überblick über die Implementation Datapath Um verschiedene Instruktionen, wie MIPS instructions, interger arithmatic-logical instruction und memory-reference instructions zu implementieren muss man für
Praktische Übungen zu Computertechnik 2. Versuchsprotokoll
Praktische Übungen zu Computertechnik 2 Versuchsprotokoll Versuch: A3 Befehlssatzerweiterung und Test eines RISC-Prozessors Versuchsdatum und -zeit: Donnerstag, 06. Mai 2010, 10-13 Uhr Betreuer: Andreas
L3. Datenmanipulation
L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus
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
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.
Daniel Betz Wintersemester 2011/12
Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register
Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016
Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016 Aufgabe 1: Taktrate / Latenz TI1 - Übung 6: Pipelining Einzeltakt-Architektur TI1 - Übung 6: Pipelining Pipelining-Architektur
Grundzüge der Informatik II
Grundzüge der Informatik II Kapitel 4: Realisierung von Rechen- und Steuerwerk (2. Teil) Prof. Dr. Oskar von Stryk Fachgebiet Simulation und Systemoptimierung TU Darmstadt Skript: Patterson/Hennessy, Chapter
TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM. Die MARS Umgebung
Die MARS Umgebung MARS ist ein Simulationswerkzeug für MIPS Prozessoren Es enthält einen Assembler und eine Laufzeitumgebung Da das Wirtsystem (z.b. Windows) auf einem anderen Prozessor basiert, werden
Rechnern netze und Organisatio on
Rechnernetze und Organisation Assignment A2 1 Motivation Übersicht Pentium Instruction-Set Simulator Mit Floating-Point Unit Aufgabenstellung 2 Motivation Instruction-Set Simulation Funktionales Modell
ALU ALU. ALU-Aufbau. Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus. Addierer. Logischer Einheit. Shifter
ALU ALU-Aufbau Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus Addierer Logischer Einheit Shifter Eingänge in eine ALU: zwei Operanden, Instruktionscode OP1 OP0 Ausgänge einer ALU: Ergebnis,
Hier: Soviele Instruktionen wie möglich sollen in einer Zeiteinheit ausgeführt werden. Durchsatz.
Pipelining beim DLX 560 Prozessor Pipelining : Implementierungstechnik Vielfältig angewendet in der Rechnerarchitektur. Pipelining macht CPUs schnell. Pipelining ist wie Fließbandverarbeitung. Hintereinanderausführung
Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011
Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste
Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45
Pipelining Die Pipelining Idee Grundlagen der Rechnerarchitektur Prozessor 45 Single Cycle Performance Annahme die einzelnen Abschnitte des MIPS Instruktionszyklus benötigen folgende Ausführungszeiten:
Grundbegriffe der Informatik Tutorium 5
Grundbegriffe der Informatik Tutorium 5 Tutorium Nr. 16 Philipp Oppermann 2. Dezember 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
Instruktionssatz-Architektur
Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile
4. Übung SPS-Programmierung
Grundlagen der Automatisierungstechnik (Automatisierungstechnik 1) 4. Übung SPS-Programmierung Programmiersprachen nach IEC 61131-3 2 1 Strukturierter Text (ST) Engl.: Structured Text (ST) Höhere Programmiersprache
Rechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)
PC/XT/AT ASSEMBLER-BUCH
PC/XT/AT ASSEMBLER-BUCH Alle Befehle + Makro-Assembler KLAUS-DIETER THIES t
Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!
!!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit
Teil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung
Informatik 12 Kapitel 3 - Funktionsweise eines Rechners
Fachschaft Informatik Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/36 Inhaltsverzeichnis I 1 Komponenten eines PCs
Informatik für ET/MT INF1 ET/MT. Rechner Architektur Befehlssätze. Assemblerprogrammierung
Informatik für ET/MT Rechner Architektur Befehlssätze INF1 ET/MT Assemblerprogrammierung Prof. Dr. Ing. Christian Hochberger Professur Mikrorechner Institut für Technische Informatik Fakultät Informatik
Assembler Kontrollstrukturen
Assembler Kontrollstrukturen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Kontrollstrukturen 1/21 2008-04-03 Kontrollstrukturen
, 2014W Übungsgruppen: Mo., Mi.,
VU Technische Grundlagen der Informatik Übung 5: ikroprozessor (icro16) 183.579, 2014W Übungsgruppen: o., 01.12. i., 03.12.2014 Aufgabe 1: Schaltwerksentwicklung Hexapod / Teil 2 a) Befüllen Sie die untenstehende
Übersicht Shell-Scripten
!!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,
Use of the LPM (Load Program Memory)
Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Instruction with the AVR Assembler Load Constants from Program Memory Use of Lookup Tables The LPM instruction is included in the
Data Hazards. Grundlagen der Rechnerarchitektur Prozessor 74
Data Hazards Grundlagen der Rechnerarchitektur Prozessor 74 Motivation Ist die Pipelined Ausführung immer ohne Probleme möglich? Beispiel: sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2