chapter 1

46
∆ημήτρης Γκιζόπουλος Κεφάλαιο 1 Αφηρημένες έννοιες και τεχνολογία υπολογιστών Οργάνωση Οργάνωση και και Σχεδίαση Σχεδίαση Υπολογιστών Υπολογιστών , , Η Η ∆ιασύνδεση ∆ιασύνδεση Υλικού Υλικού και και Λογισμικού Λογισμικού , , 4 4 η η έκδοση έκδοση , 2010 , 2010

Upload: billythedoggy

Post on 23-Oct-2014

4 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Chapter 1

∆ηµήτρης Γκιζόπουλος

Κεφάλαιο 1

Αφηρηµένες έννοιες καιτεχνολογία υπολογιστών

ΟργάνωσηΟργάνωση καικαι ΣχεδίασηΣχεδίαση ΥπολογιστώνΥπολογιστών, , ΗΗ ∆ιασύνδεση∆ιασύνδεση ΥλικούΥλικού καικαι ΛογισµικούΛογισµικού, , 44ηη έκδοσηέκδοση, 2010, 2010

Page 2: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 2

∆ηµήτρης Γκιζόπουλος

Επανάσταση υπολογιστώνΠρόοδος της τεχνολογίας υπολογιστώνΘεµελιώνεται από το νόµο του Moore

Καινοτόµες εφαρµογές γίνονται εφικτέςΥπολογιστές σε αυτοκίνηταΚινητά τηλέφωναΕρευνητικό πρόγραµµα ανθρώπινουγονιδιώµατος (human genome)Παγκόσµιος ιστός (World Wide Web)Μηχανές αναζήτησης

Οι υπολογιστές βρίσκονται παντού

§1.1 Εισαγωγή

Page 3: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 3

∆ηµήτρης Γκιζόπουλος

Κατηγορίες υπολογιστώνΕπιτραπέζιοι (desktop) υπολογιστές

Γενικού σκοπού, ποικιλία λογισµικούΣυµβιβασµοί (tradeoffs) κόστους/απόδοσης

∆ιακοµιστές (servers)Βασίζονται σε δίκτυοΜεγάλη χωρητικότητα, απόδοση, αξιοπιστίαΕύρος: µικροί διακοµιστές µέχρι µέγεθος κτιρίου

Ενσωµατωµένοι (embedded) υπολογιστές«Κρυµµένοι» σαν συστατικά άλλων συστηµάτωνΑυστηροί περιορισµοί ισχύος/απόδοσης/κόστους

Page 4: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 4

∆ηµήτρης Γκιζόπουλος

Η αγορά των επεξεργαστών

Mill

ions

Page 5: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 5

∆ηµήτρης Γκιζόπουλος

Τι θα µάθετεΠως µεταφράζονται τα προγράµµατα στηγλώσσα της µηχανήςΚαι πως τα εκτελεί το υλικό

Τη διασύνδεση υλικού και λογισµικούΤι καθορίζει την απόδοση τωνπρογραµµάτωνΚαι πως µπορεί να βελτιωθεί

Πως βελτιώνουν την απόδοση οισχεδιαστές του υλικούΤι είναι η παράλληλη επεξεργασία

Page 6: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 6

∆ηµήτρης Γκιζόπουλος

Κατανόηση της απόδοσηςΑλγόριθµος

Καθορίζει τον αριθµό λειτουργιών που εκτελούνταιΓλώσσα προγραµµατισµού, µεταγλωττιστής, αρχιτεκτονική

Καθορίζουν τον αριθµό των εντολών µηχανής πουεκτελούνται ανά λειτουργία

Επεξεργαστής και σύστηµα µνήµηςΚαθορίζουν την ταχύτητα εκτέλεσης των εντολών

Σύστηµα Εισόδου/Εξόδου (περιλαµβάνει και τοΛειτουργικό Σύστηµα)

Καθορίζει την ταχύτητα εκτέλεσης των λειτουργιώνεισόδου/εξόδου

Page 7: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 7

∆ηµήτρης Γκιζόπουλος

Κάτω από το πρόγραµµά σαςΛογισµικό εφαρµογών

Γραµµένο σε γλώσσα υψηλού επιπέδου(high-level language)

Λογισµικό συστηµάτωνΜεταγλωττιστής (compiler): µεταφράζεικώδικα HLL σε κώδικα µηχανήςΛειτουργικό σύστηµα: κώδικας υπηρεσιών

Χειρισµός εισόδου/εξόδου∆ιαχείριση µνήµης και αποθήκευσηςΧρονοπρογραµµατισµός εργασιών & κοινήχρήση πόρων

ΥλικόΕπεξεργαστής, µνήµη, ελεγκτέςεισόδου/εξόδου

§1.2 Κάτω

απότο

πρόγραµµά

σας

Page 8: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 8

∆ηµήτρης Γκιζόπουλος

Επίπεδα κώδικα προγράµ/τοςΓλώσσα υψηλού επιπέδου

Επίπεδο αφαίρεσης πιοκοντά στο πρόβληµαΠαρέχει παραγωγικότητακαι φορητότητα

Συµβολική γλώσσα(assembly language)

Αναπαράσταση εντολώνµηχανής µε κείµενο

Αναπαράσταση υλικού∆υαδικά ψηφία (bit)Κωδικοποιηµένες εντολέςκαι δεδοµένα

Page 9: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 9

∆ηµήτρης Γκιζόπουλος

Συστατικά ενός υπολογιστήΤα ίδια συστατικά για όλα ταείδη υπολογιστών

Επιτραπέζιοι, διακοµιστές, ενσωµατωµένοι

Η είσοδος/έξοδοςπεριλαµβάνει

Συσκευές διασύνδεσης χρήστη(user-interface)

Οθόνη, πληκτρολόγιο, ποντίκιΣυσκευές αποθήκευσης

Σκληρός δίσκος, CD/DVD, flashΠροσαρµογείς δικτύου (network adapters)

Επικοινωνία µε άλλουςυπολογιστές

§1.3 Κάτω

απότο

κάλυµµα

ΓΕΝΙΚΗ εικόνα

Page 10: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 10

∆ηµήτρης Γκιζόπουλος

Ανατοµία ενός υπολογιστή

Συσκευήεξόδου

Συσκευήεισόδου

Συσκευήεισόδου

Καλώδιοδικτύου

Page 11: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 11

∆ηµήτρης Γκιζόπουλος

Ανατοµία ενός ποντικιούΟπτικό ποντίκι

Μία LED φωτίζει τηνεπιφάνεια γραφείουΜικρή κάµερα χαµηλήςανάλυσηςΒασικός οπτικόςεπεξεργαστής

Παρατηρεί µετακινήσειςστους άξονες x, y

Πλήκτρα & ροδέλαΑντικαθιστά τοµηχανικό ποντίκι µε τηµπίλια

Page 12: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 12

∆ηµήτρης Γκιζόπουλος

Μέσα από τον καθρέφτηΟθόνη LCD (liquid crystal display): πίξελ (pixels), ή εικονοστοιχεία

Αντικατοπτρίζει τα περιεχόµενα της προσωρινήςµνήµης καρέ (frame buffer)

Page 13: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 13

∆ηµήτρης Γκιζόπουλος

Το άνοιγµα του κουτιού

Page 14: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 14

∆ηµήτρης Γκιζόπουλος

Μέσα στον επεξεργαστή, CPU∆ιαδροµή δεδοµένων (datapath): εκτελείλειτουργίες στα δεδοµέναΈλεγχος: ορίζει την ακολουθία λειτουργιώνστη διαδροµή δεδοµένων, τη µνήµη, ...Κρυφή µνήµη (cache memory)Μικρή γρήγορη µνήµη SRAM για άµεσηπροσπέλαση δεδοµένων

Page 15: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 15

∆ηµήτρης Γκιζόπουλος

Μέσα στον ΕπεξεργαστήAMD Barcelona: 4 πυρήνες (cores) επεξεργαστή

Page 16: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 16

∆ηµήτρης Γκιζόπουλος

Αφαιρέσεις (Abstractions)

Οι αφαιρέσεις µας βοηθούν να χειριστούµε τηνπολυπλοκότητα

Κρύβουν λεπτοµέρειες χαµηλού επιπέδουΑρχιτεκτονική συνόλου εντολών (Instruction set architecture – ISA)

Η διασύνδεση υλικού και λογισµικού∆υαδική διασύνδεση εφαρµογής (application binary interface)

Η ISA και επιπλέον η διασύνδεση του λογισµικούσυστηµάτων

ΥλοποίησηΟι λεπτοµέρειες κάτω από µια διασύνδεση

ΓΕΝΙΚΗ εικόνα

Page 17: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 17

∆ηµήτρης Γκιζόπουλος

Ασφαλές µέρος για δεδοµέναΠτητική (volatile) κύρια µνήµη

Χάνει τις εντολές και δεδοµένα όταν δενέχει ρεύµα

Μη-πτητική (non-volatile) δευτερεύουσαµνήµη

Μαγνητικός δίσκοςΜνήµη φλας (flash)Οπτικός δίσκος (CDROM, DVD)

Page 18: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 18

∆ηµήτρης Γκιζόπουλος

∆ίκτυαΕπικοινωνία και κοινή χρήση πόρωνΤοπικό δίκτυο (local area network, LAN): Ethernet

Μέσα σε ένα κτίριο∆ίκτυο ευρείας περιοχής (wide area network, WAN): το InternetΑσύρµατο δίκτυο: WiFi, Bluetooth

Page 19: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 19

∆ηµήτρης Γκιζόπουλος

Τάσεις της τεχνολογίαςΤεχνολογίαηλεκτρονικών συνεχίζεινα εξελίσσεται

Μεγαλύτερηχωρητικότητα καιαπόδοσηΜειωµένο κόστος

6,200,000,000Υπερυψηλής κλίµακαςολοκληρωµένο κύκλωµα (ULSI)

2005

2,400,000Πολύ µεγάλης κλίµακαςολοκληρωµένο κύκλωµα (VLSI)

1995900Ολοκληρωµένο κύκλωµα1975

35Τρανζίστος19651Λυχνία κενού1951

Σχετική απόδοση/κόστοςΤεχνολογίαΈτος

Χωρητικότητα DRAM

Page 20: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 20

∆ηµήτρης Γκιζόπουλος

Ορισµός της απόδοσηςΠοιο αεροπλάνο έχει την καλύτερη απόδοση;

0 100 200 300 400 500

DouglasDC-8-50

BAC/SudConcorde

Boeing 747

Boeing 777

Passenger Capacity

0 2000 4000 6000 8000 10000

Douglas DC-8-50

BAC/SudConcorde

Boeing 747

Boeing 777

Cruising Range (miles)

0 500 1000 1500

DouglasDC-8-50

BAC/SudConcorde

Boeing 747

Boeing 777

Cruising Speed (mph)

0 100000 200000 300000 400000

Douglas DC-8-50

BAC/SudConcorde

Boeing 747

Boeing 777

Passengers x mph

§1.4 Απόδοση

Page 21: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 21

∆ηµήτρης Γκιζόπουλος

Response time – ThroughputΧρόνος απόκρισης (response time)

Πόσο διαρκεί η εκτέλεση µιας εργασίας∆ιεκπαιρεωτική ικανότητα (throughput)

Συνολική δουλειά που γίνεται ανά µονάδα χρόνουπ.χ. tasks/transactions/… ανά ώρα

Πως επηρεάζονται ο χρόνος απόκρισης και ηδιεκπαιρεωτική ικανότητα από

Αντικατάσταση του επεξεργαστή µε ταχύτερη έκδοση;Προσθήκη νέων επεξεργαστών;

Εστιάζουµε στο χρόνο απόκρισης προς τοπαρόν…

Page 22: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 22

∆ηµήτρης Γκιζόπουλος

Σχετική απόδοσηΟρισµός Απόδοση = 1/Χρόνος εκτέλεσης“ο X είναι n φορές ταχύτερος από τον Y”

n== XY

YX

time Executiontime ExecutionePerformancePerformanc

παράδειγµα: χρόνος εκτέλεσης προγρ/τος10s στον A, 15s στον BΧρόνος εκτέλεσηςB / Χρόνος εκτέλεσηςA= 15s / 10s = 1.5Άρα ο A είναι 1.5 φορές ταχύτερος του B

Page 23: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 23

∆ηµήτρης Γκιζόπουλος

Μέτρηση χρόνου εκτέλεσης«Παρελθών» χρόνος (elapsed time)

Συνολικός χρόνος απόκρισης, περιλαµβάνει τα πάνταΕπεξεργασία, είσοδο/έξοδο, επιβάρυνση ΛΣ, αδρανήςχρόνος

Καθορίζει την απόδοση του συστήµατοςΧρόνος CPU (CPU time)

Ο χρόνος επεξεργασίας για µια συγκεκριµένηεργασίας

Χωρίς το χρόνο εισόδου/εξόδου και τη κοινή χρήση απόάλλες εργασίες

Αποτελείται από το χρόνο CPU χρήστη (user CPU time) και το χρόνο CPU συστήµατος (system CPU time)∆ιαφορετικά προγράµµατα επηρεάζονται διαφορετικάαπό την απόδοση της CPU και του συστήµατος

Page 24: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 24

∆ηµήτρης Γκιζόπουλος

Χρονισµός CPU (clocking)Η λειτουργία του ψηφιακού υλικού ρυθµίζεταιαπό ένα ρολόι σταθερού ρυθµού

Clock (κύκλοι)Μεταφοράδεδοµένων καιυπολογισµόςΕνηµέρωσηκατάστασης

Clock period

Περίοδος ρολογιού: η διάρκεια ενός κύκλουπ.χ., 250ps = 0.25ns = 250×10–12s

Συχνότητα (ρυθµός) ρολογιού: κύκλοι/secondπ.χ., 4.0GHz = 4000MHz = 4.0×109Hz

Page 25: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 25

∆ηµήτρης Γκιζόπουλος

Χρόνος CPU (CPU time)

Η απόδοση βελτιώνεται µεΜείωση του αριθµού των κύκλων ρολογιούΑύξηση του ρυθµού του ρολογιούΟ σχεδιαστής του υλικού πρέπει να κάνεισυχνά συµβιβασµούς µεταξύ του ρυθµούρολογιού και του πλήθους των κύκλωνρολογιού

RateClockCycles Clock CPU

Time Cycle ClockCycles Clock CPUTime CPU

=

×=

Page 26: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 26

∆ηµήτρης Γκιζόπουλος

Παράδειγµα χρόνου CPUΥπολογιστής A: 2GHz ρολόι, 10s CPU timeΣχεδίαση του υπολογιστή B

Στόχος είναι 6s CPU timeΜπορεί το ρολόι να είναι ταχύτερο, αλλά προκαλεί αύξηση τωνκύκλων 1.2 × clock cycles

Πόσο ταχύτερο µπορεί να είναι το ρολόι του Β;

4GHz6s

10246s

10201.2Rate Clock

10202GHz10s

Rate ClockTime CPUCycles Clock

6sCycles Clock1.2

Time CPUCycles ClockRate Clock

99

B

9

AAA

A

B

BB

=××

=

×=×=

×=

×==

Page 27: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 27

∆ηµήτρης Γκιζόπουλος

Πλήθος εντολών και CPI

Πλήθος εντολών (Instruction Count) προγράµµατοςΚαθορίζεται από το πρόγραµµα, την αρχιτεκτονική συνόλουεντολών (ISA), και το µεταγλωττιστή

Μέσος αριθµός κύκλων ανά εντολή (CPI – clocks per instruction)

Καθορίζεται από το υλικό της CPUΑν οι διαφορετικές εντολές έχουν διαφορετικό CPI

Το µέσο CPI επηρεάζεται από τη µίξη των εντολών

Rate ClockCPICount nInstructio

Time Cycle ClockCPICount nInstructioTime CPU

nInstructio per CyclesCount nInstructioCycles Clock

×=

××=

×=

Page 28: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 28

∆ηµήτρης Γκιζόπουλος

Παράδειγµα CPIΥπολογιστής A: Cycle Time = 250ps, CPI = 2.0Υπολογιστής B: Cycle Time = 500ps, CPI = 1.2Ίδια αρχιτεκτονική συνόλου εντολών (ISA)Ποιος είναι ταχύτερος, και κατά πόσο;

1.2500psI600psI

ATime CPUBTime CPU

600psI500ps1.2IBTime CycleBCPICount nInstructioBTime CPU

500psI250ps2.0IATime CycleACPICount nInstructioATime CPU

=××

=

×=××=

××=

×=××=

××=

A ταχύτερος…

…κατά τόσο

Page 29: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 29

∆ηµήτρης Γκιζόπουλος

Το CPI µε λεπτοµέρειαΑν διαφορετικές κατηγορίες εντολώνδιαρκούν διαφορετικό αριθµό κύκλων

∑=

×=n

1iii )Count nInstructio(CPICycles Clock

Σταθµισµένο (weighted) µέσο CPI

∑=

⎟⎠⎞

⎜⎝⎛ ×==

n

1i

ii Count nInstructio

Count nInstructioCPICount nInstructio

Cycles ClockCPI

Σχετική συχνότητα εντολών

Page 30: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 30

∆ηµήτρης Γκιζόπουλος

Παράδειγµα CPIΕναλλακτικές ακολουθίες µεταγλωττισµένουκώδικα µε εντολές τριών κατηγοριών A, B, C

114Instruction Count της ακολουθίας 2

212Instruction Count της ακολουθίας 1

321CPI της κατηγορίαςCBAΚατηγορία

Ακολουθία 1: IC = 5Κύκλοι ρολογιού= 2×1 + 1×2 + 2×3= 10Μέσο CPI = 10/5 = 2.0

Ακολουθία 2: IC = 6Κύκλοι ρολογιού= 4×1 + 1×2 + 1×3= 9Μέσο CPI = 9/6 = 1.5

Page 31: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 31

∆ηµήτρης Γκιζόπουλος

Σύνοψη της απόδοσης

Η απόδοση εξαρτάται απόΑλγόριθµο: επηρεάζει το πληθος εντολών, πιθανόνκαι το CPIΓλώσσα προγραµµατισµού: επηρεάζει το πλήθοςεντολών και το CPIΜεταγλωττιστής: επηρεάζει το πλήθος εντολών και τοCPIΑρχιτεκτονική συνόλου εντολών (ISA): επηρεάζει τοπλήθος εντολών, το CPI και τη περίοδο (συχνότητα) του ρολογιού

ΓΕΝΙΚΗ εικόνα

cycle ClockSeconds

nInstructiocycles Clock

ProgramnsInstructioTime CPU ××=

Page 32: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 32

∆ηµήτρης Γκιζόπουλος

Οι τάσεις στην ηλεκτρική ισχύ

Στη τεχνολογία ολοκληρωµένων κυκλωµάτων CMOS

§1.5 Τοτείχος

τηςισχύος

FrequencyVoltageload CapacitivePower 2 ××=

×1000×30 5V → 1V

(φορτίο χωρητικότητας)

Page 33: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 33

∆ηµήτρης Γκιζόπουλος

Μείωση της ισχύοςΥποθέστε ότι µια νέα CPU έχει

85% του φορτίου χωρητικότητας (capacitive load) τηςπαλιάς CPUµειωµένη τάση κατά 15% και συχνότητα κατά 15%

0.520.85FVC

0.85F0.85)(V0.85CPP 4

old2

oldold

old2

oldold

old

new ==××

×××××=

Το τείχος της ισχύος (power wall)∆εν µπορούµε να µειώσουµε άλλο την τάση∆εν µπορούµε να απάγουµε τη θερµότητα

Πως αλλιώς µπορούµε να βελτιώσουµετην απόδοση;

Page 34: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 34

∆ηµήτρης Γκιζόπουλος

Απόδοση µονοεπεξεργαστών§1.6 Μ

εγάληαλλαγή:µονοεπ

εξεργαστέςσε

πολυεπ

εξεργαστές

Περιορίζεται από την ισχύ, την παραλληλία επιπέδου εντολής (instruction-level parallelism), το λανθάνοντα χρόνο µνήµης (memory latency)

Page 35: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 35

∆ηµήτρης Γκιζόπουλος

ΠολυεπεξεργαστέςΠολυπύρηνοι µικροεπεξεργαστές (multicoremicroprocessors)

Περισσότεροι του ενός επεξεργαστές ανά τσιπΑπαιτεί ρητό παράλληλο προγραµµατισµό(explicitly parallel programming)

Σύγκριση µε παραλληλία επιπέδου εντολής(instruction level parallelism – ILP)

Το υλικό εκτελεί πολλαπλές εντολές ταυτόχροναΟ προγραµµατιστής δεν το γνωρίζει

Μεγάλες δυσκολίεςΠρογραµµατισµός για µέγιστη απόδοσηΕξισορρόπηση φορτίου (load balancing)Βελτιστοποίηση επικοινωνίας (communication) καισυγχρονισµού (synchronization)

Page 36: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 36

∆ηµήτρης Γκιζόπουλος

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

Εσοδεία (yield): ποσοστό τσιπ ανά πλακίδιο(wafer) που λειτουργούν σωστά

§1.7 Πραγµατικότητα: ο

AM

D O

pteron X4

Page 37: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 37

∆ηµήτρης Γκιζόπουλος

AMD Opteron X2 Wafer

X2: 300mm wafer, 117 chips, 90nm technologyX4: 45nm technology

Page 38: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 38

∆ηµήτρης Γκιζόπουλος

Κόστος Ολοκληρωµένων

Μη γραµµική εξάρτηση από την επιφάνεια (area) και τορυθµό ατελειών (defect rate)

Κόστος και επιφάνεια πλακιδίου (wafer): σταθεράΡυθµός ατελειών (defect rate) εξαρτάται από τη διαδικασίακατασκευήςΕπιφάνεια τσιπ (die/chip area): εξαρτάται από την αρχιτεκτονικήκαι τη σχεδίαση του κυκλώµατος

2area/2)) Diearea per (Defects(11Yield

area Diearea Wafer waferper Dies

Yield waferper Dies waferper Costdie per Cost

×+=

×=

Page 39: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 39

∆ηµήτρης Γκιζόπουλος

Μετροπρογράµµατα SPEC CPUΧρησιµοποιούνται προγράµµατα για τη µέτρηση της απόδοσης

Υποτίθεται τυπικά για ένα πραγµατικό φορτίο εργασίας (workload)Standard Performance Evaluation Corp (SPEC)

Αναπτύσσει µετροπρογράµµατα (benchmarks) για CPU, είσοδο/έξοδο, Ιστό, …

SPEC CPU2006«Παρελθών» (elapsed) χρόνος για την εκτέλεση µιας συλλογήςπρογραµµάτων

Αµελητέα είσοδος/έξοδος, άρα εστιάζουν στην απόδοση της CPUΚανονικοποίηση σε σχέση µε µια µηχανή αναφοράς (reference machine)Σύνοψη σαν γεωµετρικός µέσος (geometric mean) των λόγωναπόδοσης (performance ratios)

CINT2006 (integer) and CFP2006 (floating-point)

nn

1iiratio time Execution∏

=

Page 40: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 40

∆ηµήτρης Γκιζόπουλος

CINT2006 για Opteron X4 2356

6.06,9001,1430.402.701,058XML parsingxalancbmk

SPECratioΧρον. ανφ.Χρόν. εκτ.Tc (ns)CPIIC×109ΠεριγραφήΌνοµα

1.79

2.94

0.80

1.61

0.96

0.80

1.09

10.00

1.72

0.85

0.75

1,082

587

3,102

1,623

2,176

2,783

1,658

336

1,050

2,389

2,118

773

690

993

1,047

37

890

721

1,345

24

817

637

0.40

0.40

0.40

0.40

0.48

0.40

0.40

0.40

0.47

0.40

0.40

7,020

6,250

22,130

20,720

12,100

9,330

10,490

9,120

8,050

9,650

9,777

Games/path finding

Discrete event simulation

Video compression

Quantum computer simulation

Chess game (AI)

Search gene sequence

Go game (AI)

Combinatorial optimization

GNU C Compiler

Block-sorting compression

Interpreted string processing

11.7

9.1

9.1

22.3

19.8

14.5

10.5

14.6

6.8

11.1

11.8

15.3

Geometric mean

astar

omnetpp

h264avc

libquantum

sjeng

hmmer

go

mcf

gcc

bzip2

perl

Υψηλοί ρυθµοί αστοχίας κρυφήςµνήµης (cache misses)

Page 41: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 41

∆ηµήτρης Γκιζόπουλος

SPEC Power µετροπρογράµµατα

Κατανάλωση ισχύος διακοµιστή (server) σε διαφορετικά επίπεδα φορτίου εργασίαςΑπόδοση: ssj_ops/secΙσχύς: Watts (Joules/sec)

⎟⎠

⎞⎜⎝

⎛⎟⎠

⎞⎜⎝

⎛= ∑∑

==

10

0ii

10

0ii powerssj_ops Wattper ssj_ops Overall

Page 42: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 42

∆ηµήτρης Γκιζόπουλος

SPECpower_ssj2008 για X4

493∑ssj_ops/ ∑power2,6051,283,590Overall sum

14100%18023,06610%20647,12620%22270,50030%233920,3540%246118,32450%256140,16060%265163,42770%275185,80380%286211,28290%295231,867100%

Μέση ισχύς (Watts)Απόδοση (ssj_ops/sec)Φορτίο στόχος %

Page 43: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 43

∆ηµήτρης Γκιζόπουλος

Παγίδα: νόµος του AmdahlΗ βελτίωση µιας πλευράς ενός υπολογιστή καιη αναµονή ανάλογης βελτίωσης της συνολικήςαπόδοσης

§1.8 Πλάνες

καιΠαγίδες

208020 +=n

∆εν γίνεται!

unaffectedaffected

improved Tfactor timprovemen

TT +=

Παράδειγµα: ο πολλ/σµός είναι τα 80s/100sΠόση βελτίωση της απόδοσης του πολλ/σµού ώστεη συνολική απόδοση να 5πλασιαστεί;

Πόρισµα: κάνε τη συνηθισµένη περίπτωση γρήγορη

Page 44: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 44

∆ηµήτρης Γκιζόπουλος

Πλάνη: Χαµηλή ισχύς αδράνειας∆είτε το µετροπρόγραµµα ισχύος στον X4

Στο 100% του φορτίου: 295WΣτο 50% του φορτίου: 246W (83%)Στο 10% του φορτίου: 180W (61%)

Κέντρο δεδοµένων GoogleΚυρίως λειτουργεί στο 10% – 50% του φορτίουΜε φορτίο 100% σε λιγότερο από 1% του χρόνου

Σκεφθείτε τη σχεδίαση επεξεργαστών µεκατανάλωση ισχύος ανάλογη µε το φορτίο

Page 45: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 45

∆ηµήτρης Γκιζόπουλος

Παγίδα: µέτρο απόδοσης MIPSMIPS: Millions of Instructions Per Second∆εν λαµβάνει υπόψη:

∆ιαφορλες ISA µεταξύ υπολογιστών∆ιαφορές πολυπλοκότητας µεταξύ εντολών

66

6

10CPIrate Clock

10rate Clock

CPIcount nInstructiocount nInstructio10time Execution

count nInstructioMIPS

×=

××

=

×=

Το CPI ποικίλει µεταξύ προγραµµάτων σε µιαδεδοµένη CPU

Page 46: Chapter 1

Κεφάλαιο 1 — Αφηρηµένες έννοιες και τεχνολογία υπολογιστών — 46

∆ηµήτρης Γκιζόπουλος

Συµπερασµατικές παρατηρήσειςΟ λόγος κόστος/απόδοση βελτιώνεται

Λόγω της εξέλιξης της τεχνολογίαςΙεραρχικά επίπεδα αφαίρεσης

Στο υλικό και στο λογισµικόΑρχιτεκτονική συνόλου εντολών (Instruction set architecture – ISA)

Η διασύνδεση υλικού και λογισµικούΧρόνος εκτέλεσης: το καλύτερο µέτρο απόδοσηςΗ ισχύς είναι περιοριστικός παράγοντας

Χρήση παραλληλία για βελτίωση της απόδοσης

§1.9 Συµπερασµατικές

παρατηρήσεις