ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές
|
|
- Μελπομένη Αθανασιάδης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΗΜΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ [Προσαρµογή από Computer Architecture, Computer Organization and Design, Patterson & Hennessy, 2005 ] Επεξεργαστές Πολλαπλής Έκδοσης q Dynamic multiple-issue processors (aka superscalar) Οι αποφάσεις για το ποιες εντολές θα εκτελεστούν παράλληλα (2-8 εντολές) λαµβάνονται δυναµικά µε σηµαντική υποβοήθεια από το υλικό Π.χ., IBM Power 2, Pentium 4, MIPS R10K, HP PA 8500 IBM q Static multiple-issue processors (aka VLIW) Οι αποφάσεις για το ποιες εντολές θα εκτελεστούν παράλληλα λαµβάνονται στατικά κατά τη διάρκεια της µεταγλώττισης Π.χ., Intel Itanium και Itanium 2 για IA-64 ISA EPIC (Explicit Parallel Instruction Computer) - Οµάδες ( bundles ) των 128-bit περιέχουν 3 εντολές, η κάθε µια µε 41 bits + 5 bit template field (καθορίζει το FU της εντολής) - 5 µονάδες εκτέλεσης (FUs) -- IntALU, MMedia, DMem, FPALU, Branch - Υποστήριξη για speculation και predication ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.2 1
2 Ερωτήµατα... q Ποια χαρακτηριστικά προγραµµάτων και επεξεργαστών περιορίζουν την παράλληλη εκτέλεση πολλαπλών εντολών; q Πώς µεταφράζονται τα προγράµµατα σε υλικό; q Μπορεί µια ικανότητα του προγράµµατος να περιορίσει την απόδοση; Αν ναι, πότε; ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.3 Ας θυµηθούµε από το Pipelining q Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + Control Stalls Ideal pipeline CPI: measure of the maximum performance attainable by the implementation Structural hazards: HW cannot support this combination of instructions Data hazards: Instruction depends on result of prior instruction still in the pipeline Control hazards: Caused by delay between the fetching of instructions and decisions about changes in control flow (branches and jumps) q Για αύξηση των instructions/cycle (IPC) χρειαζόµαστε να συνγκεντρώσουµε την προσοχή µας στα stalls ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.4 2
3 Περιορισµός των Stalls και τεχνικές επίλυσης Superscalar VLIW Technique Dynamic scheduling Dynamic branch prediction Issuing multiple instructions per cycle Speculation Dynamic memory disambiguation Loop unrolling Basic compiler pipeline scheduling Compiler dependence analysis Software pipelining and trace scheduling Compiler speculation Reduces Data hazard stalls Control stalls Ideal CPI Data and control stalls Data hazard stalls involving memory Control hazard stalls Data hazard stalls Ideal CPI and data hazard stalls Ideal CPI and data hazard stalls Ideal CPI, data and control stalls ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.5 Επανάληψη Περιορισµός του ILP q Ο βαθµός παραλληλισµού που περιέχεται σε ένα basic block (= συνεχές ακολουθία εντολών χωρίς branches, εκτός στην είσοδο/έξοδο της ακολουθίας) είναι περιορισµένη. q Η τυπική συχνότητα των dynamic branches είναι συνήθως µεταξύ 15% και 25% µεταξύ 4 και 7 εντολές εκτελούνται µεταξύ δυο συζευγµένων διακλαδώσεων (branch pairs these instructions are likely to depend upon each other, and thus the overlap we can exploit within a basic block is typically less than the average block size) q Για σηµαντική βελτίωση της απόδοσης, πρέπει να εκµεταλλευτούµε παραλληλισµό επιπέδου εντολών µεταξύ πολλαπλών basic blocks! ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.6 3
4 Παράδειγµα: Παραλληλισµός στους βρόγχους (Loop-level parallelism) q Το Loop-level parallelism βελτιώνει τον διαθέσιµο βαθµό παραλληλισµού µεταξύ των επαναλήψεων ενός βρόγχου. q Στον κώδικα:!for (i=1; i<1000; i++)!!!!x[i] = x[i] + y[i];! Όλες οι επαναλήψεις µπορούν να εκτελεστούν παράλληλα, παρόλο που το ILP µεταξύ εντολών που ανήκουν στην ίδια επανάληψη είναι πολύ περιορισµένο! q Κάνουµε unrolling loops για µετατροπή του loop-level parallelism σε instruction-level parallelism (ILP). ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.7 Μεγιστοποίηση του ILP µειώνοντας τα hazards q Αφού οι εξαρτήσεις δεδοµένων περιορίζουν το ILP που µπορούµε να χρησιµοποιήσουµε, εστιάζουµε την προσοχή µας στο πώς θα ξεπεράσουµε τις εξαρτήσεις, όπου είναι δυνατό. q Μια εξάρτηση µπορεί να ξεπεραστεί µε 2 τρόπους: Διατηρώντας την εξάρτηση αλλά αποφεύγοντας το hazard Εξαλείφωντας την εξάρτηση αλλάζοντας τον κώδικα q Στους superscalar επεξεργαστές είδαµε πώς αυτό επιτυγχάνεται µε δυναµικό τρόπο, µε χρήση υλικού, καθώς ο κώδικας εισέρχεται στον επεξεργαστή για εκτέλεση. Πως;... q Είδαµε όµως πως αυξάνει την πολυπλοκότητα του υλικού! ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.8 4
5 Αποφεύγοντας τις εξαρτήσεις ονοµάτων καταχωρητών (name dependences) q Αφού µια εξάρτηση ονόµατος δεν είναι πραγµατική εξάρτηση (δεδοµένων) µπορούµε να µετονοµάσουµε τους εξαρτώµενους καταχωρητές (και τοποθεσίες µνήµης) και να εκτελέσουµε παράλληλα τις εντολές! Μετονόµαση Καταχωρητών! (Register Renaming) Η µετονόµαση καταχωρητών είναι ευκολότερη (σε σχέση µε άλλες εξαρτήσεις δεδοµένων στη µνήµη) και µπορεί να γίνει είτε µε δυνάµικό τρόπο (superscalar) είτε µε στατικό τρόπο (VLIW) ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.9 Κίνδυνοι Δεδοµένων (Data hazards) q Ένα hazard δηµιουργείται όταν υπάρχει εξάρτηση µεταξύ εντολών και είναι τόσο κοντά οι εντολές ώστε ο παραλληλισµός που επιφέρεται (π.χ. µε χρήση pipeline ή/και πολλαπλή έκδοση εντολών) θα αλλάξει τη σειρά πρόσβασης στα απαιτούµενα δεδοµένα Εποµένως, πρέπει να διατηρηθεί το γνωστό program order δηλ., η σειρά εκτέλεσης των των εντολών πρέπε να «διατηρηθεί» η ίδια µε αυτή της ακολουθιακής σειράς εκτέλεσης Στόχος είναι να γίνει εκµετάλευση παραλληλισµού διατηρώντας τη σειρά του προγράµµατος, µόνο όταν µια αλλαγή στη σειρά επιρεάζει το αποτέλεσµα του προγράµµατος Η ανίχνευση και αποφυγή κινδύνων διασφαλίζει την αναγκαία διατήρηση της σειρά εκτέλεσης του προγράµµατος ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.10 5
6 Κατηγορίες data hazards q Τρεις κατηγορίες data hazards, ανάλογα µε την σειρά εγγραφής και ανάγνωσης Συνηθίζεται τα hazards να ονοµάζονται βάσει της σειράς που πρέπει να διατηρηθεί. q Ας θεωρήσουµε 2 εντολές i και j, µε την i να έρχεται πριν την j στη σειρά του προγράµµατος. Οι πιθανοί κίνδυνοι είναι: RAW (read after write) η j προσπαθεί να διαβάσει πριν γράψει η i. Αυτός είναι ο πιο κοινός κίνδυνος και αντιστοιχεί σε πραγµατική εξάρτηση δεδοµένων (true data dependence). e.g. LD!R4, 0(R0) ADD!R1, R3, R4!!!!!!!! ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.11 Κατηγορίες data hazards WAW (write after write) η j προσπαθεί να γράψει πριν την i. - Ο κίνδυνος αυτός αντιστοιχεί σε εξάρτηση εξόδου (output dependence). - Συµβαίνει σε pipelines που µπορούν να γράψουν σε περισσότερα από 1 στάδια ή επιτρέπουν εκτέλεση εκτός σειράς (out-of order execution). - Δεν ισχύει σε απλά, στατικά 5-stage pipelines (MIPS) όπου η εγγραφή γίνεται στο 5 στάδιο (WB). WAR (write after read) η j προσπαθεί να γράψει πριν διαβάσει η i. - Προκύπτει από antidependence. - Δεν µπορεί να συµβεί σε pipelines µε στατική έκδοση όταν η ανάγνωση γίνεται πριν την εγγραφή (π.χ. MIPS). - Δύναται να συµβεί όταν κάποια εντολή γράφει στην αρχή του pipeline και κάποια άλλη διαβάζει στο τέλος ή σε εκτέλεση εντολών εκτως σειράς. q Σηµειώστε ότι το RAR (read after read) δεν είναι κίνδυνος! ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.12 6
7 Εξαρτήσεις Ελέγχου (Control dependencies) q Μια εξάρτηση ελέγχου καθορίζει τη σειρά εκτέλεσης µιας εντολης i σε σχέση µε µια εντολή branch έτσι ώστε η i να εκτελεστεί στη σωστή σειρά του προγράµµατος q e.g. S1;!!! if P2 {!!!! S3;!!!!}! q η S1 δεν µπορεί να εκτελεστεί «υπό τον έλεγχο» της P2, ούτε η S3 να «ξεφύγει από τον έλεγχο» της P2. ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.13 Τι συµβαίνει αν αγνοηθεί η εξάρτηση ελέγχου; q Η εξάρτηση δεν παύει να διατηρείται Πιθανόν να εκτελεστούν εντολές αγνοώντας την εξάρτηση, µόνο αν αυτό δεν αλλάζει την τελική ορθότητα του προγράµµατος (à speculation) q 2 σηµαντικοί παράγοντες κρίσιµοι για τη διατήρηση της ορθότητας του προγράµµατος: συµπεριφορά εξαιρέσεων (exception behavior) και ροή δεδοµένων (data flow) q Γίνεται µε πρόβλεψη branch (prediction) Διατηρείται η εκτέλεση εφόσον είναι σωστή Διορθώνεται εφόσον ήταν λάθος η πρόβλεψη ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.14 7
8 Overcoming data hazards with dynamic scheduling q Simple statically scheduled pipelines fetch instructions and issue them unless stalled due to some data dependence that cannot be hidden by forwarding Once stalled, no further instructions are fetched or issued until the dependence is cleared q In dynamic scheduling the hardware rearranges instruction execution to reduce stalls while maintaining data flow and exception behaviour This technique allows us to handle dependences that are unknown at compile time (e.g. a memory reference) and allows code that was compiled with one pipeline in mind to be efficiently executed on a different pipeline q Unfortunately, the benefits of dynamic scheduling are gained at the cost of a significant increase in hardware complexity!!! ΠΟΛΥΠΛΟΚΟΤΗΤΑ! ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.15 Scheduling to minimize hazards q A dynamically-scheduled processor (superscalar) attempts to avoid stalls in the presence of dependences. q In contrast, static scheduling by the compiler (VLIW) tries to minimize stalls by separating dependent instructions to avoid hazards. q Μεταφορά ελέγχου από το υλικό στο λογισµικό και εξ ανάγκης στον προγραµµατιστή και στην τεχνολογία του προγράµµατος µετάφρασης... Καλό, ή κακό; ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.16 8
9 History of VLIW Processors q Started with (horizontal) microprogramming Very wide microinstructions used to directly generate control signals in single-issue processors (e.g., IBM 360 series) q VLIW for multi-issue processors first appeared in the Multiflow and Cydrome (in the early 1980 s) q Current commercial VLIW processors Intel I-64 (EPIC: Itanium and Itanium 2) Transmeta Crusoe Lucent/Motorola StarCore ADI TigerSHARC Infineon (Siemens) Carmel ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.17 IA-64 ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.18 9
10 Static Multiple Issue Machines (VLIW) q Οι επεξεργαστές στατικής πολλαπλής έκδοσης εντολών (aka VLIW) χρησιµοποιούν τον µεταγλωττιστή για να αποφασίσουν για το ποιες εντολές θα εκδοθούν και θα εκτελεστούν παράλληλα. Issue packet the set of instructions that are bundled together and issued in one clock cycle think of it as one large instruction with multiple operations The mix of instructions in the packet (bundle) is usually restricted a single instruction with several predefined fields The compiler does static branch prediction and code scheduling to reduce (control) or eliminate (data) hazards q Οι επεξεργαστές VLIW s έχουν Multiple functional units (like SS processors) Multi-ported register files (again like SS processors) Wide program bus ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.19 Very Long Instruction Word VLIW - Κίνητρο q Hardware complexity and scalability are two major issues that question the validity of the Super Scalar machines. q Consider the following cases: The instruction issue logic of PA-8000 (A four issue Super Scalar machine with 56 instruction queue entries) occupies 20% of the die area. As the issue width increases the need for register renaming, complexity of bypassing, forwarding, and interlocks increases dramatically. q Increasing hardware complexity pays back lesser dividends: Performance of a 200MHZ MIPS R5000 (a single issue machine) on SPEC95 is about 70% of a 200MHZ MIPS R10000 (a four issue machine). ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.20 10
11 Γενική Οργάνωση q Βασική οργάνωση αρχιτεκτονικής VLIW Original Source Code Parallel Machine Code Hardware Compiler More Resources ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.21 Διαχειρισµός Εντολών q Very Long Instruction Word (VLIW) design takes advantage of instruction parallelism to reduce number of instructions by packing several independent instructions into a very long instruction. q VLIW arranges all executable operations in one word simultaneously many statically scheduled, tightly coupled, fine-grained operations execute in parallel within a single instruction stream. q Naturally, the more densely the operations can be compacted, the better the performance (lower number of long instructions). q The principle behind VLIW is similar to that of parallel computing execute multiple instructions/ operations in one clock cycle. ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.22 11
12 Διαχειρισµός Εντολών q During compaction, NOOPs can be used for operations that can not be used. q To compact instructions, software must be able to detect independent operations. q A VLIW instruction might include two integer operations, two floating point operations, two memory reference operations, and a branch operation. q The compacting compiler takes ordinary sequential code and compresses it into very long instruction words through unrolling loops and trace scheduling scheme. ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.23 Αρχιτεκτονική VLIW Λειτουργία FP Add FP Mult. Int. ALU Branch Load/ Store Instruction Issue Unit FP Add FP Mult. Int. ALU Branch Load/ Store Register File q This architecture allows any functional unit to access any registered data. This implies too many ports to fully connect the register file to all functional units. q More realistic solution, partitions register file into banks and allows a subset of functional units to have exclusive access to each register bank. ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.24 12
13 Very Long Instruction Word VLIW q Assume the following FORTRAN code and a corresponding machine code: C = (A * 2 + B * 3) * 2 * i, Α, Β, C are FP Q = (C + A + B) - 4 * (i + j) i, j are Integer q Machine code: 1) LD A 2) LD B 3) t 1 = A * 2 4) t 2 = B * 3 5) t 3 = t 1 + t 2 6) LD i 7) t 4 = 2 * i 8) C = t 4 * t 3 9) ST C 10) LD j 11) t 5 = i + j 12) t 6 = 4 * t 5 13) t 7 = A + B 14) t 8 = C + t 7 15) Q = t 8 - t 6 16) ST Q ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.25 Task Flow Graph Διάγραµµα Εργασιών q Check dependencies q A node is placed at the highest possible level, along with other nodes with no dependencies q Once the DFG is created, how can it be used? à Determine instruction bundles, given the underlying VLIW architecture. à Determine lower bound on number of CPU cycles to execute the program for any VLIW organization. How? ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.26 13
14 Οργάνωση Εντολών Για Εκτέλεση Assume the following VLIW organization: LD0 LD1 INT0 INT1 FP0 FP1 BRANCH LD A LD B LD I LD J A * 2 B * 3 2 * I I + J t 1 + t 2 A + B 4 * t 5 t 4 * t 3 ST C C + t 7 t 8 t 6 ST Q If you could add 1 more FU, which type would aid in increasing the performance for this case? ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.27 Παράδειγµα: Ένας VLIW MIPS q Υποθέστε ένα 2-issue MIPS µε δέσµη 2 εντολών 64 bits ALU Op (R format) or Branch (I format) Load or Store (I format) q Οι εντολές µεταφέρονται, αποκωδικοποιούνται και εκδίδονται σε ζεύγη. Αν κάποια από τις 2 εντολές δεν µπορούν να χρησιµοποιηθούν τότε µπαίνει noop q Χρειαζόµαστε 4 read ports και 2 write ports και ένα διαφορετικό memory address adder ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.28 14
15 Το MIPS VLIW (2-issue) Datapath Add Add 4 ALU Instruction Memory Register File PC q No hazard hardware (so no load use allowed) (i.e. load and an instruction following the load s value) Write Addr Write Data Sign Extend Sign Extend Add Data Memory ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.29 Παράδειγµα Προγραµµατισµού Κώδικα (Scheduling) q Ας υποθέσουµε τον ακόλουθο κώδικα (loop) lp: lw $t0,0($s1) # $t0=array element addu $t0,$t0,$s2 # add scalar in $s2 sw $t0,0($s1) # store result addi $s1,$s1,-4 # decrement pointer bne $s1,$0,lp # branch if $s1!= 0 q Πρέπει να κάνουµε schedule τις εντολές κατά τρόπο αποφυγής pipeline stalls Οι εντολές στην ίδια δέσµη (bundle) πρέπει να είναι ανεξάρτητες Πρέπει να καθυστερήσουµε τις εντολές που χρησιµοποιούν µεταβλητές που φορτώνονται από τις load κατά ένα κύκλο Στο παράδειγµα έχουµε τις δυο πρώτες εντολές που έχουν συζευγµένο load (load use), ενώ στις άλλες έχουµε data dependencies Ας υποθέσουµε ότι τα branches προβλέπονται αλάνθαστα ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.30 15
16 The Scheduled Code (Not Unrolled) ALU or branch Data transfer CC lp: lw $t0,0($s1) 1 addi $s1,$s1,-4 2 addu $t0,$t0,$s2 3 bne $s1,$0,lp sw $t0,4($s1) 4 q Τέσσερις κύκλοι ρολογιού για εκτέλεση 5 εντολών για CPI of 0.8 (versus the best case of 0.5) IPC of 1.25 (versus the best case of 2.0) NOOPS don t count towards performance!! ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.31 Loop Unrolling Ανοίγοντας το Loop q Loop unrolling δηµιουργούνται πολλαπλά αντίγραφα του loop body και εντολές από διαφορετικά επαναλήψεις γίνονται scheduled µαζί à τρόπος βελτίωσης του ILP ενός προγράµµατος q Εφαρµόζουµε το loop unrolling (4 φορές στο παράδειγµά µας) και ακολούθως κάνουµε schedule τον νέο κώδικα Eliminate unnecessary loop overhead instructions Schedule so as to avoid load use hazards q Κατά την διάρκεια του unrolling, το compiler εφαρµόζει register renaming για απάλειψη όλων των εξαρτήσεων δεδοµένων που δεν είναι true dependencies ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.32 16
17 Unrolled Code Example lp: lw $t0,0($s1) # $t0=array element lw $t1,-4($s1) # $t1=array element lw $t2,-8($s1) # $t2=array element lw $t3,-12($s1) # $t3=array element addu $t0,$t0,$s2 # add scalar in $s2 addu $t1,$t1,$s2 # add scalar in $s2 addu $t2,$t2,$s2 # add scalar in $s2 addu $t3,$t3,$s2 # add scalar in $s2 sw $t0,0($s1) # store result sw $t1,-4($s1) # store result sw $t2,-8($s1) # store result sw $t3,-12($s1) # store result addi $s1,$s1,-16 # decrement pointer bne $s1,$0,lp # branch if $s1!= 0 ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.33 The Scheduled Code (Unrolled) ALU or branch Data transfer CC lp: addi $s1,$s1,-16 lw $t0,0($s1) 1 lw $t1,12($s1) 2 addu $t0,$t0,$s2 lw $t2,8($s1) 3 addu $t1,$t1,$s2 lw $t3,4($s1) 4 addu $t2,$t2,$s2 sw $t0,16($s1) 5 addu $t3,$t3,$s2 sw $t1,12($s1) 6 sw $t2,8($s1) 7 bne $s1,$0,lp sw $t3,4($s1) 8 q Οκτώ κύκλοι ρολογιού για εκτέλεση 14 εντολών για CPI of 0.57 (versus the best case of 0.5) IPC of 1.8 (versus the best case of 2.0) ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.34 17
18 Speculation Υποθετική Εκτέλεση Εντολών q Το Speculation χρησιµοποιείται για εκτέλεση µελλοντικών εντολών που (µπορεί) να εξαρτώνται από το αποτέλεσµα της speculated εντολής q Κάνουµε speculate στο αποτέλεσµα ενός conditional branch (branch prediction) q Κάνουµε επίσης speculate ότι ένα store (του οποίου δεν ξέρουµε το address) που προπορεύεται ενός load δεν αναφέρεται στο ίδιο address, αφήνοντας το load να γίνει scheduled πριν το store (load speculation) ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.35 Πώς γίνεται q Πρέπει να έχουµε µηχανισµούς (hardware and/ or software) για Έλεγχο πρόβλεψης (σωστό / λάθος) Επανόρθωση τυχόν λανθασµένης πρόβλεψης - Στο VLIW processor, το compiler µπορεί να προσθέσει επιπλέον εντολές που ελέγχουν την ακρίβεια της πρόβλεψης όπως και διαδικασία επανόρθωσης q Αγνοούµε ή/και αποθηκεύουµε εξαιρέσεις (exceptions) που δηµιουργούνται από εντολές που εκτελεστήκαν µε speculation µέχρι την διαπίστωση ότι έπρεπε όντως να εκτελεστούν ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.36 18
19 Predication q Το Predication χρησιµοποιείται για απάλειψη των branches κάνοντας την εκτέλεση µιας εντολής εξαρτώµενη σε ένα predicate, π.χ., if (p) {statement 1} else {statement 2} θα µεταφραζόταν κανονικά µε δυο branches. Με το predication θα µεταφραστεί σαν (p) statement 1 (~p) statement 2 q Η χρήση της συνθήκης(condition) δείχνει ότι η εντολή θα γίνει commit µόνο όταν η συνθήκη εξακριβωθεί αληθινή (only if condition is true) q Το Predication χρησιµοποιείται και για speculation και για αφαίρεση των branches ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.37 Predication ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.38 19
20 Compiler Support for VLIW Processors q Ο µεταγλωττιστής «πακετάρει» οµάδες ανεξάρτητων εντολών στην δέσµη (bundle) Πιθανή αναδιάταξη του κώδικα και trace scheduling q Ο µεταφραστής χρησιµοποιεί loop unrolling για αύξηση του ILP q Χρησιµοποιεί επίσης register renaming για επίλυση name dependencies και εξασφαλιζει ότι δεν υπάρχουν «load use» hazards ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.39 Compiler Support for VLIW Processors (cont) q Ενώ οι Superscalars χρησιµοποιούν dynamic prediction, οι VLIWs εξαρτώνται κυρίως από τον µεταγλωττιστή για (branch) prediction Loop unrolling reduces the number of conditional branches Predication eliminates if-the-else branch structures by replacing them with predicated instructions q Ο µεταγλωττιστής προβλέπει αναφορές στα memory banks για να βοηθήσει στην ελαχιστοποίηση των memory bank conflicts ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.40 20
21 VLIW Πλεονεκτήµατα & Μειονεκτήµατα (σε σχέση µε SS) q Πλεονεκτήµατα Πιό απλό υλικό (συνήθως µε λιγότερες απαιτήσεις σε power) Δυνητικά µε µεγαλύτερες δυνατότητες επέκτασης (scalability) - Επιτρέπει περισσότερες εντολές ανά δέσµη (µε επιπρόσθετα FUs) q Μειονεκτήµατα Πολυπλοκότητα προγραµµατισµού/µεταγλωττιστή και αύξηση χρόνου µεταγλώττισης - Ειδικά για µεγάλα pipelines κιαι latencies Κλείδωµα πράξεων (lock step operation) σε περίπτωση κινδύνου (hazard) όλες οι µελλοντικές εκδόσεις εντολών καθυστερούν (stall) µέχρι την επίλυση του κινδύνου (και εποµένως υπάρχει η ανάγκη για predication) Object (binary) code incompatibility ο µεταγλωττιστής είναι ΜΟΝΟ για ένα συγκεκριµένο επεξεργαστή Αύξηση πλάτους διαδρόµου δεδοµένων και µνήµης Code bloat Μεγέθυνση συνόλου κώδικα! ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.41 CISC vs RISC vs SS vs VLIW CISC RISC Superscalar VLIW Instr size variable size fixed size fixed size fixed size (but large) Instr format Registers Memory reference Key Issues Instruction flow variable format few, some special embedded in many instr s decode complexity fixed format fixed format fixed format many GP GP and rename (RUU) many, many GP load/store load/store load/store data forwarding, hazards hardware dependency resolution (compiler) code scheduling IF ID EX M WB IF ID EX M WB IF ID EX M WB IF ID EX M WB EX M WB IF ID EX M WB IF ID EX M WB IF ID EX M WB IF ID EX M WB IF ID EX M WB EX M WB ΗΜΥ312 Δ18 VLIW Επεξεργαστές Στατικός Παραλληλισµός Επιπέδου Εντολών.42 21
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία
Διαβάστε περισσότεραΗΜΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτής Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή
Διαβάστε περισσότεραΣυστήματα σε Ολοκληρωμένα Κυκλώματα
Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται
Διαβάστε περισσότεραΗΥ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
Διαβάστε περισσότεραΠαραλληλισμός σε επίπεδο εντολών
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 6ο μάθημα: χρονοπρογραμματισμός, αλγόριθμος Tomasulo, εικασία Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου InstrucDon- Level
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής
ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής Αρης Ευθυμίου Ταχύτερη εκτέλεση Με τις τεχνικές που είδαμε στα προηγούμενα μαθήματα μπορούμε να εκτελέσουμε (με επικάλυψη) περίπου 1 εντολή
Διαβάστε περισσότεραΥπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από
Διαβάστε περισσότεραΚεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
Διαβάστε περισσότεραΔυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)
Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling) Απόδοση pipeline Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + Control Stalls Ideal pipeline CPI: μέτρο της μέγιστης απόδοσης
Διαβάστε περισσότεραO επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control
Διαβάστε περισσότεραΠεριορισμοί των βαθμωτών αρχιτεκτονικών
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Περιορισμοί
Διαβάστε περισσότερακαι η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath
O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I
Διαβάστε περισσότεραChapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)
Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραΤέτοιες λειτουργίες γίνονται διαμέσου του
Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου
Διαβάστε περισσότερα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) Επικάλυψη εντολών στοχεύοντας στην παράλληλη εκτέλεσή
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Σύγχρονοι υπολογιστές Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραPipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»
Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. Δίπλωμα 4. αποθήκευση Σειριακή προσέγγιση για 4 φορτία = 8h 30 min κάθε «φάση» Pipelined προσέγγιση για 4 φορτία = 3.5h Το
Διαβάστε περισσότεραO επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
Διαβάστε περισσότερα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 πρέπει µια εξαρτώµενη
Διαβάστε περισσότεραΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control stalls Θα μελετήσουμε
Διαβάστε περισσότερα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
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση
ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση Αρης Ευθυμίου Απόδοση απλής υλοποίησης Υλοποίηση ενός κύκλου είναι πολύ αργή κάθε κύκλος είναι τόσο μεγάλος όσο χρειάζεται
Διαβάστε περισσότερα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 κάθε «φάση»
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη
Διαβάστε περισσότεραSingle Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης
Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΥπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από
Διαβάστε περισσότεραΔιάλεξη 12 Καθυστερήσεις (Stalls)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 12 Καθυστερήσεις (Stalls) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Καθυστερήσεις και Εκκενώσεις Εντολών Οι κίνδυνοι δεδομένων (data
Διαβάστε περισσότεραΗ διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το
Διαβάστε περισσότεραΥ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές Αρης Ευθυμίου Το σημερινό μάθημα Υπερβαθμωτοί επεξεργαστές (superscalar) Εκτέλεση σε σειρά Εκτέλεση εκτός σειράς Alpha 21164 Scoreboard Μετονομασία
Διαβάστε περισσότεραΕπανάληψη Σύστημα Διασωλήνωσης (Pipelining) Κεφάλαιο 4 - Σύστημα ιασωλήνωσης
Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) 1 ιασωλήνωση 2 Pipelining Παραλληλισμός + Pipelining 3 Χρόνος Εκτέλεσης = I x CPI x Cycle Time Με ή χωρις pipeline το Ι είναι το ίδιο όπως και τo CPI = 1. Το
Διαβάστε περισσότεραΥπερβαθµωτή Οργάνωση Υπολογιστών
Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Τα όρια του Παραλληλισµού σε επίπεδο εντολών (Instruction Level Parallelism - ILP) Weiss and Smith [1984] Sohi
Διαβάστε περισσότεραΔιάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών
Διαβάστε περισσότεραΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρμογή από Computer Architecture:
Διαβάστε περισσότεραΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 13 Διακλαδώσεις Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Η μέχρι τώρα μικρο-αρχιτεκτονική (Eντολές Διακλάδωσης) Η μικρο-αρχιτεκτονική
Διαβάστε περισσότεραΕντολές Διακλάδωσης. #bubbles ~= pipeline depth X loop length. Next fetch started. Fetch. I-cache. Fetch Buffer. Decode. Issue Buffer.
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Εντολές
Διαβάστε περισσότεραMulti Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης
Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Multi Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 7 η : Στατική Δρομολόγηση Εντολών (Επεξεργαστές VLIW) Εκμετάλλευση ILP Περιορισμοί στη δυναμική δρομολόγηση εντολών: Μέγεθος παραθύρου εντολών Αριθμός φυσικών καταχωρητών Αποτυχία
Διαβάστε περισσότερα(Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
Διαβάστε περισσότεραΕισαγωγή. Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων
Εισαγωγή Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων 1 Παράγοντες που επηρεάζουν την επίδοση της CPU CPU time = Seconds = Instructions Cycles Seconds --------------
Διαβάστε περισσότεραΤελική Εξέταση, Απαντήσεις/Λύσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΑρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς
Διαβάστε περισσότεραΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Αναπληρώτρια Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από Computer
Διαβάστε περισσότεραΚεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση
Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 4 Ο επεξεργαστής ιαφάνειες διδασκαλίας του πρωτότυπου βιβλίου µεταφρασµένες στα ελληνικά και εµπλουτισµένες (µετάφραση,
Διαβάστε περισσότεραPipelined Datapath, Hazards and Forwarding
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Pipelined Datapath, Hazards and Forwarding Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΔιάλεξη 11 Προώθηση (Forwarding)
ΗΥ 3 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Προώθηση (Forwarding) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων (HY3) Η μέχρι τώρα μικρο-αρχιτεκτονική του MIPS ID/EX PCSrc Control WB
Διαβάστε περισσότεραΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining)
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining) 1 ιασωλήνωση 2 Διασωλήνωση και Παραλληλισμός (Parallelism) Διασωλήνωση (Pipelining):
Διαβάστε περισσότεραΜέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
Διαβάστε περισσότερα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 κάθε «φάση»
Διαβάστε περισσότεραΚεντρική Μονάδα Επεξεργασίας
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr
Διαβάστε περισσότεραΚάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!
Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή απόδοση! Αντιβαίνει με αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»
Διαβάστε περισσότερα1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο
Διαβάστε περισσότεραΟι τέσσερις αρχές για τον σχεδιασμό του συνόλου εντολών μιας μηχανής είναι:
More material! Οι τέσσερις αρχές για τον σχεδιασμό του συνόλου εντολών μιας μηχανής είναι: 1. Η απλότητα στη σχεδίαση οφείλεται στη κανονικοποίηση. Πολλά χαρακτηριστικά των εντολών της μηχανης MIPS οφείλονται
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: Διασωλήνωση Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg
Διαβάστε περισσότεραΠροχωρηµένα Θέµατα Αρχιτεκτονικής
Προχωρηµένα Θέµατα Αρχιτεκτονικής Μάθηµα 2 ο : Instruction Set Principles and Examples Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 1 Σχεδιασµός Συνόλου Εντολών Θέµατα που θα συζητηθούν ιαφορετικές επιλογές
Διαβάστε περισσότεραΜηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,
Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:
Διαβάστε περισσότεραΥποθετική Εκτέλεση Εντολών
Υποθετική Εκτέλεση Εντολών ( Speculation (Hardware-Based Τεχνικές βελτίωσης του CPI register renaming δυναμική εκτέλεση Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + υπερβαθμωτή
Διαβάστε περισσότεραBlock Ciphers Modes. Ramki Thurimella
Block Ciphers Modes Ramki Thurimella Only Encryption I.e. messages could be modified Should not assume that nonsensical messages do no harm Always must be combined with authentication 2 Padding Must be
Διαβάστε περισσότεραΕπεξεργαστής Υλοποίηση ενός κύκλου μηχανής
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική
Διαβάστε περισσότερα1.1 ΑΣΚΗΣΗ ΛΥΣΗ 2.1 ΑΣΚΗΣΗ ΛΥΣΗ 3.1 ΑΣΚΗΣΗ
1.1 ΑΣΚΗΣΗ i) Έστω ότι οι εντολές κινητής υποδιαστολής ευθύνονται για το 25% του χρόνου εκτέλεσης ενός προγράµµατος σε ένα µηχάνηµα. Προτείνεται να βελτιωθεί το υλικό που σχετίζεται µε αριθµούς κινητής
Διαβάστε περισσότεραΘέµατα Φεβρουαρίου
Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)
Διαβάστε περισσότεραΥ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση Αρης Ευθυμίου Το σημερινό μάθημα Υπόβαθρο: Διοχέτευση (Pipelining) Βασική οργάνωση Δομικοί κίνδυνοι Κίνδυνοι δεδομένων (hazards): RAW, WAR, WAW 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
Διαβάστε περισσότεραΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτής Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή από Computer
Διαβάστε περισσότερα2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.
Διαβάστε περισσότεραΟργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός
Διαβάστε περισσότεραΟργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Οργάνωση επεξεργαστή Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
Διαβάστε περισσότεραi Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Η υπολογιστική
Διαβάστε περισσότεραΥλοποίηση Mικροεπεξεργαστή MIPS -16
Υλοποίηση Mικροεπεξεργαστή MIPS -16 Διάδρομος Δεδομένων και Μονάδα Ελέγχου 1 Περίληψη Μνήμη RAM Εκτέλεση εντολών με πολλαπλούς κύκλους Σχεδιασμός Διαδρόμου Δεδομένων (Data Path) Καταχωρητής Εντολών (Instruction
Διαβάστε περισσότεραΙόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας
Διαβάστε περισσότερα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
Διαβάστε περισσότεραΚεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining)
Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining) 1 Διασωλήνωση (Pipelining) Διασωληνώση: επικαλυπτόμενη εκτέλεση πολλαπλών εντολών σε ένα κύκλο του ρολογιού, όπως σε
Διαβάστε περισσότεραΚάθε functional unit χρησιµοποιείται µια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!
Single-cyle υλοποίηση: ιάρκεια κύκλου ίση µε τη µεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαµηλή απόδοση! Αντιβαίνει µε αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»
Διαβάστε περισσότεραΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2.
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2. Pipelining (Αν υπάρχει χρόνος) Θα ξαναπάμε πίσω στο Κεφ.3αργότερα. ΕΠΛ 221--
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια
Διαβάστε περισσότεραΔιοχέτευση (Pipeline)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Διοχέτευση (ipeline) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Θέματα Απόδοσης Αν και απλή, η υλοποίηση ενός κύκλου ρολογιού είναι
Διαβάστε περισσότεραChapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.
Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης,
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο
Διαβάστε περισσότεραΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές --
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Χειµερινό Εξάµηνο ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές -- Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy)
Διαβάστε περισσότεραΑ. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΡ ΙΟ ΥΠΟΛΟΟ ΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua. gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ
Διαβάστε περισσότεραΑπλός επεξεργαστής (Επανάληψη)
Απλός επεξεργαστής (Επανάληψη) Διάδρομος δεδομένων και μονάδα ελέγχου 4 ο κεφάλαιο Ο επεξεργαστής : Διάδρομος Δεδομένων και Έλεγχος Σε αυτό το κεφάλαιο θα μελετήσουμε την υλοποίηση του διαδρόμου δεδομένων
Διαβάστε περισσότεραΕνσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)
Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual
Διαβάστε περισσότεραΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη
Διαβάστε περισσότεραCMOS Technology for Computer Architects
CMOS Technology for Computer Architects Iakovos Mavroidis Giorgos Passas Manolis Katevenis Lecture 13: On chip SRAM Technology FORTH ICS / EURECCA & UoC GREECE ABC A A E F A BCDAECF A AB C DE ABCDAECF
Διαβάστε περισσότεραi Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας
Διαβάστε περισσότεραΑρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ
ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότερα2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMMY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις Άσκηση 1: Διασωλήνωση
Διαβάστε περισσότεραΑσκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών
Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω
Διαβάστε περισσότεραderivation of the Laplacian from rectangular to spherical coordinates
derivation of the Laplacian from rectangular to spherical coordinates swapnizzle 03-03- :5:43 We begin by recognizing the familiar conversion from rectangular to spherical coordinates (note that φ is used
Διαβάστε περισσότεραΕπεξεργαστής Υλοποίηση ενός κύκλου μηχανής
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ
Διαβάστε περισσότεραΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:
ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Μ - Ω) Κανονική εξεταστική Φεβρουαρίου
Διαβάστε περισσότερα