ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές --

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

Download "ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές --"

Transcript

1 ΗΜΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές -- Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτης Καθηγητής, ΗΜΜΥ [Προσαρμογή από Computer Architecture, Computer Organization and Design, Patterson & Hennessy, 2005 και Superscalar Microprocessor Design, Johnson, 1992 ]

2 Review: Baseline Superscalar MIPS Processor Model Fetch Decode & Dispatch Issue & Execute Writeback Commit P C BHT BTB I$ N I RUU_Head N L I I L FP I Integer RegFile RegFile 3 4 Load/Store Queue 1 2 FPALU IALU LSQ D$ RUU_Tail RUU 5 IALU 6 IMULT Register Update Unit (managed as a queue) Result Bus ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.2

3 Ροή Εντολών (Instruction Flow Overview) q Fetch (in program order): Παράλληλη μεταφορά πολλαπλών εντολών απο το I$ q Decode & Dispatch (in program order): Παράλληλη αποκωδικοποίηση των νέων εντολών και scheduling των εντολών για εκτέλεση à dispatch στο RUU Loads/Stores dispatched ως 2 μικρο-εντολές (microinstructions) η πρώτη υπολογίζει την διεύθυνση και η επόμενη εκτελεί την πράξη q Issue & Execute (out of program order): Μόλις το RUU πάρει τα δεδομένα της εντολής (source operands) και το FU είναι διαθέσιμο, οι εντολές εκδίδονται στο FU για εκτέλεση q Writeback (out of program order): Τελειώνοντας το FU βάζει το αποτέλεσμα στο Result Bus επιτρέποντας στο RUU και στο LSQ να ενημερωθούν (updated) η εντολή ολοκληρώνεται. q Commit (in program order): Ανανέωση της κατάστασης του επεξεργαστή (processor state) -- κάνουμε commit το αποτέλεσμα της εντολής στα D$ και RegFiles. ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.3

4 Τι αλλάζει σε επιμέρους αρχιτεκτονικά στοιχεία; q Αρχείο(α) καταχωρητών εποπρόσθετα πεδία q Register Update Unit RUU q Οργάνωση του pipeline q Load/Store microperations q Υλοποίηση παράλληλης αποκωδικοποίησης q Brach prediction speculation and support q ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.4

5 Οι καταχωρητές Επιπρόσθετα πεδία qο κάθε καταχωρητής (RegFile) έχει δύο συζευγμένα (associated) n-bit counters (συνήθως n=3) NI (Number of Instances) the number of instances of a register as a destination register in the RUU LI (Latest Instance) the number of the latest instance qόταν μια εντολή με destination register address R i εκδίδεται για εκτέλεση στο RUU, το NI i και το LI i αυξάνονται κατά 1 Dispatch is blocked if a destination register s NI is 2 n -1, so only up to 2 n 1 instances of a register can be present in the RUU at any one time qόταν μια εντολή γράφεται (committed -- updates the R i value) το NI i μειώνεται κατά 1 When NI i = 0 the register is free (there is no instruction in the RUU that is going to write to that register) and LI i is cleared ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.5

6 Register Update Unit (RUU) q Μια δομή δεδομένων (λίστα) υλοποιημένη σε hardware: - περιέχει όλες τις ενεργές εντολές - κρατά σημαντικές πληροφορίες για τα δεδομένα μιας εντολής - βοηθά στην επίλυση των data dependencies - κρατά σημαντικές πληροφορίες για την κατάσταση μιας εντολής - επιτρέπει το γράψιμο (commit) των συμπληρωμένων εντολών με τη σωστή σειρά qan entry in the RUU speculative src operand 1 src operand 2 destination issued functional unit executed PC Yes/No Spec Instr Addr ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.6 Ready Tag Content Ready Tag Content Tag Tag = RegFile addr LI Content Yes/No Unit Number Yes/No Address

7 Οργάνωση του RUU σε Queue q Αν χειριστούμε το RUU σαν queue, και γράφουμε τις συμπληρωμένες εντολές από το RUU Head, οι εντολές γράφονται (committed - aka retired) με την σειρά στην οποία εκδόθηκαν από το Decode & Dispatch logic (in program order) Stores to state locations (RegFile and D$) are buffered (in the RUU and LSQ) until commit time Supports precise interrupts (the only state locations updated are those written by instructions before the interrupting instruction) q Το counter (LI) αφήνει πολλαπλές υπάρξεις ενός συγκεκριμένου destination register στο RUU την ίδια ώρα, μέσω register renaming Solves write before write hazards if results from the RUU are returned to the RegFile in program order ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.7

8 Βασικές εργασίες του RUU qκάθε εργασία γίνεται παράλληλα με τις άλλες κάθε κύκλο 1. Δέχεται καινούριες εντολές από το Decode & Dispatch logic 2. Επιβλέπει το Result Bus για επίλυση των true dependencies και για write back των αποτελεσμάτων (result data) στο RUU 3. Αποφασίζει ποιες εντολές είναι έτοιμες για εκτέλεση, κρατάει (reserves) το Result Bus, και εκδίδει την εντολή στο αντίστοιχο εκτελεστικό σύστημα 4. Αποφασίζει αν μια εντολή είναι έτοιμη για εγγραφή (commit --i.e., change the machine state) και εγγράφει την εντολή αναλόγως. ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.8

9 SS Pipeline Οργάνωση του Pipeline FETCH DECODE & DISPATCH ISSUE & EXECUTE WRITE BACK RESULT COMMIT Fetch multiple instructions Decode instructions Detect Dependences in operands and destination registers Issue Instruction IFF functional unit available, if source operands available and if resulting operand output register has been reserved. copy Result Bus data to matching buffer locations (src1, src2) and forward data in case of an instruction waiting on result write dst Contents to RegFile if no conflicts In Order In Order Out of Order In Order ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.9

10 Σημ: Content Addressable Memories (CAMs) qmemories that are addressed by their content. Typical applications include RUU source tag field comparison logic, cache tags, and translation lookaside buffers Memory hardware that compares the Search Data to the Match Field entries for each word in the CAM in parallel! On a match the Data Field for that entry is output to Match Data on read or Match Data is written into the Data Field on write and the Hit bit is set. If no match occurs, the Hit bit is reset. CAMs can be designed to accommodate multiple hits. Search Data Match Field Hit Data Field Match Data ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.10

11 MicroOperations of Load and Store qας θυμηθούμε ότι τα loads και τα stores αποστέλλονται στο RUU σαν δυο μικροεντολές (microinstructions) μια υπολογίζει την ενεργή διεύθυνση (effective address) και μια υπολογίζει την προσπέλαση της μνήμης (memory operation) Load lw R1,2(R2) becomes addi R0,R2,2 lw R1,R0 Store sw R1,6(R2) becomes addi R0,R2,6 sw R1,R0 qτην ίδια στιγμή μία θέση στο LSQ παρακρατείται Κάθε entry στο LSQ αποτελείται από το Tag field (RegFile addr LI) και το Content field. Το LI counter επιτρέπει πολλαπλές υπάρξεις store (write) στο ίδιο memory address Όταν ένα load ολοκληρωθεί (the D$ returns the data on the Result Bus) ή ένα store κάνει commit (in program order) το αντίστοιχο entry στο LSQ ελευθερώνεται. Instruction dispatch γίνεται blocked αν δεν υπάρχει 1 ελεύθερo entry στο LSQ και δυο 2 στο RUU. ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.11

12 Load & Store RUU & LSQ Operation Load addi R0,R2,2 lw R1,R0 Store addi R0,R2,6 sw R1,R0 NI LI LSQ_Head LSQ_Tail # LI D$ 2 9 # LI # LI # LI RUU_Tail RUU_Head y y RUU LSQ Result Bus ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.12

13 ΣΗΜΕΙΩΣΗ Tomasulo s algorithm qη εφαρμογή του RUU (reservation station) είναι μια παραλλαγή του αλγόριθμου του Tomasulo, που αναγράφεται στο βιβλίο σας (Section 3.2)! ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.13

14 Σειρά Μεταφοράς Εντολών (Fetching) qροή Εντολών αριθμός εντολών (run length) που μεταφέρονται μεταξύ διακλαδώσεων που έχουν παρθεί. (taken branches) Instruction fetcher operates most efficiently when processing long runs unfortunately runs are usually quite short qη μέση ροή εντολών είναι γύρω στις έξι εντολές. Time (cycles) 4-way Instr Fetcher S4 S1 S2 S3 S5 Branch delay qτο εύρος των εντολών είναι μόνο εντολές ανά κύκλο. 9 instructions in 8 cycles T4 T1 T2 T3 ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.14

15 Αναποτελεσματικότητα στην Μεταφορά qτο σύστημα μεταφοράς, δεν μπορεί να προσφέρει στον αποκωδικοποιητή εντολών μεγάλο εύρος εντολών για πλήρη αξιοποίηση του ILP, γιατί Ο αποκωδικοποιητής περιμένει το αποτέλεσμα της διακλάδωσης - Μπορεί (συνήθως) να βελτιστοποιηθεί με δυναμική πρόβλεψη διακλάδωσης (dynamic branch prediction) Η μεταφορά εντολών από διαφορετικές θέσεις στην μνήμη περιορίζει τον αποκωδικοποιητή από το να δουλεύει με πλήρη χωρητικότητα, ακόμη και αν ο αποκωδικοποιητής επεξεργάζεται βάσιμες εντολές - The fetcher can align fetched instructions to avoid wasted decoder slots - If supported by dynamic branch prediction, the fetcher can also merge instructions from different runs Η εναρμόνιση των εντολών με την ροή του προγράμματος μπορεί να γίνει μόνο αν το σύστημα μεταφοράς έχει αρκετό εύρος (i.e., the fetch rate is faster than the decode rate) ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.15

16 Speedups of Fetch Alternatives 4 From Johnson, 1992 Low 3 HM High Speedup 2 1 Base: no prediction and no alignment 0 Pred: dynamic branch prediction 2- base 4- base 2- pred 4- pred 2-max 4-max qa 4-way instr fetcher out performs a 2-way instr fetcher Διπλάσιο πιθανό εύρος μεταφοράς εντολών Διπλάσιο υλικό αποκωδικοποιητή για να διατηρεί την ταχύτητα (e.g., in decoders and in ports and buses) ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.16

17 4-Way Decoder Implementation (Decoding) qένα 4-way σύστημα μεταφοράς εντολών, έρχεται με μεγάλο εύρος. Ποιο είναι το κόστος όμως; 12 dependency checks between the 4 decode instruction op rs rt rd op rs rt rd op rs rt rd op rs rt rd ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.17

18 Reducing 4-Way Decoder Hardware qμπορούμε να περιορίσουμε τον αριθμό των RegFile ports αφού Not all decoded instructions access two registers Not all decoded instruction are valid (because of misalignment) Some decoded instructions have dependences on one or more simultaneously decoded instructions From Johnson, 1992 qη ζήτηση καταχωρητών εξυπακούει ότι σχεδίαση με 8 πόρτες θα είναι σπατάλη. qσχεδίαση με 4 πόρτες μειώνει την απόδοση κατά < 2% ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.18 Fraction of total decoded parcels ccom troff # of Ports Used

19 SS Branch Prediction qυπενθύμιση από το Computer Organization ότι για branch prediction σε scalar pipeline χρειαζόμαστε Μηχανισμό πρόβλεψης του branch outcome: το BHT (branch history table) στο στάδιο fetch Μέθοδο για fetch δυο εντολών την εντολή που ακολουθεί το branch (I$) και το branch target instruction (BTB (branch target buffer)) Μηχανισμό ελέγχου για τις εντολές που ακολουθούσαν το branch για μη αλλαγή του machine state μέχρι ακριβή υπολογισμό του branch - Τις αφήνουμε να ολοκληρωθούν (in order commit) στη σωστή πρόβλεψη - Flushed και επανεκκίνηση του pipeline σε περίπτωση λάθους qμε ένα SS machine, είναι δυνατό να έχουμε πολλές τέτοιες εντολές με predicted branches active (ενεργά) στο pipeline Flag instructions following branches as speculative until the branch outcome is known ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.19

20 Implementing Branches qa SS processor could have more than one branch per fetch set and could have several uncompleted branches pending I$ at any time Fetch (BHT/BTB) Branch (check predict) Decode (Predict) Dispatch qmust access BHT/BTB for all branch instr s in the fetch set during fetch to reduced branch delay (i.e., need a 4 read-port BHT/BTB for 4-instr fetcher) Pass BHT information to decode stage After decode, choose between I$ set and BTB sets to determine the next fetch set ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.20

21 Decoding & Dispatching Branches qwhile multiple branches could be dispatched per cycle, it incurs only a slight performance decrease (about 2%) from imposing a decoder limit of one branch per fetch set since typically only one branch per cycle can be executed (usually only have one branch FU) qhaving minimum branch delay is more important that decoding multiple branches per cycle Speedup From Johnson, 1992 Low HM High 0 4-sinpred 4-mulpred ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.21

22 Speculative Instructions qspeculation The processor (or compiler) guesses the outcome of an instruction (e.g., branches, loads) so as to enable execution of other instructions that depend on the speculated instruction One of the most important methods for finding more ILP in SS and VLIW processors qproducing correct results requires result checking, recovery and restart hardware mechanisms Checking mechanisms to see if the prediction was correct Recovery mechanisms to cancel the effects of instructions that were issued under false assumptions (e.g., branch misprediction) Restart mechanisms to reestablish the correct instruction sequence - For branches the correct program counter restart value is known when the branch outcome is determined ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.22

23 Speculation Support qfor dependent speculative instr s, a speculative flag is set to Yes until the outcome of the driving instr (i.e., the branch) is determined. speculative src operand 1 src operand 2 destination issued functional unit executed PC Yes/No Spec Instr Addr Ready Tag Content Ready Tag Content Tag Content Yes/No Unit Number Yes/No Address ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.23

24 Branch Execution qif the branch was not mispredicted, then the branch and its trailing instructions can commit when at RUU_Head qif the branch was mispredicted, then all subsequent instr s must be discarded (even though subsequent branches may have been correctly predicted) qwhen there is an exception, all of the RUU entries are discarded in a single cycle and instruction stream fetching restarts on the next cycle. Thus, the RUU provides an easy way to discard instructions coming after a mispredicted branch. ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.24

25 Remember: Single Result Bus Fetch Decode & Dispatch Issue & Execute Writeback Commit P C BHT BTB I$ N I RUU_Head N L I I L FP I Integer RegFile RegFile 3 4 Load/Store Queue 1 2 FPALU IALU LSQ D$ RUU_Tail RUU 5 IALU 6 IMULT Register Update Unit (managed as a queue) Result Bus ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.25

26 Result Buses Utilization qour SS model has only one Result Bus to carry results generated by the FU s to the RUU and LSQ Even at the high levels of performance, the utilization of the Result Bus is only about 70% (i.e., the fraction of capacity actually used) q If a FU request for the Result Bus is not granted, instruction issue to that FU is stalled until the bus request can be granted (i.e., the FU remains busy ) Avg # of results waiting for the Result Bus 1 0 From Johnson, 1992 ccom troff # of Result Buses ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.26

27 Arbitrating For Result Buses q Reducing the impact of bus contention by adding a second Result Bus improves performance (by almost 19%) q But adding a third Results Bus yields only a very small improvement in performance (less than 3%) qand since there are usually fewer Result Buses than FUs, the FUs must continue to arbitrate for use of the existing Result Buses Speedup The arbiter not only decides which FU is granted use of the Result Buses, but also which of the two buses is to be used - Prioritizing old requests over new helps prevent starvation From Johnson, # of Result Buses Low HM High ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.27

28 Result Forwarding qresult forwarding supplies operands directly to the waiting instr s in the RUU to resolve true dependencies that could not be resolved during decode The cost of forwarding is the comparison logic in the RUU to compare the Result Bus Tag to the source operand Tags Need a set of comparators for each Result Bus qabout 2/3 rd of all results are forwarded to one waiting operand, and about 1/6 th are forwarded to more than one ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.28 Fraction of Results From Johnson, 1992 ccom troff # of RUU Entries Receiving Result as Input Operand

29 Performance Advantages qhardware complexity arises from four major hardware features Out-of-order issue Register renaming Branch prediction 4-way instruction fetch and decode OOI Register Renaming Branch Prediction From Johnson, way Fetch & Decode 52% 36% 30% 18% Relative increase in performance by adding one feature on top of others ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.29

30 ILP in a Perfect OOI-OOC Processor qthe perfect processor has An infinite number of rename registers that eliminates all storage hazards (i.e., write-before-write and write-before-read) No (fetch, decode, dispatch, issue, FU, buses, ports) limit on the number of instr s that can begin execution simultaneously as long as read-before-write true data hazards are not present Perfect branch and jump (including jump register) prediction Loads can be moved before stores (as long as the addresses are not identical) with memory address analysis All FU s have a 1 cycle latency Perfect caches with 1 cycle latency IPC gcc 55 espresso From H&P, li 18 fpppp 75 doduc 119 tomcatv 150 ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.30

31 Effect of Instruction Window Size on ILP qinstruction window the set of instructions that are examined simultaneously for execution IPC From H&P, 2003 gcc espresso li fpppp doduc tomcatv 40 0 Infinite 2K ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.31

32 Effect of Realistic Branch Prediction on ILP qon a processor with an instruction window size of 2K and maximum 64-way issue capability IPC From H&P, 2003 gcc espresso li fpppp doduc tomcatv ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.32 0 Perfect Tournament Standard 2-bit Static None

33 Effect of Finite Rename Registers qon a processor with an instruction window size of 2K, maximum 64-way issue capability, and a tournament branch predictor with 8K entries IPC From H&P, 2003 gcc espresso li fpppp doduc tomcatv 0 Infinite None ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.33

34 A SS Example qintel Pentium 4 (IA-32 ISA) Decodes the IA-32 instructions into microoperations Does register renaming with a RUU-like structure Has a 20 stage pipeline T$ access (Bpredict) µop queue RUU allocation FU queues Instr dispatch RegFile access Execution RUU queue Commit # cycles FUs: 2 integer ALUs, 1 FP ALU, 1FP move, load, store, complex Up to 126 instructions in flight, including 48 loads and 24 stores 4K entry branch predictor ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.34

35 ΚΑΤ ΟΙΚΟΝ ΜΕΛΕΤΗ q Για την 3 η ενότητα του μαθήματος (ILP): Κεφάλαιο 6 Patterson&Hennessy, 3 η έκδοση (από το βιβλίο του ΗΜΥ212) επανάληψη pipelining και 6.9 για advanced pipelining, speculation, static/dynamic multiple-issue Κεφάλαια 2-3 του βιβλίου σας Παραρτήματα A(pipelining) και G (VLIW) του βιβλίου σας q Για εξάσκηση σε ILP: ασκήσεις στο τέλος του κεφαλαίου 2 του βιβλίου σας (σελ ) q Αφήστε έξω τον αλγόριθμο του Tomasulo (για όσους ενδιαφέρονται για τη συνέχεια υπάρχει το ΗΜΥ409!) ΗΜΥ312 Δ17 SuperScalar Επεξεργαστές Dynamic ILP.35

ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές --

ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές -- ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Χειµερινό Εξάµηνο ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές -- Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy)

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

ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές --

ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές -- ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 17: Δυναμικός Παραλληλισμός Εντολών -- Superscalar Επεξεργαστές -- Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή

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

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

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

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

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

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

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

Instruction-Level Parallelism and its Dynamic Exploitation. Μάθηµα 3ο Computer Architecture-A Quantitative Approach

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

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

ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ

ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρμογή από Computer Architecture:

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

ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ

ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Αναπληρώτρια Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από Computer

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

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

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

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

και η µονάδα ελέγχου (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

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

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

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

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

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

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

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 6ο μάθημα: χρονοπρογραμματισμός, αλγόριθμος Tomasulo, εικασία Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου InstrucDon- Level

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

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

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

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

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

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

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

ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ

ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 16: ΠΑΡΑΛΛΗΛΙΣΜΟΣ ΣΤΗΝ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτής Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή από Computer

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

(Branch Prediction Mechanisms)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

Instruction Execution Times

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

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

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

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

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

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

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

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

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

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

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/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εντολές Διακλάδωσης. #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. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Εντολές

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

Απλός επεξεργαστής (Επανάληψη)

Απλός επεξεργαστής (Επανάληψη) Απλός επεξεργαστής (Επανάληψη) Διάδρομος δεδομένων και μονάδα ελέγχου 4 ο κεφάλαιο Ο επεξεργαστής : Διάδρομος Δεδομένων και Έλεγχος Σε αυτό το κεφάλαιο θα μελετήσουμε την υλοποίηση του διαδρόμου δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Υλοποίηση Mικροεπεξεργαστή MIPS -16

Υλοποίηση Mικροεπεξεργαστή MIPS -16 Υλοποίηση Mικροεπεξεργαστή MIPS -16 Διάδρομος Δεδομένων και Μονάδα Ελέγχου 1 Περίληψη Μνήμη RAM Εκτέλεση εντολών με πολλαπλούς κύκλους Σχεδιασμός Διαδρόμου Δεδομένων (Data Path) Καταχωρητής Εντολών (Instruction

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

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

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

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

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

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

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

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

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

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

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

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

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

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το

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

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

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

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

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

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

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

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

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

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

Εικονική Μνήμη (virtual memory)

Εικονική Μνήμη (virtual memory) Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται

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

CMOS Technology for Computer Architects

CMOS Technology for Computer Architects CMOS Technology for Computer Architects Iakovos Mavroidis Giorgos Passas Manolis Katevenis Lecture 13: On chip SRAM Technology FORTH ICS / EURECCA & UoC GREECE ABC A A E F A BCDAECF A AB C DE ABCDAECF

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

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 4 Ο επεξεργαστής ιαφάνειες διδασκαλίας του πρωτότυπου βιβλίου µεταφρασµένες στα ελληνικά και εµπλουτισµένες (µετάφραση,

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

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

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

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 9: Transactions - part 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on Undo, Redo and Undo/Redo

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

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

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

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

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

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

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

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

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Branch Prediction. Ιάκωβος Μαυροειδής ΗΥ425 Αρχιτεκτονική Υπολογιστών Branch Prediction Ιάκωβος Μαυροειδής Branch Prediction Πρόβλεψη είναι πλέον απαραίτητη για να έχουμε καλή απόδοση. Γιατί; MULT F0,F1,F2 DIVD F4,F0,F3 BNEZ F4,Loop Σημαντική

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

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

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

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

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

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2. ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2. Pipelining (Αν υπάρχει χρόνος) Θα ξαναπάμε πίσω στο Κεφ.3αργότερα. ΕΠΛ 221--

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

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 4ο μάθημα: Διοχέτευση (Pipelining), μέρος 2 ο κίνδυνοι ελέγχου, υλοποίηση, διακοπές, εργασίες πολλών κύκλων Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες

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

ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές

ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές Διδάσκουσα: ΜΑΡΙΑ Κ. ΜΙΧΑΗΛ Επίκουρη Καθηγήτρια, ΗΜΜΥ (mmichael@ucy.ac.cy) [Προσαρµογή από

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

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

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

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

Pipelined Datapath, Hazards and Forwarding

Pipelined Datapath, Hazards and Forwarding Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Pipelined Datapath, Hazards and Forwarding Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Branch Prediction. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Branch Prediction. Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής ΗΥ425 Αρχιτεκτονική Υπολογιστών Branch Prediction Βασίλης Παπαευσταθίου Ιάκωβος Μαυροειδής Branch Prediction Πρόβλεψη είναι πλέον απαραίτητη για να έχουµε καλή απόδοση. Γιατί; MULT F0,F1,F2 DIVD F4,F0,F3

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

Block Ciphers Modes. Ramki Thurimella

Block Ciphers Modes. Ramki Thurimella Block Ciphers Modes Ramki Thurimella Only Encryption I.e. messages could be modified Should not assume that nonsensical messages do no harm Always must be combined with authentication 2 Padding Must be

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

CS425 Computer Systems Architecture

CS425 Computer Systems Architecture CS425 Computer Systems Architecture Fall 2017 Branch Prediction CS425 - Vassilis Papaefstathiou 1 Branch Prediction Πρόβλεψη είναι πλέον απαραίτητη για να έχουμε καλή απόδοση. Γιατί; MULT F0,F1,F2 DIVD

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

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

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

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

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

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

derivation of the Laplacian from rectangular to spherical coordinates

derivation of the Laplacian from rectangular to spherical coordinates derivation of the Laplacian from rectangular to spherical coordinates swapnizzle 03-03- :5:43 We begin by recognizing the familiar conversion from rectangular to spherical coordinates (note that φ is used

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

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

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 κάθε «φάση»

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

Section 8.3 Trigonometric Equations

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.

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

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

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

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

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

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

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

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης.

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Εικονική Μνήμη Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

ΗΜΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΗΜΥ 312 -- ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΛΕΞΗ 18: Στατικός Παραλληλισμός Εντολών VLIW Επεξεργαστές Διδάσκων: Χάρης Θεοχαρίδης Αναπληρωτής Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή

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

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

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

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011 Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι

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

Approximation of distance between locations on earth given by latitude and longitude

Approximation of distance between locations on earth given by latitude and longitude Approximation of distance between locations on earth given by latitude and longitude Jan Behrens 2012-12-31 In this paper we shall provide a method to approximate distances between two points on earth

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις

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

The Simply Typed Lambda Calculus

The Simply Typed Lambda Calculus Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and

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

Application Operating System. Datapath & Control/Memory. Digital Design Circuit Design. Layout

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

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

Προσομοίωση BP με το Bizagi Modeler

Προσομοίωση BP με το Bizagi Modeler Προσομοίωση BP με το Bizagi Modeler Α. Τσαλγατίδου - Γ.-Δ. Κάπος Πρόγραμμα Μεταπτυχιακών Σπουδών Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών 2017-2018 BPMN Simulation with Bizagi Modeler: 4 Levels

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

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

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) =

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

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

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

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

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 2

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 2 ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Εργαστήριο Αρ. 2 Εισαγωγή στην Αρχιτεκτονική ARMv8-A Arithmetic and Logic Instr..data, Branch and Loops, PhD Σελ. 1 Memory Allocation LEGv8 0000

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

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

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

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

Advanced Subsidiary Unit 1: Understanding and Written Response

Advanced Subsidiary Unit 1: Understanding and Written Response Write your name here Surname Other names Edexcel GE entre Number andidate Number Greek dvanced Subsidiary Unit 1: Understanding and Written Response Thursday 16 May 2013 Morning Time: 2 hours 45 minutes

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

Διάλεξη 11 Προώθηση (Forwarding)

Διάλεξη 11 Προώθηση (Forwarding) ΗΥ 3 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Προώθηση (Forwarding) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων (HY3) Η μέχρι τώρα μικρο-αρχιτεκτονική του MIPS ID/EX PCSrc Control WB

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

The challenges of non-stable predicates

The challenges of non-stable predicates The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program. The challenges of non-stable predicates

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

Finite Field Problems: Solutions

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

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

Capacitors - Capacitance, Charge and Potential Difference

Capacitors - Capacitance, Charge and Potential Difference Capacitors - Capacitance, Charge and Potential Difference Capacitors store electric charge. This ability to store electric charge is known as capacitance. A simple capacitor consists of 2 parallel metal

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

CS-425 Mid-term exam

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

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

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

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

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

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

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

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