1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Pipelining –

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Advertisements

Τύποι δεδομένων και τελεστές,
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Pipelining – Βασικές αρχές.
Το υλικο του Υπολογιστη
Τεχνολογίες Επεξεργαστών
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Handling Local Variables General Purpose Registers
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Ημιαγωγοί – Τρανζίστορ – Πύλες - Εξαρτήματα
Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ. Ε
Εισαγωγή στο AT91 Νίκος Πετρέλλης, ΠΔ407/80. Αρχιτεκτονική του ARM926EJ-S.
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
Υποθετική Εκτέλεση Εντολών (Hardware-Based Speculation)‏
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Προηγμένες Αρχιτεκτονικές Υπολογιστών Εισαγωγή
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
Εισαγωγή στο AT91 Νίκος Πετρέλλης, ΠΔ407/80.
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Βελτιστοποίηση κώδικα σε επεξεργαστές ΨΕΣ Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών.
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Τι είναι μία ομάδα / σύνολο εντολών (Instruction Set);
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
© Θέματα Φεβρουαρίου © Θέμα 1ο (30%): Έστω η παρακάτω ακολουθία εντολών που χρησιμοποιείται για την αντιγραφή.
Memory Cloaking & Bypassing Εργασία στο μάθημα: Προηγμένες Αρχιτεκτονικές Υπολογιστών Κατσαρής Αριστοτέλης Μ473 Τσαγκάρης Γιώργος Μ479.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
© Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος Νεκτάριος Κοζύρης Νίκος Αναστόπουλος
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Οργάνωση Υπολογιστών 5 “συστατικά” στοιχεία -Επεξεργαστής:
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Translation Lookaside Buffers Φροντιστήριο του μαθήματος “Προηγμένοι Μικροεπεξεργαστές”
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Καθηγητής Σταύρος Α. Κουμπιάς
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
INSTRUCTIONS LANGUAGE OF THE MACHINE
Single-cyle υλοποίηση:
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Θέματα Φεβρουαρίου
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Pipelining – Βασικές αρχές Μέρος: Πρώτο Καθηγητής: Α. Βαφειάδης 2007

2 Η βασική ιδέα  Η βασική αρχή Pipeline μπορεί να εφαρμοστεί στη Κατασκευή ποδηλάτων. Γενικά μπορεί να εφαρμοστεί σε κάθε διαδικασία που πραγματοποιείται σε φάσεις ανεξάρτητες η μια από την άλλη.  Τα μέρη της διαδικασίας pipeline είναι:  Οι Φάσεις συναρμολόγησης ενός ποδηλάτου  Φάση Α: συγκόλληση του σκελετού  Φάση Β: τοποθέτηση σέλας και τιμονιού  Φάση Γ: τοποθέτηση τροχών  Φάση Δ: τοποθέτηση φρένων και ταχυτήτων  Φάση Ε: τοποθέτηση φώτων, σχάρας, και δυναμό  Οι εργάτες που πραγματοποιούν την συναρμολόγηση  Στο παράδειγμα οι εργάτες είναι πέντε και ο καθένας ασχολείται αποκλειστικά σε μια από τις πέντε φάσεις

3 Η βασική ιδέα Χρόνος γεμίσματος της Pipeline

4 Επιτάχυνση σε ισόχρονη pipeline  Αν Μ το πλήθος των φάσεων τότε ύστερα από Ν περιόδους θα έχουν ολοκληρωθεί Ν-(Μ-1) ποδήλατα. Στο παράδειγμα Ν-4 ποδήλατα.  Αντίστροφα P ποδήλατα θέλουν P + (M-1) περιόδους για να πραγματοποιηθούν. Στο παράδειγμα σε P+4 περιόδους  Ονομάζουμε επιτάχυνση της Pipeline το λόγο χρόνο παραγωγής P ποδηλάτων με ένα εργάτη 50P χρόνος παραγωγής P ποδηλάτων με pipeline 4* P όπου κάθε φάση = 10min τότε επιτάχυνση = 50P/(10P+40) = 5/(1+4/P) Αν P  ∞ τότε επιτάχυνση  5 (Θεωρητική επιτάχυνση) Στο παραπάνω μοντέλο θεωρούμε ότι όλες οι φάσεις είναι ισόχρονες

5 Επιτάχυνση σε μη ισόχρονη pipeline Διάρκεια φάσεων Φάση Α: 10min Φάση Β: 9min Φάση Γ: 7min Φάση Δ: 10min Φάση Ε: 12min Σύνολο έργου 48 min Aν F= 12 ( Ο χρόνος φάσης του αργότερου εργάτη) τότε Επιτάχυνση = (48P) / (12P +4*12) = 4 / (1+4/P) Αν P  ∞ τότε P  4 (Θεωρητική επιτάχυνση)

6 Ποσοστό απασχόλησης σε μη ισόχρονη pipeline Υπάρχουν σχόλια ?

7 Συμπεράσματα  Σκοπός της τεχνικής pipelining είναι η επιτάχυνση της εκτέλεσης μιας διαδικασίας με τον τεμαχισμό της σε επί μέρους φάσεις οι οποίες μπορούν να εκτελούνται ταυτόχρονα για ξεχωριστές διαδικασίες  Η επιτάχυνση που επιτυγχάνεται δεν είναι μόνο συνάρτηση του αριθμού των φάσεων αλλά και της εξισορρόπησης μεταξύ των χρόνων εκτέλεσης των διαφόρων φάσεων. Με άλλα λόγια αν τεμαχίσουμε μια διαδικασία σε 10 επί μέρους φάσεις αυτό δε σημαίνει ότι θα επιτύχουμε επιτάχυνση της διαδικασίας κατά 10 φορές αν δεν έχουμε προηγουμένως φροντίσει οι φάσεις αυτές να απαιτούν τον ίδιο (ή περίπου τον ίδιο) χρόνο εκτέλεσης.

8 O DLX υποθετικός υπολογιστής  A simple load/store instruction set  Registers  32-bit general purpose registers (GPRs), named R0, R1,..., R31. The value of R0 is always 0.  32 floating-point registers (FPRs), which can be used as  32 single precision (32-bit) registers F0,F2,...,F30 or  even-odd pairs holding double-precision values. Thus, the 64-bit FPRs are named F0,F2,...,F15  Data types  for integer data  8-bit bytes  16-bit half words  32-bit words  for floating point  32-bit single precision  64-bit double precision

9 O DLX υποθετικός υπολογιστής  Memory  byte addressable  Big Endian mode  32-bit address  2 addressing modes (immediate and displacement).  memory references are load/store between memory and GPRs or FPRs  access to GPRs can be to a byte, to a halfword, or to a word

10 DLX Addressing ADD R1, R2 #17;Πρόσθεσε στον καταχωρητή R2 τον ;αριθμό 17 (δεκαδικό) και το αποτέλεσμα στον ;R1 (άμεση κλήση) LW R1, 120(R2);Φόρτωσε στον καταχωρητή R1 το ;περιεχόμενο της θέσης μνήμης 120+R2 ;(κλήση με μετατόπιση) LW R4, 0(R1);Φόρτωσε στον καταχωρητή R4 το ;περιεχόμενο της θέσης μνήμης R1 ;(έμμεση κλήση) LW R2, 1520(R0);Φόρτωσε στον καταχωρητή R2 το ;περιεχόμενο της θέσης μνήμης 1520, αφού; ο καταχωρητής R0 είναι πάντοτε μηδέν ;(απόλυτη κλήση)

11 DLX Instruction Type I Type (immediate) LW R1, 30(R2)Load word Regs[R1] <- Mem[30+Regs[R2]] LW R1, 1000(R0)Load word Regs[R1] <- Mem[1000+0] SW 500(R4), R3Store wordMem[500+Regs[R4]] <- Regs[R3] SF 40(R3), F0Store floatMem[40+Regs[R3]] <- Regs[F0] JR R3Jump registerPC <- Regs[R3] ADDI R1, R2, #3Add immediateRegs[R1] <- Regs[R2] + 3 BEQZ R4, name Branch equal zeroif (Regs[R4]==0) PC <- name;

12 DLX Instruction Type R Type (Register) ADD R1, R2, R3AddRegs[R1] <- Regs[R2]+Regs[R3]

13 DLX Instruction Type J Type (Jump) J name JumpPC<-name;

14 The MIPS Instruction Formats  All MIPS instructions are 32 bits long. The three instruction formats:  R-type  I-type  J-type  The different fields are:  op: operation of the instruction  rs, rt, rd: the source and destination register specifiers  shamt: shift amount  funct: selects the variant of the operation in the “op” field  address / immediate: address offset or immediate value  target address: target address of the jump instruction optarget address bits26 bits oprsrtrdshamtfunct bits 5 bits oprsrt immediate bits16 bits5 bits

15 Οι φάσεις μιας εντολής  Φάση λήψης εντολής (Instruction Fetch) - (IF)  Φάση αποκωδικοποίησης / ανάγνωσης καταχωρητών (Instruction decode / register fetch) - (ID)  Φάση εκτέλεσης (Execution) - (EX)  Φάση πρόσβασης στη μνήμη / ολοκλήρωση αλμάτων (Memory access) - (MEM)  Φάση εγγραφής καταχωρητών / μνήμης (Write back) - (WB)

16 Φάση λήψης εντολής (Instruction Fetch)  IR  Mem [PC]  NPC  PC + 4  Προσθέτουμε το 4 γιατί έχουμε byte addressable memory

17 Φάση αποκωδικοποίησης / ανάγνωσης καταχωρητών (Instruction decode / register fetch)  A  Reg[IR(6..10)]  B  Reg[IR(11..15)]  Imm  IR(16..31) A,B, Imm Προσωρινοί καταχωρητές

18 Φάση εκτέλεσης (Execution)  Eντολή κλήσης στη μνήμη  ALUOutput  A + Imm LW R1, 120(R2)  Eντολή πράξης μεταξύ καταχωρητών  ALUOutput  A πράξη B Add R1,R2,R3  Eντολή πράξης μεταξύ καταχωρητή και άμεσου τελεστή  ALUOutput  A πράξη Imm Add r1,r2 #17  Eντολή άλματος υπό συνθήκη  ALUOutput  NPC + Imm  Cond  (A σύγκριση 0) BEQZ R4, name  Eντολή άλματος χωρίς συνθήκη  ALUOutput  NPC + IR(6..31)  Cond  True Jump name

19 Φάση πρόσβασης στη μνήμη / ολοκλήρωση αλμάτων (Memory access)  Ε ντολή κλήσης στη μνήμη  LMD  Mem[ALUOutput] (για load) ή  Mem[ALUOutput]  B (για store)  Εντολή άλματος (με ή χωρίς συνθήκη)  If (Cond) then PC  ALUOutput  else PC  NPC B PC 

20 Φάση εγγραφής καταχωρητών / μνήμης (Write back)  Eντολή πράξης μεταξύ καταχωρητών  Reg[IR(16..20)]  ALUOutput  Eντολή πράξης μεταξύ καταχωρητή και immediate  Reg[IR(11..15)]  ALUOutput  Eντολή load  Reg[IR(11..15)]  LMD

21 Η pipeline του DLX L1 data Cache L1 Instr. Cache A,B, Imm: Temporary registers MUX : Multiplexer LMD (load memory data) register

22 Η pipeline του DLX Οι φάσεις εκτέλεσης μιας εντολής DLX

23 Η ιδανική Pipeline

24 Η ιδανική Pipeline

25 Παράδειγμα Κύκλος του ρολογιού = 10nsec Αριθμητικές πράξεις και τα άλματα = 4 κύκλοι Εντολές πρόσβασης στη μνήμη = 5 κύκλοι αριθμητικές εντολές συχνότητα 40% Εντολές πρόσβασης στη μνήμη συχνότητα 40% Άλματα συχνότητα 20% Πολυπλοκότητα της pipeline 1nsec /κύκλο ρολογιού [ΜΧΕ] χωρίς pipeline = 10nsec  (40%  %  %  5) = 44nsec [ΜΧΕ] με pipeline = = 11nsec Επιτάχυνση = [ΜΧΕ] χωρίς pipeline / [ΜΧΕ] με pipeline = 44nsec/11nsec = 4 αντί για την ιδανική τιμή 5.

26 Memory Reference (LOAD) LW R1,30(R2) όπου Reg(R2)= 4000 και MEM[4030]=10  IF  IR  Mem[PC]  NPC  PC + 4  ID  A  Reg[IR(6..10)] Α  Reg(R2) A=4000  B  Reg[IR(11..15)] B  Reg(R1) B = ?  Imm  IR(16..31) Imm = 30  EX  ALUOutput  A + Imm ALUOutput = =4030  MEM  LMD  Mem[ALUOutput] LMD = MEM[4030] = 10  WB  Reg[IR(11..15)]  LMD Reg(R1) = 10

27 Memory Reference (STORE) SW 500(R4), R3 όπου Reg(R4) = 4000 και Reg(R3) =10  IF  IR  Mem[PC]  NPC  PC + 4  ID  A  Reg[IR(6..10)] Α  Reg(R4) A = 4000  B  Reg[IR(11..15)] B  Reg(R3) B = 10  Imm  IR(16..31) Imm = 500  EX  ALUOutput  A + Imm ALUOutput = =4500  MEM  Mem[ALUOutput]  B MEM[4500] = 10  WB  null

28 Register to Register ADD R1,R2,R3 όπου Reg(R2) = 40 και Reg(R3) =10  IF  IR  Mem[PC]  NPC  PC + 4  ID  A  Reg[IR(6..10)] Α  Reg(R2) A=40  B  Reg[IR(11..15)] B  Reg(R3) B = 10  Imm  IR(16..31) Imm (16..20) = R1, Imm(21..31)= +  EX  ALUOutput  A + B ALUOutput = =50  MEM  null  WB  Reg[IR(16..20)]  ALUOutput Reg(R1) = 50

29 Register to immediate ADDΙ R1,R2, #3 όπου Reg(R2)= 4000  IF  IR  Mem[PC]  NPC  PC + 4  ID  A  Reg[IR(6..10)] Α  Reg(R2) A=4000  B  Reg[IR(11..15)] B  Reg(R1) B = ?  Imm  IR(16..31) Imm (16..31) = 3  EX  ALUOutput  A + Imm(16..31) ALUOutput = = 4003  MEM  null  WB  Reg[IR(11..15)]  ALUOutput Reg(R1) = 4003

30 Unconditional Jump J name όπου name = 100  IF  IR  Mem[PC]  NPC  PC + 4  ID  A  Reg[IR(6..10)]  B  Reg[IR(11..15)]  Imm  IR(16..31)  EX  ALUOutput  IR(6..31) ALUOutput = 100  Cont  true  MEM  If cont then PC  ALUOutputPC  100 (Jump) else PC = NPCPC  NPC (next address)  WB  null IR(6..31) = A ## B ## Imm ## σημαίνει ενωση

31 Conditional Jump BEQZ R4, name όπου name = 100  IF  IR  Mem[PC]  NPC  PC + 4  ID  A  Reg[IR(6..10)] A  Reg(R4)  B  Reg[IR(11..15)]  Imm  IR(16..31)  EX  ALUOutput  Imm ALUOutput = 100  If A equal 0 then Cont  true else Cont  false  MEM  If cont then PC  ALUOutputPC  100 (Jump) else PC = NPCPc  NPC (next address)  WB  null