ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ
|
|
- Έρως Θεοδωρίδης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΗΜΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτής Καθηγητής, ΗΜΜΥ [Προσαρμογή από Computer Architecture: A Quantitave Approach και Computer Organization and Design, Patterson & Hennessy, 2005 και Superscalar Microprocessor Design, Johnson, 1992 ]
2 Παραλληλισμός ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.2
3 Απόδοση του RISC qperformance Metrics Μονάδες Μέτρησης Απόδοσης Response Time (Χρόνος Ανταπόκρισης και εκτέλεσης) (Execution time, Latency) The time elapse between the start and the completion of an event Χρόνος που περνά μεταξύ της έναρξης και του τέλους ενός γεγονότος. Throughput (Παραγωγή) (Bandwidth) The amount of work done in a given time Η ποσότητα εργασίας σε μια δεδομένη μονάδα χρόνου. Performance (Απόδοση) Number of events occurring per unit of time Αριθμός γεγονότων που διεξάγονται ανά μονάδα χρόνου. Σημ. Ο Χρόνος Εκτέλεσης είναι στην ουσία ο παρονομαστής στην απόδοση χαμηλότερος χρόνος εκτέλεσης εξυπακούει ψηλότερη απόδοση. Σημ. Ο Χρόνος εκτέλεσης, ο χρόνος ανταπόκρισης καθώς και η απόδοση είναι στενά συνδεδεμένα μεταξύ τους! ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.3
4 Απόδοση του RISC qperformance Metrics Μονάδες Μέτρησης Απόδοσης CPU time Ο χρόνος κατά τον οποίο το CPU κάνει υπολογισμούς. Αποτελείται από: - User CPU time (χρόνος χρήστη) Ο χρόνος CPU που ξοδεύεται στο πρόγραμμα, - System CPU time (χρόνος συστήματος) Ο χρόνος του CPU που ξοδεύεται στο λειτουργικό σύστημα εκτελώντας απαιτήσεις των προγραμμάτων. Οι σημερινοί επεξεργαστές ελέγχονται από ένα ρολόι με σταθερή περίοδο (constant cycle time (t)). Η συχνότητα ενός επεξεργαστή δίνεται από την περίοδο (frequency - clock rate (f) = 1/t). Το μέγεθος ενός προγράμματος δίνεται από τον αριθμό εντολών instruction count (I c ) ο αριθμός των εντολών μηχανής που θα εκτελεστούν (machine instructions to be executed.) ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.4
5 Απόδοση του RISC qperformance Measures Μέτρηση Απόδοσης Ας προσδιορίσουμε τότε το μέσο αριθμό κύκλων ανά εντολή (average number of clock cycle per instruction (CPI)) σαν: ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.5
6 Απόδοση του RISC qperformance Metrics Μέτρηση Απόδοσης Για ένα δεδομένο σετ εντολών, υπολογίζουμε το CPI σε σχέση με όλων των ειδών εντολών, αν γνωρίζουμε την συχνότητα εμφάνισης των εντολών στο πρόγραμμα. Το CPI εξαρτάται από την οργάνωση/αρχιτεκτονική καθώς και το σετ εντολών της συγκεκριμένης μηχανής. Το Clock rate εξαρτάται από την τεχνολογία καθώς και την οργάνωση/αρχιτεκτονική της μηχανής. Το Instruction count εξαρτάται από το σετ εντολών της μηχανής, καθώς και την τεχνολογία και λειτουργία του μεταγλωττιστή (compiler technology). ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.6
7 Απόδοση του RISC qperformance Metrics - Μέτρηση Απόδοσης CPU = Time CPU = Time CPU Clock cycles CPU Clock cycles Clock Rate * Clock Cycle time ØThe CPU time is estimated as ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.7
8 Απόδοση του RISC qερώτηση: Με βάση τον ορισμό (που είδαμε) του CPU time, πώς μπορεί να βελτιωθεί η απόδοση; Είναι δυνατόν να μπορέσουμε να βελτιώσουμε την απόδοση του RISC; Πώς μπορούμε να βελτιώσουμε την απόδοση; -Μείωση του instruction count, -Μείωση του CPI, -Αύξηση του clock rate. Πώς αυξάνουμε το clock rate? - Τεχνολογικές Βελτιώσεις - Αρχιτεκτονικές Βελτιώσεις Πώς μειώνουμε το CPI? - Αύξηση του αριθμού εντολών μέσα σε ένα κύκλο! ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.8
9 Πέρα από την απόδοση του RISC qπέρα από το RISC Ο ορισμός scalar processor χρησιμοποιείται για να περιγράψει ένα επεξεργαστή που φέρνει και εκτελεί μια εντολή κάθε φορά. Με βάση την RISC φιλοσοφία, ένας βελτιωμένος scalar processor, στην καλύτερη περίπτωση μπορεί να εκτελέσει μια εντολή ανά κύκλο (one instruction per clock cycle). Η απόδοση του scalar processor με βάση την προηγούμενη συζήτηση μας, μπορεί να βελτιωθεί μέσω instruction pipelining και μετατροπή του ALU σε πολύ-εργαλείο (δηλαδή να μπορέσει το ALU να διεξάγει πολλαπλές λειτουργίες (multifunctional capability of ALU). ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.9
10 Ας θυμηθούμε: MIPS Pipeline ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.10
11 Ας θυμηθούμε: Παραδοσιακό MIPS Pipeline ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.11
12 Ας θυμηθούμε: Pipeline Hazards qstructural hazards Σχεδίαση της διασωλήνωσης ώστε να αφαιρεθούν τα structural hazards qdata hazards Εγγραφή πριν την ανάγνωση (read before write) Προχωρούμε τα δεδομένα μέσα στην διασωλήνωση (data forwarding) Για τις περιπτώσεις που το forwarding δεν δουλεύει (π.χ., loaduse) χρησιμοποιούμε υλικό που να μπορεί να σταματήσει τη διασωλήνωση (stall) qcontrol (Branch) hazards beq, bne,j,jr,jal Stall Μειώνει την απόδοση αισθητά Σχεδίαση του μηχανισμού παύσης της διασωλήνωσης στην αρχή ώστε να μειωθεί το κόστος καθώς και το hardware που χρειάζεται για stall. Καθυστέρηση της απόφασης (requires compiler support) δεν κάνει όμως για βαθιές διασωληνώσεις που απαιτούν καθυστέρηση μεγαλύτερη του ενός slot Πρόβλεψη περισσότερο hardware, μπορεί να μειώσει την επίδραση των control hazard stalls ακόμα περισσότερο αν το branch prediction (BHT) και αν η branchedto εντολή είναι cached (BTB) ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.12
13 Βελτιώνοντας περισσότερο την απόδοση qδυο επιλογές για αύξηση του Instruction-Level Parallelism (ILP): Αύξηση του βάθους της διασωλήνωσης για αύξηση της ωρολογιακής συχνότητας superpipelining Μεταφορά (fetch) και εκτέλεση (execute) πολλαπλών εντολών κάθε φορά (expand every pipeline stage to accommodate multiple instructions) multiple-issue πολλαπλή έκδοση qεκτέλεση πολλών εντολών ανά στάδιο διασωλήνωσης δίνει CPI λιγότερο του 1 Εδώ χρησιμοποιείται το IPC: Instructions Per Clock cycle - Π.χ., ένας 4-πλός μικροεπεξεργαστής πολλαπλής έκδοσης (fourway multiple-issue processor) με συχνότητα 6 GHz, μπορεί να εκτελέσει στην καλύτερη περίπτωση 24 δις εντολών/δευτερόλεπτο με ελάχιστο CPI = 0.25 ή μέγιστο IPC = 4 - Αν το datapath έχει πέντε στάδια διασωλήνωσης (five stage pipeline), πόσες εντολές είναι ενεργές μέσα στην διασωλήνωση ανά κάθε στιγμή; ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.13
14 Παραλληλισμός Εντολών Instruction Level Parallelism ILP qμπορεί να επιτευχθεί με δυο φιλοσοφίες: q Dynamic approach - Δυναμική Μέθοδος το υλικό κυρίως εντοπίζει και καθορίζει τον παραλληλισμό q Static approach - Στατική Μέθοδος εναπόκειται στο λογισμικό/μεταγλωττιστή να εντοπίσει και να χρησιμοποιήσει παραλληλισμό q Περιορισμοί: qtrue data dependency qprocedural dependency qresource conflicts qoutput dependency qantidependency ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.14
15 Effect of Dependencies Επίδραση Εξαρτήσεων Assume 2-way multiple-issue processor Assume a simple 4-stage pipeline ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.15
16 Η μετά-risc εποχή: Ορολογία Τα μηχανήματα με ψηλότερες συχνότητες και βαθύτερα pipelines ονομάζονται super pipelined. Τα μηχανήματα που μπορούν δυναμικά να εκδόσουν περισσότερες από μια εντολές ανά κύκλο ονομάζονται super scalar. Οι μηχανές που εκτελούν πολλές πράξεις (συνήθως 5-7 εντολές) ως μια μεγάλη εντολή ονομάζονται Very-long-Instruction-Word (VLIW) (στατική μέθοδος). ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.16
17 Κατηγορίες επεξεργαστών πολλαπλής-έκδοσης qstatic multiple-issue processors (VLIW) Η απόφαση/εις για το ποιες εντολές θα εκτελεστούν παράλληλα γίνεται στατικά από τον μεταγλωττιστή Π.χ., Intel Itanium και Itanium 2 για IA-64 ISA EPIC (Explicit Parallel Instruction Computer) qdynamic multiple-issue processors (Superscalar) Η απόφαση/εις για το ποιες εντολές θα εκτελεστούν παράλληλα γίνεται δυναμικά από το υλικό Π.χ., IBM Power 2, Pentium 4, MIPS R10K, HP PA 8500 ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.17
18 Superscalar (SS) και Superpipelined Επεξεργαστές Τι είναι το Superscalar? q Common instructions (arithmetic, load/store, conditional branch) can be initiated and executed independently q Equally applicable to RISC & CISC q In practice usually RISC Γιατί Superscalar? q Most operations are on scalar quantities (see RISC notes) q Improve these operations to get an overall improvement Τι είναι το Superpipelined? q Many pipeline stages need less than half a clock cycle q Double internal clock speed gets two tasks per external clock cycle q Superscalar allows parallel fetch-execute ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.18
19 Superscalar Execution Πως δουλεύει το SS ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.19
20 Γενική Οργάνωση Επεξεργαστή Superscalar ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.20
21 Superpipelined Επεξεργαστές qαύξηση του βάθους της διασωλήνωσης με σκοπό την αύξηση της συχνότητας (more instructions in flight at one time) Όσο πιο ψηλός ο δείχτης (degree) του superpipelining, τόσο πιο πολύ forwarding/hazard hardware χρειάζεται, τόσο πιο πολύ latch overhead (i.e., the pipeline latch accounts for a larger and larger percentage of the clock cycle time), και τόσο πιο πολύ το clock skew (i.e., because of faster and faster clocks) Superpipelined vs Superscalar q Superpipelined: πιο μεγάλη καθυστέρηση εντολών (instruction latency) από τους SS των οποίων η απόδοση εξαρτάται περισσότερο από τα true dependencies (δεδομένων και ελέγχου). q Superscalar: είναι πιο ευάλωτοι σε συγκρούσεις δεδομένων στα εκτελεστικά συστήματα (resource conflicts) αλλά αυτό διορθώνεται με hardware (και σωστό σχεδιασμό!) ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.21
22 Superscalar v Superpipeline Base 4-stage pipeline machine, clock cycle τ Superpipelined 8- stage machine, clock cycle τ =τ/2 τ 2-way superscalar machine, clock cycle τ τ = τ/2 ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.22
23 Instruction vs Machine Parallelism qinstruction-level parallelism (ILP) ενός προγράμματος Ο μέσος αριθμός εντολών σε ένα πρόγραμμα που ο επεξεργαστής ίσως να μπορεί να εκτελέσει παράλληλα Συνήθως αποτέλεσμα των true (data) dependencies και των procedural (control) dependencies, σε σχέση με τον αριθμό των υπόλοιπων εντολών qdata-level parallelism (DLP) DO I = 1 TO 100 A[I] = A[I] + 1 CONTINUE qmachine parallelism ενός επεξεργαστή η ικανότητα ενός επεξεργαστή να εκμεταλλεύεται το ILP ενός προγράμματος Determined by the number of instructions that can be fetched and executed at the same time qγια ψηλότερη απόδοση, χρειαζόμαστε ILP και machine parallelism ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.23
24 Multiple-Issue Datapath Responsibilities qχειριζόμαστε με συνδυασμό hardware και software fixes, τα όρια που αφορούν: Storage (data) dependencies αλλιώς data hazards (δηλαδή την ποσότητα φυσικής μνήμης (καταχωρητές, μνήμη, κ.λ.π.) - Limitation more severe in a SS/VLIW processor due to (usually) low ILP Procedural dependencies δηλαδή control hazards - Σαν πιο πάνω, αλλά πολύ πιο αρνητικά στην απόδοση - Χρήση dynamic branch prediction για αντιμετώπιση του ILP Resource conflicts αλλιώς structural hazards - Ένας SS/VLIW έχει πολύ πιο μεγάλες πιθανότητες για συγκρούσεις στα εκτελεστικά συστήματα - Τα functional units πρέπει να καθορίζουν και τις εισόδους τους αλλά και τα αποτελέσματα τους (arbitrate for result buses and register-file write ports) - Οι συγκρούσεις στα εκτελεστικά συστήματα αποφεύγονται με την αύξηση στην ποσότητα των εκτελεστικών συστημάτων (π.χ. με διπλασιασμό) ή με διασωλήνωση των συστημάτων ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.24
25 Multiple-issue Processors: Instruction Issue and Completion Policies qinstruction-issue αρχή της εκτέλεσης εντολής Instruction lookahead ικανότητα να φέρνει, να αποκωδικοποιεί και να εκδίδει εντολές πέραν της εντολής που εκτελείται (fetch, decode and issue instructions beyond the current instruction) qinstruction-completion συμπλήρωση εκτέλεσης Processor lookahead ικανότητα να εκτελεί εντολές που εκδόθηκαν πέραν της εντολής που εκτελείται (complete issued instructions beyond the current instruction) qinstruction-commit γράψιμο των αποτελεσμάτων στο Register File ή το D$ cache (i.e., change the machine state) In-order issue with in-order completion In-order issue with out-of-order completion Out-of-order issue with out-of-order completion Out-of-order issue with out-of-order completion and in-order commit ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.25
26 Control Hazards qwhen the flow of instruction addresses is not what the pipeline expects; incurred by change of flow instructions Conditional branches (beq, bne) Unconditional branches (j) qpossible solutions Stall Move decision point earlier in the pipeline Predict Delay decision (requires compiler support) qcontrol hazards occur less frequently than data hazards; there is nothing as effective against control hazards as forwarding is for data hazards ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.26
27 Branch Prediction q Resolve branch hazards by assuming a given outcome and proceeding without waiting to see the actual branch outcome 1. Predict not taken always predict branches will not be taken, continue to fetch from the sequential instruction stream, only when branch is taken does the pipeline stall If taken, flush instructions in the pipeline after the branch - in,, and if branch logic in MEM three stalls - in if branch logic in one stall ensure that those flushed instructions haven t changed machine state automatic in the MIPS pipeline since machine state changing operations are at the tail end of the pipeline (MemWrite or RegWrite) restart the pipeline at the branch destination ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.27
28 Branch Prediction, con t q Resolve branch hazards by statically assuming a given outcome and proceeding 2. Predict taken always predict branches will be taken Predict taken always incurs a stall (if branch destination hardware has been moved to the stage) q As the branch penalty increases (for deeper pipelines), a simple static prediction scheme will hurt performance q With more hardware, possible to try to predict branch behavior dynamically during program execution 3. Dynamic branch prediction predict branches at runtime using run-time information ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.28
29 3 Generic Data Hazards: RAW, WAR, WAW qread After Write (RAW) Instr J tries to read operand before Instr I writes it I: add r1,r2,r3 J: sub r4,r1,r3 qcaused by a Dependence (in compiler nomenclature). This hazard results from an actual need for communication. qforwarding handles many, but not all, RAW dependencies in 5 stage MIPS pipeline ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.29
30 3 Generic Data Hazards: RAW, WAR, WAW qwrite After Read (WAR) Instr J writes operand before Instr I reads it I: sub r4,r1,r3 J: add r1,r2,r3 K: mul r6,r1,r7 qcalled an anti-dependence by compiler writers. This results from reuse of the name r1. qcan t happen in MIPS 5 stage pipeline because: All instructions take 5 stages, and Reads are always in stage 2, and Register Writes must be in stage 5 ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.30
31 3 Generic Data Hazards: RAW, WAR, WAW qwrite After Write (WAW) Instr J writes operand before Instr I writes it. I: sub r1,r4,r3 J: add r1,r2,r3 K: mul r6,r1,r7 qcalled an output dependence by compiler writers This also results from the reuse of name r1. qcan t happen in MIPS 5 stage pipeline because: All instructions take 5 stages, and Register Writes must be in stage 5 qcan see WAR and WAW in more complicated pipes ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.31
32 Multiple-issue Processors: Instruction Issue and Completion Policies qinstruction-issue αρχή της εκτέλεσης εντολής Instruction lookahead ικανότητα να φέρνει, να αποκωδικοποιεί και να εκδίδει εντολές πέραν της εντολής που εκτελείται (fetch, decode and issue instructions beyond the current instruction) qinstruction-completion συμπλήρωση εκτέλεσης Processor lookahead ικανότητα να εκτελεί εντολές που εκδόθηκαν πέραν της εντολής που εκτελείται (complete issued instructions beyond the current instruction) qinstruction-commit γράψιμο των αποτελεσμάτων στο Register File ή το D$ cache (i.e., change the machine state) In-order issue with in-order completion In-order issue with out-of-order completion Out-of-order issue with out-of-order completion Out-of-order issue with out-of-order completion and in-order commit ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.32
33 In-Order Issue with In-Order Completion qτο πιο απλό πράγμα είναι φυσικά η έκδοση, εκτέλεση και συμπλήρωση εντολών με την φυσική τους σειρά (i.e., in program order) qπαράδειγμα: Assume a pipelined processor that can fetch and decode two instructions per cycle, that has three functional units (a single cycle adder, a single cycle shifter, and a two cycle multiplier), and that can complete (and write back) two results per cycle And an instruction sequence with the following characteristics I1 needs two execute cycles (a multiply) I2 I3 I4 needs the same function unit as I3 I5 needs data value produced by I4 I6 needs the same function unit as I5 ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.33
34 In-Order Issue, In-Order Completion Example I n s t r. O r d e r I1 I2 I3 I4 I5 I1 two execute cycles I2 I3 I4 same function unit as I3 I5 data value produced by I4 I6 same function unit as I5 I6 In parallel can Fetch/decode 2 Commit 2 ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.34
35 In-Order Issue, In-Order Completion Example I n s t r. O r d e r I1 I2 I3 I4 I5 I6 In parallel can Fetch/decode 2 Commit 2 I1 two execute cycles I2 I3 I4 same function unit as I3 I5 data value produced by I4 I6 same function unit as I5 need forwarding hardware 8 cycles in total ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.35
36 In-Order Issue with Out-of-Order Completion qμε συμπλήρωση out-of-order, μια εντολή που εκδόθηκε μετά από μια άλλη, μπορεί να συμπληρωθεί πριν την προπορευμένη σε φυσική σειρά εντολή Out-of-order completion χρησιμοποιήται και σε single-issue pipelined processors για βελτίωση της απόδοσης πράξεων με μεγάλη καθυστέρηση (latency), όπως τη διαίρεση qόταν χρησιμοποιούμε out-of-order completion, η έκδοση εντολών γίνεται stalled όταν: υπάρχει σύγκρουση πόρων (resource conflict) όταν μια εντολή που είναι έτοιμη για έκδοση χρειάζεται δεδομένα που θα παράγει μια εντολή που ακόμη δεν έχει συμπληρωθεί (true data dependency RAW) ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.36
37 IOI-OOC Example I n s t r. O r d e r I1 I2 I3 I4 I5 I1 two execute cycles I2 I3 I4 same function unit as I3 I5 data value produced by I4 I6 same function unit as I5 I6 ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.37
38 IOI-OOC Example I n s t r. O r d e r I1 I2 I3 I4 I5 I1 two execute cycles I2 I3 I4 same function unit as I3 I5 data value produced by I4 I6 same function unit as I5 7 cycles in total I6 ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.38
39 Χειρισμός των Output Dependencies q Υπάρχει ακόμη μια περίπτωση που η έκδοση μιας εντολής σταματάει (stalls) με IOI-OOC. Ας υποθέσουμε: I1 writes to R3 I2 writes to R3 I5 reads R3 Εάν η εντολή I1 γράψει μετά την εντολή I2 στον καταχωρητή R3, τότε η εντολή I5 θα διαβάσει λάθος τιμή για τον R3 Η I2 έχει ένα output dependency με την I1 write after write (WAW) Η έκδοση της I2 πρέπει να καθυστερήσει (stalled) αν το αποτέλεσμά της δύναται να επαναγραφεί από μια προηγούμενη, στη σειρά έκδοσης, (πχ. η I1) εντολή που χρειάζεται περισσότερο χρόνο για να ολοκληρωθεί το stall γίνεται πριν την έκδοση της εντολής (instruction issue) qενώ το IOI-OOC εξυπακούει καλύτερη απόδοση, χρειάζεται περισσότερο έλεγχο για εξαρτήσεις και ως αποτέλεσμα, κατάλληλο υλικό για έλεγχο εξαρτήσεων. Έλεγχος εξαρήσων για read after write (RAW) και write after write (WAW) ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.39
40 Out-of-Order Issue with Out-of-Order Completion q Στο in-order issue, ο επεξεργαστής σταματά την αποκωδικοποίηση εντολών όταν μια εντολή έτοιμη για εκτέλεση έχει είτε resource conflict είτε data dependency με μια εντολή που ήδη εκδόθηκε, αλλά που δεν συμπληρώθηκε. Ο επεξεργαστής δεν είναι ικανός να δει πέραν της εντολής της σύγκρουσης/εξάρτησης, παρά το γεγονός ότι δύναται να υπάρχουν πιο κάτω εντολές που δεν έχουν σύγκρουση/εξάρτηση και, επομένως, να μπορούν να εκδοθούν. q Στο out-of-order issue, εντολές μεταγενέστερες της εντολής με τη σύγκρουση/εξάρτηση μπορούν να εκδοθούν και να αποκωδικοποίηθούν (fetch and decode) Αποθηκεύονται σε ένα instruction buffer (όσο έχει χώρο φυσικά) και σημείωνονται/καταχώρούνται στις εντολές στο buffer που δεν έχουν συγκρούσεις/εξαρτήσεις Οι σημειωμένες εντολές εκδίδονται από το buffer χωρίς αναφορά στην φυσική τους σειρά στο πρόγραμμα. Χρήση instruction window ( = μέγεθος instruction buffer). ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.40
41 OOI-OOC Example I n s t r. O r d e r I1 I2 I3 I4 I5 I1 two execute cycles I2 I3 I4 same function unit as I3 I5 data value produced by I4 I6 same function unit as I5 I6 7 cycles in total ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.41
42 Anti-dependencies q Me OOI επίσης έχουμε να αντιμετωπίσουμε data antidependencies όταν μια εντολή που εκτελείται σε μεταγενέστερο στάδιο αλλά συμπληρώνεται πιο γρήγορα, παράγει ένα data value που καταστρέφει ένα data value το οποίο χρησιμοποιείται από μια εντολή που κανονικά εκτελείται πριν, αλλά εκδίδεται μετά: R3 := R3 * R5 R4 := R3 + 1 R3 := R5 + 1 True data dependency Output dependency Antidependency qο περιορισμός είναι παρόμοιος με τα true data dependencies, αλλά αντίστροφος ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.42
43 Dependencies Επανάληψη q Τρία data dependencies: True data dependencies (read before write) Anti-dependencies (write before read) storage conflicts Output dependencies (write before write) εμφανίζονται με την χρήση των registers (ή άλλα storage locations) q True dependencies αντιπροσωπεύουν την ροή δεδομένων και την ροή του προγράμματος q Anti- και output dependencies δημιουργούνται εξαιτίας του περιορισμένου αριθμού καταχωρητών και εξυπακούει ότι το πρόγραμμα χρησημοποιεί τoυς ίδιους καταχωρητές για διαφορετικούς υπολογισμούς q Όταν οι εντολές εκδίδονται out-of-order, η σειρά συναλλαγών μεταξύ καταχωρητών και δεδομένων σπάζει, και τα δεδομένα συγκρούονται για τους καταχωρητές (conflict for registers) ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.43
44 Storage Conflicts και Register Renaming q Τα Storage conflicts μειώνονται (ή αποφεύγονται) με αύξηση των καταχωρητών ή με αντιγραφή της προβληματικής τοποθεσίας Επιπρόσθετοι καταχωρητές χρησιμοποιούνται για να λύσουν το πρόβλημα - Με δυναμικό τρόπο από το υλικό σε επεξεργαστές SS q Register renaming Ο επεξεργαστής μετονομάζει το αρχικό register identifier στην εντολή σε ένα καινούριο και αχρησιμοποίητο register (κάποιο που δεν χρησιμποποιήται σε κάποια από τις εντολές που μπορεί να δει) R3 := R3 * R5 R4 := R3 + 1 R3 := R5 + 1 R3b := R3a * R5a R4a := R3b + 1 R3c := R5a + 1 The hardware that does renaming assigns a replacement register from a pool of free registers and releases it back to the pool when its value is superseded and there are no outstanding references to it ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.44
45 Review: Extracting More Performance qto achieve high performance, need both machine parallelism and instruction level parallelism (ILP) by Superpipelining Static multiple-issue (VLIW) Dynamic multiple-issue (superscalar) qa processor s instruction issue and completion policies impact available ILP In-order issue with in-order completion In-order issue with out-of-order completion - Creates output dependencies (write before write) Out-of-order issue with out-of-order completion - Creates antidependency (write before read) Out-of-order issue with out-of-order completion and in-order commit qregister renaming can solve these storage dependencies ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.45
46 Speedup Measurements qh βελτίωση της απόδοσης του SS επεξεργαστή είναι - Assumes scalar and superscalar machines have the same IC & CR # scalar cycles speedup = s n = # superscalar cycles qγια μέτρηση του μέσου όρου βελτίωσης της απόδοσης, χρησιμοποιούμε n Arithmetic mean AM = 1/n S s i i = 1 n Harmonic mean HM = n / ( S 1/s i ) i = 1 - assigns a larger weighting to the programs with the smallest speedup : two programs with same scalar cycles, with a SS speedup of 2 for program1 and 25 for program2 - AM = - HM = ½ * (2 + 25) = / ( ) = 2 /.54 = 3.7 ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.46
47 Maximum (θεωρητική) SS βελτίωση απόδοσης qη μέγιστη βελτίωση απόδοσης σύστημα παραλληλισμού ( ideal machine parallelism) (ignoring resource conflicts, storage dependencies, and procedural dependencies) HM of 5.4 is the highest average speedup for these benchmarks that can be achieved even with ideal machine parallelism! From Johnson, 1992 Speedup diff ccom doduc gnuchess irsim linpack simple troff twolf ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.47
48 The Post-RISC Architecture ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.48
49 Post-RISC characteristics q Out-of-order execution (Existed 20 years ago on IBM and CDC) Innovative for single-chip Branch history bits q Precise interrupts q Fetch/Flow Prediction q More caching Instruction cache becomes CPU scratch space q Register renaming First in IBM 360/91 FPU q Traditional RISC DEC Alpha Sun UltraSPARC-1 q (partially) Post-RISC PowerPC 604 MIPS R10000 HP PA-8000 Intel Pentium Pro DEC Alpha HAL SPARC64 ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.49
50 ΕΠΟΜΕΝΗ ΔΙΑΛΕΞΗ ΚΑΙ ΚΑΤ ΟΙΚΟΝ ΜΕΛΕΤΗ q ΕΠΟΜΕΝΗ ΕΝΟΤΗΤΑ Δυναμικός Παραλληλισμός Επιπέδου Εντολών -- Superscalar Επεξεργαστές q ΚΑΤ ΟΙΚΟΝ ΜΕΛΕΤΗ Κεφάλαιο 6 Patterson&Hennessy (από το βιβλίο του ΗΜΥ212) Κεφάλαιο 2 του βιβλίου σας ΗΜΥ312 Δ16 - Παραλληλισμός εντολών και εισαγωγή στον SimpleScalar.50
ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρμογή από Computer Architecture:
ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Αναπληρώτρια Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από Computer
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία
Παραλληλισμός σε επίπεδο εντολών
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης
Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από
Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) Κεφάλαιο 4 - Σύστημα ιασωλήνωσης
Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) 1 ιασωλήνωση 2 Pipelining Παραλληλισμός + Pipelining 3 Χρόνος Εκτέλεσης = I x CPI x Cycle Time Με ή χωρις pipeline το Ι είναι το ίδιο όπως και τo CPI = 1. Το
Περιορισμοί των βαθμωτών αρχιτεκτονικών
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Περιορισμοί
Τέτοιες λειτουργίες γίνονται διαμέσου του
Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου
Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)
Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών
Συστήματα σε Ολοκληρωμένα Κυκλώματα
Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται
Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»
Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. Δίπλωμα 4. αποθήκευση Σειριακή προσέγγιση για 4 φορτία = 8h 30 min κάθε «φάση» Pipelined προσέγγιση για 4 φορτία = 3.5h Το
Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)
Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling) Απόδοση pipeline Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + Control Stalls Ideal pipeline CPI: μέτρο της μέγιστης απόδοσης
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από
Υπερβαθµωτή Οργάνωση Υπολογιστών
Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Τα όρια του Παραλληλισµού σε επίπεδο εντολών (Instruction Level Parallelism - ILP) Weiss and Smith [1984] Sohi
(Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
ΗΥ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
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 13 Διακλαδώσεις Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Η μέχρι τώρα μικρο-αρχιτεκτονική (Eντολές Διακλάδωσης) Η μικρο-αρχιτεκτονική
ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής
ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής Αρης Ευθυμίου Ταχύτερη εκτέλεση Με τις τεχνικές που είδαμε στα προηγούμενα μαθήματα μπορούμε να εκτελέσουμε (με επικάλυψη) περίπου 1 εντολή
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές Αρης Ευθυμίου Το σημερινό μάθημα Υπερβαθμωτοί επεξεργαστές (superscalar) Εκτέλεση σε σειρά Εκτέλεση εκτός σειράς Alpha 21164 Scoreboard Μετονομασία
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining)
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining) 1 ιασωλήνωση 2 Διασωλήνωση και Παραλληλισμός (Parallelism) Διασωλήνωση (Pipelining):
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 κάθε «φάση»
ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 6ο μάθημα: χρονοπρογραμματισμός, αλγόριθμος Tomasulo, εικασία Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου InstrucDon- Level
Εντολές Διακλάδωσης. #bubbles ~= pipeline depth X loop length. Next fetch started. Fetch. I-cache. Fetch Buffer. Decode. Issue Buffer.
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Εντολές
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 κάθε «φάση»
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
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
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
Οι τέσσερις αρχές για τον σχεδιασμό του συνόλου εντολών μιας μηχανής είναι:
More material! Οι τέσσερις αρχές για τον σχεδιασμό του συνόλου εντολών μιας μηχανής είναι: 1. Η απλότητα στη σχεδίαση οφείλεται στη κανονικοποίηση. Πολλά χαρακτηριστικά των εντολών της μηχανης MIPS οφείλονται
Pipelined Datapath, Hazards and Forwarding
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Pipelined Datapath, Hazards and Forwarding Άδεια Χρήσης Το παρόν εκπαιδευτικό
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) Επικάλυψη εντολών στοχεύοντας στην παράλληλη εκτέλεσή
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
Αρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς
ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Ιάκωβος Μαυροειδής
ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control stalls Θα μελετήσουμε
Τελική Εξέταση, Απαντήσεις/Λύσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για
Αρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: Διασωλήνωση Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg
Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,
Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:
Εισαγωγή. Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων
Εισαγωγή Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων 1 Παράγοντες που επηρεάζουν την επίδοση της CPU CPU time = Seconds = Instructions Cycles Seconds --------------
HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:
HOMEWORK 4 Problem a For the fast loading case, we want to derive the relationship between P zz and λ z. We know that the nominal stress is expressed as: P zz = ψ λ z where λ z = λ λ z. Therefore, applying
και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath
O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I
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 πρέπει µια εξαρτώµενη
Αρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Σύγχρονοι υπολογιστές Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης
Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Multi Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη
Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση
Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 4 Ο επεξεργαστής ιαφάνειες διδασκαλίας του πρωτότυπου βιβλίου µεταφρασµένες στα ελληνικά και εµπλουτισµένες (µετάφραση,
ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές --
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές -- Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτης Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης
Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό
Ενσωµατωµένα Υπολογιστικά Συστήµατα (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
ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από
Αρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Οργάνωση επεξεργαστή Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
ΗΜΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτής Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή
Προχωρηµένα Θέµατα Αρχιτεκτονικής
Προχωρηµένα Θέµατα Αρχιτεκτονικής Fundamentals of Computer Design. Λιούπης Αύξηση απόδοσης µικροεπεξεργαστών Αύξηση των παρεχόµενων στο χρήστη δυνατοτήτων Κυριαρχία των βασισµένων σε µικροεπεξεργαστές
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση
Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση Αρης Ευθυμίου Το σημερινό μάθημα Υπόβαθρο: Διοχέτευση (Pipelining) Βασική οργάνωση Δομικοί κίνδυνοι Κίνδυνοι δεδομένων (hazards): RAW, WAR, WAW Stall
Διάλεξη 11 Προώθηση (Forwarding)
ΗΥ 3 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Προώθηση (Forwarding) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων (HY3) Η μέχρι τώρα μικρο-αρχιτεκτονική του MIPS ID/EX PCSrc Control WB
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το
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
Κεντρική Μονάδα Επεξεργασίας
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση
ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση Αρης Ευθυμίου Απόδοση απλής υλοποίησης Υλοποίηση ενός κύκλου είναι πολύ αργή κάθε κύκλος είναι τόσο μεγάλος όσο χρειάζεται
ΔΙΑΛΕΞΗ 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 ΑΡΧΙΤΕΚΤΟΝΙΚΗ
Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών
Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών Αρης Ευθυμίου Διαδικαστικά Ιστοσελίδα μαθήματος: h:p://www.cs.uoi.gr/~plmy07/ Διαφάνειες μαθημάτων, κτλ 2 Γρήγορη εκτέλεση σειριακού
Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!
Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή απόδοση! Αντιβαίνει με αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr
Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Αρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: Διασωλήνωση Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg
Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική
Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining)
Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining) 1 Διασωλήνωση (Pipelining) Διασωληνώση: επικαλυπτόμενη εκτέλεση πολλαπλών εντολών σε ένα κύκλο του ρολογιού, όπως σε
Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ
Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή
Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης
Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης Αρης Ευθυμίου Το σημερινό μάθημα Execu9on scheduling wake- up and select specula9ve wake- up Εκτέλεση εντολών
Συστήματα Διαχείρισης Βάσεων Δεδομένων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 9: Transactions - part 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on Undo, Redo and Undo/Redo
Αρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 7: Πρόγνωση διακλαδώσεων. Εξαρτήσεις και εκτέλεση εκτός σειράς. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών
Υπερβαθµωτή Οργάνωση Υπολογιστών
Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Ανάγνωση εντολής (Instruction Fetch) Σε µία αρχιτεκτονική πλάτους s, πρέπει διαβάζονται s εντολές σε κάθε κύκλο
Assalamu `alaikum wr. wb.
LUMP SUM Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. LUMP SUM Lump sum lump sum lump sum. lump sum fixed price lump sum lump
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη
ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές --
ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές -- Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή
[1] P Q. Fig. 3.1
1 (a) Define resistance....... [1] (b) The smallest conductor within a computer processing chip can be represented as a rectangular block that is one atom high, four atoms wide and twenty atoms long. One
Διάλεξη 12 Καθυστερήσεις (Stalls)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 12 Καθυστερήσεις (Stalls) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Καθυστερήσεις και Εκκενώσεις Εντολών Οι κίνδυνοι δεδομένων (data
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια
1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο
Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)
Phys460.nb 81 ψ n (t) is still the (same) eigenstate of H But for tdependent H. The answer is NO. 5.5.5. Solution for the tdependent Schrodinger s equation If we assume that at time t 0, the electron starts
i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Η υπολογιστική
CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS
CHAPTER 5 SOLVING EQUATIONS BY ITERATIVE METHODS EXERCISE 104 Page 8 1. Find the positive root of the equation x + 3x 5 = 0, correct to 3 significant figures, using the method of bisection. Let f(x) =
Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών
Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών Αρης Ευθυμίου Το σημερινό μάθημα Προσκόμιση (fetch) πολλαπλές εντολές ανά κύκλο Μετονομασία καταχωρητών
Υποθετική Εκτέλεση Εντολών
Υποθετική Εκτέλεση Εντολών ( Speculation (Hardware-Based Τεχνικές βελτίωσης του CPI register renaming δυναμική εκτέλεση Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + υπερβαθμωτή
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας
1.1 ΑΣΚΗΣΗ ΛΥΣΗ 2.1 ΑΣΚΗΣΗ ΛΥΣΗ 3.1 ΑΣΚΗΣΗ
1.1 ΑΣΚΗΣΗ i) Έστω ότι οι εντολές κινητής υποδιαστολής ευθύνονται για το 25% του χρόνου εκτέλεσης ενός προγράµµατος σε ένα µηχάνηµα. Προτείνεται να βελτιωθεί το υλικό που σχετίζεται µε αριθµούς κινητής
2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.
ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο
Section 8.3 Trigonometric Equations
99 Section 8. Trigonometric Equations Objective 1: Solve Equations Involving One Trigonometric Function. In this section and the next, we will exple how to solving equations involving trigonometric functions.
Αρχιτεκτονικη υπολογιστων
ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονικη υπολογιστων Τζαγκαράκης Χαράλαμπος hatzagarak@cs.teicrete.gr Εισαγωγη: ο επεξεργαστης και η γλωσσα του Eπεξεργαστής: MIPS Microprocessor Without Interlocked
Section 1: Listening and responding. Presenter: Niki Farfara MGTAV VCE Seminar 7 August 2016
Section 1: Listening and responding Presenter: Niki Farfara MGTAV VCE Seminar 7 August 2016 Section 1: Listening and responding Section 1: Listening and Responding/ Aκουστική εξέταση Στο πρώτο μέρος της
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2.
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2. Pipelining (Αν υπάρχει χρόνος) Θα ξαναπάμε πίσω στο Κεφ.3αργότερα. ΕΠΛ 221--
Υλοποίηση Mικροεπεξεργαστή MIPS -16
Υλοποίηση Mικροεπεξεργαστή MIPS -16 Διάδρομος Δεδομένων και Μονάδα Ελέγχου 1 Περίληψη Μνήμη RAM Εκτέλεση εντολών με πολλαπλούς κύκλους Σχεδιασμός Διαδρόμου Δεδομένων (Data Path) Καταχωρητής Εντολών (Instruction
Finite Field Problems: Solutions
Finite Field Problems: Solutions 1. Let f = x 2 +1 Z 11 [x] and let F = Z 11 [x]/(f), a field. Let Solution: F =11 2 = 121, so F = 121 1 = 120. The possible orders are the divisors of 120. Solution: The
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr