ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf ·...

48
ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράμματος 2.4 Αριθμητικές και λογικές εντολές 2.5 Επικοινωνία με άλλες συσκευές 2.6 Άλλες αρχιτεκτονικές Οι διαφάνειες βασίζονται σε μεγάλο βαθμό σε αυτές που συνοδεύονται με το προτεινόμενο σύγγραμμα, καθώς και στις διαφάνειες προηγούμενων ετών του κ. Κουρκουμπέτη. 1

Transcript of ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf ·...

Page 1: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

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

●  2.1  Αρχιτεκτονική  Υπολογιστών  ●  2.2  Γλώσσα  Μηχανής  

●  2.3  Εκτέλεση  προγράμματος  ●  2.4  Αριθμητικές  και  λογικές  εντολές  ●  2.5  Επικοινωνία  με  άλλες  συσκευές  ●  2.6  Άλλες  αρχιτεκτονικές    

Οι  διαφάνειες  βασίζονται  σε  μεγάλο  βαθμό  σε  αυτές    που  συνοδεύονται  με  το  προτεινόμενο  σύγγραμμα,  καθώς  και  στις  διαφάνειες  προηγούμενων  ετών  του    κ.  Κουρκουμπέτη.   1  

Page 2: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Βασικά  Στοιχεία  

Αποθηκεύουμε  προγράμματα  και  δεδομένα  

ALU  

2  

Page 3: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Αρχιτεκτονική  Υπολογιστών  ●  Κεντρική  μονάδα  επεξεργασίας  (CPU)  ή  επεξεργαστής:  πακεταρισμένη  σε  μικρά  

επίπεδα  τετράγωνα  (5cm  x5cm)    

 ●  H  Κεντρική  μονάδα  επεξεργασίας  περιέχει:  

–  1.  την  αριθμητική  και  λογική  μονάδα  (Arithmeic  Logical  Unit,  ALU):  αποτελείται  από  κυκλώματα  για  εκτέλεση  πράξεων  στα  δεδομένα  (πρόσθεση,  αφαίρεση  κλπ)  

–  2.  τη  μονάδα  ελέγχου  (control  unit):  ελέγχει  και  συντονίζει  τις  ενέργειες  –  3.  τους  καταχωρητές  (registers):  για  προσωρινή  αποθήκευση  δεδομένων  στην  

CPU  •  Γενικής  χρήσης  (general-­‐purpose),  ειδικής  χρήσης  (special-­‐purpose)  

•  Για  να  εκτελεστεί  μια  πράξη  με  δεδομένα  αποθηκευμένα  στην  κύρια  μνήμη,  η  μονάδα  ελέγχου  πρέπει  να  τα  μεταφέρει  από  τη  μνήμη  στους  καταχωρητές  γενικής  χρήσης  –  Η  ALU  κάνει  τις  πράξεις,  και  μεταφέρει  το  αποτέλεσμα  σε  έναν  άλλο  

καταχωρητή  γενικής  χρήσης        3  

Page 4: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Αρχιτεκτονική  Υπολογιστών  (2)  –  4.  την  «κρυφή»  ή  λανθάνουσα  μνήμη  (cache  memory):  μνήμη  που  

βρίσκεται  μέσα  στην  CPU  •  Αρκετές  εκατοντάδες  KB  •   Πολύ  υψηλής  ταχύτητας  •  Η  μηχανή  κρατάει  στην  cache  αντίγραφο  του  τμήματος  της  κύριας  μνήμης  που  χρησιμοποιείται  πιο  συχνά  

•  Αντί  να  γίνεται  επικοινωνία  καταχωρητών  και  κύριας  μνήμης,  γίνεται  επικοινωνία  καταχωρητών  με  την  cache  

●  Αποτέλεσμα:  πιο  γρήγορη  εκτέλεση  εντολών    

●  O  δίαυλος  (bus),  συνδέει  την  CPU  με  την  κύρια  μνήμη.  

●  Η  Μητρική  κάρτα  (motherboard)  περιλαμβάνει  όλα  τα  παραπάνω.  

4  

Page 5: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

3  είδη  αποθηκευτικού  χώρου  •  Μνήμη  cache  •  Κύρια  μνήμη  (main  memory)  •  Σκληρός  δίσκος  (HD)  •  Σε  ταχύτητα  ανάκτησης:  HD  <  main  memory  <  cache  

•  Σε  μέγεθος:  cache  <  main  memory  <  HD  

5  

Page 6: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Πρόβλημα  •  Θέλουμε  να  ελαχιστοποιήσουμε  το  συνολικό  χρόνο  ανάκτησης  δεδομένων    

•  Έχουμε  10  GΒ  δεδομένων  •  Πως  θα  τα  αναθέσουμε  στην  cache  (500KB),  main  memory  (1GB),  HD  (500GB);    

•  Χρόνοι  ανάκτησης:  – HD:  5  milli-­‐sec  – MM:  50  nano-­‐sec  – Cache:  500pico-­‐sec    

6  

Page 7: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Η  έννοια  του  αποθηκευμένου  προγράμματος  

●  Stored-­‐program  concept    

●  Ένα  πρόγραμμα  είναι  απλώς  ένας  ιδιαίτερος  τύπος  δεδομένων  –  Κάθε  πρόγραμμα  αποθηκεύεται  στην  κύρια  μνήμη    

● Η  CPU  ανακτά  σειριακά  τις  εντολές  του  προγράμματος  από  τη  μνήμη,  τις  αποκωδικοποιεί  (καταλαβαίνει)  και  τις  εκτελεί    

7  

Page 8: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Γλώσσα  μηχανής:  ορισμοί  

● Γλώσσα  μηχανής  είναι  το  σύνολο  όλων  των  εντολών  μαζί  με  ένα  σύστημα  κωδικοποίησης  (που  κάνει  τις  εντολές  αναγνωρίσιμες)  

● Εντολή  μηχανής  είναι  μία  εντολή  κωδικοποιημένη  ως  ακολουθία  bit  που  αναγνωρίζεται  απευθείας  από  τη  CPU  

● Χρειάζεται  ένα  μικρό  σύνολο  εντολών  που  να  μπορεί  να  αναγνωρίζει  η  CPU    

8  

Page 9: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Φιλοσοφίες  σχεδιασμού  της  CPU    

●  Υπολογιστής  περιορισμένου  συνόλου  εντολών  (Reduced  Instrucion-­‐set  computer,  RISC):  –  Ελάχιστο  σύνολο  από  εντολές  μηχανής,  γρήγορη  /  αποδοτική  μηχανή.  

–  Παραδείγματα:  PowerPC,  IBM  και  Motorola  ●  Υπολογιστής  σύνθετου  συνόλου  εντολών  (Complex  

Instrucion-­‐set  computer,  CISC):  –  Μεγάλο  πλήθος  σύνθετων  εντολών,  κάνει  πιο  εύκολο  τον  προγραμματισμό  

–  Παραδείγματα:  Penium  της  Intel  •  Αρχικά  επικράτησε  η  RISC,  η  μείωση  κόστους  οδήγησε  σε  εξάπλωση  της  CISC  

•  CISC:  υψηλή  κατανάλωση  ισχύος  •  RISC:  δημοφιλής  σε  digital  TVs,  κινητά,  GPS,…  

9  

Page 10: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Ομάδες  εντολών  γλώσσας  μηχανής  

●  Ομάδα  εντολών  μεταφοράς  δεδομένων  (data  transfer):  αντιγράφει  δεδομένα  μεταξύ  CPU  και  κύριας  μνήμης.  ●  LOAD:  αντιγράφει  δεδομένα  από  την  μνήμη  σε  έναν  καταχωρητή  γενικής  χρήσης  

●  STORE:  αντιγράφει  δεδομένα  από  έναν  καταχωρητή  γενικής  χρήσης  στη  μνήμη  

●  Εντολές  Ι/Ο:  εντολές  για  επικοινωνία  με  μέρη  του  υπολογιστή  εκτός  CPU  και  κύριας  μνήμης  (π.χ.  Σκληρός  δίσκος)    

●  Αριθμητική  και  λογική  ομάδα  εντολών  (arithmeic  /  logical):  χρησιμοποιεί  υπάρχουσες  τιμές  δεδομένων  για  να  κάνει  πράξεις  και  να  υπολογίσει  μία  νέα  τιμή  δεδομένων    

10  

Page 11: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Ομάδες  εντολών  μηχανής  (2)  ●  Αριθμητική  και  λογική  ομάδα  εντολών  (arithmeic  /  logical):  

●  Αριθμητικές  πράξεις  (+  ,  -­‐  ,  x  ,  /  )  ●   Λογικές  πράξεις:  AND,  OR,  XOR  ●  SHIFT  /  ROTATE:  Ολίσθηση  περιεχομένων  καταχωρητή  

●  Ομάδα  εντολών  ελέγχου  (control):  κατευθύνει  την  εκτέλεση  του  προγράμματος  

●  Εντολή  άλματος    JUMP  (BRANCH):  μετάβαση  σε  κάποια  θέση  μνήμης  για  εκτέλεση  της  εντολής  που  είναι  αποθηκευμένη  εκεί  

●  Υπό  συνθήκη  JUMP  (condiional  JUMP):  άλμα,  αν  μια  συνθήκη  ικανοποιείται  (όπως  η  εντολή  if  στην  C)  

●  Uncondiional  JUMP  

11  

Page 12: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Επικοινωνία  CPU  –  κύριας  μνήμης    

Αποθηκεύουμε  προγράμματα  και  δεδομένα  

ALU  

12  

Page 13: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Πρόσθεση  τιμών  που  είναι  αποθηκευμένες  στη  μνήμη  

Βήμα  1.  Πάρε  από  τη  μνήμη  μία  από  τις  τιμές  που  πρόκειται  να  προστεθούν  και  τοποθέτησέ  τη  σε  έναν  καταχωρητή.  

 Βήμα  2.  Πάρε  από  τη  μνήμη  την  άλλη  τιμή  και  τοποθέτησέ  τη  σε  έναν  

άλλον  καταχωρητή.    Βήμα  3.  Ενεργοποίησε  το  κύκλωμα  της  πρόσθεσης  με  τους  

καταχωρητές  που  χρησιμοποιήθηκαν  στα  Βήματα  1  και  2  ως  εισόδους  και  ένα  διαφορετικό  καταχωρητή  για  την  αποθήκευση  του  αποτελέσματος.  

 Βήμα  4.  Αποθήκευσε  το  αποτέλεσμα  στη  μνήμη.    Βήμα  5.  Τέλος.  

Υλοποιεί  την  εντολή  υψηλού  επιπέδου    x  =  y  +  z  

13  

Page 14: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Διαίρεση  τιμών  αποθηκευμένων  στη  μνήμη  

Βήμα  1.  ΦΟΡΤΩΣΕ  (LOAD)  σε  έναν  καταχωρητή  μία  τιμή  από  τη  μνήμη.    Βήμα  2.  ΦΟΡΤΩΣΕ  (LOAD)  σε  ένα  διαφορετικό  καταχωρητή  την  άλλη  

τιμή  από  τη  μνήμη.    Βήμα  3.  Αν  η  δεύτερη  τιμή  είναι  μηδέν,  ΠΗΓΑΙΝΕ  (JUMP)  στο  Βήμα  6.    Βήμα  4.  Διαίρεσε  το  περιεχόμενο  του  πρώτου  καταχωρητή  με  το  

δεύτερο  καταχωρητή  και  τοποθέτησε  το  αποτέλεσμα  σε  έναν  τρίτο  καταχωρητή.  

 Βήμα  5.  ΑΠΟΘΗΚΕΥΣΕ  (STORE)  τα  περιεχόμενα  του  τρίτου  καταχωρητή  

στη  μνήμη.    Βήμα  6.  ΤΕΛΟΣ  (STOP).  

Υλοποιεί  την  εντολή  υψηλού  επιπέδου    x  =  y  ÷  z  

14  

Page 15: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

H  αρχιτεκτονική    του  Υπολογιστή  

ALU  

Απλή  δομή  για  διδακτικούς  λόγους  

256  κυψελίδες  μνήμης:  0,...255  8  bits  (1  byte)  για  περιγραφή  κάθε  διεύθυνσης  μνήμης  8  bits  (1  byte)  δεδομένων  ανά    κυψελίδα  

16  καταχωρητές  γενικής  χρήσης  0,  ...  15        

2  καταχωρητές  ειδικής  χρήσης  :  Program  Counter  (PC),  Instrucion  Register  (IR)   15  

Page 16: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Εκτέλεση  προγράμματος  

●  Ελέγχεται  από  δύο  καταχωρητές  ειδικής  χρήσης:  – Μετρητής  προγράμματος  (Program  Counter,  PC)  :  περιέχει  την  διεύθυνση  μνήμης  όπου  βρίσκεται  η  επόμενη  εντολή  προς  εκτέλεση  

–  Καταχωρητής  εντολών  (Instrucion  Register,  IR)  ο  οποίος  δείχνει  την  τρέχουσα  εντολή  

●  Βήματα  που  ελέγχονται  από  τη  μονάδα  ελέγχου:  –  Προσκόμιση.  –  Αποκωδικοποίηση.  –  Εκτέλεση.  

16  

Page 17: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Τα  μέρη  μίας  εντολής  μηχανής  ●  Αποτελείται  από  16  bit  (2  bytes)  ●  Πεδίο  κωδικού  λειτουργίας  (op-­‐code):  η  ακολουθία  bit  προσδιορίζει  

ποια  από  τις  στοιχειώδεις  λειτουργίες  ζητάει  η  εντολή  –  Μία  λειτουργία  ανά  εντολή  –  Π.χ.  LOAD,  STORE,  JUMP,  XOR,  SUM,…  

●  Πεδίο  τελεστέων  (operand)  όπου  η  ακολουθία  bit  παρέχει  πιο  λεπτομερείς  πληροφορίες  σχετικά  με  την  εντολή  

–  Το  πλήθος  των  τελεστέων  διαφέρει  ανάλογα  με  το  κωδικό  λειτουργίας.  –  Π.χ.  Στο  LOAD  περιλαμβάνει  τη  θέση  μνήμης  από  όπου  θα  πάρουμε  τα  

δεδομένα  και  τον  αριθμό  του  καταχωρητή  όπου  θα  τα  αντιγράψουμε  –  Στο  SUM  περιλαμβάνει  τους  καταχωρητές  των  2  όρων  του  αθροίσματος  

και  τον  αριθμό  του  καταχωρητή  όπου  πρέπει  να  καταγραφεί  το  άθροισμα  –  Κ.ο.κ  

17  

Page 18: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

2-­‐18  

Παράδειγμα  εντολής  

Page 19: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

A-­‐19  

Παράρτημα  Γ:  Μια  Απλή  Γλώσσα  Μηχανής  

Κωδ. Λειτ.

Τελεστέος Περιγραφή

1 R X Y Φορτώνει (LOAD) τον καταχωρητή R µε την ακολουθία bit που υπάρχει στο κελί µνήµης µε διεύθυνση XY.

2 R X Y Φορτώνει (LOAD) τον καταχωρητή R µε την ακολουθία bit XY.

3 R X Y Αποθηκεύει (STORE) την ακολουθία bit που περιέχει ο καταχωρητής R στο κελί µνήµης µε διεύθυνση XY.

4 0 R S Μετακινεί (MOVE) την ακολουθία bit που περιέχει ο καταχωρητής R στον καταχωρητή S.

Page 20: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

A-­‐20  

Παράρτημα  Γ:  Μια  Απλή  Γλώσσα  Μηχανής  (2)  

Κωδ Λειτ.

Τελεστέος Περιγραφή

5 R S T Προσθέτει (ADD) τις ακολουθίες bit των καταχωρητών S και T (σε µορφή συµπληρώµατος ως προς δύο), και τοποθετεί το αποτέλεσµα στον καταχωρητή R.

6 R S T Προσθέτει (ADD) τις ακολουθίες bit των καταχωρητών S και T (σε µορφή κινητής υποδιαστολής), και τοποθετεί το αποτέλεσµα στον καταχωρητή R.

7 R S T Εκτελεί την πράξη OR στις ακολουθίες bit των καταχωρητών S και Τ και τοποθετεί το αποτέλεσµα στον καταχωρητή R.

8 R S T Εκτελεί την πράξη AND στις ακολουθίες bit των καταχωρητών S και Τ και τοποθετεί το αποτέλεσµα στον καταχωρητή R.

Page 21: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

A-­‐21  

Παράρτημα  Γ:  Μια  Απλή  Γλώσσα  Μηχανής  (3)  

Κωδ Λειτ.

Τελεστέος Περιγραφή

9 R S T Εκτελεί την πράξη ΧOR στις ακολουθίες bit των καταχωρητών S και Τ και τοποθετεί το αποτέλεσµα στον καταχωρητή R.

A R 0 X Περιστρέφει (rotate) την ακολουθία bit του καταχωρητή R ένα bit προς τα δεξιά Χ φορές. Το bit του άκρου χαµηλής τάξης (LSB) τοποθετείται στο άκρο υψηλής τάξης (MSB).

B R X Y Μεταπηδά (JUMP) στην εντολή που βρίσκεται στο κελί µνήµης ΧΥ, αν η ακολουθία bit του R είναι ίδια µε την ακολουθία bit του καταχωρητή 0. Αλλιώς συνεχίζεται η κανονική ροή της εκτέλεσης.

C 0 0 0 Τερµατίζει (HALT) την εκτέλεση.

Page 22: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

2-­‐22  

Αποκωδικοποίηση  της  εντολής  35A7    

Page 23: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Αρχιτεκτονική  της  μηχανής  μας  

CPU  

Register  0  

Program  counter  

00010011  

00000100  

Instrucion  register  0001    0000  00010001  

0  1  2  3  

00010011  17  

Μνήμη  

1  B  

Register  1  

…  

…  

1  B  

4  

Εντολές  =  2  Βytes,  άρα  αρχίζουν  σε  ζυγές  θέσεις  μνήμης  δεδομένα  =  1  Βyte,  οπουδήποτε  στη  μνήμη  

Έστω  τώρα  στην  θέση  Μνήμης  2-­‐3  

Load:  Φόρτωσε  Τον  κ/τή  0000  με    τα  περιχόμενα  της  δ/νσης  μνήμης  17  

23  

Page 24: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Βήμα  1.  Πάρε  από  τη  μνήμη  μία  από  τις  τιμές  που  πρόκειται  να  προστεθούν  και  τοποθέτησέ  τη  σε  έναν  καταχωρητή.    Βήμα  2.  Πάρε  από  τη  μνήμη  την  άλλη  τιμή  και  τοποθέτησέ  τη  σε  έναν  άλλον  καταχωρητή.    Βήμα  3.  Ενεργοποίησε  το  κύκλωμα  της  πρόσθεσης  με  τους  καταχωρητές  που  χρησιμοποιήθηκαν  στα  Βήματα  1  και  2  ως  εισόδους  και  ένα  διαφορετικό  καταχωρητή  για  την  αποθήκευση  του  αποτελέσματος.    Βήμα  4.  Αποθήκευσε  το  αποτέλεσμα  στη  μνήμη.      Βήμα  5.  Τέλος  

Παράδειγμα  προγράμματος  Κωδικοποιηµένες Εντολές Ερµηνεία

1 5 6 C Φόρτωσε στον καταχωρητη 5 την ακολουθία bit που βρίσκεται στο κελί µνήµης µε διεύθυνση 6C

1 6 6 D Φόρτωσε στον καταχωρητη 6 την ακολουθία bit που βρίσκεται στο κελί µνήµης µε διεύθυνση 6D

5 0 5 6 Πρόσθεσε τα περιεχόµενα των καταχωρητών 5 και 6 (µε δεδοµένο ότι βρίσκονται σε µορφή συµπληρώµατος ως προς δύο), και αποθήκευσε το αποτέλεσµα στον καταχωρητή 0

3 0 6 E Αποθήκευσε τα περιεχόµενα του καταχωρητή 0 στο κελί µνήµης µε διεύθυνση 6Ε

C 0 0 0 Τέλος

24  

Page 25: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Ο  κύκλος  μηχανής  

25  

Page 26: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Ρόλος  της  CPU  •  Αν  η  εντολή  είναι  LOAD  από  τη  μνήμη,  η  CPU:  

–  στέλνει  κατάλληλα  σήματα  στη  μνήμη    – Περιμένει  μέχρι  η  μνήμη  να  στείλει  τα  δεδομένα  –  Τοποθετεί  τα  δεδομένα  στον  αντίστοιχο  καταχωρητή  

•  Αν  η  εντολή  είναι  αριθμητική  πράξη,  η  CPU:  –  Ενεργοποιεί  το  κατάλληλο  κύκλωμα  στην  ALU  – Περιμένει  να  γίνει  η  εκτέλεση  της  πράξης  –  Τοποθετεί  το  αποτέλεσμα  της  πράξης  στον  κατάλληλο  καταχωρητή  

•  Αφού  εκτελεστεί  η  εντολή  στον  instrucion  register,  ξεκινά  νέος  κύκλος  και  η  CPU  φέρνει  την  επόμενη  εντολή  από  την  μνήμη  

26  

Page 27: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Αποκωδικοποίηση  μιας  άλλης  εντολής  

•  JUMP:  άλμα  υπό  συνθήκη  •  Αν  [Κατ.0]  ≠  [Κατ.2],  εντολή  τερματίζεται,  

πηγαίνουμε  στην  επόμενη  •  Αν  [Κατ.0]  =  [Κατ.2],    η  τιμή  5  8  

εγγράφεται  στον  Program  Counter  

•  Τι  σημαίνει  η  εντολή  Β  0  5  8  ?    

JUMP  

27  

Page 28: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Παράδειγμα  εκτέλεσης  προγράμματος  

156C  Φόρτωσε  στον  καταχωρητη  5  το  σχήμα  bit  που  βρίσκεται  στο  κελί  μνήμης  με  διεύθυνση  6C.  166D  Φόρτωσε  στον  καταχωρητη  6  το  σχήμα  bit  που  βρίσκεται  στο  κελί  μνήμης  με  διεύθυνση  6D.  5056  Πρόσθεσε  τα  περιεχόμενα  των  καταχωρητών  5  και  6  με  δεδομένο  ότι  βρίσκονται  σε  μορφή  συμπληρώματος  ως  προς  δύο,  και  αποθήκευσε  το  αποτέλεσμα  στον  καταχωρητή  0.  306E  Αποθήκευσε  τα  περιεχόμενα  του  καταχωρητή  0  στο  κελί  μνήμης  με  διεύθυνση  6Ε.  C000  Τέλος.  

28  

Page 29: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Εκτέλεση  του  βήματος  προσκόμισης  (Fetch)    του  κύκλου  μηχανής  –  (α)  

29  

Page 30: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Εκτέλεση  του  βήματος  προσκόμισης  (Fetch)  του  κύκλου  μηχανής  –  (β)  

30  

Page 31: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Εκτέλεση  του  βήματος  προσκόμισης  (Fetch)  του  κύκλου  μηχανής  –  (γ)  

•  Κατόπιν,  γίνεται  ανάλυση  της  εντολής  1  5  6  C  που  βρίσκεται  στον  καταχωρητή  εντολών  

•  LOAD  register  5  με  περιεχόμενα  της  διεύθυνσης  μνήμης  6  C  

•  Στέλνεται  σήμα  στην  διεύθυνση  μνήμης  6  C  •  Η  διεύθυνση  6  C  στέλνει  τα  περιεχόμενά  της  και  αυτά  φορτώνονται  στον  καταχωρητή  5  

•  Νέος  κύκλος  Fetch  –  CPU  Κοιτάζει  διεύθυνση  μνήμης  Α2  που  υπάρχει  στον  Program  Counter    

–  Εντολή  1  6  6  D  έρχεται  στον  Instrucion  counter  –  Program  Counter  =  A4    

•  Κ.ο.κ  31  

Page 32: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Παράδειγμα  περιστροφής  προς  τα  δεξιά  

32  

Page 33: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Αριθμητικές  και  λογικές  πράξεις  ●  Λογικές  πράξεις  :  AND,  OR,  XOR.  ●  Πράξεις  περιστροφής  (rotaion)  και  ολίσθησης  (shi¤):    ●  κυκλική  ολίσθηση  (π.χ.  Προς  τα  δεξιά):  το  δεξιότερο  bit  που  βγαίνει  εκτός  byte  πηγαίνει  στο  αριστερότερο  άκρο  που  μένει  κενό      

●  λογική  ολίσθηση  (π.χ.  προς  τα  αριστερά):  το  δεξιότερο  bit  μένει  κενό,  μπαίνει  0    ● Αριστερή  λογική  ολίσθηση  κατά  1,  ισοδυναμεί  με    πολ/σμό  επί  2)  

●  Αριθμητικές  πράξεις:  πρόσθεση,  αφαίρεση,  πολ/σμός,  διαίρεση.  –  Αλλάζουν  ανάλογα  με  το  αν  γίνεται  για  ακεραίους  (π.χ.  Με  αναπαράσταση  συμπληρώματος  ως  προς  2)  ή  για  floaing-­‐point  

–  Πολ/σμός  και  διαίρεση  προκύπτουν  με  επαναλαμβανόμενες  προσθέσεις  και  αφαιρέσεις  αντίστοιχα  

33  

Page 34: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

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

•  Ελεγκτής  (controller):  Eνδιάμεση  συσκευή  που  χειρίζεται  την  επικοινωνία  μεταξύ  του  υπολογιστή  και  μιας  άλλης  συσκευής  –  Εξειδικευμένοι  ελεγκτές  για  κάθε  τύπο  συσκευής  –  Ελεγκτές  γενικής  χρήσης  (USB  και  FireWire):  χειρισμός  διαφορετικών  

ειδών  συσκευών  (ποντίκια,  εκτυπωτές,  σαρωτές,  εξωτερικοί  σκληροί  κλπ)  

•  Θύρα  (port):  Το  σημείο  στο  οποίο  συνδέεται  μια  συσκευή  με  τον  υπολογιστή    

 

34  

Page 35: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Ελεγκτές  συνδεδεμένοι  στο  δίαυλο  (bus)  μιας  μηχανής    

35  

Page 36: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Είσοδος/Έξοδος  αντιστοιχισμένη  στην  μνήμη  

•  Ε/Ε  αντιστοιχισμένη  στη  μνήμη  (Memory-­‐mapped  Ιnput/Output):  Η  CPU  (ΚΜΕ)  επικοινωνεί  με  τις  περιφερειακές  συσκευές  σαν  να  ήταν  κελιά  μνήμης  

•  Σε  κάθε  συσκευή  I/O  αντιστοιχίζεται  μια  διεύθυνση,  διαφορετική  από  αυτές  της  μνήμης    

•  Μέσω  του  διαύλου,  η  ΚΜΕ  επικοινωνεί  με  εντολές  LOAD,  STORE  με  τον  αντίστοιχο  ελεγκτή  της  περιφερειακής  συσκευής  –  Μπορεί  να  υπάρχουν  διαφορετικές  εντολές  στο  ρεπερτόριο  εντολών  για  επικοινωνία  με  διαφορετικές  συσκευές   36  

Page 37: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Επικοινωνία  με  Άλλες  Συσκευές  (2)  

•  Άμεση  προσπέλαση  μνήμης  (Direct  Memory  Access,  DMA):  Προσπέλαση  κύριας  μνήμης  από  έναν  ελεγκτή  μέσω  του  διαύλου  –  Όταν  η  CPU  δεν  χρησιμοποιεί  τον  δίαυλο  και  αυτός  είναι  ελεύθερος  

•  Π.χ.  Αν  η  CPU  πρέπει  να  μεταφέρει  δεδομένα  από  τον  σκληρό  δίσκο  στην  μνήμη:    –  Η  CPU  στέλνει  τη  σχετική  εντολή  στον  ελεγκτή  του  σκληρού  δίσκου.  –  Μετά  συνεχίζει  με  κάποια  άλλη  λειτουργία,  ενώ  ο  ελεγκτής  μεταφέρει    τα  δεδομένα    από  το  σκληρό  δίσκο  στην  μνήμη  (DMA)  

–  Οι  υπολογιστικοί  πόροι  της  CPU  δεν  ξοδεύονται  κατά  τη  διάρκεια  της  (αργής)  μεταφοράς  δεδομένων  

37  

Page 38: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Επικοινωνία  με  Άλλες  Συσκευές  (3)  •  Συμφόρηση  Von  Neumann:  Η  ανεπαρκής  ταχύτητα  διαύλου  

μειώνει  την  απόδοση  –  Ο  δίαυλος  είναι  ένα  κοινό  μέσο  που  χρησιμοποιείται  για  επικοινωνία  CPU-­‐μνήμης,  CPU-­‐ελεγκτών,  ελεγκτών-­‐μνήμης  

–  Αρχιτεκτονική  Von  Neumann:  η  CPU  φέρνει  τις  εντολές  από  την  μνήμη  μέσω  του  διαύλου  

•  Χειραψία  (handshake):  Η  διαδικασία  συντονισμού  της  μεταφοράς  δεδομένων  μεταξύ  των  διαφόρων  στοιχείων  με  διαδοχική  ανταλλαγή  πληροφορίας  

38  

Page 39: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Επικοινωνία  με  Άλλες  Συσκευές  (4)  

•  Παράλληλη  επικοινωνία:  Πολλές  διαδρομές  επικοινωνίας  μεταφέρουν  bits  ταυτόχρονα  

•  Σειριακή  επικοινωνία:  Τα  bits  μεταφέρονται  το  ένα  μετά  το  άλλο  μέσω  μιας  μοναδικής  διαδρομής  επικοινωνίας.  –  Π.χ.  USB,  FireWire,  Ethernet  

•  Σειριακή  επικοινωνία  σε  μακρινές  αποστάσεις:  –  Mo-­‐dem  (modulator-­‐demodulator):  Μετατροπή  των  bits  σε  τόνους  

(ακουστικές  συχνότητες),  μεταφορά  τους  πάνω  από  καλώδιο,  επαναμετατροπή  τόνων  σε  bits  στον  προορισμό  

–  Digital  Subscriber  Line  (DSL)  

39  

Page 40: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Ρυθμοί  Επικοινωνίας  •  Ταχύτητα  μεταφοράς  πληροφορίας  (μεταξύ  στοιχείων  

εντός  του  ίδιου  υπολογιστή,  ή  μεταξύ  διαφορετικών  υπολογιστών)  –  Μονάδα  πληροφορίας:  bit  

•  Μονάδες  μέτρησης  –  Bps:    bits  ανά  δευτερόλεπτο  –  Kbps:    Kilo-­‐bps  (1,000  bps)  –  Mbps:    Mega-­‐bps  (1,000,000  bps)  –  Gbps:    Giga-­‐bps  (1,000,000,000  bps)  

•  Εύρος  ζώνης  (bandwidth):  Μέγιστη  διαθέσιμη  ταχύτητα  –  Σχετίζεται  με  τη  φέρουσα  συχνότητα  (carrier  frequency)  και  με  το  πλήθος  συχνοτήτων  του  τηλεπικοινωνιακού  διαύλου  

–  Δίκτυα  ευρείας  ζώνης  (broadband)  40  

Page 41: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Άλλες  αρχιτεκτονικές  •  Διεκπεραιωτική  ικανότητα  ή  ρυθμοαπόδοση  (throughput):  

συνολικό  ποσό  εργασίας  που  μπορεί  να  εκτελέσει  ένας  υπολογιστής  σε  ένα  συγκεκριμένο  χρονικό  διάστημα  –  Ή,  ρυθμός  διεκπεραίωσης  (αριθμός  εργασιών  που  διεκπεραιώνονται  ανά  μονάδα  χρόνου),  π.χ.  Εργασίες  /  sec  

•  Τεχνολογίες  για  αύξηση  της  διεκπεραιωτικής  ικανότητας:  βασίζονται  στον  παραλληλισμό  

•  Διαφορετικοί  “βαθμοί”  παραλληλισμού  –  σε  επίπεδο  εντολής:  διοχέτευση  (pipelining):  αλληλοεπικάλυψη  βημάτων  του  κύκλου  μηχανής  (π.χ.  ενώ  εκτελείται  μια  εντολή  Α,  η  επόμενη  εντολή  Β  μεταφέρεται  από  την  μνήμη  προς  εκτέλεση)  

–  παράλληλη  εκτέλεση  ολόκληρων  “νημάτων”  (threads)  =  τμημάτων  ενός  προγράμματος  που  μπορούν  να  εκτελεστούν  παράλληλα  (είναι  ανεξάρτητα)  

41  

Page 42: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Διοχέτευση  •  Διοχέτευση  (pipelining)=  αλληλοεπικάλυψη  βημάτων  του  κύκλου  μηχανής  

•  Βασική  διοχέτευση  5  βημάτων  σε  μια  μηχανή  τύπου  RISC            IF  =  Instrucion  Fetch,  ID  =  Instrucion  Decode,  EX  =  Execute,              MEM  =  Memory  access,  WB  =  Register  write  back  

–  Στον  4ο  κύκλο,  η  πρώτη  εντολή  είναι  στο  στάδιο  MEM,  και  η  τελευταία  δεν  έχει  μπει  στο  pipeline    

42  

Page 43: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Παραλληλισμός  σε  επίπεδο  νημάτων  (thread)  

•  Σε  διαφορετική  κλίμακα:  –  Ένας  διακομιστής  μπορεί  να  εξυπηρετεί  κάθε  πελάτη  με  διαφορετικό  νήμα  (π.χ.  Web  server,  database  server)  

–  Ένα  εξάρτημα  στον  υπολογιστή  μπορεί  να  κάνει  υπολογισμούς  AI,  γραφικά  και  φυσική  σε  3  παράλληλα  threads  

•  Πολυ-­‐πύρηνες  (Muli-­‐core)  αρχιτεκτονικές:  χρησιμοποιούν  εκτενώς  παραλληλισμό  σε  επίπεδο  νημάτων      

43  

Page 44: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Πολυεπεξεργαστές  •  Νέα  τεχνολογία:  Πολυ-­‐πύρηνοι  μικροεπεξεργαστές  (muli-­‐core  microprocessors)  –  Περισσότεροι  του  ενός  επεξεργαστές  ανά  τσιπ  

•  Απαιτεί  ρητό  παράλληλο  προγραμματισμό  (explicitly  parallel  programming)  –  Το  υλικό  εκτελεί  πολλές  εντολές  ταυτόχρονα  –  Χρησιμοποιούνται  εκτενώς  τα  νήματα  –  Ο  προγραμματισμός  muli-­‐core  είναι  δύσκολος  

•  Προγραμματισμός  (scheduling)  για  μέγιστη  απόδοση    •  Εξισορρόπηση  φορτίου  (load  balancing)  μεταξύ  των  επεξεργαστών  

•  Βελτιστοποίηση  επικοινωνίας  (communicaion)  και  συγχρονισμού  (synchronizaion)  

44  

Page 45: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Μονο-­‐πύρηνος  (single-­‐core)  υπολογιστής  

Τα  επόμενα  slides  απο    h®p://www-­‐bcf.usc.edu/~jbarbic/muli-­‐core-­‐15213-­‐sp07.ppt  

45  

Page 46: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Πολυ-­‐πύρηνες  αρχιτεκτονικές  

Core  1   Core  2   Core  3   Core  4  

Muli-­‐core  CPU  chip  

Σημ:  Όλοι  οι  πυρήνες  μοιράζονται  την  ίδια  μνήμη  

46  

Page 47: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Πολυ-­‐πύρηνοι  υπολογιστές  •  Δύσκολο  τεχνολογικά  να  αυξηθεί  περαιτέρω  η  συχνότητα  του  ρολογιού  –  Το  ρολόι  (clock)  είναι  ένας  ταλαντωτής  παράγει  παλμούς  με  συγκεκριμένη  συχνότητα,  π.χ.  3.6GHz    

–  1  Hz  =    1  κύκλος  /  δευτερόλεπτο  –  Συντονίζει  τις  εργασίες  που  επιτελούνται  στον  υπολογιστή  

•  Προβλήματα  υπερθέρμανσης  καθώς  αυξάνεται  η  συχνότητα  του  ρολογιού  

•  Πολλές  νέες  εφαρμογές  είναι  εκ  κατασκευής  πολλαπλών  νημάτων  (muli-­‐threaded)    –  Γενική  τάση  στην  αρχιτεκτονική  υπολογιστών  (στροφή  προς  περισσότερο  παραλληλισμό)    

47  

Page 48: ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(pages.cs.aueb.gr/courses/epl131/files/Κ2.pdf · 2015-12-01 · ΚΕΦΑΛΑΙΟ(2:(Χειρισμός(Δεδομένων(

Παράλληλες  αρχιτεκτονικές  •  Παράλληλη  επεξεργασία:  ταυτόχρονη  

χρήση  πολλών  επεξεργαστών  –  SISD:    Καμία  παράλληλη  επεξεργασία  –  SIMD:    Ίδια  ακολουθία  εντολών,  διαφορετικά  σύνολα  δεδομένων  (π.χ.  Μοντέρνες  κάρτες  γραφικών)  

•  Κάθε  επεξεργαστης  εκτελεί  την  ίδια  εργασία  με  διαφορετικό  μέρος  των  δεδομένων  

– MIMD:    Διαφορετικές  ακολουθίες  εντολών,  διαφορετικά  σύνολα  δεδομένων  (muli-­‐core)  

•  Κάθε  επεξεργαστής  εκτελεί  ανεξάρτητες  και  διαφορετικές  εργασίες  

SI:  single  instrucion  MI:  muliple  instrucion  SD:  single  data  MD:  muliple  data   48