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

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

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

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Εξομοίωση της Αρχιτεκτονικής PiSMA στο περιβάλλον εξομοίωσης SIMICS Μεταπτυχιακό Πρόγραμμα Επιστήμη & Τεχνολογία Υπολογιστών ΡΟΔΑΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Α.Μ. 435 ΥΠΕΥΘΥΝΟΣ ΚΑΘΗΓΗΤΗΣ: Δημήτρης Λιούπης, Αναπληρωτής Καθηγητής ΕΞΕΤΑΣΤΙΚΗ ΕΠΙΤΡΟΠΗ Δ. Λιούπης, Κ. Μπερμπερίδης, Χ. Κακλαμάνης Πάτρα, 10 Ιουλίου 2006

2

3 Περιεχόμενα Περιεχόμενα 3 Πρόλογος 5 Ευχαριστίες 7 Κεφάλαιο 1 Chip Multiprocessing CMP Εισαγωγή Τι είναι το CMP Ανάλυση του CMP Περιορισμοί της Superscalar (SS) αρχιτεκτονικής Η περίπτωση του CMP Σύγκριση 1 η CMP vs. SS Σύγκριση 2 η CMP vs. SMT vs. SS Αρχιτεκτονικές βασισμένες σε CMP AMD Dual-Core Opteron Hewlett Packard PA IBM PowerPC Intel Pentium Extreme Edition Κεφάλαιο 2 Περιγραφή της Αρχιτεκτονικής PiSMA Εισαγωγή Παρόμοιες αρχιτεκτονικές Αρχιτεκτονικές Edge Αρχιτεκτονική RAW Παρουσίαση της αρχιτεκτονικής PiSMA Διαχείριση Μνήμης & Μετάδοση Μηνυμάτων Διαχείριση Εικονικής Μνήμης Μετάδοση Μηνυμάτων Κατανομή του φόρτου εργασίας Αλγόριθμος Κατανομής Αποτελέσματα Συμπεράσματα Ένα αναλυτικό μοντέλο Περιγραφή του μοντέλου Εφαρμογή του μοντέλου στην PiSMA Αποτελέσματα 64 Κεφάλαιο 3 Περιγραφή του περιβάλλοντος εξομοίωσης Simics Εισαγωγή Εξομοίωση στο Simics Υλοποιημένα Συστήματα Ένα απλό παράδειγμα Simics Configuration Simics Scripting με Python Simics Memory System & Cache Simulation Προγραμματισμός στο Simics Δημιουργία Modules Υλοποίηση Κλάσεων, Αντικειμένων & Ιδιοτήτων 89 3

4 3.3.3 Προγραμματισμός της Ιεραρχίας Μνήμης 94 Κεφάλαιο 4 Υλοποίηση της PiSMA στο Simics Εισαγωγή Υλοποιήσεις Μόνο με caches Χωρίς caches μόνο με μνήμες Με μνήμες και caches Υλοποιήσεις με επεξεργαστές SPARC Μελλοντική Εργασία 106 Βιβλιογραφία 109 4

5 Πρόλογος Είναι ευρέως γνωστό πως η αλματώδης ανάπτυξη της τεχνολογίας επιτρέπει τη συνεχώς μεγαλύτερη δυνατότητα ολοκλήρωσης των ψηφιακών κυκλωμάτων. Σήμερα περισσότερο από κάθε άλλη φορά έχουμε τη δυνατότητα να τοποθετήσουμε τεράστιο αριθμό από τρανζίστορ πάνω σε ένα τσιπ κάτι που διευρύνει τους ορίζοντες της σχεδίασης ολοκληρωμένων. Σε αυτήν τη διπλωματική εργασία προσπαθήσαμε να εκμεταλλευτούμε αυτές τις δυνατότητες υλοποιώντας στην ολοκληρωμένη, αξιόπιστη και γρήγορη πλατφόρμα εξομοίωσης Simics την πρωτοποριακή αρχιτεκτονική PiSMA. Η αρχιτεκτονική είναι μια multiprocessing αρχιτεκτονική με την προοπτική να είναι επεκτάσιμη σε αυθαίρετο αριθμό επεξεργαστών. Κάθε επεξεργαστής συνδέεται με τέσσερις μνήμες ενώ κάθε μνήμη συνδέεται με τέσσερις επεξεργαστές. Ο διαμοιρασμός των δεδομένων γίνεται με τη μετάδοση μηνυμάτων διαμέσω των επεξεργαστών στις μνήμες του πλέγματος. Από την άλλη μεριά το Simics είναι ένας Instruction Set simulator που παρέχει εξαιρετικές δυνατότητες για την εξομοίωση συστημάτων υλικού. Είναι κατασκευασμένος με μια αντικειμενοστρεφή λογική οπότε όλες οι υπηρεσίες που προσφέρει είναι στη μορφή κλάσεων ενώ ο χρήστης μπορεί να τις διαχειριστεί μέσω των αντικειμένων που κατασκευάζει από αυτές. Η διπλωματική αυτή είναι στη συνέχεια οργανωμένη ως εξής. Στο Πρώτο Κεφάλαιο αναφέρουμε τις τάσεις της εποχής σχετικά με το Chip Multiprocessing (CMP) δηλαδή τη χρησιμοποίηση περισσότερων από ένα επεξεργαστών ή επεξεργαστικών cores πάνω στο ίδιο τσιπ για την αύξηση της απόδοσης των μηχανημάτων. Αναφέρουμε λεπτομερειακά πως ξεκίνησε αυτή η τάση, ποιες συνθήκες ήταν εκείνες που ευνόησαν την υλοποίηση τέτοιων συστημάτων και ποια τέτοια συστήματα έχουν κατασκευαστεί μέχρι τώρα. Στη συνέχεια στο Δεύτερο Κεφάλαιο αναλύουμε σε μεγάλο βαθμό την αρχιτεκτονική PiSMA που θα εξομοιώσουμε. Αναφέρουμε με κάθε λεπτομέρεια τη δομή της αρχιτεκτονικής, τι είδους προβλήματα προκύπτουν στο σχεδιασμό της καθώς και πως αναμένουμε να συμπεριφερθεί, όσον αφορά την απόδοση, σε διαφόρων ειδών εφαρμογές. Στο Τρίτο Κεφάλαιο δίνουμε μια ολοκληρωμένη και περιεκτική περιγραφή της πλατφόρμας εξομοίωσης Simics. Αναφέρουμε τις κυριότερες δυνατότητες που παρέχει αυτή καθώς και τα σημαντικότερα εργαλεία για τη σχεδίαση νέων αρχιτεκτονικών και τη λήψη μετρήσεων από αυτές. Τέλος στο Τέταρτο Κεφάλαιο αναφέρουμε τη διαδικασία που ακολουθήσαμε για να υλοποιήσουμε την αρχιτεκτονική PiSMA πάνω στο Simics, πως αντιμετωπίσαμε τα διάφορα προβλήματα που προέκυψαν και ποια εργαλεία του εξομοιωτή χρησιμοποιήσαμε για να το καταφέρουμε αυτό. 5

6 6

7 Ευχαριστίες Θέλω να ευχαριστήσω τον κ. Λιούπη Δημήτριο Αναπληρωτή Καθηγητή του τμήματος Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής του Πανεπιστημίου Πατρών, επιβλέποντα της εργασίας αυτής για την ουσιαστική και πολύτιμη συνεισφορά στην διεκπεραίωση της παρούσας διπλωματικής εργασίας. Ο κ. Λιούπης προσέφερε όλες τις δυνατότητες και τους πόρους του εργαστήριου του για να βοηθήσει στην όσο το δυνατόν καλύτερη ανάπτυξη αυτής της εργασίας. Θα ήθελα επίσης να ευχαριστήσω τον κ. Στεφανιδάκη Μιχάλη για τις πολύτιμες συμβουλές και παρατηρήσεις του οι οποίες βοήθησαν ουσιαστικά και σημαντικά αυτήν την εργασία. Τα περισσότερα από τα αποτελέσματα, οι πίνακες και τα σχήματα του Κεφαλαίου 2 προέρχονται από δική του παλαιότερη εργασία πάνω στο θέμα σε συνεργασία με τον κ. Λιούπη και άλλους συνεργάτες. Τέλος θα ήθελα να ευχαριστήσω τους γονείς μου που με στήριξαν με όλες τους τις δυνάμεις όλα αυτά τα χρόνια της φοιτητικής μου πορείας. Ροδάς Κωνσταντίνος Απόφοιτος του Τμήματος Μηχανικών Η/Υ & Πληροφορικής. 7

8

9 Κεφάλαιο 1 Chip Multiprocessing CMP

10 10

11 Κεφάλαιο 1 Chip Multiprocessing CMP 1.1 Εισαγωγή 1.1 Εισαγωγή Η εξέλιξη στην IC επεξεργασία έχουν προσφέρει νέες επιλογές στη σχεδίαση των μικροεπεξεργαστών. Η αυξανόμενη πολυπλοκότητα και το κόστος των καλωδίων στα προηγμένα ολοκληρωμένα κυκλώματα καθιστούν επιτακτική την ανάγκη για εύρεση νέων τρόπων αποδοτικής εκμετάλλευσης των δυνατοτήτων τους. Η εξέλιξη στη τεχνολογία των ολοκληρωμένων κυκλωμάτων έχει ωθήσει την ανάπτυξη των μικροεπεξεργαστών τα τελευταία δεκαπέντε χρόνια [1]. Κάθε αύξηση στη πυκνότητα του ολοκληρωμένου επιτρέπει ταχύτερα ρολόγια και προσφέρει νέες ευκαιρίες για καινοτομίες στο επίπεδο της μικρο-αρχιτεκτονικής. Οι καινοτομίες της μικρο-αρχιτεκτονικής που υιοθετήθηκαν από τους τελευταίους μικροεπεξεργαστές περιλαμβάνουν πολλαπλή έκδοση εντολών, δυναμικό χρονοπρογραμματισμό, πιθανολογική εκτέλεση και non-blocking caches. Η τεχνολογία των ολοκληρωμένων κυκλωμάτων προσφέρει αυξανόμενη πυκνότητα ολοκλήρωσης η οποία με τη σειρά της οδηγεί στην αύξηση της απόδοσης. Η δυνατότητα για ολοκλήρωση ενός δισεκατομμυρίου τρανζίστορ σε ένα μικρού μεγέθους τσιπ καθιστά αναγκαία την εύρεση τρόπων παραλληλισμού ώστε να χρησιμοποιηθούν αποδοτικά τα παρεχόμενα τρανζίστορ. Μέχρι τώρα ο σχεδιασμός των επεξεργαστών ήταν έτσι ώστε να επιτυγχάνεται παραλληλισμός με το να εκτελούνται πολλές εντολές ενός ακολουθιακού προγράμματος παράλληλα. Για την εύρεση ανεξάρτητων εντολών μέσα σε μια ακολουθία εντολών, η σε ένα thread ελέγχου, οι επεξεργαστές κάνουν χρήση εξεζητημένων αρχιτεκτονικών χαρακτηριστικών. Τέτοια παραδείγματα είναι η out-of-order εκτέλεση εντολών και η πιθανολογική εκτέλεση εντολών μετά από διακλαδώσεις που έχουν προβλεφθεί με δυναμικές τεχνικές πρόβλεψης. Οι μελλοντικές βελτιώσεις απόδοσης θα απαιτούν από τους επεξεργαστές να εκτελούν περισσότερες εντολές ανα κύκλο ρολογιού. Ωστόσο η εξάρτηση από ένα μόνο thread ελέγχου περιορίζει τον παραλληλισμό που είναι διαθέσιμος για πολλές εφαρμογές και το κόστος της εξαγωγής παραλληλισμού από ένα μόνο thread γίνεται απαγορευτικό. Αυτό το κόστος παρουσιάζεται με πολλούς τρόπους μέσα στους οποίους περιλαμβάνονται το αυξανόμενο μέγεθος του ολοκληρωμένου και ο μεγαλύτερος χρόνος σχεδιασμού και επαλήθευσης. Γενικά δεν παρατηρούμε καλά αποτελέσματα όταν προσπαθούμε να πάρουμε παραλληλισμό από ένα μόνο thread. Παρόλο που αυτός ο παραλληλισμός μπορεί να επιτευχθεί δυναμικά σε υλικό η δυνατότητα αυτού να είναι απλό και γρήγορο συνηγορεί στο να γίνει μια προσέγγιση μέσω λογισμικού. Οι αναδυόμενες τεχνολογίες παράλληλων μεταφραστών [2], η αύξηση της χρήσης παράλληλων εφαρμογών όπως είναι τα πολυμέσα και η πιο διαδεδομένη χρήση των multitasking λειτουργικών συστημάτων θα πρέπει να το κάνει αυτό εφικτό. Σε αντιπαράθεση με τα παραπάνω οι ερευνητές έχουν προτείνει δύο εναλλακτικές μικρο-αρχιτεκτονικές οι οποίες εκμεταλλεύονται πολλαπλά threads ελέγχου : τη simultaneous multithreading (SMT) [3] και τη chip multiprocessors (CMP) [4]. Οι SMT επεξεργαστές (με το να εκδίδουν πολλές εντολές μαζί) παρέχουν υλικό στους superscalar επεξεργαστές που τους επιτρέπει την εκτέλεση εντολών από πολλαπλά threads ελέγχου ταυτόχρονα όταν αυτό είναι δυνατό. Αυτό γίνεται με το να επιλέγει δυναμικά και να εκτελεί εντολές από πολλά ενεργά threads παράλληλα. Το γεγονός αυτό προωθεί πολύ περισσότερο utilization των πόρων εκτέλεσης του επεξεργαστή και παρέχει ανοχή της καθυστέρησης στην περίπτωση που ένα thread καθυστερεί 11

12 Κεφάλαιο 1 Chip Multiprocessing CMP 1.2 Τι είναι το CMP εξαιτίας cache misses η εξάρτησης δεδομένων. Όταν πολλαπλά threads δεν είναι διαθέσιμα το SMT απλά μοιάζει με έναν συμβατικό wide-issue superscalar επεξεργαστή. Στη συνέχεια θα δούμε τον τρόπο λειτουργίας μιας CMP μικροαρχιτεκτονικής. 1.2 Τι είναι το CMP Το CMP [20] είναι ένα symmetric multiprocessing (SMP) (είναι μια πολυεπεξεργαστική αρχιτεκτονική όπου δύο ή περισσότεροι πανομοιότυποι επεξεργαστές είναι συνδεδεμένοι σε μια κοινή διαμοιραζόμενη κύρια μνήμη. Οι πιο κοινοί πολυεπεξεργαστές σήμερα χρησιμοποιούν SMP. Τα SMP συστήματα επιτρέπουν σε κάθε επεξεργαστή να εργάζεται σε ένα task ανεξάρτητα από το που βρίσκονται στη μνήμη τα δεδομένα του συγκεκριμένου task. Με το κατάλληλο λειτουργικό σύστημα τα SMP μπορούν εύκολα να μετακινούν task μεταξύ των επεξεργαστών ώστε να ισοσκελίζεται ο φόρτος εργασίας. Στα μειονεκτήματα συγκαταλέγεται το γεγονός ότι η μνήμη είναι πολύ πιο αργή απ ότι οι επεξεργαστές που την προσπελαύνουν τόσο που ακόμα και μονο-επεξεργαστικά συστήματα τείνουν να ξοδεύουν σημαντικό κομμάτι χρόνου περιμένοντας για τα δεδομένα. Το SMP το κάνει αυτό ακόμα χειρότερο καθώς μόνο ένας επεξεργαστής μπορεί να προσπελαύνει τη μνήμη κάθε φορά.) υλοποιημένο σε ένα μόνο VLSI ολοκληρωμένο κύκλωμα. Πολλοί processor cores τυπικά μοιράζονται δευτέρου ή τρίτου επιπέδου cache και τη διασύνδεση. Ο στόχος ενός CMP συστήματος είναι να επιτρέψει μεγαλύτερη χρησιμοποίηση του thread επιπέδου παραλληλισμού (Thread-Level Parallelism TLP) ειδικότερα για εφαρμογές που δεν έχουν επαρκές παραλληλισμό επιπέδου εντολών (Instruction- Level Parallelism ILP) ώστε να κάνουν καλύτερη χρήση των superscalar επεξεργαστών. Οι CMP χρησιμοποιούν σχετικά απλούς single-thread processor cores για να εκμεταλλευτούν μετριασμένο μέγεθος παραλληλισμού μέσα σε κάθε ένα thread ενώ εκτελούν πολλαπλά thread παράλληλα σε διάφορους processor cores. Αν μια εφαρμογή δε μπορεί να διασπαστεί αποδοτικά σε threads, οι CMP επεξεργαστές δε θα αξιοποιούνται στο έπακρο των δυνατοτήτων τους. Από την απλή σκοπιά μόνο της αρχιτεκτονικής η ευελιξία του SMT το καθιστά ανώτερο. Ωστόσο η ανάγκη περιορισμού των φαινομένων καθυστέρησης στη διασύνδεση, τα οποία σιγά σιγά γίνονται πολύ πιο αργά από την καθυστέρηση των πυλών τρανζίστορ, θα οδηγήσουν στη σχεδίαση του τσιπ με δισεκατομμύρια τρανζίστορ. Η καθυστέρηση στη διασύνδεση επίσης θα αναγκάσει τη μικρο-αρχιτεκτονική να χωριστεί σε μικρά, τοπικά επεξεργαστικά στοιχεία. Για αυτό το λόγο το CMP είναι πολύ περισσότερο υποσχόμενο επειδή είναι ήδη χωρισμένο σε ανεξάρτητα processing cores. Επειδή αυτά τα cores είναι σχετικά απλά υπόκεινται σε βελτιστοποίηση της ταχύτητας και μπορούν να σχεδιαστούν σχετικά εύκολα. 1.3 Ανάλυση του CMP Περιορισμοί της Superscalar (SS) αρχιτεκτονικής Η τάση στη βιομηχανία των μικροεπεξεργαστών ήταν ο σχεδιασμός CPU με πολλαπλή έκδοση εντολών και τη δυνατότητα για εκτέλεση εντολών με διαφορετική σειρά από αυτή με την οποία εμφανίζονται στο πρόγραμμα (Out Of program Order). Αυτή η δυνατότητα καλείται δυναμικός χρονοπρογραμματισμός 12

13 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP και παρουσιάστηκε για πρώτη φορά στο [5]. Ο δυναμικός χρονοπρογραμματισμός χρησιμοποιεί υλικό ώστε να βρει εξαρτήσεις στους καταχωρητές μεταξύ των εντολών. Μια εντολή εκτελείται, ίσως και με διαφορετική σειρά από του προγράμματος, αμέσως μόλις όλες οι εξαρτήσεις της ικανοποιηθούν. Είναι δυνατό να σχεδιάσουμε έναν δυναμικά χρονοπρογραμματισμένο superscalar μικροεπεξεργαστή χρησιμοποιώντας σταθμούς δέσμευσης. Ωστόσο η πιο συχνή υλοποίηση ενός τέτοιου επεξεργαστή χρησιμοποιεί μια δομή παρόμοια με αυτή που φαίνεται στο παρακάτω σχήμα. Σχήμα 1 Εδώ η μετονομασία μεταξύ των αρχιτεκτονικών και των φυσικών καταχωρητών γίνεται ρητά και ο χρονοπρογραμματισμός των εντολών καθώς και η εύρεση των εξαρτήσεων των καταχωρητών μεταξύ των εντολών γίνονται σε μια ουρά έκδοσης εντολών. Μερικά παραδείγματα σχεδιασμού τέτοιων μικροεπεξεργαστών είναι ο MIPS Technologies R10000 και ο HP PA Σε αυτούς τους επεξεργαστές η ουρά των εντολών είναι υλοποιημένη ουσιαστικά ως πολλές ουρές εντολών για διαφορετικές τάξεις εντολών (π.χ. ακέραιοι, κινητής υποδιαστολής, load/store). Οι τρεις κύριες φάσεις της εκτέλεσης μιας εντολής σε ένα δυναμικό superscalar (SS) μηχάνημα απεικονίζονται επίσης στο Σχήμα 1. Αυτές είναι η προσκόμιση, η έκδοση και η εκτέλεση. Στη συνέχεια θα περιγράψουμε αυτές τις φάσεις και τους περιορισμούς που επιφέρουν στο σχεδιασμό μιας CPU με έκδοση πολύ μεγάλων εντολών. Ο στόχος της φάσης προσκόμισης είναι να φέρει στη CPU ένα μεγάλο και ορθό παράθυρο από αποκωδικοποιημένες εντολές. Τρεις παράγοντες περιορίζουν 13

14 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP τη διαδικασία προσκόμισης : λάθος πρόβλεψη διακλαδώσεων, κακή παράταξη εντολών και cache misses. Η ικανότητα να προβλέπονται σωστά οι διακλαδώσεις είναι κρίσιμη όσον αφορά τη δημιουργία ενός μεγάλου και ορθού παραθύρου εντολών. Ευτυχώς χρησιμοποιώντας ένα λογικό μέγεθος μνήμης (64 Κbit), οι διαδικασίες πρόβλεψης των διακλαδώσεων όπως ο selective branch predictor του McFarling μπορούν να μειώσουν τις λάθος προβλέψεις σε ένα ποσοστό κάτω του 5% για τα περισσότερα προγράμματα. Παρόλ αυτά μια καλή διαδικασία πρόβλεψης δεν είναι αρκετή. Είναι επίσης απαραίτητο να βάλουμε σε σειρά ένα πακέτο εντολών για τον αποκωδικοποιητή. Όταν το εύρος έκδοσης είναι μεγαλύτερο από τέσσερις εντολές τότε υπάρχει υψηλή πιθανότητα να χρειαστεί να κάνουμε προσκόμιση κατά τη διάρκεια μιας διακλάδωσης για ένα πακέτο εντολών, καθώς στα προγράμματα των ακεραίων μία στις πέντε εντολές κατά μέσο όρο είναι εντολή διακλάδωσης. Αυτό θα απαιτούσε προσκόμιση από δύο γραμμές cache ταυτόχρονα και συγχώνευση των γραμμών ώστε να σχηματίσουν ένα πακέτο εντολών. Μια τεχνική η οποία διαχωρίζει την instruction cache σε banks και προσκομίζει από πολλά banks ταυτόχρονα δεν είναι τόσο δύσκολο να υλοποιηθεί και παρέχει απόδοση η οποία είναι μεταξύ του 3% του βέλτιστου σχήματος σε ένα 8-wide issue μηχάνημα. Ακόμα και με καλή πρόβλεψη των διακλαδώσεων και σωστή παράταξη των εντολών ένα σημαντικό miss rate θα μειώνει την ικανότητα προσκόμισης για διατήρηση ενός ικανοποιητικού παραθύρου εντολών. Υπάρχουν ακόμα κάποιες εφαρμογές όπως μεγάλες λογικές εξομοιώσεις, επεξεργασία συναλλαγών και ο πυρήνας των λειτουργικών συστημάτων οι οποίες έχουν υψηλό miss rate ακόμα και με σχετικά μεγάλο μέγεθος 64 KB two way set-associative caches. Ευτυχώς είναι δυνατό να κρύψουμε κάποια από τη καθυστέρηση που προκαλείται από τα cache misses σε ένα δυναμικά χρονοπρογραμματιζόμενο επεξεργαστή με το να εκτελούμε εντολές οι οποίες είναι ήδη στο παράθυρο εντολών. Έχει αποδειχτεί ότι πάνω από 60% της καθυστέρησης των cache misses μπορεί να περάσει απαρατήρητη σε ένα benchmark μιας βάσης δεδομένων με μια 64 KB two way set-associative instruction cache. Με δεδομένη καλή πρόβλεψη εντολών και παράταξη εντολών είναι πιθανό ότι η φάση προσκόμισης ενός wide-issue δυναμικού SS επεξεργαστή δε θα περιορίζει την απόδοση. Στη φάση έκδοσης, ένα πακέτο εντολών που έχουν μετονομαστεί εισέρχεται στην ουρά έκδοσης εντολών. Μια εντολή εκδίδεται για εκτέλεση όταν όλα τα έντελα της είναι έτοιμα. Υπάρχουν δύο τρόποι υλοποίησης της μετονομασίας. Κάποιος θα μπορούσε να χρησιμοποιήσει έναν πίνακα για την αντιστοίχιση αρχιτεκτονικών καταχωρητών με φυσικούς καταχωρητές όπως συμβαίνει στον R10000 ή θα μπορούσε να χρησιμοποιήσει ένα συνδυασμό reorder buffer/instruction ουράς όπως γίνεται στον PA Το πλεονέκτημα του πίνακα αντιστοίχισης είναι ότι δεν απαιτούνται συγκρίσεις για τη μετονομασία. Το μειονέκτημα είναι ότι ο αριθμός των ports πρόσβασης που χρειάζονται είναι O x W όπου O είναι ο αριθμός έντελων ανα εντολή και W είναι το εύρος έκδοσης του μηχανήματος. Ένα 8-wide issue μηχάνημα με τρία έντελα ανα εντολή απαιτεί έναν 24 port πίνακα αντιστοίχισης. Από την άλλη μεριά η υλοποίηση με χρήση reorder buffer έχει τα δικά της μειονεκτήματα. Απαιτεί n x Q x Q x W συγκριτές του ενός bit για να καθορίσει ποιοι φυσικοί καταχωρητές θα έπρεπε να παρέχουν έντελα για ένα νέο πακέτο εντολών, όπου n ο αριθμός των bits που απαιτούνται για την κωδικοποίηση των αναγνωριστικών των καταχωρητών και Q το μέγεθος της ουράς έκδοσης εντολών. Προφανώς ο αριθμός των συγκριτών αυξάνει με το 14

15 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP μέγεθος της ουράς εντολών και το εύρος έκδοσης. Όταν μια εντολή είναι στην ουρά εντολών όλες οι εντολές που εκδίδουν πρέπει να ενημερώσουν τις εξαρτήσεις τους. Αυτό απαιτεί άλλο ένα σετ από n x Q x Q x W συγκριτές. Για παράδειγμα ένα 8-wide issue μηχάνημα με τρία έντελα σε κάθε εντολή, μια 64 εγγραφών ουρά εντολών και συγκρίσεις των 6-bit, απαιτεί συγκριτές του 1 bit. Το τελικό αποτέλεσμα όλης της λογικής των συγκρίσεων και της κωδικοποίησης που σχετίζεται με την ουρά έκδοσης εντολών είναι ότι χρειάζεται μεγάλο χώρο για να υλοποιηθεί. Στον PA-8000 που είναι ένα 4-issue μηχάνημα με 56 εγγραφές στην ουρά εντολών, η ουρά έκδοσης εντολών καταλαμβάνει το 20% του ολοκληρωμένου. Επιπλέον καθώς αυξάνει το εύρος έκδοσης χρειάζονται επίσης και μεγαλύτερα παράθυρα ώστε να βρεθούν ανεξάρτητες εντολές οι οποίες να μπορούν να εκτελεστούν παράλληλα για να εκμεταλλευτούνε το μέγιστο εύρος έκδοσης. Το αποτέλεσμα είναι μια τετραγωνική αύξηση στην ουρά έκδοσης εντολών. Μετακινούμενοι στο επίπεδο του κυκλώματος, η ουρά έκδοσης εντολών χρησιμοποιεί ένα μηχανισμό εκπομπής για να μεταδώσει τις ταμπέλες των εντολών, κάτι που απαιτεί τη χρήση καλωδίων τα οποία πρέπει να διατείνονται σε όλο το εύρος της δομής. Σε μεταγενέστερα ολοκληρωμένα αυτά τα καλώδια θα έχουν ολοένα και μεγαλύτερες καθυστερήσεις ανάλογες με τις πύλες που τα οδηγούν. Δεδομένης αυτής της κατάστασης, τελικά, η ουρά έκδοσης εντολών θα περιορίζει το χρονικό κύκλο του επεξεργαστή. Για αυτούς τους λόγους η ουρά έκδοσης εντολών ουσιαστικά θα περιορίζει την απόδοση των μεγάλου εύρους έκδοσης superscalar μηχανών. Στη φάση εκτέλεσης οι τιμές των έντελων προσκομίζονται από το αρχείο των καταχωρητών ή από προηγούμενες εντολές ώστε να εκτελεστούν στα functional units. Το ευρύ SS μοντέλο εκτέλεσης αντιμετωπίζει περιορισμούς απόδοσης στο αρχείο των καταχωρητών, στη λογική προσκόμισης από προηγούμενες εντολές και στα functional units. Ευρύτερη έκδοση εντολών απαιτεί και μεγαλύτερο παράθυρο εντολών κάτι που προϋποθέτει και περισσότερη μετονομασία καταχωρητών. Όχι μόνο πρέπει το αρχείο των καταχωρητών να είναι μεγαλύτερο ώστε να φιλοξενεί περισσότερους καταχωρητές αλλά και ο αριθμός των ports που χρειάζονται για να ικανοποιήσουν το πλήρες εύρος έκδοσης εντολών αυξάνει με το εύρος έκδοσης. Ξανά αυτό προκαλεί τετραγωνική αύξηση της πολυπλοκότητας του αρχείου των καταχωρητών με την αύξηση του εύρους έκδοσης. Έχει βρεθεί ότι ένα 8-issue μηχάνημα έχει μόνο 20% καλύτερη απόδοση από ένα 4-issue μηχάνημα όταν υπολογίζεται το φαινόμενο του χρονικού κύκλου στις μετρήσεις της απόδοσης. Η πολυπλοκότητα της λογικής προσκόμισης έντελων από προηγούμενες εντολές επίσης αυξάνει τετραγωνικά με τον αριθμό των execution units. Ωστόσο ένας πιο περιοριστικός παράγοντας είναι η καθυστέρηση των καλωδίων που συνδέουν τα execution units. Όσον αφορά μόνο τα execution units τα αριθμητικά functional units μπορούν να διπλασιαστούν για να υποστηρίζουν το εύρος έκδοσης, αλλά περισσότερα ports πρέπει να προστεθούν στην primary data cache ώστε αυτή να παρέχει το απαιτούμενο load/store εύρος ζώνης. Ο φθηνότερος τρόπος για να προσθέσουμε ports στην data cache είναι με το να κατασκευάσουμε μια banked cache, όμως η προστιθέμενη πολυπλεξία και ο έλεγχος που απαιτείται για την υλοποίηση μιας banked cache αυξάνει το χρόνο προσπέλασης της cache. 15

16 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP Η περίπτωση του CMP Το κίνητρο για την κατασκευή ενός πολυ-επεξεργαστή σε ένα ολοκληρωμένο προέρχεται από δύο πλευρές : υπάρχει μια τεχνολογική ώθηση και μια ώθηση που προέρχεται από τις εφαρμογές. Όπως είδαμε μέχρι τώρα υπάρχουν τεχνολογικά θέματα, όπως η καθυστέρηση στην πολύπλοκη ουρά έκδοσης και τα multi-port αρχεία των καταχωρητών, τα οποία θα περιορίζουν την αποδοτικότητα ενός superscalar μοντέλου εκτέλεσης. Αυτό αυξάνει την ανάγκη για μια αποκεντρωμένη μικρο-αρχιτεκτονική ώστε να διατηρηθεί η αυξανόμενη αποδοτικότητα των μικροεπεξεργαστών. Από την πλευρά των εφαρμογών, η μικρο-αρχιτεκτονική που έχει τα καλύτερα αποτελέσματα εξαρτάται από το ποσοστό και τα χαρακτηριστικά του παραλληλισμού στην εφαρμογή. Από διάφορες μελέτες [6] προκύπτει ότι οι εφαρμογές ταξινομούνται σε δύο κλάσεις. Η πρώτη κλάση αποτελείται από εφαρμογές με μικρό έως συγκρατημένο ποσοστό παραλληλισμού κάτω από δέκα εντολές ανά κύκλο με μετρημένη πρόβλεψη διακλαδώσεων και μεγάλα αλλά όχι άπειρα μεγέθη παραθύρων. Οι περισσότερες από αυτές τις εφαρμογές είναι εφαρμογές ακεραίων. Η δεύτερη κλάση αποτελείται από εφαρμογές με μεγάλο ποσοστό παραλληλισμού, μεγαλύτερο από σαράντα εντολές ανά κύκλο με σχετική πρόβλεψη διακλαδώσεων και μεγάλα μεγέθη παραθύρων. Η πλειοψηφία αυτών των εφαρμογών είναι εφαρμογές κινητής υποδιαστολής και ο περισσότερος παραλληλισμός είναι της μορφής του επιπέδου βρόγχων. Η ώθηση απέναντι σε ένα πολυ-επεξεργαστή του ενός τσιπ προκύπτει επειδή αυτές οι δύο κλάσεις εφαρμογών απαιτούν διαφορετικά μοντέλα εκτέλεσης. Οι εφαρμογές της πρώτης κλάσης δουλεύουν καλύτερα σε επεξεργαστές που είναι σχετικά superscalar (2-issue) με πολύ μεγάλη συχνότητα ρολογιού επειδή υπάρχει μικρός παραλληλισμός που μπορεί να εκμεταλλευτεί το μοντέλο. Για να το καταστήσουμε αυτό περισσότερο σαφές αναφέρουμε ότι ένας 200 MHz MIPS R5000 που είναι ένας 1-issue επεξεργαστής, όταν τρέχει προγράμματα ακεραίων πετυχαίνει ένα SPEC95 ποσοστό ακεραίων το οποίο είναι 70% του ποσοστού ενός 200 MHz MIPS R10000 που είναι ένας 4-issue επεξεργαστής. Και τα δύο μηχανήματα έχουν το ίδιο μέγεθος caches δεδομένων και εντολών όμως ο R5000 έχει blocking cache δεδομένων ενώ ο R10000 έχει non-blocking cache δεδομένων. Οι εφαρμογές της δεύτερης κλάσης έχουν μεγάλο ποσοστό παραλληλισμού και βλέπουν αυξήσεις στην απόδοση από μια ποικιλία μεθόδων που είναι σχεδιασμένες για να εκμεταλλεύονται τον παραλληλισμό όπως είναι ο superscalar, ο VLIW και η επεξεργασία διανυσμάτων. Ωστόσο οι νεότερες εξελίξεις των παράλληλων μεταφραστών καθιστούν έναν πολυ-επεξεργαστή ικανό και ευέλικτο στην εκμετάλλευση του παραλληλισμού αυτών των προγραμμάτων. Οι CMP οι οποίοι είναι σχεδιασμένοι έτσι ώστε κάθε επεξεργαστής να είναι απλός και να επιτυγχάνει υψηλές συχνότητες ρολογιού θα έχουν καλά αποτελέσματα στις ακέραιες εφαρμογές της πρώτης κλάσης. Επιπλέον η μικρή καθυστέρηση στην επικοινωνία μεταξύ των επεξεργαστών του ίδιου τσιπ επιτρέπουν στον πολυ-επεξεργαστή να εκμεταλλευτεί τον παραλληλισμό των εφαρμογών κινητής υποδιαστολής της δεύτερης κλάση. Υπάρχουν διάφοροι τρόποι που μπορεί να χρησιμοποιηθεί ένας πολυεπεξεργαστής. Η πιο διαδεδομένη χρήση είναι η εκτέλεση πολλών διεργασιών παράλληλα ώστε να αυξηθεί η απόδοση σε ένα περιβάλλον πολλών προγραμμάτων 16

17 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP υπό τον έλεγχο ενός λειτουργικού συστήματος που θα μπορεί να αναγνωρίζει τις δυνατότητες του πολυ-επεξεργαστή. Σημειώνουμε ότι υπάρχει ένας αριθμός από λειτουργικά περιβάλλοντα που έχουν αυτήν την ικανότητα. Επιπροσθέτως η αυξανόμενη και διαδεδομένη χρήση των οπτικών και πολυμεσικών εφαρμογών τείνει να αυξήσει και τον αριθμό των ενεργών επεξεργαστών ή των ανεξάρτητων threads σε ένα desktop μηχάνημα ή σε ένα server σε ένα συγκεκριμένο χρονικό σημείο. Ένας διαφορετικός τρόπος που θα μπορούσαμε να χρησιμοποιήσουμε έναν πολυ-επεξεργαστή είναι να εκτελούσαμε πολλά threads παράλληλα τα οποία θα προέρχονται από μια εφαρμογή. Δύο τέτοια παραδείγματα είναι η επεξεργασία συναλλαγών και η χειρωνακτική παραλληλοποίηση επιστημονικών εφαρμογών κινητής υποδιαστολής. Σε αυτήν την περίπτωση τα διάφορα threads επικοινωνούν μεταξύ τους χρησιμοποιώντας διαμοιραζόμενες μνήμες. Ένα άλλο παράδειγμα χειρωνακτικά παραλληλοποιημένων εφαρμογών είναι οι κατακερματισμένες επιπέδου thread εφαρμογές ακεραίων. Αυτές οι εφαρμογές δεν παρουσιάζουν μεγάλο βαθμό παραλληλίας ακόμα και όταν το παράθυρο των εντολών είναι μεγάλο και η πρόβλεψη των διακλαδώσεων τέλεια, επειδή ο παραλληλισμός που υπάρχει είναι διασπαρμένος σε μια ευρεία περιοχή. Εξαιτίας του μεγάλου παραθύρου και της τέλειας πρόβλεψης θα ήταν πολύ δύσκολο αυτή η παραλληλία να γίνει εκμεταλλεύσιμη από ένα superscalar μοντέλο. Ωστόσο είναι δυνατό για έναν προγραμματιστή που καταλαβαίνει τη φύση του παραλληλισμού στην εφαρμογή, να διασπάσει την εφαρμογή σε πολλά threads. Ο παραλληλισμός που εξάγεται με αυτόν τον τρόπο είναι πολύ λεπτός και δε μπορεί να τον εκμεταλλευτεί μια συμβατική πολυ-επεξεργαστική αρχιτεκτονική. Ο μόνος τρόπος που μπορεί να χρησιμοποιηθεί αυτού του είδους ο παραλληλισμός είναι μέσω μιας CMP αρχιτεκτονικής. Ένας τρίτος τρόπος χρήσης ενός CMP θα ήταν στην επιτάχυνση της εκτέλεσης ακολουθιακών προγραμμάτων χωρίς χειρωνακτική επέμβαση. Αυτό απαιτεί αυτόματη τεχνολογία παραλληλοποίησης. Αυτή η αυτόματη τεχνολογία παραλληλοποίησης έχει φανεί να είναι αποτελεσματική σε επιστημονικές εφαρμογές [7] αλλά δεν είναι ακόμα έτοιμη για γενικού σκοπού εφαρμογές ακεραίων. Όπως οι χειρωνακτικά παραλληλοποιημένες εφαρμογές ακεραίων έτσι και αυτές οι εφαρμογές θα μπορούσαν να έχουν σημαντική βελτίωση στην απόδοσή τους από την μικρής καθυστέρησης επικοινωνία των επεξεργαστών που παρέχει ένας CMP Σύγκριση 1 η CMP vs. SS Για τη σύγκριση του SS με το CMP θα χρησιμοποιήσουμε δύο αρχιτεκτονικές που θα περιγράψουμε στη συνέχεια. Η superscalar αρχιτεκτονική είναι μια λογική επέκταση του R10000 επεκτεταμένη από 4-issue σε 6-issue. Η CMP αρχιτεκτονική είναι ένας 4-way single chip πολυ-επεξεργαστής που αποτελείται από τέσσερις πανομοιότυπους 2-way superscalar επεξεργαστές. Αυτές οι δύο διαφορετικές αρχιτεκτονικές έχουν σχεδόν το ίδιο μέγεθος ολοκληρωμένου αν κατασκευαστούν με την ίδια τεχνολογική διαδικασία. Μέχρι τώρα είδαμε ότι o απλούστερος 2-issue CPU που χρησιμοποιείται στην πολυ-επεξεργαστική αρχιτεκτονική θα έχει μεγαλύτερη συχνότητα ρολογιού απ ότι ο 6-issue CPU. Ωστόσο για τους σκοπούς αυτής της σύγκρισης υποθέτουμε ότι οι δύο επεξεργαστές έχουν την ίδια συχνότητα ρολογιού. Για την επίτευξη της ίδιας συχνότητας ρολογιού η SS αρχιτεκτονική θα απαιτούσε μεγαλύτερη pipeline εξαιτίας 17

18 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP της ευμεγέθους ποσότητας λογικής έκδοσης στο κρίσιμο μονοπάτι. Για λόγους απλότητας αγνοούμε τις διαφορές καθυστέρησης ανάμεσα στις δύο αρχιτεκτονικές λόγω του βαθμού του pipelining. Υποθέτουμε ότι η συχνότητα του ρολογιού των δύο μηχανημάτων είναι 500 MHz. Σε αυτή τη συχνότητα οι καθυστερήσεις της κύριας μνήμης για τον επεξεργαστή είναι μεγάλες. Η κύρια μνήμη έχει μοντελοποιηθεί ως 50-κύκλων 100 ns καθυστέρηση και για τις δύο αρχιτεκτονικές. Ο Πίνακας 1 συγκεντρώνει τα χαρακτηριστικά των δύο αρχιτεκτονικών. Πίνακας 1 Η 6-way superscalar αρχιτεκτονική που θα χρησιμοποιήσουμε παρουσιάζεται στο Σχήμα 2. Όπως φαίνεται η απαραίτητη λογική για out-of-order έκδοση εντολών και χρονοπρογραμματισμό καταλαμβάνει την μεγαλύτερη περιοχή του τσιπ εξαιτίας της τετραγωνικής επίδρασης της υποστήριξης 6-way έκδοσης εντολών. Αυτό συμβαίνει επειδή κατ αρχήν αυξήθηκε ο αριθμός των ports στον instruction buffer κατά 50% για να υποστηρίζει 6-way αντί για 4-way αυξάνοντας έτσι την περιοχή κάθε buffer κατά 30-40%. Στη συνέχεια αυξήθηκε ο αριθμός των instruction buffer από 48 σε 128 έτσι ώστε ο επεξεργαστής να εξετάζει μεγαλύτερο παράθυρο εντολών για ILP και να κρατάει τα execution units απασχολημένα. Αυτό το μεγάλο μέγεθος παραθύρου αντισταθμίζει επίσης και το γεγονός ότι οι εξομοιώσεις δεν εκτελούν κώδικα βελτιστοποιημένο για ένα 6-way superscalar μηχάνημα. 18

19 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP Σχήμα 2 Η on-chip ιεραρχία μνήμης αποτελείται από μια γρήγορη cache 1 ου επιπέδου (L1) και μια μεγαλύτερη on-chip cache 2 ου επιπέδου (L2). Το ευρύ φάσμα έκδοσης απαιτεί από την L1 να υποστηρίζει ευρείες προσκομίσεις εντολών από την cache εντολών και πολλαπλές φορτώσεις από την cache δεδομένων σε ένα κύκλο του ρολογιού. Η 2-way set associative 32 KB L1 cache δεδομένων είναι χωρισμένη σε 8 ανεξάρτητα single-ported banks των 4 KB κάθε ένα από τα οποία διαχειρίζεται μια προσπέλαση ανά 2 ns του κύκλου του επεξεργαστή. Ωστόσο το επιπλέον κόστος της λογικής ελέγχου των banks και το crossbar που χρειάζεται για να ρυθμίζει τα πολλαπλά αιτήματα που διαμοιράζονται στα 8 banks προσθέτει άλλον ένα κύκλο στην καθυστέρηση της L1 cache. Έτσι η μοντελοποίηση της L1 cache έχει hit time των 2 κύκλων. Πάνω από την 32 KB L1 cache βρίσκεται μια ενοποιημένη 256 KB L2 cache που χρειάζεται 4 κύκλους για να προσπελαστεί. Η πολυ-επεξεργαστική αρχιτεκτονική αποτελείται από τέσσερις 2-way superscalar επεξεργαστές που είναι συνδεδεμένοι μεταξύ τους με ένα crossbar το οποίο τους επιτρέπει να διαμοιράζονται την L2 cache. Στο ολοκληρωμένο οι επεξεργαστές τοποθετούνται σε ένα πλέγμα με την L2 στη μια άκρη όπως φαίνεται στο Σχήμα 3. Εσωτερικά κάθε επεξεργαστής έχει ένα register renaming buffer που είναι πολύ περιορισμένος σχετικά με εκείνον στην 6-way αρχιτεκτονική καθώς κάθε CPU έχει ένα buffer εντολών με μόνο οκτώ εγγραφές. Επίσης έχει τετραπλασιαστεί το μέγεθος των μηχανισμών πρόβλεψης διακλαδώσεων στις μονάδες προσκόμισης σε 512 BTB εγγραφές και 8 call-return stack entries. Ο αριθμός των execution units αυξάνεται στη CMP αρχιτεκτονική επειδή ο 6-way επεξεργαστής έχει τρεις μονάδες για κάθε τύπο ενώ ο πολυ-επεξεργαστής έχει τέσσερις, μία για κάθε CPU. Από την άλλη μεριά η λογική έκδοσης γίνεται δραματικά μικρότερη εξαιτίας της μείωσης των instruction buffer ports και του μικρότερου αριθμού των εγγραφών σε κάθε 19

20 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP instruction buffer. Οι δύο αυτοί παράγοντες του μεγέθους αλληλο-ισοσκελίζονται καθιστώντας το μέγεθος του κάθε επεξεργαστή κοντά στο ¼ του 6-way. Σχήμα 3 Η on-chip ιεραρχία των caches είναι σημαντικά διαφορετική από εκείνη του superscalar. Κάθε ένας από τους τέσσερις επεξεργαστές έχει τη δική του ενός bank και ενός port 8 ΚΒ cache δεδομένων και εντολών που μπορούν και οι δύο να προσπελαστούν σε έναν 2 ns κύκλο. Εφόσον κάθε cache μπορεί να προσπελαστεί από έναν επεξεργαστή με μία load/store unit δε χρειάζεται επιπλέον υλικό για τη διαχείριση των προσπελάσεων μεταξύ των ανεξάρτητων μονάδων της μνήμης. Ωστόσο καθώς οι τέσσερις επεξεργαστές μοιράζονται μια L2 cache αυτή η cache χρειάζεται έναν επιπλέον κύκλο καθυστέρησης κατά τη διάρκεια κάθε προσπέλασης για τη διαχείριση των επεξεργαστών και τη καθυστέρηση στο crossbar. Αυτή η L2 cache μοντελοποιείται με την προσθήκη ενός κύκλου σε κάθε προσπέλαση έχοντας ως αποτέλεσμα hit time των 5 κύκλων. Στη συνέχεια θα περιγράψουμε το περιβάλλον εξομοίωσης και τις εφαρμογές που χρησιμοποιήθηκαν για την εξομοίωση. Το περιβάλλον εξομοίωσης που χρησιμοποιήθηκε ήταν το SimOS το οποίο μοντελοποιεί CPUs, ιεραρχία μνήμης και συσκευές I/O μονο-επεξεργαστικών ή πολυ-επεξεργαστικών συστημάτων με αρκετή λεπτομέρεια ώστε να μπουτάρουν και να τρέχουν ένα εμπορικό λειτουργικό σύστημα. Το SimOS χρησιμοποιεί το instruction set του MIPS-2 και τρέχει το λειτουργικό σύστημα της Silicon Graphics IRIX 5.3 το οποίο ρυθμίστηκε για πολυ-επεξεργαστική απόδοση. Το SimOS ουσιαστικά εξομοιώνει το λειτουργικό σύστημα, έτσι όλες οι αναφορές στη μνήμη που γίνονται από το λειτουργικό σύστημα και τις εφαρμογές δημιουργούνται. Αυτό το χαρακτηριστικό είναι πολύ σημαντικό στη μελέτη των πολυ-προγραμματιστικών φόρτων εργασίας όπου ο χρόνος που καταναλώνεται για 20

21 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP την εκτέλεση του κώδικα του πυρήνα αποτελεί μεγάλο κομμάτι του non-idle χρόνου εκτέλεσης. Η απόδοση εννέα ρεαλιστικών εφαρμογών χρησιμοποιείται για την αξιολόγηση των δύο μικρο-αρχιτεκτονικών. Ο Πίνακας 2 δείχνει ότι οι εφαρμογές προέρχονται από δύο SPEC95 benchmark ακεραίων (compress, m88ksim), ένα SPEC92 benchmark ακεραίου (eqntott), μια άλλη ακέραια εφαρμογή (MPsim), τέσσερις SPEC95 benchmark κινητής υποδιαστολής (applu, apsi, swim, tomcatv) και μια πολυ-προγραμματιστική εφαρμογή (pmake). Πίνακας 2 Οι εφαρμογές έχουν παραλληλοποιηθεί με διάφορους τρόπους για να τρέξουν στη CMP αρχιτεκτονική. Ο compress τρέχει ως έχει και στις δύο αρχιτεκτονικές χρησιμοποιώντας μόνο τον ένα επεξεργαστή του πολυ-επεξεργαστικού συστήματος. Ο Eqtnott παραληλοποιήθηκε χειρωνακτικά ενώ ο mksim διασπάστηκε σε τρία threads με το SUIF compiler runtime σύστημα. Με παρόμοιους τρόπους παραλληλοποιήθηκαν και οι υπόλοιπες εφαρμογές. Ένα δύσκολο πρόβλημα που προκύπτει κατά τη σύγκριση της απόδοσης διαφορετικών επεξεργαστών είναι στη διασφάλιση ότι εκτελούν τον ίδιο φόρτο εργασίας. Η λύση δεν τόσο απλή όσο να συγκρίνουμε τους χρόνους εκτέλεσης της κάθε εφαρμογής σε κάθε μηχάνημα. Εξαιτίας της χαμηλής ταχύτητας εξομοίωσης του λεπτομερούς εξομοιωτή της CPU που χρησιμοποιείται για να συγκεντρώσει τα αποτελέσματα, θα χρειαζόταν πολύς χρόνος μέχρι να ολοκληρωθούν οι εφαρμογές. Η λύση είναι να συγκρίνουμε τις δύο αρχιτεκτονικές πάνω σε ένα κομμάτι της εφαρμογής χρησιμοποιώντας την τεχνική αντιπροσωπευτικών παραθύρων εκτέλεσης [8]. Στις περισσότερες υπολογιστικά ευαίσθητες εφαρμογές υπάρχει μια σταθερή περιοχή εκτέλεσης η οποία αποτελείται από ένα εξωτερικό βρόγχο ή από ένα σετ βρόγχων τα οποία αποτελούν και τον κύριο όγκο του χρόνου εκτέλεσης. Είναι αρκετό να πάρουμε ως δείγμα ένα μικρό αριθμό επαναλήψεων αυτών των βρόγχων ως αντιπροσωπευτικό παράθυρο εκτέλεσης, αν η συμπεριφορά του, όσον αφορά το χρόνο εκτέλεσης, είναι όντως αντιπροσωπευτική του συνολικού προγράμματος. Αποτελέσματα εξομοιώσεων έχουν δείξει ότι για τις περισσότερες εφαρμογές το ποσοστό των cache misses και ο αριθμός των εντολών που εκτελούνται στο 21

22 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP παράθυρο παρεκκλίνει λιγότερο από 1% από τα αποτελέσματα ολόκληρου του προγράμματος. Στη συνέχεια θα δούμε τα αποτελέσματα της απόδοσης των αρχιτεκτονικών που προαναφέραμε. Ξεκινάμε εξετάζοντας την απόδοση της SS αρχιτεκτονικής και του ενός επεξεργαστής της πολυ-επεξεργαστικής αρχιτεκτονικής. Ο Πίνακας 3 παρουσιάζει το IPC, τα ποσοστά της πρόβλεψης διακλαδώσεων και τα ποσοστά των cache misses για έναν επεξεργαστή της πολυ-επεξεργαστικής αρχιτεκτονικής. Πίνακας 3 Ο Πίνακας 4 παρουσιάζει το IPC, τα ποσοστά πρόβλεψης διακλαδώσεων και τα ποσοστά των cache misses για την SS αρχιτεκτονική. Τα cache misses παρουσιάζονται στη μορφή των misses για κάθε ολοκληρωμένη εντολή (Misses Per Completed Instruction MPCI) περιλαμβάνοντας και τις εντολές που ολοκληρώνονται σε kernel και user mode. Όταν το εύρος έκδοσης αυξάνεται από δύο σε έξι παρατηρούμε ότι το πραγματικό IPC αυξάνεται κατά ένα παράγοντα μικρότερο του 1.6 για όλες τις ακέραιες και πολυ-προγραμματιστικές εφαρμογές. Για τις εφαρμογές κινητής υποδιαστολής η αύξηση της απόδοσης ποικίλει από ένα παράγοντα 1.6 για το tomcatv σε ένα 2.4 για το swim. Ένας από τους κυριότερους παράγοντες που οδηγούν τους επεξεργαστές να κάνουν stall είναι τα cache misses. Ωστόσο τα cache misses σε ένα δυναμικά χρονοπρογραμματιζόμενο superscalar επεξεργαστή με πιθανολογική εκτέλεση και non-blocking caches δεν είναι ευδιάκριτα για να χαρακτηριστούν. Τα cache misses που ανακύπτουν σε ένα 1-issue in-order επεξεργαστή δεν είναι απαραίτητα τα ίδια με αυτά που θα εμφανιστούν σε έναν πιθανολογικό out-of-order επεξεργαστή. Στους πιθανολογικούς επεξεργαστές υπάρχουν misses που προκαλούνται από πιθανολογικές εντολές που ποτέ δεν ολοκληρώνονται. Με τις non-blocking caches τα misses μπορεί να εμφανιστούν σε γραμμές που έχουν ήδη εκκρεμείς misses. Και οι δύο τύποι των misses τείνουν να διογκώνουν το ποσοστό των cache misses ενός πιθανολογικού outof-order επεξεργαστή. Ο δεύτερος τύπος των misses είναι ο κύριος υπεύθυνος για τα 22

23 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP υψηλότερα ποσοστά misses της L2 του 6-issue επεξεργαστή σε σύγκριση με τον 2- issue επεξεργαστή, αν και τα μεγέθη των caches είναι τα ίδια. Πίνακας 4 Το Σχήμα 4 δείχνει την ανάλυση του IPC για έναν επεξεργαστής της CMP αρχιτεκτονικής. Επιπροσθέτως της πραγματικής IPC που επιτυγχάνεται, δείχνεται η απώλεια σε IPC εξαιτίας των cache stalls των δεδομένων των εντολών και της pipeline. Σχήμα 4 Βλέπουμε ότι ένα μεγάλο ποσοστό της απώλειας IPC είναι εξαιτίας των data cache stalls. Αυτό προκαλείται από το μικρό μέγεθος της πρωταρχικής cache δεδομένων. Οι Mk88ksim, MPsim και pmake έχουν σημαντικό cache stall χρόνο εντολών πράγμα 23

24 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP που οφείλεται στο γεγονός ότι αυτές οι εφαρμογές έχουν μεγάλο working set εντολών. Η pmake επίσης έχει πολλές διεργασίες και σημαντικό χρόνο εκτέλεσης πυρήνα που μεγαλώνει ακόμα περισσότερο τα cache miss rates των εντολών. Στο Σχήμα 5 φαίνεται η ανάλυση του IPC για την SS αρχιτεκτονική. Βλέπουμε ότι ένα σημαντικό ποσό IPC σπαταλιέται εξαιτίας των pipeline stalls. Η αύξηση των pipeline stalls σχετικά με τον 2-issue επεξεργαστή οφείλεται στην περιορισμένη ILP των εφαρμογών και στo 2-κύκλων hit time της L1 cache δεδομένων. Η μεγαλύτερη cache εντολών στη superscalar μικρο-αρχιτεκτονική εξαλείφει τα περισσότερα από τα stall εξαιτίας των instruction misses για όλες τις εφαρμογές εκτός των MPsim και pmake. Παρόλο που οι εφαρμογές κινητής υποδιαστολής του SPEC95 έχουν σημαντικό ποσοστό ILP, η απόδοσή τους είναι περιορισμένη στην SS αρχιτεκτονική εξαιτίας των data cache stalls που καταναλώνουν περισσότερο από το ½ του διαθέσιμου IPC. Σχήμα 5 O Πίνακας 5 δείχνει τα ποσοστά των cache misses για τη CMP αρχιτεκτονική δοσμένα σε μορφή MPCI. Για τη μείωση των miss-rate φαινομένων που προκαλούνται από το idle loop και το spinning εξαιτίας του synchronization, ο αριθμός των ολοκληρωμένων εντολών είναι εκείνες του 2-issue επεξεργαστή. Συγκρίνοντας τους Πίνακες 3 και 5 βλέπουμε ότι για τις εφαρμογές eqntott, m88ksim και apsi η CMP αρχιτεκτονική έχει σημαντικά υψηλότερα ποσοστά misses της cache δεδομένων από ένα 2-issue επεξεργαστή. Αυτό οφείλεται κυρίως στο μεγάλο βαθμό της επικοινωνίας που εμφανίζουν αυτές οι εφαρμογές. Παρόλο που η pmake επίσης παρουσιάζει μια αύξηση στο miss ποσοστό της data cache αυτό προκαλείται από τη μετανάστευση διεργασιών από επεξεργαστή σε επεξεργαστή της CMP αρχιτεκτονικής. Στο Σχήμα 6 φαίνεται η απόδοση ανάμεσα στη superscalar και τη CMP αρχιτεκτονική. Η απόδοση μετράται ως η επιτάχυνση της κάθε μικρο-αρχιτεκτονικής 24

25 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP σχετικά με το 2-issue επεξεργαστή. Στον compress, μια εφαρμογή με μικρό παραλληλισμό, η CMP είναι ικανή να επιτύχει 75% της απόδοσης του SS παρόλο που οι τρεις από τους τέσσερις επεξεργαστές είναι idle. Ωστόσο καμία από τις δύο αρχιτεκτονικές δε δείχνει σημαντική βελτίωση από το 2-issue επεξεργαστή. Πίνακας 5 Για εφαρμογές με λεπτό παραλληλισμό και υψηλή επικοινωνία όπως είναι ο eqntott, ο m88ksim και ο apsi η CMP και η SS είναι παρόμοιες. Και οι δύο αρχιτεκτονικές είναι ικανές να εκμεταλλευτούν τον παραλληλισμό παρόλο που δεν Σχήμα 6 25

26 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP χρησιμοποιούν τους ίδιους τρόπους για να το κάνουν αυτό. Η SS αρχιτεκτονική βασίζεται στη δυναμική εξαγωγή του ILP από ένα thread ελέγχου ενώ η CMP μπορεί να εκμεταλλευτεί μετριοπαθή επίπεδα ILP και μπορεί επίσης να εκμεταλλευτεί παραλληλισμό επιπέδου thread. Τόσο η SS όσο και η CMP προσέγγιση παρέχει μια 30% έως 100% αύξηση της απόδοσης σε σχέση με τον 2-issue επεξεργαστή. Εφαρμογές με μεγάλο βαθμό παραλληλισμού επιτρέπουν στη CMP αρχιτεκτονική να εκμεταλλευτεί αδρό μέγεθος παραλληλισμού επιπροσθέτως του λεπτού και του ILP. Για αυτές τις εφαρμογές η CMP είναι ικανή να παρουσιάσει σημαντικά καλύτερη απόδοση από την SS αρχιτεκτονική της οποίας η ικανότητα για δυναμική εξαγωγή παραλληλισμού περιορίζεται από το 128 παράθυρο εντολών Σύγκριση 2 η CMP vs. SMT vs. SS Σε αυτήν την ενότητα θα προσπαθήσουμε να συγκρίνουμε τρεις αρχιτεκτονικές μια CMP, μια SMT και μια SS ώστε να μπορέσουμε να δούμε ποια έχει τις καλύτερες προοπτικές όσον αφορά τα ολοκληρωμένα του ενός δισεκατομμυρίου τρανζίστορ. Μια στάνταρ περιοχή τσιπ έχει καθοριστεί καθώς και η πυκνότητα ολοκλήρωσης βασισμένη στο DRAM του ενός δισεκατομμυρίου τρανζίστορ. Με βάση αυτό έχουν καθοριστεί και οι παράμετροι για κάθε μια αρχιτεκτονική όπως φαίνεται στον Πίνακας 6. Πίνακας 6 Ο superscalar επεξεργαστής παρουσιάζεται στο Σχήμα 7 και μπορεί δυναμικά να εκδώσει μέχρι και 12 εντολές σε κάθε κύκλο. Ο SMT επεξεργαστής φαίνεται στο Σχήμα 8 και είναι πανομοιότυπος με το superscalar μόνο που έχει οκτώ ξεχωριστούς program counters και εκτελεί εντολές μέχρι και από οκτώ διαφορετικά thread ελέγχου ταυτόχρονα. Ο πυρήνας του επεξεργαστή δυναμικά κατανέμει του πόρους προσκόμισης και εκτέλεσης ανάμεσα στα διάφορα threads σε κάθε κύκλο ώστε να βρεθεί ο περισσότερος δυνατός παραλληλισμός επιπέδου thread και επιπέδου 26

27 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP εντολών. Ο CMP φαίνεται στο Σχήμα 9 και αποτελείται από οκτώ μικρούς 2-issue superscalar επεξεργαστές. Αυτή η αρχιτεκτονική βασίζεται σε παραλληλισμό επιπέδου thread καθώς η ικανότητά του για παραλληλισμό επιπέδου εντολών περιορίζεται από το μικρό μέγεθος κάθε επεξεργαστή. Σχήμα 7 Για να κρατήσουμε τα execution units σε λειτουργία οι εξομοιωμένες SS και SMT αρχιτεκτονικές έχουν προηγμένες μεθόδους πρόβλεψης διακλαδώσεων, μετονομασίας καταχωρητών, out-of-order έκδοσης εντολών και non-blocking caches δεδομένων. Ως αποτέλεσμα οι επεξεργαστές έχουν πολυάριθμους multiported rename buffers, ουρές έκδοσης και αρχεία καταχωρητών. Σχήμα 8 Η έμφυτη πολυπλοκότητα αυτών των αρχιτεκτονικών έχεις ως αποτέλεσμα τρία μεγάλα προβλήματα στο σχεδιασμό του υλικού τα οποία λύνει η CMP αρχιτεκτονική διατηρώντας το υλικό απλό. Τα προβλήματα αυτά έχουν αναλυθεί σε προηγούμενες ενότητες οπότε εδώ θα τα αναφέρουμε περιληπτικά. Η περιοχή αυτών των αρχιτεκτονικών αυξάνεται τετραγωνικά ανάλογα με την πολυπλοκότητα του πυρήνα. Ο αριθμός των καταχωρητών σε κάθε δομή πρέπει να αυξάνεται αναλογικά με το μέγεθος του παραθύρου εντολών. Επίσης ο αριθμός των ports σε κάθε καταχωρητή αυξάνεται 27

28 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP αναλογικά με το εύρος έκδοσης του επεξεργαστή. Η CMP δεν αντιμετωπίζει αυτά τα προβλήματα γιατί προσπαθεί να επιτύχει υψηλότερο βαθμό παραλληλισμού χρησιμοποιώντας περισσότερους επεξεργαστές και όχι μεγάλο εύρος έκδοσης μέσα σε έναν επεξεργαστή. Μπορεί να απαιτούν μεγαλύτερους κύκλους ρολογιού. Τα μακριά, μεγάλης χωρητικότητας καλώδια εισόδου εξόδου εκτείνονται κατά μήκος των buffer, των ουρών και των αρχείων των καταχωρητών. Εκτεταμένη χρήση πολυπλεκτών και crossbar για τη διασύνδεση αυτών των μονάδων προσθέτει περισσότερη χωρητικότητα. Η καθυστέρηση που σχετίζεται με αυτά τα καλώδια πιθανότατα θα κυριαρχεί στην καθυστέρηση του κρίσιμου μονοπατιού της CPU. Η CMP προσέγγιση επιτρέπει ένα σχετικά μικρό κύκλο ρολογιού με μικρή σχεδιαστική προσπάθεια καθώς κάθε μια από τις CPU είναι ένα μικρό cluster διαφόρων συστατικών μερών. Τα CPU cores είναι πολύπλοκα και αποτελούνται από πολλά τμήματα πολύ κοντά συνδεδεμένα μεταξύ τους. Ως αποτέλεσμα το σχεδιαστικό και το ελεγκτικό κόστος θα αυξηθεί καθώς πρέπει να σχεδιάζονται και να ελέγχονται ως αυτόνομες ολοκληρωμένες μονάδες. Η CMP χρησιμοποιεί ένα μικρό γκρουπ από πανομοιότυπους επεξεργαστές. Αυτό επιτρέπει στο σχεδιαστικό και στο ελεγκτικό κόστος για κάθε ένα CPU core να είναι μικρό και να κατανέμεται στον αριθμό των cores. Σχήμα 9 Στη συνέχεια θα περιγράψουμε την ιεραρχία μνήμης στα συστήματα που είδαμε και ποια προβλήματα καλείται αυτή να αντιμετωπίσει όπως έγινε και με τη σύγκριση της προηγούμενης ενότητας. Ένας 12-issue superscalar ή SMT επεξεργαστής μπορεί να έχει υψηλές απαιτήσεις από το σύστημα μνήμης. Για παράδειγμα για να μπορεί να διαχειρίζεται load/store εντολές γρήγορα οι επεξεργαστές απαιτούν μια μεγάλη cache πρώτου επιπέδου με τέσσερα έως έξι ανεξάρτητα ports. Ο SMT επεξεργαστής χρειάζεται περισσότερο εύρος ζώνης από 28

29 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP την cache πρώτου επιπέδου απ ότι ο SS γιατί τα πολλά ανεξάρτητα threads τυπικά επιτρέπουν στον πυρήνα να εκδίδει περισσότερα load και stores σε κάθε κύκλο, μερικά από το κάθε thread. Για να ικανοποιήσουν αυτές τις απαιτήσεις η SS και η SMT αρχιτεκτονικές έχουν 128 KB multibanked cache πρώτου επιπέδου με καθυστέρηση δύο κύκλων εξαιτίας του μεγέθους των caches και της πολυπλοκότητας διασύνδεσης των banks. Η CMP αρχιτεκτονική έχει δεκάξι 16 KB caches. Τα οκτώ cores είναι τελείως ανεξάρτητα και στενά συνδεδεμένα με τα αποκλειστικά ζευγάρια caches για το καθένα από αυτά. Το μικρό μέγεθος cache και η στενή διασύνδεση επιτρέπουν προσπέλαση σε έναν μόνο κύκλο. Το υπόλοιπο σύστημα μνήμης παραμένει ουσιαστικά το ίδιο εκτός από το ότι ο ελεγκτής της cache δεύτερου επιπέδου πρέπει να προσθέσει δύο έξτρα κύκλους καθυστέρησης ώστε να διαχειρίζεται τα αιτήματα από τους πολλούς επεξεργαστές. Για να διαμοιραστεί μια μνήμη ανάμεσα σε πολλούς επεξεργαστές οι data caches θα μπορούσαν να γίνουν write-through ή ένα MESI πρωτόκολλο συνέπειας των caches θα μπορούσε να τοποθετηθεί στις caches πρώτου επιπέδου. Επειδή το εύρος ζώνης σε μια on-chip cache μπορεί εύκολα να γίνει αρκετά μεγάλο για να διαχειρίζεται τη write-through κίνηση επιλέχθηκε αυτό το σχήμα συνέπειας για τη CMP. Με αυτόν τον τρόπο οι σχεδιαστές μπορούν να υλοποιήσουν μικρής κλίμακας πολυ-επεξεργαστές με πολύ μικρή καθυστέρηση επικοινωνίας μεταξύ των επεξεργαστών. Για την παροχή αρκετής off-chip μνήμης για τους επεξεργαστές υψηλής απόδοσης όλες οι εξομοιώσεις έγιναν με κύρια μνήμη multibanked Rambus DRAM (RDRAM) συνδεδεμένη με πολλά Rambus κανάλια σε κάθε επεξεργαστή. Ας δούμε τώρα τι γίνεται με την απόδοση των συστημάτων και τα αποτελέσματα που έχουν αυτά για διάφορες εφαρμογές. Η απόδοση των αρχιτεκτονικών έγινε με τη χρήση τεσσάρων αντιπροσωπευτικών εφαρμογών που έτρεχαν σε ένα ρεαλιστικό περιβάλλον εξομοίωσης το οποίο εμπεριείχε και λειτουργικό σύστημα. Για κάθε αρχιτεκτονική υποθέτουμε ότι υπάρχει ένα functional unit κάθε τύπου (ακεραίου, κινητής υποδιαστολή και load/store) για κάθε issue slot πράγμα που σημαίνει ότι μόνο εξαρτήσεις δεδομένων και το εύρος έκδοσης μπορούν να αποτρέψουν την έκδοση μιας εντολής. Οι καθυστερήσεις των functional units που χρησιμοποιήθηκαν στην εξομοίωση είναι εκείνες του MIPS R Επίσης ο εξομοιωτής μοντελοποιεί την επίλυση διαφορών στις caches πρώτου επιπέδου, δεύτερου επιπέδου και στην κύρια μνήμη. Τα τέσσερα benchmarks που χρησιμοποιήθηκαν παρουσιάζονται παρακάτω : Compress, από το SPEC95 όπως είδαμε και στην προηγούμενη σύγκριση είναι εφαρμογή ακεραίων και παρουσιάζει πολύ λίγο ILP και καθόλου παραλληλισμό επιπέδου thread. Mpeg-2 αποκωδικοποιητής, αντιπροσωπεύει τον αυξανόμενο αριθμό πολυμεσικών εφαρμογών που βρίσκονται είτε σε desktop μηχανήματα είτε σε server. Όπως οι περισσότερες από αυτές τις εφαρμογές έχει σημαντικό έμφυτο παραλληλισμό επιπέδου εντολών και επιπέδου thread αλλά μετριοπαθείς απαιτήσεις σε μνήμη εξαιτίας της υπολογιστικά έντονης φύσης του αλγορίθμου. Εύκολα μπορούμε να παραλληλοποιήσουμε χειρωνακτικά αυτήν την εφαρμογή. Tomcatv επίσης από το SPEC95, αντιπροσωπεύει τις επιστημονικές εφαρμογές κινητής υποδιαστολής με μεγάλο βαθμό παραλληλισμού 29

30 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP επιπέδου βρόγχων και σημαντικές απαιτήσεις σε μνήμη. Η superscalar αρχιτεκτονική εκμεταλλεύεται το ILP που εμφανίζεται σε αυτήν την εφαρμογή ενώ οι SMT και CMP εκμεταλλεύονται τον παραλληλισμό επιπέδου thread που βρίσκεται αυτόματα με τη χρήση ενός μεταφραστή. Multiprogram είναι ένας ακέραιος πολυ-προγραμματιστικός φόρτος εργασίας που αποτελείται από διάφορες εξομοιώσεις συστημάτων οι οποίες εμφανίζουν όλες έντονους υπολογισμούς. Αυτές τις τρέχουμε ως ξεχωριστές διεργασίες. Στο Σχήμα 10 φαίνεται η απόδοση της SS, της SMT και της CMP αρχιτεκτονικής στα τέσσερα προγράμματα σε συνάρτηση με μια βασική αρχιτεκτονική που είναι ένας 2-issue επεξεργαστής συνδεδεμένος με το σύστημα μνήμης των SS/SMT. Σχήμα 10 Τα πρώτα δύο benchmarks παρουσιάζουν απόδοση σε εφαρμογές με σχετική απαίτηση σε μνήμη και καθόλου παραλληλισμό επιπέδου thread (compress) ή μεγάλο αριθμό παραλληλισμού επιπέδου thread (mpeg). Στον compress η ευρείας έκδοσης SS και η SMT αρχιτεκτονικές πέτυχαν μια αύξηση της απόδοσης της τάξης του 43% έναντι του συστήματος αναφοράς ενώ ο μοναδικός ενεργός επεξεργαστής της CMP ήταν προσεγγιστικά ίσος με αυτόν του συστήματος αναφοράς. Παρόλο που βελτιωμένη τεχνολογία στο μεταφραστή μπορεί να παρέχει καλύτερο χρονοπρογραμματισμό των εντολών στο μέλλον είναι δύσκολο να επιτευχθεί σημαντική βελτίωση στην απόδοση εφαρμογών όπως ο compress οι οποίες περιορίζονται από την έλλειψη ILP. Η SS είχε σχετικά καλά αποτελέσματα στον mpeg μολονότι περιορίστηκε από την έλλειψη ILP που μπορούσε να αποκαλυφθεί σε ένα παράθυρο εντολών. Οι SMT και CMP ήταν ικανές να εκμεταλλευτούν τον παραλληλισμό επιπέδου thread για να λειτουργούν πιο αποδοτικά. Η SMT χρησιμοποίησε τους πόρους του πυρήνα της αποδοτικότερα όμως η CMP πέτυχε 30

31 Κεφάλαιο 1 Chip Multiprocessing CMP 1.3 Ανάλυση του CMP καλύτερα αποτελέσματα επειδή είχε συνολικά 16 issue slots αντί για 12. Ο Tomcatv έχει τόσο ILP όσο και TLP έχει όμως και τεράστιες απαιτήσεις σε μνήμη. Η ικανότητα για ανταπόκριση σε αυτές τις απαιτήσεις ήταν κρίσιμης σημασίας ώστε να επιτευχθεί καλή απόδοση. Η SS πέτυχε μόνο 40% αύξηση της απόδοσης σε σχέση με τον επεξεργαστή αναφοράς. Με μόνο ένα thread ελέγχου κάθε cache miss προκαλούσε καθυστέρηση στην pipeline και σπαταλούσε μεγάλο αριθμό από issue slots. Ένας καλύτερος μεταφραστής πιθανότατα θα μπορούσε να προγραμματίσει καλύτερα τις εντολές όμως πολλά threads ελέγχου ούτως ή άλλως θα ήταν τελικά καλύτερα και πιο αποδοτικά στο να κρύβουν τη καθυστέρηση των cache misses επειδή η εκτέλεση μερικών thread επικαλυπτόταν με τις καθυστερήσεις άλλων. Η CMP παρουσίασε σχεδόν οκτώ φορές αύξηση της απόδοσης απέναντι στον 2-issue επεξεργαστή. Οι ξεχωριστές caches πρώτου επιπέδου είναι πρωταρχικής σημασίας επειδή μπορούσαν να προσπελαστούν από όλους τους επεξεργαστές παράλληλα. Σε ένα ξεχωριστό τεστ με οκτώ επεξεργαστές να μοιράζονται μια cache, οι συγκρούσεις στην προσπάθεια προσπέλασης των banks των διαφόρων επεξεργαστών υποβάθμιζε σημαντικά την απόδοση. Ο μέσος χρόνος προσπέλασης της cache πρώτου επιπέδου μόνο, ανέβηκε από 1.1 σε 5.7 κύκλους κυρίως εξαιτίας καθυστερήσεων στις ουρές των banks και η συνολική απόδοση έπεσε κατά 24%. Σε αντίθεση η διαμοιραζόμενη cache δευτέρου επιπέδου δεν ήταν σημείο καθυστέρησης στη CMP επειδή λάμβανε μια τάξη μικρότερη προσπελάσεις. Τα αποτελέσματα της SMT έδειξαν παρόμοια τάση. Οι βελτιώσεις ακολουθούσαν από κοντά εκείνες της CMP όταν μοντελοποιούσαν παρόμοιο βαθμό από συγκρούσεις στην cache δεδομένων. Η ονομαστική απόδοση ήταν παρόμοια με της CMP με μια cache πρώτου επιπέδου και η απόδοση βελτιώθηκε κατά 17% όταν προσωρινά απενεργοποιήθηκε το πρωτόκολλο συνέπειας της cache. Τα πολλά threads ελέγχου της SMT επέτρεψαν να γίνει εκμεταλλεύσιμος ο TLP. Επιπλέον η δυναμική ανάθεση πόρων στην SMT της επέτρεψε να γίνει ανταγωνίσιμη με τη CMP παρόλο που είχε συνολικά λιγότερα issue slots. Παρόλ αυτά η συμπεριφορά της μνήμης του tomcatv επεσήμανε ένα βασικό πρόβλημα στην SMT αρχιτεκτονική : η ενοποιημένη αρχιτεκτονικής της cache δεδομένων ήταν περιοριστικός παράγοντας του εύρους ζώνης. Η κατασκευή μιας cache δεδομένων με αρκετά banks ή ports, για να μπορεί να αντεπεξέρχεται στις απαιτήσεις της μνήμης οκτώ threads, χρειάζεται ένα εξεζητημένο crossbar δίκτυο που θα προσθέσει περισσότερη καθυστέρηση στις caches και δε θα βοηθήσει αν υπάρχει ένα συγκεκριμένο bank το οποίο προσπελαύνεται συχνά. Οι ανεξάρτητες cashes δεδομένων της CMP αποφεύγουν αυτό το πρόβλημα αλλά δεν είναι εφικτές σε μια SMT αρχιτεκτονική. Όπως και ο compress η πολυ-προγραμματιστική εφαρμογή έχει λίγο ILP έτσι η αύξηση της απόδοσης της superscalar αρχιτεκτονικής ήταν μόνο 35% καλύτερη από εκείνη του συστήματος αναφοράς. Αντίθετα με τον compress όμως η πολυ-προγραμματιστική εφαρμογή έχει μεγάλο αριθμό παραλληλισμού επιπέδου διεργασιών τον οποίο εκμεταλλεύθηκαν αποτελεσματικά τόσο η SMT όσο και η CMP. Αυτό είχε ως αποτέλεσμα σε μια γραμμική οκταπλάσια αύξηση για τη CMP. Η SMT πέτυχε σχεδόν επταπλάσια αύξηση από τον 2-issue επεξεργαστή, κάτι που είναι παραπάνω απ ότι θα μπορούσε κάποιος να υπολογίσει βασιζόμενος στη διαφορά του αριθμού των issue slots, επειδή χρησιμοποίησε αποτελεσματικά τον επεξεργαστή παρεμβάλλοντας τα threads κύκλο ανά κύκλο. 31

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια

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

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

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

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

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

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

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

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

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

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

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 1 η : Βασικές Αρχές Αρχιτεκτονικής Η/Υ Σύγχρονοι Μικροεπεξεργαστές Intel 6-core i7 (Gulftown) 2010, >1 billion transistors Απόδοση Μικροεπεξεργαστών V Μετρήσεις με μετροπρογράμματα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

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

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

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

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

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

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

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

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

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

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

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

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

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό

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

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

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

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

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

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

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

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

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 6ο μάθημα: χρονοπρογραμματισμός, αλγόριθμος Tomasulo, εικασία Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου InstrucDon- Level

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

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

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

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: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. Μαθησιακοί Στόχοι : Οι θεμελιώδεις αρχές λειτουργίας των υπολογιστών. Τύποι υπολογιστικών συστημάτων και στόχοι της αρχιτεκτονικής

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

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

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

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

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

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

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

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

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

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών

Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών Αρης Ευθυμίου Το σημερινό μάθημα Προσκόμιση (fetch) πολλαπλές εντολές ανά κύκλο Μετονομασία καταχωρητών

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

Chapter 4 ( ή 1 στο βιβλίο σας)

Chapter 4 ( ή 1 στο βιβλίο σας) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 4 ( ή 1 στο βιβλίο σας) Αξιολόγηση και κατανόηση της απόδοσης Δέκατη (10 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από

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

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή Αρης Ευθυμίου Σύστημα μνήμης Η μνήμη είναι σημαντικό κομμάτι ενός υπολογιστή Επηρεάζει κόστος, ταχύτητα, κατανάλωση

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

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

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

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

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

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

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

Πολυπύρηνοι επεξεργαστές Multicore processors

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

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

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

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

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

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

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

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

Δυναμική Θεώρηση και Συγχρονισμός των εξαρτήσεων των δεδομένων. Αλεξάνδρα Παπανδρεάδη (ΑΜ 362)

Δυναμική Θεώρηση και Συγχρονισμός των εξαρτήσεων των δεδομένων. Αλεξάνδρα Παπανδρεάδη (ΑΜ 362) Δυναμική Θεώρηση και Συγχρονισμός των εξαρτήσεων των δεδομένων Αλεξάνδρα Παπανδρεάδη (ΑΜ 362) Το πρόβλημα Ιδανικά:! Θεώρηση εξαρτήσεων με εικασία! Κερδίζουμε όταν είμαστε σωστοί! Έχουμε ποινή όταν έχουμε

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

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

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

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

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

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

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

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. 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 Δομή

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

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ.

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

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 2: Τεχνικές για Σχεδιασμό Χαμηλής Κατανάλωσης Ισχύος στα MPSoCs Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Σύγχρονοι υπολογιστές Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 6: Ασκήσεις Εξαμήνου Μέρος Β Νοέμβριος 2016 Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση ενός

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

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

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

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων

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

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

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

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

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr

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

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789 ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789 Γενικά Οι compilers προσφέρουν μία σειρά από τεχνικές βελτιστοποίησης Στόχοι: Αύξηση ταχύτητας εκτέλεσης Μείωση μεγέθους Εφικτές

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

ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 1. Εισαγωγή Η λειτουργία της CPU καθορίζεται από τις εντολές που εκτελεί, και που ονομάζονται εντολές μηχανής (machine instructions) ή εντολές υπολογιστή (computer

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

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,

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

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

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

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 3: Χειρισμός δεδομένων, 2ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Η Ενότητα 3 διαπραγματεύεται θέματα

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη

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

http://www.cslab.ece.ntua.gr/diplom/

http://www.cslab.ece.ntua.gr/diplom/ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr/ ιπλωµατική

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 7 η : Στατική Δρομολόγηση Εντολών (Επεξεργαστές VLIW) Εκμετάλλευση ILP Περιορισμοί στη δυναμική δρομολόγηση εντολών: Μέγεθος παραθύρου εντολών Αριθμός φυσικών καταχωρητών Αποτυχία

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

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

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

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 2 : Η εξέλιξη και η απόδοση των υπολογιστών Καρβούνης Ευάγγελος 1 Η Γενιά: Λυχνίες κενού Electronic Numerical

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

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές... Περιεχόμενα Πρόλογος... XI Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA... 1 1.1 Εισαγωγή... 1 1.2 Βασικές Αρχές... 1 1.2.1 Boolean Άλγεβρα... 1 1.2.2 Σχηματικά και Λογικά Σύμβολα... 6 1.3 Ψηφιακή Σχεδίαση

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

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

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

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

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.

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

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

Αρχιτεκτονική Μνήμης ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

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

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

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ << ΜΕΛΕΤΗ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ CUDA ΚΑΙ ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΡΤΩΝ GPU ΤΗΣ NVIDIA >> Αρ. Μητρώου: 04/2519

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ << ΜΕΛΕΤΗ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ CUDA ΚΑΙ ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΡΤΩΝ GPU ΤΗΣ NVIDIA >> Αρ. Μητρώου: 04/2519 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ > Της φοιτήτριας ΚΕΛΑΪΔΗ ΑΙΜΙΛΙΑ Επιβλέπων καθηγητής ΔΙΑΜΑΝΤΑΡΑΣ ΚΩΝ/ΝΟΣ Αρ. Μητρώου: 04/2519 Θεσσαλονίκη

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

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

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

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

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

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 1: Βασικές Έννοιες Λειτουργικών Συστημάτων

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

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

Τ.Ε.Ι. ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΥΝΕΡΓΑΣΤΗΚΑΝ ΡΟΚΑ ΑΦΡΟΔΙΤΗ ΣΩΤΗΡΑΚΟΥ ΣΤΑΜΑΤΙΑ ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΣΥΝΕΡΓΑΣΤΗΚΑΝ ΡΟΚΑ ΑΦΡΟΔΙΤΗ ΣΩΤΗΡΑΚΟΥ ΣΤΑΜΑΤΙΑ ΒΑΣΙΚΕΣ ΜΟΝΑΔΕΣ ΤΩΝ ΕΠΕΞΕΡΓΑΣΤΕΣ Μονάδες εκτέλεσης Αρχεία εγγραφών Έλεγχο λογικής ΜΝΗΜΗ ROM RAM ΣΥΣΤΗΜΑ ΕΙΣΟΔΟΥ-ΕΞΟΔΟΥ(I/O) ΕΠΙΤΡΕΠΕΙ ΣΤΟΝ ΕΠΕΞΕΡΓΑΣΤΗ ΚΑΙ

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

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

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΓΑΣΙΑ ΜΕ ΤΙΤΛΟ ΕΠΕΞΕΡΓΑΣΤΕΣ - CPU Μπακρατσάς Γιώργος geback007@yahoo.gr Δεκέμβριος, 2014 Περιεχόμενα ΕΙΣΑΓΩΓΗ... 3 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ... 4 ΧΡΟΝΟΛΟΓΙΕΣ

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 5 η :

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

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα METROPOLIS Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα Ενσωματωμένα συστήματα Ορίζονται ως ηλεκτρονικά συστήματα τα οποία χρησιμοποιούν υπολογιστές και ηλεκτρονικά υποσυστήματα για να εκτελέσουν

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

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

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

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

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

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 1 η :

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

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

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

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Μ.Στεφανιδάκης Χρονοδρομολόγηση (scheduling) αλγόριθμος επιλογή (init) READY RUNNING (terminate)

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

Παραλληλισµός Εντολών (Pipelining)

Παραλληλισµός Εντολών (Pipelining) ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Παραλληλισµός Εντολών (Pipelining) Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapter 3: Section 3.4,

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

Η ιεραρχία της μνήμης

Η ιεραρχία της μνήμης Η ιεραρχία της μνήμης Οι περιορισμοί στο σχεδιασμό της μνήμης συνοψίζονται σε τρεις ερωτήσεις : 1) Πόση 2) Πόσο γρήγορη 3) Πόσο ακριβή Ερωτήματα-Απαντήσεις Ερώτημα πόση μνήμη. Είναι ανοικτό. Αν υπάρχει

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

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

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

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

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

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