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

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

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

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

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

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

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

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

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

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

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

Διοχέτευση (Pipeline)

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

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

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

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

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

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

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

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις

Σχεδίαση μονάδας ελέγχου επεξεργαστή

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

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

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου

Χρονισμός και Απόδοση Υπολογιστικών Συστημάτων

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

Εντολές του MIPS (2)

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

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

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

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

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)

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

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

Pipelined Datapath, Hazards and Forwarding

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

Απόδοση Υπολογιστικών Συστημάτων

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Κεφάλαιο 5. Ο Μικροεπεξεργαστής: Διάδρομος Δεδομένων και Μονάδα Ελέγχου. (The Processor: Datapath and Control)

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

Κεφάλαιο 4. Ο επεξεργαστής

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

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

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 4 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Δείγμα Τελικής Εξέτασης στο ΗΜΥ213. Διδάσκοντας: Γιώργος Ζάγγουλος

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1

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

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης

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

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

LANGUAGE OF THE MACHINE. TEI Κρήτης, Τμ. ΕΠΠ, Αρχιτεκτονική Υπολογιστών. Οργάνωση Υπολογιστή. Τυπική οργάνωση υπολογιστή

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος

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

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 2. Εντολές : Η γλώσσα του υπολογιστή

O επεξεπγαζηήρ: Η δίοδορ δεδομένων (datapath) θαη ε μονάδα ελέγσος (control)

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 8: Μία Απλή Υλοποίηση του MIPS σε Έναν Κύκλο Ρολογιού ανά Εντολή

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

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

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

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Σχεδίαση της Μονάδας Ελέγχου

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Εξαιρέσεις και Διακοπές (Exceptions and Interrupts)

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

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

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

Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining)

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code)

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

Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

Σχεδίαση της Διόδου Δεδομένων

Μικροαρχιτεκτονική του LC3

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

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

Χ. Σωτηρίου. 0: lw $1, 8($0) 4: lw $2, 9($0) 8: add $1, $2, $3 c: or $4, $2, $3 10: beq $4, $0, -5-20: 5 24: fffe

Ολοκληρωμένα Κυκλώματα - Φθινόπωρο 2014 Γ. Δημητρακόπουλος. Εργαστηριακή άσκηση 2

Οργάνωση Υπολογιστών

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

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

ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης

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

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

5.1 Εισαγωγή. Μια προεπισκόπηση της υλοποίησης

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

Transcript:

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

Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική Μικροαρχιτεκτονική: μία από τις πολλές πιθανές υλοποιήσεις μιας αρχιτεκτονικής Παραδείγματα: x86 αρχιτεκτονική (Intel), Intel Core i7, Core 2 Duo υλοποιήσεις του x86 Αρχιτεκτονική MIPS Μικροαρχιτεκτονική ενός κύκλου μηχανής του MIPS (κάθε εντολή assembly ολοκληρώνεται σε έναν κύκλο μηχανής) Μικροαρχιτεκτονική πολλαπλών κύκλων μηχανής του MIPS (κάθε εντολή assembly ολοκληρώνεται σε πολλαπλούς κύκλους μηχανής) Μικροαρχιτεκτονική διοχέτευσης (pipeline) του MIPS (κάθε εντολή assembly ολοκληρώνεται πολλαπλούς κύκλους μηχανής, και πολλαπλές εντολές εκτελούνται ταυτόχρονα) 2

Υλοποίηση ενός υποσυνόλου εντολών Στις επόμενες διαφάνειες θα δείξουμε την σταδιακή υλοποίηση μερικών βασικών εντολών του MIPS Εντολές format-r : and, or, add, sub, slt Εντολές προσπέλασης μνήμης: lw, sw Εντολές διακλάδωσης: beq Extra εντολές: addi, j Υλοποίηση σε έναν κύκλο μηχανής 3

Αρχιτεκτονικά στοιχεία του MIPS Τα παρακάτω στοιχεία μνήμης, αποτελούν την Αρχιτεκτονική κατάσταση του επεξεργαστή MIPS Με άλλα λόγια, τα περιεχόμενά τους είναι ορατά στον προγραμματιστή 4

PC [31] PC [30] PC [29] PC [1] PC [0] PC_new [31] PC_new [30] PC_new [29] PC_new [1] PC_new [0] Αρχιτεκτονικά στοιχεία του MIPS Για να τα δούμε με λεπτομέρεια: PC_new always @(posedge CLK or negedge reset) CLK if (reset == 1 b0) PC <= 0; else PC <= PC_new Memory (input ren, wen, input [31:0] addr, din, output [31:0] dout); // 4k words mem input ren, wen; input [31:0] addr, din; output [31:0] dout; reg [31:0] data[4095:0]; wire [31:0] dout; assign dout = ((wen==1'b0) && (ren==1'b1))? data[addr[11:0]] : 32'bx; always @(din or wen or ren or addr) begin if ((wen == 1'b1) && (ren==1'b0)) data[addr[11:0]] = din; end 5

Υλοποίηση της πρώτης μας εντολής: lw Βήμα 1: Instruction Fetch Το Fetch γίνεται για κάθε εντολή op rs rt constant or address 6 bits 5 bits 5 bits 16 bits 31..26 25..21 20..16 15..0 100011 11101 01000 1111 1111 1111 1100 lw $t0, 4($sp) Η 8FA8FFFC 6

Υλοποίηση της πρώτης μας εντολής: lw Βήμα 2: Instruction Decode Διάβασε τους καταχωρητές εισόδου από το register file. 31..26 25..21 20..16 15..0 100011 11101 01000 1111 1111 1111 1100 lw $t0, 4($sp) $sp = H 7FFF_EFFC D 29 7

Υλοποίηση της πρώτης μας εντολής: lw Βήμα 3: Sign Extension Επέκταση πρόσημου της σταθεράς 31..26 25..21 20..16 15..0 100011 11101 01000 1111 1111 1111 1100 lw $t0, 4($sp) B 1111_1111_1111_1100 B 1111_1111_1111_1111_1111_1111_1111_1100 = H FFFF_FFFC 8

Υλοποίηση της πρώτης μας εντολής: lw Βήμα 4: Υπολόγισε την διεύθυνση μνήμης κάνοντας πρόσθεση στην ALU 31..26 25..21 20..16 15..0 100011 11101 01000 1111 1111 1111 1100 lw $t0, 4($sp) = H 7FFF_EFFC H 7FFF_EFF8 H FFFF_FFFC 9

Υλοποίηση της πρώτης μας εντολής: lw Βήμα 5: Διάβασε δεδομένα από την μνήμη χρησιμοποιώντας την διεύθυνση που μόλις υπολόγισες. Γράψε τα δεδομένα στο register file 31..26 25..21 20..16 15..0 100011 11101 01000 1111 1111 1111 1100 lw $t0, 4($sp) D 8 H AB00CD00 10

Υλοποίηση της πρώτης μας εντολής: lw Βήμα 6: Βρες την διεύθυνση της επόμενης εντολής PC <= PC+4 11

Υλοποίηση της εντολής sw Με λίγο extra hardware, μπορούμε να υλοποιήσουμε και την sw sw $t0, 4($sp) 12

Υλοποίηση εντολών R-format Διάβασε τους καταχωρητές rs και rt από το register file. Κάνε τον υπολογισμό στην ALU. Γράψε το αποτέλεσμα στον rd op rs rt rd shamt func 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits op rs rt address 6 bits 5 bits 5 bits 16 bits 13

Υλοποίηση εντολής beq Διάβασε τους καταχωρητές rs και rt και έλεγξε εάν οι τιμές τους είναι ίδιες. Υπολόγισε την διεύθυνση Δ=(PC+4) + 4*(sign extended immediate) Εάν rs ==rt, θέσε PC <= Δ, αλλιώς PC <= PC+4 14

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

Μονάδα Ελέγχου (Control Unit) ALU Decoder ως ξεχωριστό κομμάτι της μονάδας ελέγχου. Με αυτόν τον τρόπο διαχωρίζουμε τα δύο πεδία της εντολής opcode[5:0] και funct[5:0] 3:0 16

ALU και Μονάδα Ελέγχου Για να θυμηθούμε την ALU 1-bit ALU (and, or, add, sub, nor, slt, beq) (4 control signals) 32-bit ALU (and, or, add, sub, nor, slt, beq) Ainvert Bnegate Operation Function ALU Control 0_0_00 AND (A&B) 0_0_01 OR (A B) 0_0_10 ADD (A+B) 0_1_10 SUB (A-B) 0_1_11 SLT 1_1_00 NOR (A B) 17

ALU και Μονάδα Ελέγχου Για μία συγκεκριμένη εντολή η μονάδα ελέγχου παράγει τα 4 σήματα ελέγχου ALUControl[3:0] 3:0 opcode ALUOp Operation funct ALU function ALU control lw 00 load word XXXXXX add 0010 sw 00 store word XXXXXX add 0010 beq 01 branch equal XXXXXX subtract 0110 R-type 10 add 100000 add 0010 subtract 100010 subtract 0110 AND 100100 AND 0000 OR 100101 OR 0001 set-on-lessthan 101010 set-on-lessthan 0111 18

Κύρια Μονάδα Ελέγχου Instruction Op5:0 RegWrite RegDst AluSrc Branch MemWrite MemToReg ALUOp1:0 R-type 0 0 0 0 0 0 1 1 0 0 0 0 10 lw 1 0 0 0 1 1 1 0 1 0 0 1 00 sw 1 0 1 0 1 1 0 Χ 1 0 1 Χ 00 beq 0 0 0 1 0 0 0 Χ 0 1 0 Χ 01 19

Υλοποίηση εντολής or op rs rt rd shamt func 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits 20

Υλοποίηση εντολής addi Δεν απαιτείται αλλαγή στο Data Path Πρέπει όμως να επεκταθεί η μονάδα ελέγχου Instruction Op5:0 RegWrite RegDst AluSrc Branch MemWrite MemToReg ALUOp1:0 R-type 0 0 0 0 0 0 1 1 0 0 0 0 1 0 lw 1 0 0 0 1 1 1 0 1 0 0 1 0 0 sw 1 0 1 0 1 1 0 x 1 0 1 x 0 0 beq 0 0 0 1 0 0 0 x 0 1 0 x 0 1 addi 0 0 1 0 0 0 1 0 1 0 0 0 0 0 Copyright 2007 Elsevier 21 22

Υλοποίηση εντολής j 000010 address 31:26 25:0 22

Υλοποίηση εντολής j Instruction Op5:0 RegWrite RegDst AluSrc Branch MemWrite MemToReg ALUOp1:0 Jump R-type 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 lw 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 sw 1 0 1 0 1 1 0 x 1 0 1 x 0 0 0 beq 0 0 0 1 0 0 0 x 0 1 0 x 0 1 0 addi 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 j 0 0 0 0 1 0 0 x x x 0 x x x 1 23

Η Απόδοση του υπολογιστή μας ΧρόνοςCPU ΑριθμόςΕντολώνστο Πρόγραμμα CPI ΠερίοδοςΡολογιού ΑριθμόςΕντολών CPI ΣυχνότηταΡολογιού 24

Η Απόδοση του υπολογιστή μας Για αυτόν τον επεξεργαστή CPI=1 Ας επικεντρωθούμε στην περίοδο του ρολογιού (πχ η εντολή lw). 25

Περίοδος Ρολογιού D Q reg1 logic D Q reg2 CLK H περίοδος ρολογιού καθορίζεται από το χειρότερο μονοπάτι μεταξύ δύο flipflops σε ένα κύκλωμα. Στον επεξεργαστή μας αυτό το μονοπάτι ΜΑΛΛΟΝ είναι το παρακάτω: Tc = tpcq_pc + tmem + max(trfread, tsext + tmux) + talu + tmem + tmux + trfsetup Στους περισσότερους επεξεργαστές το λεγόμενο critical path είναι η μνήμη, η ALU, και οι καταχωρητές. Ο καθορισμός του critical path σε πραγματικούς επεξεργαστές είναι μια πολύ επίπονη εργασία που γίνεται από εξειδικευμένα εργαλεία CAD (Computer-Aided Design). 26

Παράδειγμα υπολογισμού περιόδου ρολογιού Στοιχείο Υλικού Συμβολικός Χρόνος Χρόνος (ps) Register clock-to-q tpcq_pc 30 Register setup tsetup 20 Multiplexer tmux 25 ALU talu 200 Memory read tmem 250 Register file read trfread 150 Register file setup trfsetup 20 Tc = tpcq_pc + 2tmem + trfread + tmux + talu + trfsetup = [30 + 2(250) + 150 + 25 + 200 + 20] ps = 925 ps ] = 0.925ns Fc = 1/Tc = 1.08 GHz 27

Παράδειγμα υπολογισμού χρόνου εκτέλεσης Χρόνος CPU Αριθμός ΕΕντολώστο ΠΠρόγραμμ CPI Περίοδος ΡΡολογιο Αριθμός ΕΕντολώ CPI Συχνότητα ΡΡολογιο Για ένα πρόγραμμα με 100 δις εκτελούμενων εντολών και CPI = 1 Χρόνος CPU = (100 10 9 ) * (1) * (925 *10 12 ) = 92.5 secs 28