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

Download ""

Transcript

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

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

79 Τι είναι ένα υπολογιστικό σύστημα ; Υπολογιστικά Συστήματα (;) Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 2

80 Ενσωματωμένα συστήματα Υπολογιστικά Συστήματα ; Ποια είναι η αρχιτεκτονική του μικροεπεξεργαστή που παράγεται σε μεγαλύτερο αριθμό ανά έτος; Υπολογιστικά συστήματα ελέγχου Συστήματα ειδικών απαιτήσεων Ιατρικά, συγκοινωνίες, εργοστάσια, συλλογή πληροφοριών.. Καταναλωτικά προϊόντα Μια ανερχόμενη αγορά 95% των μικροεπεξεργαστών που πωλούνται ανά έτος καταλήγει σε ένα ενσωματωμένο σύστημα! Συστήματα μέσα σε ένα ολοκληρωμένο κύκλωμα Processor cores Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 3

81 Αρχιτεκτονική Η/Υ Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Υπολογιστικό σύστημα Αρχιτεκτονική Η/Υ ; Ανήκει το λογισμικό στο διπλανό σχήμα; Η αρχιτεκτονική συγκροτεί υπολογιστικά συστήματα χρησιμοποιώντας την υπάρχουσα τεχνολογία Διαθέσιμη τεχνολογία και προδιαγράφει τη μελλοντική Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 4

82 Ο υπολογιστής ως ιεραρχία επιπέδων Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Εφαρμογές API ΛΣ & βιβλιοθήκες Αρχιτεκτονική Εντολών (ISA) Υλικό εκτέλεσης (μικροεπεξεργαστής) ; Τι ακριβώς είναι μια διεπαφή (interface); Γιατί είναι τόσο σημαντική έννοια; Μνήμη Συσκευές Ε/Ε Αρχιτεκτονική Εντολών (ISA)( Η διεπαφή υλικού-λογισμικού Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 5

83 Η σπουδαιότητα των διεπαφών Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ αν δεχτώ αν δεχτώ (δεδομένα, εντολές...) ανώτερο επίπεδο διεπαφή τότε υπόσχομαι (αποτελέσματα, συμπεριφορά...)? ; Αντιστοιχία με γλώσσες προγραμματισμού; Αντιμετώπιση πολυπλοκότητας σχεδιασμού Επαναχρησιμοποίηση τμημάτων Αξιόπιστος σχεδιασμός Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 6

84 Αρχιτεκτονική: υλικό μόνο ή και λογισμικό; Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ ; Σε ποια συστήματα έχει ιδιαίτερη σημασία η αρχιτεκτονική του λογισμικού; Το λογισμικό είναι σημαντικό μέρος ενός υπολογιστικού συστήματος Ορίζει τον τρόπο χρήσης του υλικού Συνεπώς (συν-)διαμορφώνει την απόδοση την κατανάλωση ενέργειας την αξιοπιστία Η αρχιτεκτονική ασχολείται με το υλικό Η παραδοσιακή αντίληψη Πρέπει να λαμβάνεται υπ όψη και το λογισμικό Η σύγχρονη αντίληψη Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 7

85 Αρχιτεκτονική: ο τελικός στόχος Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ ; Ποια η διαφορά μεταξύ γρήγορης εκτέλεσης και αξιόπιστης εκτέλεσης; Η αξιοποίηση με τον καλύτερο δυνατό τρόπο του υλικού (και λογισμικού) για την ανάπτυξη Αποδοτικών συστημάτων Γρήγορη εκτέλεση προγραμμάτων Υπερυπολογιστές, προσωπικοί υπολογιστές Αξιόπιστων συστημάτων Ασφαλής εκτέλεση προγραμμάτων Συστήματα πραγματικού χρόνου Προσιτών συστημάτων Ικανοποιητική εκτέλεση με μικρό κόστος-ενέργεια Καταναλωτικές συσκευές Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 8

86 Οι βασικές μονάδες κάθε υπολογιστή Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες! Η διπλανή εικόνα είναι απλοποιημένη! συνθήκες διακλάδωσης μονάδα ελέγχου διαδρομή δεδομένων (n-bits εύρος ) αποτελέσματα επεξεργασίας έλεγχος λειτουργίας εντολές δεδομένα προς επεξεργασία σύστημα μνήμης Η μονάδα ελέγχου, η διαδρομή (μονοπάτι) δεδομένων και μέρος του συστήματος μνήμης βρίσκονται σήμερα μέσα στον μικροεπεξεργαστή (ΚΜΕ) συσκευές Ε/Ε Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 9

87 The Electronic Numerical Integrator and Computer (ENIAC) 1946 Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες μνήμη (σταθερές) Διαδρομή δεδομένων i Ο ENIAC, ο πρώτος ηλεκτρονικός υπολογιστής, διέθετε λυχνίες για τα λογικά του κυκλώματα. Δεν υπήρχε μνήμη προγράμματος! Μονάδα ελέγχου Συσκευές Ε/Ε Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 10

88 Ένα τυπικό υπολογιστικό σύστημα σήμερα Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες CPU έως 6.4GB/s CPU P-bus (host bus, FSB, HyperTransport..)! Ο ρυθμός μεταφοράς δεδομένων ανάμεσα στα διάφορα μέρη του υπολογιστή επηρεάζει καθοριστικά τη συνολική απόδοση του συστήματος! video device AGP-PCIe έως 2.1GB/s USB έως 480Mbit/s north bridge south bridge έως 266ΜB/s M-bus (mem bus) έως 3.2GB/s (S)ATA ΜB/s PCI DRAM Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 11

89 Ηλεκτρονικά κυκλώματα Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα Σε κάθε υπολογιστή απαιτούνται Λογικά κυκλώματα Για την εκτέλεση πράξεων Για τη σύγκριση και λήψη αποφάσεων Κυκλώματα μνήμης Για την αποθήκευση δεδομένων Για την αποθήκευση εντολών Κυκλώματα διασύνδεσης Για τη μεταφορά δεδομένων μεταξύ τμημάτων Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 12

90 Πριν τα σύγχρονα ηλεκτρονικά Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα Παλαιότερα χρησιμοποιήθηκαν... Λογικά κυκλώματα Μηχανικά συστήματα (γρανάζια) Ηλεκτρομηχανικά (ρελέ) Λυχνίες κενού Κυκλώματα μνήμης Τα ίδια, αλλά και... Γραμμές υδραργύρου (!) καθοδική οθόνη (!) Κυκλώματα διασύνδεσης Καλώδια! Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 13

91 Το τρανζίστορ MOS(FET) Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα Ο μικροσκοπικός διακόπτης των σύγχρονων κυκλωμάτων Η θεωρία λειτουργίας του είναι γνωστή από το συμβολικά.....αλλά τα πρώτα λειτουργικά τρανζίστορ MOS κατασκευάστηκαν στη δεκαετία του 60 Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 14

92 Το τρανζίστορ MOS(FET) Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα πηγή (source) πύλη (gate) καταβόθρα (drain) n+ n+ p- i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. υπόστρωμα (body) ιδανικό σχήμα.. κανάλι (channel) Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 15

93 Λειτουργία του τρανζίστορ MOS(FET) Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα V+ n+ n+ - V- p- ; Τι συμβαίνει στο τρανζίστορ PMOS; V+ n+ n+ ρεύμα V- p- Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 16

94 Κατασκευή ολοκληρωμένων κυκλωμάτων Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα i Λόγω της απαιτούμενης ακρίβειας, μια γραμμή παραγωγής κοστίζει δισ. $ Γραμμές παραγωγής Φωτολιθογραφία με μάσκες Διεργασίες στα εκτεθειμένα μέρη Οξείδωση, απόξεση, απόθεση μετάλλου, εμφύτευση ιόντων... Επανάληψη βημάτων Ένα σύγχρονο ολοκληρωμένο κύκλωμα μικροεπεξεργαστή Έχει επιφάνεια περίπου 280mm 2 Και περιέχει από 100 εκ. έως >1 δισ. τρανζίστορ! Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 17

95 Η συρρίκνωση του τρανζίστορ Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα i Νόμος του Moore: ο αριθμός των τρανζίστορ ανά ολοκληρωμένο διπλασιάζεται κάθε 1,5-2 χρόνια Πλεονεκτήματα Ταχύτερη λειτουργία Πιο γρήγοροι χρόνοι ON-OFF Μικρότερη κατανάλωση ενέργειας Για τον ίδιο αριθμό τρανζίστορ! Μεγαλύτερη ολοκλήρωση Μείωση κόστους παραγωγής και αύξηση λειτουργικότητας Τρέχουσα εμπορική τεχνολογία: Μέγεθος (καναλιού) τρανζίστορ = 65nm Το μέλλον; 45 και 25 nm Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 18

96 Ψηφιακά Ηλεκτρονικά: Ιεραρχία σχεδίασης Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα MUX σύστημα σε chip σύνθετο τμήμα λογική πύλη κύκλωμα φυσικό επίπεδο Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 19

97 Ψηφιακά Ηλεκτρονικά και Δυαδική λογική Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα Η δυαδική λογική ταιριάζει με την τεχνολογία του τρανζίστορ 2 καταστάσεις: ON-OFF, 1-0 Ψηφιακά ηλεκτρονικά (2 στάθμες) Δυαδική άλγεβρα Boole Λογική άλγεβρα Συσχέτιση με διακοπτικά κυκλώματα Η εργασία του Shannon (1938) C.E.Shannon Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 20

98 Άλγεβρα Boole: επανάληψη Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Α + Β (Α OR B) A B (ή απλά ΑΒ, A AND B) Α (NOT A) Α + 0 = Α και Α 1 = Α Α + 1 = 1 και Α 0 = 0 Α + A = 1 και Α A = 0 Α + B = B + A και Α B = B A A+(B+C)=(A+B)+C και A(BC)=(AB)C Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 21

99 Άλγεβρα Boole: επανάληψη Υπολογιστικά Συστήματα Αρχιτεκτονική Η/Υ Οι βασικές μονάδες Ηλεκτρονικά κυκλώματα Άλγεβρα Boole A(B+C) = (AB)+(ΑC) και Α+(ΒC) = (A+B)(A+C) (A+B) = A B και (A B) = A + B (DeMorgan) Αρχιτεκτονική Υπολογιστών Εισαγωγή στην Αρχιτεκτονική Η/Υ 22

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

101 Το τρανζίστορ MOS(FET) Ηλεκτρονικά κυκλώματα πύλη (gate) πηγή (source) καταβόθρα (drain) n+ n+ i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. υπόστρωμα (body) p- κανάλι (channel) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 2

102 Λειτουργία του τρανζίστορ MOS(FET) Ηλεκτρονικά κυκλώματα V+ n+ n+ - p- V- ; Τι συμβαίνει στο τρανζίστορ PMOS; V+ n+ n+ ρεύμα V- p- Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 3

103 Τρανζίστορ NMOS και PMOS Ηλεκτρονικά κυκλώματα NMOS: άγει όταν στην πύλη εφαρμόζεται 1 Περνά ισχυρό 0 i Η πλειοψηφία των σημερινών κυκλωμάτων χρησιμοποιεί και τα δύο είδη τρανζίστορ (τεχνολογία CMOS) PMOS: άγει όταν στην πύλη εφαρμόζεται 0 Περνά ισχυρό 1 σύμβολα Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 4

104 Ψηφιακά Ηλεκτρονικά: Ιεραρχία σχεδίασης Ηλεκτρονικά κυκλώματα σύστημα σε chip MUX σύνθετο τμήμα λογική πύλη κύκλωμα φυσικό επίπεδο Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 5

105 Ψηφιακά Ηλεκτρονικά και Δυαδική λογική Ηλεκτρονικά κυκλώματα Η δυαδική λογική ταιριάζει με την τεχνολογία του τρανζίστορ 2 καταστάσεις: ON-OFF, 1-0 Ψηφιακά ηλεκτρονικά (2 στάθμες) Δυαδική άλγεβρα Boole Λογική άλγεβρα Συσχέτιση με διακοπτικά κυκλώματα Η εργασία του Shannon (1938) C.E.Shannon Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 6

106 Άλγεβρα Boole: επανάληψη Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Α + Β (Α OR B) A B (ή απλά ΑΒ, A AND B) Α (NOT A) Α + 0 = Α και Α 1 = Α Α + 1 = 1 και Α 0 = 0 Α + A = 1 και Α A = 0 Α + B = B + A και Α B = B A A+(B+C)=(A+B)+C και A(BC)=(AB)C Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 7

107 Άλγεβρα Boole: επανάληψη Ηλεκτρονικά κυκλώματα Άλγεβρα Boole A(B+C) = (AB)+(ΑC) και Α+(ΒC) = (A+B)(A+C) (A+B) = A B και (A B) = A + B (DeMorgan) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 8

108 Απλές λογικές πύλες Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες V+ ( 1 ) είσοδοι Α 1..Α N Ανύψωση σε 1 (PMOS) έξοδος είσοδοι Α 1..Α N Καταβύθιση σε 0 (NMOS) Στατική τεχνολογία CMOS V- ( 0 ) Αναστρέφουσες συναρτήσεις NOT, NAND, NOR Αξιόπιστη λειτουργία, εύκολη σχεδίαση Όχι πάντα η αποδοτικότερη λύση Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 9

109 Η πύλη NOT Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες V+ ( 1 ) A Y A A NOT A V- ( 0 ) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 10

110 Η πύλη NAND Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες A B Y V+ ( 1 ) A A B (AB) B V- ( 0 ) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 11

111 Η πύλη NOR Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες A B Y A V+ ( 1 ) B A B (A+B) V- ( 0 ) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 12

112 Άλλες λογικές πύλες Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες AND OR XOR Ως συνδυασμός των βασικών πυλών NOT, NAND, NOR Υπάρχουν και εναλλακτικές μέθοδοι σχεδίασης! Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 13

113 Συνδυαστική Λογική Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες Συνδυαστική Λογική είσοδοι Α 1..Α N Λογικό Μπλοκ (συναρτήσεις) έξοδοι Υ 1..Υ Μ Μπλοκ λογικών συναρτήσεων Οι έξοδοι εξαρτώνται αποκλειστικά από την τρέχουσα τιμή των εισόδων Δεν υπάρχει μνήμη προηγούμενων καταστάσεων Αλλαγή των εισόδων θα επηρεάσει τις εξόδους μετά από χρονικό διάστημα (καθυστέρηση διάδοσης) Η συνάρτηση που υλοποιεί το μπλοκ μπορεί να εκφραστεί με έναν πίνακα αλήθειας Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 14

114 Υλοποίηση συναρτήσεων Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες Συνδυαστική Λογική! Πάντοτε προσπαθούμε να απλοποιήσουμε τις συναρτήσεις (πίνακες Karnaugh ή άλλες υπολογιστικές μέθοδοι) Α Β C Y Ελαχιστόροι a b c a b c a bc a bc ab c ab c abc abc Μεγιστόροι a+b+c a+b+c a+b +c a+b +c a +b+c a +b+c a +b +c a +b +c Y = a b c + a bc + abc + abc Y = (a+b+c )(a+b +c)(a +b+c)(a +b+c ) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 15

115 Βασικά συνδυαστικά τμήματα Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα Αποκωδικοποιητής (decoder)( Ν είσοδοι ενεργοποιούν 1 από 2 Ν εξόδους Πολυπλέκτης (multiplexer)( Ν είσοδοι επιλέγουν 1 από 2 Ν εισόδους Αθροιστής (adder)( Πρόσθεση δυαδικών ψηφίων Διάφοροι τρόποι παραγωγής-διάδοσης κρατουμένου Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 16

116 Αποκωδικοποιητής (decoder) Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα ; Α Β Αποκωδικοποιητής (enable) Υ0 Υ1 Υ2 Υ3 A B Υ Υ Υ Υ Πώς υλοποιείται ένας αποκωδικοποιητής; Αποκωδικοποιητής Ν-σε-2 Ν Ν είσοδοι ενεργοποιούν μία από 2 Ν εξόδους Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 17

117 Πολυπλέκτης (multiplexer) Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα ; A B C D Πολυπλέκτης S1 S0 Y S S Υ A B C D Πώς υλοποιείται ένας πολυπλέκτης; Πολυπλέκτης 2 Ν γραμμών σε 1 Επιλογή μίας από 2 Ν εισόδους με τη βοήθεια Ν σημάτων ελέγχου Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 18

118 Ημιαθροιστής (half-adder) Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα ; A B S C A B S C Αν απαιτείται πρόσθεση αριθμών με περισσότερα bits; Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 19

119 Πλήρης αθροιστής (full-adder) Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα A1 B1 Cin Πλήρης αθροιστής A2 B2 Cin S1 Cout Πλήρης αθροιστής S2 Cout ; Πώς υλοποιείται ένας πλήρης αθροιστής; Πολλαπλά τμήματα πλήρη αθροιστή Όμως: πόσο γρήγορα διαδίδεται το κρατούμενο; (ripple carry) Τεχνικές πρόβλεψης κρατουμένου (carry lookahead) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 20

120 Πέρα από τη συνδυαστική λογική... Ηλεκτρονικά κυκλώματα Άλγεβρα Boole Λογικές Πύλες Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα Στο επόμενο μάθημα... Πώς εισάγω την έννοια της κατάστασης ενός λογικού τμήματος; Που φυλάσσεται η κατάσταση; Πότε ενημερώνεται; Πώς συγχρονίζονται τα διάφορα τμήματα λογικής; Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 21

121 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση (στοιχεία μνήμης και μέθοδοι χρονισμού) Μ.Στεφανιδάκης

122 Πέρα από τη συνδυαστική λογική Ακολουθιακή λογική Βασικά ερωτήματα Πώς εισάγω την έννοια της κατάστασης ενός λογικού τμήματος; Που φυλάσσεται η κατάσταση; Πότε ενημερώνεται; Πώς συγχρονίζονται τα διάφορα τμήματα λογικής; Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 2

123 Ακολουθιακή λογική Ακολουθιακή λογική είσοδοι Α 1..Α N Λογικό Μπλοκ (συνδυαστικό) έξοδοι Υ 1..Υ Μ Στοιχείο μνήμης επόμενη κατάσταση ; Πότε τελειώνει η τρέχουσα και πότε αρχίζει η επόμενη κατάσταση; Η έννοια της κατάστασης: οι έξοδοι εξαρτώνται από τις εισόδους ΚΑΙ από την προηγούμενη κατάσταση Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 3

124 Χρονισμός σε ακολουθιακή λογική Ακολουθιακή λογική Στοιχείο μνήμης Λογικό Μπλοκ (συνδυαστικό) Στοιχείο μνήμης Σήμα χρονισμού (clock)! Το clock καθορίζει τη χρονική στιγμή αποθήκευσης στα στοιχεία μνήμης περίοδος Τ σήματος ρολογιού Η πλειοψηφία των ψηφιακών κυκλωμάτων χρησιμοποιεί ένα περιοδικό σήμα συγχρονισμού (ρολόι - clock) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 4

125 Χρονισμός στις ακμές του ρολογιού Ακολουθιακή λογική είσοδος Στοιχείο μνήμης έξοδος! Η είσοδος πρέπει να είναι σταθερή λίγο πριν (setup) και λίγο μετά (hold) την ακμή του ρολογιού Σήμα χρονισμού (clock) Η απλούστερη λύση: αποθήκευση στην ανερχόμενη (ή κατερχόμενη) ακμή του ρολογιού Τη στιγμή αυτή η είσοδος αποθηκεύεται στο στοιχείο μνήμης Και εμφανίζεται στην έξοδο μετά από την καθυστέρηση διάδοσης του στοιχείου μνήμης. Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 5

126 Χρονισμός και διάδοση σημάτων Ακολουθιακή λογική Στοιχείο μνήμης Λογικό Μπλοκ (συνδυαστικό) Στοιχείο μνήμης ; Μπορεί η περίοδος του ρολογιού να γίνει όσο μικρή θέλουμε; Οι είσοδοι περνούν στο στοιχείο μνήμης Και εμφανίζονται στις εισόδους του λογικου μπλοκ Προκαλώντας αλλαγές στις εξόδους του μπλοκ Στην επόμενη ακμή αποθηκεύονται στο δεύτερο στοιχείο μνήμης Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 6

127 Ανάδραση και στοιχεία μνήμης Ακολουθιακή λογική Στοιχείο μνήμης Λογικό Μπλοκ (συνδυαστικό) clock Απολύτως επιτρεπτή συνδεσμολογία! Λόγω του σήματος ρολογιού δεν δημιουργείται πρόβλημα με την ανατροφοδότηση του σήματος εξόδου στην είσοδο Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 7

128 Συγχρονισμός τμημάτων Ακολουθιακή λογική Σύγχρονο σύστημα Κοινή πολιτική χρονισμού Κοινό ρολόι Σχεδίαση τήρησης χρόνων διάδοσης Τμήματα με διαφορετικά ρολόγια Ή ασύγχρονες είσοδοι Αδυναμία τήρησης χρόνων setup hold Τα στοιχεία μνήμης μπορούν να περιέλθουν σε απροσδιόριστη κατάσταση (metastability) Ειδικά κυκλώματα συγχρονισμού Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 8

129 Στοιχεία μνήμης Ακολουθιακή λογική Στοιχεία μνήμης Μαζί με λογικά κυκλώματα Για αποθήκευση ενδιάμεσης κατάστασης μεταξύ συνδυαστικών συναρτήσεων Μικρή χωρητικότητα Παράδειγμα: οι καταχωρητές της ΚΜΕ! Η έξοδος ενός στοιχείου μνήμης εξαρτάται από τις εισόδους του και την τρέχουσα κατάστασή του! Σε μεγάλες συστοιχίες μνήμης Κύρια μνήμη συστήματος Μεγάλη χωρητικότητα Μεγαλύτερη ολοκλήρωση κυκλωμάτων Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 9

130 Απλά στοιχεία μνήμης χωρίς ρολόι Ακολουθιακή λογική Στοιχεία μνήμης S R Q Q S Q 0 0 Q Q ! R Q Τα S και R δεν επιτρέπεται να είναι ταυτόχρονα 1 Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 10

131 Ο μανδαλωτής (latch) Ακολουθιακή λογική Στοιχεία μνήμης G Q D G Q! D G Q Q Το latch περνά την είσοδο στην έξοδο ανάλογα με τη στάθμη του G x Q 0 1 Q 1 0 Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 11

132 D flip-flop Ακολουθιακή λογική Στοιχεία μνήμης D G latch Q Q D G latch Q Q CLK ; Αποθήκευση εισόδου στην ακμή του σήματος ρολογιού Σε ποια ακμή του CLK αποθηκεύεται η είσοδος D; D SET Q D SET Q CLR Q CLR Q Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 12

133 Καταχωρητές (registers) Ακολουθιακή λογική Στοιχεία μνήμης D0 D flip-flop Q0 D1 D flip-flop Q1 ; Dn D flip-flop Qn Ποιο το μήκος της λέξης που αποθηκεύεται σε έναν καταχωρητή; CLK Ομάδα στοιχείων flip-flop με κοινό σήμα ρολογιού Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 13

134 Register file Ακολουθιακή λογική Στοιχεία μνήμης Register File Καταχωητής 0 Καταχωητής 1 Καταχωητής 2 i Οι σύγχρονες ΚΜΕ διαθέτουν τουλάχιστον 32 καταχωρητές γενικού σκοπού Καταχωητής Ν Ομάδα καταχωρητών, βασικό στοιχείο μιας ΚΜΕ Ανάγνωση και εγγραφή Δυνατότητα ταυτόχρονης λειτουργίας σε περισσότερους από έναν καταχωρητές Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 14

135 Register file: ανάγνωση Ακολουθιακή λογική Στοιχεία μνήμης Register File Καταχωητής 0 Καταχωητής 1 Καταχωητής 2 επιλογή καταχωρητή MUX ; Πώς μπορούμε να διαβάσουμε ταυτόχρονα 2 καταχωρητές (σε διαφορετικές εξόδους); Καταχωητής Ν Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 15

136 Register file: εγγραφή Ακολουθιακή λογική Στοιχεία μνήμης Register File CLK δεδομένα εγγραφής Καταχωητής 0 Καταχωητής 1! επιλογή καταχωρητή decoder Καταχωητής 2 Τα δεδομένα προς εγγραφή θα πρέπει να είναι σταθερά κατά τους χρόνους setup και hold! Καταχωητής Ν Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 16

137 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (Instruction Set Architectures - ISA) Μ.Στεφανιδάκης

138 Ένα τυπικό υπολογιστικό σύστημα σήμερα Ο επεξεργαστής επεξεργαστής CPU CPU έως 6.4GB/s P-bus (host bus, FSB, HyperTransport..) video device AGP έως 2.1GB/s north bridge M-bus (mem bus) έως 3.2GB/s DRAM Επεξεργαστής Μνήμη Συσκευές Ε/Ε USB έως 480Mbit/s south bridge (S)ATA ΜB/s έως 266ΜB/s PCI Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 2

139 Ο (μικρο)επεξεργαστής Ο επεξεργαστής (Micro)processor Ψηφιακό σύστημα που εκτελεί υπολογισμούς σε πολλαπλά βήματα Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) ; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα; Central Processing Unit (CPU) Μέρος ενός ευρύτερου υπολογιστικού συστήματος (ή υπολογιστή ) γενικού ή ειδικού σκοπού Μπορεί να περιέχει σήμερα πολλαπλές υπομονάδες επεξεργασίας Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 3

140 Είδη μικροεπεξεργαστών Ο επεξεργαστής Γενικού σκοπού Οι περισσότερο γνωστοί επεξεργαστές (PCs)( Συνεπεξεργαστές (co-processors)( Ειδικές λειτουργίες Μικροελεγκτές (microcontrollers) ( Συστήματα ελέγχου Μέσα σε Systems-on-Chip Επεξεργαστικοί πυρήνες Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 4

141 Το μοντέλο von Neumann Ο επεξεργαστής εντολές μνήμη μικροεπεξεργαστής δεδομένα συσκευές Ε/Ε ; Σε ποια μορφή αποθηκεύονται οι εντολές; Το πρόγραμμα εκτέλεσης, όπως και τα δεδομένα, αποθηκεύονται στη μνήμη του υπολογιστή Stored-program computer Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 5

142 Εκτέλεση ακολουθίας λειτουργιών Ο επεξεργαστής υπολογιστικό σύστημα ρολόι (clock) μονάδα ελέγχου πρόγραμμα ελέγχου ; Ποιος ο ρόλος του σήματος ρολογιού; επεξεργασία δεδομένων δεδομένα εισόδου δεδομένα εξόδου Μνήμη συσκευές Ε/Ε Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 6

143 Εκτέλεση εντολών: ο κύκλος μηχανής Ο επεξεργαστής Fetch: Φέρε την επόμενη εντολή προς εκτέλεση από τη μνήμη ; Τι συμβαίνει με τις εξωτερικές διακοπές (interrupts); για πάντα Decode: Αποκωδικοποίησε την εντολή (προετοίμασε τα σήματα ελέγχου και τις πηγές των δεδομένων) Execute: Εκτέλεσε την απαιτούμενη πράξη/λειτουργία Ο χρόνος εκτέλεσης είναι ο ίδιος για όλες τις εντολές; Store: Αποθήκευσε τα αποτελέσματα (εάν απαιτείται) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 7

144 Εκτέλεση εντολών Ο επεξεργαστής Επόμενη εντολή προς εκτέλεση Program Counter (PC): η διεύθυνση της θέσης μνήμης όπου περιέχεται η επόμενη εντολή Σειριακή αύξηση διεύθυνσης μετά την εκτέλεση εντολής Ή μεταπήδηση σε νέα θέση μνήμης (διακλάδωση) Εκκίνηση εκτέλεσης Με την εφαρμογή τάσης ο PC παίρνει μια προκαθορισμένη τιμή BIOS Τερματισμός επανάληψης κύκλου μηχανής Συμβατικά, ποτέ! Περιπτώσεις SLEEP για μείωση κατανάλωσης ενέργειας Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 8

145 Αρχιτεκτονική Συνόλου Εντολών Ο επεξεργαστής ISA Instruction Set Architecture (ISA) Το ορατό μέρος ενός υπολογιστικού συστήματος για τον προγραμματιστή (μεταγλωττιστή) Δεκαετία 60-70: συνώνυμο του όρου αρχιτεκτονική Η/Υ «η δομή ενός υπολογιστή, την οποία ο προγραμματιστής πρέπει να γνωρίζει για να γράψει ένα σωστό (χρονικά ανεξάρτητο) πρόγραμμα σε γλώσσα μηχανής για τον υπολογιστή αυτόν» (ΙΒΜ) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 9

146 Η διεπαφή ISA στην ιεραρχία επιπέδων Ο επεξεργαστής ISA Εφαρμογές API ΛΣ & βιβλιοθήκες Αρχιτεκτονική Εντολών (ISA) Υλικό εκτέλεσης (μικροεπεξεργαστής) ; Τι ακριβώς περιγράφει η διεπαφή ISA; Μνήμη Συσκευές Ε/Ε Αρχιτεκτονική Εντολών (ISA)( Η διεπαφή υλικού-λογισμικού Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 10

147 Αρχιτεκτονική Συνόλου Εντολών Ο επεξεργαστής ISA Τι περιγράφει; Διαθέσιμες πράξεις/λειτουργίες Κωδικοποίηση λειτουργιών Μορφή των δεδομένων εισόδου-εξόδου Έντελα (operands) Μέθοδοι προσπέλασης μνήμης Προέλευση των δεδομένων Χώροι προσωρινής αποθήκευσης Καταχωρητές Διακοπές και καταστάσεις σφάλματος Ποια η αντίδραση του επεξεργαστή Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 11

148 Σχεδιασμός Συνόλου Εντολών Ο επεξεργαστής ISA Συμβιβασμός μεταξύ: Κόστους και απόδοσης υλικού Βαθμού υποστήριξης λογισμικού Άλλων παραγόντων όπως η κατανάλωση ενέργειας Το υλικό καταναλώνει ενέργεια, υπό τον έλεγχο του λογισμικού όμως! Μη επικάλυψης λειτουργιών εντολών (orthogonality) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 12

149 Κωδικοποίηση Εντολών Ο επεξεργαστής ISA opcode operand1 operand2.. operandn Σειρά δυαδικών ψηφίων Μεταβλητού μήκους Περισσότερο συμπαγή προγράμματα ; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Πολυπλοκότερο υλικό! Σταθερού μήκους Απλούστερη και ταχύτερη λήψη-αποκωδικοποίηση Μεγαλύτερα προγράμματα Μέθοδοι συμπίεσης Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 13

150 Κωδικοποίηση Εντολών Ο επεξεργαστής ISA opcode operand1 operand2.. operandn Περιγράφει το είδος της πράξης που θα εκτελεστεί Περιγράφουν την προέλευση των δεδομένων εισόδου (αριθμό καταχωρητή, διεύθυνση μνήμης κλπ) και τον προορισμό των δεδομένων εξόδου (αποτέλεσμα πράξης) Το είδος της πράξης προσδιορίζει τον τύπο, την προέλευση και τον αριθμό των δεδομένων που συμμετέχουν στην πράξη! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 14

151 Εντολές: κατηγορίες λειτουργιών Ο επεξεργαστής ISA Κατηγορίες εντολών Βασικές κατηγορίες Αριθμητικές και λογικές πράξεις Μεταφορά δεδομένων Από-πρός Καταχωρητές και Μνήμη Έλεγχος ροής εκτέλεσης Διακλαδώσεις και κλήσεις ρουτινών Άλλες κατηγορίες Ειδικές εντολές συστήματος ΛΣ, ιδεατή μνήμη Επεξεργασία πολλαπλών δεδομένων Χρήσιμο για γραφικά, σειρές χαρακτήρων, multimedia Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 15

152 Ο επεξεργαστής ISA Κατηγορίες εντολών Αριθμητικές εντολές και μεταφορά δεδομένων Αριθμητικές-λογικές πράξεις Πηγές δεδομένων και προορισμός add R1, R2, R3 // R3 = R1+R2 add R1 R2 R3 ; Τι συμβολίζουν τα R1, R2..; Πώς αναπαρίστανται μέσα στην εντολή; Μεταφορά δεδομένων Πηγή δεδομένων και προορισμός Μήκος μεταφερόμενης λέξης (ενδεχομένως) load R1, 0x7FF0 // R1 = mem[0x7ff0] load R1 0x7FF0 Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 16

153 Εντολές διακλάδωσης Ο επεξεργαστής ISA Κατηγορίες εντολών Διακλάδωση Με ή χωρίς συνθήκη bne R1, R2, +8 // branch if not R1==R2 Σε απόλυτη διεύθυνση jump 0xFF97DE00 Σχετικά ως προς την τρέχουσα θέση (offset) jump +130 // offset = +130 Ο παραγόμενος κώδικας μπορεί να τοποθετηθεί οπουδήποτε στη μνήμη bne R1 R2 +8 Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 17

154 Εντολές διακλάδωσης Ο επεξεργαστής ISA Κατηγορίες εντολών Κλήση συναρτήσεων και επιστροφή Αποθήκευση της τρέχουσας διεύθυνσης εκτέλεσης (καταχωρητή PC) Πριν τη μετάβαση στη συνάρτηση Χρήση αποθηκευμένης τιμής Κατά την επιστροφή (return) ; Πού θα μπορούσε να αποθηκευτεί η διεύθυνση επιστροφής μετά από κλήση συνάρτησης; frame pointer Παράμετροι εισόδου Χώρος για επιστρεφόμενη τιμή Διεύθυνση επιστροφής Προηγούμενη τιμή frame pointer Τοπικές μεταβλητές Προσωρινές θέσεις αποθήκευσης Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 18

155 Προέλευση και αποθήκευση δεδομένων Ο επεξεργαστής ISA Κατηγορίες εντολών Προέλευση δεδομένων Προέλευση δεδομένων αποθήκευση αποτελεσμάτων μιας πράξης Operand addressing Εξαρτάται από την αρχιτεκτονική του επεξεργαστή Στους πρώτους επεξεργαστές Stack (σωρός-στοίβα) Accumulator (συσσωρευτής) Μεταγενέστεροι υπολογιστές Έντελα Καταχωρητή-Μνήμης Έντελα Καταχωρητή-Καταχωρητή (load-store) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 19

156 Αρχιτεκτονική σωρού (stack) Ο επεξεργαστής ISA Κατηγορίες εντολών Προέλευση δεδομένων ALU TOS push A push B add pop A Τα έντελα προσδιορίζονται έμμεσα Δεν περιγράφονται στην εντολή! 0-address architecture Δημοφιλές σχήμα κατά τη δεκαετία του 60 Δύσκολη προσπέλαση σωρού, απαιτούνται πολλαπλές αντιμεταθέσεις και αντιγραφές Το σχήμα επιζεί στην αρχιτεκτονική της Java VM Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 20

157 Αρχιτεκτονική συσσωρευτή (accumulator) Ο επεξεργαστής ISA Κατηγορίες εντολών Προέλευση δεδομένων accumulator (A) ALU μνήμη add X (A = A + X) Ένα έντελο - θέση αποθήκευσης του αποτελέσματος είναι πάντα ο συσσωρευτής 1-address architecture Αρχιτεκτονική των πρώτων υπολογιστών! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 21

158 Αρχιτεκτονικές με καταχωρητές (registers) Ο επεξεργαστής καταχωρητές ISA Κατηγορίες εντολών Προέλευση δεδομένων ALU μνήμη add R2, R1,mem(100) (R2 = R1 + mem[100])! Καταχωρητές: προσωρινές θέσεις αποθήκευσης αποτελεσμάτων, η γενίκευση της ιδέας του συσσωρευτή. Memory-register Οποιαδήποτε εντολή μπορεί να προσπελάσει τη μνήμη Όμως: Πολλαπλές προσπελάσεις μνήμης Λήψη εντολής Λήψη εντέλων Συνωστισμός στον δίαυλο επικοινωνίας με μνήμη Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 22

159 Αρχιτεκτονικές με καταχωρητές (registers) Ο επεξεργαστής ISA Κατηγορίες εντολών Προέλευση δεδομένων καταχωρητές ALU add R1, R2,R3 (R1 = R2 + R3) ; Είναι επιθυμητός ένα πολύ μεγάλος αριθμός καταχωρητών; Register-register (load-store) Μόνο εντολές load-store μπορούν να προσπελάσουν τη μνήμη Η αρχιτεκτονική των σύγχρονων επεξεργαστών Οι καταχωρητές προσπελαύνονται πολύ γρήγορα Χρειάζονται λιγότερα bits για να επιλεγούν Οι μεταγλωττιστές αναθέτουν μεταβλητές σε καταχωρητές Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 23

160 Μέθοδοι προσπέλασης μνήμης Ο επεξεργαστής ISA Κατηγορίες εντολών Προέλευση δεδομένων Προσπέλαση μνήμης Τουλάχιστον κάποιες εντολές προσπελαύνουν τη μνήμη για ανάγνωση ή εγγραφή δεδομένων Πώς σχηματίζεται η διεύθυνση προσπέλασης; Η γενική ιδέα: υποβοήθηση του λογισμικού Διαφορετικός σχηματισμός διεύθυνσης για Τοπικές μεταβλητές Δείκτες (έμμεση προσπέλαση) Στατικά δεδομένα Διάσχιση πινάκων (Σταθερές τιμές) Υποστήριξη ανάλογα με αρχιτεκτονική Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 24

161 Μέθοδοι προσπέλασης μνήμης Ο επεξεργαστής ISA Κατηγορίες εντολών Προέλευση δεδομένων Προσπέλαση μνήμης ; Πώς κωδικοποιούνται οι μέθοδοι προσπέλασης μνήμης μέσα στην εντολή; Στο σχηματισμό της διεύθυνσης μνήμης μπορούν να συμμετέχουν: Απόλυτες τιμές διεύθυνσης Καταχωρητές Σταθερές τιμές μετατόπισης (offsets) displacement register indirect indexed direct memory indirect auto-increment scaled mem[offs+reg] mem[reg] mem[reg1+reg2] mem[addr] mem[mem[reg]] mem[reg++] mem[offs+reg1+reg2*d] πιθανή χρήση τοπικές δείκτες πίνακες στατικές *δείκτες πίνακες πίνακες Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 25

162 Η εξέλιξη της αρχιτεκτονικής εντολών Ο επεξεργαστής ISA Κατηγορίες εντολών Προέλευση δεδομένων Προσπέλαση μνήμης Εξέλιξη αρχιτεκτονικής Οι πρώτοι υπολογιστές ( ) Αρχιτεκτονική συσσωρευτή και αργότερα σωρού Ικανοποιητική λύση λόγω της απλής τεχνολογίας των μεταγλωττιστών Πολύπλοκες αρχιτεκτονικές ( ) Ενσωμάτωση σύνθετων μορφών εντολών και μεθόδων προσπέλασης μνήμης Προσπάθεια υποστήριξης υψηλών γλωσσών προγραμματισμού μείωσης κόστους λογισμικού Πολλά χαρακτηριστικά μένουν αχρησιμοποίητα! Complex Instruction Set Computers (CISC) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 26

163 Η εξέλιξη της αρχιτεκτονικής εντολών Ο επεξεργαστής ISA Κατηγορίες εντολών Προέλευση δεδομένων Προσπέλαση μνήμης Εξέλιξη αρχιτεκτονικής Reduced Instruction Set Computers (RISC) ( 80 - ) Απλούστερες και φθηνότερες load-store αρχιτεκτονικές με σταθερό μήκος εντολών Μεγαλύτερη απόδοση ταχύτερη εκτέλεση εντολών Ευνοείται από την αφθονία υλικού χαμηλού κόστους και την προηγμένη τεχνολογία των μεταγλωττιστών Ακόμα και ο μοναδικός επιζών επεξεργαστής με εντολές CISC (αρχιτεκτονική x86), μεταφράζει εσωτερικά σε εντολές RISC Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών 27

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

165 Αρχιτεκτονική Συνόλου Εντολών ISA Τι περιγράφει; Διαθέσιμες πράξεις/λειτουργίες Κωδικοποίηση λειτουργιών Μορφή των δεδομένων εισόδου-εξόδου Έντελα (operands) Μέθοδοι προσπέλασης μνήμης Προέλευση των δεδομένων Χώροι προσωρινής αποθήκευσης Καταχωρητές Διακοπές και καταστάσεις σφάλματος Ποια η αντίδραση του επεξεργαστή Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 2

166 Σχεδιασμός Συνόλου Εντολών ISA Συμβιβασμός μεταξύ: Κόστους και απόδοσης υλικού Βαθμού υποστήριξης λογισμικού Άλλων παραγόντων όπως η κατανάλωση ενέργειας Το υλικό καταναλώνει ενέργεια, υπό τον έλεγχο του λογισμικού όμως! Μη επικάλυψης λειτουργιών εντολών (orthogonality) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 3

167 Κωδικοποίηση Εντολών Μηχανής ISA opcode operand1 operand2.. operandn Σειρά δυαδικών ψηφίων Μεταβλητού μήκους ; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Περισσότερο συμπαγή προγράμματα Πολυπλοκότερο υλικό! Σταθερού μήκους Απλούστερη και ταχύτερη λήψη-αποκωδικοποίηση Μεγαλύτερα προγράμματα Μέθοδοι συμπίεσης Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 4

168 Κωδικοποίηση Εντολών Μηχανής ISA opcode operand1 operand2.. operandn Περιγράφει το είδος της πράξης που θα εκτελεστεί Περιγράφουν την προέλευση των δεδομένων εισόδου (αριθμό καταχωρητή, διεύθυνση μνήμης κλπ) και τον προορισμό των δεδομένων εξόδου (αποτέλεσμα πράξης) Το είδος της πράξης προσδιορίζει τον τύπο, την προέλευση και τον αριθμό των δεδομένων που συμμετέχουν στην πράξη! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 5

169 Εντολές Μηχανής και Assembly ISA! Κάθε διαφορετική αρχιτεκτονική επεξεργαστών έχει διαφορετική γλώσσα assembly! Εντολές μηχανής Σειρές από bits (ομάδες bytes ανά εντολή) Τα bits αυτά κωδικοποιούν όλα τα χαρακτηριστικά κάθε εντολής Assembly Μνημονικός τρόπος αναπαράστασης εντολών Ευκολότερη κατανόηση από τον άνθρωπο Προσοχή: MOV R1,R2 // π.χ. R1 => R2 MOV R1,#100 // π.χ. R1 => mem[100] παρόλο που το μνημονικό MOV είναι ίδιο, δεν πρόκειται για την ίδια εντολή! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 6

170 Τα παραδείγματά μας: Intel IA-32 (και 64) ISA i Και η ανταγωνίστρια εταιρία AMD παράγει επεξεργαστές συμβατούς με την αρχιτεκτονική αυτή Αρχιτεκτονική επεξεργαστών Intel IA-32 και Intel 64 Μία πολύπλοκη αρχιτεκτονική επεξεργαστών με σύνθετο σετ εντολών διατήρηση συμβατότητας με παλαιότερους επεξεργαστές της Intel (legacy compatibility) Με πολύ μεγάλη εγκατεστημένη βάση Συστήματα PCs Όχι η βέλτιστη αρχιτεκτονική αλλά: Το μεγάλο μερίδιο που κατέχει στην αγορά επιτρέπει στην Intel έρευνα και ανάπτυξη για διαρκείς βελτιώσεις απόδοσης Τελικά η αρχιτεκτονική αυτή είναι βέλτιστη μέσα στην τεράστια πολυπλοκότητά της Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 7

171 Τα παραδείγματά μας: Intel IA-32 (και 64) ISA Οικογένειες επεξεργαστών Pentium P6 Pentium Pro, II, III Netburst Pentium 4, D (IA-32 σε νεώτερες εκδόσεις και Intel 64) Pentium M Intel Core, Core Duo Intel Core (IA-32 και Intel 64) Intel Core 2 Duo Intel 64 and IA-32 Architectures Software Developer's Manuals Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 8

172 Intel IA-32: η γενική μορφή των εντολών Μεταβλητός αριθμός bytes ανά εντολή (1-17)! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 9

173 Προέλευση και αποθήκευση δεδομένων ISA Προέλευση δεδομένων Προέλευση δεδομένων αποθήκευση αποτελεσμάτων μιας πράξης Operand addressing Εξαρτάται από την αρχιτεκτονική του επεξεργαστή Στους πρώτους επεξεργαστές Stack (σωρός-στοίβα) Accumulator (συσσωρευτής) Μεταγενέστεροι υπολογιστές Καταχωρητές Μνήμη (register-memory) Κυρίως καταχωρητές (register-register ή load-store) μόνο ανάγνωση και εγγραφή μνήμης Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 10

174 Αρχιτεκτονική σωρού (stack) ISA Προέλευση δεδομένων ALU TOS push A push B add pop A Πηγή-προορισμός προσδιορίζονται έμμεσα Δεν περιγράφονται στην εντολή! 0-address architecture Δημοφιλές σχήμα κατά τη δεκαετία του 60 Δύσκολη προσπέλαση σωρού, απαιτούνται πολλαπλές αντιμεταθέσεις και αντιγραφές Το σχήμα επιζεί στην αρχιτεκτονική της Java VM Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 11

175 Αρχιτεκτονική συσσωρευτή (accumulator) ISA Προέλευση δεδομένων accumulator (A) μνήμη add X (A = A + X) ALU Μία πηγή - θέση αποθήκευσης του αποτελέσματος είναι πάντα ο συσσωρευτής 1-address architecture Αρχιτεκτονική των πρώτων υπολογιστών! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 12

176 Αρχιτεκτονικές με καταχωρητές (1) ISA Προέλευση δεδομένων καταχωρητές μνήμη add R2, R1,mem(100) (R2 <= R1 + mem[100]) ALU! Καταχωρητές: προσωρινές θέσεις αποθήκευσης αποτελεσμάτων, η γενίκευση της ιδέας του συσσωρευτή. Memory-register Οποιαδήποτε εντολή μπορεί να προσπελάσει τη μνήμη Όμως: Πολλαπλές προσπελάσεις μνήμης Λήψη εντολής Λήψη εντέλων Συνωστισμός στον δίαυλο επικοινωνίας με μνήμη Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 13

177 Αρχιτεκτονικές με καταχωρητές (2) ISA Προέλευση δεδομένων καταχωρητές add R1, R2,R3 (R1 <= R2 + R3) ; Είναι επιθυμητός ένα πολύ μεγάλος αριθμός καταχωρητών; ALU Register-register (load-store) Μόνο εντολές load-store μπορούν να προσπελάσουν τη μνήμη Η αρχιτεκτονική των σύγχρονων επεξεργαστών Οι καταχωρητές προσπελαύνονται πολύ γρήγορα Χρειάζονται λιγότερα bits για να επιλεγούν Οι μεταγλωττιστές αναθέτουν μεταβλητές σε καταχωρητές Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 14

178 Η εξέλιξη της αρχιτεκτονικής εντολών ISA Προέλευση δεδομένων Οι πρώτοι υπολογιστές ( ) Αρχιτεκτονική συσσωρευτή και αργότερα σωρού Ικανοποιητική λύση λόγω της απλής τεχνολογίας των μεταγλωττιστών Πολύπλοκες αρχιτεκτονικές ( ) Ενσωμάτωση σύνθετων μορφών εντολών και μεθόδων προσπέλασης μνήμης Προσπάθεια υποστήριξης υψηλών γλωσσών προγραμματισμού μείωσης κόστους λογισμικού Πολλά χαρακτηριστικά μένουν αχρησιμοποίητα! Complex Instruction Set Computers (CISC) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 15

179 Η εξέλιξη της αρχιτεκτονικής εντολών ISA Προέλευση δεδομένων Reduced Instruction Set Computers (RISC) ( 80 - ) Απλούστερες και φθηνότερες load-store αρχιτεκτονικές με σταθερό μήκος εντολών Μεγαλύτερη απόδοση ταχύτερη εκτέλεση εντολών Ευνοείται από την αφθονία υλικού χαμηλού κόστους και την προηγμένη τεχνολογία των μεταγλωττιστών Ακόμα και ο μοναδικός επιζών επεξεργαστής με εντολές CISC (αρχιτεκτονική x86), μεταφράζει εσωτερικά σε εντολές RISC Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 16

180 ΙΑ-32 (64): memory-register ISA Προέλευση δεδομένων Πολλές εντολές γενικού σκοπού πέρα από τις load και store έχουν ως πηγή ή προορισμό τη μνήμη AND Logical AND Opcode Instruction /4 iw AND r/m16, imm16 81 /4 id AND r/m32, imm /r AND r/m16, r16 21 /r AND r/m32, r32 REX.W + 21 /r AND r/m64, r64 22 /r AND r8, r/m /r AND r32, r/m32 REX.W + 23 /r AND r64, r/m64...κλπ.. Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 17

181 ΙΑ-32: καταχωρητές ISA Προέλευση δεδομένων γενικού σκοπού και σχηματισμός διευθύνσεων i Εκτός από τους καταχωρητές γενικού σκοπού, οι επεξεργαστές ΙΑ- 32 έχουν πρόσθετους καταχωρητές για πράξεις κινητής υποδιαστολής και πράξεις streaming και multimedia. τμηματοποίηση (σε επόμενα μαθηματα) καταχωρητής κατάστασης program counter Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 18

182 Μέθοδοι προσπέλασης μνήμης ISA Προέλευση δεδομένων Προσπέλαση μνήμης Τουλάχιστον κάποιες εντολές προσπελαύνουν τη μνήμη για ανάγνωση ή εγγραφή δεδομένων Πώς σχηματίζεται η διεύθυνση προσπέλασης; Η γενική ιδέα: υποβοήθηση του λογισμικού Διαφορετικός σχηματισμός διεύθυνσης για Τοπικές μεταβλητές Δείκτες (έμμεση προσπέλαση) Στατικά δεδομένα Διάσχιση πινάκων (Σταθερές τιμές) Υποστήριξη ανάλογα με αρχιτεκτονική Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 19

183 Μέθοδοι προσπέλασης μνήμης ISA Προέλευση δεδομένων Προσπέλαση μνήμης Στο σχηματισμό της διεύθυνσης μνήμης μπορούν να συμμετέχουν: Απόλυτες τιμές διεύθυνσης Καταχωρητές Σταθερές τιμές μετατόπισης (offsets) πιθανή χρήση displacement mem[offs+reg] τοπικές register indirect mem[reg] δείκτες ; Πώς κωδικοποιούνται οι μέθοδοι προσπέλασης μνήμης μέσα στην εντολή; indexed direct memory indirect auto-increment scaled mem[reg1+reg2] mem[addr] mem[mem[reg]] mem[reg++] mem[offs+reg1+reg2*d] πίνακες στατικές *δείκτες πίνακες πίνακες Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 20

184 ΙΑ-32 (64): Σχηματισμός διευθύνσεων ISA Προέλευση δεδομένων Προσπέλαση μνήμης καταχωρητές που χρησιμοποιούνται με ειδικό τρόπο Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 21

185 Εντολές: κατηγορίες λειτουργιών ISA Προέλευση δεδομένων Προσπέλαση μνήμης Κατηγορίες εντολών Βασικές κατηγορίες Αριθμητικές και λογικές πράξεις Μεταφορά δεδομένων Από-πρός Καταχωρητές και Μνήμη Έλεγχος ροής εκτέλεσης Διακλαδώσεις και κλήσεις ρουτινών Άλλες κατηγορίες Ειδικές εντολές συστήματος ΛΣ, ιδεατή μνήμη Επεξεργασία πολλαπλών δεδομένων Χρήσιμο για γραφικά, σειρές χαρακτήρων, multimedia Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 22

186 Αριθμητικές εντολές και μεταφορά δεδομένων Αριθμητικές-λογικές πράξεις ISA Προέλευση δεδομένων Πηγές δεδομένων και προορισμός Προσπέλαση μνήμης add R1, R2, R3 // R3 = R1+R2 Κατηγορίες εντολών add R1 R2 R3 ; Τι συμβολίζουν τα R1, R2..; Πώς αναπαρίστανται μέσα στην εντολή; Μεταφορά δεδομένων Πηγή δεδομένων και προορισμός Μήκος μεταφερόμενης λέξης (ενδεχομένως) load R1, 0x7FF0 // R1 = mem[0x7ff0] load R1 0x7FF0 Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 23

187 ΙΑ-32: εντολές μεταφοράς δεδομένων Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 24

188 Εντολές διακλάδωσης ISA Προέλευση δεδομένων Προσπέλαση μνήμης Κατηγορίες εντολών Διακλάδωση Με ή χωρίς συνθήκη bne R1, R2, +8 // branch if not R1==R2 Σε απόλυτη διεύθυνση jump 0xFF97DE00 Σχετικά ως προς την τρέχουσα θέση (offset) jump +130 // offset = +130 Ο παραγόμενος κώδικας μπορεί να τοποθετηθεί οπουδήποτε στη μνήμη bne R1 R2 +8 Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 25

189 IA-32: Εντολές διακλάδωσης ISA Προέλευση δεδομένων Προσπέλαση μνήμης Κατηγορίες εντολών Με ή χωρίς συνθήκη Σε απόλυτη ή σχετική διεύθυνση 16 ή 32 bits απόλυτη διεύθυνση πιθανώς σε μνήμη ή καταχωρητή 8, 16 ή 32 bits σχετική διεύθυνση Συνθήκη: καταχωρητής κατάστασης EFLAGS Μεταξύ τμημάτων κώδικα της ίδιας ή διαφορετικής διεργασίας Κλήση συναρτήσεων Όπως η διακλάδωση με αποθήκευση πρόσθετης πληροφορίας (program stack) για επιστροφή από συνάρτηση στο σημείο μετά την κλήση Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 26

190 Εντολές διακλάδωσης ISA Προέλευση δεδομένων Προσπέλαση μνήμης Κατηγορίες εντολών Κλήση συναρτήσεων και επιστροφή Αποθήκευση της τρέχουσας διεύθυνσης εκτέλεσης (καταχωρητή PC) Πριν τη μετάβαση στη συνάρτηση Χρήση αποθηκευμένης τιμής Κατά την επιστροφή (return) ; Πού θα μπορούσε να αποθηκευτεί η διεύθυνση επιστροφής μετά από κλήση συνάρτησης; frame pointer Παράμετροι εισόδου Χώρος για επιστρεφόμενη τιμή Διεύθυνση επιστροφής Προηγούμενη τιμή frame pointer Τοπικές μεταβλητές Προσωρινές θέσεις αποθήκευσης Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 27

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

192 Η υπολογιστική μηχανή: ο επεξεργαστής Ο επεξεργαστής επεξεργαστής CPU CPU έως 6.4GB/s P-bus (host bus, FSB, HyperTransport..) video device AGP-PCIe έως 2.1GB/s north bridge M-bus (mem bus) έως 3.2GB/s DRAM Επεξεργαστής Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) USB έως 480Mbit/s south bridge (S)ATA ΜB/s έως 266ΜB/s PCI Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 2

193 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Ο επεξεργαστής ΚΜΕ (Μικρο)επεξεργαστής Ψηφιακό σύστημα που εκτελεί υπολογισμούς σε πολλαπλά βήματα Κεντρική Μονάδα Επεξεργασίας Συνώνυμο του επεξεργαστή (σχεδόν!) Στην ίδια συσκευασία Κρυφή Μνήμη (1 ου και 2 ου επιπέδου) Ελεγκτές Ε/Ε Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 3

194 Σχεδιασμός μιας απλής ΚΜΕ Ο επεξεργαστής ΚΜΕ i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες! Παραδοχές Μοντέλο load-store Αριθμητικές-λογικές πράξεις Ανάγνωση-εγγραφή από/στη μνήμη Εντολές διακλάδωσης Ν καταχωρητές γενικού σκοπού Απλουστευμένο μοντέλο μνήμης Ως κουτί που δέχεται διεύθυνση και επιστρέφει δεδομένα και εντολές Αντιπροσωπεύει στην πραγματικότητα μια ιεραρχία μνήμης! Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 4

195 Εκτέλεση πράξεων: ΑΛΜ Ο επεξεργαστής ΚΜΕ ΑΛΜ είσοδος Α επιλογή πράξης είσοδος Β ALU αποτέλεσμα i Μ Μ Αριθμητική-Λογική Μονάδα (ΑΛΜ) Arithmetic-Logic Unit (ALU) Εκτέλεση αριθμητικών και λογικών πράξεων Εκτέλεση συγκρίσεων (για διακλάδωση υπό συνθήκη) Υπολογισμός διευθύνσεων (για προσπέλαση μνήμης) Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 5

196 Εντολές για αριθμητικές λογικές πράξεις Ο επεξεργαστής ΚΜΕ ΑΛΜ op R1 R2 R3 Σε κάθε εκτέλεση εντολής Ανάγνωση από 2 καταχωρητές Εγγραφή σε 1 καταχωρητή Ίδια ροή δεδομένων R3 R1 op R2 διαφορετική επιλεγόμενη πράξη Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 6

197 Συστοιχία καταχωρητών (register file) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές επιλογή B επιλογή A είσοδος έξοδος Α επιλογή εγγραφής register file έξοδος Β επίτρεψη εγγραφής! Τα σήματα στο σχήμα αυτό (και στα επόμενα) πιθανόν να αποτελούνται από πολλά bits το καθένα! clk Ανάγνωση: Επιλογή Α και Επιλογή Β Ποιων καταχωρητών το περιεχόμενο θα εμφανιστεί στην αντίστοιχη έξοδο Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 7

198 Συστοιχία καταχωρητών (register file) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές επιλογή B επιλογή A είσοδος έξοδος Α επιλογή εγγραφής register file έξοδος Β επίτρεψη εγγραφής clk Εγγραφή: στην (θετική) ακμή του clk Στον καταχωρητή που ορίζει η επιλογή εγγραφής, εάν το επιτρέπει η επίτρεψη εγγραφής Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 8

199 Ένα απλό μονοπάτι δεδομένων (datapath) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath rdselb rdsela wrsel register file wr opsel ALU clk ; Ποιος οδηγεί τα σήματα ελέγχου; Εκτέλεση μιας εντολής ανά κύκλο ρολογιού Ανάγνωση και εγγραφή στον ίδιο κύκλο; Ναι, η ανάγνωση θα δώσει το αποτέλεσμα εγγραφής προηγούμενου κύκλου Ενώ η εγγραφή θα είναι διαθέσιμη για ανάγνωση στον επόμενο κύκλο Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 9

200 Η μονάδα ελέγχου (control unit) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου εντολή control unit datapath ; Από πού προέρχονται οι εντολές; Αποκωδικοποίηση bits της εντολής Επιλογή καταχωρητών προέλευσης δεδομένων Επιλογή καταχωρητή αποθήκευσης αποτελέσματος Επιλογή λειτουργίας ΑΛΜ Το δυσκολότερο στη σχεδίαση τμήμα της ΚΜΕ Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 10

201 Η μνήμη εντολών Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές διεύθυνση μνήμη εντολών εντολή Μια χρήσιμη αφαίρεση Στην πραγματικότητα Αντιπροσωπεύει μια ιεραρχία μνήμης Από την κρυφή μνήμη 1 ου επιπέδου μέχρι την κύρια μνήμη Πιθανόν να μην είναι δυνατή η ανάκτηση εντολής ανά κύκλο ρολογιού Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 11

202 Η διεύθυνση της επόμενης εντολής Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές επόμενη διεύθυνση PC clk +d + μνήμη εντολών εντολή Program Counter (PC) Περιέχει τη διεύθυνση στη μνήμη της επόμενης εντολής Αυξάνεται κατά την εκτέλεση κάθε εντολής Επόμενη διεύθυνση = τρέχουσα + d Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 12

203 Ο κύκλος μηχανής Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Στάδια εκτέλεσης εντολής Instruction Fetch (IF) Ανάκτηση εντολής προς εκτέλεση Instruction Decode (ID) Επιλογή δεδομένων και λειτουργιών ανάλογα με εντολή Execute (EX) Εκτέλεση υπολογισμού στην ΑΛΜ ; Ποια στάδια χρησιμοποιούν οι εντολές για αριθμητικές και λογικές πράξεις; Data Memory Access (DM) Προσπέλαση μνήμης δεδομένων Write Back (WB) Αποθήκευση αποτελεσμάτων σε καταχωρητή Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 13

204 Instruction Fetch (IF) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές επόμενη διεύθυνση PC +d + μνήμη εντολών Μονάδα ελέγχου op R1 R2 R3 register file ALU Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 14

205 Instruction Decode (ID) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές επόμενη διεύθυνση PC +d + μνήμη εντολών Μονάδα ελέγχου op R1 R2 R3 register file ALU Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 15

206 Execute (EX) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές επόμενη διεύθυνση PC +d + μνήμη εντολών Μονάδα ελέγχου op R1 R2 R3 register file ALU Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 16

207 Write Back (WB) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές επόμενη διεύθυνση PC +d + μνήμη εντολών Μονάδα ελέγχου op R1 R2 R3 ; Τι χρειάζεται να αλλάξει για να προστεθεί η εισαγωγή σταθερών; register file ALU Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 17

208 Εντολές διακλάδωσης (branch ή jump) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις Παράδειγμα beq R1 R2 offset if R1 == R2 then PC PC + offset branch if equal Διακλάδωση υπό συνθήκη Βασισμένο σε αποτέλεσμα πράξης ΑΛΜ Σχετική διεύθυνση Υπολογισμός συνθήκης διακλάδωση Στην ίδια εντολή Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 18

209 Διακλαδώσεις και ενημέρωση PC Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις επόμενη διεύθυνση PC +d + μνήμη εντολών MUX + εντολή επιλογή νέας διεύθυνσης op R1 R2 offs Επιλογή νέας επόμενης διεύθυνσης Η νέα τιμή του PC Από τη μονάδα ελέγχου Σύμφωνα με τιμές από πράξη στην ΑΛΜ Π.χ. σύγκριση 2 καταχωρητών Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 19

210 Execute (EX) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις επόμενη διεύθυνση PC +d + μνήμη εντολών MUX + εντολή έλεγχος διακλάδωσης op R1 R2 offs register file ALU συνθήκη μετά την πράξη Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 20

211 Ενημέρωση PC ( DM ) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις επόμενη διεύθυνση PC +d + μνήμη εντολών MUX + εντολή έλεγχος διακλάδωσης op R1 R2 offs register file ALU συνθήκη μετά την πράξη Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 21

212 Εντολές προσπέλασης μνήμης (load-store) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις Προσπέλαση μνήμης Παράδειγμα load R1 R2 offset R1 mem[r2 + offset] Μόνο οι εντολές load και store προσπελαύνουν τη μνήμη δεδομένων Η διεύθυνση μνήμης παράγεται από την ΑΛΜ Ως άθροισμα καταχωρητή + σταθεράς Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 22

213 Η μνήμη δεδομένων Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις Προσπέλαση μνήμης διεύθυνση δεδομένα εγγραφής μνήμη δεδομένων clk read/write Μια επίσης χρήσιμη αφαίρεση Ή εγγραφή ή ανάγνωση clk για την εγγραφή Στην πραγματικότητα Αντιπροσωπεύει μια ιεραρχία μνήμης δεδομένα ανάγνωσης Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 23

214 Προσπέλαση μνήμης δεδομένων Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις Προσπέλαση μνήμης επόμενη διεύθυνση PC +d + μνήμη εντολών MUX + εντολή έλεγχος διακλάδωσης op R1 R2 offs register file MUX ALU μνήμη δεδομένων MUX Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 24

215 Execute (EX) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις Προσπέλαση μνήμης επόμενη διεύθυνση PC +d + μνήμη εντολών MUX + εντολή έλεγχος διακλάδωσης ld R1 R2 offs register file MUX ALU μνήμη δεδομένων MUX Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 25

216 Data Memory Access (DM) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις Προσπέλαση μνήμης επόμενη διεύθυνση PC +d + μνήμη εντολών MUX + εντολή έλεγχος διακλάδωσης ld R1 R2 offs register file MUX ALU μνήμη δεδομένων MUX Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 26

217 Write Back (WB) Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις Προσπέλαση μνήμης επόμενη διεύθυνση PC +d + μνήμη εντολών MUX + εντολή έλεγχος διακλάδωσης ld R1 R2 offs register file MUX ALU μνήμη δεδομένων MUX Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 27

218 Σύνοψη λειτουργίας ΚΜΕ Ο επεξεργαστής ΚΜΕ ΑΛΜ Καταχωρητές Datapath Μονάδα Ελέγχου Εντολές Διακλαδώσεις Προσπέλαση μνήμης Σύνοψη Κύκλοι ρολογιού ανά εντολή Clocks per Instruction (CPI) Στο σημερινό παράδειγμα ΚΜΕ: 1 κύκλος ανά εντολή Περίοδος κύκλου ρολογιού Clock Cycle (Period) (CC) Στο σημερινό παράδειγμα ΚΜΕ CC σταθερό ανεξάρτητα από είδος εντολής CC εξαρτάται από την πιο χρονοβόρα πράξη! Όχι αποδοτικό σχήμα Υπάρχει τεχνική για βελτίωση της απόδοσης; (στο επόμενο μάθημα) Αρχιτεκτονική Υπολογιστών Κεντρική Μονάδα Επεξεργασίας 28

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

220 Κεντρική Μονάδα Επεξεργασίας Απόδοση ΚΜΕ επεξεργαστής CPU CPU έως 6.4GB/s P-bus (host bus, FSB ) video device AGP-PCIe έως 2.1GB/s north bridge M-bus (mem bus) έως 3.2GB/s DRAM Επεξεργαστής ή... Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) USB έως 480Mbit/s south bridge έως 266ΜB/s (S)ATA ΜB/s PCI Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 2

221 Απόδοση ΚΜΕ Απόδοση ΚΜΕ Υπολογιστικό σύστημα Η απόδοση εξαρτάται από όλα τα επιμέρους τμήματά του Υλικό και λογισμικό Κεντρική Μονάδα Επεξεργασίας Πόσο γρήγορα εκτελείται ένα πρόγραμμα; Επίσης σε αρχιτεκτονικές ειδικού σκοπού: αξιοπιστία, κατανάλωση ενέργειας Πώς επηρεάζει η αρχιτεκτονική την απόδοση; Πόσο γρηγορότερα εκτελείται ένα πρόγραμμα μετά από μια αρχιτεκτονική αλλαγή; Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 3

222 Εκτέλεση προγραμμάτων Απόδοση ΚΜΕ Χρόνος εκτέλεσης (execution( time) Επίσης: response time Ο συνολικός χρόνος εκτέλεσης ενός προγράμματος Μαζί με επιβάρυνση λειτουργικού συστήματος Αύξηση απόδοσης Μείωση χρόνου εκτέλεσης i Για υπολογιστή Χ: Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο Απόδοση(Χ) = 1 Χρόνος Εκτέλεσης(Χ) Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 4

223 Συγκρίνοντας δύο υπολογιστές Απόδοση ΚΜΕ Συγκρίνοντας αποδόσεις Για υπολογιστές Χ και Υ Εάν: Απόδοση(Χ) > Απόδοση(Υ) Τότε (και αντίστροφα): ; Ο Χ εκτελεί ένα πρόγραμμα σε 10 sec και ο Υ σε 15 sec. Πόσο πιο γρήγορος είναι ο Χ; Χρόνος Εκτέλεσης(Χ) < Χρόνος Εκτέλεσης(Υ) Απόδοση(Χ) Απόδοση(Υ) = Χρόνος Εκτέλεσης(Υ) Χρόνος Εκτέλεσης(Χ) = n Ο Χ είναι n φορές γρηγορότερος από τον Υ Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 5

224 Απόδοση ΚΜΕ Απόδοση ΚΜΕ Χρόνος εκτέλεσης προγράμματος Εξαρτάται από όλα τα επιμέρους τμήματα του υπολογιστικού συστήματος Χρόνος εκτέλεσης ΚΜΕ Ο χρόνος για τον οποίο η ΚΜΕ εκτελεί εντολές του προγράμματος Όχι χρόνος για Ε/Ε ή άλλες διεργασίες Χρόνος προγράμματος χρήστη Για το πρόγραμμα καθεαυτό Χρόνος συστήματος Λειτουργίες ΛΣ για την εξυπηρέτηση του προγράμματος Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 6

225 Βασικά μεγέθη μέτρησης απόδοσης ΚΜΕ Απόδοση ΚΜΕ ; Πώς υπολογίζεται το CPI όταν υπάρχουν διαφορετικοί τύποι εντολών; Κύκλος ρολογιού (περίοδος) Clock Cycle (CC) Η διάρκεια ενός κύκλου ρολογιού κατά τον οποίο η ΚΜΕ εκτελεί τις μικρότερες βασικές λειτουργίες Σταθερό μέγεθος Κύκλοι ρολογιού ανά εντολή Clocks Per Instruction (CPI) Οι απαιτούμενοι κύκλοι ρολογιού για την ολοκλήρωση μιας εντολής Ενδεχομένως διαφορετικό μέγεθος ανά τύπο εντολής Αριθμός εντολών Instruction Count (IC) Ο αριθμός των εντολών Διάφοροι τύποι εντολών Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 7

226 Συσχέτιση με λογισμικό Απόδοση ΚΜΕ! Το υλικό (ISA) καθορίζει και τα τρία μεγέθη (IC, CPI και CC) Αλγόριθμος Καθορίζει το IC Ενδεχομένως καθορίζει το CPI, ευνοώντας ορισμένους τύπους εντολών (π.χ. κινητής υποδιαστολής) Γλώσσα προγραμματισμού Καθορίζει το ΙC (μετάφραση εντολών υψηλού επιπέδου) Καθορίζει το CPI απαιτώντας συγκεκριμένους τύπους εντολών Μεταγλωττιστής Καθορίζει το IC Καθορίζει το CPI Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 8

227 Χρόνος εκτέλεσης ΚΜΕ (χρήστη) Απόδοση ΚΜΕ Χρόνος Εκτέλεσης ΚΜΕ για ένα πρόγραμμα ExecTime = IC * CPI * CC Τι μπορεί να κάνει ο σχεδιαστής ΚΜΕ για να βελτιώσει την απόδοση; Να μειώσει τον κύκλο ρολογιού (CC)( Nα α μειώσει τον αριθμό κύκλων ανά εντολή (CPI) Οι εντολές παραμένουν ως έχουν Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 9

228 Παράδειγμα Απόδοση ΚΜΕ Τύπος εντολής A B C CPI Ακολουθία κώδικα A B C Επιλογή μεταξύ 2 ακολουθιών εντολών Ποια ακολουθία εκτελεί τις περισσότερες εντολές; Ποια είναι ταχύτερη; 4 Ποιο το μέσο CPI σε κάθε περίπτωση; [Patterson-Hennessy Computer Organization and Design, 3rd ed] 1 1 Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 10

229 Μετροπρογράμματα Απόδοση ΚΜΕ Benchmarks Για τη μέτρηση της απόδοσης Και τη σύγκριση μεταξύ υπολογιστών Θα πρέπει να αντιπροσωπεύουν τις πραγματικές εφαρμογές Υπό ρεαλιστικές συνθήκες εκτέλεσης και δεδομένα εισόδου Χωρίς εσωτερικές ειδικές βελτιστοποιήσεις Δυνατότητα επανάληψης μέτρησης Διαφορετικά για ανόμοιες κλάσεις υπολογιστών PCs, servers, embedded systems Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 11

230 Ο νόμος του Amdahl Απόδοση ΚΜΕ ; Ένα πρόγραμμα τρέχει για 100 sec σε έναν υπολογιστή και εκτελεί πολλαπλασιασμούς για 80 sec. Πόσο πρέπει να βελτιώσω τη ταχύτητα του πολλαπλασιασμού για να πενταπλασιάσω την απόδοση; Η βελτίωση της συνολικής απόδοσης ενός συστήματος μέσω της εισαγωγής ενός νέου χαρακτηριστικού, περιορίζεται από το βαθμό χρήσης αυτού του νέου χαρακτηριστικού Οι περισσότερο χρησιμοποιούμενες περιπτώσεις πρέπει να είναι γρήγορες! Όχι βελτιστοποίηση των σπάνιων περιπτώσεων! Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 12

231 ΚΜΕ ενός κύκλου (single-cycle) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου επόμενη διεύθυνση +d + MUX + έλεγχος διακλάδωσης PC μνήμη εντολών εντολή op R1 R2 offs Κάθε εντολή ολοκληρώνεται σε έναν κύκλο ρολογιού register file MUX ALU μνήμη δεδομένων MUX Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 13

232 ΚΜΕ ενός κύκλου (single-cycle) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου CPI = 1 Σε κάθε έναν κύκλο ρολογιού ολοκληρώνεται μια εντολή ή κάθε εντολή απαιτεί έναν κύκλο ρολογιού Πόσο πρέπει να είναι το CC; Ίσο με τη διάρκεια της μεγαλύτερης λειτουργίας! Μη αποδοτικό σχήμα Όλες οι εντολές δεν απαιτούν τον ίδιο χρόνο Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 14

233 Παράδειγμα Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου Εντολή Αριθμητική IF 200 ID 50 EX 100 DM 0 WB 50 Σύνολο 400 ps Διακλάδωση ps Ανάγνωση μνήμης ps Εγγραφή μνήμης ps CC πρέπει να είναι 600 ps (single cycle CPU) Αν ήταν δυνατή η χρήση με μεταβλητό CC (πρακτικά αδύνατο!) Ποια η βελτίωση της απόδοσης; 25% ανάγνωση, 10% εγγραφή, 45% αριθμητικές, 20% διακλάδωσης Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 15

234 ΚΜΕ πολλαπλών κύκλων (multi-cycle) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων CPI > 1 Κάθε εντολή χωρίζεται σε έναν μεταβλητό αριθμό βημάτων Κάθε βήμα απαιτεί έναν κύκλο ρολογιού Πόσο πρέπει να είναι το CC; Ίσο με τη διάρκεια του μεγαλύτερου βήματος Τα βήματα επιλέγονται με μικρή διάρκεια Μέρη της ΚΜΕ μπορούν να χρησιμοποιηθούν για περισσότερες από μία φορές κατά την εκτέλεση μιας εντολής Αρκεί να ανήκουν σε διαφορετικό βήμα Καταχωρητές για τη συγκράτηση αποτελεσμάτων μεταξύ βημάτων Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 16

235 Παράδειγμα: Εντολή load (βήμα IF) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων! Η εντολή load απαιτεί τα περισσότερα βήματα για να εκτελεστεί! PC μνήμη Ireg Dreg ανάκληση εντολής register file Areg Breg R1 mem[r2 + offset] +d ALU Oreg υπολογισμός νέου PC Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 17

236 Παράδειγμα: Εντολή load (βήμα ID) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων PC μνήμη Ireg προσπέλαση R2 register file Areg Dreg ALU Breg Oreg R1 mem[r2 + offset] Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 18

237 Παράδειγμα: Εντολή load (βήμα EX) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων PC μνήμη Ireg register file πρόσθεση R2+offset Dreg Areg ALU Breg Oreg R1 mem[r2 + offset] Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 19

238 Παράδειγμα: Εντολή load (βήμα DM) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων PC μνήμη Ireg register file Areg ALU Oreg ανάγνωση mem[r2+offset] Dreg Breg R1 mem[r2 + offset] Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 20

239 Παράδειγμα: Εντολή load (βήμα WB) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων PC μνήμη Ireg register file Areg ALU Oreg Dreg Breg ; αποθήκευση σε R1 Σε κάθε βήμα, μερικά τμήματα μένουν ανενεργά. Πώς θα μπορούσαμε να τα εκμεταλλευτούμε; R1 mem[r2 + offset] Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 21

240 Μονάδα Ελέγχου ΚΜΕ πολλαπλών κύκλων Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων Πολυπλοκότητα σημάτων ελέγχου Σε κάθε βήμα εκτέλεσης της εντολής Ανάλογα με το είδος της εντολής Διατήρηση προηγούμενης κατάστασης Μέθοδοι υλοποίησης Αυτόματα πεπερασμένων καταστάσεων Ακολουθιακά λογικά κυκλώματα Παραγωγή σημάτων ελέγχου ανάλογα με εισόδους και τρέχουσα κατάσταση Μικροπρόγραμμα Καθορισμός σημάτων μέσω μικροεντολών Εσωτερικά στην ΚΜΕ (δεν αλλάζουν μετά τη σχεδίαση) Για υλοποίηση σύνθετων εντολών με πολλά βήματα και πολλαπλά περάσματα από το datapath Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 22

241 Απόδοση ΚΜΕ πολλαπλών κύκλων Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων Πλεονεκτήματα Δεν απαιτείται ο μέγιστος χρόνος για το CC Μέρη της ΚΜΕ χρησιμοποιούνται με πολλαπλό τρόπο κατά την εκτέλεση μιας εντολής Μειονεκτήματα Η μονάδα ελέγχου γίνεται πολυπλοκότερη Η πολυπλοκότητα πιθανόν να ακυρώνει τα πλεονεκτήματα! Σήμερα Οι ΚΜΕ υψηλής απόδοσης χρησιμοποιούν πρόσθετες τεχνικές παραλληλισμού σε επίπεδο εντολών (instruction level parallelism ILP) (στο επόμενο μάθημα...) Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ 23

242 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) Μ.Στεφανιδάκης

243 Κεντρική Μονάδα Επεξεργασίας Απόδοση ΚΜΕ επεξεργαστής CPU CPU έως 6.4GB/s P-bus (host bus, FSB ) video device AGP-PCIe έως 2.1GB/s north bridge M-bus (mem bus) έως 3.2GB/s DRAM Επεξεργαστής ή... Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) USB έως 480Mbit/s south bridge έως 266ΜB/s (S)ATA ΜB/s PCI Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 2

244 Επανάληψη: Απόδοση ΚΜΕ Απόδοση ΚΜΕ Υπολογιστικό σύστημα Η απόδοση εξαρτάται από όλα τα επιμέρους τμήματά του Υλικό και λογισμικό Κεντρική Μονάδα Επεξεργασίας Πόσο γρήγορα εκτελείται ένα πρόγραμμα; ExecTime = IC * CPI * CC Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 3

245 ΚΜΕ ενός κύκλου (single-cycle) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου CC ΙΜ reg ALU reg add R1,R2,R3 Κάθε εντολή ολοκληρώνεται σε έναν κύκλο ρολογιού CPI = 1 CC = διάρκεια αργότερης εντολής ΙΜ reg ALU ld R1,R2,mem[addr] DΜ reg Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 4

246 Παράδειγμα Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου Εντολή Αριθμητική IF 200 ID 50 EX 100 DM 0 WB 50 Σύνολο 400 ps Διακλάδωση ps Ανάγνωση μνήμης ps Εγγραφή μνήμης ps CC πρέπει να είναι 600 ps Αν ήταν δυνατή η χρήση με μεταβλητό CC (πρακτικά αδύνατο!) Ποια η βελτίωση της απόδοσης; 25% ανάγνωση, 10% εγγραφή, 45% αριθμητικές, 20% διακλάδωσης Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 5

247 ΚΜΕ πολλαπλών κύκλων (multi-cycle) Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων CC ΙΜ CC CC CC CC reg ALU reg add R1,R2,R3 επόμενη εντολή Κάθε εντολή ολοκληρώνεται σε μεταβλητό αριθμό κύκλων ρολογιού CPI > 1 CC = διάρκεια αργότερου σταδίου ΙΜ reg ALU ld R1,(R2,mem-addr) DΜ reg Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 6

248 Απόδοση ΚΜΕ πολλαπλών κύκλων Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων CPI multiple cycle 1 single cycle CC Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 7

249 Πιθανότητα περαιτέρω βελτίωσης Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων IF CC CC CC CC ΙΜ reg ALU reg ID ΙΜ reg ALU reg Σε κάθε κύκλο, ένα μέρος της ΚΜΕ δεν χρησιμοποιείται! EX ΙΜ reg ALU reg WB ΙΜ reg ALU reg Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 8

250 Παραλληλισμός σε επίπεδο εντολών Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Instruction Level Parallelism (ILP) Παράλληλη (ταυτόχρονη) εκτέλεση Μεταξύ εντολών Pipelining Επικάλυψη εκτέλεσης πολλαπλών εντολών Την ίδια στιγμή Βαθμίδες pipeline Ρύθμιση του clock cycle Βασικό στοιχείο αύξησης απόδοσης σύγχρονων επεξεργαστών Στόχος Να μειωθεί το CC, αλλά ταυτόχρονα το CPI να παραμείνει 1 Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 9

251 Αρχές τεχνικής pipelining Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining CC CC CC CC CC ΙΜ reg ld R1,(R0,100) ΙΜ reg ALU DΜ reg ALU DΜ CC reg CC ld R2,(R0,200) ; Ποιος ο χρόνος εκτέλεσης μιας εντολής; Κάθε πότε ολοκληρώνεται μια εντολή; ld R3,(R0,300) ΙΜ reg ALU DΜ reg Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 10

252 Απόδοση τεχνικής pipelining Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Χρόνος ολοκλήρωσης μιας εντολής (latency) Δεν αλλάζει! Ρυθμός ολοκλήρωσης εντολών Σε κάθε έναν κύκλο ρολογιού Ολοκληρώνεται μια εντολή Μια νέα ξεκινά την εκτέλεσή της Η ιδανική περίπτωση... Απόδοση συστήματος μνήμης; Χρήση ίδιων βαθμίδων pipeline; Αλληλεξαρτήσεις δεδομένων εντολών; Διακλαδώσεις; Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 11

253 Απόδοση ιδανικού pipeline Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining CPI 1 deeply pipelined multiple cycle pipelined single cycle CC Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 12

254 Δυσκολίες στην εφαρμογή του pipelining Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Αδυναμία χρήσης μιας βαθμίδας Structural hazard Η βαθμίδα χρησιμοποιείται από άλλη εντολή Αποφεύγεται με σωστή σχεδίαση Αλληλεξαρτήσεις δεδομένων Data hazard Τα αναγκαία δεδομένα για την εκτέλεση μιας εντολής δεν είναι διαθέσιμα Υπολογίζονται από προηγούμενη εντολή Αντιμετωπίζεται με πρόσθετο υλικό Forwarding - bypassing Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 13

255 Forwarding - bypassing Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining ΙΜ add R1,R2,R3 sub R3,R4,R8 reg ΙΜ ALU reg reg ALU reg! Pipeline bubbles Δεν αποφεύγονται πάντοτε! ΙΜ add R1,R2,R3 reg ΙΜ reg ALU reg ALU reg sub R3,R4,R8 Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 14

256 Δυσκολίες στην εφαρμογή του pipelining Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Διακλαδώσεις Control (branch) hazard Η ροή της εκτέλεσης αλλάζει Οι εντολές που έχουν μπει στο pipeline δεν είναι οι σωστές! Πρόβλεψη διακλαδώσεων Δυναμικές μέθοδοι (διατήρηση ιστορίας προηγούμενων διακλαδώσεων) Συσχέτιση με αποφάσεις για άλλες διακλαδώσεις >90% σωστές προβλέψεις Σε περίπτωση λάθους πρόβλεψης Απόρριψη όλων των εντολών στο pipeline Χωρίς να λαμβάνονται υπ όψη τα αποτελέσματά τους Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 15

257 Pipelining και διακοπές-σφάλματα Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Interrupts - Exceptions Ποια εντολή στο pipeline προκάλεσε τη διακοπή; Διακοπή εκτέλεσης εντολής Ολοκλήρωση προηγούμενων εντολών στο pipeline Άδειασμα pipeline (flush) από τυχόν επόμενες εντολές Μετάβαση σε προκαθορισμένη διεύθυνση Λειτουργικό Σύστημα Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 16

258 Ακόμα μεγαλύτερος βαθμός ILP Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Προχωρημένες τεχνικές ILP Ο στόχος: CPI < 1 Η αλλιώς: ολοκλήρωση πολλών εντολών ανά κύκλο ρολογιού Πολλαπλές βαθμίδες εκτέλεσης Παράλληλο υλικό (hardware) Σε κάθε κύκλο ξεκινά η εκτέλεση πολλαπλών νέων εντολών Πολλαπλή εκτέλεση (multiple-issue) Στατική πολλαπλή εκτέλεση Ο μεταγλωττιστής αποφασίζει κατά κύριο λόγο ποιες εντολές θα εκτελεστούν ταυτόχρονα Δυναμική πολλαπλή εκτέλεση Οι αποφάσεις εκτέλεσης λαμβάνονται από την ΚΜΕ Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 17

259 Απόδοση multiple-issue επεξεργαστών Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Προχωρημένες τεχνικές ILP CPI 1 deeply pipelined multiple cycle pipelined single cycle deeply pipelined multi-issue pipelined multi-issue CC Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 18

260 Εικαζόμενη εκτέλεση Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Προχωρημένες τεχνικές ILP Speculative Execution Κλειδί για την αύξηση του βαθμού παραλληλίας σε επίπεδο εντολών Πολλαπλές βαθμίδες εκτέλεσης Πρόβλεψη αποτελεσμάτων για την επίτρεψη εκτέλεσης επόμενων εντολών με αλληλεξαρτήσεις Από τον μεταγλωττιστή ή τον επεξεργαστή Διόρθωση λάθους πρόβλεψης Προσωρινή αποθήκευση έως ότου τα δεδομένα να μην είναι πλέον εικαζόμενα Επηρεάζει απόδοση επεξεργαστή Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 19

261 Είδη multiple-issue επεξεργαστών Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Προχωρημένες τεχνικές ILP Επεξεργαστές VLIW Very Long Instruction Word Πακέτα πολλαπλών εντολών Παράλληλη εκτέλεση Δεν είναι δυνατοί όλοι οι συνδυασμοί εντολών στο ίδιο πακέτο Ο μεταγλωττιστής συγκροτεί τα πακέτα εντολών Ελέγχει σε (μεγάλο βαθμό) Αλληλεξαρτήσεις αλληλουχίες εντολών Πρόβλεψη διακλαδώσεων Intel IA-64 (Itanium), Trimedia CPUs Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 20

262 Intel Itanium processor Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Προχωρημένες τεχνικές ILP i Η Intel ονομάζει την αρχιτεκτονική αυτή EPIC (explicitly parallel instruction computer) Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 21

263 Είδη multiple-issue επεξεργαστών Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Προχωρημένες τεχνικές ILP Επεξεργαστές superscalar Ο επεξεργαστής ελέγχει σε κάθε κύκλο αν μπορεί να ξεκινήσει την εκτέλεση μιας η περισσότερων εντολών Πολλαπλές μονάδες εκτέλεσης Δυναμική απόφαση ανάθεσης εντολών σε μονάδες Εκτέλεση εκτός σειράς (out-of-order execution) Ο κώδικας εκτελείται πάντα σωστά Ανεξάρτητα από μεταγλώττιση Intel IA-32 (Pentium), PowerPC Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 22

264 IBM Power4 processor Απόδοση ΚΜΕ ΚΜΕ ενός κύκλου KME πολλαπλών κύκλων ILP Pipelining Προχωρημένες τεχνικές ILP Αρχιτεκτονική Υπολογιστών Παραλληλισμός σε επίπεδο εντολών 23

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

266 Κύρια Μνήμη Κύρια Μνήμη CPU CPU έως 6.4GB/s P-bus (host bus, FSB ) video device AGP-PCIe έως 2.1GB/s north bridge (mem bus) έως 3.2GB/s DRAM i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή USB έως 480Mbit/s south bridge έως 266ΜB/s (S)ATA ΜB/s PCI κύρια μνήμη Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 2

267 Τεχνολογίες Κύριας Μνήμης Κύρια Μνήμη Στους πρώτους υπολογιστές Ιστορικά, η κατασκευή κύριας μνήμης ήταν πολύ πιο δύσκολη από την κατασκευή των πρώτων υπολογιστών! Αρχικές τεχνολογίες Flip-flop με λυχνίες κενού Γραμμές καθυστέρησης υδραργύρου Μαγνητικές μνήμες (core memories ) Η πρώτη αξιόπιστη και σχετικά φθηνή τεχνολογία Κυριάρχησε για 20 περίπου χρόνια Ημιαγωγικές μνήμες (Intel( 1970) 1Kbit DRAM - core killer Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 3

268 Το μοντέλο της Μνήμης Τυχαίας Προσπέλασης Κύρια Μνήμη RAM διεύθυνση λέξη λέξη δεδομένα λέξη λέξη Η λέξη είναι η μικρότερη προσπελάσιμη ομάδα bits. Το εύρος των μεταφερόμενων δεδομένων σε κάθε ανάγνωση ή εγγραφή ισούται με το εύρος της λέξης μνήμης Random Access Memory (RAM) ανάγνωση/ εγγραφή επιλογή Λέξη μνήμης (word) με εύρος Μ bits Διεύθυνση (address) επιλογής λέξης, N bits Μέγεθος (χωρητικότητα) μνήμης 2 Ν xm bits Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 4

269 Διευθυνσιοδότηση μνήμης RAM Κύρια Μνήμη RAM 0x80154FF0 0x80154FF4 byte byte byte byte byte byte byte byte Λέξη μνήμης 0x80154FF8 byte byte byte byte ; Πώς προσπελαύνω bytes όταν η λέξη μνήμης έχει πολλαπλάσιο εύρος; Byte addressing Οι διευθύνσεις μνήμης που παράγει ο επεξεργαστής αυξάνονται ανά byte Ακόμα κι όταν η λέξη μνήμης έχει πολλαπλάσιο εύρος! Μετάφραση από ελεγκτή μνήμης Ευθυγραμμισμένη προσπέλαση: Αντικείμενο των s bytes στη διεύθυνση Α Α mod s = 0 Εναλλακτικά: word addressing Υπερυπολογιστές εδώ η προσπέλαση ανά byte είναι σπάνια Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 5

270 Οργάνωση Μνήμης Τυχαίας Προσπέλασης Κύρια Μνήμη RAM Τυπική εσωτερική οργάνωση μνήμης γραμμές λέξης wordlines (WL) κύκλωμα προφόρτισης (pre-charge circuit) γραμμές ψηφίου bitlines (BL) διεύθυνση δεδομένων αποκωδικοποιητης Χ συστοιχία κυττάρων μνήμης (cell array) λογική ελέγχου λειτουργιών i Οι μεγαλύτερες μνήμες RAM διαθέτουν πολλαπλές συστοιχίες κυττάρων μνήμης αποκωδικοποιητης Υ αισθητήρες-ενισχυτές (sensor-amplifiers) Επιλογέας Υ (Y-gating) γραμμές εισόδου/εξόδου δεδομένων κύτταρο μνήμης (memory cell) Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 6

271 Ταχύτητα Προσπέλασης RAM Κύρια Μνήμη RAM Access Time (χρόνος( προσπέλασης) Ο απαιτούμενος χρόνος για την ολοκλήρωση μιας αίτησης προς τη μνήμη RAM Ανάγνωση - Εγγραφή Cycle Time (χρόνος( κύκλου προσπέλασης) Ο ελάχιστος απαιτούμενος χρόνος μεταξύ διαδοχικών αιτήσεων προς τη μνήμη RAM Πρόβλεψη ενδιάμεσων λειτουργιών Ταχύτητα διαφορετική για ανάγνωση - εγγραφή! Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 7

272 Τύποι Μνήμης Τυχαίας Προσπέλασης Κύρια Μνήμη RAM SRAM Ο χρόνος προσπέλασης μιας μνήμης SRAM βρίσκεται μεταξύ 0,5 και 5 ns Το κόστος ενός GB SRAM είναι $4000-$ [Patterson, Hennessy] Στατική Μνήμη RAM (SRAM) Κάθε bit αποθηκεύεται σε κύτταρο 6 τρανζίστορ Ανάλογο ενός flip-flop Διατήρηση όσο υπάρχει τροφοδοσία της μνήμης Η προσπέλαση είναι γρήγορη Μεγαλύτερο κόστος Πολυπλοκότερο κύκλωμα Δεν επιτρέπει μεγάλη ολοκλήρωση Μικρής χωρητικότητας Μεγαλύτερη κατανάλωση ενέργειας Αλλά: ελάχιστη κατανάλωση σε standby mode Χρησιμοποιείται στις κρυφές μνήμες (caches)( Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 8

273 Τύποι Μνήμης Τυχαίας Προσπέλασης Κύρια Μνήμη RAM SRAM DRAM Ο χρόνος προσπέλασης μιας μνήμης DRAM βρίσκεται μεταξύ 50 και 70 ns Το κόστος ενός GB DRAM είναι $100-$200 [Patterson, Hennessy] Δυναμική Μνήμη RAM (DRAM) Κάθε bit αποθηκεύεται ως φορτίο Ανάλογο ενός πυκνωτή Διατήρηση μόνο με συχνή ανανέωση του φορτίου Κάθε 16 έως 128 ms (5% συνολικού χρόνου) Απλούστερο κύκλωμα μεγάλη ολοκλήρωση Πολύ μεγάλες χωρητικότητες (1Gbit/ολοκληρωμένο κυκλ.) Η προσπέλαση είναι αργή Αρχιτεκτονικές βελτιώσεις για αύξηση ρυθμού μεταφοράς δεδομένων Χρησιμοποιείται για τη συγκρότηση της κύριας μνήμης όλων των σύγχρονων υπολογιστικών συστημάτων Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 9

274 Τμήματα μνήμης DRAM Κύρια Μνήμη RAM SRAM DRAM 64 έως 72 bits δεδομένων (έως 4GB) Σύγχρονες μεταφορές στις 2 ακμές ρολογιού Σήματα ανίχνευσης και αναγνώρισης Διατάξεις βελτίωσης ηλεκτρικών χαρακτηριστικών σημάτων Ρυθμός μεταφοράς > 3.2GB/s Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 10

275 Η ιδανική μνήμη Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης διεύθυνση μνήμη εντολών εντολή διεύθυνση δεδομένα ανάγνωσης ; δεδομένα εγγραφής μνήμη δεδομένων Πόσο απέχει η ιδανική εικόνα από την πραγματικότητα; clk read/write Ολοκλήρωση ανάγνωσης-εγγραφής σε έναν κύκλο ρολογιού... Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 11

276 Η πραγματική εικόνα Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης ; Η ιδανική μνήμη είναι πρακτικά αδύνατο να υλοποιηθεί. Ποια η πιθανή λύση; Ένας σύγχρονος superscalar επεξεργαστής με ρολόι 3 GHz και έναρξη εκτέλεσης έως και 8 εντολών ανά κύκλο απαιτεί από τη μνήμη 24G εντολές/sec! Η ιδανική μνήμη θα έπρεπε να είναι Πολύ γρήγορη Πολύ φθηνή Με πολύ μεγάλη χωρητικότητα Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 12

277 Το χάσμα απόδοσης μεταξύ επεξεργαστή-μνήμης Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης απόδοση επεξεργαστές μνήμες Οι μνήμες ακολουθούν τον νόμο του Moore στην αύξηση της χωρητικότητάς τους, όχι όμως και στην απόδοση Επεξεργαστές: αύξηση απόδοσης 35%-55% /έτος Μνήμες: αύξηση απόδοσης 7% /έτος [Patterson-Hennessy] Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 13

278 Η αρχή της τοπικότητας Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης ένα πρόγραμμα εκτελεί το 90% των εντολών του μέσα στο 10% του κώδικά του Χρονική Τοπικότητα Εάν προσπελαστεί μια θέση μνήμης, είναι πολύ πιθανό να προσπελαστεί ξανά στο άμεσο μέλλον Π.χ. για εντολές ενός βρόχου (loop) Χωρική Τοπικότητα Εάν προσπελαστεί μια θέση μνήμης, είναι πολύ πιθανό να προσπελαστούν και οι γειτονικές θέσεις στο άμεσο μέλλον Εντολές προγραμμάτων Δεδομένα σε πίνακες κλπ Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 14

279 Ιεραρχίες Μνήμης Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης Πολλαπλά επίπεδα μνήμης Διαφορετικής τεχνολογίας Με διαφορετική ταχύτητα και μέγεθος Γρηγορότερη μνήμη κοντά στον επεξεργαστή CPU Και οι δικτυακές τοποθεσίες μπορούν να θεωρηθούν μέρος της ιεραρχίας μνήμης (το χαμηλότερο) 0,5-5ns $4.000-$10.000/GB 50-70ns $100-$200/GB ns $0,5-$2/GB Κρυφή μνήμη (SRAM) Κύρια μνήμη (DRAM) Μαγνητικοί δίσκοι Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 15

280 Σκοπός της Ιεραρχίας Μνήμης Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης Προσέγγιση της ιδανικής μνήμης Ο επεξεργαστής να βλέπει μνήμη Με την ταχύτητα του υψηλότερου επιπέδου Και το μέγεθος του χαμηλότερου CPU Για να επιτύχει τον σκοπό της η ιεραρχία μνήμης εκμεταλλεύεται την αρχή της τοπικότητας 0,5-5ns $4.000-$10.000/GB 50-70ns $100-$200/GB ns $0,5-$2/GB Κρυφή μνήμη (SRAM) Κύρια μνήμη (DRAM) Μαγνητικοί δίσκοι Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 16

281 Αποθήκευση δεδομένων στην Ιεραρχία Μνήμης Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης Αποθήκευση δεδομένων Τα υψηλότερα επίπεδα είναι υποσύνολα των χαμηλότερων Όλα τα δεδομένα αποθηκεύονται τελικά στο χαμηλότερο επίπεδο Μεταφορά δεδομένων Αντιγραφή από επίπεδο σε επίπεδο Το ελάχιστο σύνολο δεδομένων που μεταφέρεται μεταξύ δύο επιπέδων ονομάζεται μπλοκ Πολλαπλά bytes Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 17

282 Αναζήτηση δεδομένων στην Ιεραρχία Μνήμης Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης Αναζήτηση δεδομένων Ο επεξεργαστής ζητά πάντοτε τα δεδομένα από το κοντινότερο σε αυτόν επίπεδο Τα δεδομένα υπάρχουν στο επίπεδο αυτό: hit Τα δεδομένα δεν βρίσκονται στο επίπεδο αυτό: miss Η αίτηση προωθείται στο επόμενο (χαμηλότερο) επίπεδο Και το μπλοκ που περιέχει τα δεδομένα αντιγράφεται στο ανώτερο επίπεδο Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 18

283 Μετρήσεις απόδοσης στην Ιεραρχία Μνήμης Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης Hit Rate Ποσοστό προσπελάσεων μνήμης, όπου τα δεδομένα βρίσκονται στο ανώτερο επίπεδο Miss Rate Ποσοστό προσπελάσεων μνήμης, όπου τα δεδομένα δεν βρίσκονται στο ανώτερο επίπεδο (1-hit rate) Hit Time Ο χρόνος για την προσπέλαση δεδομένων σε hit Miss Penalty Ο χρόνος για την προσπέλαση, μεταφορά και τοποθέτηση των δεδομένων miss από το χαμηλότερο στο ανώτερο επίπεδο Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 19

284 Εισαγωγή στις κρυφές μνήμες (caches) Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης Κρυφές Μνήμες Κρυφή μνήμη Μεταξύ του επεξεργαστή και της κύριας μνήμης Εμφάνιση στη δεκαετία του 60 Σήμερα δεν υπάρχει υπολογιστικό σύστημα χωρίς κρυφή μνήμη Αποθήκευση δεδομένων στην κρυφή μνήμη Όχι ανά λέξη μνήμης ή ανά byte αλλά ανά μπλοκ (64-512bits) Μεταφορά δεδομένων από την κύρια προς την κρυφή μνήμη σε ριπές (bursts)( Το σύστημα κύριας μνήμης έχει βελτιστοποιηθεί αρχιτεκτονικά για αυτού του τύπου τις μεταφορές Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 20

285 Θέματα κρυφών μνημών Κύρια Μνήμη RAM SRAM DRAM Ιεραρχίες Μνήμης Κρυφές Μνήμες Πού αποθηκεύεται ένα μπλοκ στην κρυφή μνήμη; Πώς εντοπίζεται ένα μπλοκ στην κρυφή μνήμη; Ποιο μπλοκ θα αντικατασταθεί όταν χρειαστεί; Τι συμβαίνει στην εγγραφή νέων δεδομένων; Πώς υπολογίζεται η απόδοση της ιεραρχίας μνήμης; (στο επόμενο μάθημα..) Αρχιτεκτονική Υπολογιστών Τεχνολογίες Κύριας Μνήμης 21

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

287 Ιεραρχία Μνήμης Ιεραρχία Μνήμης CPU L1 L2 CPU κρυφή μνήμη L3 έως 6.4GB/s P-bus (host bus, FSB ) Για βελτίωση της απόδοσης του συστήματος μνήμης (και του συνολικού υπολογιστικού συστήματος) video device AGP-PCIe έως 2.1GB/s USB έως 480Mbit/s north bridge south bridge έως 266ΜB/s (mem bus) έως 3.2GB/s (S)ATA ΜB/s PCI DRAM κύρια μνήμη δίσκοι δευτερεύουσα μνήμη Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 2

288 Σκοπός της Ιεραρχίας Μνήμης Ιεραρχία Μνήμης Προσέγγιση της ιδανικής μνήμης Ο επεξεργαστής να βλέπει μνήμη Με την ταχύτητα του υψηλότερου επιπέδου Και το μέγεθος του χαμηλότερου επιπέδου CPU Για να επιτύχει τον σκοπό της η ιεραρχία μνήμης εκμεταλλεύεται την αρχή της τοπικότητας 0,5-5ns $4.000-$10.000/GB 50-70ns $100-$200/GB ns $0,5-$2/GB Κρυφή μνήμη (SRAM) Κύρια μνήμη (DRAM) Μαγνητικοί δίσκοι Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 3

289 Ιεραρχία μνήμης και τοπικότητα Ιεραρχία Μνήμης ένα πρόγραμμα εκτελεί το 90% των εντολών του μέσα στο 10% του κώδικά του Χρονική Τοπικότητα Εάν προσπελαστεί μια θέση μνήμης, είναι πολύ πιθανό να προσπελαστεί ξανά στο άμεσο μέλλον Παράδειγμα: οι εντολές ενός βρόχου (loop) Εφαρμογή: Δεδομένα εντολές που βρίσκονται ήδη κοντύτερα στον επεξεργαστή (π.χ. στην κρυφή μνήμη) θα προσπελαστούν πολύ γρηγορότερα Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 4

290 Ιεραρχία μνήμης και τοπικότητα Ιεραρχία Μνήμης ένα πρόγραμμα εκτελεί το 90% των εντολών του μέσα στο 10% του κώδικά του Χωρική Τοπικότητα Εάν προσπελαστεί μια θέση μνήμης, είναι πολύ πιθανό να προσπελαστούν και οι γειτονικές θέσεις στο άμεσο μέλλον Εντολές προγραμμάτων Δεδομένα σε πίνακες κλπ Εφαρμογή: Εάν προσπελαστεί μια θέση μνήμης, μεταφέρονται και οι διπλανές της λέξεις στη μνήμη του υψηλότερου επιπέδου Μεταφορά σε μπλοκ (πολλαπλές λέξεις μνήμης) Γρηγορότερη προσπέλαση Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 5

291 Κρυφές μνήμες Ιεραρχία Μνήμης Κρυφή Μνήμη Σημαντικό τμήμα στην ιεραρχία μνήμης Εξέλιξη συστημάτων κρυφής μνήμης 1962: οι πρώτες ιεραρχίες μνήμης (Atlas) Όχι όμως κρυφή μνήμη 1965: η πρώτη περιγραφή κρυφής μνήμης (Wilkes) O πρώτος υπολογιστής με κρυφή μνήμη (IBM 360/85) 1968: η πρώτη χρησιμοποίηση του όρου cache memory Μελέτες απόδοσης κρυφής μνήμης Πολλαπλά επίπεδα κρυφής μνήμης (L1, L2, L3) Βελτιωμένες αρχιτεκτονικές κρυφής μνήμης Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 6

292 Απλό μοντέλο ιεραρχίας μνήμης Ιεραρχία Μνήμης Κρυφή Μνήμη CPU Οι αρχές λειτουργίας της απλής ιεραρχίας μπορούν να επεκταθούν σε πολλαπλά επίπεδα Η διαχείριση της κρυφής μνήμης γίνεται από το υλικό διαφανώς προς τις εφαρμογές κρυφή μνήμη Κύρια μνήμη (DRAM) Τα δεδομένα βρίσκονται αρχικά στην κύρια μνήμη Η κρυφή μνήμη περιέχει υποσύνολο των δεδομένων Μεταφορά μεταξύ επιπέδων μνήμης σε μπλοκ λέξεων Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 7

293 Αποθήκευση δεδομένων στην Ιεραρχία Μνήμης Ιεραρχία Μνήμης Κρυφή Μνήμη Αποθήκευση δεδομένων Τα υψηλότερα επίπεδα είναι υποσύνολα των χαμηλότερων Όλα τα δεδομένα αποθηκεύονται τελικά στο χαμηλότερο επίπεδο Μεταφορά δεδομένων Αντιγραφή από επίπεδο σε επίπεδο Το ελάχιστο σύνολο δεδομένων που μεταφέρεται μεταξύ δύο επιπέδων ονομάζεται μπλοκ Πολλαπλά bytes Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 8

294 Αναζήτηση δεδομένων στην Ιεραρχία Μνήμης Ιεραρχία Μνήμης Κρυφή Μνήμη Αναζήτηση δεδομένων Ο επεξεργαστής ζητά πάντοτε τα δεδομένα από το κοντινότερο σε αυτόν επίπεδο Τα δεδομένα υπάρχουν στο επίπεδο αυτό: hit Τα δεδομένα δεν βρίσκονται στο επίπεδο αυτό: miss Η αίτηση προωθείται στο επόμενο (χαμηλότερο) επίπεδο Όταν βρεθεί, το μπλοκ που περιέχει τα δεδομένα αντιγράφεται στο ανώτερο επίπεδο Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 9

295 Μπλοκ (γραμμές) κρυφής μνήμης Ιεραρχία Μνήμης Κρυφή Μνήμη Οι σύγχρονοι επεξεργαστές διαθέτουν κρυφές μνήμες (L1) με μέγεθος μπλοκ έως 64 bytes Για την εκμετάλλευση της τοπικότητας Όταν πρέπει να μεταφερθεί μια λέξη, μεταφέρεται το μπλοκ που την περιέχει Το μέγεθος του μπλοκ είναι καθοριστικό για την απόδοση της ιεραρχίας μνήμης Το σύστημα κύριας μνήμης έχει βελτιστοποιηθεί αρχιτεκτονικά για μεταφορές μπλοκ CPU μπλοκ μπλοκ μπλοκ κρυφή μνήμη Κύρια μνήμη (DRAM) λέξεις Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 10

296 Τοποθέτηση ενός μπλοκ Ιεραρχία Μνήμης Κρυφή Μνήμη Η κύρια μνήμη περιέχει πολύ περισσότερα μπλοκ από όσα χωρούν στην κρυφή μνήμη Συνεπώς, στην ίδια θέση της κρυφής μνήμης πρέπει να τοποθετηθούν περισσότερα από ένα μπλοκ Σύγκρουση μπλοκ; Πώς αποφασίζεται η θέση ενός μπλοκ στην κρυφή μνήμη; Η απλή λύση: άμεση απεικόνιση (direct mapped caches) Κάθε μπλοκ πηγαίνει σε μία μόνο θέση (αριθμός μπλοκ) mod (θέσεις( στην κρυφή μνήμη) Υπολογίζεται πολύ εύκολα αν οι θέσεις είναι δύναμη του 2 Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 11

297 Άμεση απεικόνιση θέσης μπλοκ Ιεραρχία Μνήμης Κρυφή Μνήμη Παράδειγμα: Block = 16 bytes Cache = 32 blocks Αριθμός μπλοκ = 0x22 0x226 = θέση μπλοκ = 2 0x7Ε9 = x821 = θέση 0 θέση 1 θέση 2 θέση 3... θέση 30 θέση 31 κρυφή μνήμη Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 12

298 Ποιο μπλοκ βρίσκεται σε κάθε θέση; Ιεραρχία Μνήμης Κρυφή Μνήμη 0x226 = = μπλοκ 0 μπλοκ μπλοκ 2 μπλοκ 3 μπλοκ.. Είναι η θέση κατειλημμένη από κάποιο μπλοκ; valid bit (V) 0x821 = μπλοκ 30 μπλοκ 31 κρυφή μνήμη Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 13

299 Ανάγνωση: Cache Hit Ιεραρχία Μνήμης Κρυφή Μνήμη read 0x226 = CPU Σε περίπτωση εύρεσης των δεδομένων στην κρυφή μνήμη, η ΚΜΕ μπορεί να τα λάβει ακόμα και σε 1 κύκλο hit 001 μπλοκ 0 μπλοκ 1 μπλοκ 2 μπλοκ 3 μπλοκ.. Κύρια μνήμη (DRAM) Αιτήσεις για ανάγνωση: εντολές και δεδομένα Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 14

300 Ανάγνωση: Cache Miss Ιεραρχία Μνήμης Κρυφή Μνήμη read 0x821 = CPU Miss penalty: ο χρόνος για την μεταφορά του μπλοκ από κύρια μνήμη και επιστροφή δεδομένων στον επεξεργαστή miss read 0x820 0x82F μπλοκ 0 μπλοκ 1 μπλοκ 2 μπλοκ 3 μπλοκ.. Κύρια μνήμη (DRAM) Αιτήσεις για ανάγνωση: εντολές και δεδομένα Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 15

301 Εγγραφή στην κρυφή μνήμη Ιεραρχία Μνήμης Κρυφή Μνήμη Συνοχή δεδομένων: Πώς επηρεάζουν οι κρυφές μνήμες τη σχεδίαση πολυεπεξεργαστικών συστημάτων; Μόνο για δεδομένα Write Hit Ενημέρωση κρυφής μνήμης Στη συνέχεια: Είτε ενημερώνω αμέσως την κύρια μνήμη (write- through) Επιβάρυνση σε κάθε εγγραφή (χρήση buffers) Είτε μόνο όταν το μπλοκ πρέπει να φύγει από την κρυφή μνήμη (write-back) Write Miss Απαιτείται πολύπλοκη λογική για τον έλεγχο της σωστής αποθήκευσης των δεδομένων Πρέπει το μπλοκ να έρθει πρώτα στην κρυφή μνήμη Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 16

302 Τι δημιουργεί cache misses; Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης Η πρώτη φορά προσπέλασης ενός μπλοκ Μπλοκ που δεν βρέθηκαν ποτέ μέχρι τώρα στην κρυφή μνήμη Λόγω χωρητικότητας της κρυφής μνήμης Η κρυφή μνήμη δεν χωράει όλα τα μπλοκ (ταυτόχρονα) Λόγω σύγκρουσης μπλοκ στην ίδια θέση Μπλοκ που τοποθετούνται στην ίδια θέση στην κρυφή μνήμη, συναγωνίζονται για τη θέση αυτή ανάλογα με τη μέθοδο τοποθέτησης ακόμα κι αν μέρος της κρυφής μνήμης είναι ελεύθερο... Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 17

303 Χαρακτηριστικά απόδοσης κρυφής μνήμης Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης Hit Rate Ποσοστό προσπελάσεων μνήμης, όπου τα δεδομένα βρίσκονται στην κρυφή μνήμη Miss Rate Ποσοστό προσπελάσεων μνήμης, όπου τα δεδομένα δεν βρίσκονται στην κρυφή μνήμη (1-hit rate) Hit Time Ο χρόνος για την προσπέλαση δεδομένων σε hit Miss Penalty Ο χρόνος για την προσπέλαση, μεταφορά και τοποθέτηση των δεδομένων miss από την κύρια στην κρυφή μνήμη και στον επεξεργαστή Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 18

304 Το κόστος των cache misses Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης Χαμένοι κύκλοι ρολογιού Σε αναμονή για προσπέλαση κύριας μνήμης Κύκλοι Αναμονής = Προσπελάσεις μνήμης * Miss Rate * Miss Penalty Απλουστευμένο μοντέλο Miss Rate ανά κατηγορίες εντολών Διαφορετική συμπεριφορά για ανάγνωση-εγγραφή Σύνθετη ανάλυση για εκτέλεση εκτός σειράς Βελτίωση της απόδοσης Μείωση του miss rate Μείωση του miss penalty Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 19

305 Τεχνικές μείωσης miss rate Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης Αντιμετώπιση αιτιών που προκαλούν misses Αύξηση χωρητικότητας κρυφής μνήμης Αλλά: μια μεγάλη κρυφή μνήμη μπορεί να είναι πιο αργή! (αύξηση hit time) Αύξηση του μεγέθους του μπλοκ Προσπάθεια εκμετάλλευσης της τοπικότητας Αλλά: αυξάνει το miss penalty Πιθανόν να αυξάνει τελικά το miss rate, λόγω λιγότερων μπλοκ στην κρυφή μνήμη Ευέλικτες τεχνικές τοποθέτησης των μπλοκ Ώστε να παραμένουν περισσότερο στην κρυφή μνήμη Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 20

306 Ευέλικτες τεχνικές τοποθέτησης μπλοκ Ιεραρχία Μνήμης Κρυφή Μνήμη fully associative 0x226 = way set associative Πιθανή η αύξηση του hit time λόγω πολύπλοκου κυκλώματος Πιθανή τοποθέτηση Παράλληλη αναζήτηση Αντικατάσταση: least recently used (LRU) Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 21

307 Τεχνικές μείωσης miss penalty Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης Οι σύγχρονοι επεξεργαστές έχουν τουλάχιστον L1 και L2 cache μέσα στο ίδιο το chip τους Μείωση των χρόνων μεταφοράς μπλοκ Βελτιστοποιήσεις στην επικοινωνία με την κύρια μνήμη Έτσι ώστε ένα ολόκληρο μπλοκ να μεταφέρεται με τη μικρότερη δυνατή καθυστέρηση (bursts) Πολυεπίπεδες ιεραρχίες κρυφής μνήμης Μείωση miss penalty πρώτου επιπέδου (L1) L1: μικρότερο μέγεθος, μεγαλύτερη ταχύτητα Μεγαλύτερο miss rate αλλά miss penalty μικρότερο L2: μεγαλύτερο μέγεθος, μικρότερη ταχύτητα Αργότερη αλλά δεν επηρεάζει hit time επεξεργαστή Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 22

308 Ανάγνωση από σύγχρονη κύρια μνήμη CLK COMMAND ACT PRE READ ACT READ PRE ACT ADDR Ra Ca Rb Cb Ra BS DQ CAS Latency=3 Da Da+1 Da+2 Da+3 Db Db+1 Db+2 Db+3 Burst Length=4 Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 23

309 Πολυεπίπεδη οργάνωση κρυφής μνήμης Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης Τύπος L1 Μέγεθος έως 64ΚΒ Χρόνος προσπέλασης 4ns Ρυθμός μεταφοράς 50GB/s L2 έως 8ΜΒ 10ns 25GB/s Οι σύγχρονοι επεξεργαστές έχουν ξεχωριστή κρυφή μνήμη L1 για εντολές και δεδομένα. Ποια τα πλεονεκτήματαμειονεκτήματα; Παράδειγμα: Pentium4 L1 cache: 4 κύκλοι ρολογιού (pipelined: 1) L3 έως 64ΜΒ 20ns L2 cache: 20 κύκλοι ρολογιού 10GB/s Προσπέλαση στη μνήμη: >100 κύκλοι ρολογιού Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 24

310 Intel Montecito : Επίπεδα κρυφής μνήμης Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης Intel Montecito: 1,72 δις τρανζίστορ 2 επεξεργαστές Itanium2 100W Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 25

311 Intel Montecito : Επίπεδα κρυφής μνήμης Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης L1 instruction & data caches: 16KB 4-way set associative, έως και 4 αιτήσεις ανά κύκλο ρολογιού Intel Montecito: συνολικά 27MB κρυφή μνήμη μέσα στο chip L2 instruction cache: 1ΜΒ 8-way set associative, 128 bytes μπλοκ, 7 κύκλοι για προσπέλαση L2 data cache: 256KB, 5-6κύκλοι για προσπέλαση L3 cache: 12ΜΒ, 14 κύκλοι για προσπέλαση Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 26

312 Βελτιστοποίηση απόδοσης κρυφής μνήμης Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης Αρχιτεκτονικές βελτιώσεις Pipelining Non-blocking εξυπηρέτηση πολλαπλών αιτήσεων Πολλαπλά επίπεδα κρυφής μνήμης στο chip του επεξεργαστή Ο ρόλος του λογισμικού (μεταγλωττιστές) Αναδιοργάνωση προγραμμάτων για αύξηση της τοπικότητας (κυρίως στους βρόχους επανάληψης) Prefetching: μετακίνηση δεδομένων στην κρυφή μνήμη πριν αυτά χρειαστούν στον επεξεργαστή! Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 27

313 Η απόδοση της κρυφής μνήμης συνοπτικά Ιεραρχία Μνήμης Κρυφή Μνήμη Απόδοση κρυφής μνήμης Καθοριστική για τα σύγχρονα υπολογιστικά συστήματα Μείωση του miss rate ή του miss penalty Όμως: η συμπεριφορά της ιεραρχίας μνήμης επηρεάζεται από πολλούς παράγοντες! Η πραγματική συμπεριφορά Είναι σύνθετη απαιτούνται εξομοιώσεις πριν τη σχεδίαση νέων συστημάτων Είναι διαφορετική ανά εφαρμογή δεν υπάρχει ένα μόνο αντιπροσωπευτικό πρόγραμμα! Είναι διαφορετική ανά υπολογιστικό σύστημα desktop, server ή embedded Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες 28

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

315 Ιεραρχία Μνήμης Ιεραρχία Μνήμης CPU L1 L2 CPU κρυφή μνήμη L3 έως 6.4GB/s P-bus (host bus, FSB ) Δευτερεύουσα μνήμη : Το τελευταίο επίπεδο στην ιεραρχία εντός του υπολογιστικού συστήματος video device AGP, PCIe έως 2.1GB/s USB έως 480Mbit/s north bridge south bridge έως 266ΜB/s (mem bus) έως 3.2GB/s (S)ATA ΜB/s PCI DRAM κύρια μνήμη δίσκοι δευτερεύουσα μνήμη Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 2

316 Επεκτείνοντας την Ιεραρχία Μνήμης Ιεραρχία Μνήμης Εννοιολογικά: Κάθε υψηλότερο επίπεδο δρα ως κρυφή μνήμη για το αμέσως χαμηλότερο Η κύρια μνήμη λειτουργεί ως κρυφή μνήμη των μαγνητικών δίσκων Τα περιεχόμενα στην κύρια μνήμη είναι υποσύνολο εκείνων στους δίσκους του συστήματος CPU Επέκταση ιεραρχίας εκτός του συστήματος: δικτυακές θέσεις αποθήκευσης 0,5-5ns $4.000-$10.000/GB 50-70ns $100-$200/GB ns $0,5-$2/GB Κρυφή μνήμη (SRAM) Κύρια μνήμη (DRAM) Μαγνητικοί δίσκοι Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 3

317 Εικονική μνήμη (virtual memory) Ιεραρχία Μνήμης Εικονική Μνήμη Το πρώτο σύστημα εικονικής μνήμης παρουσιάστηκε το 1962 (Atlas computer) Για ποιον λόγο εμφανίστηκε; Στους πρώτους υπολογιστές το μέγεθος της κύριας μνήμης ήταν περιορισμένο Ακόμα και στην περίπτωση του μονοπρογραμματισμού η κύρια μνήμη ήταν ανεπαρκής Τεχνικές με overlays Εμφάνιση ΛΣ με υποστήριξη πολυπρογραμματισμού: αδυναμία ταυτόχρονης διατήρησης πολλών προγραμμάτων στην κύρια μνήμη Η λύση: εικονική μνήμη Μέρος των δεδομένων βρίσκεται στους δίσκους του συστήματος Μεταφορά στην κύρια μνήμη όταν χρειαστεί Πιθανότατα αντικαθιστώντας άλλα τμήματα δεδομένων Τα τελευταία μεταφέρονται πίσω στους δίσκους Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 4

318 Πριν την εικονική μνήμη: overlays Ιεραρχία Μνήμης Εικονική Μνήμη Κύρια μνήμη main( ) { δίσκος swap-in(d) call D1 Α Β Η τεχνική των overlays απαιτούσε από τον προγραμματιστή να χειρίζεται τις λεπτομέρειες (π.χ διευθύνσεις!) φόρτωσης και κλήσης των υποπρογραμμάτων! swap-in(b) Call B2 D1( B2( ) { } Καταλληλότερο για στατικά δεδομένα υποπρογράμματα C D Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 5

319 Χώρος διευθύνσεων προγράμματος Ιεραρχία Μνήμης Εικονική Μνήμη Ποιες οι διευθύνσεις που δημιουργούσε ο μεταγλωττιστής; Τι συνέβαινε αν το πρόγραμμα δεν φορτωνόταν πάντοτε στον ίδιο χώρο μνήμης; Address Space Εκτελούμενο πρόγραμμα στη μνήμη: Διευθύνσεις κώδικα Εντολές διακλάδωσης Διευθύνσεις δεδομένων Εντολές load-store Πριν την εικονική μνήμη: Φυσικές διευθύνσεις Άμεση αντιστοιχία με διευθύνσεις κύριας μνήμης Κύρια μνήμη... call 0x12F0. 0x12F0: load R5, 0x x8008: 0x45, 0x34, 0xF3 Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 6

320 Πολυπρογραμματισμός πριν την εικονική μνήμη Ιεραρχία Μνήμης Εικονική Μνήμη ΚΜΕ load R5, 0x8008 read mem[0x8008] κύρια μνήμη Χρήση καταχωρητών βάσης (χωρίς άλλη υποστήριξη) σε χαμηλού κόστους επεξεργαστές (π.χ. Intel 8086). Διευκόλυνση τοποθέτησης προγραμμάτων οπουδήποτε στη μνήμη. ΚΜΕ load R5, 0x read mem[0x9ff8] κύρια μνήμη DS 0x1FF0 καταχωρητής βάσης τμήματος δεδομένων Καταχωρητές βάσης κώδικα, δεδομένων Αλλαγή τιμής καταχωρητών βάσης ανά πρόγραμμα Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 7

321 Μεταβαίνοντας σε εικονικές διευθύνσεις Ιεραρχία Μνήμης Εικονική Μνήμη Το προηγούμενο σχήμα Εισήγαγε την αποσύνδεση των λογικών διευθύνσεων των προγραμμάτων από τις φυσικές διευθύνσεις κύριας μνήμης Με απλή αντιστοιχία: φυσική διεύθυνση = λογική διεύθυνση + καταχωρητής βάσης Απαιτείται υποστήριξη από το υλικό (ΚΜΕ) Το πρόγραμμα μπορεί να φορτωθεί σε οποιαδήποτε θέση μνήμης (relocation) Δεν περιέχει αναφορές σε φυσικές διευθύνσεις Εισάγεται η έννοια των ξεχωριστών χώρων διευθύνσεων (κώδικα, δεδομένων...) ανά πρόγραμμα χωρίς περαιτέρω υποστήριξη όμως! Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 8

322 Εικονικές Διευθύνσεις Ιεραρχία Μνήμης Εικονική Μνήμη ΚΜΕ load R5, 0x8008 Ο κύριος ρόλος της εικονικής μνήμης στα σημερινά υπολογιστικά συστήματα, με την άφθονη κύρια μνήμη, είναι η υποστήριξη και προστασία των εικονικών χώρων διευθύνσεων ανά πρόγραμμα μετάφραση read mem[0xc3e8] Μηχανισμός μετάφρασης εικονικών διευθύνσεων σε φυσικές διευθύνσεις κύρια μνήμη Μετάφραση εικονικών διευθύνσεων προγραμμάτων Προστασία χώρων διευθύνσεων Προνόμια προσπέλασης χώρων μνήμης Απαιτείται συνδυασμένη υποστήριξη από ΚΜΕ, κρυφή μνήμη και λειτουργικό σύστημα Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 9

323 Η εικονική μνήμη (ξανά) Ιεραρχία Μνήμης Εικονική Μνήμη Η διαχείριση της εικονικής μνήμης έχει ομοιότητες με τη διαχείριση κρυφής-κύριας μνήμης. Τα δύο επίπεδα εδώ όμως (μνήμη-δίσκοι) έχουν σημαντικές διαφορές στα χαρακτηριστικά τους! Ποιος ο ρόλος της; 1. Η εικονική χρήση μνήμης πέρα από όση είναι πραγματικά διαθέσιμη 2. Η αντιστοίχιση εικονικών διευθύνσεων σε φυσικές και η διαχείριση των προνομίων προσπέλασης 1. Σημαντικότερο σήμερα! Ποιος τη διαχειρίζεται; Αυτόματη διαχείριση από το λειτουργικό σύστημα Υποστήριξη από το υλικό (ΚΜΕ/κρυφή μνήμη) Πώς υλοποιείται; Μετακίνηση τμημάτων μνήμης από/προς τους δίσκους Εκμετάλλευση αρχής τοπικότητας Μερικά μέρη μόνο των προγραμμάτων είναι ενεργά κάθε στιγμή Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 10

324 Βασικό σχήμα Εικονικής Μνήμης Ιεραρχία Μνήμης Εικονική Μνήμη σελίδα Χώρος διευθύνσεων προγράμματος Α Β Κύρια μνήμη D Β πλαίσιο C D Α Σελιδοποίηση (paging) paging): Το μέγεθος των σελίδων καθορίζεται από τους μηχανισμούς του υλικού. Συνήθη μεγέθη 4ΚΒ έως 16ΚΒ εικονικές διευθύνσεις Χώρος διευθύνσεων προγράμματος Σελίδες (pages)( Φυσική μνήμη Πλαίσια (page( frames) Ίδιο μέγεθος με σελίδες φυσικές διευθύνσεις C δίσκος Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 11

325 Σελίδες και εικονικές διευθύνσεις Ιεραρχία Μνήμης Εικονική Μνήμη Ο επεξεργαστής παράγει εικονική διεύθυνση Ν-1 αριθμός σελίδας Μ (Μ-1) μετατόπιση (offset) (μέσα στη σελίδα) 0 μετάφραση ως έχει Η μετάφραση γίνεται μέσα στην ΚΜΕ, άρα εκεί (δηλ. στο υλικό) καθορίζεται το μέγεθος της σελίδας Κ-1 αριθμός φυσικής σελίδας (Μ-1) Στη μνήμη στέλνεται φυσική διεύθυνση μετατόπιση (offset) Ο επεξεργαστής μπορεί να παράγει έως και 2 Ν εικονικές διευθύνσεις Η φυσική μνήμη μπορεί να έχει έως 2 Κ διευθύνσεις Το μέγεθος σελίδας είναι 2 Μ bytes Μ 0 Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 12

326 Σελίδες εναντίον Τμημάτων Ιεραρχία Μνήμης Εικονική Μνήμη Η πολυπλοκότητα του μηχανισμού χρήσης τμημάτων (segmentation) είναι ο λόγος που η τεχνική αυτή σπάνια υποστηρίζεται ή χρησιμοποιείται σήμερα... Σελίδες (pages)( Σταθερό μέγεθος (4KB-16KB) Μία λέξη εικονικής διεύθυνσης (page+offset) Ευκολία τοποθέτησης και αντικατάστασης σελίδων στην κύρια μνήμη Βέλτιστο μέγεθος για μεταφορά από-προς δίσκο Ενδεχομένως μέρος σελίδας μένει αχρησιμοποίητο Τμήματα (segments)( Μεταβλητό μέγεθος (από 1 byte(!) έως 2 32 bytes) Δύο λέξεις ανά διεύθυνση (segment, offset) Αναγκαίος ο έλεγχος ορίων Δυσκολία τοποθέτησης στη μνήμη (εύρεση θέσης) ταιριάζει καλύτερα στα χαρακτηριστικά των εφαρμογών (;) Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 13

327 Σελιδοποίηση κατ απαίτηση Ιεραρχία Μνήμης Εικονική Μνήμη Η μεγάλη επιβάρυνση για τη μετακίνηση των σελίδων από και προς τον δίσκο είναι καθοριστική για την απόδοση ενός συστήματος Οι σελίδες των προγραμμάτων (κώδικας-δεδομένα) βρίσκονται αρχικά μόνο στον δίσκο Το ΛΣ τις σημειώνει ως απούσες από τη μνήμη Όταν προσπελαστεί μια απούσα σελίδα, δημιουργείται ένα σφάλμα εκτέλεσης (page fault)......και το ΛΣ τη φορτώνει σε ένα πλαίσιο στη μνήμη Ενδεχομένως εκτοπίζοντας πίσω στον δίσκο μια άλλη σελίδα από τη μνήμη Η τελευταία σημειώνεται ως απούσα Page faults: μεγάλο κόστος σε κύκλους αναμονής 1-10Mκύκλοι Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 14

328 Κρίσιμα σημεία στη σχεδίαση εικονικής μνήμης Ιεραρχία Μνήμης Εικονική Μνήμη Ακόμα και μικρή μείωση στην εμφάνιση page faults μπορεί να έχει σημαντικό όφελος για την απόδοση του συστήματος Οι σελίδες πρέπει να έχουν ικανό μέγεθος Για εξισορρόπηση του κόστους προσπέλασης του δίσκου Η μείωση των page faults είναι επιβεβλημένη Οι σελίδες τοποθετούνται οπουδήποτε μέσα στη μνήμη Σχήμα ανάλογο των fully-associative κρυφών μνημών Η διαχείριση της εικονικής μνήμης μπορεί να γίνεται από λογισμικό (ΛΣ) Μικρή επιβάρυνση συγκρινόμενη με χρόνο μετακίνησης σελίδων στους δίσκους Δυνατότητα χρήσης πολυπλοκότερων αλγορίθμων για τοποθέτηση-αντικατάσταση σελίδων στη μνήμη Δεν είναι δυνατή η ενημέρωση στο δίσκο με κάθε εγγραφή νέων δεδομένων στη σελίδα Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 15

329 Μετάφραση εικονικών διευθύνσεων Ιεραρχία Μνήμης Εικονική Μνήμη εικονική διεύθυνση 0x000013F0 0 (1) 0x (1) 0x (0)?? φυσική διεύθυνση + 0x63F0 Κύρια μνήμη D Β Α 0x3000 0x4000 0x5000 0x6000 Presence bit: βρίσκεται η σελίδα στην κύρια μνήμη; 3 (1) 0x3000 πίνακας σελίδων (page table) C δίσκος Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 16

330 Πίνακας σελίδων Ιεραρχία Μνήμης Εικονική Μνήμη Τι συμβαίνει στην περίπτωση πολλαπλών προγραμμάτων; Πού βρίσκεται; Στην κύρια μνήμη! Πόσες θέσεις διαθέτει; Θεωρητικά: ίσες με τον μέγιστο αριθμό σελίδων Για 2 20 σελίδες με 4 bytes ανά γραμμή, απαιτούνται 4ΜΒ Πρακτικά: πίνακες πολλαπλών επιπέδων Πιθανόν: σελιδοποίηση πινάκων (!) Αρκεί να υπάρχει πάντα στη μνήμη ένα μέρος του πίνακα Ποια πρόσθετη πληροφορία χρειάζεται; Βρίσκεται η σελίδα στη μνήμη; Έχει αλλάξει; Αν όχι, σε ποιο σημείο του δίσκου είναι; Συχνά μέσα στον πίνακα σελίδων Ποια σελίδα βρίσκεται σε κάθε πλαίσιο μνήμης; Πόσο πρόσφατα χρησιμοποιήθηκε; Δομές του ΛΣ για αλγόριθμο αντικατάστασης σελίδων Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 17

331 Πίνακες σελίδων και πολλαπλά προγράμματα Ιεραρχία Μνήμης Εικονική Μνήμη Κάθε διεργασία έχει τους δικούς του πίνακες σελίδων! Κατά την εναλλαγή διεργασιών αλλάζει και ο καταχωρητήςδείκτης στους πίνακες (0)?? (1) 0x3000 πίνακας σελίδων (διεργασία 1) (1) 0x6000 (1) 0x4000 (0)?? πίνακας σελίδων (διεργασία 2) Κύρια μνήμη 1Β 2Β 2Α 2C 1Α δίσκος Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 18

332 Translation-Lookaside Buffer Ιεραρχία Μνήμης Εικονική Μνήμη Το πρόβλημα με τους πίνακες σελίδων Βρίσκονται στην κύρια μνήμη Για κάθε προσπέλαση μνήμης απαιτείται μια δεύτερη! Για τον πίνακα σελίδων Μη αποδεκτή χρονική επιβάρυνση! Translation-Lookaside Buffer (TLB) Μικρή κρυφή μνήμη για πρόσφατες μεταφράσεις εικονικών διευθύνσεων Μέσα στην ΚΜΕ θέσεις, 1-2 γραμμές του πίνακα σελίδων ανά θέση Προσπέλαση < 1 κύκλο ρολογιού Διάφορες οργανώσεις κρυφής μνήμης Ενημέρωση από υλικό ή λογισμικό Παρατηρούμενο Miss rate: 0.01% - 1% Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 19

333 Προσπέλαση μνήμης: η συνολική εικόνα Ιεραρχία Μνήμης Εικονική Μνήμη TLB φυσική διεύθυνση δεδομένα, cache hit Κρυφή μνήμη Στο σχήμα η κρυφή μνήμη δέχεται φυσικές διευθύνσεις. Για λόγους απόδοσης υπάρχουν αρχιτεκτονικές με εικονική κρυφή μνήμη ή συνδυασμό εικονικής-φυσικής κρυφής μνήμης εικονική διεύθυνση ΚΜΕ μετάφραση, TLB miss πίνακας σελίδων (στην κύρια μνήμη) σελίδα, page fault δίσκος δεδομένα, cache miss Κύρια μνήμη Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 20

334 Εικονική Μνήμη και Προστασία Προσπέλασης Ιεραρχία Μνήμης Εικονική Μνήμη Προστασία προσπέλασης σελίδων Με διαφορετικούς πίνακες σελίδων ανά διεργασία είναι αδύνατη η προσπέλαση ξένων σελίδων Δικαιώματα προσπέλασης ανά σελίδα User mode και Supervisor Mode Σε user mode δεν είναι δυνατή η προσπέλαση του TLB, του πίνακα σελίδων και των αντίστοιχων καταχωρητών συστήματος Υπάρχουν αρχιτεκτονικές με περισσότερα από 2 επίπεδα προνομίων Ελεγχόμενη προσπέλαση συναρτήσεων ΛΣ Call gates: ελεγχόμενη εκτέλεση συναρτήσεων ΛΣ από χρήστη, στο επίπεδο όμως των προνομίων του χρήστη δεν είναι δυνατή η προσπέλαση ξένων δεδομένων! Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη 21

335 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Διασύνδεση Εισόδου-Εξόδου (Ι) (δίαυλοι και μέθοδοι επικοινωνίας) Μ.Στεφανιδάκης

336 Διασυνδετικοί Δίαυλοι Διασυνδετικοί δίαυλοι CPU L1 L2 CPU P-bus, host bus, front-side bus κρυφή μνήμη L3 έως 6.4GB/s Διασυνδετικοί δίαυλοι: Αναλαμβάνουν την μεταφορά των δεδομένων σε ένα υπολογιστικό σύστημα video device Δίαυλοι συσκευών Ε/Ε Δίαυλος γραφικών έως 2.1GB/s USB έως 480Mbit/s north bridge south bridge έως 266ΜB/s Δίαυλος μνήμης έως 3.2GB/s (S)ATA ΜB/s SATA, SCSI PCI DRAM κύρια μνήμη δίσκοι Δίαυλοι συσκευών Ε/Ε Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 2

337 Μεταφορά δεδομένων Διασυνδετικοί δίαυλοι Ποιο θα μπορούσε να είναι το ζητούμενο από έναν διασυνδετικό δίαυλο εκτός της απόδοσης; Σε ένα υπολογιστικό σύστημα Μεταφορά δεδομένων επεξεργασίας Μεταξύ ΚΜΕ, κύριας μνήμης και συσκευών Ε/Ε Τον ρόλο αναλαμβάνουν οι διασυνδετικοί δίαυλοι Απόδοση των συστημάτων μεταφοράς Σημαντική παράμετρος της συνολικής απόδοσης Αλλά όχι το μόνο ζητούμενο! Χαρακτηριστικά διαύλων Υπάρχει μεγάλη ποικιλία διαύλων Με διαφορετικά λειτουργικά χαρακτηριστικά Ανάλογα με τον ρόλο του καθενός διαύλου Σε ένα υπολογιστικό σύστημα τα διασυνδεόμενα μέρη (και ιδίως οι συσκευές Ε/Ε) έχουν τελείως διαφορετικές ανάγκες μεταφοράς δεδομένων Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 3

338 Ιεραρχία διασυνδετικών διαύλων Διασυνδετικοί δίαυλοι CPU L1 L2 CPU απόδοση L3 έως 6.4GB/s Το ζητούμενο από έναν διασυνδετικό δίαυλο εξαρτάται από τη θέση του στην ιεραρχία video device έως 2.1GB/s north bridge έως 3.2GB/s DRAM Ο αριθμός των εναλλακτικών προϊόντων αυξάνεται στα χαμηλότερα επίπεδα της ιεραρχίας τυποποίηση, ευχρηστία, αντοχή USB έως 480Mbit/s south bridge έως 266ΜB/s ATA έως 133ΜB/s SATA, SCSI PCI δίσκοι Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 4

339 Τι διασυνδέει ένας δίαυλος; Διασυνδετικοί δίαυλοι Η μεταφορά των δεδομένων μέσα σε έναν υπολογιστή επιτυγχάνεται ηλεκτρικά μέσω αγωγών χαλκού. Νέες φωτονικές τεχνολογίες υπόσχονται πολύ μεγαλύτερες ταχύτητες (>10Gbps ανά αγωγό) Μέσα στο ολοκληρωμένο κύκλωμα π.χ. ΚΜΕ-κρυφή μνήμη Μέσα στο ολοκληρωμένο κύκλωμα επιτυγχάνεται η μέγιστη ταχύτητα μεταφοράς των δεδομένων, μέσω αγωγών μετάλλου τυπωμένων στην επιφάνεια πυριτίου Πάνω στο ίδιο τυπωμένο κύκλωμα π.χ μεταξύ κύριας μνήμης και ελεγκτή μνήμης Αγωγοί σχεδιασμένοι με ακρίβεια πάνω στο τυπωμένο κύκλωμα Μεταξύ τυπωμένων κυκλωμάτων π.χ η διασύνδεση με τις μονάδες δίσκου Διασύνδεση μέσω εύκαμπτων καλωδίων σε αποστάσεις της τάξης του ενός μέτρου Μεταξύ υπολογιστικών συστημάτων π.χ η (τοπική) διασύνδεση της κάρτας δικτύου Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 5

340 Βασικά χαρακτηριστικά διαύλων Διασυνδετικοί δίαυλοι δεδομένα αποστολέας δίαυλος παραλήπτης Μεταφορά δεδομένων: η γενική εικόνα Πόσα bits μεταφέρονται ταυτόχρονα; Πότε ο παραλήπτης θα διαβάσει την είσοδο; Ποια η τοπολογία του διαύλου; Πώς οργανώνεται η μεταφορά; Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 6

341 Παράλληλοι δίαυλοι Διασυνδετικοί δίαυλοι Εύρος Διαύλου αποστολέας 1 δεδομένα παραλήπτης n εύρος διαύλου = n bits Ο ρυθμός μεταφοράς δεδομένων μετριέται πάντοτε σε μονάδες με βάση το 10: ρυθμός 1Μb/s = 10 6 b/s Πολλαπλασιασμός των bits που μεταφέρονται ταυτόχρονα Συχνά ο ρυθμός μετριέται σε μεταφορές/s (T/s) Π.χ. 10MT/s για δίαυλο εύρους 64 bits 640Mb/s Πολύ υψηλοί ρυθμοί μεταφοράς Αλλά και μεγάλος ηλεκτρονικός θόρυβος Απαιτείται ακριβής σχεδιασμός για να διατηρηθεί η ποιότητα του σήματος και ο συγχρονισμός στη μεταφορά δεδομένων Χρησιμοποιείται στα υψηλότερα επίπεδα της ιεραρχίας διαύλων Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 7

342 Σειριακοί δίαυλοι Διασυνδετικοί δίαυλοι Εύρος Διαύλου αποστολέας S δεδομένα παραλήπτης D Οι λέξεις (words) μετατρέπονται σε σειρά από bits πριν την αποστολή - και αντίστροφα μετά την παραλαβή Serializer deserializer (SerDes) Γιατί χρησιμοποιούνται; Μεγαλύτερη ανοσία στον ηλεκτρονικό θόρυβο Δυνατότητα μεταφοράς σε μεγαλύτερη απόσταση Μικρότερες διαστάσεις αγωγού Χρησιμοποιείται στα χαμηλότερα επίπεδα της ιεραρχίας διαύλων Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 8

343 Χρονισμός μεταφοράς Διασυνδετικοί δίαυλοι Εύρος Διαύλου Χρονισμός CLK ADS# T1 T2 T1 T2 T1 T2 ADDR A1 A2 A3 WE# Οι σύγχρονοι δίαυλοι χρησιμοποιούνται στα ανώτερα επίπεδα της ιεραρχίας: π.χ. στο σχήμα φαίνεται η λειτουργία ενός τυπικού διαύλου της ΚΜΕ (FSB) DQ D1 D2 Q3 Πότε ο αποστολέας θα στείλει τα δεδομένα στις εξόδους; Πότε ο παραλήπτης θα δειγματοληπτήσει τις εισόδους; Γραμμή ρολογιού (clock) Στις ανερχόμενες ή/και κατερχόμενες ακμές Σύγχρονοι δίαυλοι (synchronous) Αλλά: ευαισθησία στις παραμορφώσεις του clock Θόρυβος και κατανάλωση ενέργειας Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 9

344 Άλλα σχήματα χρονισμού Διασυνδετικοί δίαυλοι Εύρος Διαύλου Χρονισμός DATA STROBE# READY# Σειριακοί δίαυλοι με ενσωμάτωση της χρονικής πληροφορίας στα δεδομένα χρησιμοποιούνται στα κατώτερα επίπεδα της ιεραρχίας (π.χ. o δίαυλος USB) Ασύγχρονοι δίαυλοι (χωρίς ρολόι) Σήματα συγχρονισμού Ανοσία σε παραμορφώσεις σημάτων Αλλά: αργότερη μεταφορά πολύπλοκη ανταλλαγή σημάτων Ενσωμάτωση ρολογιού στα δεδομένα Δεν υπάρχει ξεχωριστή γραμμή clock Αλλά ο παραλήπτης μπορεί να συμπεράνει για το ρολόι του αποστολέα αν το μεταδιδόμενο σήμα έχει ικανό αριθμό ακμών (εναλλαγές μεταξύ 0 και 1) Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 10

345 Τοπολογίες Διαύλων Διασυνδετικοί δίαυλοι Εύρος Διαύλου Χρονισμός Τοπολογίες Α Β Γ Δ Β Α X Γ Μοιραζόμενος δίαυλος Μοιραζόμενος δίαυλος Η παλαιότερη λύση Αναγκαία η διαιτησία για την κατοχή του διαύλου Κακή ποιότητα σημάτων χαμηλότερη ταχύτητα Point-to-point Δ Point-to-point Διασύνδεση πάντα μεταξύ δύο σημείων Τμήματα συγκέντρωσης-ανταλλαγής δεδομένων Hubs ή switches Νεώτερες λύσεις για υψηλότερη ταχύτητα μεταφοράς Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 11

346 Οργάνωση μεταφοράς Διασυνδετικοί δίαυλοι Εύρος Διαύλου Χρονισμός Τοπολογίες Οργάνωση μεταφοράς Η φορά της ανάγνωσης και της εγγραφής ορίζεται κατά σύμβαση! master (initiator) master (initiator) διεύθυνση ανάγνωσης διεύθυνση εγγραφής δεδομένα ανάγνωσης δεδομένα εγγραφής slave (target) χώρος διευθύνσεων slave (target) Η μεταφορά ελέγχεται από τον master Ανάγνωση ή εγγραφή από/στον χώρο διευθύνσεων του slave Σε ποιον slave και σε ποιες λέξεις του slave γίνεται η μεταφορά Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 12

347 Διεύθυνση μεταφοράς Διασυνδετικοί δίαυλοι Εύρος Διαύλου Χρονισμός Τοπολογίες Οργάνωση μεταφοράς master (initiator) διεύθυνση ανάγνωσης slave (target) slave (target) Το διπλανό σχήμα υλοποιείται φυσικά (σε μοιραζόμενους διαύλους) ή λογικά (όταν ο δίαυλος είναι point-topoint) Η Η διεύθυνση μεταφοράς Επιλέγει slave Επιλέγει λέξεις μέσα στον χώρο διευθύνσεων του slave Κατανομή διευθύνσεων Είτε στατικά (στον σχεδιασμό) Είτε δυναμικά (στην αρχικοποίηση του συστήματος) Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 13

348 Φάσεις μεταφοράς Διασυνδετικοί δίαυλοι Εύρος Διαύλου Χρονισμός Τοπολογίες Οργάνωση μεταφοράς Λόγω των φάσεων μεταφοράς, η χρήσιμη πληροφορία είναι (max)) το 70% της μεταδιδόμενης! Σπάνια επιτυγχάνονται οι ρυθμοί μεταφοράς (peak rates) που αναφέρονται στις προδιαγραφές! Σε κάθε μεταφορά σε έναν δίαυλο Ορισμένες (ή όλες) από τις εξής φάσεις: Διαιτησία (arbitration)( Σε μοιραζόμενους διαύλους, απόκτηση του διαύλου Αίτηση (request)( Αποστολή διεύθυνσης, κατεύθυνσης μεταφοράς (read/write), μήκους μεταφερόμενων δεδομένων (σε bytes) Απόκριση (response)( Κατάσταση μεταφοράς (ολοκλήρωση, αποτυχία, επανάληψη, αναμονή) Δεδομένα (data)( Τα μεταφερόμενα δεδομένα (όταν υπάρχουν) Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 14

349 Πληροφορία μεταφοράς Διασυνδετικοί δίαυλοι Εύρος Διαύλου Χρονισμός Τοπολογίες Οργάνωση μεταφοράς Διεύθυνση δεδομένα εντολές/κατάσταση Παράλληλοι δίαυλοι Συνήθως χρησιμοποιούνται ξεχωριστές γραμμές ανά είδος πληροφορίας Συχνά κάποιες πληροφορίες είναι χρονικά πολυπλεγμένες για οικονομία στο πλήθος αγωγών Π.χ. διεύθυνση-δεδομένα Σειριακοί δίαυλοι Τα πακέτα δεδομένων που ανταλλάσσονται περιέχουν και τα 3 είδη πληροφορίας Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 15

350 Παράδειγμα διαύλων: Cell Multiprocessor Διασυνδετικοί δίαυλοι Εύρος Διαύλου Χρονισμός Τοπολογίες Οργάνωση μεταφοράς Παράδειγμα διασυνδετικοί δίαυλοι διασυνδετικοί δίαυλοι peak transfer rate >200GB/s επεξεργαστικά στοιχεία διαιτησία διαύλων επεξεργαστικά στοιχεία [IEEE Micro, May-June 2006] Αρχιτεκτονική Υπολογιστών Διασύνδεση Ε/Ε (Ι) 16

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

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

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

Αρχιτεκτονικές Συνόλου Εντολών

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

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

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

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

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

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

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Εισαγωγή στην Αρχιτεκτονική (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://mxstef.gthub.o/courses/comparch/ Μ.Στεφανιδάκης

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

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Εισαγωγή στην Αρχιτεκτονική (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://mxstef.gthub.o/courses/comparch/ Μ.Στεφανιδάκης

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

Ψηφιακή Λογική και Σχεδίαση

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

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

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

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

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

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

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

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

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 25-6 Το τρανζίστορ MOS(FET) πύλη (gate) Ψηφιακή και Σχεδίαση πηγή (source) καταβόθρα (drai) (σχεδίαση συνδυαστικών κυκλωμάτων) http://di.ioio.gr/~mistral/tp/comparch/

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

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

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

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

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

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

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

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

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

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

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

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

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

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

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

Εισαγωγή στους Υπολογιστές

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

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

Τεχνολογίες Κύριας Μνήμης

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

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

Πράξεις με δυαδικούς αριθμούς

Πράξεις με δυαδικούς αριθμούς Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (λογικές πράξεις) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Εκτέλεση πράξεων

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

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

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

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

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

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

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

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

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

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

Σχετικά με το μάθημα. Ο Υπολογιστής Η γενική εικόνα. Η μνήμη. Ενότητες μαθήματος. Εισαγωγή στους Υπολογιστές. Βιβλία για το μάθημα

Σχετικά με το μάθημα. Ο Υπολογιστής Η γενική εικόνα. Η μνήμη. Ενότητες μαθήματος. Εισαγωγή στους Υπολογιστές. Βιβλία για το μάθημα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Εισαγωγή στους Υπολογιστές (αρχές λειτουργίας και τεχνολογία) Σχετικά με το μάθημα Ενότητες μαθήματος Αρχές λειτουργίας

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

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

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

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

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

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

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

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

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

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

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

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

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 24-5 Πράξεις με δυαδικούς αριθμούς (λογικές πράξεις) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης ; Ποιες κατηγορίες

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ 2. Μαθησιακοί Στόχοι : Οι θεμελιώδεις αρχές λειτουργίας των υπολογιστών. Τύποι υπολογιστικών συστημάτων και στόχοι της αρχιτεκτονικής

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. *Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε ονομάζονται συνολικά υλικό (hardware). * * υπερυπολογιστές

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

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

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

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

Έχοντας κατανοήσει την ύλη του 1ου μαθήματος ( Εισαγωγή στην Αρχιτεκτονική Η/Υ ) θα πρέπει να μπορείτε να απαντήσετε στις παρακάτω ερωτήσεις:

Έχοντας κατανοήσει την ύλη του 1ου μαθήματος ( Εισαγωγή στην Αρχιτεκτονική Η/Υ ) θα πρέπει να μπορείτε να απαντήσετε στις παρακάτω ερωτήσεις: Ερωτήσεις αυτοαξιολόγησης 1 ου μαθήματος Έχοντας κατανοήσει την ύλη του 1ου μαθήματος ( Εισαγωγή στην Αρχιτεκτονική Η/Υ ) θα πρέπει να μπορείτε να απαντήσετε στις παρακάτω ερωτήσεις: 1. Ποια η σχέση της

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

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

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

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

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

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

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

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

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

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

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική Κύρια μέρη υπολογιστή Υπάρχουν διάφορα είδη υπολογιστών προσωπικοί (επιτραπέζιοι, φορητοί,...), ενσωματωμένοι, εξυπηρετητές (servers)

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

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

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

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

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

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

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

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

Οργάνωση Υπολογιστών (ΙI)

Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (ΙI) (κύρια και κρυφή μνήμη) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

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

Η διασύνδεση Υλικού και λογισμικού 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 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 3 ο ΛΕΙΤΟΥΡΓΙΚΗ ΔΟΜΗ ΥΠΟΛΟΓΙΣΤΗ ΒΑΣΙΚΗ ΜΟΝΑΔΑ ΜΝΗΜΗ & CPU Λειτουργική Δομή Αρχιτεκτονική Von Neumann Όλοι οι υπολογιστές ακολουθούν την αρχιτεκτονική κατά Von-Neumann

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

Διασύνδεση Εισόδου-Εξόδου

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

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

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1 5. ΑΛΓΕΒΡΑ BOOLE ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΜΕΡΟΣ Β 2 Επαναληπτική

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

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

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

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

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

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο Γιώργος Δημητρίου Μάθημα 1 ο Δομή ενός Προσωπικού Υπολογιστή Eπεξεργαστής ΚΜΕ Κρυφή Μνήμη ΜΔΜ Μονάδα Διασύνδεσης Αρτηρίας Κύρια Μνήμη Βοηθητική Μνήμη Οθόνη Πληκτρολόγιο Προσαρμογέας Δικτύου Ελεγκτής Ελεγκτής

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

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

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

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

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

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

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.3 : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών Στόχοι Μαθήματος: Να γνωρίσετε τις βασικές αρχές αριθμητικής των Η/Υ. Ποια είναι τα κυκλώματα

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

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

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

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ψηφιακά Κυκλώματα ( ο μέρος) ΜΥΥ-6 Εισαγωγή στους Η/Υ και στην Πληροφορική Ψηφιακά κυκλώματα Οι δύο λογικές τιμές, αντιστοιχούν σε ηλεκτρικές τάσεις Υλοποιούνται με τρανζίστορ ή διόδους: ελεγχόμενοι διακόπτες

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

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

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

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

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

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες Πρώτο Κεφάλαιο Εισαγωγή στα Ψηφιακά Συστήματα 1.1 Αναλογικά και Ψηφιακά Σήματα και Συστήματα... 1 1.2 Βασικά Ψηφιακά Κυκλώματα... 3 1.3 Ολοκληρωμένα κυκλώματα... 4 1.4 Τυπωμένα κυκλώματα... 7 1.5 Εργαλεία

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

Εντολές γλώσσας μηχανής

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

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

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 2: Καταχωρητές, HelloWorld σε 8086, emu8086 emulator Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων

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

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

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

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

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

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

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος Εκτέλεση προγραμμάτων Πρόγραμμα: Ένα σύνολο από εντολές.

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

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές ) http://di.ionio.gr/~mistral/tp/csintro/ Αριθμοί Πράξεις με δυαδικούς αριθμούς

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

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

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

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

Σχετικά με το μάθημα. Η «μνήμη» Ο «Υπολογιστής» Ενότητες μαθήματος. Εισαγωγή στους Υπολογιστές

Σχετικά με το μάθημα. Η «μνήμη» Ο «Υπολογιστής» Ενότητες μαθήματος. Εισαγωγή στους Υπολογιστές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2019-20 Εισαγωγή στους Υπολογιστές (αρχές λειτουργίας και τεχνολογία) Σχετικά με το μάθημα Ενότητες μαθήματος Αρχές λειτουργίας

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

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

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

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

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

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

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

Εισαγωγή στους Υπολογιστές

Εισαγωγή στους Υπολογιστές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2007-08 Εισαγωγή στους Υπολογιστές (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://www.ionio.gr/~mistral/tp/csintro/

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

Οργάνωση Υπολογιστών (IΙI)

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

Εισαγωγή στην πληροφορική -4

Εισαγωγή στην πληροφορική -4 Εισαγωγή στην πληροφορική 6 (, 64) bits Μνήµη Θέση (κύτταρο cell) µνήµης, χωράει λέξεις (words) εντολές (πρόγραµµα), αριθµοί (δεδοµένα) Αριθµοί: δυαδική (binary) αναπαράσταση = = = 4 = 4 = 5 = 7 Εισαγωγή

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

Πράξεις με δυαδικούς αριθμούς

Πράξεις με δυαδικούς αριθμούς Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές πράξεις) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Πράξεις με δυαδικούς

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 7: Αποκωδικοποίηση Εντολής x86 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

Κεφάλαιο 8. Αριθμητική Λογική μονάδα Κεφάλαιο 8 Αριθμητική Λογική μονάδα 8.1 Εισαγωγή Στη μηχανική υπολογιστών η αριθμητική/λογική μονάδα (ALU) είναι ένα ψηφιακό κύκλωμα το οποίο εκτελεί αριθμητικούς και λογικούς υπολογισμούς. Η ALU είναι

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

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

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου ΠΛΕ- 27 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου Αρης Ευθυμίου Δομή σύγχρονων υπολογιστών Κώδικας μηχανής Αρχιτεκτονικό συνόλο εντολών (InstrucDon Set Architecture ISA)

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

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή Στόχοι Μαθήματος: Να γνωρίσετε τις βασικές λειτουργίες ενός Η/Υ. Να γνωρίσετε τις έννοιες δεδομένα, πληροφορία, επεξεργασία,

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

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A]. Κανονική μορφή συνάρτησης λογικής 5. Η κανονική μορφή μιας λογικής συνάρτησης (ΛΣ) ως άθροισμα ελαχιστόρων, από τον πίνακα αληθείας προκύπτει ως εξής: ) Παράγουμε ένα [A] όρων από την κάθε σειρά για την

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και

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

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο) I χειμερινό εξάμηνο & ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II εαρινό εξάμηνο (σε κίτρινο υπόβαθρο). Νικολός Καθηγητής ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην ομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών Ενότητα 1.1 Υλικό

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