Πολυπύρηνοι Επεξεργαστές, Μελέτη Απόδοσης σε Φορητούς Υπολογιστές

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

Download "Πολυπύρηνοι Επεξεργαστές, Μελέτη Απόδοσης σε Φορητούς Υπολογιστές"

Transcript

1 Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής Πολυπύρηνοι Επεξεργαστές, Μελέτη Απόδοσης σε Φορητούς Υπολογιστές Πτυχιακή Εργασία της: Παπαδοπούλου Ευσταθίας Επίβλεψη: Νικόλαος Κονοφάος, Αναπληρωτής Καθηγητής θεσσαλονικη 2015

2 ΕΥΧΑΡΙΣΤΙΕΣ Θα ήθελα καταρχάς να ευχαριστήσω όλους όσους συνέβαλαν με οποιονδήποτε τρόπο στην επιτυχή εκπόνηση αυτής της διπλωματικής εργασίας. Θα πρέπει να ευχαριστήσω θερμά τον καθηγητή κ. Κονοφάο Νικόλαο για την επίβλεψη αυτής της διπλωματικής εργασίας και για την ευκαιρία που μου έδωσε να την εκπονήσω. Ήταν πάντα διαθέσιμος να μου προσφέρει τις γνώσεις και την εμπειρία του για τη βαθύτερη κατανόηση των πολυπύρηνων επεξεργαστών. Έπειτα, θα ήθελα να ευχαριστήσω τους καθηγητές του τμήματος Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης για όλες τις γνώσεις και την καθοδήγηση που μου προσέφεραν τα τελευταία τέσσερα χρόνια στη σχολή αλλά και την στήριξή τους στα μελλοντικά μου σχέδια όντας πρόθυμοι να μου προσφέρουν τις απαραίτητες συστατικές επιστολές που χρειαζόμουν. Θέλω επίσης να ευχαριστήσω τους γονείς μου, των οποίων η πίστη στις δυνατότητες μου αποτέλεσε αρωγός σε όλους τους στόχους και τα όνειρά μου, και οι οποίοι με στήριξαν ψυχολογικά, ηθικά αλλά και οικονομικά όλα αυτά τα τέσσερα χρόνια των προπτυχιακών μου σπουδών. Ακόμη, θα ήθελα να ευχαριστήσω όλους τους φίλους και τις φίλες των φοιτητικών μου χρόνων, που έκαναν τα χρόνια αυτά μία πραγματικά αξέχαστη εμπειρία και μαζί καταφέραμε στηρίζοντας ο ένας τον άλλον να υλοποιήσουμε όλους τους στόχους και τα όνειρά μας. Βέβαια, το μεγαλύτερο ευχαριστώ το οφείλω στην πολύ καλή μου φίλη και συμφοιτήτρια Μάμμου Σταυρούλα που πριν λίγους μήνες πήραμε την απόφαση να εργαστούμε μαζί και να φτιάξουμε την παρούσα πτυχιακή εργασία, ολοκληρώνοντας έτσι μαζί το κοινό μας ταξίδι που άρχισε πριν ακριβώς τέσσερα χρόνια. 2

3 ΠΕΡΙΛΗΨΗ Η παρούσα εργασία αποτελεί μία βιβλιογραφική ανασκόπηση που στοχεύει στον τομέα της απόδοσης των πολυπύρηνων επεξεργαστών σε φορητούς υπολογιστές. Αρχικά έγινε αναζήτηση βιβλίων και παλαιότερων μελετών σε άρθρα επιστημονικών περιοδικών, για την επεξήγηση και παρουσίαση της λειτουργίας, της εξέλιξης και των αρχιτεκτονικών των πολυπύρηνων συστημάτων, θέματα τα οποία αναλύονται στα πρώτα δύο κεφάλαια της εργασίας. Στη συνέχεια, το τρίτο κεφάλαιο επικεντρώθηκε στην ανάλυση των τεχνικών μέτρησης της απόδοσης των πολυπύρηνων επεξεργαστών. Ακολούθως, με βάση την προαναφερθείσα διερεύνηση και μέσω του προγράμματος "SiSoftware", έγινε αξιολόγηση των συγκριτικών διαγραμμάτων που παρήχθησαν από αυτό για τον έλεγχο της απόδοσης γνωστών επεξεργαστών. Λαμβάνοντας υπόψιν τις παραμέτρους της ισχύος, της ταχύτητας και του εύρους ζώνης των επεξεργαστών εξήχθησαν τα συμπεράσματα, από τα οποία επιβεβαιώνεται η αύξηση της αποδοτικότητας του επεξεργαστή όσο βελτιώνονται τα χαρακτηριστικά του, στοιχεία παρουσιάζονται στην τέταρτη ενότητα. Τέλος, λόγω της πολυπλοκότητας του συγκεκριμένου θέματος, στην πέμπτη ενότητα παρουσιάζεται μια σειρά προκλήσεων σε σχέση με τις σχεδιάσεις των πολυπύρηνων συστημάτων και τις παραμέτρους που επηρεάζουν την μέτρηση της απόδοσης, που σύντομα θα αντιμετωπίσουν οι επιστήμονες του κλάδου και προτείνεται η περαιτέρω διερεύνηση τους σε μελλοντικές έρευνες. 3

4 ABSTRACT This paper aims to study the performance of multicore processors οn laptops/ netbooks. Initially, in the first two chapters of the paper, a review of past related studies, articles and books has been made in order to have a better understanding of how multicore systems are build and function. In the third chapter, an extensive analysis of the techniques that can help us measure the performance of multicore processors is presented. For this purpose, a program called "SiSoftware" has been used in order to compare performance s parameters, such as power, speed and processor bandwidth, of some known multicore processors and reach to conclusions about the growth of the performance as we improve the above specifications. Those results are presented in the fourth section. Finally, given the complexity of the issue, in the fifth section, a variety of challenges is presented that the experts will have to face in the near future. Taking those under consideration, a further investigation is proposed in future studies. 4

5 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή Αρχιτεκτονικές Πολυπύρηνων Επεξεργαστών Κατηγορία Εφαρμογής Βασισμένη στην Επεξεργασία Δεδομένων Βασισμένη στον Έλεγχο Απαιτήσεις Επίδοσης-Ισχύος Παρουσίαση Ενδεικτικών Αρχιτεκτονικών Intel Core i Intel Atom AMD Radeon R Intel Larrabee IBM Cell Microsoft Xenon Στοιχεία Επεξεργασίας Αρχιτεκτονική Μικροαρχιτεκτονική Σύστημα Μνήμης Μοντέλο Συνοχής Διαμόρφωση Cache Διασύνδεση Μεταξύ των Chip Μέτρηση Απόδοσης Παραδοσιακοί Μέθοδοι Benchmark Κριτήρια Επίδοσης Πολυπύρηνων Benchmarks Εύρος Ζώνης της Μνήμης Επεκτασιμότητα Συμμετρική Πολυεπεξεργασία Πολυπύρηνων Benchmarks Multibench Εφαρμογή Συγκεκριμένων Προτύπων Benchmark Εφαρμογή Υπολογισμού της Απόδοσης σε Φορητούς Υπολογιστές Θεωρητικό Υπόβαθρο της Ανάλυσης της Απόδοσης Απόδοση Συστημάτων

6 Ισχύς και Απόδοση στα Υπολογιστικά Συστήματα Απόδοση στα Πολυπύρηνα Συστήματα Μετρήσεις και Αποτελέσματα σε Φορητούς Υπολογιστές Συγκριτική Ανάλυση και Συμπεράσματα Συμπεράσματα και Μελλοντικές Προκλήσεις Συντομογραφίες & Ανάλυση Όρων Πηγές

7 ΕΝΟΤΗΤΑ 1 Εισαγωγή Η βασική λειτουργία ενός υπολογιστή βασίζεται στην εκτέλεση ενός προγράμματος, το οποίο αποτελείται από ένα σύνολο εντολών που βρίσκονται αποθηκευμένες στην μνήμη του υπολογιστή. Ο επεξεργαστής, ως το βασικότερο στοιχείο ενός υπολογιστή, είναι αυτός που εκτελεί τις εντολές που προσδιορίζονται στο πρόγραμμα. Πιο αναλυτικά ο επεξεργαστής διαβάζει την επόμενη προς εκτέλεση εντολή, την ανακαλεί από την μνήμη και την εκτελεί. Το σχήμα που περιγράφηκε αποτελεί το βασικό κύκλο εντολής, ο οποίος περιλαμβάνει τον κύκλο εκτέλεσης και τον κύκλο ανάκλησης, όπως φαίνεται και στο σχήμα που ακολουθεί. Η εκτέλεση προγραμμάτων σταματά μόνον αν ο υπολογιστής σβήσει, αν συμβεί ανεπανόρθωτο σφάλμα κατά την εκτέλεση εντολών, ή αν μία εντολή προγράμματος προκαλέσει τερματισμό του υπολογιστή. Εικόνα 1 Κύκλος εντολής Ο κύκλος εντολών επεκτείνεται με την συμπλήρωση του κύκλου διακοπών, στον οποίο ο επεξεργαστής ελέγχει εάν υπάρχουν εκκρεμείς διακοπές, μέσω του σήματος διακοπών. Εάν υπάρχουν ο επεξεργαστής σταματά την εκτέλεση του τρέχοντος προγράμματος και αποθηκεύει τα μέχρι τώρα δεδομένα και εντολές που έχει επεξεργαστεί. Στην συνέχεια εκτελεί μια ρουτίνα εκτέλεσης διακοπών, με την ολοκλήρωση του οποίου συνεχίζεται η εκτέλεση του προγράμματος από το σημείο που είχε σταματήσει. Στην περίπτωση μη ύπαρξης διακοπών συνεχίζεται κανονικά η εκτέλεση των εντολών του προγράμματος. Η εικόνα 2 απεικονίζει τον κύκλο εντολής με διακοπές. 7

8 Εικόνα 2 Κύκλος εντολής με διακοπές Αρχικά, για να γίνει κατανοητή η λειτουργία ενός επεξεργαστή, καθώς και η διασύνδεση πολλών επεξεργαστών για την δημιουργία πολυπύρηνων συστημάτων, βασικό βήμα είναι η κατανόηση της αρχιτεκτονικής και της οργάνωσης των υπολογιστών. Οι έννοιες αυτές περιλαμβάνουν τον διαχωρισμό του υπολογιστή στα συστατικά στοιχεία, που τον αποτελούν. Στην επόμενη παράγραφο έχουμε μια σύντομη περιγραφή των στοιχείων αυτών, χρησιμοποιώντας ως παράδειγμα έναν υπολογιστή με μόνο έναν πυρήνα στον επεξεργαστή του. Τα βασικά μέρη ενός υπολογιστή, όπως φαίνεται στην παρακάτω εικόνα, είναι η Κεντρική Μονάδα Επεξεργασίας, CPU(Central Processing Unit) ή αλλιώς Επεξεργαστής, η Κύρια Μνήμη, οι συσκευές Εισόδου- Εξόδου, I/O(Input/Output), καθώς και ο Δίαυλος Συστήματος. Η CPU αποτελεί το βασικό μέρος του υπολογιστή, διότι ελέγχει μέσω σημάτων ελέγχου την συνολική λειτουργία του και εκτελεί όλες τις λειτουργίες που σχετίζονται με την επεξεργασία δεδομένων. Η Κύρια Μνήμη είναι υπεύθυνη για την αποθήκευση των δεδομένων και τα I/O διακινεί τα δεδομένα μεταξύ του υπολογιστή και του εξωτερικού περιβάλλοντος(χρήστες). Ο δίαυλος, γενικά, αποτελεί ένα κοινόχρηστο μέσο μετάδοσης που διαμοιράζονται δύο ή περισσότερα διασυνδεδεμένα μέσα. Συγκεκριμένα ο Δίαυλος Συστήματος ή η Διασύνδεση Συστήματος περιλαμβάνει κάποιο μηχανισμό, ο οποίος "ενώνει" την CPU, την Κύρια Μνήμη και τις συσκευές I/O, ώστε να πραγματοποιείται η επικοινωνία και οι ανταλλαγή των απαραίτητων και επιθυμητών δεδομένων μεταξύ των στοιχείων αυτών. 8

9 Εικόνα 3 Κύρια μέρη υπολογιστή Σύμφωνα με την εικόνα 4, η CPU αναλύεται στα εξής στοιχεία, τους Καταχωρητές(Registers), την Αριθμητική και Λογική Μονάδα- ALU(Arithmetic and Logic Unit), την Μονάδα Ελέγχου(Control Unit) και τον Εσωτερικό Δίαυλο. Η κάθε μία από τις μονάδες αυτές έχει συγκεκριμένο ρόλο και λειτουργίες. Στην εργασία αύτη αναφέρονται μόνο συνοπτικά οι βασικές λειτουργίες της κάθε μίας. Οι Καταχωρητές, χρησιμοποιούνται ως πρόσθετος αποθηκευτικός χώρος για τον επεξεργαστή. Εδώ αποθηκεύονται προσωρινά τα εσωτερικά αποτελέσματα της επεξεργασίας των δεδομένων από τις μονάδες του επεξεργαστή. Η ALU είναι υπεύθυνη για την επεξεργασία των δεδομένων που καλείται να 9

10 εκτελέσει ο επεξεργαστής. Η Μονάδα Ελέγχου ελέγχει την λειτουργία του επεξεργαστή, επομένως και ολόκληρου του υπολογιστή. Τέλος, ο Εσωτερικός Δίαυλος, έχει όμοια λειτουργία με τον Δίαυλο Συστήματος, δηλαδή είναι υπεύθυνος για την διασύνδεση και την επικοινωνία των Καταχωρητών, της Αριθμητικής και Λογικής Μονάδας και της Μονάδας Ελέγχου. [1] Στην εικόνα που ακολουθεί φαίνεται αναλυτικότερα η εσωτερική δομή ενός επεξεργαστή. Εικόνα 4 Δομή επεξεργαστή Καθώς η ανάγκη για ανάπτυξη σχεδίων με επεξεργαστές που ικανοποιούν μεγαλύτερες ταχύτητες ρολογιού [A6] γινόταν ολοένα και πιο επιτακτική, το αντίστοιχο επίπεδο ισχύος που απαιτούταν αύξανε με μεγάλο ρυθμό. Έτσι, οι σχεδιαστές επιχειρούσαν να αποσπάσουν δυναμικά μεγαλύτερη απόδοση μέσω της ροής εντολών, με αποτέλεσμα να δημιουργηθούν περίπλοκα και μη διαχειρίσιμα συστήματα που απαιτούσαν μεγάλα ποσά ενέργειας. Αποτέλεσμα των παραπάνω ήταν να οδηγηθεί η σχεδίαση των συστημάτων σε σταδιακή ανάπτυξη πολυπύρηνων επεξεργαστών και ταυτόχρονη και πιο αργή εξέλιξη του παράλληλου προγραμματισμού, αποτελώντας μια λύση για την αντιμετώπιση των ζητημάτων απόδοσης. 10

11 Εικόνα 5 Διάγραμμα επίδοσης σε σχέση με τον αριθμό των πυρήνων του επεξεργαστή Ένα από τα σημαντικότερα πλεονεκτήματα που απορρέει από την παραπάνω μέθοδο σχεδίασης, αποτελεί το γεγονός ότι η αύξηση της επίδοσης μπορεί να επιτευχθεί απλά με την προσθήκη περισσότερων πυρήνων, χωρίς την παράλληλη αύξηση της κατανάλωσης της ισχύος. Παρόλα αυτά, ο βραδύτερος ρυθμός εξέλιξης της επιστήμης του παράλληλου προγραμματισμού αποτελεί ένα από τα σημαντικότερα προβλήματα αυτής της προσέγγισης. [2] Εικόνα 6 Ισχύς σε πολυπύρηνο και μονοπύρηνο επεξεργαστή Σημαντικοί συντελεστές στην απόδοση ενός επεξεργαστή αποτελούν η ταχύτητα ρολογιού και η αρχιτεκτονική του. Πιο συγκεκριμένα η "καρδιά" του επεξεργαστή είναι το ρολόι, σύμφωνα με το οποίο καθορίζεται η 11

12 εκτέλεση σε βήματα του συνόλου των εντολών. Σε κάθε κύκλο ρολογιού ο επεξεργαστής κάνει ένα βήμα στην εκτέλεση. Συνεπώς η ταχύτητα ρολογιού ή συχνότητα ρολογιού υποδηλώνει πόσες εντολές μπορεί να εκτελέσει ο επεξεργαστής, σε μια συγκεκριμένη χρονική περίοδο, η οποία είναι συνήθως το 1 δευτερόλεπτο. Ο όρος αυτός διαφορετικά μπορεί να αποδοθεί, πιο απλά, ως η ταχύτητα που μπορεί ένας επεξεργαστής να διαχειριστεί έναν όγκο δεδομένων. Από την άλλη μεριά έχουμε την αρχιτεκτονική, η οποία καθορίζει το πόσο αποδοτικά λειτουργεί ο επεξεργαστής. Συνήθως δίνεται ιδιαίτερη προσοχή κατά τον σχεδιασμό ενός συστήματος στην ταχύτητα ρολογιού, με στόχο της αύξηση της απόδοσης. Κατά συνέπεια, οι σχεδιαστές προσπαθούν να βελτιώσουν το κομμάτι αυτό στο κάθε επεξεργαστικό μοντέλο που σχεδιάζουν. Η πεποίθηση, όμως αυτή, είναι ανεπαρκής διότι οι δύο αυτές έννοιες είναι αλληλένδετες, καθώς και οι δύο μαζί συμβάλλουν στην απόδοση του επεξεργαστή. [11] Μία καλή αρχιτεκτονική σχεδίαση ενός επεξεργαστικού συστήματος μπορεί να αυξήσει την απόδοση, διότι στην αρχιτεκτονική περιλαμβάνονται το σύνολο των εντολών που μπορεί να αναγνωρίσει και να εκτελέσει ο επεξεργαστής, οι καταχωρητές τους οποίους θα χρησιμοποιήσει κατά την επεξεργασία καθώς και το σύνολο των δομών που καθορίζουν τον διαμοιρασμό των στοιχείων στην κάθε επεξεργαστική μονάδα του συστήματος. Από τα προαναφερθείσα στοιχεία γίνεται εμφανέστατη η σύνδεση και η εξάρτηση της συχνότητας ρολογιού και της αρχιτεκτονικής ως παράγοντες αύξησης της απόδοσης. [12] Στην εικόνα 7, φαίνονται πολλοί κύκλοι ρολογιού σε μία χρονική περίοδο και στην εικόνα 8, έχουμε 2 επεξεργαστές, τον Α και τον Β και το διάγραμμα μας δείχνει ότι ο Β έχει διπλάσια ταχύτητα ρολογιού από τον Α. Η σύγκριση αυτή γίνεται και πρέπει να γίνεται στην ίδια χρονική περίοδο. 12

13 Εικόνα 7 Κύκλοι ρολογιού σε μεγάλη χρονική περίοδο Εικόνα 8 Κύκλοι ρολογιού σε 2 επεξεργαστές Α και Β Σε αντίθεση με την ταχύτητα/συχνότητα ρολογιού έρχεται η ισχύς που απαιτεί ένας επεξεργαστής για την λειτουργία του. Δυστυχώς οι υψηλές συχνότητες ρολογιού έχουν επιπτώσεις στην κατανάλωση ισχύος σε συστήματα με μονοπύρηνο επεξεργαστή. Η αναγκαιότητα της μείωσης της ισχύος για κάθε επεξεργαστή προκύπτει λόγω της υπέρβασης των ορίων ισχύος χρόνο με τον χρόνο στην εξέλιξη της τεχνολογίας. Όπως φαίνεται και στην εικόνα 9, που ακολουθεί, η ισχύς που χρησιμοποιείται διαρκώς αυξάνεται και πρέπει να τεθεί ένα όριο. Εδώ έρχεται να δώσει την λύση η τεχνολογία των πολυπύρηνων συστημάτων, που στοχεύει να αλλάξει την δυναμική της αγοράς με καινοτόμες σχεδιάσεις, που θα προσφέρουν υψηλή απόδοση αλλά με βελτιστοποίηση της ισχύος. Αυτό πραγματοποιείται με την χρήση πολλών νημάτων και τον παραλληλισμό, χαρακτηριστικά των πολυπύρηνων επεξεργαστών. Για τους παραπάνω λόγους κρίθηκε αναγκαία η εξέλιξη της μικροαρχιτεκτονικής, που περιλαμβάνει την αρχιτεκτονική ενός πολυπύρηνου επεξεργαστή έχοντας ως φιλοσοφία την αποδοτική χρήση της διαθέσιμης ενέργειας. [12] 13

14 Εικόνα 9 Διάγραμμα ισχύος σε σχέση με την εξέλιξη της τεχνολογίας Την βάση για τους πολυπύρηνους επεξεργαστές θεωρείται ότι αποτέλεσε η αρχιτεκτονική x86 [Α7], η οποία αναλύεται παρακάτω. Παρά την προαναφερθείσα πεποίθηση, η αρχιτεκτονική αυτή αντιπροσωπεύει μόνο ένα μέρος των πολυπύρηνων συσκευών. Στην πραγματικότητα υπάρχουν πολλές εταιρίες που κατασκευάζουν μια πληθώρα προϊόντων γενικού σκοπού, διαμοιραζόμενης μνήμης, συμμετρικής πολυεπεξεργασίας, που μοιάζουν με ένα x86. Τέτοιες εταιρίες αποτελούν η ARM [Α1], η Freescale Semiconductor, η IBM και η MIPS Technologies. Εικόνα 10 Παρουσίαση της εσωτερικής δομής πολυπύρηνου επεξεργαστή με διαμοιραζόμενη κρυφή μνήμη 14

15 Σε επίπεδο σχεδίασης οι πολυπύρηνοι επεξεργαστές μπορούν να διαχωριστούν ανάλογα με το πλήθος των πυρήνων, με το πλήθος των επιπέδων της κρυφής μνήμης και με την ποσότητα της κοινόχρηστης κρυφής μνήμης. Στα πρώτα πολυπύρηνα συστήματα συναντάμε την σχεδίαση χωρίς κρυφή διαμοιραζόμενη μνήμη, δηλαδή κρυφή μνήμη για κάθε πυρήνα ξεχωριστά(κρυφή μνήμη επιπέδου 1). Παράδειγμα αυτής της σχεδίασης είναι ο επεξεργαστής ARM11 MPCore και ο επεξεργαστής του σχήματος(α) της εικόνας 11. Στην συνέχεια, έχουμε την προσθήκη στην προηγούμενη σχεδίαση κρυφής μνήμης επιπέδου 2, η οποία επεκτείνει την κρυφή μνήμη επιπέδου 1 για κάθε πυρήνα και χαρακτηριστικό παράδειγμα αυτής είναι ο επεξεργαστής AMP Opteron και ο επεξεργαστής που φαίνεται στο σχήμα(β) της εικόνας 11. Αργότερα, οι σχεδιαστές κρατώντας τα βασικά στοιχεία της πρώτης σχεδίασης, την κρυφή μνήμη επιπέδου 1 μόνο, πρόσθεσαν σε αυτήν διαμοιραζόμενη κρυφή μνήμη(κρυφή μνήμη επιπέδου 2), στην οποία συνδέονται οι κρυφές μνήμες κάθε πυρήνα. Επεξεργαστής αυτής της σχεδίασης είναι ο Intel Core Duo, όπως και ο επεξεργαστής που απεικονίζεται στην εικόνα 10, καθώς και στο σχήμα(γ) της εικόνας 11. Τέλος, έχουμε την σχεδίαση όπου κρατείται η βασική λογική της σχεδίασης με την κρυφή μνήμη επιπέδου 2 για κάθε πυρήνα και προστίθεται διαμοιραζόμενη κρυφή μνήμη(κρυφή μνήμη επιπέδου 3) ), στην οποία συνδέονται οι κρυφές μνήμες επιπέδου 2 κάθε πυρήνα. Παράδειγμα αυτής είναι ο επεξεργαστής Intel Core i7 και ο επεξεργαστής του σχήματος(δ) της εικόνας 11. Από γενιά σε γενιά, όπως προκύπτει, έχουμε την αύξηση της κρυφής μνήμης που είναι διαθέσιμη στο σύνολο του επεξεργαστή, αλλά και σε κάθε πυρήνα. 15

16 Εικόνα 11 Μορφές οργάνωσης πολλαπλών πυρήνων Η χρήση μιας κοινής κρυφής μνήμης προτιμάται, διότι προσδίδει στο επεξεργαστικό σύστημα ευκολία επικοινωνίας μεταξύ των πυρήνων. Ένα παράδειγμα αποτελεί η ανάκτηση δεδομένων από την κύρια μνήμη για έναν πυρήνα και η αποθήκευσή τους στην κοινή μνήμη και αργότερα ή παράλληλα η χρήση των ίδιων δεδομένων από άλλο πυρήνα χωρίς την ανάγκη ανάκτησής τους ξανά από την κύρια μνήμη, μέσω του διαύλου επικοινωνίας που προσδίδει καθυστερήσεις. Επίσης βασικό πλεονέκτημα αποτελεί η δυναμική κατανομή της κοινής μνήμης σε κάθε πυρήνα, ώστε να επιτυγχάνεται ο καλύτερος διαμοιρασμός ανάλογα με τις απαιτήσεις. Οπότε μπορούμε να συμπεράνουμε ότι χρησιμοποιώντας κοινή κρυφή μνήμη μπορούμε κατ' επέκταση να βελτιώσουμε την απόδοση του επεξεργαστή. [1] Παρόλα αυτά, υπάρχουν αμέτρητες εταιρίες που κατασκευάζουν πολυπύρηνα προϊόντα πάνω σε chip για συστήματα συγκεκριμένων εφαρμογών. Τα συστήματα αυτά (SoC-System on a Chip) μπορούν να είναι τόσα απλά όσο ένας επεξεργαστής με έναν πυρήνα γενικού υπολογισμού 16

17 και έναν πυρήνα επεξεργασίας ψηφιακού σήματος. Μπορούν, όμως, να έχουν αρκετούς ομογενείς ή ετερογενείς πυρήνες, οι οποίοι μπορεί να ποικίλλουν σε ότι αφορά την πολυπλοκότητά τους. Ακόμη μπορεί να βασίζονται σε μια κοινόχρηστη ή κατανεμημένη μνήμη ή να υλοποιούν μια ποικιλία από τεχνολογίες διασύνδεσης. [3] Παρακάτω, στην εικόνα 12, παρουσιάζεται μια σχεδίαση SoC σε ένα ετερογενές σύστημα πολυπύρηνων επεξεργαστών. Εικόνα 12 SoC σε ετερογενές πολυπύρηνο σύστημα Αναλυτικότερα, ένα SOC αποτελεί ένα ολοκληρωμένο σύστημα πάνω σε ένα chip. Το σύστημα αυτό περιλαμβάνει έναν ή περισσότερους μικροεπεξεργαστές, μία μνήμη και διάφορες περιφερειακές μονάδες. Οι επεξεργαστές μπορεί να είναι προσαρμόσιμοι ή τυπικοί μικροεπεξεργαστές, ή εξειδικευμένοι επεξεργαστές πολυμέσων. Οι επεξεργαστές αυτοί, μπορεί να συνδέονται μεταξύ τους με μια ποικιλία τρόπων συμπεριλαμβανομένου της διαμοιραζόμενης μνήμης και των οντοτήτων υλικού που ανταλλάσουν μηνύματα. Παρακάτω, στην εικόνα 13, παρουσιάζεται ένα ενδεικτικό διάγραμμα της αρχιτεκτονικής των SOC. 17

18 Εικόνα 13 Βασικό μοντέλο System on Chip Τα εξαρτήματα των SoC (IPs) παρέχουν μία διεπαφή του chip με τον έξω κόσμο. Η διεπαφή αυτή, απαρτίζεται από ένα σύνολο από pins υπεύθυνα για την αποστολή και τη λήψη διευθύνσεων, δεδομένων και στοιχείων ελέγχου. Το πλήθος και η λειτουργικότητα των pins θα πρέπει να ακολουθούν ένα συγκεκριμένο πρότυπο έτσι ώστε να αποφεύγονται οι διαφοροποιήσεις στο στάδιο της ενσωμάτωσης των διαφόρων μονάδων πάνω στο chip. Υπάρχουν δύο κατηγορίες προτύπων για την επικοινωνία στα SoC, αυτή των Προτύπων Αρχιτεκτονικών Διαύλου και αυτή των Προτύπων Διεπαφής Διαύλου που βασίζονται σε Socket. Τα πρότυπα αρχιτεκτονικών διαύλου είναι αυτά που καθορίζουν τη διεπαφή μεταξύ των IPs και της αρχιτεκτονικής διαύλου καθώς επίσης προσδιορίζουν και τις ιδιαιτερότητες της αρχιτεκτονικής διαύλου, η οποία υλοποιεί το πρωτόκολλο μεταφοράς δεδομένων. Τα πρότυπα διεπαφής διαύλου που βασίζονται σε Socket είναι αυτά που καθορίζουν τη διεπαφή μεταξύ των IPs και της αρχιτεκτονικής διαύλου, όμοια με την προηγούμενη κατηγορία, αλλά σε αυτήν την περίπτωση προσδιορίζεται επιπλέον η ελευθερία επιλογής και εφαρμογής της αρχιτεκτονικής διαύλου. Αξίζει να σημειωθεί ότι η χρήση διαύλου στα δίκτυα διασύνδεσης των SoC είναι η πιο απλή και η πιο διαδεδομένη, όπως φαίνεται κ στην εικόνα

19 Εικόνα 14 Δίκτυο διασύνδεσης SoC με την χρήση διαύλου Ιδανικά οι σχεδιαστές επιθυμούν τη χρήση ενός προτύπου που να συνδέει όλα τα IPs. Γενικά όμως έχουν αναπτυχθεί πολλά πρότυπα για τη σχεδίαση των διαύλων, με πιο γνωστά τα AMBA, CoreConnect, Sonics Smart Interconnect και STBus. Περισσότερα πρότυπα παρουσιάζονται στον παρακάτω πίνακα 1. [13] Πίνακας 1 Πρότυπα Αρχιτεκτονικής κάθε εταιρείας 19

20 Τα SOC μπορούν να βρεθούν σε κάθε καταναλωτικό προϊόν όπως στα modems, στα κινητά τηλέφωνα, στα DVD players, στις τηλεοράσεις και τα ipod. [8] Εικόνα 15 System on Chip 20

21 ΕΝΟΤΗΤΑ 2 Η ενότητα αυτή αναφέρεται στις αρχιτεκτονικές των πολυπύρηνων επεξεργαστών. Περιλαμβάνει αρχικά μία κατηγοριοποίηση των αρχιτεκτονικών και στην συνέχεια περιγράφονται κάποιες επιλεγμένες αρχιτεκτονικές με πολυπύρηνους επεξεργαστές γνωστών εταιρειών. Ακόμη έχουμε την ανάλυση της αρχιτεκτονικής ISA και της μικροαρχιτεκτονικής. Τέλος, η ενότητα κλείνει με περιγραφή του συστήματος μνήμης ενός πολυπύρηνου επεξεργαστή και ανάλυση των βασικών μερών που το συνθέτουν. Αρχιτεκτονικές Πολυπύρηνων Επεξεργαστών Οι αρχιτεκτονικές των πολυπύρηνων επεξεργαστών μπορούν να ταξινομηθούν με διάφορους τρόπους. Τα πιο σημαντικά όμως χαρακτηριστικά με τα οποία μπορεί να γίνει η ταξινόμηση είναι η κατηγορία της εφαρμογής, οι απαιτήσεις επίδοσης-ισχύος, τα στοιχεία που επεξεργάζονται, το σύστημα της μνήμης και η ύπαρξη επιταχυντών ή ολοκληρωμένων περιφερειακών μονάδων. Παρακάτω γίνεται μια σύντομη παρουσίαση τους. 2.1 Κατηγορία Εφαρμογής Αν ένα μηχάνημα στοχεύει σε ένα συγκεκριμένο πεδίο εφαρμογής, η αρχιτεκτονική του μπορεί να υλοποιηθεί με τέτοιο τρόπο ώστε να απεικονίζει το πεδίο αυτό. Με βάση αυτό το σκεπτικό, υπάρχουν δύο κατηγορίες επεξεργασίας που μπορεί να ανήκει μια εφαρμογή, αυτή που βασίζεται στην επεξεργασία των δεδομένων και αυτή που βασίζεται στον έλεγχο. Αξίζει να σημειωθεί ότι καμία εφαρμογή δεν ανήκει εξ ολοκλήρου σε μία από τις δύο κατηγορίες. Πλήρης κατηγοριοποίηση στις δύο κατηγορίες μπορεί να γίνει μόνο σε τμήματα των εφαρμογών. 21

22 2.1.1 Κατηγορία Επεξεργασίας Δεδομένων Οι τύποι των εφαρμογών που ανήκουν σε αυτήν την κατηγορία, υλοποιούν τους υπολογισμούς μέσω μιας ακολουθίας λειτουργιών πάνω σε ένα ρεύμα δεδομένων με μικρή ή καθόλου επαναχρησιμοποίηση δεδομένων. Οι λειτουργίες εκτελούνται συνήθως παράλληλα και απαιτούν υψηλή ρυθμαπόδοση (throughput) και υψηλή επίδοση ώστε να διαχειρίζονται μεγάλα ποσά δεδομένων. Επίσης, τα στοιχεία επεξεργασίας πρέπει να είναι τόσα ώστε να επιτυγχάνεται η επιθυμητή αναλογία επίδοσης - ισχύος. Μερικά παραδείγματα λειτουργιών που υλοποιούνται από αυτές τις εφαρμογές είναι η επεξεργασία ήχου και εικόνας, αλλά και γενικότερα η επεξεργασία σήματος Κατηγορία Επεξεργασίας βασισμένη στον Έλεγχο Στις εφαρμογές αυτής της κατηγορίας, ο κώδικας κυριαρχείται από κλαδιά ελέγχου και περίπλοκο παραλληλισμό. Τα προγράμματα αυτά, πολλές φορές, χρειάζονται να παρακολουθούν μεγάλα ποσά καταστάσεων και συχνά έχουν υψηλά ποσοστά επαναχρησιμοποιημένων δεδομένων. Για το λόγο αυτό, χρειάζεται να έχουν ένα πιο μέτριο αριθμό στοιχείων επεξεργασίας γενικού σκοπού, ώστε να μπορούν να διαχειρίζονται την αδόμητη φύση του κώδικα ελέγχου. Εικόνα 16 Σχηματική ανάλυση της Κατηγορίας Εφαρμογής 22

23 2.2 Απαιτήσεις Επίδοσης-Ισχύος Πολλές εφαρμογές έχουν αυστηρές απαιτήσεις ως προς την απόδοση και την ισχύ. Αν και η απόδοση αποτελεί έναν παραδοσιακό στόχο, οι περιορισμοί για την ισχύ αποτελούν μια πιο πρόσφατη απαίτηση που προέκυψε κυρίως λόγω της ανάπτυξης της κινητής τηλεφωνίας, στην οποία η διάρκεια και το μέγεθος της μπαταρίας αποτελούν κρίσιμα χαρακτηριστικά. Εκτός όμως από τις κινητές συσκευές, υψηλές απαιτήσεις ισχύος έχουν και τα κέντρα δεδομένων προκειμένου να καταστήσουν δυνατή την υποστήριξη του cloud computing. Εικόνα 17 Απαιτήσεις ισχύος σε κάθε σύστημα της intel 2.3 Παρουσίαση ενδεικτικών αρχιτεκτονικών Στην ενότητα αυτή παρουσιάζεται μία σύντομη ανάλυση κάποιων βασικών αρχιτεκτονικών πολυπύρηνων επεξεργαστών. Οι περισσότερες από αυτές που ακολουθούν περιγράφουν σημαντικές σχεδιάσεις, που αποτέλεσαν βάση για την μετέπειτα ανάπτυξη νέων επεξεργαστών. Μερικές όμως από αυτές συνεχίζουν να χρησιμοποιούνται μέχρι και σήμερα Intel Core i7 Ο Intel Core i7 αποτελεί έναν υψηλών επιδόσεων και γενικού σκοπού επεξεργαστή που προορίζεται για εφαρμογές όπου ο περιορισμός της ισχύος δεν αποτελεί την κυρίαρχη ανησυχία. Ένας 23

24 Intel Core i7 επεξεργαστής αποτελείται από έναν σχετικά μικρό αριθμό πυρήνων που κυμαίνεται από 2 έως 8. Η αρχιτεκτονική του Intel Core i7 βασίζεται σε μία αρχιτεκτονική x86 [Α7], ενώ η μικροαρχιτεκτονική του βασίζεται σε ένα σχέδιο 4-way πυρήνων εκτός σειράς και μιας 2-way SMT (Surface-mount technology) [A9]. Τέλος, οι διασυνδέσεις των στοιχείων μέσα στον επεξεργαστή ακολουθούν την τοπολογία σημείου προς σημείο. Εικόνα 18 Intel Core i Intel Atom Ο Intel Atom αποτελεί έναν υψηλών επιδόσεων και γενικού σκοπού επεξεργαστή που προορίζεται για εφαρμογές όπου ο περιορισμός της ισχύος δεν αποτελεί την κυρίαρχη ανησυχία. Ένας Intel Atom επεξεργαστής αποτελείται από έναν μικρό αριθμό πυρήνων που κυμαίνεται από 1 έως 2. Η αρχιτεκτονική του Intel Atom βασίζεται σε μία αρχιτεκτονική x86 [Α7], ενώ η μικροαρχιτεκτονική του βασίζεται σε ένα σχέδιο 2-way πυρήνων σε σειρά και μιας 2-way SMT [A9]. Τέλος, οι διασυνδέσεις των στοιχείων μέσα στον επεξεργαστή ακολουθούν την τοπολογία bus. 24

25 Εικόνα 19 Intel Atom Περισσότεροι υψηλών επιδόσεων και γενικού σκοπού επεξεργαστές παρουσιάζονται στον πίνακα 2, που ακολουθεί. Πίνακας 2 Γενικού σκοπού πολυπύρηνοι επεξεργαστές AMD Radeon R700 Ο AMD Radeon R700 αποτελεί έναν εξειδικευμένο επεξεργαστή, πρωταρχικός στόχος του οποίου είναι η εξασφάλιση υψηλής επίδοσης. Ένας AMD Radeon R700 επεξεργαστής αποτελείται από έναν πολύ μεγάλο αριθμό από πυρήνες που ισούται με 160. Η μικροαρχιτεκτονική του AMD Radeon R700 βασίζεται σε ένα σχέδιο 4-way VLIM. 25

26 Εικόνα 20 AMD Radeon R Intel Larrabee Ο Intel Larrabee αποτελεί έναν εξειδικευμένο επεξεργαστή, πρωταρχικός στόχος του οποίου είναι η εξασφάλιση υψηλής επίδοσης. Το πλήθος των πυρήνων ενός Intel Larrabee επεξεργαστή μπορεί να φτάσει τους 48. Η αρχιτεκτονική του Intel Larrabee βασίζεται σε μία αρχιτεκτονική x86 [Α7], ενώ η μικροαρχιτεκτονική του βασίζεται σε ένα σχέδιο 2-way πυρήνων σε σειρά και μιας 4-way SMT [A9]. Τέλος, οι διασυνδέσεις των στοιχείων μέσα στον επεξεργαστή ακολουθούν την τοπολογία ενός αμφίδρομου ring. Εικόνα 21 Intel Larrabee 26

27 2.3.5 IBM Cell Ο IBM Cell αποτελεί έναν εξειδικευμένο επεξεργαστή, πρωταρχικός στόχος του οποίου είναι η εξασφάλιση υψηλής επίδοσης. Ένας IBM Cell επεξεργαστής βασίζεται σε ένα σχέδιο ετερογενούς αρχιτεκτονικής που ονομάζεται power και περιλαμβάνει έναν μικρό αριθμό, ίσο με 9, πολύ εξειδικευμένων μηχανών επεξεργασίας δεδομένων. Τέλος, οι διασυνδέσεις των στοιχείων μέσα στον επεξεργαστή ακολουθούν την τοπολογία ενός αμφίδρομου ring. Εικόνα 22 IBM Cell Microsoft Xenon Ο Microsoft Xenon αποτελεί έναν εξειδικευμένο επεξεργαστή, πρωταρχικός στόχος του οποίου είναι η εξασφάλιση υψηλής επίδοσης. Ένας Microsoft Xenon επεξεργαστής αποτελείται από ένα μικρό πλήθος πυρήνων που ισούται με 3. Η αρχιτεκτονική του Microsoft Xenon βασίζεται στο σχέδιο power, ενώ η μικροαρχιτεκτονική του βασίζεται σε ένα σχέδιο 2-way πυρήνων σε σειρά και μιας 2-way SMT [A9]. Τέλος, οι διασυνδέσεις των στοιχείων μέσα στον επεξεργαστή ακολουθούν την τοπολογία crossbar. 27

28 Εικόνα 23 Microsoft Xenon Περισσότεροι εξειδικευμένοι επεξεργαστές περιέχονται στον πίνακα 3, που ακολουθεί. Πίνακας 3 Πολυπύρηνοι επεξεργαστές υψηλών επιδόσεων 2.4 Στοιχεία Επεξεργασίας Οι εφαρμογές μπορούν επίσης να χωριστούν και ως προς τα στοιχεία επεξεργασίας με βάση την αρχιτεκτονική ISA (Instruction Set Architecture) που ορίζει τις διεπαφές υλικού και λογισμικού, και με βάση την μικροαρχιτεκτονική η οποία αποτελεί εφαρμογή της ISA. 28

29 2.4.1 Αρχιτεκτονική ISA Εικόνα 24 Αρχιτεκτονική Instruction Set Architecture Η Instruction Set Architecture (ISA) είναι μία καλά ορισμένη διεπαφή μεταξύ του υλικού και του λογισμικού. Είναι ουσιαστικά ένα συμβόλαιο μεταξύ υλικού και λογισμικού που περιέχει το λειτουργικό ορισμό των πράξεων, των τρόπων και των θέσεων αποθήκευση που υποστηρίζονται από το υλικό, καθώς και μια σαφή περιγραφή για το πώς καλούνται και παρέχεται πρόσβαση σε αυτά. Αντίθετα, δεν υπάρχει καμιά εγγύηση για το πώς υλοποιήθηκαν οι πράξεις, ποιες ενέργειες είναι οι πιο γρήγορες και ποιες απαιτούν περισσότερη ισχύ. Όπως αναφέρθηκε και παραπάνω, η ISA δίνει τη δυνατότητα επικοινωνίας του λογισμικού με το υλικό. Για την επικοινωνία αυτή είναι όμως απαραίτητο το υλικό και το λογισμικό να γνωρίζουν την ίδια γλώσσα-isa καθώς αν και οι διάφορες ISAs μπορεί να παρουσιάζουν μερικές ομοιότητες μεταξύ τους, συνήθως διαφέρουν σημαντικά ως προς τη δομή τους. Αξίζει επίσης να σημειωθεί ότι όπως και οι ανθρώπινες γλώσσες, έτσι και οι ISAs, εξελίσσονται με το πέρασμα του χρόνου. Παρόλα αυτά κατά την εξέλιξή τους δε θα πρέπει να χαθεί η σαφήνεια των εντολών τους. Ένα τυπικό σχέδιο της λειτουργίας των όλων σύγχρονων ISA φαίνεται στην παρακάτω εικόνα. 29

30 Εικόνα 25 Λειτουργία των σύγχρονων ISA Συχνά το μοντέλο αυτό καλείται και μοντέλο Von Neumann. Βασικό στοιχείο αυτού του μοντέλου αποτελεί ο μετρητής προγράμματος (Program Counter), οποίος είναι αυτός που καθορίζει τη σειρά εκτέλεση των δυναμικών εντολών. [9] Μερικά από τα πιο διαδεδομένα παραδείγματα ISAs αποτελούν οι αρχιτεκτονικές x86, POWER, Alpha, ARM και MMIX. Στον πίνακα που ακολουθεί παρουσιάζονται περισσότερα παραδείγματα ISAs μαζί με το πλήθος των απλών καταχωρητών (Integer Registers) και των καταχωρητών διπλής υποδιαστολής (Double FP Registers) που χρειάζονται στη καθεμιά. [10] Εικόνα 26 Διάφορες αρχιτεκτονικές ISA 30

31 Από τον παραπάνω πίνακα δημιουργείται το ερώτημα για το ποιο είναι το ιδανικό πλήθος καταχωρητών που πρέπει να έχει μια ISA αρχιτεκτονική εφόσον είναι γνωστό ότι οι καταχωρητές είναι ταχύτεροι από τις μνήμες. Ο λόγος αυτής της μεγάλης ταχύτητας τους είναι το μικρό τους πλήθος για κάθε εντολή, που συνεπάγεται απευθείας διευθυνσιοδότηση. Πρέπει να τονιστεί, όμως, ότι δεν μπορούν όλες οι δομές να αποθηκευτούν σε καταχωρητές (όπως οι πίνακες). Βέβαια, οι μεταγλωττιστές έχουν κάνουν σημαντικές προόδους προς αυτή την κατεύθυνση. Συνεπώς γίνεται κατανοητό, ότι όσο περισσότερους καταχωρητές έχουμε τόσο περισσότερο αποθηκευτικό χώρο και χώρο ανάκτησης δεδομένων αποκτά ο επεξεργαστής. Η τάση λοιπόν που έχει επικρατήσει, ως προς τους καταχωρητές και τις αρχιτεκτονικές, είναι η εξής: 8(x86) -> 32(MIPS) -> 128 (IA32). Η προαναφερθείσα σχέση, πιο αναλυτικά σημαίνει ότι η από τους 8 καταχωρητές της αρχιτεκτονικής x86 Ιntel, πηγαίνουμε στους 32 καταχωρητές της αρχιτεκτονικής MIPS(Microprocessor without Interlocked Pipeline Stages) [Α10] και από εκεί στους 128 καταχωρητές της αρχιτεκτονικής IA32(Intel Architecture, 32-bit) [Α11]. [9] Στους πολυπύρηνους επεξεργαστές η αρχιτεκτονική κάθε πυρήνα είναι ουσιαστικά η κληροδοτημένη αρχιτεκτονική του αντίστοιχου μονού επεξεργαστή μαζί με ελάχιστες τροποποιήσεις έτσι ώστε να υποστηρίζει παραλληλισμό, όπως η προσθήκη μεμονωμένων εντολών για ο συγχρονισμός. Βασικά πλεονεκτήματα της κληροδοτημένης αρχιτεκτονικής είναι τόσο η ύπαρξη υλοποιήσεων, όσο και η διαθεσιμότητα εργαλείων προγραμματισμού. Παρόλα αυτά, η αρχιτεκτονική μπορεί να είναι και προσαρμόσιμη. Η αρχιτεκτονική μπορεί να κατηγοριοποιηθεί σε ένα μειωμένο σύνολο εντολών επεξεργαστή (RISC- Reduced Instruction Set Computing) [A8] και ένα σύνθετο σύνολο εντολών υπολογιστή (CISC- Complex Instruction Set Computing) [A4]. Στις μέρες μας, οι διαφοροποιήσεις της μικροαρχιτεκτονικής είναι ασαφής, καθώς οι περισσότερες CISC μηχανές μοιάζουν πολύ με τις αντίστοιχες RISC, αφού γίνει η αποκρυπτογράφηση. Στον κώδικα όμως, οι διαφορές είναι ακόμη ευδιάκριτες. Το σύνολο CISC πλεονεκτεί ως προς το 31

32 μέγεθος του κώδικα εξαιτίας της μεγαλύτερης δυνατότητας επιλογής από εντολές και της πιο πλούσιας σημασιολογίας που είναι διαθέσιμη. Αντίθετα το σύνολο RISC, έχει μεγαλύτερο μέγεθος κώδικα λόγω της ανάγκης να υλοποιήσει πιο περίπλοκες εντολές μέσω των λιγότερων RISC εντολών. Το σύνολο RISC όμως πλεονεκτεί έναντι του συνόλου CISC εντολών, διότι αποτελεί πιο εύκολο στόχο για τους compilers [A5] και επιτρέπει την κατασκευή ενός πιο εύκολου σχεδίου μικροαρχιτεκτονικής. Εικόνα 27 Η εξέλιξη των επιδόσεων σε σχέση με το έτος Πέρα από την βάση της αρχιτεκτονικής ISA, οι κατασκευαστές εξακολουθούν συνεχώς να προσθέτουν νέες επεκτάσεις έτσι ώστε να βελτιώσουν τις επιδόσεις των συχνών λειτουργιών Μικροαρχιτεκτονική Η μικροαρχιτεκτονική ουσιαστικά ορίζει την επίδοση και την κατανάλωση ισχύος που αναμένεται από ένα πολυπύρηνο σύστημα. Συχνά είναι προσαρμοσμένη στο πεδίο της εφαρμογής για το οποίο προορίζεται. Αν και οι περισσότεροι κατασκευαστές προτιμούν το σχεδιασμό ομογενών αρχιτεκτονικών με πανομοιότυπους πυρήνες, είναι συνήθως πιο επικερδές να συνδυαστούν διαφορετικά επεξεργαστικά στοιχεία και να συγκροτηθεί μια ετερογενής 32

33 αρχιτεκτονική ώστε να κερδηθεί η απαραίτητη ισχύς χωρίς να υπάρξει απώλεια στην επίδοση. Το μειονέκτημα όμως αυτής της αρχιτεκτονικής έγκειται στη σχεδίαση στην οποία οφείλονται τα πολύ πιο περίπλοκα σχέδια. Εικόνα 28 Η ιστορία της μικροαρχιτεκτονικής Ο πιο απλός τύπος επεξεργαστικού στοιχείου είναι αυτό το στοιχείο που λειτουργεί σε σειρά, δηλαδή αποκωδικοποιεί και εκτελεί, τις εντολές του προγράμματος και τους δυναμικούς λογαριασμούς για την προώθηση δεδομένων και τον έλεγχο κινδύνων, στη σειρά. Υπάρχουν δύο βασικές παράμετροι σχετικοί με την επίδοση που μπορούν να τροποποιηθούν ώστε να υπάρξει προσέγγιση του επιθυμητού ορίου επίδοσης του επεξεργαστικού συστήματος. Αρχικά, μπορούν να προστεθούν πολλαπλοί αγωγοί ώστε να εκδοθούν και να προσκομιστούν περισσότερες από μία εντολές παράλληλα δημιουργώντας έτσι ένα υπερβαθμωτό επεξεργαστικό στοιχείο που αυξάνει την επίδοση του συστήματος. Ωστόσο, αυτή η αύξηση απαιτεί παράλληλα περισσότερη λογική ώστε να παραχθούν πιο περίπλοκα μονοπάτια προώθησης δεδομένων και πιο περίπλοκοι έλεγχοι κινδύνων, ώστε να υπάρξει διαβεβαίωση για την σωστή 33

34 εκτέλεση του κώδικα. Επιπρόσθετα, η επίδοση μπορεί να βελτιωθεί με αύξηση των σταδίων των αγωγών και μείωση της λογικής ανά στάδιο. Αυτή η προσέγγιση επιτρέπει την ύπαρξη ενός πιο γρήγορου ρολογιού με μια μεγαλύτερο όμως κόστος εάν η αλληλουχία των εντολών σπάσει λόγω διακλάδωσης. Η εκτός σειράς αρχιτεκτονική βασίζεται σε έναν υπερβαθμωτό πυρήνα που κερδίζει όσο το δυνατόν μεγαλύτερη απόδοση μονού νήματος γίνεται. Πιο συγκεκριμένα, επιχειρεί να βρει δυναμικά και να δρομολογήσει εντολές εκτός σειράς ώστε να διατηρεί τους αγωγούς γεμάτους. Η δυναμική σχεδίαση όμως απαιτεί πολύ περίπλοκα και δαπανηρά σε ισχύ κυκλώματα. Γενικά, οι εκτός σειράς σχεδιασμένοι πυρήνες είναι καταλληλότεροι για εφαρμογές που έχουν ένα ευρύ φάσμα συμπεριφορών, ενώ είναι απαραίτητη η υψηλή απόδοση. Τέλος, επειδή οι εκτός σειράς πυρήνες είναι μεγάλοι σε μέγεθος και δαπανηροί σε ισχύ, μόνο λίγοι μπορούν να συνδυαστούν μεταξύ τους. Παρόλα αυτά, είναι προτιμότεροι εάν οι εφαρμογές είναι βασισμένες στον έλεγχο και έχουν μεγάλα κρίσιμα σημεία και μέτρια TLP (Thread-Level Parallelism). Για την αύξηση της απόδοσης στις υπερβαθμωτές αρχιτεκτονικές και τη μείωση της λογικής περιπλοκότητας μπορεί να χρησιμοποιηθεί η αρχιτεκτονική single-instruction multiple-data (SIMD) ή η αρχιτεκτονική very long instruction word (VLIW). Η SIMD αρχιτεκτονική χρησιμοποιεί πολύ μεγάλους καταχωρητές οι οποίοι χωρίζονται σε λωρίδες για την επεξεργασία πολλαπλών σημείων δεδομένων με μια απλή εντολή. Αυτή η αρχιτεκτονική ταιριάζει καλύτερα σε εφαρμογές όπου τα δεδομένα είναι παράλληλα, ενώ δεν είναι πολύ αποτελεσματική σε επεξεργασίες γενικού σκοπού. Από την άλλη μεριά, η VLIW χρησιμοποιεί πολλαπλούς αγωγούς, αλλά δεν έχει την λογική της προώθησης, της δρομολόγησης και του ελέγχου κινδύνου που έχουν πολλοί πυρήνες. Αντί αυτού, η περιπλοκότητα μεταφέρεται στον compiler [A5] ο οποίος μετατρέπει τις ομαδικές εντολές σε πακέτα που εκτελούνται παράλληλα. Αν όμως ο compiler δε μπορεί να βρει ένα σαφή παραλληλισμό τότε δημιουργούνται σοβαρά προβλήματα. Τόσο η VLIW όσο και η SIMD είναι αρχιτεκτονικές υψηλής απόδοσης και αποτελεσματικής 34

35 διαχείρισης της ισχύος, αλλά είναι κατάλληλες μόνο για συγκεκριμένους τύπους εφαρμογών. Μερικά από τα πιο σημαντικά πλεονεκτήματα και μειονεκτήματα των παραμέτρων της Αρχιτεκτονικής και της Μικροαρχιτεκτονικής παρουσιάζονται συνοπτικά στον πίνακα 4 και 5 αντίστοιχα. Πίνακας 4 Πλεονεκτήματα και Μειονεκτήματα Αρχιτεκτονικής Πίνακας 5 Πλεονεκτήματα και Μειονεκτήματα Μικροαρχιτεκτονικής 35

36 2.5 Σύστημα Μνήμης Στα συστήματα μνήμης με έναν επεξεργαστή, η μνήμη είναι απλή και αποτελείται από διάφορα επίπεδα μνήμης cache [A3], για την τροφοδοσία του επεξεργαστή με τα δεδομένα. Από την άλλη μεριά, στα πολυεπεξεργαστικά συστήματα, οι cache είναι μόνο ένα μέρος του συστήματος μνήμης που συμπληρώνεται από το συνεκτικό μοντέλο, το σύστημα υποστήριξης της αλληλουχίας cache και τις διασυνδέσεις όλων αυτών των chip. Με τον τρόπο αυτό, καθορίζεται ο τρόπος με τον οποίο επηρεάζεται η προγραμματιστικότητα, η παραλληλία στις εφαρμογές, το πλήθος των πυρήνων που μπορεί να υποστηριχτεί σε ένα σύστημα αλλά και το πως οι πυρήνες αυτοί μπορούν να επικοινωνούν τόσο μεταξύ τους όσο και με τα υπόλοιπα στοιχεία του συστήματος Μοντέλο Συνοχής Το μοντέλο συνοχής διευκρινίζει πως μπορούν οι λειτουργίες της μνήμης να αναδιαταχθούν όταν εκτελείται κώδικας. Σε γενικές γραμμές, το μοντέλο αυτό επηρεάζει την προσπάθεια που πρέπει να καταβάλλει ο προγραμματιστής όταν γράφει τον κώδικα. Αδύναμα μοντέλα απαιτούν από τον προγραμματιστή ακριβή προγραμματισμό για την χρήση των επεξεργαστών, και χρησιμοποιούν περίπλοκα πρωτόκολλα συγχρονισμού. Αντίθετα, ισχυρότερα μοντέλα απαιτούν λιγότερη προσπάθεια από τον προγραμματιστή και χρησιμοποιούν πιο απλά πρωτόκολλα συγχρονισμού. Ταυτόχρονα, τα μοντέλα συνοχής επηρεάζουν και την επίδοση του συστήματος. Τα ισχυρά μοντέλα θέτουν αυστηρούς περιορισμούς στο πως η μνήμη μπορεί να διαβάζει και να γράφει σε άλλα επεξεργαστικά στοιχεία. Αντίθετα, τα αδύναμα μοντέλα επιτρέπουν την ανάγνωση και την εγγραφή στο σύστημα με οποιοδήποτε σειρά, ενώ οι λειτουργίες αυτές είναι ορατές από οποιοδήποτε επεξεργαστή. Αυτός είναι και ο λόγος που τα αδύναμα μοντέλα πρέπει να περιέχουν εμπόδια και φράκτες, έτσι ώστε να επιτρέπουν στους προγραμματιστές να θέτουν αυστηρή συνοχή στην πρόσβαση της μνήμης. Συμπερασματικά λοιπόν, τα αδύναμα μοντέλα συνοχής καθιστούν το σύστημα μνήμης 36

37 ευκολότερο στην σχεδίαση αλλά δυσκολότερο στον προγραμματισμό λόγω της ανάγκης σωστών προσδιορισμών για την ανάλογη συμπεριφορά, ενώ από την άλλη μεριά τα διαδοχικά μοντέλα συνοχής κάνουν πιο εύκολο τον προγραμματισμό αλλά πιο περίπλοκο και αργό το σύστημα μνήμης λόγω της αδυναμίας αύξησης της επίδοσης σε σχέση με την εκτός σειράς λειτουργία Διαμόρφωση Cache Η μνήμη cache [A3] είναι πολύ σημαντική στα πολυεπεξεργαστικά συστήματα, καθώς προσδίδει στα επεξεργαστικά στοιχεία μια γρήγορη και υψηλού εύρου ζώνης τοπική μνήμη. Η σημαντικότητα αυτού γίνεται εμφανής από τη προσπάθεια πρόσβασης ενός αυξανόμενου αριθμού πυρήνων σε μια αργή και χαμηλού εύρους εκτός chip μνήμη. Οι μνήμες cache μπορούν να κατηγοριοποιηθούν και να διαχειριστούν αυτόματα από το υλικό του συστήματος ή να διαχειριστούν ως τοπική μνήμη. Οι αυτόματα κατηγοριοποιήσιμες cache είναι πιο κοινές γιατί θεωρούνται πιο διαφανείς στις εντολές οι οποίες έχουν πρόσβαση στην ομοιόμορφη μνήμη. Τα βασικά μειονεκτήματα των αυτόματων κατηγοριοποιήσιμων cache είναι η μη ντετερμινιστική επίδοση και η ανάγκη για μεγαλύτερο χώρο αποθήκευσης, που οδηγεί στην χρήση μεγαλύτερης επιφάνειας πυριτίου στο chip(περιοχή,area για την αποθήκευση των ετικετών για κάθε είσοδο). Αντίθετα, οι τοπικές αποθήκες παρέχουν ντετερμινιστική επίδοση λόγω της διαχείρισής τους από το λογισμικό εκτέλεσης και προσφέρουν επιπλέον χώρο καθώς δεν χρειάζονται ετικέτες. Η διαχείριση αυτή μπορεί να γίνει φορτική και για το λόγο αυτό προτιμάται από εφαρμογές που απαιτούν λειτουργίες πραγματικού χρόνου. Η ποσότητα της cache που απαιτείται εξαρτάται κυρίως από τις εφαρμογές. Μεγαλύτερες cache είναι καλύτερες όσο αφορά την επίδοση αλλά ταυτόχρονα είναι και πιο αργές. Επίσης, τέτοιες cache χρησιμοποιούνται για εφαρμογές που χρησιμοποιούν δεδομένα μία μόνο φορά. Σε αυτές τις περιπτώσεις είναι επιθυμητό οι cache να ξεχωρίζουν την ροή πρόσβασης από την κανονική πρόσβαση. Το μέγεθος της cache συχνά ισούται με την κενή περιοχή που 37

38 χρησιμοποιείται για τις ετικέτες και την ισχύ που επιτρέπεται. Αυτή η τεχνική συναντάται στις αρχιτεκτονικές ελέγχου επεξεργασίας με επαναχρησιμοποίηση μεγάλων δεδομένων, όπως η αρχιτεκτονική IntelCore i7. Τα επίπεδα της cache έχουν αυξηθεί λόγω της αύξησης της ταχύτητας και του αριθμού των επεξεργαστικών στοιχείων. Η βασική μελέτη περιλαμβάνει την αναζήτηση του πόσους κύκλους μακριά είναι η μνήμη από κάθε επεξεργαστικό στοιχείο. Όσο μεγαλύτερη είναι αυτή η απόσταση (περισσότεροι κύκλοι) τόσο περισσότερα επίπεδα cache απαιτούνται. Το πρώτο cache επίπεδο προτιμάται να είναι μικρό, γρήγορο και προσωπικό για κάθε στοιχείο. Τα επόμενα επίπεδα μπορούν να είναι μεγαλύτερα, πιο αργά και διαμοιραζόμενα μεταξύ των στοιχείων, έτσι ώστε να παρέχουν την ψευδαίσθηση ότι ένα στοιχείο έχει πρόσβαση σε μια γρήγορη μνήμη όταν στην πραγματικότητα η κύρια μνήμη βρίσκεται εκατοντάδες κύκλους επεξεργασίας μακριά. Για τους ενσωματωμένους πολυπύρηνους επεξεργαστές η κύρια μνήμη μπορεί να είναι μόνο μερικούς επεξεργαστικούς κύκλους μακριά και το ένα επίπεδο cache να καλύπτει επαρκώς την κενή περιοχή και την ισχύ. Παρόλα αυτά, μία αύξησή τους συμβάλει στην σταθεροποίηση της ισχύς έτσι ώστε να μειωθεί περαιτέρω το χάσμα μεταξύ της καθυστέρησης και του εύρους της μνήμης Διασύνδεση μεταξύ των chip Η ευθύνη της διασύνδεσης περιλαμβάνει την γενικότερη επικοινωνία μεταξύ των επεξεργαστικών στοιχείων και της αλληλουχίας της cache [A3], εάν υπάρχει. Έχουμε πολλά στυλ διασυνδέσεων στα συστήματα πολλών επεξεργαστών όπως ο δίαυλος, το crossbar, ο δακτύλιος και τα δίκτυα με chip. Ο κάθε τύπος έχει πλεονεκτήματα και μειονεκτήματα, σε θέματα απλότητας και επιδόσεων. Ο δίαυλος είναι απλούστερος στον σχεδιασμό αλλά γρήγορα ξεπερνά τα όρια του εύρους και της καθυστέρησης όταν αυξάνεται ο αριθμός των επεξεργαστικών στοιχείων. Αντίθετα, τα δίκτυα με chip αντιμετωπίζουν πολύ καλά τον αυξανόμενο αριθμό 38

39 των επεξεργαστικών στοιχείων αλλά είναι πιο πολύ πιο δύσκολα στη σχεδίαση. Πίνακας 6 Θετικά και αρνητικά διασυνδέσεων μεταξύ πυρήνων Η διασύνδεση παρέχει στην cache τον αντίστοιχο τύπο του προγραμματιστικού μοντέλου ανάλογα με την αρχιτεκτονική που υποστηρίζεται. Η αλληλουχία της cache διατηρεί μια εικόνα της μνήμης αυτόματα, η οποία είναι ορατή σε όλους τους επεξεργαστές του συστήματος και δείχνει το προγραμματιστικό μοντέλο που βασίζεται η διαμοιραζόμενη μνήμη. Υπάρχουν δύο τρόποι εφαρμογής της αλληλουχίας, αυτή της βασισμένης στην εκπομπή και αυτή της βασισμένης στον κατάλογο. Η πρώτη είναι απλή και επιτυγχάνεται με την χρήση της διασύνδεσης, έτσι ώστε να επιτραπεί μόνο σε έναν επεξεργαστή την φορά να εκτελέσει μια λειτουργία, γεγονός το οποίο είναι ορατό στους υπόλοιπους επεξεργαστές. Στο πρωτόκολλο εκπομπής, όταν προκύπτει μια εγγραφή, στέλνεται αίτημα ακύρωσης σε όλους τους επεξεργαστές για την καταχώρηση των αδειών των εγγραφών. Λόγω της κατάληψης της διασύνδεσης από μία εγγραφή, εάν προκύψει ανάγνωση, αυτή καθυστερεί μέχρι την ολοκλήρωση της εγγραφής. Όταν εκτελείται η ανάγνωση, είναι το μοναδικό αίτημα που υπάρχει σε όλους τους επεξεργαστές και απ ευθείας έχουμε την επιστροφή των δεδομένων που ζητήθηκαν. Η εφαρμογή αυτού του τρόπου έχει νόημα σε συστήματα μικρού αριθμού επεξεργαστών. Η τεχνική αυτή υποστηρίζεται συνήθως στους οχταπύρηνους επεξεργαστές όπως τον IntelCore i7. Από την άλλη μεριά, η βασισμένη στον κατάλογο 39

40 αλληλουχία υποστηρίζεται σε συστήματα μεγαλύτερου αριθμού επεξεργαστών καθώς επιτρέπει την ταυτόχρονη και πολλαπλή αλληλουχία των ενεργειών. Η λειτουργία αυτή βασίζεται σε κόμβους που θέτουν ερωτήματα σε έναν κατανεμημένο κατάλογο ο οποίος περιέχει πληροφορίες σχετικές με το ποια cache περιέχει την κάθε διεύθυνση μνήμης. Η κάθε διεύθυνση μνήμης είναι εκχωρημένη σε έναν κόμβο όπου είναι αποθηκευμένο το αντίστοιχο τμήμα του καταλόγου. Όταν έχουμε αίτημα πρόσβασης, ο επεξεργαστής αποκτά μέσω ερωτήματος μια λίστα με τους επεξεργαστές που κατέχουν το συγκεκριμένο τμήμα cache αυτή την στιγμή. Ο αιτών διεκδικεί δικαίωμα πρόσβασης από όλους τους επεξεργαστές. Στο πρωτόκολλο αυτό η αίτηση εγγραφής στον αρχικό κόμβο δέχεται την λίστα των επεξεργαστών κατοχής του block της cache. Στην συνέχεια το πρωτόκολλο στέλνει αίτημα ακύρωσης προσωπικά σε όλους τους επεξεργαστές που το κατέχουν και περιμένει απάντηση (επιβεβαίωση). Μόλις ληφθούν όλες οι επιβεβαιώσεις γίνεται η εγγραφή. Ταυτόχρονα μπορούμε να έχουμε και ένα αίτημα ανάγνωσης. Επειδή η σύνδεση δεν είναι κατάλληλα ολοκληρωμένη μόνο από την εγγραφή, έχουμε συνήθως παράλληλη εκτέλεση των δύο αυτών ενεργειών. Η εφαρμογή του αυτού τρόπου προτιμάται σε αδύναμα μοντέλα συνοχής και σε μεγάλα συστήματα με δεκάδες ή εκατοντάδες πυρήνες. Δεν είναι απίθανο για μια πολυεπεξεργαστική σχεδίαση να παραλείψει την αλληλουχία cache για να μειώσει την σχεδιαστική πολυπλοκότητα. Η έλλειψη της αλληλουχίας cache σημαίνει ότι το λογισμικό πρέπει να ενεργοποιήσει την επιθυμητή κατάσταση στην μνήμη που πρέπει να δουν όλοι οι επεξεργαστές κατά την εκτέλεση. Αυτό είναι που θέτει το άνω όριο στο προγραμματιστικό μοντέλο για τις παραλλαγές των μηνυμάτων. Για το πεδίο εφαρμογής που μοιράζεται περιορισμένη ποσότητα μνήμης μεταξύ των πυρήνων, αυτό αποτελεί μια πρακτική επιλογή. [2] Τέλος, στον πίνακα 7 έχουμε μια συνοπτική και συγκεντρωτική παρουσίαση των θετικών και των αρνητικών στοιχείων των σχεδιάσεων του συστήματος μνήμης στους πολυπύρηνους επεξεργαστές. 40

41 Πίνακας 7 Θετικά και αρνητικά στα διάφορα συστήματα μνήμης ενός πολυπύρηνου επεξεργαστή 41

42 ΕΝΟΤΗΤΑ 3 Η ενότητα αυτή ασχολείται με την απόδοση των πολυπύρηνων επεξεργαστικών συστημάτων. Για την μέτρηση της απόδοσης χρησιμοποιούνται Benchmarks [A2], σύμφωνα με τα οποία εφαρμόζεται ένα τυποποιημένο σύνολο εντολών ώστε να προσομοιωθεί το σύστημα και να μπορέσουμε να αξιολογήσουμε τα αποτελέσματα. Έτσι έχουμε μία πρώτη εικόνα για το επεξεργαστικό σύστημα που σχεδιάσαμε και βασισμένοι στον σκοπό σχεδιασμού του συστήματος καθώς και στα αποτελέσματα των Benchmarks μπορούμε να βελτιώσουμε τον επεξεργαστή, ώστε να καταλήξουμε στην δημιουργία συστήματος πολλαπλών επεξεργαστών με την καλύτερη δυνατή απόδοση. Αρχικά παρουσιάζεται μια ιστορική εξέλιξη των EEMBC (Embedded Microprocessor Benchmark Consortium) και στην συνέχεια έχουμε τα κριτήρια για την απόδοσης ενός επεξεργαστικού στοιχείου που μας παρέχει ένα benchmark. Επίσης αναλύεται και μια ειδική κατηγορία benchmark που μπορεί να χρησιμοποιηθεί σε πολυπύρηνες σχεδιάσεις. Εικόνα 29 Συγκριτικό διάγραμμα της απόδοσης ανάμεσα σε πολυπύρηνους και μονοπύρηνους επεξεργαστές 42

43 Μέτρηση της Απόδοσης 3.1 Παραδοσιακοί Μέθοδοι Benchmark [Α2] Τα περισσότερα EEMBC πρώτης γενιάς είχαν ως κύρια ασχολία μόνο τις εσωτερικές λειτουργίες ενός επεξεργαστικού πυρήνα και είχαν μικρή αλληλεπίδραση με την εξωτερική μνήμη. Αξίζει να σημειωθεί ότι τα συγκεκριμένα benchmarks [A2] μπορούν να τρέξουν πάνω στα περισσότερα λειτουργικά συστήματα αν και δεν έχουν σχεδιαστεί με αυτή τη λογική. Η απόδοση μετριέται σε επαναλήψεις ανά δευτερόλεπτο όπου μια επανάληψη είναι η διαδοχική εκτέλεση του πυρήνα του benchmark. Τέλος, πρέπει να σημειωθεί ότι ο compiler [A5] παίζει σημαντικό ρόλο στην απόδοση καθώς έχουν παρατηρηθεί διαφορές της τάξεως του 70%. Τα EEMBC δεύτερης γενιάς πάνε ένα βήμα παρακάτω παρέχοντας μεγαλύτερο κώδικα και σύνολα δεδομένων για να εξασφαλίσουν ότι και οι ιεραρχίες της πιο ισχυρής μνήμης και μνήμης cache [A3], δοκιμάζονται. Λόγω της δημοτικότητας και της εξοικείωσης των δυο πρώτων γενιών benchmarks, πολλοί εξακολουθούν να τις χρησιμοποιούν ως μέσο μέτρησης της απόδοσης των πολυπύρηνων επεξεργαστών. Θεωρητικά, πολλαπλά στιγμιότυπα κάθε benchmark μπορούν να ξεκινήσουν ταυτόχρονα. Αυτή η μέθοδος μοιάζει με ένα SPECrate, το οποίο μετράει τη χωρητικότητα του συστήματος για την επεξεργασία εργασιών συγκεκριμένου τύπου σε ένα δεδομένο χρονικό διάστημα. Αυτή η μετρική χρησιμοποιείται το ίδιο, τόσο για πολυεπεξεργαστικά συστήματα, όσο και για μονοεπεξεργαστικά. Στην πραγματικότητα, ακόμα και σε ένα πολυπύρηνο σύστημα δεν είναι δυνατό να υπάρξει εγγύηση ότι αξιοποιείται πάνω από ένας πυρήνας εκτός και αν χρησιμοποιείται κάποιο είδος επεξεργαστικής συνάφειας Κριτήρια Απόδοσης Πολυπύρηνων Benchmarks Τα benchmarks [A2] για πολυπύρηνες αρχιτεκτονικές πρέπει να είναι είτε υπολογιστικά, είτε απαιτητικά σε μνήμη, είτε ένας συνδυασμός και των δύο. Τα κύρια χαρακτηριστικά της απόδοσης ενός πολυπύρηνου συστήματος είναι το εύρος ζώνης της μνήμης του 43

44 πολυπύρηνου επεξεργαστή, καθώς και η επεκτασιμότητα των πόρων του συστήματος Εύρος Ζώνης της Μνήμης Το εύρος ζώνης της μνήμης ενός πολυπύρηνου επεξεργαστή εξαρτάται από το σχεδιασμό του υποσυστήματος της μνήμης, το οποίο με τη σειρά του εξαρτάται από την υποκείμενη πολυπύρηνη αρχιτεκτονική. Η κοινόχρηστη μνήμη είναι συνήθως προσβάσιμη μέσω ενός διαύλου και ελέγχεται από κάποιου είδους μηχανισμού ασφάλισης ώστε να αποφευχθεί η ταυτόχρονη πρόσβαση σε αυτήν από πολλαπλούς πυρήνες. Η ύπαρξη ατομικών μνημών cache [A3] στους πυρήνες μπορεί να οδηγήσει σε bottlenecks μνήμης που επηρεάζουν την επίδοση λόγω του συγχρονισμού μεταξύ των πυρήνων για την πρόσβαση στην ίδια περιοχή μνήμης. Στα συστήματα κατανεμημένης μνήμης, κάθε επεξεργαστής μπορεί να έχει πρόσβαση στη δικιά του τοπική μνήμη αλλά δε μπορεί να τη μοιράζεται με άλλους πυρήνες ακόμα και αν περιέχει κάποια διεύθυνση της καθολικής μνήμης. Όταν ένας πυρήνας ζητά δεδομένα από έναν άλλον πυρήνα, αυτοί πρέπει να συγχρονιστούν και το σύστημα πρέπει να μεταφέρει τα δεδομένα ή αλλιώς ο κώδικας ελέγχου θα πρέπει να τρέξει σε έναν άλλον πυρήνα. Παρόλα αυτά μπορεί και πάλι να δημιουργηθούν bottlenecks μνήμης Επεκτασιμότητα Ο επεξεργαστής έχει μειώσεις στην απόδοση όταν υπερκαλύπτει τους πόρους του συστήματος. Αν ο αριθμός των νημάτων ταιριάζει ακριβώς με τον αριθμό των πυρήνων του επεξεργαστή, τότε η απόδοση θα μπορούσε να κλιμακωθεί γραμμικά υποθέτοντας ότι δεν υπάρχουν περιορισμοί στο εύρος ζώνης της μνήμης. Στην πραγματικότητα όμως, ο αριθμός των νημάτων υπερβαίνει τον αριθμό των πυρήνων και η απόδοση εξαρτάται από τη χρησιμοποίηση της μνήμης cache [A3], το εύρος ζώνης της μνήμης και των Ι/Ο, την ενδοεπικοινωνία των πυρήνων, τον προγραμματισμό 44

45 υποστήριξης του λειτουργικού συστήματος και την αποτελεσματικότητα του συγχρονισμού. Η μερική αλλαγή από ένα σύστημα όπου κάθε επεξεργαστής έχει το δικό του υποσύστημα μνήμης, σε ένα όπου δύο πυρήνες διαμοιράζονται το ίδιο υποσύστημα μνήμης, έχει ως αποτέλεσμα την μείωση της απόδοσης, φτάνοντας σε κρίσιμα επίπεδα, ανεξάρτητα από το επίπεδο του παραλληλισμού μεταξύ των πυρήνων που χρησιμοποιείται στο σύστημα. 3.2 Συμμετρική Πολυεπεξεργασία Πολυπύρηνων με Benchmarks Οι δοκιμές πολυπύρηνων επεξεργαστών με κώδικα δεν αξιολογούν το πλεονέκτημα τους, σύμφωνα με το οποίο παρέχεται βελτίωση μέσω των πυρήνων τους στην απόδοση σε ανεξάρτητες εργασίες, και όχι ενίσχυση της συνολικής απόδοσης με την χρήση όλων των πυρήνων για μια εργασία. Για να γίνει η παραπάνω αξιολόγηση σύμφωνα με τα κριτήρια benchmark χρειάζονται ενέργειες benchmark που αποσυνθέτουν εργασίες, συναρτήσεις ή/και δεδομένα. Συνεπώς, ένα benchmark για πολυπύρηνες πρέπει να εκτελεί εργασίες σε οποιοδήποτε πλήθος πλαισίων, λόγω εκτέλεσης σε διάφορες πλατφόρμες, και να εμφανίζει την βελτίωση της απόδοσης συνυπολογίζοντας όμως τα χρησιμοποιούμενα πλαίσια. 3.3 Multibench Ένα multibench αποτελείται από μια σειρά benchmarks [A2] για πολυπύρηνους επεξεργαστές, τα οποία προσφέρουν, λόγω της διεπαφής αφαίρεσης, ευκολότερη συμμετρική πολυεπεξεργασία και διευθυνσιοδότηση. Πολλά συστήματα υποστηρίζουν νήματα διεπαφής μέσω του Portable Operating System Interface. Κατ επέκταση, λόγω της ανάγκης για απευθείας χαρτογράφηση των περίπλοκων νημάτων εισήχθη η 45

46 διεπαφή αφαίρεσης, εξαλείφοντας ταυτόχρονα την ανάγκη μεταφοράς σε άλλη πλατφόρμα. Τα benchmarks του multibench παραδίδονται σε ομάδες εργασιών όπου κάθε μία περιλαμβάνει ένα ή και περισσότερα είδη, και οι χρήστες επιλέγουν από την λίστα αυτό που μοιάζει πιο πολύ με την δική τους εφαρμογή. Παρόλο που οι multibench δοκιμές βασίζονται με διαφορά στην παραλληλία των πολυπύρηνων επεξεργαστών, παραμένουν υλοποιημένες με βάση την συμμετρική πολυεπεξεργασία και τα ορθογώνια νήματα. Έτσι, ακόμη και τα multibenches δε μπορούν να υποστηρίξουν τους ετερογενείς πυρήνες των SoCs, οι οποίοι απαιτούν προσεκτική ανάλυση και ευέλικτο κώδικα με διαχωρισμό των εργασιών, εξαιτίας της χρήσης διαφορετικών εργαλείων από τμήματα του συστήματος και της μη τυποποιημένης επικοινωνίας μεταξύ των τμημάτων. Για το λόγο αυτό, γίνονται προσπάθειες επέκτασης των multibenches για χρήση σε ετερογενείς πυρήνες. Τέτοιο παράδειγμα αποτελεί το MCAPI (Multicore Communications Application Programming Interface) που προσφέρει τυποποιημένα πλαίσια για ξεχωριστά κομμάτια του benchmark κώδικα, με χρήση MCAPI επικοινωνίας. 3.4 Εφαρμογή Συγκεκριμένων Προτύπων Benchmark Η εφαρμογή συγκεκριμένων προτύπων benchmark ASSBs (Application Specific Standard Benchmarks), γνωστή και ως προσανατολισμένο σενάριο αναφοράς, δημιουργήθηκε για να αυξήσει τα χαρακτηριστικά του κάθε επιπέδου του συστήματος. Τα ASSBs αποτελούν εξέλιξη, λόγω αυξημένων απαιτήσεων, των benchmarks συμμετρικής πολυεπεξεργασίας για συστήματα ετερογενών πολυπύρηνων επεξεργαστών. Μπορούν να θεωρηθούν και ως μαύρο κουτί καθώς δεν ενδιαφέρονται για το τι γίνεται μέσα στο σύστημα όσο τα benchmarks, αλλά μπορούν να διαχειριστούν την είσοδο, να παράγουν την έξοδο, και να έχουν πρόσβαση στα σημεία διασύνδεσης. 46

47 Αν και τα ASSBs μπορούν να χρησιμοποιηθούν στην αξιολόγηση των υπολογιστών, απαιτούν την ομοφωνία των μελών που είναι υπεύθυνα για την αξιολόγηση για την επιλογή του συνόλου. Αναλυτικότερα, κατά την εκτέλεση σε πλατφόρμα αξιολόγησης απαιτείται η συμμετοχή διαφόρων επιπέδων-τμημάτων του συστήματος, συμπεριλαμβανομένου του υλικού και του λογισμικού, και όταν εκτελούνται καθίσταται δύσκολο να απομονωθούν τα επιμέρους συστατικά του συστήματος για δοκιμή και έλεγχο, με αποτέλεσμα αν υπάρξει συμφόρηση σε κάποιο σημείο που δύσκολα μπορεί να ανακαλυφθεί. [3] 47

48 ΕΝΟΤΗΤΑ 4 Η ενότητα αυτή αναφέρεται στις τεχνικές μέτρησης της απόδοσης στα υπολογιστικά συστήματα παραθέτοντας τόσο τους κύριους νόμους που διέπουν την μέτρηση της απόδοσης αλλά και παρουσιάζοντας συγκριτικά διαγράμματα μεταξύ γνωστών πολυπύρηνων επεξεργαστών με τη βοήθεια του προγράμματος "SiSoftware". Πρακτική Εφαρμογή Υπολογισμού της Απόδοσης 4.1 Θεωρητικό Υπόβαθρο της Ανάλυσης της Απόδοσης σε Φορητούς Υπολογιστές Απόδοση Συστημάτων Για να εκτιμήσουμε το υλικό του επεξεργαστή και τις απαιτήσεις εγκατάστασης των νέων συστημάτων της αγοράς, μερικές από τις σημαντικές παραμέτρους οι οποίες θα πρέπει να εξεταστούν είναι η απόδοση μαζί με το κόστος, το μέγεθος, την ασφάλεια, την αξιοπιστία, και σε μερικές περιπτώσεις, την κατανάλωση ισχύος. Είναι δύσκολο να γίνουν συγκρίσεις της απόδοσης διαφορετικών επεξεργαστών οι οποίες να έχουν νόημα, ακόμη και όταν οι επεξεργαστές προέρχονται από την ίδια οικογένεια. Η καθαρή ταχύτητα είναι πολύ λιγότερο σημαντική σε σύγκριση με τον τρόπο με τον οποίο λειτουργεί ένας επεξεργαστής όταν εκτελεί μια συγκεκριμένη εφαρμογή. Δυστυχώς όμως, η απόδοση της εφαρμογής εξαρτάται όχι μόνο από την καθαρή ταχύτητα του επεξεργαστή αλλά και από το σύνολο των εντολών, από την επιλογή της γλώσσας υλοποίησης, την αποτελεσματικότητα του μεταγλωττιστή, και από την προγραμματιστική επιδεξιότητα που χρησιμοποιείται για να υλοποιηθεί η εφαρμογή. [1] Παρόλα αυτά, οι δύο κύριοι παράμετροι που δίνουμε προσοχή όταν εξετάζουμε την απόδοση των επεξεργαστικών συστημάτων είναι ο χρόνος απόκρισης (latency) και το πλήθος των εργασιών που ολοκληρώνονται σε μία μονάδα χρόνου (throughput). Αξίζει όμως να σημειωθεί ότι οι δύο παραπάνω παράμετροι εξετάζουν την απόδοση 48

49 του συστήματος σε επίπεδο προγράμματος και όχι σε επίπεδο εντολών. Παρακάτω, λοιπόν, παρουσιάζονται οι τύποι σύμφωνα με τους οποίους υπολογίζονται το latency και το throughput ενός συστήματος. [14] Στην παρακάτω εικόνα παρουσιάζεται η ιστορική εξέλιξη της αύξησης της απόδοσης των επεξεργαστικών συστημάτων από το 1978 μέχρι και το [17] Εικόνα 30 Η Εξέλιξη της απόδοσης των επεξεργαστών 49

50 4.1.2 Ισχύς και Απόδοση στα Υπολογιστικά Συστήματα Όπως φαίνεται από την παρακάτω εικόνα ο ρυθμός ρολογιού (clock rate) και η ισχύς των επεξεργαστών αυξήθηκε ραγδαία τις τελευταίες δεκαετίες, μέχρι το Τα τελευταία χρόνια παρατηρείται μία πτωτική τάση και στους 2 αυτούς παράγοντες, η οποία οφείλεται στα περιορισμένα όρια ισχύος που μπορούν να διατεθούν για την ψύξη των μικροεπεξεργαστών. Πιο συγκεκριμένα ο επεξεργαστής Pentium 4 Prescott, του 2004, εμφάνισε μια δραματική αύξηση της ισχύος και του clock rate, χωρίς όμως να πετύχει αύξηση της απόδοσης του συστήματος. Τα προβλήματα υπερθέρμανσης που προέκυψαν, λόγω της τοποθέτησης πολλών τρανζίστορ σε μικρό χώρο, οδήγησαν στην εγκατάλειψη της αρχιτεκτονικής αυτής και στην ανάπτυξη της Core αρχιτεκτονικής. Η λογική αυτή συνδυάζει απλούστερο σωληνωτό σύστημα, με μικρότερο clock rate και πολλαπλούς επεξεργαστές σε κάθε chip. Έτσι οδηγηθήκαμε από τους μικροεπεξεργαστές στους πολυεπεξεργαστές. [15] Εικόνα 3130 Ισχύς και clock rate στους μικροεπεξεργαστές Intel x86 50

51 Το βασικότερο πρόβλημα των μικροεπεξεργαστών, που αφορούσε τα τρανζίστορ, ήταν τα μεμονωμένα άτομα στο υπόστρωμα πυριτίου του τρανζίστορ που δημιουργούσε ρεύμα διαρροής. Στην εικόνα 32 που ακολουθεί γίνεται εμφανέστερο το σημείο που περιγράφηκε. Εικόνα 3231 Τρανζίστορ Με την κατανάλωση ισχύ λόγω διαρροής να κυριαρχεί, η συνολική κατανάλωση ενέργειας μπορεί να αντιστοιχηθεί με το μέγεθος του κάθε τρανζίστορ, όπως γίνεται αντιληπτό και από την εικόνα 33 που ακολουθεί. 51

52 Εικόνα 33 Κατανάλωση ενέργειας Σύμφωνα και με τον νόμο του Pollack, η απόδοση ενός επεξεργαστή αυξάνεται ανάλογα με το τετράγωνο της επιφάνειας που καταλαμβάνει στο υπόστρωμα πυριτίου, όπως φαίνεται και από την εικόνα 34. Εικόνα 3432 Νόμος του Pollack 52

53 Το αποτέλεσμα όσων προαναφέρθηκαν ήταν το άνοιγμα του δρόμου προς τους πολυεπεξεργαστές. Στην εικόνα 35, που ακολουθεί, γίνεται κατανοητή η καλύτερη αξιοποίηση του χώρου και της προσφερόμενης ενέργειας ανάμεσα σε ένα απλό σύστημα ενός επεξεργαστή, σε ένα απλό σύστημα μεγαλύτερου επεξεργαστή και σε ένα ίσου μεγέθους με το τελευταίο σύστημα πολλαπλών επεξεργαστών, συνεισφέροντας στην αύξηση της απόδοσης του συστήματος. [4] Εικόνα35 Συγκριτική παρουσίαση ισχύος και απόδοσης Απόδοση στα Πολυπύρηνα Συστήματα Τα εν δυνάμει οφέλη της απόδοσης μιας οργάνωσης πολλαπλών πυρήνων εξαρτώνται άμεσα από τη δυνατότητα της αποτελεσματικής εκμετάλλευσης των παράλληλων πόρων που είναι διαθέσιμοι. Σύμφωνα με τον νόμο του Amdahl ο οποίος διατυπώθηκε από τον Gene Amdahl, μπορεί να υπάρξει μια αύξηση στην ταχύτητα ενός προγράμματος στην περίπτωση που χρησιμοποιηθούν πολλαπλοί 53

54 επεξεργαστές σε σχέση με τη περίπτωση που χρησιμοποιούταν μόνο ένας. Πιο απλά ο νόμος του Amdahl εκφράζεται σύμφωνα με την παρακάτω εξίσωση. Ο παραπάνω νόμος καθιστά ελκυστική την προοπτική μιας οργάνωσης πολλαπλών πυρήνων. Ωστόσο, ακόμη και η ύπαρξη ενός μικρού κομματιού κώδικα του οποίου οι εντολές εκτελούνται σειριακά έχει σημαντική επίδραση στην απόδοση του συστήματος, όπως φαίνεται και από το σχήμα 36.α. Επιπλέον, το λογισμικό εμφανίζει συχνά επιβαρύνσεις οι οποίες οφείλονται στην επικοινωνία και στην κατανομή της εργασίας σε πολλαπλούς επεξεργαστές, αλλά και στην συνοχή της κρυφής μνήμης. Έτσι λοιπόν, όπως φαίνεται και στο σχήμα 36.β, η απόδοσης φτάνει σε μια μέγιστη τιμή και μετά αρχίζει να μειώνεται λόγω της επιβάρυνσης που προκύπτει από τη πολλαπλών πυρήνων. 54

55 Εικόνα 36 Επίδραση των πολλαπλών πυρήνων στην απόδοση Παρόλα αυτά, οι κατασκευαστές λογισμικού έχουν αντιμετωπίσει το πρόβλημα αυτό και υπάρχει ένα μεγάλο πλήθος εφαρμογών οι οποίες εκμεταλλεύονται αποτελεσματικά την οργάνωση των πολλαπλών πυρήνων. Πιο συγκεκριμένα, τα συστήματα διαχείρισης μνήμης και οι εφαρμογές βάσεων δεδομένων είναι μια περιοχή στην οποία είναι δυνατή η αποτελεσματική χρήση των συστημάτων πολλαπλών πυρήνων. Πολλές μορφές εξυπηρετών έχουν επίσης τη 55

56 δυνατότητα να χρησιμοποιούν αποτελεσματικά την παράλληλη οργάνωση πολλαπλών πυρήνων, καθώς οι εξυπηρέτες τυπικά διαχειρίζονται παράλληλα πολλές σχετικά ανεξάρτητες μεταξύ τους συναλλαγές. [1] Παράλληλα, ο νόμος του Gustafson ακολουθεί το επιχείρημα ότι ο νόμος του Amdahl δεν αντιπροσωπεύει επαρκώς τις μαζικά παράλληλες αρχιτεκτονικές που λειτουργούν σε πολύ μεγάλα σύνολα δεδομένων και στις οποίες οι μικρότερες κλίμακες παραλληλισμού δεν μπορούν να δώσουν λύσεις μέσα σε μικρά χρονικά διαστήματα. Σε αυτή την περίπτωση το μέγεθος του προβλήματος δε θεωρείται ότι θα παραμείνει σταθερό. Αντίθετα, ο λόγος της εργασίας που θα εκτελεστεί παράλληλα προς αυτής της εργασίας που θα εκτελεστεί σειριακά πλησιάζει την μονάδα. Ο νόμος αυτός προτάθηκε από τον E. Barsis ως μια εναλλακτική του νόμου του Amdahl μετά την παρατήρηση ότι τρεις διαφορετικές εφαρμογές που έτρεξαν πάνω σε έναν επεξεργαστή 1024 πέτυχαν μια επιτάχυνση της τάξεως των 1000 μονάδων. Σύμφωνα με τον νόμο του Amdahl αυτή η επιτάχυνση θα έπρεπε να είναι της τάξεως των 200 μονάδων στην καλύτερη περίπτωση. Ο νόμος του Gustafson λοιπόν, περιγράφεται από την παρακάτω εξίσωση. Όπου s είναι ο χρόνος που δαπανάται για το παράλληλο σύστημα, p' είναι ο χρόνος που δαπανάται για το παράλληλο σύστημα, και n είναι ο αριθμός των επεξεργαστών. Στο παρακάτω σχήμα παρουσιάζεται μία σύγκριση των αποτελεσμάτων του νόμου του Amdahl και του νόμου του Gustafson σε σχέση με τα παρατηρηθέντα αποτελέσματα της πραγματικής εφαρμογής. 56

57 Εικόνα 37 Σύγκριση του νόμου του Amdahl και του Gustafson σε σχέση με τις παρατηρηθήσες τιμές Από το παραπάνω γράφημα παρατηρείται ότι ο νόμος του Gustafson είναι πιο αισιόδοξος σε σχέση με τον νόμο του Amdahl σε ότι αφορά την επιτάχυνση που μπορεί να επιτευχθεί μέσω της παραλληλοποίησης σε μία πολυπύρηνη CPU. Επίσης γίνεται εμφανές ότι ο χρόνος που δαπανάται στο σειριακό κομμάτι του προβλήματος γίνεται ολοένα και μικρότερης σημασίας καθώς ο αριθμός των επεξεργαστών αυξάνεται. [18] 57

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή 1.5.1 Ανάλυση των μερών ενός υπολογιστή Μονάδα συστήματος Είναι το κουτί του υπολογιστή το οποίο φαίνεται αρκετά συμπαγές, αλλά στην πραγματικότητα αποτελείται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2 Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.

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

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 η έκδοση), μετάφραση: Καθ.

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

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

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

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

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου ΚΕΦΑΛΑΙΟ 1 Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου Υπολογιστικά συστήματα σχεδιάστηκαν για να καλύψουν συγκεκριμένες ανάγκες σε συγκεκριμένη χρονική στιγμή και βοηθούν στη συνολική πρόοδο της τεχνολογίας Φουκαράκη

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

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

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

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

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

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

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

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4 Οργάνωση και Αρχιτεκτονική Υπολογιστών Κεφάλαιο 7.4 Ε/Ε Οδηγούμενη από Διακοπές Το πρόβλημα με την προγραμματιζόμενη Ε/Ε είναι ότι ο επεξεργαστής πρέπει να περιμένει ώστε η μονάδα Ε/Ε που τον ενδιαφέρει

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

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

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

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

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

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

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

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

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

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

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

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

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

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

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

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

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Μέρος 2ο - Lab#4, Κατανεμημένα Συστήματα Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Με ρος 2ο-Lab4, σελίδα 1 Περίληψη Στο 2ο μέρος του εργαστηριακού

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

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

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

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

Εφαρμογές μικροελεγκτών

Εφαρμογές μικροελεγκτών Μικροελεγκτές Έναν ορισμό που θα μπορούσαμε να δώσουμε για τους μικροελεγκτές είναι ο εξής: Μικροελεγκτής είναι ένα προγραμματιζόμενο ολοκληρωμένο κύκλωμα το οποίο διαθέτει επεξεργαστή, μνήμη, διάφορα

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

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

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

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό

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

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

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

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α' ΛΥΚΕΙΟΥ ΕΝΟΤΗΤΑ 1η ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Τι ονομάζουμε υλικό και τι λογισμικό ενός υπολογιστικού συστήματος; 2. Τι είναι α) η μητρική πλακέτα ( motherboard), β) η κεντρική μονάδα

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

Προγραμματισμός Υπολογιστών

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Βασικές γνώσεις Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Η Πληροφορική και τα εργαλεία της Παροχή έγκαιρης και έγκυρης πληροφόρησης. Καταχώριση στοιχείων Αποθήκευση Επεξεργασία ψηφιακών

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

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

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

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

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα1 Υλικό Λογισμικό και Εφαρμογές Κεφ1: Υλικό Υπολογιστών - Hardware Τι ονομάζουμε υλικό υπολογιστών; Με τον όρο υλικό (hardware) αναφερόμαστε σε οτιδήποτε έχει μια φυσική-υλική υπόσταση σε ένα υπολογιστικό

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αρχιτεκτονική Eckert-von Neumann εισόδου μεταφορά δεδομένων από έξω προς τον Η/Υ εξόδου μεταφορά δεδομένων από τον Η/Υ προς τα έξω ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Κύκλος Μηχανής κεντρικός έλεγχος/πράξεις

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 1 : Οργάνωση και Αρχιτεκτονική υπολογιστών Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα Τμήμα Μηχανικών

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

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

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

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

Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος

Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος Κλήμης Νταλιάνης Λέκτορας Π.Δ.407/80 Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Αρχιτεκτονική

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αρχιτεκτονική υπολογιστών Ενότητα 11 : Δομή και Λειτουργία της CPU 1/2 Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

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

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

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

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

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

ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ Άσκηση 1 Ένας επεξεργαστής (ΚΜΕ) υποστηρίζει 371 εντολές. Πόσα bit θα πρέπει να είναι ο καταχωρητής εντολής (ελάχιστη τιμή); (α) 4 bit (β) 16 bit (γ) 1 bit (δ)

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

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Άριστος Πασιάς 1 ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Η ΔΟΜΗ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Άριστος Πασιάς Σεπτέμβριος 2017 2 Στόχοι: Στο τέλος αυτού του μαθήματος ο μαθητή πρέπει: Να μπορεί να αναφέρει τα κύρια χαρακτηριστικά

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

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

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

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

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

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

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

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

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

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg

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

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος Δρ. Μηνάς Δασυγένης mdasyg@ieee.org 1 1 Οι εταιρείες παραγωγής IC διαφημίζουν εκτός από τους επεξεργαστές και τα chipset τους 2 2 Τι είναι όμως

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

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 11 η : Εισαγωγή σε Παράλληλες Αρχιτεκτονικές Παράλληλη Επεξεργασία Επίπεδο Παραλληλισμού Από εντολές έως ανεξάρτητες διεργασίες Οργανώσεις Παράλληλων Αρχιτεκτονικών Συμμετρικοί,

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 2 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Υπολογιστής Συνοπτικό λεξικό Οξφόρδης -> «ηλεκτρονική υπολογιστική μηχανή»

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

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

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

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

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

Εισαγωγή Συμβόλαιο Μαθήματος

Εισαγωγή Συμβόλαιο Μαθήματος ΗΜΥ 212 Οργάνωση Υπολογιστών και Μικροεπεξεγραστές Εαρινό Εξάμηνο 2007 Συμβόλαιο Μαθήματος 1 Γενικές Πληροφορίες Διαλέξεις: Διδάσκων: Βοηθός Μαθήματος: Δευτέρα και Πέμπτη, 16:30 18:00 μ.μ. Πανεπιστημιούπολη,

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

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

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

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

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

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

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

Δομή Ηλεκτρονικού υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

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

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

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

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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