Εισαγωγή. SMT 6 IPC, δυναμικά διαμοιραζόμενο. Superscalar 6 IPC. CMP 4x2 IPC

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Εισαγωγή. SMT 6 IPC, δυναμικά διαμοιραζόμενο. Superscalar 6 IPC. CMP 4x2 IPC"

Transcript

1 Πολυνηματικές Αρχιτεκτονικές

2 Εισαγωγή Η ενσωμάτωση πολλαπλών ροών εκτέλεσης αποτελεί πλέον μονόδρομο στην τεχνολογία των επεξεργαστών Ελάχιστη ανταπόδοση από την εκμετάλλευση περισσότερου παραλληλισμού επιπέδου εντολών (ILP), σε σχέση με την κατασκευαστική πολυπλοκότητα Στροφή προς την εκμετάλλευση παραλληλισμού επιπέδου νημάτων (TLP) Δύο κυρίαρχες κατασκευαστικές προσεγγίσεις Πολυνηματικές αρχιτεκτονικές (SMT, FGMT, CGMT) Πολυπύρηνες αρχιτεκτονικές Superscalar 6 IPC SMT 6 IPC, δυναμικά διαμοιραζόμενο CMP 4x2 IPC

3 The concurrency revolution is primarily a software revolution. The difficult problem is not building multicore hardware, but programming it in a way that lets mainstream applications benefit from the continued exponential growth in CPU performance. Satter & Larus, ACM Queue, 2005

4 Προκλήσεις του παράλληλου προγραμματισμού Εντοπισμός παραλληλισμού χειροκίνητα (επισκόπηση) αυτόματα (compiler) Έκφραση παραλληλισμού low-level (π.χ. Pthreads, MPI) high-level (π.χ. OpenMP, Cilk, Intel TBB, Galois, UPC κ.λπ.) Απεικόνιση scheduling, creation, termination, etc. operating system, runtime system Συγχρονισμός εύκολος όπως ο coarse-grain αποδοτικός όπως ο fine-grain deadlock-free composable

5 Απαιτήσεις Υψηλή απόδοση Ευκολία στον προγραμματισμό Υψηλή παραγωγικότητα Ορθότητα Αποδοτική διαχείριση πόρων Οι παραδοσιακές προσεγγίσεις δεν αρκούν αφορούν συγκεκριμένα είδη εφαρμογών με «προφανή» και άμεσα εκμεταλλεύσιμο παραλληλισμό δε λαμβάνουν υπόψη τις αρχιτεκτονικές ιδιαιτερότητες της πλατφόρμας

6 Ο Νόμος της απόδοσης των μικροεπεξεργαστών 1 Time Instructions Cycles Time = = x x Performance Program Program Instruction Cycle (instr. count) (CPI) (cycle time) Performance = IPC x Hz instr. count clock speed ( Hz) αρχιτεκτονικές βελτιστοποιήσεις ( IPC): pipelining, superscalar execution, branch prediction, out-of-order execution cache ( IPC)

7 Γιατί πολυνηματισμός; o ILP εκμεταλλεύεται παράλληλες λειτουργίες, συνήθως μη οριζόμενες από τον προγραμματιστή σε μια «ευθεία» ακολουθία εντολών (χωρίς branches) ανάμεσα σε διαδοχικές επαναλήψεις ενός loop δύσκολο το να εξάγουμε ολοένα και περισσότερο ILP από ένα και μόνο νήμα εκτέλεσης εγγενώς χαμηλός ILP σε πολλές εφαρμογές ανεκμετάλλευτες πολλές από τις μονάδες ενός superscalar επεξεργαστή συχνότητα ρολογιού: φυσικά εμπόδια στη συνεχόμενη αύξησή της μεγάλη έκλυση θερμότητας, μεγάλη κατανάλωση ισχύος, διαρροή ρεύματος πρέπει να βρούμε άλλον τρόπο πέρα από τον ILP + συχνότητα ρολογιού για να βελτιώσουμε την απόδοση

8 Πολυνηματισμός Σκοπός: χρήση πολλών ανεξάρτητων instruction streams από πολλαπλά νήματα εκτέλεσης ο παραλληλισμός σε επίπεδο νήματος (Thread-Level Parallelism TLP) αναπαρίσταται ρητά από τον προγραμματιστή, χρησιμοποιώντας πολλαπλά νήματα εκτέλεσης τα οποία είναι εκ κατασκευής παράλληλα πολλά φορτία εργασίας έχουν σαν χαρακτηριστικό τους τον TLP: TLP σε πολυπρογραμματιζόμενα φορτία (εκτέλεση ανεξάρτητων σειριακών εφαρμογών) TLP σε πολυνηματικές εφαρμογές (επιτάχυνση μιας εφαρμογής διαχωρίζοντάς την σε νήματα και εκτελώντας τα παράλληλα) οι πολυνηματικές αρχιτεκτονικές χρησιμοποιούν τον TLP σε τέτοια φορτία εργασίας για να βελτιώσουν τα επίπεδα χρησιμοποίησης των μονάδων του επεξεργαστή βελτίωση του throughput πολυπρογραμματιζόμενων φορτίων βελτίωση του χρόνου εκτέλεσης πολυνηματικών εφαρμογών

9 Παράδειγμα: κίνδυνοι δεδομένων t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 LW r1, 0(r2) F D X M W LW r5, 12(r1) F D X M W ADDI r5, r5, # F D X M W SW 12(r1), r F D Οι εξαρτήσεις μεταξύ των εντολών αποτελούν περιοριστικό παράγοντα για την εξαγωγή παραλληλισμού Τι μπορεί να γίνει προς αυτή τη κατεύθυνση;

10 Αντιμετώπιση με πολυνηματισμό Πώς μπορούμε να μειώσουμε τις εξαρτήσεις μεταξύ των εντολών σε ένα pipeline? pp - Ένας τρόπος είναι να επικαλύψουμε την εκτέλεση εντολών από διαφορετικά νήματα στο ίδιο pipeline Επικάλυψη εκτέλεσης 4 νημάτων, T1-T4, στο απλό 5-stage pipeline t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 T1: LW r1, 0(r2) F D X M W T2: ADD r7, r1, r4 F D X M W T3: XORI r5, r4, #12 F D X M W T4: SW 0(r7), r5 F D X M W T1: LW r5, 12(r1) F D X M W Η προηγούμενη εντολή στο νήμα ολοκληρώνει το WB προτού η επόμενη εντολή στο ίδιο νήμα διαβάσει το register file

11 Απλή μορφή πολυνηματικού pipeline PC PC PC 1 GPR1 IR GPR1 PC 1 I$ 1 GPR1 GPR1 1 X Y D$ +1 2 Thread 2 select το software «βλέπει» πολλαπλές (αλλά πιο αργές) CPUs κάθε νήμα χρειάζεται να διατηρεί τη δική του αρχιτεκτονική κατάσταση program counter general purpose registers τα νήματα μοιράζονται τις ίδιες μονάδες εκτέλεσης hardware για γρήγορη εναλλαγή των threads πρέπει να είναι πολύ πιο γρήγορη από ένα software-based process switch ( 100s s κύκλων)

12 Για αρκετές εφαρμογές, οι περισσότερες μονάδες εκτέλεσης σε έναν OoO superscalar μένουν ανεκμετάλλευτες Αποτελέσματα για 8-way superscalar. [Tullsen, Eggers, and Levy, Simultaneous Multithreading: Maximizing On-chip Parallelism, ISCA 1995.]

13 ΟοΟ superscalar Issue slots horizontal waste: εξαιτίας χαμηλού ILP vertical waste: εξαιτίας long-latency γεγονότων cache misses pipeline flushes λόγω branch mispredictions

14 Chip Multi-Processor τα προβλήματα εξακολουθούν να υφίστανται...

15 Fine-grained multithreading Time το «κίτρινο» thread είναι stalled και παρακάμπτεται εναλλαγή μεταξύ των threads σε κάθε κύκλο, με αποτέλεσμα την επικάλυψη της εκτέλεσης των threads η CPU είναι αυτή που κάνει την εναλλαγή σε κάθε κύκλο γίνεται με round-robin τρόπο (κυκλικά), παρακάμπτοντας threads τα οποία είναι stalled σε κάποιο long-latency γεγονός γ αντιμετωπίζει το vertical waste, τόσο για μικρά όσο και για μεγάλα stalls, αφού όταν ένα thread είναι stalled το επόμενο μπορεί να γίνει issue μειονεκτήματα: δεναντιμετωπίζει το horizontal waste καθυστερεί την εκτέλεση ενός thread το οποίο είναι έτοιμο να εκτελεστεί, χωρίς stalls, αφού ανάμεσα σε διαδοχικούς κύκλους αυτού του thread παρεμβάλλονται κύκλοι εκτέλεσης από όλα τα υπόλοιπα threads e.g., UltraSPARC T1 ( Niagara ), Cray MTA

16 Coarse-grained multithreading ( switch-on-event ) Time s Issue slots εναλλαγή thread μόνο μετά από stall του thread που εκτελείται, π.χ. λόγω L2 cache miss πλεονεκτήματα: δε χρειάζεται να έχει πολύ γρήγορο μηχανισμό εναλλαγής των threads δεν καθυστερεί την εκτέλεση ενός thread, αφού οι εντολές από άλλα threads γίνονται issue μόνο όταν το thread αντιμετωπίσει κάποιο stall μειονεκτήματα: ήμ δεν αντιμετωπίζει το horizontal waste σε μικρά stalls, η εναλλαγή του stalled thread και η δρομολόγηση στο pipeline κάποιου έτοιμου thread μπορεί να έχει απώλειες στην απόδοση του πρώτου thread αν τελικά οι κύκλοι που stall-άρει είναι λιγότεροι από τους κόστος εκκίνησης του pipeline με το νέο thread εξαιτίας αυτού του start-up κόστους, το coarse-grained multithreading είναι καλύτερο για την μείωση του κόστους από μεγάλα stalls, για τα οποία το stall time >> pipeline refill time e.g. IBM AS/400

17 Simultaneous Multithreading (SMT) γίνονται issue εντολές από πολλαπλά νήματα ταυτόχρονα αντιμετωπίζεται το horizontal waste όταν ένα νήμα stall-άρει λόγω ενός long-latencylatency γεγονότος, τα υπόλοιπα νήματα μπορούν να δρομολογηθούν και να χρησιμοποιήσουν τις διαθέσιμες μονάδες εκτέλεσης αντιμετωπίζεται το vertical waste Μέγιστη χρησιμοποίηση των επεξεργαστικών πόρων από ανεξάρτητες λειτουργίες

18 Προσαρμοστικότητα του SMT στο είδος του διαθέσιμου παραλληλισμού Για περιοχές με υψηλά επίπεδα TLP, ολόκληρο το έυρος του επεξεργαστή μοιράζεται από όλα τα threads Για περιοχές με χαμηλά επίπεδα TLP, ολόκληρο το εύρος του επεξεργαστή είναι διαθέσιμο για την εκμετάλλευση του (όποιου) ILP Issue width Issue width Time Time

19 Αρχιτεκτονική SMT Βασικές επεκτάσεις σε σχέση με μια συμβατική superscalar αρχιτεκτονική πολλαπλοί program counters και κατάλληλος μηχανισμός μέσω του οποίου η fetch unit επιλέγει κάποιον από αυτούς σε κάθε κύκλο (π.χ. με βάση κάποια συγκεκριμένη πολιτική) thread-id σε κάθε ΒΤΒ entry για την αποφυγή πρόβλεψης branches που ανήκουν σε άλλα threads ξεχωριστή RAS για κάθε thread για την πρόβλεψη της διεύθυνσης επιστροφής μετά από κλήση υπορουτίνας σε κάθε thread ξεχωριστός ROB για κάθε thread προκειμένου το commit και η διαχείριση των mispredicted branches + των exceptions να γίνεται ανεξάρτητα για κάθε thread μεγαλύτερο register file, για να υποστηρίζει λογικούς καταχωρητές για όλα τα threads + επιπλέον καταχωρητές για register renaming ξεχωριστό renaming table για κάθε thread» εφόσον οι λογικοί καταχωρητές για όλα τα threads απεικονίζονται όλοι σε διαφορετικούς φυσικούς καταχωρητές, οι εντολές από όδιαφορετικά threads μπορούν να αναμιχθούν μετά το renaming χωρίς να συγχέονται οι source και target operands ανάμεσα στα threads

20 Case-study 1: SMT in Hyperthreading technology 2-way SMT το λειτουργικό «βλέπει» 2 CPUs εκτελεί δύο διεργασίες ταυτόχρονα» πολυπρογραμματιζόμενα φορτία» πολυνηματικές εφαρμογές o φυσικός επεξεργαστής διατηρεί την αρχιτεκτονική για 2 λογικούς επεξεργαστές επιπλέον κόστος για υποστήριξη 2 ταυτόχρονων νημάτων εκτέλεσης < 5% του αρχικού hardware

21 Τι προστέθηκε...

22 Επεξεργαστικοί πόροι: πολλαπλά αντίγραφα vs. διαμοιρασμός Multiprocessor Hyperthreading BTB, I-TLB FP reg. file FP reg. file Decode Trace cache Rename / Alloc uop queues Schedulers Integer reg. file Reorder / Retire BTB, I-TLB Decode Trace cache Rename / Alloc uop queues Schedulers Integer reg. file Reorder / Retire στους πολυεπεξεργαστές τα resources βρίσκονται σε πολλαπλά αντίγραφα στο Hyper-threading τα resources διαμοιράζονται

23 Διαχείριση επεξεργαστικών πόρων Πόροι σε πολλαπλά αντίγραφα: αρχιτεκτονική κατάσταση: GPRs, control registers, APICs instruction pointers, renaming hardware smaller resources: ITLBs, branch target buffer, return address stack Στατικά διαχωρισμένοι πόροι: ROB, Load/Store queues, instruction queues κάθε νήμα μπορεί να χρησιμοποιήσει έως τα μισά (το πολύ) entries κάθε τέτοιου πόρου» ένα νήμα δεν μπορεί να οικειοποιηθεί το σύνολο των entries, στερώντας τη δυνατότητα από το άλλο νήμα να συνεχίσει την εκτέλεσή του» εξασφαλίζεται η απρόσκοπτη πρόοδος ενός νήματος, ανεξάρτητα από την πρόοδο του άλλου νήματος Δυναμικά διαμοιραζόμενοι πόροι (κατ απαίτηση): out-of-order execution engine, caches

24 Pentium 4 w/ Hyper-Threading: Front End trace cache hit Trace cache «ειδική» instruction cache που κρατάει αποκωδικοποιημένες μικρο-εντολές σε κάθε cache line αποθηκεύονται οι μικροεντολές στη σειρά με την οποία εκτελούνται (π.χ. εντολή άλματος μαζί με την ακολουθία εντολών στην προβλεφθείσα κατεύθυνση) Σε ταυτόχρονη ζήτηση από τους 2 LPs, η πρόσβαση εναλλάσσεται κύκλο-ανά-κύκλο Όταν μόνο 1 LP ζητάει πρόσβαση, μπορεί να χρησιμοποιήσει την TC στο μέγιστo δυνατό fetch bandwidth (3 μipc)

25 Pentium 4 w/ Hyper-Threading: Front End trace cache miss L2 cache η πρόσβαση γίνεται με FCFS τρόπο Decode σε ταυτόχρονη ζήτηση από τους 2 LPs, η πρόσβαση εναλλάσσεται, αλλά με πιο coarsegrained τρόπο (δηλ. όχι κύκλο-ανά-κύκλο, αλλά k κύκλους-ανά-k κύκλους)

26 Pentium 4 w/ Hyper-Threading: Execution engine Allocator: εκχωρεί entries σε κάθε LP 63/126 ROB entries 24/48 Load buffer entries 12/24 Store buffer entries 128/128 Integer physical registers 128/128 FP physical registers Σε ταυτόχρονη ζήτηση από τους 2 LPs, η πρόσβαση εναλλάσσεται κύκλο-ανά-κύκλο stall-άρει έναν LP όταν επιχειρεί να χρησιμοποιήσει περισσότερα από τα μισά entries των στατικά διαχωρισμένων πόρων

27 Pentium 4 w/ Hyper-Threading: Execution engine Register renaming unit επεκτείνει δυναμικά τους architectural registers απεικονίζοντάς τους σε ένα μεγαλύτερο σύνολο από physical registers ξεχωριστό register map table για κάθε LP

28 Pentium 4 w/ Hyper-Threading: Execution engine Schedulers / Execution units στην πραγματικότητα δε (χρειάζεται να) ξέρουν σε ποιον LP ανήκει η εντολή που εκτελούν general+memory queues στέλνουν μικρο-εντολές στους δρομολογητές, με την πρόσβαση να εναλλάσσεται κύκλο-ανά-κύκλο ανάμεσα στους 2 LPs 6 μipc dispatch/execute bandwidth ( 3 μipc per-lp effective bandwidth, όταν και οι 2 LPs είναι ενεργοί)

29 Pentium 4 w/ Hyper-Threading: Retirement ηαρχιτεκτονική κατάσταση κάθε LP γίνεται commit με τη σειρά προγράμματος, εναλλάσσοντας την πρόσβαση στον ROB ανάμεσα στους 2 LPs κύκλοανά-κύκλο 3 μipc retirement bandwidth

30 Multithreaded speedup SPLASH2 Benchmarks: NAS Parallel Benchmarks: From: Tuck and Tullsen, Initial Observations of the Simultaneous Multithreading Pentium 4 Processor, PACT 2003.

31 Case-study 2: επέκταση του Power 4 για υποστήριξη SMT Single-threaded «προκάτοχος» του Power5 8executionunits units 2 Float. Point, 2 Load/Store, 2 Fixed Point, 1 Branch, 1 Conditional Reg. unit κάθε μία μπορεί να κάνει issue 1 εντολή ανά κύκλο Execution bandwidth: 8operationsανά κύκλο (1 fpadd + 1 fpmult) x 2FP + 1 load/store x 2 LD/ST + 1 integer x 2 FX

32 Power 4 Power 5 2 commits (architected register sets) 2 fetch (PC) 2 fetch (PC), 2 initial decodes

33 SMT resource management

34 Αλλαγές στον Power 5 για να υποστηρίζεται το SMT Aύξηση συσχετιστικότητας της L1 instruction cache και των ITLBs Ξεχωριστές Load/Store queues για κάθε νήμα Αύξηση μεγέθους των L2 (1.92 vs MB) και L3 caches Ξεχωριστό instruction prefetch hardware και instruction buffers για κάθε νήμα Αύξηση των registers από 152 σε 240 Αύξηση του μεγέθους των issue queues Αύξηση μεγέθους κατά 24% σε σχέση με τον Power4 εξαιτίας της προσθήκης hardware για υποστήριξη SMT

35 Power 5 datapath στο IF στάδιο η πρόσβαση εναλλάσσεται κύκλο-ανά-κύκλο ανάμεσα στα 2 threads 2 instruction fetch address registers, 1 για κάθε νήμα μπορούν να φορτωθούν 8 instructions σε κάθε κύκλο (στάδιο IC) από την I-Cache σε έναν συγκεκριμένο κύκλο, οι εντολές που φορτώνονται προέρχονται όλες από το ίδιο thread, και τοποθετούνται στο instruction buffer του thread αυτού (στάδιο D0)

36 Power 5 datapath στα στάδια D1-D3 D3, ανάλογα με την προτεραιότητα κάθε thread, ο επεξεργαστής διαλέγει εντολές από έναν από τους δύο instruction buffers και σχηματίζει ένα group όλες οι εντολές σε ένα group προέρχονται από το ίδιο thread και αποκωδικοποιούνται παράλληλα λ κάθε group μπορεί να περιέχει το πολύ 5 εντολές

37 Power 5 datapath όταν όλοι οι απαιτούμενοι πόροι γίνονται διαθέσιμοι για τις εντολές ενός group, τότε το group μπορεί να γίνει dispatch (στάδιο GD) το group τοποθετείται στο Global Completion Table (ROB) τα entries στο GCT εκχωρούνται με τη σειρά προγράμματος για κάθε thread, και απελευθερώνονται (πάλι με τη σειρά προγράμματος) μόλις το group γίνει commit μετά το dispatch, κάθε εντολή του group διέρχεται μέσα από το register renaming στάδιο (MP) 120 physical GPRs, 120 physical FPRs τα 2 νήματα διαμοιράζονται δυναμικά registers

38 Power 5 datapath Issue, execute, write-back δε γίνεται διάκριση ανάμεσα στα 2 threads Group completion (στάδιο CP) 1 group commit ανά κύκλο για κάθε thread στη σειρά προγράμματος του κάθε thread

39 Δυναμική εξισορρόπηση επεξεργαστικών πόρων Πρέπει να εξασφαλιστεί η απρόσκοπτη και ομαλή ροή των threads στο pipeline, ανεξάρτητα από τις απαιτήσεις του καθενός σε επεξεργαστικούς πόρους Μηχανισμοί περιορισμού ενός πολύ απαιτητικού thread: μείωση προτεραιότητας του thread, όταν διαπιστώνεται ότι τα GCT entries που χρησιμοποιεί ξεπερνούν ένα καθορισμένο όριο όταν ένα thread έχει πολλά L2 misses, τότε οι μεταγενέστερες εξαρτώμενες εντολές του μπορούν να γεμίσουν τις issue queues, εμποδίζοντας να γίνουν dispatch εντολές από το άλλο thread» παρακολούθηση της Load Miss Queue ενός thread έτσι ώστε όταν τα misses του υπερβαίνουν κάποιο όριο, η αποκωδικοποίηση εντολών του να σταματάει μέχρι να αποσυμφορηθούν οι issue queues συμφόρηση στις issue queues μπορεί να συμβεί και όταν ένα thread εκτελεί μια εντολή που απαιτεί πολύ χρόνο» flushing των εντολών του thread που περιμένουν να γίνουν dispatch και προσωρινή διακοπή της αποκωδικοποίησης εντολών του μέχρι να αποσυμφορηθούν οι issue queues

40 Ρυθμιζόμενη προτεραιότητα threads επιτρέπει στο software να καθορίσει πότε ένα thread θα πρέπει να έχει μεγαλύτερο ή μικρότερο μερίδιο επεξεργαστικών πόρων πιθανές αιτίες για διαφορετικές προτεραιότητες: ένα thread εκτελεί ένα spin-loop περιμένοντας να πάρει κάποιο lock δεν κάνει χρήσιμη δουλειά όσο spin-άρει ένα thread δεν έχει δουλειά να εκτελέσει και περιμένει να του ανατεθεί δουλειά σε ένα idle loop μία εφαρμογή πρέπει να τρέχει πιο γρήγορα σε σχέση με μία άλλη (π.χ. real-time application vs. background application) 8 software-controlled επίπεδα προτεραιότητας για κάθε thread o επεξεργαστής παρατηρεί τη διαφορά των επιπέδων προτεραιότητας των threads, και δίνει στο thread με τη μεγαλύτερη προτεραιότητα περισσότερους διαδοχικούς κύκλους για αποκωδικοποίηση εντολών του

41 Επίδραση προτεραιότητας στην απόδοση κάθε thread όταν τα threads έχουν ίδιες προτεραιτότητες, εκτελούνται πιο αργά απ ό,τι αν κάθε thread είχε διαθέσιμα όλα τα resources του επεξεργαστή (single- thread mode)

42 Case-study 3: UltraSPARC T1 ( Niagara ) Συμπεριφορά επεξεργαστών βελτιστοποιημένων για TLP και ILP σε server workloads: server workloads:» υψηλός TLP (μεγάλος αριθμός παράλληλων client requests)» χαμηλός ILP (υψηλά miss rates, πολλά unpredictable branches, συχνές load-load εξαρτήσεις)» το memory access time κυριαρχεί στο συνολικό χρόνο εκτέλεσης ο ILP επεξεργαστής μειώνει μόνο το computation time το memory access time κυριαρχεί σε ακόμα μεγαλύτερο ποσοστό στον TLP επεξεργαστή, το memory access ενός thread επικαλύπτεται από computations από άλλα threads η απόδοση αυξάνεται για μια memory-bound multithreaded εφαρμογή

43 UltraSPARC T1 in-order, single-issue επικεντρώνεται πλήρως στην εκμετάλλευση του TLP 4-8 cores, 4 threads ανά core max 32 threads fine-grained multithreading L1D + L1I μοιραζόμενες από τα 4 threads L2 cache + FPU μοιραζόμενη από όλα τα threads ξ ό it t+ ξεχωριστό register set + instruction buffers + store buffers για κάθε thread

44 UltraSPARC T1 όπως το κλασικό 5-stage pipeline + thread select stage Fetch stage: o thread select mux επιλέγει ποιος από τους 4 PCs θα πρέπει να προσπελάσει την ICache και το ITLB Thread select stage: αποφασίζει σε κάθε κύκλο ποιος από τους 4 instruction buffers θα τροφοδοτήσει με εντολές τα επόμενα στάδια αν το thread-select στάδιο επιλέξει ένα νήμα από το οποίο θα στείλει εντολές, το fetch στάδιο θα επιλέξει το ίδιο thread για να προσπελάσει την ICache

45 UltraSPARC T1 πολιτική επιλογής thread: εναλλαγή μεταξύ διαθέσιμων threads σε κάθε κύκλο προτεραιότητα στο least recently used thread (round-robin) λόγοι μη διαθεσιμότητας (και μη επιλογής) ενός thread long-latency εντολές (π.χ. branches, mult/div) οδηγούν στη μη-επιλογή του αντίστοιχου thread για όσους κύκλους διαρκούν stalls λόγω cache misses stalls λόγω structural hazards για μια non-pipelined δομή που χρησιμοποιείται ήδη από κάποιο άλλο thread (π.χ. divider)

46 UltraSPARC T1 performance fine-grained multithreading μεταξύ 4 threads ιδανικό per-thread CPI = 4 ιδανικό per-core CPI = 1 effective CPI = per-core CPI / #cores effective throughput: μεταξύ 56% και 71% του ιδανικού

47 Προφίλ εκτέλεσης ενός μέσου thread

48 Λόγοι για τη μη διαθεσιμότητα ενός thread pipeline delay: long latency εντολές όπως branches pipeline delay: long-latency εντολές όπως branches, loads, fp, int mult/div

49 «Crash-test» multicore επεξεργαστών βασικές διαφορές: εκμετάλλευση ILP vs. TLP (Power5 Opteron, Pentium D T1) floating point performance (Power5 Opteron, Pentium D T1) memory bandwidth (T1 Power5 Opteron Pentium D)» επηρεάζει την απόδοση εφαρμογών με μεγάλο miss rate

50 «Crash-test» multicore επεξεργαστών

51 Πολυνηματικοί επεξεργαστές Στοχεύουν: throughput πολυπρογραμματιζόμενων φορτίων latency πολυνηματικών εφαρμογών Πρόκληση: latency μονο-νηματικών, μη (εύκολα) παραλληλοποιήσιμων εφαρμογών Πώς? Speculative execution: επιπλέον βοηθητικά threads που τρέχουν μπροστά και προ-υπολογίζουν μελλοντικές αναφορές στη μνήμη, branches, ή και αποτελέσματα πράξεων, και τα ενσωματώνουν στην εκτέλεση του κύριου thread αυτόματα σε hardware, ή «με το χέρι» σε software oι υπάρχουσες υλοποιήσεις πολυνηματικών επεξεργαστών επιτρέπουν μόνο memory precomputation (prefetching) σχήματα α σε software

52 Συμμετρικός vs. ασύμμετρος πολυνηματισμός Συμμετρικός πολυνηματισμός το αρχικό σειριακό πρόγραμμα διασπάται σε πολλαπλά threads» συνήθως εκτελούν τις ίδιες λειτουργίες πάνω σε διαφορετικά δεδομένα» ίδιος φόρτος, ίδιο προφίλ βελτίωση απόδοσης από την παράλληλη εκτέλεση πολλαπλών threads Ασύμμετρος πολυνηματισμός προσθήκη ενός ή περισσότερων νημάτων για να υποβοηθήσουν την εκτέλεση του αρχικού σειριακού προγράμματος βελτίωση απόδοσης μέσω prefetching και μείωση του memory latency

53 Παράδειγμα Main thread Main thread Helper thread Future miss ldq tmp,0(r4) Miss, Fetch data Miss avoided! ldq r1,0(r4) ldq r1,0(r4) Serial Execution Multithreaded Execution

54 Επίδοση thread-based prefetching σε ένα ΗT-enabled σύστημα

Πολυνηματικές Αρχιτεκτονικές

Πολυνηματικές Αρχιτεκτονικές Πολυνηματικές Αρχιτεκτονικές Όρια του ILP Θεωρούμε ένα ιδανικό επεξεργαστή Register Renaming : Άπειροι καταχωρητές Branch Prediction : Όλες οι διακλαδώσεις προβλέπονται σωστά Memory Analysis : Οι διευθύνσεις

Διαβάστε περισσότερα

Πολυνηματικές Αρχιτεκτονικές

Πολυνηματικές Αρχιτεκτονικές Πολυνηματικές Αρχιτεκτονικές 1 Ο Νόμος της απόδοσης των μικροεπεξεργαστών 1 Time Instructions Cycles Time = = x x Performance Program Program Instruction Cycle (instr. count) (CPI) (cycle time) Performance

Διαβάστε περισσότερα

Πολυνηματικές Αρχιτεκτονικές

Πολυνηματικές Αρχιτεκτονικές Πολυνηματικές Αρχιτεκτονικές 1 Ο Νόμος της απόδοσης των μικροεπεξεργαστών 1 Time Instructions Cycles Time = = x x Performance Program Program Instruction Cycle (instr. count) (CPI) (cycle time) Performance

Διαβάστε περισσότερα

Πολυνηματικές Αρχιτεκτονικές

Πολυνηματικές Αρχιτεκτονικές Πολυνηματικές Αρχιτεκτονικές 1 Ο Νόμος της απόδοσης των μικροεπεξεργαστών 1 Time Instructions Cycles Time = = x x Performance Program Program Instruction Cycle (instr. count) (CPI) (cycle time) Performance

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία

Διαβάστε περισσότερα

Παραλληλισμός σε επίπεδο εντολών

Παραλληλισμός σε επίπεδο εντολών Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Υπερβαθµωτή Οργάνωση Υπολογιστών

Υπερβαθµωτή Οργάνωση Υπολογιστών Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Τα όρια του Παραλληλισµού σε επίπεδο εντολών (Instruction Level Parallelism - ILP) Weiss and Smith [1984] Sohi

Διαβάστε περισσότερα

Thread Level Parallelism & Data Level Parallelism

Thread Level Parallelism & Data Level Parallelism Thread Level Parallelism & Data Level Parallelism 1 Ο Νόμος της απόδοσης των μικροεπεξεργαστών 1 Time Instructions Cycles Time = = x x Performance Program Program Instruction Cycle (instr. count) (CPI)

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής

ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής Αρης Ευθυμίου Ταχύτερη εκτέλεση Με τις τεχνικές που είδαμε στα προηγούμενα μαθήματα μπορούμε να εκτελέσουμε (με επικάλυψη) περίπου 1 εντολή

Διαβάστε περισσότερα

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται

Διαβάστε περισσότερα

(Branch Prediction Mechanisms)

(Branch Prediction Mechanisms) Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch

Διαβάστε περισσότερα

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών

Διαβάστε περισσότερα

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline) Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών

Διαβάστε περισσότερα

Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών

Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών Υ- 07 Παράλληλα Συστήματα Αρχιτεκτονική σύγχρονων πυρήνων επεξεργαστών Αρης Ευθυμίου Διαδικαστικά Ιστοσελίδα μαθήματος: h:p://www.cs.uoi.gr/~plmy07/ Διαφάνειες μαθημάτων, κτλ 2 Γρήγορη εκτέλεση σειριακού

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών

Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών Αρης Ευθυμίου Το σημερινό μάθημα Προσκόμιση (fetch) πολλαπλές εντολές ανά κύκλο Μετονομασία καταχωρητών

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 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.

Εντολές Διακλάδωσης. #bubbles ~= pipeline depth X loop length. Next fetch started. Fetch. I-cache. Fetch Buffer. Decode. Issue Buffer. Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Εντολές

Διαβάστε περισσότερα

Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών

Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από

Διαβάστε περισσότερα

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (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

Διαβάστε περισσότερα

Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)

Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling) Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling) Απόδοση pipeline Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + Control Stalls Ideal pipeline CPI: μέτρο της μέγιστης απόδοσης

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές Αρης Ευθυμίου Το σημερινό μάθημα Υπερβαθμωτοί επεξεργαστές (superscalar) Εκτέλεση σε σειρά Εκτέλεση εκτός σειράς Alpha 21164 Scoreboard Μετονομασία

Διαβάστε περισσότερα

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 13 Διακλαδώσεις Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Η μέχρι τώρα μικρο-αρχιτεκτονική (Eντολές Διακλάδωσης) Η μικρο-αρχιτεκτονική

Διαβάστε περισσότερα

Υποθετική Εκτέλεση Εντολών

Υποθετική Εκτέλεση Εντολών Υποθετική Εκτέλεση Εντολών ( Speculation (Hardware-Based Τεχνικές βελτίωσης του CPI register renaming δυναμική εκτέλεση Pipeline CPI = Ideal pipeline CPI + Structural Stalls + Data Hazard Stalls + υπερβαθμωτή

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση Αρης Ευθυμίου Απόδοση απλής υλοποίησης Υλοποίηση ενός κύκλου είναι πολύ αργή κάθε κύκλος είναι τόσο μεγάλος όσο χρειάζεται

Διαβάστε περισσότερα

Περιορισμοί των βαθμωτών αρχιτεκτονικών

Περιορισμοί των βαθμωτών αρχιτεκτονικών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Περιορισμοί

Διαβάστε περισσότερα

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

Διαβάστε περισσότερα

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Ενότητα 3 η : Παράλληλη Επεξεργασία Παράλληλες Αρχιτεκτονικές Παράλληλο σύστημα είναι ένα σύνολο από επεξεργαστικά στοιχεία (processing elements) τα οποία: συνεργάζονται για γρήγορη επίλυση

Διαβάστε περισσότερα

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4. Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή Time 6 PM 7 8 9 10 11 12 1 2 AM 1. Πλυντήριο 2. Στεγνωτήριο 3. ίπλωµα 4. αποθήκευση Task order A B C D Σειριακή προσέγγιση για 4 φορτία =8h 30 min κάθε «φάση»

Διαβάστε περισσότερα

Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms)

Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch

Διαβάστε περισσότερα

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 and its Dynamic Exploitation Μάθηµα 3ο Computer Architecture-A Quantitative Approach Instruction-Level Parallelism (ILP) Επικάλυψη εντολών στοχεύοντας στην παράλληλη εκτέλεσή

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας

Κεντρική Μονάδα Επεξεργασίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Οργάνωση επεξεργαστή Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Multi Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Πολυπύρηνοι επεξεργαστές Multicore processors

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

Διαβάστε περισσότερα

Τέτοιες λειτουργίες γίνονται διαμέσου του

Τέτοιες λειτουργίες γίνονται διαμέσου του Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου

Διαβάστε περισσότερα

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης! Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή απόδοση! Αντιβαίνει με αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»

Διαβάστε περισσότερα

Διάλεξη 12 Καθυστερήσεις (Stalls)

Διάλεξη 12 Καθυστερήσεις (Stalls) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 12 Καθυστερήσεις (Stalls) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Καθυστερήσεις και Εκκενώσεις Εντολών Οι κίνδυνοι δεδομένων (data

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Σύγχρονοι υπολογιστές Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Πληροφορικής και Τεχνολογίας Υπολογιστών

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Πληροφορικής και Τεχνολογίας Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Πληροφορικής και Τεχνολογίας Υπολογιστών Τεχνικές για την Βελτιστοποίηση και Αποδοτική Απεικόνιση Παράλληλων Κωδίκων

Διαβάστε περισσότερα

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής ΗΥ425 Αρχιτεκτονική Υπολογιστών Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής WB Data Imm Επεξεργαστής DLX Instruction Fetch Instr. Decode Reg. Fetch Execute Addr. Calc Memory Access Write Back

Διαβάστε περισσότερα

Πολσνηματικές Αρτιτεκτονικές

Πολσνηματικές Αρτιτεκτονικές Πολσνηματικές Αρτιτεκτονικές Ο Νόκνο ηεο απόδνζεο ησλ κηθξνεπεμεξγαζηώλ 1 Time Instructions Cycles Time = = x x Performance Program Program Instruction Cycle (instr. count) (CPI) (cycle time) Performance

Διαβάστε περισσότερα

Πολυνηματικές Αρχιτεκτονικές. «Μη-Παραδοσιακός» Παραλληλισμός

Πολυνηματικές Αρχιτεκτονικές. «Μη-Παραδοσιακός» Παραλληλισμός Πολυνηματικές Αρχιτεκτονικές & «Μη-Παραδοσιακός» Παραλληλισμός Πολυνηματικοί επεξεργαστές Στοχεύουν: throughput πολυπρογραμματιζόμενων φορτίων latency πολυνηματικών εφαρμογών Πρόκληση: latency μονο-νηματικών,

Διαβάστε περισσότερα

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Η υπολογιστική

Διαβάστε περισσότερα

Θέµατα Φεβρουαρίου

Θέµατα Φεβρουαρίου Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)

Διαβάστε περισσότερα

Εισαγωγή. Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων

Εισαγωγή. Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων Εισαγωγή Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων 1 Παράγοντες που επηρεάζουν την επίδοση της CPU CPU time = Seconds = Instructions Cycles Seconds --------------

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων Εισαγωγή στην Αρχιτεκτονική Υπολογιστών Γλώσσα Μηχανής Εκτέλεση προγράμματος Αριθμητικές και λογικές εντολές Παράδειγμα: μια απλή Γλώσσα Μηχανής Επικοινωνία με άλλες συσκευές

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές, 2ο μέρος

Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές, 2ο μέρος Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές, 2ο μέρος Αρης Ευθυμίου Το σημερινό μάθημα! Cache coherence directory protocols! Memory consistency! MulG- threading 2 Cache coherence & scalability! Τα

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις Αρης Ευθυμίου Κόστος διακλαδώσεων Οι διακλαδώσεις έχουν σχετικά μεγάλο κόστος χρόνου Τουλάχιστον ένας κύκλος

Διαβάστε περισσότερα

Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών

Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών 1 Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC 1) Υποχρεωτική ροή όλων των (διαφορετικών) τύπων εντολών μέσα από

Διαβάστε περισσότερα

Πολυνηματικές Αρχιτεκτονικές & «Μη-Παραδοσιακός» Παραλληλισμός

Πολυνηματικές Αρχιτεκτονικές & «Μη-Παραδοσιακός» Παραλληλισμός Πολυνηματικές Αρχιτεκτονικές & «Μη-Παραδοσιακός» Παραλληλισμός Πολυνηματικοί επεξεργαστές Στοχεύουν: throughput πολυπρογραμματιζόμενων φορτίων latency πολυνηματικών εφαρμογών Πολυνηματικοί επεξεργαστές

Διαβάστε περισσότερα

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

Διαβάστε περισσότερα

CS425 Computer Systems Architecture

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

Διαβάστε περισσότερα

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση» Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. Δίπλωμα 4. αποθήκευση Σειριακή προσέγγιση για 4 φορτία = 8h 30 min κάθε «φάση» Pipelined προσέγγιση για 4 φορτία = 3.5h Το

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση Αρης Ευθυμίου Το σημερινό μάθημα Υπόβαθρο: Διοχέτευση (Pipelining) Βασική οργάνωση Δομικοί κίνδυνοι Κίνδυνοι δεδομένων (hazards): RAW, WAR, WAW Stall

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης

Υ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης Υ- 01 Αρχιτεκτονική Υπολογιστών Πρόβλεψη διακλάδωσης Αρης Ευθυμίου Το σημερινό μάθημα Πρόβλεψη διακλάδωσης (branch predicfon) ποιο είναι το πρόβλημα και τι προκαλεί πρόβλεψη κατεύθυνσης πρόβλεψη στόχου

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράμματος 2.4 Αριθμητικές και λογικές εντολές 2.5 Επικοινωνία με άλλες συσκευές 2.6 Άλλες αρχιτεκτονικές

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 Πολυπύρηνοι επεξεργαστές, μέρος 2 Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Cache coherence & scalability! Τα πρωτόκολλα

Διαβάστε περισσότερα

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω

Διαβάστε περισσότερα

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 3: Διασωλήνωση, Clusters, Στοιχεία Παράλληλου Προγραμματισμού Δρ. Μηνάς Δασυγένης mdasyg@ieee.org

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη

Διαβάστε περισσότερα

Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) Κεφάλαιο 4 - Σύστημα ιασωλήνωσης

Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) Κεφάλαιο 4 - Σύστημα ιασωλήνωσης Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) 1 ιασωλήνωση 2 Pipelining Παραλληλισμός + Pipelining 3 Χρόνος Εκτέλεσης = I x CPI x Cycle Time Με ή χωρις pipeline το Ι είναι το ίδιο όπως και τo CPI = 1. Το

Διαβάστε περισσότερα

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: Διασωλήνωση Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

Διαβάστε περισσότερα

Τελική Εξέταση, Απαντήσεις/Λύσεις

Τελική Εξέταση, Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για

Διαβάστε περισσότερα

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 3: Διασωλήνωση, Clusters, Στοιχεία Παράλληλου Προγραμματισμού Δρ. Μηνάς Δασυγένης mdasyg@ieee.org

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Ιάκωβος Μαυροειδής

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Static Scheduling. Ιάκωβος Μαυροειδής ΗΥ425 Αρχιτεκτονική Υπολογιστών Static Scheduling Ιάκωβος Μαυροειδής Τεχνικές ελάττωσης stalls. CPI = Ideal CPI + Structural stalls + RAW stalls + WAR stalls + WAW stalls + Control stalls Θα μελετήσουμε

Διαβάστε περισσότερα

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining)

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining) ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining) 1 ιασωλήνωση 2 Διασωλήνωση και Παραλληλισμός (Parallelism) Διασωλήνωση (Pipelining):

Διαβάστε περισσότερα

Υπερβαθµωτή Οργάνωση Υπολογιστών

Υπερβαθµωτή Οργάνωση Υπολογιστών Υπερβαθµωτή Οργάνωση Υπολογιστών Από τις βαθµωτές στις υπερβαθµωτές αρχιτεκτονικές αγωγού Ανάγνωση εντολής (Instruction Fetch) Σε µία αρχιτεκτονική πλάτους s, πρέπει διαβάζονται s εντολές σε κάθε κύκλο

Διαβάστε περισσότερα

http://www.cslab.ece.ntua.gr/diplom/

http://www.cslab.ece.ntua.gr/diplom/ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr/ ιπλωµατική

Διαβάστε περισσότερα

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Προχωρηµένα Θέµατα Αρχιτεκτονικής Προχωρηµένα Θέµατα Αρχιτεκτονικής Μάθηµα 2 ο : Instruction Set Principles and Examples Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 1 Σχεδιασµός Συνόλου Εντολών Θέµατα που θα συζητηθούν ιαφορετικές επιλογές

Διαβάστε περισσότερα

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 1 η : Βασικές Αρχές Αρχιτεκτονικής Η/Υ Σύγχρονοι Μικροεπεξεργαστές Intel 6-core i7 (Gulftown) 2010, >1 billion transistors Απόδοση Μικροεπεξεργαστών V Μετρήσεις με μετροπρογράμματα

Διαβάστε περισσότερα

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Προχωρηµένα Θέµατα Αρχιτεκτονικής Προχωρηµένα Θέµατα Αρχιτεκτονικής Memory Hierarchy Design. Λιούπης Ιεραρχία Μνήµης Τα προγράµµατα απαιτούν όλο και περισσότερη και πιο γρήγορη µνήµη Γρήγορη και µεγάλη µνήµη -> ακριβή Αυτό οδηγεί σε ιεραρχία

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

Διαβάστε περισσότερα