ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Ιάκωβος Μαυροειδής
|
|
- Αμάλθεια Λαμέρας
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Ιάκωβος Μαυροειδής
2 Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control stalls Θα μελετήσουμε δύο ειδών τεχνικές Δυναμικές δρομολόγηση εντολών (hardware) Scoreboard (ελάττωση RAW stalls) Register Renaming α)tomasulo β)reorder Buffer (ελάττωση WAR και WAW stalls) Branch prediction (ελάττωση Control stalls) Στατικές (shoftware/compiler) Loop Unrolling Software Pipelining Trace Scheduling
3 Registers Functional Units Αρχιτεκτονική Scoreboard (CDC 6600) FP Mult FP Mult FP Divide FP Add Integer SCOREBOARD Memory
4 Tomasulo Organization From Mem FP Op Queue Load Buffers Load1 Load2 Load3 Load4 Load5 Load6 FP Registers Store Buffers Add1 Add2 Add3 Mult1 Mult2 FP adders Reservation Stations FP multipliers To Mem Common Data Bus (CDB)
5 Dest Reg Result Exceptions? Valid Program Counter Reorder buffer (ROB) FP Op Queue Reorder Buffer FP Regs Reorder Table Res Stations FP Adder Res Stations FP Adder
6 eqntott espresso gcc li doduc nasa7 ora spice2g6 su2cor tomcatv R4000 Performance Μη ιδανικό CPI : Load stalls (1 ή 2 clock cycles) Branch stalls (2 cycles + unfilled slots) FP result stalls: RAW data hazard (latency) FP structural stalls: Not enough FP hardware (parallelism) Base Load stalls Branch stalls FP result stalls FP structural stalls
7 Instruction Level Parallelism (ILP) ILP: Παράλληλη εκτέλεση μη συσχετιζόμενων (μη εξαρτόμενων) εντολών. gcc 17% control transfer εντολές 5 εντολές + 1 branch Πέρα από ένα block για να έχουμε περισσότερη instruction level parallelism Loop level parallelism one opportunity First SW, then HW approaches
8 Εξαρτήσεις Μεταξύ Εντολών (Depedences) Ποιές είναι οι πηγές των stall/bubbles; Εντολές που χρησιμοποιούν ίδιους registers. - Παράλληλες εντολές μπορούν να εκτελεστούν διαδοχικά χωρίς να δημιουργούν stalls. Π.χ. DIVD F0, F2, F4 ADDD F10, F1, F3 - Εξαρτήσεις μεταξύ εντολών μπορούν να οδηγήσουν σε stalls. Π.χ. DIVD F0, F2, F4 RAW ADDD F10, F0, F3 Οι εξαρτήσεις μεταξύ εντολών περιορίζουν την σειρά εκτέλεσεις των εντολών (in order execution) π.χ. η ADDD πρέπει να εκτελεστεί μετά την DIVD στο 2ο παράδειγμα. Ενώ παράλληλες εντολές μπορούν να εκτελεστούν ανάποδα (out of order execution) π.χ. η ADDD μπορεί να εκτελεστέι πριν την DIVD στο 1ο παράδειγμα.
9 Εξαρτήσεις Μεταξύ Εντολών Data Dependences : Δύο εντολές είναι data dependent όταν υπάρχει μία αλυσίδα από RAW hazards μεταξύ τους. Name Dependences : Δύο εντολές είναι name dependent όταν υπάρχει ένα WAR ή WAW hazard μεταξύ τους. LD F0, 0(R1) ADDD F4, F0, F2 LD F0, 0(R2) Control Dependences : Eντολές εξαρτόμενες από branch εντολή. if p1 { S1; }
10 FP Loop: Που είναι τα Hazards? while (R1 > 0) { M[R1] = M[R1] + F2; R1 -= 8 } Loop: L.D F0,0(R1) ;F0=vector element ADD.D F4,F0,F2 ;add scalar from F2 S.D 0(R1),F4 ;store result SUBI R1,R1,8 ;decrement pointer 8B (DW) BNEZ R1,Loop ;branch R1!=zero NOP ;delayed branch slot Instruction Instruction Latency in producing result using result clock cycles FP ALU op Another FP ALU op 3 FP ALU op Store double 2 Load double FP ALU op 1 Load double Store double 1 Integer op Integer op 0 Που έχουμε stalls?
11 FP Loop Showing Stalls 1 Loop: L.D F0,0(R1) ;F0=vector element 2 stall 3 ADD.D F4,F0,F2 ;add scalar in F2 4 stall 5 stall 6 S.D 0(R1), F4 ;store result 7 SUBI R1,R1,8 ;decrement pointer 8B (DW) 8 BNEZ R1,Loop ;branch R1!=zero 9 stall ;delayed branch slot Instruction Instruction Latency in producing result using result clock cycles FP ALU op Another FP ALU op 3 FP ALU op Store double 2 Load double FP ALU op 1 9 κύκλοι: Ξαναγράψε κώδικα για να ελαχιστοποιήσεις τα stalls?
12 Scheduled κώδικας του FP Loop 1 Loop: L.D F0,0(R1) 2 stall 3 ADD.D F4,F0,F2 4 SUBI R1,R1,8 5 BNEZ R1,Loop ;delayed branch 6 S.D 8(R1),F4 ;altered when move past SUBI Αλλαγή θέσεων των BNEZ και SD αλλάζοντας την διεύθυνση του SD Instruction Instruction Latency in producing result using result clock cycles FP ALU op Another FP ALU op 3 FP ALU op Store double 2 Load double FP ALU op 1 6 clocks: Unroll loop 4 times to make code faster?
13 Ιδέα : Loop Unrolling while (R1 > 0) { M[R1] = M[R1] + F2; R1 -= 8 } while (R1 >= 4*8) { M[R1] = M[R1] + F2; M[R1-8] = M[R1-8] + F2; M[R1-16] = M[R1-16] + F2; M[R1-24] = M[R1-24] + F2; R1 -= 4*8 } while (R1 > 0) { M[R1] = M[R1] + F2; R1 -= 8 } Μη εξαρτόμενες εντολές μέσα στο Loop. Καλές προοπτικές για scheduling.
14 Unroll Loop 4 φορές: Που έχουμε name dependencies; 1 Loop: L.D F0,0(R1) 2 ADD.D F4,F0,F2 3 S.D 0(R1),F4 ;drop SUBI & BNEZ 4 L.D F0,-8(R1) 5 ADD.D F4,F0,F2 6 S.D -8(R1),F4 ;drop SUBI & BNEZ 7 L.D F0,-16(R1) 8 ADD.D F4,F0,F2 9 S.D -16(R1),F4 ;drop SUBI & BNEZ 10 L.D F0,-24(R1) 11 ADD.D F4,F0,F2 12 S.D -24(R1),F4 13 SUBI R1,R1,#32 ;alter to 4*8 14 BNEZ R1,LOOP 15 NOP
15 Unroll Loop 4 φορές: Που έχουμε name dependencies; 1 Loop: L.D F0,0(R1) 2 ADD.D F4,F0,F2 3 S.D 0(R1),F4 ;drop SUBI & BNEZ 4 L.D F0,-8(R1) 5 ADD.D F4,F0,F2 6 S.D -8(R1),F4 ;drop SUBI & BNEZ 7 L.D F0,-16(R1) 8 ADD.D F4,F0,F2 9 S.D -16(R1),F4 ;drop SUBI & BNEZ 10 L.D F0,-24(R1) 11 ADD.D F4,F0,F2 12 S.D -24(R1),F4 13 SUBI R1,R1,#32 ;alter to 4*8 14 BNEZ R1,LOOP 15 NOP Πώς εξαφανίζονται;
16 Που είναι τώρα; 1 Loop: L.D F0,0(R1) 2 ADD.D F4,F0,F2 3 S.D 0(R1),F4 ;drop SUBI & BNEZ 4 L.D F6,-8(R1) 5 ADD.D F8,F6,F2 6 S.D -8(R1),F8 ;drop SUBI & BNEZ 7 L.D F10,-16(R1) 8 ADD.D F12,F10,F2 9 S.D -16(R1),F12 ;drop SUBI & BNEZ 10 L.D F14,-24(R1) 11 ADD.D F16,F14,F2 12 S.D -24(R1),F16 13 SUBI R1,R1,#32 ;alter to 4*8 14 BNEZ R1,LOOP 15 NOP register renaming εξαφάνισε WAR/WAW stalls
17 1 Loop: LD F0,0(R1) 2 ADDD F4,F0,F2 Unroll Loop 4 φορές 1 cycle stall 2 cycles stall 3 SD 0(R1),F4 ;drop SUBI & BNEZ 4 LD F6,-8(R1) 5 ADDD F8,F6,F2 6 SD -8(R1),F8 ;drop SUBI & BNEZ 7 LD F10,-16(R1) 8 ADDD F12,F10,F2 9 SD -16(R1),F12 ;drop SUBI & BNEZ 10 LD F14,-24(R1) 11 ADDD F16,F14,F2 12 SD -24(R1),F16 13 SUBI R1,R1,#32 ;alter to 4*8 14 BNEZ R1,LOOP 15 NOP Rewrite loop to minimize stalls? x (1+2) = 27 clock cycles, or 6.8 per iteration Assumes R1 is multiple of 4
18 Schedule Unrolled Loop 1 Loop: LD F0,0(R1) 2 LD F6,-8(R1) 3 LD F10,-16(R1) 4 LD F14,-24(R1) 5 ADDD F4,F0,F2 6 ADDD F8,F6,F2 7 ADDD F12,F10,F2 8 ADDD F16,F14,F2 9 SD 0(R1),F4 10 SD -8(R1),F8 11 SD -16(R1),F12 12 SUBI R1,R1,#32 13 BNEZ R1,LOOP 14 SD 8(R1),F16 ; 8-32 = clock cycles, or 3.5 per iteration Τι υποθέσεις έγιναν κατά την μετακίνηση του κώδικά; OK to move store past SUBI even though changes register OK to move loads before stores/add: get right data? When is it safe for compiler to do such changes?
19 Compiler Perspectives on Code Movement Name Dependencies είναι δύσκολο να διαγνωστούν για Memory Accesses Είναι 100(R4) = 20(R6)? Για διαφορετικές επαναλήψεις του loop, είναι 20(R6) = 20(R6)? Στο παράδειγμά μας ο compiler πρέπει να καταλάβει ότι όταν το R1 δεν αλλάζει τότε: 0(R1) -8(R1) -16(R1) -24(R1) There were no dependencies between some loads and stores so they could be moved by each other
20 Πότε είναι ασφαλές να κάνουμε Unroll ένα Loop? Παράδειγμα: Που είναι οι εξαρτήσεις? (A,B,C distinct & nonoverlapping) for (i=0; i<100; i=i+1) { A[i+1] = A[i] + C[i]; /* S1 */ B[i+1] = B[i] + A[i+1]; /* S2 */ } 1. S2 uses the value, A[i+1], computed by S1 in the same iteration. 2. S1 uses a value computed by S1 in an earlier iteration, since iteration i computes A[i+1] which is read in iteration i+1. The same is true of S2 for B[i] and B[i+1]. Αυτή η εξάρτηση (μεταξύ επαναλήψεων) ονομάζεται loop-carried dependence For our prior example, each iteration was distinct Implies that iterations can t be executed in parallel, Right??
21 loop-carried dependence σημαίνει ότι δεν υπάρχει παραλληλισμός; Παράδειγμα: for (i=0; i<100; i=i+1) { A[i] = A[i] + B[i]; /* S1 */ B[i+1] = C[i] + D[i]; /* S2 */ } S1 χρησιμοποιεί τιμή του Β[i] υπολογισμένη σε προηγούμενη επανάληψη (loop-carried depedence). Όμως δεν υπάρχει άλλη εξάρτηση. Άρα η παραπάνω εξάρτηση δεν είναι κυκλική (circular). Επομένως το loop είναι παράλληλο. Α[0] = Α[0] + Β[0] B[1] = C[0] + D[0] Α[1] = Α[1] + Β[1] B[2] = C[1] + D[1] Α[2] = Α[2] + Β[2] B[3] = C[2] + D[2]... Α[0] = Α[0] + Β[0] B[1] = C[0] + D[0] Α[1] = Α[1] + Β[1] B[2] = C[1] + D[1] Α[2] = Α[2] + Β[2] B[3] = C[2] + D[2]...
22 loop-carried dependence σημαίνει ότι δεν υπάρχει παραλληλισμός; Παράδειγμα: for (i=0; i<100; i=i+1) { A[i] = A[i] + B[i]; /* S1 */ B[i+1] = C[i] + D[i]; /* S2 */ } Α[0] = Α[0] + Β[0]; /* start-up code*/ for (i=0; i<99; i=i+1) { B[i+1] = C[i] + D[i]; /* S1 */ A[i+1] = A[i+1] + B[i+1]; /* S2 */ } B[100] = B[99] + D[99]; /* clean-up code*/
23 Recurrence Depedence Distance Παράδειγμα: for (i=2; i< 100; i=i+1) { Y[i] = Y[i-1] + Y[i]; } loop-carried εξάρτηση σε μορφή recurrence. Παράδειγμα: for (i=2; i< 100; i=i+1) { Y[i] = Y[i-5] + Y[i]; } Η επανάληψη i εξαρτιέται από την i-5, δηλαδή έχει depedence distance 5. Όσο μεγαλύτερη η απόσταση τόσο περισσότερο πιθανό παραλληλισμό μπορούμε να περύχουμε.
24 Άλλη εκδοχή: Software Pipelining Παρατήρηση: Αν οι επαναλήψεις του loop είναι ανεξάρτητες, τότε μπορούμε να έχουμε περισσότερο ILP εκτελώντας εντολές από διαφορετικές επαναλήψεις. Software pipelining: reorganizes loops so that each iteration is made from instructions chosen from different iterations of the original loop ( Tomasulo in SW) Iteration 0 Iteration 1 Iteration 2 Iteration 3 Iteration 4 Softwarepipelined iteration
25 Software Pipelining: Παράδειγμα Iteration 0 Iteration 1 Iteration 2 Iteration 3 Iteration 4 LD F0,0(R1) ADDD F4,F0,F2 SD 0(R1),F4 start-up code LD F0,-8(R1) ADDD F4,F0,F2 LD F0,-16(R1) SD -8(R1),F4 ADDD F4,F0,F2 LD F0,-24(R1) SD -16(R1),F4 ADDD F4,F0,F2 LD F0,-32(R1) SD -24(R1),F4 ADDD F4,F0,F2 finish-up code SD -32(R1),F4
26 Software Pipelining: Παράδειγμα Πριν: Unrolled 3 times 1 L.D F0,0(R1) 2 ADD.D F4,F0,F2 3 S.D 0(R1),F4 4 L.D F6,-8(R1) 5 ADD.D F8,F6,F2 6 S.D -8(R1),F8 7 L.D F10,-16(R1) 8 ADD.D F12,F10,F2 9 S.D -16(R1),F12 10 SUBI R1,R1,#24 11 BNEZ R1,LOOP Μετά: Software Pipelined 1 S.D 0(R1),F4 ; Stores M[i] 2 ADD.D F4,F0,F2 ; Adds to M[i-1] 3 L.D F0,-16(R1); Loads M[i-2] 4 SUBI R1,R1,#8 5 BNEZ R1,LOOP 5 cycles per iteration Τα RAW hazards μετατρέπονται σε WAR hazards.
27 Software Pipelining Symbolic Loop Unrolling Maximize result-use distance Less code space than unrolling But.. Harder to implement Execution of SUB & BNEZ in every iteration
ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control
Διαβάστε περισσότεραΔυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)
Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling) Απόδοση pipeline Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + Control Stalls Ideal pipeline CPI: μέτρο της μέγιστης απόδοσης
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής WB Data Imm Επεξεργαστής DLX Instruction Fetch Instr. Decode Reg. Fetch Execute Addr. Calc Memory Access Write Back
Διαβάστε περισσότεραCS425 Computer Systems Architecture
CS425 Computer Systems Architecture Fall 2017 Dynamic Instruction Scheduling: Scoreboard CS425 - Vassilis Papaefstathiou 1 DLX Processor Instruction Fetch Instr. Decode Reg. Fetch Execute Addr. Calc Memory
Διαβάστε περισσότεραInstruction-Level Parallelism and its Dynamic Exploitation. Κεφάλαια 4o Computer Architecture-A Quantitative Approach 3 rd Edition
Instruction-Level Parallelism and its Dynamic Exploitation Κεφάλαια 4o Computer Architecture-A Quantitative Approach 3 rd Edition Basic Pipeline Για την αποφυγή ενός pipeline stall πρέπει µια εξαρτώµενη
Διαβάστε περισσότεραCS-425 Mid-term exam
CS-425 Mid-term exam Tuesday November 8th, 2005, 5-8 p.m. Aids: Non-programmable pocket calculator Only ONE problem solution PER PAGE! Put your NAME on each sheet. NUMBER each sheet. Mobile phones are
Διαβάστε περισσότεραInstruction-Level Parallelism and its Dynamic Exploitation. Μάθηµα 3ο Computer Architecture-A Quantitative Approach
Instruction-Level Parallelism and its Dynamic Exploitation Μάθηµα 3ο Computer Architecture-A Quantitative Approach Instruction-Level Parallelism (ILP) Επικάλυψη εντολών στοχεύοντας στην παράλληλη εκτέλεσή
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Precise Exception Speculation Reorder Buffer. Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Precise Exception Speculation Reorder Buffer Ιάκωβος Μαυροειδής Registers Functional Units Αρχιτεκτονική Scoreboard (CDC 6600) FP Mult FP Mult FP Divide FP Add Integer SCOREBOARD
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 6ο μάθημα: χρονοπρογραμματισμός, αλγόριθμος Tomasulo, εικασία Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου InstrucDon- Level
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Precise Exceptions Speculation Reorder Buffer. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Precise Exceptions Speculation Reorder Buffer Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής Αρχιτεκτονική Scoreboard (CDC 6600) Registers FP Mult FP Mult FP Divide FP Add Integer
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία
Διαβάστε περισσότεραΥποθετική Εκτέλεση Εντολών
Υποθετική Εκτέλεση Εντολών ( Speculation (Hardware-Based Τεχνικές βελτίωσης του CPI register renaming δυναμική εκτέλεση Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + υπερβαθμωτή
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής
ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής Αρης Ευθυμίου Ταχύτερη εκτέλεση Με τις τεχνικές που είδαμε στα προηγούμενα μαθήματα μπορούμε να εκτελέσουμε (με επικάλυψη) περίπου 1 εντολή
Διαβάστε περισσότεραΥ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές Αρης Ευθυμίου Το σημερινό μάθημα Υπερβαθμωτοί επεξεργαστές (superscalar) Εκτέλεση σε σειρά Εκτέλεση εκτός σειράς Alpha 21164 Scoreboard Μετονομασία
Διαβάστε περισσότεραΕισαγωγή. Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων
Εισαγωγή Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων 1 Παράγοντες που επηρεάζουν την επίδοση της CPU CPU time = Seconds = Instructions Cycles Seconds --------------
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Branch Prediction. Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Branch Prediction Ιάκωβος Μαυροειδής Branch Prediction Πρόβλεψη είναι πλέον απαραίτητη για να έχουμε καλή απόδοση. Γιατί; MULT F0,F1,F2 DIVD F4,F0,F3 BNEZ F4,Loop Σημαντική
Διαβάστε περισσότεραΥπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 7 η : Στατική Δρομολόγηση Εντολών (Επεξεργαστές VLIW) Εκμετάλλευση ILP Περιορισμοί στη δυναμική δρομολόγηση εντολών: Μέγεθος παραθύρου εντολών Αριθμός φυσικών καταχωρητών Αποτυχία
Διαβάστε περισσότερα1.1 ΑΣΚΗΣΗ ΛΥΣΗ 2.1 ΑΣΚΗΣΗ ΛΥΣΗ 3.1 ΑΣΚΗΣΗ
1.1 ΑΣΚΗΣΗ i) Έστω ότι οι εντολές κινητής υποδιαστολής ευθύνονται για το 25% του χρόνου εκτέλεσης ενός προγράµµατος σε ένα µηχάνηµα. Προτείνεται να βελτιωθεί το υλικό που σχετίζεται µε αριθµούς κινητής
Διαβάστε περισσότεραΠεριορισμοί των βαθμωτών αρχιτεκτονικών
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Περιορισμοί
Διαβάστε περισσότεραΔσναμική Δρομολόγηζη Ενηολών (Dynamic Scheduling)
Δσναμική Δρομολόγηζη Ενηολών (Dynamic Scheduling) 1 Απόδνζε pipeline Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + Control Stalls Ideal pipeline CPI: κέηξν ηεο κέγηζηεο απόδνζεο
Διαβάστε περισσότεραΤέτοιες λειτουργίες γίνονται διαμέσου του
Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου
Διαβάστε περισσότεραPipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»
Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. Δίπλωμα 4. αποθήκευση Σειριακή προσέγγιση για 4 φορτία = 8h 30 min κάθε «φάση» Pipelined προσέγγιση για 4 φορτία = 3.5h Το
Διαβάστε περισσότεραΕπανάληψη Σύστημα Διασωλήνωσης (Pipelining) Κεφάλαιο 4 - Σύστημα ιασωλήνωσης
Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) 1 ιασωλήνωση 2 Pipelining Παραλληλισμός + Pipelining 3 Χρόνος Εκτέλεσης = I x CPI x Cycle Time Με ή χωρις pipeline το Ι είναι το ίδιο όπως και τo CPI = 1. Το
Διαβάστε περισσότεραΠαραλληλισμός σε επίπεδο εντολών
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης
Διαβάστε περισσότεραΘέματα Μεταγλωττιστών
Γιώργος Δημητρίου Ενότητα 9 η : Θέματα Δρομολόγησης Εντολών ILP Παραλληλισμός επιπέδου εντολής Εξαρτήσεις δεδομένων Εξαρτήσεις ελέγχου (διαδικασιακές) Με διαθέσιμους πόρους, οι εντολές μπορούν να εκτελεστούν
Διαβάστε περισσότεραΥπερβαθµωτή Οργάνωση Υπολογιστών
Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Τα όρια του Παραλληλισµού σε επίπεδο εντολών (Instruction Level Parallelism - ILP) Weiss and Smith [1984] Sohi
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 5ο μάθημα: πρόβλεψη διακλάδωσης, διαφοροποιημένη διοχέτευση, χρονοπρογραμματισμός Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου
Διαβάστε περισσότεραPipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 30 min κάθε «φάση»
Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. ίπλωµα 4. αποθήκευση Time Task order A B C D 6 PM 7 8 9 10 11 12 1 2 AM Σειριακή προσέγγιση για 4 φορτία =8h 30 min κάθε «φάση»
Διαβάστε περισσότεραΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining)
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining) 1 ιασωλήνωση 2 Διασωλήνωση και Παραλληλισμός (Parallelism) Διασωλήνωση (Pipelining):
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Σύγχρονοι υπολογιστές Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 13 Διακλαδώσεις Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Η μέχρι τώρα μικρο-αρχιτεκτονική (Eντολές Διακλάδωσης) Η μικρο-αρχιτεκτονική
Διαβάστε περισσότεραCS425 Computer Systems Architecture
CS425 Computer Systems Architecture Fall 2017 Branch Prediction CS425 - Vassilis Papaefstathiou 1 Branch Prediction Πρόβλεψη είναι πλέον απαραίτητη για να έχουμε καλή απόδοση. Γιατί; MULT F0,F1,F2 DIVD
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Branch Prediction. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Branch Prediction Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής Branch Prediction Πρόβλεψη είναι πλέον απαραίτητη για να έχουµε καλή απόδοση. Γιατί; MULT F0,F1,F2 DIVD F4,F0,F3
Διαβάστε περισσότεραΚεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
Διαβάστε περισσότερα(Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
Διαβάστε περισσότεραΥπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια
Διαβάστε περισσότεραΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη
Διαβάστε περισσότεραChapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)
Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότερα30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.
Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή Time 6 PM 7 8 9 10 11 12 1 2 AM 1. Πλυντήριο 2. Στεγνωτήριο 3. ίπλωµα 4. αποθήκευση Task order A B C D Σειριακή προσέγγιση για 4 φορτία =8h 30 min κάθε «φάση»
Διαβάστε περισσότεραPipelined Datapath, Hazards and Forwarding
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Pipelined Datapath, Hazards and Forwarding Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΔιάλεξη 12 Καθυστερήσεις (Stalls)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 12 Καθυστερήσεις (Stalls) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Καθυστερήσεις και Εκκενώσεις Εντολών Οι κίνδυνοι δεδομένων (data
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 8 η : Στατική Δρομολόγηση Εντολών (Παράλληλοι Βρόχοι & Βεβαιωμένη Εκτέλεση) Παράλληλοι Βρόχοι Εξαρτήσεις εντολών & επαναλήψεων βρόχου: for (i=1; i
Διαβάστε περισσότεραΕντολές Διακλάδωσης. #bubbles ~= pipeline depth X loop length. Next fetch started. Fetch. I-cache. Fetch Buffer. Decode. Issue Buffer.
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Εντολές
Διαβάστε περισσότεραΔιάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: Διασωλήνωση Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg
Διαβάστε περισσότεραΜέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
Διαβάστε περισσότεραΤελική Εξέταση, Απαντήσεις/Λύσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για
Διαβάστε περισσότεραApplication Operating System. Datapath & Control/Memory. Digital Design Circuit Design. Layout
Application Operating System Λογισμικό Oργάνωση Μικρο- Αρχιτεκτονική Compiler Firmware Instr. Set Proc. I/O system Datapath & Control/Memory Digital Design Circuit Design Layout Instruction Set Architecture
Διαβάστε περισσότεραInstruction Execution Times
1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 5 η : Δυναμική Δρομολόγηση Εντολών (Διακλαδώσεις, Υποθετική & Υπερβαθμωτή Εκτέλεση) Πέρα από την Εκτέλεση Εκτός Σειράς Δυναμική πρόβλεψη διακλαδώσεων Ιστορία διακλάδωσης Πρόβλεψη
Διαβάστε περισσότεραΣυστήματα σε Ολοκληρωμένα Κυκλώματα
Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται
Διαβάστε περισσότεραΥπερβαθµωτή Οργάνωση Υπολογιστών
Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Ανάγνωση εντολής (Instruction Fetch) Σε µία αρχιτεκτονική πλάτους s, πρέπει διαβάζονται s εντολές σε κάθε κύκλο
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΠαράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών Α. Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση
Διαβάστε περισσότεραΠαραδείγματα Assembly (Μέρος
Παραδείγματα Assembly (Μέρος Β) 1 Άσκηση 1 Γράψτε ένα πρόγραμμα (4 εντολών) με το οποίο μπορείτε να προσθέσετε το περιεχόμενο των θέσεων μνήμης 0Χ30000000 και 0Χ30000001. Το αποτέλεσμα να αποθηκευτεί ως
Διαβάστε περισσότεραΥ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση Αρης Ευθυμίου Το σημερινό μάθημα Υπόβαθρο: Διοχέτευση (Pipelining) Βασική οργάνωση Δομικοί κίνδυνοι Κίνδυνοι δεδομένων (hazards): RAW, WAR, WAW Stall
Διαβάστε περισσότεραΟι τέσσερις αρχές για τον σχεδιασμό του συνόλου εντολών μιας μηχανής είναι:
More material! Οι τέσσερις αρχές για τον σχεδιασμό του συνόλου εντολών μιας μηχανής είναι: 1. Η απλότητα στη σχεδίαση οφείλεται στη κανονικοποίηση. Πολλά χαρακτηριστικά των εντολών της μηχανης MIPS οφείλονται
Διαβάστε περισσότεραO επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
Διαβάστε περισσότεραΕισαγωγή στην πληροφορική -4
Εισαγωγή στην πληροφορική 6 (, 64) bits Μνήµη Θέση (κύτταρο cell) µνήµης, χωράει λέξεις (words) εντολές (πρόγραµµα), αριθµοί (δεδοµένα) Αριθµοί: δυαδική (binary) αναπαράσταση = = = 4 = 4 = 5 = 7 Εισαγωγή
Διαβάστε περισσότερα3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β
3.4 SUM AND DIFFERENCE FORMULAS Page Theorem cos(αβ cos α cos β -sin α cos(α-β cos α cos β sin α NOTE: cos(αβ cos α cos β cos(α-β cos α -cos β Proof of cos(α-β cos α cos β sin α Let s use a unit circle
Διαβάστε περισσότεραΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Αναπληρώτρια Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από Computer
Διαβάστε περισσότεραΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 2
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Εργαστήριο Αρ. 2 Εισαγωγή στην Αρχιτεκτονική ARMv8-A Arithmetic and Logic Instr..data, Branch and Loops, PhD Σελ. 1 Memory Allocation LEGv8 0000
Διαβάστε περισσότερακαι η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath
O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I
Διαβάστε περισσότεραΗΜΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτής Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή
Διαβάστε περισσότεραΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρμογή από Computer Architecture:
Διαβάστε περισσότεραEE512: Error Control Coding
EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3
Διαβάστε περισσότεραΜηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,
Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:
Διαβάστε περισσότεραΘέµατα Φεβρουαρίου
Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)
Διαβάστε περισσότεραΔιάλεξη 11 Προώθηση (Forwarding)
ΗΥ 3 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Προώθηση (Forwarding) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων (HY3) Η μέχρι τώρα μικρο-αρχιτεκτονική του MIPS ID/EX PCSrc Control WB
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 3 η : Μερική Επικάλυψη Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση Πρόβλεψη διακλαδώσεων Μερική επικάλυψη σε μονάδες εκτέλεσης
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 4ο μάθημα: Διοχέτευση (Pipelining), μέρος 2 ο κίνδυνοι ελέγχου, υλοποίηση, διακοπές, εργασίες πολλών κύκλων Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες
Διαβάστε περισσότεραO επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
Διαβάστε περισσότεραΚεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining)
Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining) 1 Διασωλήνωση (Pipelining) Διασωληνώση: επικαλυπτόμενη εκτέλεση πολλαπλών εντολών σε ένα κύκλο του ρολογιού, όπως σε
Διαβάστε περισσότεραThe challenges of non-stable predicates
The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program. The challenges of non-stable predicates
Διαβάστε περισσότεραΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2.
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2. Pipelining (Αν υπάρχει χρόνος) Θα ξαναπάμε πίσω στο Κεφ.3αργότερα. ΕΠΛ 221--
Διαβάστε περισσότεραOverview. Transition Semantics. Configurations and the transition relation. Executions and computation
Overview Transition Semantics Configurations and the transition relation Executions and computation Inference rules for small-step structural operational semantics for the simple imperative language Transition
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Οργάνωση επεξεργαστή Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή
Διαβάστε περισσότεραModbus basic setup notes for IO-Link AL1xxx Master Block
n Modbus has four tables/registers where data is stored along with their associated addresses. We will be using the holding registers from address 40001 to 49999 that are R/W 16 bit/word. Two tables that
Διαβάστε περισσότεραΚεντρική Μονάδα Επεξεργασίας
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
Διαβάστε περισσότεραΑσκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών
Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω
Διαβάστε περισσότεραSection 9.2 Polar Equations and Graphs
180 Section 9. Polar Equations and Graphs In this section, we will be graphing polar equations on a polar grid. In the first few examples, we will write the polar equation in rectangular form to help identify
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Ενότητα 6 - Σύστημα Διασωλήνωσης. Π. Ευριπίδου (2007)
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Ενότητα 6 Σύστημα Διασωλήνωσης Π. Ευριπίδου (2007) 1 Ταυτοχρονισμός ή Συνδρομή Λειτουργία (Concurrency) Παράλληλη Επεξεργασία (Parallelism) Replicated
Διαβάστε περισσότεραΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτής Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή από Computer
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό
Διαβάστε περισσότεραMain source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1
Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1 A Brief History of Sampling Research 1915 - Edmund Taylor Whittaker (1873-1956) devised a
Διαβάστε περισσότεραΘέματα Μεταγλωττιστών
Γιώργος Δημητρίου Ενότητα 10 η : Βελτιστοποιήσεις Τοπικότητας και Παραλληλισμού: Εξαρτήσεις και Μετασχηματισμοί Βρόχων Επεξεργασία Πινάκων Παραλληλισμός επιπέδου βρόχου Λόγω παραλληλισμού δεδομένων Επιτυγχάνεται
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση 6: Ασκήσεις Χειμερινού Εξαμήνου 2017-2018 (μέρος Β ) Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση
Διαβάστε περισσότεραSingle Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης
Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραApproximation of distance between locations on earth given by latitude and longitude
Approximation of distance between locations on earth given by latitude and longitude Jan Behrens 2012-12-31 In this paper we shall provide a method to approximate distances between two points on earth
Διαβάστε περισσότεραΑρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς
Διαβάστε περισσότεραEPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)
EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class
Διαβάστε περισσότερα