ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών Γιάννης Βογιατζής Αλέξανδρος ηµόπουλος ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 1
Στοιχεία Επικοινωνίας Γιάννης Βογιατζής voyageri@teiath.gr Γραφείο 3.1 (3 ος όροφος) http://eclass.hua.gr/courses/dit167/index.php Αλέξανδρος ηµόπουλος alexdem@hua.gr Γραφείο 3.1 (3 ος όροφος) http://eclass.hua.gr/courses/dit167/index.php
Τελική Αξιολόγηση - Βαθµολόγηση Τελικός Βαθµός Βαθµός στην τελική εξέταση (70%) Βαθµός εργασίας (30%)
Χαρακτηριστικά AMD Opteron (Barcelona) Barcelona (Sep-07) 4 cores 64-bit Tech 65nm, 285mm 463 Million transistors 1.7-2.5 GHz L1-Cache: 64 + 64 KB (Data + Instructions) per core L2-Cache: 512 KB per core L3-Cache: 2048 KB shared 1.2
Γενικές Πληροφορίες Εβδοµαδιαίες ώρες διδασκαλίας: 3 Εξάµηνο: 6 Βιβλίο: Computer Architecture: A Quantitative Approach, 5th Edition, John L. Hennessy and David A. Patterson, Morgan Kaufmann Publishers 5
Περιεχόµενα µαθήµατος (1) Εισαγωγή Τεχνολογία Υπολογιστών Αρχιτεκτονική συνόλου εντολών (ISA) Διοχέτευση Εργαστηριακή άσκηση 1: Winmips Ιεραρχία μνήμης Εργαστηριακή άσκηση 2: SpimCache Multicore Εργαστηριακή άσκηση 3: SMPCache Παραλληλία επιπέδου εντολής (ILP), VLIW, Superscalar Πρόβλεψη διακλάδωσης GPUs Γλώσσες περιγραφής υλικού (VHDL, Verilog) Εργαστηριακή άσκηση 4: Υλοποίηση επεξεργαστή σε Verilog Αρχιτεκτονική ARM Εργαστηριακή άσκηση 5: Προγραμματισμός σε Arduino 6
Τρανζίστορ Κατασκευάστηκε το 1948 στα Bell Labs In acknowledgement of this accomplishment, Shockley, Bardeen, and Brattain were jointly awarded the 1956 Nobel Prize in Physics "for their researches on semiconductors and their discovery of the transistor effect" John Bardeen, William Shockley and Walter Brattain at Bell Labs, 1948. 1.7
Λειτουργία Τρανζίστορ Σαν διακόπτης Επιτρέπει (ή όχι) τη διέλευση ρεύµατος από το source στο drain ανάλογα µε το ρεύµα στο gate 1.8
Λειτουργία Τρανζίστορ ύο τύποι: nmos και pmos 1.9
Λειτουργία Τρανζίστορ ύο τύποι: nmos και pmos nmos: µε 1 άγει, µε 0 δεν άγει Το pmos λειτουργεί αντίστροφα 1.1 0
Τρανζίστορ και πύλες Συνδέοντας transistor κατάλληλα µπορούµε να φτιάξουµε πύλες Πύλη ΝΟΤ µε transistor Πύλη NAND µε transistor 1.1 1
Τρανζίστορ και ολοκληρωµένο κύκλωµα και τελικά ολοκληρωµένα κυκλώµατα 1.1 2
Τεχνολογία Υπολογιστών Ανάπτυξη Η/Υ - Απόδοση Θεαµατικός ρυθµός ανάπτυξης των Η/Υ Πρόοδος στην τεχνολογία που χρησιµοποιείται Καινοτοµίες στη σχεδίαση Εµπορική επιτυχία των Η/Υ (µείωση του κόστους): Με την εµφάνιση των µικροεπεξεργαστών (χαµηλό κόστος κατασκευής) Μείωση της ανάγκης συµβατότητας του object code (όχι προγραµµατισµός σε assembly γλώσσα) Τυποποιηµένα λειτουργικά συστήµατα UNIX (LINUX) (ανεξάρτητα προµηθευτών) Αρχές δεκαετίας 1980: Αρχιτεκτονική RISC Αυξάνεται η απόδοση µε: Παραλληλισµό επιπέδου εντολών Κρυφή µνήµη (cache memory) Προσαρµογή παλαιότερων αρχιτεκτονικών ή εξαφάνισή τους Η αρχιτεκτονική Intel x86 µεταφράζει τις εντολές εσωτερικά 1 3
Απόδοση επεξεργαστών Πηγή: D. Patterson & J. Hennessy: Computer Architecture, 5 th Edition 1 4
Παράγοντες που επηρέασαν την απόδοση επεξεργαστών Μέχρι το 1986: κυρίως η εξέλιξη της τεχνολογίας κατασκευής των επεξεργαστών 1986-2003: Εξέλιξη της τεχνολογίας (τρόπος κατασκευής υπολογιστών) RISC Λίγες και απλές εντολές Παράλληλη εκτέλεση εντολών Απόκρυψη λανθάνοντος χρόνου µνήµης (memory latency) µε χρήση πολλαπλών επιπέδων κρυφής µνήµης Μεταγλωττιστές (τρόπος προετοιµασίας λογισµικού προς εκτέλεση) Μετά το 2003: Η απόδοση περιορίζεται από: Την κατανάλωση ισχύος ( θερµοκρασία αξιοπιστία) Τον περιορισµό στην παραλληλία επιπέδου εντολής Τον λανθάνοντα χρόνο µνήµης Η λύση: Πολυεπεξεργαστές 1 5
Οι υπολογιστές αρχικά (1) Ο ENIAC (Electronic Numerical Integrator and Computer) σχεδιάστηκε και κατασκευάστηκε υπό την εποπτεία των Τζον Μόχλι, Καθηγητή Φυσικής και Τζον Έκερτ, έναν από τους µεταπτυχιακούς φοιτητές του στο Πανεπιστήµιο της Πενσυλβάνια (1943-45) Ο πρώτος ηλεκτρονικός υπολογιστής γενικής χρήσης 16
Οι υπολογιστές αρχικά (2) Ο ENIAC είχε περισσότερες από 18.000 λυχνίες κενού. Ζύγιζε 30 τόνους και καταλάµβανε 63 τετραγωνικά µέτρα χώρο. Κατανάλωνε 140 κιλοβάτ ισχύ. Μπορούσε να εκτελέσει 5.000 προσθέσεις ανά δευτερόλεπτο 17
Συστήµατα υπολογισµού σήµερα 18
Κατηγορίες υπολογιστών (1) Προσωπικές κινητές συσκευές Κινητά τηλέφωνα και υπολογιστές tablet, βασισµένα σε µπαταρία Έµφαση σε ενεργειακή απόδοση, απόδοση σε πραγµατικό χρόνο και κόστος Χρήση µνήµης flash λόγω απαιτήσεων σε ενέργεια και µεγέθους των συσκευών Επιτραπέζιοι (desktop) υπολογιστές Γενικού σκοπού, ποικιλία λογισµικού Έµφαση στο λόγο κόστος/απόδοση και απόδοση γραφικών Ενσωµατωµένοι (embedded) υπολογιστές Βρίσκονται παντού: εκτυπωτές, συσκευές δικτύωσης, αυτοκίνητα, ψηφιακές κάµερες, Τηλεοράσεις, κλπ Έµφαση στην επίτευξη της απαιτούµενης απόδοσης µε το ελάχιστο κόστος 19
Κατηγορίες υπολογιστών (2) ιακοµιστές (servers) Μεγάλη χωρητικότητα παροχή πιο αξιόπιστων και µεγαλύτερης κλίµακας υπηρεσιών Έµφαση σε διαθεσιµότητα, επεκτασιµότητα και απόδοση Η µη λειτουργία ενός διακοµιστή είναι περισσότερο καταστροφική από έναν επιτραπέζιο Συστοιχίες (clusters) υπολογιστών Είναι συλλογές επιτραπέζιων ή διακοµιστών συνδεδεµένων σε δίκτυο Παραδείγµατα: µηχανές αναζήτησης, κοινωνική δικτύωση, αγορές σε πραγµατικό χρόνο Έµφαση σε διαθεσιµότητα και κόστος/απόδοση Οι Υπερυπολογιστές (supercomputers) σχετίζονται µε τους clusters µε έµφαση στα πολύ γρήγορα εσωτερικά δίκτυα διασύνδεσης, υψηλότερη απόδοση και υψηλότερο κόστος 20
Το υπολ/κό σύστηµα ως ιεραρχία επιπέδων(1) Εφαρμογές (Applications) Πως ένα πρόγραµµα καταλήγει να «τρέξει» σε µορφή ψηφιακής λογικής; Πως σχεδιάζεται ένας υπολογιστής χρησιµοποιώντας ψηφιακές πύλες & σύρµατα για να ικανοποιήσει συγκεκριµένες απαιτήσεις; Τεχνολογία Προγραµµατιστής Λογισµικού Σχεδιαστής Αρχιτεκτονικής: Ο σχεδιαστής ενός υπολ. Συστήµατος που θα ικανοποιεί συγκεκριµένες απαιτήσεις Οι τεχνικές που θα επιλεγούν θα επηρεάσουν & τον προγραµµατιστή λογισµικού & το σχεδιαστή υλικού Σχεδιαστής Υλικού 21
Αρχιτεκτονική Υπολογιστών Ορισµός Η αρχιτεκτονική υπολογιστών, στον ευρύτερο ορισµό της, είναι ο σχεδιασµός, η οργάνωση και η υλοποίηση ενός υπολογιστικού συστήµατος, το οποίο µας επιτρέπει να εκτελούµε αποδοτικές εφαρµογές λογισµικού, χρησιµοποιώντας διαθέσιµες τεχνολογίες κατασκευής ψηφιακών κυκλωµάτων 22
Το υπολ/κό σύστηµα ως ιεραρχία επιπέδων(2) Εφαρµογή (Application) Αλγόριθµος (Algorithm) Γλώσσα προγραµµατισµού Programming Language) Λειτουργικό σύστηµα (Operating System) Αρχιτεκτονική συνόλου εντολών (Instruction Set Architecture - ISA) Μικροαρχιτεκτονική (Microarchitecture) Λογικές Πύλες (Logic gates), Αρχιτεκτονική Υπολογιστών Μεταφορά δεδοµένων σε επίπεδο καταχωρητή (Register-Transfer Level) Κυκλώµατα (Circuits) Συσκευές (Devices) Τεχνολογία (Technology) 23
Αφαιρετικότητα (Abstraction) Η θεώρηση ενός υπολογιστικού συστήµατος σε επίπεδα δηµιουργεί αφαιρετικότητα Η αφαιρετικότητα µας βοηθά να χειριστούµε την πολυπλοκότητα ενός συστήµατος (ένα χαµηλότερο επίπεδο κρύβει λεπτοµέρειες του πιο πάνω επιπέδου). Ένα υψηλότερο επίπεδο το µόνο που απαιτείται να γνωρίζει για το αµέσως χαµηλότερο επίπεδο είναι ο τρόπος διασύνδεσης µε αυτό και όχι τον τρόπο που αυτό έχει υλοποιηθεί. Π.χ. ένας προγραµµατιστής σε γλώσσα υψηλού επιπέδου δεν απαιτείται να γνωρίζει την ISA και τον τρόπο που ο υπολογιστής εκτελεί εντολές. Ένας µηχανικός υπολογιστικών συστηµάτων θα πρέπει να γνωρίζει τι κρύβει κάθε επίπεδο, ώστε να µπορεί να λύνει προβλήµατα και να σχεδιάζει αποτελεσµατικά και υψηλών αποδόσεων συστήµατα. 24
Ιεραρχία επιπέδων(1) Εφαρµογή (Application) Αλγόριθµος (Algorithm) Γλώσσα προγραµµατισµού Programming Language) Λειτουργικό σύστηµα (Operating System) Έλεγχος τιμών πίνακα 1. Έλεγξε το στοιχείο save[i] 2. Εάν δεν είναι το k τελείωσε 3. Διαφορετικά επανέλαβε το βήμα 1 C (while (save[i] == k) i+= 1;) Αρχιτεκτονική συνόλου εντολών (Instruction Set Architecture - ISA) Μικροαρχιτεκτονική (Microarchitecture) Λογικές Πύλες (Logic gates), Μεταφορά δεδοµένων σε επίπεδο καταχωρητή (Register-Transfer Level) Κυκλώµατα (Circuits) Συσκευές (Devices) Τεχνολογία (Technology) 25
Ιεραρχία επιπέδων(2) Εφαρµογή (Application) Αλγόριθµος (Algorithm) Γλώσσα προγραµµατισµού Programming Language) Λειτουργικό σύστηµα (Operating System) Αρχιτεκτονική συνόλου εντολών (Instruction Set Architecture - ISA) Μικροαρχιτεκτονική (Microarchitecture) Λογικές Πύλες (Logic gates), Μεταφορά δεδοµένων σε επίπεδο καταχωρητή (Register-Transfer Level) Κυκλώµατα (Circuits) Συσκευές (Devices) Τεχνολογία (Technology) -Η διεπαφή υλικού-λογισμικού -Περιλαμβάνει: το σύνολο των εντολών, τις μεθόδους διευθυνσιοδότησης (προσπέλασης μνήμης), τη διαχείριση καταχωρητών, τον τρόπο κλήσης ρουτινών, τη διαχείριση εισόδου εξόδου π.χ.: MIPS: Loop: sll add lw bne addi J Exit: $t1, $s3, 2 $t1, $t1, $s6 $t0, 0($t1) $t0, $s5, Exit $s3, $s3, 1 Loop 26
Ιεραρχία επιπέδων(3) Εφαρµογή (Application) Αλγόριθµος (Algorithm) Γλώσσα προγραµµατισµού Programming Language) Λειτουργικό σύστηµα (Operating System) Αρχιτεκτονική συνόλου εντολών (Instruction Set Architecture - ISA) Μικροαρχιτεκτονική (Microarchitecture) Είναι ο τρόπος με τον οποίο τα συστατικά μέρη του υλικού συνδέονται μεταξύ τους, ώστε να υλοποιούν μία ISA. (π.χ. σωλήνωση (pipeling), VLIW, κρυφή μνήμη, πολλοί πυρήνες) Λογικές πύλες και συναρτήσεις Λογικές Πύλες (Logic gates), Μεταφορά δεδοµένων σε επίπεδο καταχωρητή (Register-Transfer Level) Ο τρόπος μεταφοράς των δεδομένων μέσα στο σύστημα. Κυκλώµατα (Circuits) Συσκευές (Devices) Τεχνολογία (Technology) 27
Ιεραρχία επιπέδων(4) Εφαρµογή (Application) Αλγόριθµος (Algorithm) Γλώσσα προγραµµατισµού Programming Language) Λειτουργικό σύστηµα (Operating System) Αρχιτεκτονική συνόλου εντολών (Instruction Set Architecture - ISA) Μικροαρχιτεκτονική (Microarchitecture) Συνδυασµός κυκλωµάτων για την υλοποίηση µιας διεργασίας Λογικές Πύλες (Logic gates), Μεταφορά δεδοµένων σε επίπεδο καταχωρητή (Register-Transfer Level) Τρανζίστορ και σύρµατα Κυκλώµατα (Circuits) Συσκευές (Devices) Τεχνολογία (Technology) τεχνολογία πυριτίου Si Si Si Si Si Si Si Si Si 28
Στοιχεία της Αρχιτεκτονικής Υπολογιστών Επεξεργαστές (για υπολογισµούς) Μνήµες (για αποθήκευση) ίκτυα (για επικοινωνία) Πάγιες απαιτήσεις των εφαρµογών: Περισσότερη υπολογιστική ισχύ των επεξεργαστών Περισσότερη χωρητικότητα µνήµης Μεγαλύτερο εύρος ζώνης δικτύων Περιορισµοί της τεχνολογίας: Εκθετική κλιµάκωση των πόρων 29
Τεχνολογίες κατασκευής επεξεργαστών και µνηµών Λυχνία κενού Τρανζίστορ Ολοκληρωµένα κυκλώµατα Μικρής κλίµακας ολοκλήρωσης (SSI): > 10 τρανζίστορ Μεσαίας κλίµακας ολοκλήρωσης (MSI): > 100 τρανζίστορ Υψηλής κλίµακας ολοκλήρωσης (LSI): > 1000 τρανζίστορ Πολύ υψηλής κλίµακας ολοκλήρωσης (VLSI): > 10000 τρανζίστορ System οn a Chip (SoC): > 40.000.000 τρανζίστορ 2003: Intel Pentium 4 microprocessor (55 εκατοµµύρια τρανζίστορ) 512 Mbit DRAM (> 0.5 δις τρανζίστορ) 30
Κατασκευή ολοκληρωµένων κυκλωµάτων Πηγή: D. Patterson & J. Hennessy: Οργάνωση και Σχεδίαση Υπολογιστών 31
8 Ιντσών πλακίδιο (Wafer) 8 inch (200 mm) wafer containing Pentium 4 processors 165 dies, die area = 250 mm 2, 55 million transistors 32
Intel Core i7 Wafer 300mm wafer, 280 chips, 32nm technology Πηγή: D. Patterson & J. Hennessy: Computer Organization and Design, 5 th Edition 33
Intel Core i7 Die (257 mm2, 45 nm) Πηγή: Intel 34
Intel Core i7 Die (257 mm2, 45 nm) Πηγή: D. Patterson & J. Hennessy: Computer Architecture, 5 th Edition 35
Πλακίδιο του AMD Opteron X2 1 die Το πλακίδιο (wafer) διαµέτρου 300 mm περιέχει 117 κύβους (dies) µε επεξεργαστές AMD Opteron X2 (τεχνολογία 90nm) 1.3 6
Ατέλειες και εσοδεία Ατέλεια (defect): ψεγάδι στο πλακίδιο ή στα βήµατα διαµόρφωσης που έχουν ως αποτέλεσµα ένα µη λειτουργικό die Eσοδεία (yield): το ποσοστό των καλών chips στο σύνολο 1.3 7
Μέγεθος die και yield Wafer die ατέλειες 1 die χωρίς 5 dies χωρίς ατέλειες ατέλειες 1.3 8
Γεωµετρία κατασκευής και yield 180nm 130nm Συρρίκνωση γεωµετρίας 90% yield Νέοι µηχανισµοί βλαβών Νέες ατέλειες Μείωση Yield 1.3 9
Αξιοπιστία Σε γεωµετρίες <65nm, τα κυκλώµατα καθίστανται ευάλωτα σε µηχανισµούς βλαβών Ζητούµενα για τη βιοµηχανία είναι: η ανίχνευση ελαττωµάτων η ανέχεια του υπολογιστικού συστήµατος σε ελαττώµατα Ένα Ο.Κ. µε ατέλειες µπορεί να προκαλέσει: Κατάρρευση συστηµάτων Οικονοµικές καταστροφές Απώλειες ανθρώπινων ζωών Θα πρέπει να γίνει αξιολόγηση της αξιοπιστίας και να ανιχνευθούν τα Ο.Κ. µε ατέλειες πριν την αποστολή στον πελάτη Το κόστος επισκευής αυξάνει κατά µια τάξη µεγέθους σε κάθε βήµα µετά τη γραµµή παραγωγής (Rule of Ten) 1.4 0
Κόστος Ολοκληρωµένων κυκλωµάτων Κόστος κύβου = Κόστος πλακιδ ίου Κύβοι αν ά πλακ ίδιο x εσοδε ία κύβου Κύβοι ανά πλακίδιο = π x (διάµετρος πλακιδίου / 2 ) Εµβαδ όν κύβου 2 π x (διάµετρος πλακιδίου ) 2 x εµβαδ όν κύβου Εσοδεία κύβου = εσοδεία πλακιδίου x (1 + ατέλειες ανά µονάδα επιφάνειας x επιφάνεια κύβου ) 1 Ν Εσοδεία κύβου: ποσοστό µη ελαττωµατικών κύβων ανά πλακίδιο Εσοδεία πλακιδίου: αφορά πλακίδια που είναι εντελώς ελαττωµατικά. Την υποθέτουµε = 100%, Ν= µέτρηση δυσκολίας της παραγωγικής διαδικασίας 41
Ασκήσεις 1. Σε ένα πλακίδιο διαµέτρου 300 mm (30 cm) υπολογίστε: (α) τον αριθµό των κύβων που περιλαµβάνει, όταν η πλευρά του κύβου έχει µήκος 1,5 cm και 1 cm (β) Την εσοδεία για τους παραπάνω κύβους, υποθέτοντας ότι οι ατέλειες ανά cm 2 είναι 0,031 και ότι Ν=13,5 (γ) Το κόστος των ανωτέρω κύβων, όταν το κόστος του πλακιδίου είναι 5.000 ευρώ 2. Ο επόµενος πίνακας παρουσιάζει κατασκευαστικά δεδοµένα για διάφορους επεξεργαστές: Διάμετρος πλακιδίου Κύβοι ανά πλακίδιο ατέλειες Κόστος ανά πλακίδιο α 15 cm 90 0,018 ατέλειες ανά cm 2 10 4 β 25 cm 140 0,024 ατέλειες ανά cm 2 20 4 Ν (i) Βρείτε την εσοδεία (ii) Βρείτε το κόστος ανά κύβο 42
Τάσεις της τεχνολογίας των υπολογιστών(1) Τεχνολογία ολοκληρωµένων κυκλωµάτων Πυκνότητα των τρανζίστορ: αυξάνεται κατά περίπου 35% κάθε χρόνο. Ο αριθµός των τρανζίστορ σε ένα ολοκληρωµένο κύκλωµα διπλασιάζεται περίπου κάθε 18-24 µήνες. Μέγεθος ψηφίδας(κύβου): αυξάνεται κατά περίπου 10% µε 20% το χρόνο Συνολική ολοκλήρωση: αυξάνεται κατά περίπου 40% µε 55% το χρόνο Πηγή: Βικιπαίδεια 43
Τάσεις της τεχνολογίας των υπολογιστών(2) Χωρητικότητα δυναµικής µνήµης (DRAM): αυξάνεται περίπου 25% µε 40% κάθε χρόνο (µε τάση µείωσης, λόγω δυσκολιών στην παραγωγή ακόµη µικρότερων cell DRAM) Αύξηση χωρητικότητας ανά τσιπ DRAM: Πηγή: D. Patterson & J. Hennessy: Computer Organization and Design, 5 th Edition 44
Τάσεις της τεχνολογίας των υπολογιστών(3) Χωρητικότητα µνήµης flash: αυξάνεται περίπου 50% µε 60% το χρόνο 15 µε 20 φορές πιο φτηνή, ανά bit, από τη DRAM 45
Τάσεις της τεχνολογίας των υπολογιστών(4) Τεχνολογία µαγνητικών δίσκων: η χωρητικότητα αυξάνεται κατά περίπου 40% το χρόνο 15 µε 25 φορές πιο φθηνός, ανά bit, από τη µνήµη flash 300 µε 500 φορές πιο φθηνός, ανά bit, από την DRAM Πηγή: http://en.wikipedia.org/wiki/file:hard_drive_capacity_over_time.png 46
Οι τάσεις στη συχνότητα ρολογιού και στην ηλεκτρική ισχύ Πηγή: D. Patterson & J. Hennessy: Computer Organization and Design, 5 th Edition 47
Ισχύς(Power) και Ενέργεια(Energy) Ενέργεια: Το συνολικό «έργο» που φέρει σε πέρας ένας υπολογιστής µετριέται σε joules η χωρητικότητα της µπαταρίας είναι σε joules Ισχύς: Η κατανάλωση ενέργειας ανά µονάδα χρόνου µετριέται σε Watts, 1 Watt=1 Joule/sec (ενέργεια ανά µονάδα χρόνου) θα πρέπει να εισαχθεί και να διανεµηθεί σε όλο το τσιπ διαχέεται ως θερµότητα και πρέπει να αφαιρεθεί καθορίζει τη διάρκεια ζωής µιας µπαταρίας καθορίζει την ποσότητα ψύξης που απαιτείται 48
Ανάγκη για χαµηλότερη κατανάλωση ισχύος Αυξανόµενη ολοκλήρωση (νόµος Moore) µε αποτέλεσµα να αυξάνεται η πυκνότητα ισχύος των συστηµάτων και η έκλυση θερµότητας Αυξανόµενη αγορά φορητών καταναλωτικών συσκευών τροφοδοτούµενες από µπαταρίες δεδοµένου ότι η πρόοδος στις µπαταρίες δεν είναι η αναµενόµενη σε σχέση µε την ανάγκη που προβλέπεται από τον νόµο του Moore, η χαµηλή κατανάλωση µετατρέπεται σε κρίσιµο σηµείο της σχεδίασης) Περιβαλλοντικοί λόγοι. Ο ραγδαία αυξανόµενος κλάδος των υπολογιστικών συσκευών συµβάλει σηµαντικά στην ρύπανση του περιβάλλοντος (η παραγωγή ηλεκτρικής ενέργειας είναι η βασική πηγή ρύπανσης της ατµόσφαιρας) 49
Η κατανάλωση ισχύος στα Chip CMOS(1) Στα chip CMOS η κύρια πηγή κατανάλωσης σχετίζεται µε τη µεταγωγή των τρανζίστορ και ονοµάζεται δυναµική ενέργεια. Η ενέργεια που απαιτείται ανά τρανζίστορ είναι ανάλογη του γινοµένου της χωρητικότητας φορτίου του τρανζίστορ και του τετραγώνου της τάσης: Ενέργεια δυναµική = χωρητικότητα φορτίου x Τάση 2 Η εξίσωση αυτή είναι η ενέργεια της λογικής µετάβασης από 0 1 0 ή 1 0 1. Η ενέργεια µιας απλής λογικής µετάβασης (0 1 ή 1 0) είναι: Ενέργεια δυναµική = ½ x χωρητικότητα φορτίου x Τάση 2 Η ισχύς που απαιτείται ανά τρανζίστορ είναι το γινόµενο της ενέργειας µιας µετάβασης και της συχνότητας των µεταβάσεων: Ισχύς δυναµική = ½ x χωρητικότητα φορτίου x Τάση 2 x συχνότητα µεταγωγής Παρόλο που, στην τεχνολογία CMOS, η δυναµική ισχύς αποτελεί την κύρια πηγή κατανάλωσης ισχύος, η στατική ισχύς έχει αρχίσει να αποκτά ιδιαίτερη σπουδαιότητα, διότι το ρεύµα διαρροής εξακολουθεί να κυκλοφορεί ακόµη και όταν το τρανζίστορ είναι κλειστό. ηλαδή, η στατική ισχύς είναι ανάλογη του πλήθους των τρανζίστορ: Ισχύς στατική = ρεύµα στατικό x τάση 50
Η κατανάλωση ισχύος στα Chip CMOS(2) Ισχύς δυναµική = ½ x χωρητικότητα φορτίου x Τάση 2 x συχνότητα Μείωση κατανάλωσης ισχύος Κυρίως µε τη µείωση της τάσης τροφοδοσίας Η τάση από τα 5V µειώθηκε κάτω από 1V σε 20 χρόνια Η µείωση της τάσης επηρεάζει άµεσα την ταχύτητα των κυκλωµάτων (είναι πιο αργά) Η τάση δεν µπορεί να µειωθεί περεταίρω Μείωση της συχνότητας Μείωση της χωρητικότητας φορτίου, (η οποία αποτελεί συνάρτηση τόσο του πλήθους των τρανζίστορ που είναι συνδεδεµένα σε κάποια έξοδο όσο και της τεχνολογίας, η οποία καθορίζει τη χωρητικότητα των καλωδίων και των τρανζίστορ): Χρήση µικρών σε µέγεθος συσκευών Χρήση µικρού µήκους καλωδίων που διασυνδέουν τις συσκευές 51
Το τείχος της ισχύος (power wall) εν µπορούµε να µειώσουµε άλλο την τάση Ένας επεξεργαστής Intel Core i7 των 3.3 GHz καταναλώνει 130 Watts Τη θερµότητα αυτή πρέπει να την αφαιρέσουµε από ένα 1.5 Χ 1.5 cm τσιπ Αυτό είναι το όριο του τι µπορεί να ψύχεται από τον αέρα ( ηλαδή δεν µπορούµε να αφαιρέσουµε περισσότερη θερµότητα) Τεχνικές για µείωση της κατανάλωσης ισχύος: Απενεργοποίηση του ρολογιού (συχνότητας) σε µη ενεργά τµήµατα ή cores Όπως στο τµήµα κινητής υποδιαστολής όταν δεν υπάρχουν αντίστοιχες εντολές υναµική κλιµάκωση της τάσης και της συχνότητας Σε περιόδους χαµηλής δραστηριότητας δεν είναι ανάγκη να λειτουργούν σε µέγιστη ισχύ Το ίδιο το τσιπ αποφασίζει εάν ο ρυθµός του ρολογιού µπορεί να είναι µεγαλύτερος για κάποιο µικρό διάστηµα, µέχρι η θερµότητα να αρχίσει να ανεβαίνει (χρήση αισθητήρα θερµότητας) 52
Ερωτήσεις 1. Έστω ότι µια µείωση της τάσης κατά 15% µπορεί να επιφέρει µείωση της συχνότητας κατά 15%. Τι επίδραση θα έχει η παραπάνω µείωση στη δυναµική ενέργεια και στη δυναµική ισχύ; 2. Έστω ένα κινητό τηλέφωνο µε µια µπαταρία των 6 βατώρων (Wh), το οποίο λειτουργεί στα 1,2 V. Υποθέτουµε ότι όταν βρίσκεται σε χρήση λειτουργεί στα 300 MHz και ότι η µέση ποσότητα χωρητικότητας φορτίου στις µεταγωγές του chip, κάθε στιγµή, είναι 10 nf (10-8 Farads). Επίσης, όταν είναι σε χρήση εκπέµπει 3 W ισχύ από την κεραία του. Όταν δε χρησιµοποιείται, η δυναµική ισχύς είναι σχεδόν µηδενική. Το ρεύµα διαρροής που κυκλοφορεί είτε βρίσκεται σε χρήση είτε όχι, είναι 40 ma. Υπολογίστε τη διάρκεια της µπαταρίας (α) όταν το τηλέφωνο δε χρησιµοποιείται και (β) όταν χρησιµοποιείται συνεχώς. 3. Σε έναν επεξεργαστή υποθέτουµε µείωση της τάσης κατά 10% και αύξηση της συχνότητας κατά 5%. Ποια είναι η βελτίωση στην κατανάλωση δυναµικής ισχύος; 53
Ασκήσεις 4. Ο παρακάτω πίνακας παρουσιάζει την κατανάλωση ισχύος µερικών εξαρτηµάτων ενός υπολογιστικού συστήµατος. (α) Κάνοντας την υπόθεση ότι κάθε εξάρτηµα καταναλώνει το µέγιστο δυνατό φορτίο, καθώς και ότι η αποδοτικότητα της τροφοδοσίας ρεύµατος ανέρχεται στο 80%, πόσα watt ισχύος πρέπει η συσκευή τροφοδοσίας να παραδίδει σε ένα σύστηµα που διαθέτει έναν επεξεργαστή Intel Pentium 4, 2 GB µνήµης DRAM Kingston µε 240 ακροδέκτες και έναν σκληρό δίσκο των 7200 rpm; (β) Πόση ισχύ θα καταναλώσει ο δίσκος των 7200 rpm, αν βρίσκεται σε αδράνεια κατά 60% του χρόνου; Πηγή: D. Patterson & J. Hennessy: Computer Architecture, 5 th Edition 54
Bandwidth and Latency Bandwidth or Throughput (εύρος ζώνης ή διεκπεραιωτική ικανότητα) Συνολική ποσότητα εργασίας που εκτελείται σε ένα συγκεκριµένο χρονικό διάστηµα για τους επεξεργαστές βελτιώθηκε 10.000-25.000Χ για µνήµη και δίσκους βελτιώθηκε 300-1.200Χ Latency or Response time (λανθάνων χρόνος ή χρόνος απόκρισης) Χρόνος που µεσολαβεί ανάµεσα στην έναρξη και την ολοκλήρωση κάποιου γεγονότος 30-80Χ βελτιώθηκε για τους επεξεργαστές 6-8Χ βελτιώθηκε για µνήµη και δίσκους 55
Βελτιώσεις µικροεπεξεργαστών Πηγή: D. Patterson & J. Hennessy: Computer Architecture, 5 th Edition 56
Βελτιώσεις µνήµης DRAM-δικτύων Πηγή: D. Patterson & J. Hennessy: Computer Architecture, 5 th Edition 57
Βελτιώσεις δίσκων Πηγή: D. Patterson & J. Hennessy: Computer Architecture, 5 th Edition 58
Bandwidth and Latency improvements Πηγή: D. Patterson & J. Hennessy: Computer Architecture, 5 th Edition 59
Φερεγγυότητα (Dependability) Τα υπολογιστικά συστήµατα σχεδιάζονται και κατασκευάζονται σε διαφορετικά πεδία αφαιρετικότητας Η φερεγγυότητα ενός υπολογιστικού συστήµατος εξαρτάται από τη φερεγγυότητα των επιµέρους στοιχείων από τα οποία αποτελείται Κάθε στοιχείο ενός συστήµατος µπορεί να θεωρηθεί από µόνο του ως ένα σύστηµα που αποτελείται από υποσυστήµατα Ελάττωµα (fault)= βλάβη ενός στοιχείου Μπορεί να οδηγήσουν σε βλάβη του συστήµατος Μερικά ελαττώµατα διαχέονται (π.χ. η απώλεια ηλεκτρικής ενέργειας), ενώ άλλα περιορίζονται σε ένα µοναδικό στοιχείο 60
Συµφωνητικά παροχής υπηρεσιών (Service Level Agreements, SLA) Τα SLA είναι µέρος µιας σύµβασης υπηρεσιών, όπου η παρεχόµενη υπηρεσία ορίζεται επακριβώς Σύµφωνα µε τα SLA τα συστήµατα εναλλάσσονται µεταξύ δύο καταστάσεων παρεχόµενων υπηρεσιών: Ολοκλήρωση υπηρεσίας, όπου η υπηρεσία παρέχεται όπως ακριβώς προβλέπεται από τις σχετικές προδιαγραφές ιακοπή υπηρεσίας, όπου η παρεχόµενη υπηρεσία είναι διαφορετική από αυτήν που περιγράφεται στο SLA 61
Μονάδες µέτρησης της φερεγγυότητας Οι µεταβάσεις από τη µια κατάσταση στην άλλη προκαλούνται από αστοχίες (failures) (από την κατάσταση 1 στην κατάσταση 2), ή από αποκαταστάσεις (restorations) (από την κατάσταση 2 στην κατάσταση 1) Αστοχία Ολοκλήρωση υπηρεσίας Αποκατάσταση (ή επισκευή) Διακοπή υπηρεσίας Η ποσοτικοποίηση των µεταβάσεων αυτών οδηγεί σε δύο µονάδες µέτρησης της φερεγγυότητας: Αξιοπιστία (reliability) στοιχείου ιαθεσιµότητα (availability) στοιχείου 62
Αξιοπιστία (reliability) Αξιοπιστία: είναι µια µέτρηση του χρόνου που µεσολαβεί µέχρι την εµφάνιση κάποιας αστοχίας από κάποιο αρχικό σηµείο αναφοράς. Κατά συνέπεια, ο µέσος χρόνος εµφάνισης αστοχίας (mean time to failure MTTF) αποτελεί µια µέτρηση της αξιοπιστίας Το αντίστροφο του MTTF είναι ο ρυθµός εµφάνισης αστοχίας. Αφορά τις αστοχίες που σηµειώνονται ανά δισεκατοµµύριο ωρών λειτουργίας ή τις αστοχίες που σηµειώνονται εντός κάποιας χρονικής περιόδου (failure in time FIT). FIT=1/MTTF Η διακοπή υπηρεσίας υπολογίζεται ως ο µέσος χρόνος επισκευής(mean time to repair MTTR). Ο µέσος χρόνος που µεσολαβεί µεταξύ αστοχιών (mean time between failure, MTBF) ισούται µε το άθροισµα: MTTF+MTTR 63
ιαθεσιµότητα (availability) ιαθεσιµότητα: είναι µια µέτρηση της επιτυχούς παροχής υπηρεσίας σε σχέση µε την εναλλαγή µεταξύ των δύο καταστάσεων ιαθεσιµότητα στοιχείου = MTTF/(MTTF+MTTR) Αστοχία αποκατάσταση αστοχία αποκατάσταση 0 0 MTTF MTTR χρόνος MTBF 64
Παράδειγµα 1 (1) Έστω ένα υποσύστηµα δίσκων που διαθέτει τα ακόλουθα στοιχεία και MTTF: 10 δίσκους, καθένας εκ των οποίων έχει MTTF της τάξης των 1.000.000 ωρών Έναν ελεγκτή SCSI µε MTTF της τάξης των 500.000 ωρών Μία συσκευή τροφοδοσίας ρεύµατος µε MTTF της τάξης των 200.000 ωρών Έναν ανεµιστήρα µε MTTF της τάξης των 200.000 ωρών Ένα καλώδιο SCSI µε MTTF της τάξης των 1.000.000 ωρών Υποθέτοντας ότι οι αστοχίες είναι ανεξάρτητες µεταξύ τους υπολογίστε τον MTTF του συνολικού συστήµατος Λύση MTTFσυστήµατος=1/Ρυθµό αστοχίας συστήµατος Ρυθµός αστοχίας συστήµατος= το άθροισµα των επιµέρους ρυθµών αστοχίας των στοιχείων Ρυθµός αστοχίας στοιχείου=1/mttf (ανά δισεκατοµµύριο ώρες) 65
Παράδειγµα 1 (2) Ρυθµός αστοχίας δίσκων=(1x10)/1.000.000=10 4 /10 9 Ρυθµός αστοχίας ελεγκτή SCSI=1/500.000=2x10 3 /10 9 Ρυθµός αστοχίας συσκευής τροφοδοσίας ρεύµατος=1/200.000=5x10 3 /10 9 Ρυθµός αστοχίας ανεµιστήρα=1/200.000=5x10 3 /10 9 Ρυθµός αστοχίας καλωδίου SCSI=1/1.000.000=10 3 /10 9 Ρυθµός αστοχίας συστήµατος=10 4 /10 9 + 2x10 3 /10 9 + 5x10 3 /10 9 + 5x10 3 /10 9 +10 3 /10 9 = (10.000+2.000+5.000+5.000+1.000)/10 9 =23.000/10 9 MTTF συστήµατος=1/ρυθµό αστοχίας συστήµατος=10 9 /23.000=43.500 ώρες ή περίπου 5 έτη 66
Παράδειγµα 2 Εάν στο προηγούµενο παράδειγµα προσθέσουµε µια δεύτερη, ίδια, συσκευή τροφοδοσίας ρεύµατος και υποθέσουµε ότι το MTTR της κάθε συσκευής είναι 24 ώρες, πιο είναι το MTTF του ζεύγους των συσκευών τροφοδοσίας ρεύµατος (MTTF pair ); Λύση Ρυθµός αστοχίας power(1 st or 2 nd ) = 1/MTTF power + 1/MTTF power = 2/MTTF power Πιθανότητα να συµβεί µια 2 η βλάβη ενώ επιδιορθώνουµε την 1 η : MTTR/MTTF power Ρυθµός αστοχίας power(και για τις 2) = 2/MTTF power x MTTR/MTTF power MTTF pair =1/Ρυθµός αστοχίας power(και για τις 2) = MTTF 2 /(2xMTTR) =200.000 2 /(2x24)=830.000.000 ώρες Συγκρίνοντας το MTTF της µιας συσκευής (200.000 ώρες) µε τις 830.000.000 ώρες και των δύο, παρατηρούµε ότι το σύστηµα µε τις δύο συσκευές είναι πιο αξιόπιστο κατά περίπου 4.150 φορές 67
Προοπτικές υπολογιστικών συστηµάτων 1. Αυξανόµενη ποικιλοµορφία των απαιτήσεων των εφαρµογών, οδηγεί σε αυξανόµενη ποικιλοµορφία νέων υπολογιστικών συστηµάτων 2. Περιορισµοί στην κατανάλωση ηλεκτρικής ισχύος οδηγούν σε χρήση πολλαπλών επεξεργαστών, ενσωµατωµένων σε ένα ενιαίο τσιπ 3. Οι προκλήσεις από την κλιµάκωση της τεχνολογίας οδηγούν σε νέες αναδυόµενες τεχνολογίες επεξεργαστή, µνήµης, και συσκευών δικτύου 68
Προοπτική 1: Νόµος του Bell Περίπου κάθε δεκαετία διαµορφώνεται µια νέα κατηγορία υπολογιστών, χαµηλότερης τιµής από την προηγούµενη, που βασίζεται σε µια νέα πλατφόρµα προγραµµατισµού και η οποία οδηγεί σε νέες χρήσεις και τη δηµιουργία µιας νέας βιοµηχανίας Πηγή: G. Bell, Bell s law for the birth and death of computer classes, Commun. ACM, vol. 51, no. 1, pp. 86 94, Jan. 2008 69
Προοπτική 2: Οι τάσεις στην ηλεκτρική ισχύ Πηγή: D. Patterson & J. Hennessy: Computer Organization and Design, 5 th Edition 70
Προοπτική 2: Πολυεπεξεργαστές Πολυπύρηνοι µικροεπεξεργαστές (multicore microprocessors) Πολλοί επεξεργαστές ανά τσιπ Απαιτεί παράλληλο προγραµµατισµό σε επίπεδο υπολογιστή/υπολογισµού (multiprocessors, multicomputers) Ταυτόχρονη εκτέλεση ενός ή διαφορετικών προγραµµάτων σε πολλαπλούς επεξεργαστές υσκολίες στην υλοποίηση Προγραµµατισµός για µέγιστη απόδοση Εξισορρόπηση φορτίου (load balancing) Βελτιστοποίηση επικοινωνίας (communication) και συγχρονισµού (synchronization) 71
Προοπτική 2: Πολυπύρηνοι µικροεπεξεργαστές (1) Η χρήση πολλαπλών πυρήνων επιτρέπει: Χαµηλότερες συχνότητες λειτουργίας Συνεπώς περιορισµό της κατανάλωσης ισχύος και της θερµότητας ραµατική αύξηση της απόδοσης (σε ορισµένες περιπτώσεις) Με κατάλληλο λογισµικό που εκµεταλλεύεται την παραλληλία στην εκτέλεση First Microprocessor Intel 4004 (1971) Application : calculators Technology: 10000 nm 2300 transistors 13 mm 2 108 KHz 12 Volts 4-bit data Single-cycle datapath 72
Προοπτική 2: Πολυπύρηνοι µικροεπεξεργαστές(2) Single-Core Microprocessors Intel Pentium4 (2003) Application: desktop/server Technology: 90nm (1% of 4004) 55M transistors (20,000x) 101 mm 2 (10x) 3.4 GHz (10,000x) 1.2 Volts (1/10x) 32/64-bit data (16x) 22-stage pipelined datapath 3 instructions per cycle (superscalar) Two levels of on-chip cache data-parallel vector (SIMD) instructions, hyperthreading 73
Προοπτική 2: Πολυπύρηνοι µικροεπεξεργαστές(3) Multicore Processor Intel Core i7 (2013) Application: desktop/server Technology: 22nm (25% of P4) 1.4B transistors (30x) 177 mm 2 (2x) 3.5 GHz to 3.9 Ghz (~1x) 1.8 Volts (~1x) 256-bit data (2x) 14-stage pipelined datapath (0.5x) 4 instructions per cycle (1x) Three levels of on-chip cache data-parallel vector (SIMD) instructions, hyperthreading Four-core multicore (4x) 74
Προοπτική 3: Αναδυόµενες τεχνολογίες συσκευών? three-dimensional molecular Computing? Πηγή: [from Kurzweil Singularity is Near] 75
Σχεδίαση υπολογιστή Προσδιορισµός προδιαγραφών (specifications) Σχεδίαση µε περιορισµούς που αφορούν: στο κόστος (ανάπτυξης, ελέγχου και κατασκευής) στην κατανάλωση ισχύος και ενέργειας στην αξιοπιστία (reliability) Η αρχιτεκτονική Υπολογιστών αφορά: στη σχεδίαση της Αρχιτεκτονικής Συνόλου Εντολών (ISA) στην υλοποίηση (µε βάση τους παραπάνω στόχους) 1.7 6
Σχεδίαση Επεξεργαστών Σχεδίαση Αρχιτεκτονικής Συνόλου Εντολών (ISA) Υλοποίηση της ISA στο υλικό Προηγµένα εργαλεία σχεδίασης (CAD tools) Ιεραρχικά δοµηµένη σχεδίαση (hierarchical design) Υλοποίηση πλατφόρµας λογισµικού για την υποστήριξη του επεξεργαστή Μεταγλωττιστές (Compilers) Συµβολοµεταφραστές (Assemblers) Προσοµοιωτές ISA (Instruction Set Simulators, ISSs) 1.7 7
Μοντελοποίηση επεξεργαστών Σχηµατική αναπαράσταση (Schematic capture) Γλώσσες προδιαγραφών (Specification languages) SystemC, SystemVerilog Γλώσσες περιγραφής υλικού (Hardware Description Languages, HDLs) VHDL, Verilog 1.7 8
Υλοποίηση επεξεργαστών σε hardware Application Specific Integrated Circuits (ASICs) Field Programmable Gate Arrays (FPGAs) ASIC FPGA (Xilinx) 1.7 9
Υλοποίηση επεξεργαστών µε FPGAs Απαιτούνται: Γνώσεις Αρχιτεκτονικής Υπολογιστών Γνώσεις σχεδίασης ψηφιακών συστηµάτων (VHDL, Verilog) Μικρό «κεφάλαιο» Κόστος λογισµικού: 0 Κόστος κάρτας: από 50 1.8 0
Ερωτήσεις? 1.8 1