2. Τεχνολογία επεξεργαστών

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

Download "2. Τεχνολογία επεξεργαστών"

Transcript

1 Κεφάλαιο 2: Τεχνολογία επεξεργαστών Τεχνολογία επεξεργαστών 2.1 Επιλογές στη σχεδίαση επεξεργαστών Η κεντρική μονάδα επεξεργασίας (Central Processing Unit CPU) ή επεξεργαστής αποτελεί την καρδιά ενός υπολογιστικού συστήματος. Με την γενίκευση της χρήσης των παράλληλων συστημάτων μέσα σε ένα chip, ένας επεξεργαστής μπορεί πλέον να αποτελείται από πολλούς μικρότερους επεξεργαστές που για λόγους αποφυγής της σύγχυσης αποκαλούνται πυρήνες. Σκοπός της CPU είναι η εκτέλεση των εντολών του προγράμματος και του λειτουργικού συστήματος, δηλαδή η εκτέλεση των πράξεων αριθμητικής και λογικής (AND OR, XOR, κλπ), οι μετακινήσεις δεδομένων από και προς τη μνήμη, ο έλεγχος ροής του προγράμματος (προσκόμιση επόμενης εντολής, εκτέλεση αλμάτων) και η εξυπηρέτηση των διακοπών. Ο απλός επεξεργαστής (ή ο «πυρήνας») περιέχει διάφορες λειτουργικές μονάδες, όπως, τη μονάδα ακέραιων αριθμητικών πράξεων (Arithmetic Logical Unit ALU), τη μονάδα εκτέλεσης πράξεων κινητής υποδιαστολής (Floating point unit FPU) τη λογικό κύκλωμα αποκωδικοποίησης των εντολών και του ελέγχου της ροής του προγράμματος (Control Unit), και την τοπική μνήμη (καταχωρητές και cache). Το λογικό διάγραμμα ενός απλού επεξεργαστή ή ενός πυρήνα ενός πολυπήρνου επεξεργαστή φαίνεται στο Σχήμα 8. Η σχεδίαση ενός επεξεργαστή καθορίζεται από τα τρία παρακάτω χαρακτηριστικά: (α) Σχεδίαση της εσωτερικής μνήμης. Η εσωτερική μνήμη αποτελείται από μια ιεραρχία μνημών που περιλαμβάνει 1. τους καταχωρητές (registers), 2. την cache επιπέδου 1 (L1 cache), 3. την cache επιπέδου 2 (L2 cache), 4. και (συχνά) την cache επιπέδου 3 (L3 cache). Οι καταχωρητές είναι ταχύτατες μνήμες που υλοποιούνται με πύλες τύπου flip-flop (latches) και έχουν χρόνο προσπέλασης μικρότερο από τον κύκλο του ρολογιού. Τροφοδοτούν τη μονάδα αριθμητικών πράξεων σταθερής αλλά και κινητής υποδιαστολής και μπορούν να φορτωθούν από την κύρια μνήμη (load) ή να αποθηκευτούν στην κύρια μνήμη (store). Ωστόσο οι καταχωρητές δεν είναι η μόνη επιλογή για την εσωτερική μνήμη ενός επεξεργαστή. Άλλες επιλογές, αν και όχι πλέον δημοφιλείς, είναι η αρχιτεκτονική σωρού και η αρχιτεκτονική βασισμένη στον συσσωρευτή. Αυτές τις επιλογές θα μελετήσουμε στο Εδάφιο Η κρυφή μνήμη cache υλοποείται σε διάφορα επίπεδα. Τα μικρότερα επίπεδα έχουν μικρότερο μέγεθος (σε bytes) και μεγαλύτερη ταχύτητα προσπέλασης. Όσο ανεβαίνουμε επίπεδα μεγαλώνει το μέγεθος της cache και μικραίνει η ταχύτητά της. Την λειτουργία της cache θα μελετήσουμε στο Κεφάλαιο 3.

2 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 22 (β) Επιλογή του συνόλου των εντολών. Το σύνολο των εντολών που υλοποιεί ένας επεξεργαστής είναι ένα κομβικό στοιχείο καθώς χαρακτηρίζει την αρχιτεκτονική του επεξεργαστή από απόψεως πολυπλοκότητας. Οι συμβατικοί επεξεργαστές όπως οι Intel Core, ανήκουν στην οικογένεια των λεγόμενων υπολογιστών με πολύπλοκο σύνολο εντολών (Complex Instruction Set Computers - CISC). Οι επεξεργαστές αυτοί χρησιμοποιούν μικροπρογραμματισμό και έχουν εντολές που εκτελούνται σε διάφορους κύκλους μηχανής. Έτσι π.χ. άλλες εντολές εκτελούνται σε 1 κύκλο και άλλες παίρνουν 20 κύκλους για να εκτελεστούν. Οι επεξεργαστές με μειωμένο σύνολο εντολών (Reduced Instruction Set Computers - RISC) έχουν μικρό αριθμό κύκλων μηχανής για όλες τις εντολές, δηλαδή 1 με 2 κύκλους ανά εντολή και δε χρησιμοποιούν μικροπρογραμματισμό. Τέτοιοι επεξεργαστές είναι για παράδειγμα, ο ARM (χρησιμοποιείται σε κινητά τηλέφωνα και tablets), η σειρά POWER6 και 7 της IBM (χρησιμοποιείται σε υπολογιστές IBM, Apple και σε παιχνιδομηχανές), οι επεξεργαστές MIPS (χρησιμοποιούνται στους υπολογιστές SGI και σε παιχνιδομηχανές), οι επεξεργαστές SPARC της Oracle και Fujitsu, οι επεξεργαστές SuperH της Hitachi, κλπ. Οι επεξεργαστές RISC έχουν εν γένει ταχύτερο κύκλο μηχανής από τους αντίστοιχους CISC.και θα τους μελετήσουμε λεπτομερέστερα στο Εδάφιο (γ) Χρήση pipelining και παραλληλισμού. Το pipelining αποτελεί βασικό συστατικό των επεξεργαστών. Χρησιμοποιείται τόσο στην εκτέλεση των εντολών όσο και στις πράξεις κινητής υποδιαστολής. Εκεί που υπάρχει διαφοροποίηση, και συνεπώς δυνατότητα επιλογής, είναι στο πόσες pipeline διαθέτει ένας επεξεργαστής και με ποιο τρόπο είναι οργανωμένες. Οι επεξεργαστές με πολλαπλές pipelines καλούνται superscalar ή VLIW (Very Long Instruction Word). Στην περίπτωση superscalar το υλικό αποφασίζει την δρομολόγηση πολλαπλών εντολών στις διάφορες pipeline, ενώ στην αρχιτεκτονική VLIW ο μεταφραστής είναι υπεύθυνος για το «πακετάρισμα» πολλαπλών εντολών προς ταυτόχρονη εκτέλεση στις διάφορες pipeline. Το θέμα του pipelining θα μας απασχολήσει στο Κεφάλαιο 4. Επί πλέον, η παράλληλη επεξεργασία τα τελευταία χρόνια αποτελεί το νέο μεγάλο κεφάλαιο στην αρχιτεκτονική των επεξεργαστών. Οι περισσότεροι μοντέρνοι επεξεργαστές περιέχουν πολλαπλούς πυρήνες που μπορεί ο καθένας να περιέχει πολλαπλές pipeline. Το αντικείμενο της παράλληλης επεξεργασίας θα μας απασχολήσει στα Κεφάλαια 6-9.

3 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 23 Bus Level 2 Cache Instruction Fetch Control Unit Instruction Decode Μικρο-κώδικας Δρομολόγηση εντολών Store Load ALU FPU Level 1 Cache Καταχωρητές Σχήμα 8: Λογικό διάγραμμα ενός απλού επεξεργαστή (ή ενός πυρήνα ενός πολυπύρηνου επεξεργαστή) Αρχιτεκτονική εσωτερικής μνήμης. Ένα από τα πιο σημαντικά στοιχεία ενός επεξεργαστή είναι το είδος της εσωτερικής μνήμης που έχει. Υπάρχουν τρεις βασικές επιλογές: 1. Αρχιτεκτονική σωρού (stack). Σ' αυτή την επιλογή οι τελεστές μιας πράξης (πχ. ADD) βρίσκονται σε μια μνήμη τύπου σωρού. Ο σωρός αυτός αποτελείται από καταχωρητές μέσα στον επεξεργαστή και τροφοδοτείται από την μνήμη με τις εντολές push και pop. 2. Αρχιτεκτονική βασισμένη σε συσσωρευτή (accumulator). Σ' αυτήν την επιλογή υπονοείται ότι ένας τελεστής είναι πάντα ο συσσωρευτής. Έτσι π.χ. η εντολή ADD χρειάζεται μόνο μια παράμετρο: τον άλλο τελεστή που θα προστεθεί στον συσσωρευτή. Ο άλλος τελεστής βρίσκεται συνήθως σε μια θέση μνήμης. Η αρχιτεκτονική αυτή χρησιμοποιείταν στο παρελθόν όταν δεν υπήρχε αρκετός χώρος στο chip για πολλούς καταχωρητές. 3. Αρχιτεκτονική καταχωρητών γενικού σκοπού (general purpose registers). Σ' αυτήν την επιλογή δεν υπάρχουν υπονοούμενοι τελεστές στις πράξεις. Υπάρχουν ωστόσο δύο παραλλαγές της αρχιτεκτονικής:

4 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 24 (α) η αρχιτεκττονική register-memory που επιτρέπει ο ένας τελεστής σε μια πράξη να είναι θέση μνήμης ενώ ο άλλος είναι καταχωρητής και (β) η αρχιτεκτονική register-register (ή load-store) όπου υποχρεωτικά όλοι οι τελεστές των πράξεων να είναι μόνο καταχωρητές. Η προσπέλαση στη μνήμη γίνεται μόνο με τις εντολές LOAD, STORE Αυτή είναι και η επιλογή που έχει κυριαρχήσει σήμερα. Ο Πίνακας 4 δείχνει ένα παράδειγμα εκτέλεσης της πράξης C=A+B σύμφωνα με τις τέσσερεις παραπάνω αρχιτεκτονικές (1, 2, 3α, 3β). Οι πρώτοι υπολογιστές ήταν βασισμένοι στο μοντέλο της σωρού. Από το 1980 και μετά ωστόσο έχει κυριαρχήσει το μοντέλο των καταχωρητών και συγκεκριμένα η αρχιτεκτονική load-store. Πίνακας 4. Οι κώδικες που εκτελούν την πράξη C=A+B σε τέσσερεις διαφορετικές αρχιτεκτονικές εσωτερικής μνήμης επεξεργαστών. Σωρός Συσσωρευτής Καταχωρητές (register-memory) Καταχωρητές (register-register) PUSH A LOAD A LOAD R1, A LOAD R1, A PUSH B ADD B ADD R1, B LOAD R2, B ADD STORE C STORE C, R1 ADD R3, R2, R1 POP C STORE C, R3 Οι λόγοι για τους οποίους κυριάρχησαν οι καταχωρητές στην αρχιτεκτονική είναι οι εξής: (α) Οι καταχωρητές είναι ταχύτεροι από τη μνήμη. Προφανώς, ακόμη και οι αρχιτεκτονικές load/store απαιτούν πρόσβαση στη μνήμη με την εκτέλεση εντολών load για να φορτωθούν τα δεδομένα στους καταχωρητές την πρώτη φορά. Ωστόσο, αφού φορτωθούν τα δεδομένα μπορούν πλέον να χρησιμοποιούνται πολλές φορές στις πράξεις χωρίς να χρειάζεται ξανά πρόσβαση στη μνήμη. Τυπικά η πρόσβαση στη μνήμη απαιτεί 5-10 κύκλους μηχανής ενώ η πρόσβαση σε ένα καταχωρητή απαιτεί 1 κύκλο. Έτσι με την αρχιτεκτονική register-register, για παράδειγμα, την πρώτη φορά γίνεται πρόσβαση στη μνήμη με κόστος 5-10 κύκλους για το φόρτωμα της μεταβλητής A στον καταχωρητή R1, αλλά από εκεί και πέρα κάθε φορά που θέλουμε να χρησιμοποιήσουμε τη μεταβλητή A θα χρησιμοποιούμε τον R1, η πρόσβαση του οποίου κοστίζει μόλις ένα κύκλο μηχανής. (β) Οι μεταφραστές μπορούν να χειριστούν τους καταχωρητές πιο ευέλικτα απ' ότι την μνήμη σωρού. Για παράδειγμα, αν οι τιμές των παραμέτρων της πράξης (A*B)- (C*D) βρίσκονται σε καταχωρητές τότε οι δύο πολλαπλασιασμοί μπορούν να γίνουν με οποιαδήποτε σειρά πριν από την αφαίρεση κι αυτό μπορεί να βολεύει για λόγους θέσης των τελεστών. Αν π.χ. οι τιμές C, D βρίσκονται ήδη σε δύο

5 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 25 καταχωρητές του επεξεργαστή ενώ οι τιμές A, B βρίσκονται ακόμα στην κύρια μνήμη συμφέρει να κάνουμε πρώτα την πράξη C*D ενώ ταυτόχρονα οι τιμές A, B φορτώνονται από τη μνήμη σε άλλους καταχωρητές κερδίζοντας έτσι χρόνο. Ένας άλλος λόγος που προτιμούνται οι καταχωρητές είναι το pipelining που θα μελετήσουμε αργότερα. (γ) Το πιο σημαντικό πλεονέκτημα των καταχωρητών είναι ότι μπορούν να φυλάσσουν κάποιες μεταβλητές ενός προγράμματος μειώνοντας έτσι την κυκλοφορία μεταξύ μνήμης και επεξεργαστή, αυξάνοντας την ταχύτητα του προγράμματος αφού η προσπέλαση στη μνήμη είναι πιο αργή από την προσπέλαση σε ένα καταχωρητή. Οι σχεδιαστές μεταφραστών θα ήθελαν όλοι οι καταχωρητές ενός επεξεργαστή να είναι γενικού σκοπού για να μπορούν να δεσμεύουν κάθε μεταβλητή στο πρόγραμμα με ένα καταχωρητή. Παλιότερες αρχιτεκτονικές (π.χ. ο 8086) διέθεταν πολύ λίγους επεξεργαστές γενικού σκοπού (π.χ. ο AX) ενώ είχαν πολλούς επεξεργαστές δεσμευμένους σε ειδικές εργασίες (π.χ. o SP ήταν ο stack pointer, ο CS ήταν ο δείκτης στο code segment, ο DS στο data segment, κλπ). Οι σημερινοί επεξεργαστές έχουν πολλούς καταχωρητές γενικού σκοπού (π.χ. πάνω από 100). Πόσοι καταχωρητές χρειάζονται; Η απάντηση εξαρτάται από πόσους χρησιμοποιεί ο μεταφραστής αλλά ο κανόνας είναι ότι, από πλευράς μεταφραστών, όσο περισσότεροι τόσο καλύτερα. Οι περισσότεροι μεταφραστές χρησιμοποιούν κάποιους καταχωρητές για αριθμητικές πράξεις, κάποιους άλλους για πέρασμα παραμέτρων, και τέλος κάποιους για φύλαγμα global μεταβλητών. Από πλευράς αρχιτεκτονικής φυσικά υπάρχει περιορισμένος χώρος πάνω στο chip και δεν μπορεί ο επεξεργαστής να αποτελείται μόνο από καταχωρητές, χρειάζεται χώρο για λογικά/αριθμητικά κυκλώματα, κυκλώματα αποκωδικοποίησης εντολών, μνήμη cache, κλπ. Οι μοντέρνοι επεξεργαστές που χρησιμοποιούν αρχιτεκτονική καταχωρητών κατατάσσονται σε κατηγορίες ανάλογα με το πόσους τελεστές μνήμης μπορεί να έχει μια αριθμητική εντολή (εντολή ALU). Ο Πίνακας 5 δείχνει τις βασικές κατηγορίες και κάποια συγκεκριμένα παραδείγματα επεξεργαστών. Πίνακας 5. Συνδυασμοί αριθμού τελεστών από τη μνήμη και συνολικού αριθμού τελεστών σε μια εντολή πράξης (εντολή ALU). Αριθμός κλήσεων μνήμης ανά εντολή Μέγιστος αριθμός τελεστών ανά εντολή Παραδείγματα επεξεργαστών 0 3 SPARC, MIPS, PowerPC, DEC-Alpha 1 2 Intel 80x86, Motorola VAX 3 3 VAX

6 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 26 Οι επεξεργαστές με 0 κλήσεις στη μνήμη καλούνται όπως είδαμε επεξεργαστές τύπου register-register ή load-store. Τα πλεονεκτήματα αυτής της αρχιτεκτονικής είναι η απλή αποκωδικοποίηση των εντολών. Συχνά οι εντολές αυτών των αρχιτεκτονικών παίρνουν τον ίδιο αριθμό κύκλων μηχανής για να εκτελεστούν. Αυτό απλοποιεί πολύ τα πράγματα και όσον αφορά το pipelining όσο και το σχεδιασμό μεταφραστών. Το κυριότερο μειονέκτημα είναι ο μεγαλύτερος αριθμός εντολών που χρειάζονται για να εκτελέσουν ένα πρόγραμμα σε σχέση με τον αριθμό εντολών που χρησιμοποιεί μια αρχιτεκτονική με κλήση της μνήμης για να εκτελέσει το ίδιο πρόγραμμα. Οι επεξεργαστές με 1 κλήση στη μνήμη και 2 τελεστές καλούνται επεξεργαστές τύπου register-memory. Το πλεονέκτημα των επεξεργαστών αυτών είναι ότι τα δεδομένα της μνήμης μπορούν να προσπελασθούν άμεσα χωρίς LOAD. Το μειονέκτημα είναι ότι οι εντολές δεν έχουν τον ίδιο αριθμό κύκλων μηχανής πράγμα που δυσκολεύει τόσο την αποκωδικοποίηση όσο και το pipelining. Οι επεξεργαστές με ίδιο αριθμό κλήσεων στη μνήμη και αριθμό τελεστών (2,2) ή (3,3) καλούνται επεξεργαστές memory-memory. Αυτή είναι μια αρχιτεκτονική επιλογή που δεν χρησιμοποιείται πλέον αλλά είχε χρησιμοποιηθεί στο παρελθόν (VAX). Εκτός του ότι η αρχιτεκτονική αυτή έχει μεγάλες διαφορές στον αριθμό κύκλων ανά εντολή έχει και μοιραία πολλές κλήσεις στη μνήμη και έτσι δημιουργείται κυκλοφοριακή συμφόρηση στη γραμμή επικοινωνίας μεταξύ επεξεργαστή και μνήμης Κλήσεις διευθύνσεων μνήμης (memory addressing). Οι μεταβλητές που χρησιμοποιούνται σε ένα πρόγραμμα φυλάσσονται σε κάποιο είδος μνήμης (κύρια μνήμη και καταχωρητές). Οι πιο συνηθισμένοι τρόποι κλήσης της μνήμης φαίνονται στον Πίνακας 6. Βλέπουμε ότι ορισμένοι από αυτούς τους τρόπους είναι αρκετά πολύπλοκοι και απαιτούν κάποιες πράξεις για να προσδιοριστεί ακριβώς ποια διεύθυνση μνήμης καλείται. Είναι προφανές ότι για παράδειγμα, ο άμεσος τρόπος (immediate) είναι ο ταχύτερος από όλους ενώ αρκετά ταχύς είναι και ο τρόπος του καταχωρητή (register). Αντίθετα, ο τρόπος της έμμεσης μνήμης (memory indirect) είναι από τους πιο αργούς, αφού απαιτεί δύο κλήσεις στην κύρια μνήμη. Πίνακας 6. Οι πιο συνηθισμένοι τρόποι κλήσης της μνήμης, χρησιμοποιώντας το παράδειγμα της πρόσθεσης. Οι τρόποι αυτοί προέρχονται από πραγματικούς επεξεργαστές του εμπορίου. Τρόπος κλήσης Παράδειγμα εντολής Λειτουργία Register ADD R4, R3 reg[r4] reg[r4] + reg[r3] (καταχωρητής) Immediate ADD R4, 5 reg[r4] reg[r4] + 5 (άμεσος) Displacement (μετατόπιση) ADD R4, 100(R1) reg[r4] reg[r4] + mem[reg[r1]+100] Register deferred (έμμεσος καταχωρητής) ADD R4, (R1) reg[r4] reg[r4] + mem[reg[r1]] Indexed ADD R3, (R1+R2) reg[r3] reg[r3] +

7 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 27 (με δείκτη) mem[reg[r1] +reg[r2]] Direct(άμεση μνήμη) ADD R1, (587) reg[r1] reg[r1] + mem[587] Memory indirect (έμμεση μνήμη) Autoincrement (αυτο-αύξηση) Autodecrement (αυτο-μείωση) Scaled (κλιμακούμενος) ADD reg[r1] reg[r1] + mem[mem[reg[r3]]] ADD R1, (R2)+ reg[r1] reg[r1] + mem[reg[r2]] reg[r2] reg[r2] + d ADD R1, -(R2) reg[r2] reg[r2] d reg[r1] reg[r1] + mem[reg[r2]] ADD R1, reg[r1] reg[r1] + 100(R2)[R3] mem[100+reg[r2] +reg[r3]*d] Η υποστήριξη όλων αυτών των τρόπων κλήσης επιβαρύνει σημαντικά την πολυπλοκότητα του επεξεργαστή. Το πλεονέκτημα είναι η μείωση του αριθμού των εντολών που απαιτούνται σε ορισμένες περιπτώσεις για να γίνει πρόσβαση στα δεδομένα. Όπως δείχνει ο Πίνακας 7 για τρία διαφορετικού τύπου προγράμματα που τρέχουν στον επεξεργαστή του VAX, η συχνότητα χρήσης κάποιων τρόπων κλήσης της μνήμης είναι πολύ μικρότερη από κάποιους άλλους. Ο άμεσος τρόπος (immediate) και η μετατόπιση (displacement) είναι οι πιο συχνοί τρόποι ενώ αντίθετα τρόποι όπως με δείκτη (indexed) ή με αυτο-αύξηση / αυτομείωση (autoincrement / autodecrement) δεν χρησιμοποιούνται καθόλου. Πίνακας 7. Η συχνότητα χρησιμοποίησης των διάφορων τρόπων κλήσης μνήμης στην αρχιτεκτονική του VAX για τρία τυπικά προγράμματα (Tex, spice, gcc). Είναι σαφής η διαφοροποίηση στη συχνότητα χρήσης των τρόπων αυτών η οποία είναι αντιστρόφως ανάλογη της πολυπλοκότητάς τους. Προγράμματα TeX (πρόγραμμα επεξεργασίας κειμένου) Spice (πρόγραμμα εξομοίωσης ηλεκτρονικών κυκλωμάτων) Gcc (μεταφραστής C) Memory indirect 1% 6% 1% Scaled 0% 16% 6% Register deferred 24% 24% 11% Immediate 43% 43% 39%

8 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 28 Displacement 32% 55% 60% Είδη εντολών. Οι κυριότερες κατηγορίες εντολών σε ένα μοντέρνο επεξεργαστή φαίνονται στον Πίνακας 8. Η χρήση αυτών των εντολών εξαρτάται από την αρχιτεκτονική αλλά γενικά, οι πιο απλές εντολές έχουν τη μεγαλύτερη συχνότητα χρήσης όπως φαίνεται και στον Πίνακα 2-6 όπου το SPECint92 benchmark δοκιμάστηκε πάνω σε επεξεργαστή τύπου Intel 80x86. Τύπος εντολής Αριθμητική λογική Μεταφοράς δεδομένων Ελέγχου Συστήματος Επεξεργασία Συμβολοσειρών Γραφικά Πίνακας 8. Κατηγορίες εντολών και παραδείγματα. Παράδειγμα add, subtract, and, or, κλπ load, store, move, κλπ branch, jump, return, call, trap κλήσης λειτουργικού συστήματος, εικονική μνήμη, κλπ string move, string compare, string search, κλπ pixel operations Είναι σαφές ότι η βελτίωση της ταχύτητας ενός επεξεργαστή βασίζεται στη βελτίωση της ταχύτητας εκτέλεσης των πιο συχνών εντολών. Επομένως πρέπει να δοθεί έμφαση στην βελτίωση της ταχύτητας των εντολών του Πίνακας 9. Πίνακας 9. Οι δέκα πιο συχνές εντολές στο benchmark SPECint92. Σειρά συχνότητας Εντολή 80x86 Ποσοστό επί συνόλου εντολών 1 load 22% 2 conditional branch 20% 3 compare 16% 4 store 12% 5 add 8% 6 and 6% 7 sub 5% 8 move register-register 4% 9 call 1% 10 return 1% Σύνολο 96% Ειδικά για τις εντολές ελέγχου χρειάζεται ειδική ανάλυση γιατί αυτές αλλάζουν τη ροή του προγράμματος. Θα τις χωρίσουμε σε 4 κατηγορίες με τις αντίστοιχες συχνότητες χρησιμοποίησης όπως παρακάτω

9 Κεφάλαιο 2: Τεχνολογία επεξεργαστών Άλματα χωρίς συνθήκη (jumps) 5% 2. Άλματα υπό συνθήκη (conditional jumps) 85% 3. Κλήσεις υπορουτινών (procedure calls) 5% 4. Επιστροφές υπορουτινών (procedure returns) 5% Τα άλματα υπό συνθήκη είναι με διαφορά η πιο συχνή κατηγορία εντολών ελέγχου ροής του προγράμματος. Τα άλματα υπό συνθήκη ορίζονται συνήθως σε σχέση με τον Μετρητή Εντολών (Program Counter). Με άλλα λόγια η εντολή που θα εκτελεστεί μετά το άλμα ορίζεται σαν offset σε σχέση με τον PC. Πειράματα έχουν δείξει ότι το 75% των jumps είναι προς τα εμπρός και ότι ο στόχος δεν απέχει συνήθως πάνω από 100 εντολές από την εντολή άλματος. Αυτό σημαίνει ότι τουλάχιστον 8 bits πρέπει να χρησιμοποιηθούν για να ορίσουν τον στόχο του άλματος σε σχέση με τον PC. Πιο πολλά bits θα επιβαρύνουν το μέγεθος της εντολής χωρίς ουσιαστικό κέρδος αφού σπάνια θα εμφανίζεται άλμα μεγαλύτερο από 256 εντολές. Στις σπάνιες αυτές περιπτώσεις μπορεί να χρησιμοποιούνται ειδικές εντολές (far jump) που μπορούν να χρησιμοποιούν την κύρια μνήμη για την αποθήκευση της διεύθυνσης του στόχου. Οι επιστροφή από κλήση μιας υπορουτίνας (εντολή return) σε αντίθεση με τις εντολές call και jump, δεν έχει προκαθορισμένο στόχο, δηλαδή δεν ξέρουμε πριν τρέξει το πρόγραμμα ποια εντολή θα εκτελεστεί μετά το άλμα. Η επιστροφή γίνεται στην επόμενη εντολή που κάλεσε την ρουτίνα και επομένως η διεύθυνσή της γίνεται γνωστή μόνο την ώρα που τρέχει το πρόγραμμα (run-time). Σε αυτές τις περιπτώσεις γίνεται συνήθως χρήση κάποιου καταχωρητή που φυλάσσει τη διεύθυνση επιστροφής. Τα άλματα που χρησιμοποιούν καταχωρητές για τη διεύθυνση του στόχου λέγονται register-indirect jumps και χρησιμοποιούνται επίσης και στις παρακάτω περιπτώσεις στις εντολές case (ή switch) στις δυναμικές βιβλιοθήκες (dynamic shared libraries) οι οποίες φορτώνονται μόνο εφόσον κληθούν στις εικονικές συναρτήσεις (virtual functions) που χρησιμοποιούνται σε αντικειμενοστραφείς γλώσσες όπως η C++. Η διαχείριση ενός άλματος υπό συνθήκη γίνεται με τρεις βασικές μεθόδους οι οποίες περιγράφονται παρακάτω μαζί με τα βασικά πλεονεκτήματα και μειονεκτήματά τους. (α) Χρήση ενός ή περισσότερων bit συνθήκης (condition code). Στην μέθοδο αυτή εκτελούνται δύο εντολές, μια σύγκριση και ένα άλμα το οποίο εξαρτάται από το αποτέλεσμα της σύγκρισης. Ανάλογα με το αποτέλεσμα της σύγκρισης γίνονται set ή reset διάφορα bits στην μονάδα επεξεργασίας. Τα bits αυτά αποτελούν τον κώδικα της συνθήκης (condition code CC) που δηλώνει μεγαλύτερο, ίσο, μικρότερο, μικρότεροίσο, άνισο, μεγαλύτερο-ίσο, κλπ. Τα μειονεκτήματα της μεθόδου είναι ότι το CC προσθέτει ένα ή περισσότερα bits κατάστασης στον επεξεργαστή και επίσης η σειρά

10 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 30 εκτέλεσης των εντολών περιορίζεται αφού η μια εντολή περνάει στην άλλη πληροφορία μέσα από το CC. (β) Χρήση καταχωρητή (condition register). Στην μέθοδο αυτή εκτελούνται πάλι δύο εντολές, μια σύγκριση και ένα άλμα αν η σύγκριση πετύχει. Το αποτέλεσμα της σύγκρισης (συνήθως η διαφορά μεταξύ δύο αριθμών) ελέγχεται από ένα καταχωρητή με την εντολή test. Η μέθοδος αυτή είναι αρκετά απλή και δεν προσθέτει πολυπλοκότητα στο υλικό. Το βασικότερο μειονέκτημα είναι ότι καταναλίσκεται ένας καταχωρητής για το σκοπό αυτό. (γ) Σύγκριση και άλμα σε μια εντολή (compare and branch). Το άλμα γίνεται πιο γρήγορα αλλά υλοποιείται με πιο περίπλοκο υλικό (hardware) πράγμα που μπορεί να είναι ανεπιθύμητο. Συνήθως οι εντολές σύγκρισης που υλοποιούνται είναι πολύ απλές και λίγες σε αριθμό γι τον παραπάνω ακριβώς λόγο Επιλογές στη σχεδίαση του συνόλου των εντολών (instruction set) Μια από τις σημαντικότερες επιλογές στην σχεδίαση ενός επεξεργαστή είναι η επιλογή του συνόλου των εντολών που εκτελούνται απ' ευθείας από το υλικό. Υπάρχουν δύο βασικές επιλογές: οι επεξεργαστές πολύπλοκου συνόλου εντολών (Complex Instruction Set Computers: CISC) και οι επεξεργαστές μειωμένου συνόλου εντολών (Reduced Instruction Set Computers: RISC). Στα επόμενα εδάφια θα μελετήσουμε με λεπτομέρεια τις δύο αυτές φιλοσοφίες σχεδίασης. Εδώ θα μελετήσουμε τα συγκριτικά πλεονεκτήματα και μειονεκτήματα της κάθε προσέγγισης,, θα δούμε ποιες σχεδιαστικές επιλογές υπάρχουν, και θα παρουσιάσουμε ποσοτικές μετρήσεις που είναι εν πολλοίς ανεξάρτητες από το σύνολο των εντολών που χρησιμοποιούνται Επεξεργαστές Πολύπλοκου συνόλου εντολών (Complex Instruction Set Computers: CISC) Από τα πρώτα χρόνια της ιστορίας των υπολογιστών πολλοί σχεδιαστές επιζητούσαν να γεφυρώσουν το σημασιολογικό χάσμα μεταξύ των γλωσσών υψηλού επιπέδου, στην οποία οι προγραμματιστές γράφουν τα προγράμματά τους, και της γλώσσας μηχανής, δηλαδή του συνόλου των εντολών που εκτελεί ένας επεξεργαστής. Οι εντολές υψηλού επιπέδου είναι σημασιολογικά πιο «πυκνές» αφού μια τέτοια εντολή τυπικά αναλύεται σε πολλές εντολές μηχανής. Για παράδειγμα, θεωρείστε την παρακάτω απλή εντολή σε γλώσσα C, όπου ο πίνακας x περιέχει ακεραίους 32 bit (= 4 byte): x[i] = x[i-1] + 2; Η εντολή αυτή, ανάλογα με την αρχιτεκτονική του επεξεργαστή, μπορεί να αναλυθεί σε 5 έως και 10 εντολές μηχανής. Πχ, αν ακολουθηθεί το μοντέλο load-store η εντολή αυτή θα έσπαζε στο εξής παρακάτω πρόγραμμα γλώσσας μηχανής: LOAD R1, i ;Φόρτωσε το i στον καταχωρητή R1 SUB R2, R1, #1 ;R2 = i-1 LOAD R3, x ;Φόρτωσε τον δείκτη της αρχής του ;πίνακα x στον R3

11 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 31 MUL R2, R2, #4 ;R2 = 4*(i-1) ADD R4, R3, R2 ;R4 = x+4*(i-1) LOAD R5, (R4) ;R5 = MEM[x+4*(i-1)] = x[i-1] ADD R6, R5, #2 ;R6 = x[i-1]+2 MUL R1, R1, #4 ;R1 = 4*i ADD R7, R3, R1 ;R7 = x+4*i STOR (R7), R6 ;MEM[x+4*i] = x[i-1]+2 Το σημασιολογικό χάσμα γίνεται αμέσως εμφανές. Έτσι πολλοί σχεδιαστές αποφάσισαν υλοποιήσουν όσο το δυνατόν περισσότερες λειτουργίες πάνω στο υλικό (hardware), δηλαδή να δώσουν στον επεξεργαστή ένα πλούσιο ρεπερτόριο εντολών το οποίο θεωρείτο ότι θα βελτίωνε την απόδοση του συνολικού συστήματος. Ο κύριος λόγος ήταν το γεγονός ότι το υλικό είναι γρηγορότερο από το λογισμικό και επομένως συμφέρει να υλοποιηθεί κάποια πράξη σε υλικό παρά σε λογισμικό. Η σχεδιαστική φιλοσοφία των απλών συνόλων εντολών (RISC) που θα μελετήσουμε παρακάτω και είναι αντίθετη με το CISC, δημιούργησε επανάσταση στην αρχιτεκτονική των υπολογιστών τη δεκαετία του Ωστόσο, οι αρχιτεκτονικές επεξεργαστών με πλούσιο σύνολο εντολών δεν έπαψαν ποτέ να υπάρχουν και μάλιστα τις βρίσκουμε σήμερα στους δημοφιλείς επεξεργαστές της οικογένειας x86 (IA32) της Intel οι οποίοι κυριαρχούν στους περισσότερους υπολογιστές γραφείου (desktop) αλλά και σε πολλούς φορητούς υπολογιστές (laptop). Μια άλλη αρχιτεκτονική που ακολουθεί σήμερα τη φιλοσοφία CISC είναι η Z/Architecture της IBM που χρησιμοποιείται στα IBM mainframes. Τα σημαντικότερα χαρακτηριστικά των αρχιτεκτονικών CISC είναι: 1. Μεγάλο ρεπερτόριο εντολών που συνήθως περιέχει περισσότερες από 400 εντολές. 2. Οι εντολές έχουν διαφορετικά μήκη (πλήθος bytes) και διαφορετικό αριθμό δεδομένων: άλλες μπορεί να χρησιμοποιούν ένα τελεστή, άλλες δύο, άλλες τρεις, και άλλες κανένα. Αυτό έχει δύο βασικές συνέπες: (α) απαιτείται η χρήση μικροκώδικα (microcode). Ο μικροκώδικας αναλύει την εντολή μηχανής σε μικρότερες «μικροεντολές» οι οποίες ελέγχουν της ροή της πληροφορίας μέσα στον επεξεργαστή ρθυμίζοντας τα κατάλληλα flags. Ο μικροκώδικας φυλάσσεται εσωτερικά στο chip του επεξεργαστή σε ειδική μνήμη μόνο ανάγνωσης (ROM). Αυτό ωστόσο δημιουργεί μια μικρή καθυστέρηση στην εκτέλεση των εντολών καθώς η προσπέλαση της ROM απαιτεί κάποιο χρόνο. Επί πλέον, ο μικροκώδικας ως πρόγραμμα είναι επιρρεπής σε σφάλματα. (β) τη σχεδίαση της pipeline εντολών δυσχεραίνεται αρκετά καθώς οι εντολές δεν έχουν το ίδιο πλήθος φάσεων: κάποιες έχουν πολύ περισσότερες φάσεις από κάποιες άλλες. 3. Η χρήση πολλών διαφορετικών μεθόδων κλήσεως της μνήμης (π.χ. υλοποιείται όλος ο Πίνακας 6). 4. Η υλοποίηση πολύπλοκων εντολών, πχ μαζική μετακίνηση καταχωρητών από και προς τη μνήμη ή από και πρός άλλους καταχωρητές, εντολές SIMD επεξεργασία πολυμέσων, κλπ. 5. Η χρήση συγκριτικά λιγότερων καταχωρητών σε σχέση με αρχιτεκτονικές RISC της ίδιας γενιάς.

12 Κεφάλαιο 2: Τεχνολογία επεξεργαστών Επεξεργαστές Μειωμένου συνόλου εντολών (Reduced Instruction Set Computers: RISC) Το RISC πρωτοεμφανίστηκε στις αρχές της δεκαετίας του '80 όταν οι ερευνητές άρχισαν να επανεξετάζουν τη σκοπιμότητα των μεγάλων συνόλων εντολών. Όπως φαίνεται και στον Πίνακας 9 μόνο ένα μικρό μέρος του συνόλου των εντολών χρησιμοποιείται στην πραγματικότητα πάνω από το 1% του χρόνου. Παρομοίως, ο Πίνακας 7 μας δείχνει ότι από τις περίπου 10 μεθόδους κλήσεως της μνήμης τελικά περίπου 3 ή 4 χρησιμοποιούνται στην πράξη ενώ οι υπόλοιπες είναι ιδιαίτερα σπάνιες. Επί πλέον πρέπει κανείς να λάβει υπ' όψη του ότι όσο πιο πολλές λειτουργίες εκτελεί το υλικό τόσο πιο αργό γίνεται αφού αυξάνει το λεγόμενο κρίσιμο μονοπάτι. Το κρίσιμο μονοπάτι δεν είναι τίποτα άλλο από την μεγαλύτερη αλυσίδα τρανζίστορς μέσα σε ένα chip τα οποία τροφοδοτούν το ένα το άλλο. Η περίοδος του ρολογιού πρέπει να είναι μεγαλύτερη από το χρόνο που χρειάζεται να σταθεροποιηθεί η μεγαλύτερη αλυσίδα τρανζίστορ όσο μικρές κι αν είναι οι υπόλοιπες αλυσίδες. Όσο πιο πολλά τα τρανζίστορς στην αλυσίδα τόσο πιο αργό είναι και το συνολικό κύκλωμα. Προσθέτοντας λοιπόν υλικό στο κύκλωμα καταφέρνουμε να επιβαρύνουμε το κρίσιμο μονοπάτι. Τίθεται λοιπόν το ερώτημα: "Ποιος ο λόγος να υλοποιηθούν όλες αυτές οι περίπλοκες εντολές και όλοι οι περίπλοκοι τρόποι κλήσεως της μνήμης, και μάλιστα με κόστος στην ταχύτητα του επεξεργαστή;" Η φιλοσοφία του RISC λέει ότι είναι καλύτερα να υλοποιηθούν μόνο οι βασικές εντολές και οι συνηθέστεροι τρόποι κλήσεως της μνήμης με αποτέλεσμα το κρίσιμο μονοπάτι να γίνει όσο μικρότερο γίνεται και άρα ο επεξεργαστής να γίνει όσο ταχύτερος γίνεται. Το κόστος είναι ότι όταν θα χρειαστεί να εκτελεστεί μια πολύπλοκη εντολή ή ένας πολύπλοκος τρόπος κλήσεως της μνήμης θα χρειαστεί να εκτελεστούν περισσότερες εντολές απ' ότι στην περίπτωση CISC. Πλην όμως αυτές οι περιπτώσεις είναι σπάνιες και το κέρδος που θα έχουμε αποκομίσει από την αύξηση της ταχύτητας του επεξεργαστή υπερκαλύπτει αυτό το κόστος. Ένα ακόμα σημαντικό πλεονέκτημα των RISC επεξεργαστών πέρα από την ταχύτητά τους είναι και το γεγονός ότι έχουν περισσότερο ελεύθερο χώρο στο chip, σε σχέση με τους επεξεργαστές τύπου CISC, για να χρησιμοποιηθεί για αποθήκευση δεδομένων (καταχωρητές και μνήμες cache διαφόρων επιπέδων). Επίσης, όπως είδαμε, η πολυπλοκότητα των εντολών CISC απαιτεί τη χρήση μικροκώδικα για την υλοποίησή τους και όλα τα μικροπρογράμματα φυλάσσονται σε ROM. Ένας επεξεργαστής RISC, λόγω απλότητας των εντολών, δεν περιέχει μικροκώδικα αλλά χρησιμοποιεί καλωδιωμένη λογική (πύλες και latches) που είναι ταχύτερη από την ROM. Τέλος, σε ένα επεξεργαστή RISC όλες οι εντολές εκτελούνται σε ένα ή δύο κύκλους (φάση EXE), πράγμα που διευκολύνει πολύ την τμηματοποίηση των εντολών σε ομοιόμορφες φάσεις με στόχο τη χρήση pipelining για την επιτάχυνση της εκτέλεσής τους. Στους επεξεργαστές CISC άλλες εντολές εκτελούνται σε 1 κύκλο και άλλες σε 20 ή 30. Αυτή η ποικιλία πολυπλοκότητας των εντολών δυσχεραίνει πολύ την τμηματοποίησή τους σε ομοιόμορφες φάσεις και κάνει το pipelining πρακτικά αδύνατο.

13 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 33 Ο Πίνακας 10 συνοψίζει τις βασικές αρχιτεκτονικές διαφορές μεταξύ των φιλοσοφιών CISC και RISC. Πίνακας 10. Χαρακτηριστικά των αρχιτεκτονικών RISC και CISC. Αρχιτεκτονικά Χαρακτηριστικά Μέγεθος συνόλου εντολών και κωδικοποίηση εντολών Υπολογιστές CISC Μεγάλο σύνολο εντολών (π.χ. 400 εντολές). Οι εντολές δεν έχουν το ίδιο μήκος το οποίο κυμαίνεται από 16 έως 64 bits. Τρόποι κλήσης μνήμης 12 έως έως 5. Καταχωρητές γενικού Λιγότεροι καταχωρητές σκοπού γενικού σκοπού (πχ. 8-24) Cache Είτε μια κοινή cache επιπέδου 1 για εντολές και δεδομένα είτε διαφορετική για δεδομένα και διαφορετική για εντολές. Η μοντέρνα τάση είναι προς την δεύτερη επιλογή Μεταβλητός από εντολή σε εντολή (από 1 έως 20). Υπολογιστές RISC Μικρό σύνολο εντολών (π.χ εντολές). Οι εντολές έχουν το ίδιο μήκος και βασίζονται στη χρήση καταχωρητών. Περισσότεροι καταχωρητές γενικού σκοπού (πχ ). Διαφορετική cache επιπέδου 1 για δεδομένα και διαφορετική για εντολές Αριθμός κύκλων μηχανής ανά εντολή 1 κύκλος ανά εντολή για τις περισσότερες εντολές και ίσως 2 κύκλοι για λίγες εντολές. Κύκλωμα ελέγχου ROM με μικροκώδικα. Καλωδιωμένη λογική. Pipelining Δυσκολότερο Ευκολότερο Περίοδος κύκλου ρολογιού Λίγο μεγαλύτερος λόγω βεβαρυμένου κρίσιμου μονοπατιού Μικρότερος κύκλος σε σχέση με το CISC (για ίδιας τεχνολογίας chip) 2.2 Επεξεργαστές Superscalar, VLIW και Vector Επεξεργαστές τύπου Superscalar Οι επεξεργαστές scalar εκτελούν μόνο μια εντολή κάθε φορά. Σε αντίθεση, οι επεξεργαστές superscalar έχουν τη δυνατότητα εκτέλεσης πολλαπλών εντολών μέσα σε ένα κύκλο. Για να επιτευχθεί αυτό χρησιμοποιείται η μέθοδος pipelining στον κύκλο εκτέλεσης των εντολών σε συνδυασμό με το γεγονός ότι υπάρχουν πολλές pipelines εντολών μέσα σε ένα τέτοιο επεξεργαστή. Όπως θα δούμε με λεπτομέρεια στο Κεφάλαιο 4.1 το pipelining βασίζεται στον τεμαχισμό της εκτέλεσης μιας εντολής σε φάσεις. Η πιο συνηθισμένη κατάτμηση είναι σε 5 φάσεις:

14 Κεφάλαιο 2: Τεχνολογία επεξεργαστών Φάση IF = προσκόμιση εντολής (Instruction Fetch) 2. Φάση ID = αποκωδικοποίηση / ανάγνωση καταχωρητών (Instruction decode / register fetch) 3. Φάση EX = εκτέλεση (Execution) 4. Φάση MEM = πρόσβαση στη μνήμη / ολοκλήρωση αλμάτων (Memory access) 5. Φάση WB = εγγραφή καταχωρητών / μνήμης (Write back) Η pipeline εντολών ενός επεξεργαστή scalar εκτελεί ταυτόχρονα διαφορετικές εντολές σε διαφορετικές φάσεις όπως φαίνεται στο παρακάτω σχήμα. Έτσι, ενώ χωρίς pipelining θα εκτελείταν μια εντολή κάθε 5 κύκλους μηχανής, με τη χρήση pipelining ολοκληρώνεται μια εντολή κάθε 1 κύκλο (από τον κύκλο 5 και μετά). Κύκλοι μηχανής Εντολή 1 Εντολή 2 Εντολή 3 Εντολή 4 Εντολή 5 Η ιδέα του superscalar βασίζεται στην παρατήρηση ότι σε πολλά προγράμματα υπάρχει αρκετή ελευθερία στη σειρά εκτέλεσης των εντολών. Έτσι π.χ. στην παρακάτω γραμμή κώδικα υψηλού επιπέδου E = (A*B) + (C*D) οι πράξεις (A*B) και (C*D)μπορούν να εκτελεστούν με οποιαδήποτε σειρά, ή ακόμα και ταυτόχρονα. Φυσικά η πράξη της πρόσθεσης στην παραπάνω εντολή θα πρέπει να έπεται των πολλαπλασιασμών και άρα δεν μπορεί να εκτελεστεί ταυτόχρονα με αυτούς. Πιο συγκεκριμένα ο παραπάνω κώδικας αντιστοιχεί στο εξής πρόγραμμα γλώσσας μηχανής: Ε1: LOAD R1,A Ε2: LOAD R2,B Ε3: MUL R3,R1,R2 ;R3 = A*B Ε4: LOAD R4,C Ε5: LOAD R5,D Ε6: MUL R6,R4,R5 ;R6 = C*D Ε7: ADD R7,R3,R6 ;R7 = (A*B) + (C*D) Ε8: STOR E,R7

15 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 35 Ένας κατάλληλα σχεδιασμένος επεξεργαστής τύπου superscalar μπορεί να εντοπίσει εντολές που μπορούν να εκτελεστούν ταυτόχρονα και να τις εκτελέσει στις πολλαπλές pipeline εντολών που διαθέτει. Στο Σχήμα 9 δίνεται ένα πιθανό χρονοδιάγραμμα εκτέλεσης των παραπάνω εντολών σε ένα επεξεργαστή supersclar με δύο pipeline εντολών. Προσέξτε ότι η εντολή Ε3 πρέπει να έπεται των εντολών Ε1, Ε2 διότι χρησιμοποιεί τα αποτελέσματά τους, δηλαδή τους καταχωρητές R1, R2. Έτσι η Ε3 αρχίζει να εκτελείται στον κύκλο 2, δηλαδή ένα κύκλο μετά τις R1, R2 ώστε αυτές να προλάβουν να εκτελέσουν τη φάση EX στον κύκλο 3 πριν από την φάση EX της Ε3 που εκτελείται στον κύκλο 5. Επίσης, η εντολή Ε6 πρέπει να αρχίσει να εκτελείται μετά από τις Ε4, Ε5, διότι χρησιμοποιεί τους καταχωρητές R4, R5 που ενημερώνονται από αυτές η εντολή Ε7 πρέπει να αρχίσει να εκτελείται μετά από την Ε6, διότι χρησιμοποιεί τον καταχωρητή R6 που ενημερώνεται από αυτή η εντολή Ε8 πρέπει να αρχίσει να εκτελείται μετά από την Ε7, διότι χρησιμοποιεί τον καταχωρητή R7 που ενημερώνεται από αυτή Οι εξαρτήσεις μεταξύ των εντολών επειδή τα δεδομένα ενημερώνονται (γράφονται - write) από τη μια εντολή και διαβάζονται (read) από την άλλη είναι κεφαλαιώδους σημασίας για την σχεδίαση πολλαπλών pipelines αλλά και για την ορθή παραλληλοποίηση του κώδικα όπως θα δούμε παρακάτω. Η συγκεκριμένη εξάρτηση καλείται Read-After-Write (RAW) ωστόσο υπάρχουν και άλλοι τύποι εξαρτήσεων όπως Write After Read (WAR) και Write After Write (WAW). Η ανάλυση των εξαρτήσεων δεδομένων θα μελετηθεί λεπτομερώς στο Κεφάλαιο 9. Στην περίπτωση του επεξεργαστή superscalar το υλικό αναλαμβάνει να ανιχνεύσει τις εξαρτήσεις δεδομένων και να μεριμνήσει ώστε να μην αρχίσει να εκτελείται μια εντολή X η οποία εξαρτάται από μια εντολή Υ, αν δεν έχει αρχίσει να εκτελείται πρώτα η Y. Στο Σχήμα 9 βλέπουμε ότι με τον τρόπο αυτό δημιουργούνται κενά στη στη σειρά εκτέλεσης των εντολών. Θα ήταν καλό αν μπορούσαμε να εκμεταλλευτούμε αυτά τα κενά εκτελώντας κάποιες άλλες εντολές που δεν εξαρτώνται από τις τρέχουσες. Μερικές φορές ωστόσο αυτό δεν είναι εφικτό και τα κενά παραμένουν αχρησιμοποίητα (δεν εκτελείται τίποτα) αφήνοντας αδρανή μια από τις δύο pipelines. Έτσι δεν γίνεται πλήρης εκμετάλλευση των δυνατοτήτων του συστήματος. Κύκλοι μηχανής Ε1: LOAD R1,A Ε2: LOAD R2,B Ε3: MUL R3,R1,R2 Κάτι άλλο... ή τίποτα

16 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 36 Ε4: LOAD R4,C Ε5: LOAD R5,D Ε6: MUL R6,R4,R5 Κάτι άλλο... ή τίποτα Ε7: ADD R7,R3,R6 Κάτι άλλο... ή τίποτα Ε8: STOR E,R7 Κάτι άλλο... ή τίποτα Σχήμα 9. Η εκτέλεση των εντολών σε ένα επεξεργαστή superscalar με 2 pipelines. Η εκτέλεση γίνεται με τη σειρά που οι εντολές εμφανίζονται στο πρόγραμμα assembly (in-order execution). Το πρόβλημα προκύπτει (εν μέρει) επειδή επιμένουμε οι εντολές να εκτελούνται με τη σειρά που εμφανίζονται στο πρόγραμμα assembly (in-order execution), δηλαδή με τη σειρά Ε1, Ε2, Ε3, Ε4, Ε5, Ε6, Ε7, Ε8. Μια λύση θα ήταν η εκτέλεση εντολών εκτός σειράς (out-of-order execution). Παρατηρούμε για παράδειγμα ότι μπορούμε να ξεκινήσουμε την εκτέλεση των 4 loads (Ε1, Ε2, Ε4, Ε5) σε δύο κύκλους ανά ζεύγη καθώς είναι ανεξάρτητες εντολές μεταξύ τους. Κατόπιν μπορούμε να ξενικήσουμε την εκτέλεση των δύο πολλαλπασιασμών (Ε3, Ε6) μαζί σε ένα κύκλο. Τέλος ξενικάμε την εκτέλεση των E7, E8 σε δύο διαφορετικούς κύκλους καθώς η δεύτερη εξαρτάται από την πρώτη. Αυτή η εκτέλεση των εντολών εκτός σειράς φαίνεται στο Σχήμα 1Σχήμα 10. Βλέπουμε ότι έχουμε 2 αντί για 4 κενούς κύκλους και επίσης το πρόγραμμα τελειώνει σε 9 αντί για 10 κύκλους, γίνεται δηλαδή καλύτερη εκμετάλλευση των δύο pipelines. Κύκλοι μηχανής Ε1: LOAD R1,A Ε2: LOAD R2,B Ε4: LOAD R4,C Ε5: LOAD R5,D Ε3: MUL R3,R1,R

17 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 37 Ε6: MUL R6,R4,R5 Ε7: ADD R7,R3,R6 Κάτι άλλο... ή τίποτα Ε8: STOR E,R7 Κάτι άλλο... ή τίποτα Σχήμα 10. Η εκτέλεση των εντολών σε ένα επεξεργαστή superscalar με 2 pipelines. Η εκτέλεση γίνεται εκτός σειράς εμφάνισής τους στο πρόγραμμα assembly (out-of-order execution). Οι επεξεργαστές superscalar με εκτέλεση εκτός σειράς καλούνται αλλιώς και δυναμικοί. Οι περισσότεροι δυναμικοί superscalar επεξεργαστές προχωρούν ακόμη πιο επιθετικά αρχίζοντας να εκτελούν ταυτόχρονα ή και με τη λάθος ακόμη σειρά εντολές που εξαρτώνται η μια από την άλλη αλλά μεριμνούν ώστε να γίνεται έλεγχος εξάρτησης πριν γραφτούν τα τελικά αποτελέσματα της εντολής. Για το πετύχουν αυτό η κάθε pipeline χωρίζεται σε δύο λογικές ενότητες: Το Front-End που περιλαμβάνει τις φάσεις προσκόμισης και αποκωδικοποίησης των εντολών (IF + ID) Το Back-End που περιλαμβάνει τις φάσεις εκτέλεσης, προσπέλασης στη μνήμη και εγγραφής του αποτελέσματος (EX, MEM, WB) Η προσκόμιση και αποκωδικοποίηση των εντολών (δηλαδή να μπει μια εντολή στο Front- End) μπορεί να γίνει εκτός σειράς, ασχέτως αν οι εντολές εξαρτώνται μεταξύ τους, καθώς δεν γίνεται εκτέλεση και δεν παράγεται κανένα αποτέλεσμα οπότε δεν υπάρχει παραβίαση της λογικής του προγράμματος. Κατόπιν, οι εντολές μπαίνουν σε έναν buffer επαναδιάταξης της σειράς (Re-Order Buffer ROB) απ όπου οι εντολές αναχωρούν για το Back-End αφού γίνει βέλτιστη κατά το δυνατό επαναδιάταξή τους. Στο τέλος του Back- End η φάση Write-Back ονομάζεται πλέον Commit διότι καταχωρεί αμετάκλητα τα αποτελέσματα στη μνήμη ή στους τελικούς αποδέκτες καταχωρητές. Η φάση Commit αλλά και η φάση EX πρέπει να σχεδιαστούν κατάλληλα ώστε να γίνονται σεβαστές οι εξαρτήσεις μεταξύ των εντολών και να αποφεύγονται χαμένοι κύκλοι λόγω αλμάτων. Η αποφυγή των χαμένων κύκλων λόγω αλμάτων και των σφάλματα της pipeline λόγω εξάρτησης των δεδομένων μελετώνται λεπτομερώς στο Κεφάλαιο 4. Οι εκτός σειράς (δυναμικοί) επεξεργαστές superscalar είναι σαφώς πιο πολύπλοκοι στην σχεδίαση (έως και 30%) από τους εντός σειράς (στατικούς) superscalar καθώς το υλικό καλείται να αναδιατάξει τη σειρά των εντολών σεβόμενο ταυτόχρονα τις εξαρτήσεις. Οι σημαντικότεροι παράγοντες που επηρεάζουν και συχνά περιορίζουν την ταχύτητα ενός επεξεργαστή superscalar με n pipelines είναι οι παρακάτω: 1. Για να επιτευχθεί 100% χρήση όλων των pipelines για όλους τους κύκλους πρέπει πάντα να βρίσκονται n εντολές που μπορούν να αρχίσουν να εκτελούνται ταυτόχρονα. Αυτό σημαίνει ότι πρέπει να ανακαλύψουμε μεγάλο παραλληλισμό σε επίπεδο

18 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 38 εντολών (Instruction Level Parallelism ILP) πράγμα που δεν εξαρτάται από τον σχεδιαστή του επεξεργαστή αλλά από το πρόγραμμα. Για το λόγο αυτό σήμερα δεν υπάρχουν επεξεργαστές superscalar με περισσότερες από n=6 pipelines αν και υπάρχουν σχέδια για n=8 ακόμη και για n=16. Η σχεδιαστική τάση που κυριαρχεί δεν είναι στην αύξηση του πλήθους των pipelines. 2. Η χρήση πολλών n μονάδων εκτέλεσης (ALU ή FPU) δημικουργεί n 2 μονοπάτια ανάμεσά τους. Κάποια από αυτά τα μονοπάτια θα είναι μεγάλα σε μήκος οπότε και τα αντίστοιχα καλώδια θα είναι μακριά. Ωστόσο το μεγάλο μήκος των καλωδιώσεων εντός του chip προκαλεί μείωση στη συχνότητα του ρολογιού και πρέπει να αποφεύγεται. 3. Το σπάσιμο των φάσεων της pipeline σε μικρότερες φάσεις, δηλαδή η αύξηση του βάθους της pipeline, δημιουργεί θεωρητικά ταχύτερες pipelines αφού οι φάσεις είναι «λεπτότερες» και συνεπώς ο χρόνος του κύκλου ρολογιού που θα χωράει τις φάσεις είναι μικρότερος. Ωστόσο οι εντολές αλμάτων υπό συνθήκη δημιουργούν αλλαγή στη ροή του προγράμματος η οποία γίνεται γνωστή στο μέσο της εκτέλεσης της εντολής και αν το άλμα εκτελεστεί απαιτείται καθαρισμός της pipeline και επανεκκίνησή της. Αυτό αποτελεί χάσιμο πολλών κύκλων που είναι περισσότεροι όσο πιο βαθιά είναι η pipeline. Έτσι η σχεδιαστική τάση είναι προς τη μείωση των φάσεων της pipeline. Aπό τις παλαιότερες pipeline με 31 φάσεις (Pentium D) φθάσαμε σήμερα στις pipelines της αρχιτεκτονικής Intel Core με 14 φάσεις. Οι επεξεργαστές superscalar εντός-σειράς είναι πρόγονοι των επεξεργαστών superscalar εκτός-σειράς. Σήμερα, οι επεξεργαστές υψηλών επιδόσεων είναι τύπου εκτός-σειράς. To πλεονέκτημα ταχύτητας του ρλογιού που έχουν οι εντός-σειράς λόγω μικρότερης πολυπλοκότητας του υλικού έχει αντισταθμιστεί από το γεγονός ότι η συχνότητα του ρολογιού δεν αυξάνει πλέον σημαντικά κυρίως λόγω της ενέργειας (θερμότητας) που παράγεται. Επί πλέον ο νόμος του Moore, δηλαδή το φαινόμενο ότι το πλήθος των τρανζίστορ στο chip αυξάνει εκθετικά, έκανε την πολυπλοκότητα των εκτός-σειράς να μην είναι πλέον απαγορευτική. Έτσι έχουν κυριαρχήσει σήμερα. Περαιτέρω αύξηση της ταχύτητας μπορεί να επιτευχθεί με την χρήση πολλών επεξεργαστών μέσα στο chip, δηλαδή η χρήση πολλαπλών πυρήνων. Το θέμα του παραλληλισμού των επεξεργαστών θα μας απασχολήσει στα επόμενα κεφάλαια Η αρχιτεκτονική VLIW Η αρχιτεκτονική VLIW (Very Long Instruction Word) είναι μια εναλλακτική επιλογή για το σχεδιασμό ενός επεξεργαστή που μπορεί να εκτελεί πολλές εντολές σε ένα κύκλο μηχανής. Το μέγεθος της εντολής μιας μηχανής VLIW είναι πολύ μεγάλο (π.χ bits) και ουσιαστικά περιέχει πολλές εντολές σε ένα πακέτο. Ποιο είναι το πλεονέκτημα αυτής της τεχνικής έναντι της αρχιτεκτονικής superscalar; Απλά η απόφαση για το ποιες εντολές θα εκτελεστούν ταυτόχρονα αφήνεται αποκλειστικά στον μεταφραστή ο οποίος είναι υποχρεωμένος να πακετάρει πολλές εντολές μαζί σε μια μεγάλη υπερεντολή. Σε αντίθεση ο επεξεργαστής τύπου superscalar θα ελέγξει τις εντολές που του δίνονται για να αποφασίσει με χρήση κατάλληλου υλικού (hardware) ενώ τρέχει το πρόγραμμα ποιες μπορούν να εκτελεστούν παράλληλα. Η επιλογή VLIW μειώνει τις απαιτήσεις σε υλικό αλλά αυξάνει

19 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 39 τις αντίστοιχες σε λογισμικό. Ο παρακάτω πίνακας συνοψίζει τις ομοιότητες και τις διαφορές μεταξύ των επεξεργαστών superscalar και VLIW. Superscalar Πολλές εντολές σε ένα κύκλο μηχανής Υλικό με απαιτήσεις Η επιλογή για ποιες εντολές θα εκτελεστούν παράλληλα στον ίδιο κύκλο αποφασίζεται δυναμικά (κατά τη διάρκεια της εκτέλεσης) από τον επεξεργαστή VLIW Πολλές εντολές σε ένα κύκλο μηχανής Λογισμικό με απαιτήσεις Η επιλογή για ποιες εντολές θα εκτελεστούν παράλληλα στον ίδιο κύκλο αποφασίζεται από τον μεταφραστή κατά τη διάρκεια της μετάφρασης Το αρχιτεκτονικό στυλ VLIW, το οποίο κάνει τους επεξεργαστές ταχύτερους με την ανάδειξη του Παραλληλισμού στο Επίπεδο των Εντολών (ILP) χρησιμοποιείται εδώ και πολλά χρόνια στους Ψηφιακούς Επεξεργαστές Σήματος (Digital Signal Processors DSP). Αυτοί είναι ειδικοί επεξεργαστές που χρησιμοποιούνται κυρίως σε εφαρμογές επεξεργασίας σήματος και εικόνας (π.χ. στην ψηφιακή επεξεργασία ήχου / φωνής, στις ψηφιακές τηλεπικοινωνίες, στα ραντάρ, στην ψηφιακή τηλεόραση, κλπ). Το VLIW είναι η λογική εξέλιξη του RISC με την πρόσθεση του Παραλληλισμού σε Επίπεδο Εντολών (ILP) στον επεξεργαστή. Το ILP είναι μια σειρά από τεχνικές οι οποίες επιταχύνουν την εκτέλεση ενός προγράμματος εκτελώντας παράλληλα διάφορες εντολές τύπου RISC, όπως load/store, πράξεις ακέραιας αριθμητικής (integer), ή πράξεις κινητής υποδιαστολής (floating point). Αυτές οι πράξεις λαμβάνονται από μια ακολουθία σειριακών εντολών όπως αυτές που θα γράφαμε για ένα συμβατικό επεξεργαστή. Μόλις στο τελευταίο επίπεδο της μετάφρασης ο μεταφραστής (compiler) αναθέτει τις εντολές αυτές σε γκρουπ τα οποία θα εκτελεστούν ταυτόχρονα από το υλικό του επεξεργαστή VLIW. Έτσι λοιπόν ο μεταφραστής είναι υπεύθυνος για την εξαγωγή του παραλληλισμού μέσα από το πρόγραμμα χωρίς ο προγραμματιστής να χρειάζεται να κοπιάσει ιδιαίτερα γι' αυτό το σκοπό. Μάλιστα στον προγραμματιστή η όλη διαδικασία είναι διαφανής καθώς δεν έχει έλεγχο στο πώς ομαδοποιούνται οι εντολές ούτε γνωρίζει ακριβώς ποιες είναι οι ομάδες που δημιουργήθηκαν από το μεταφραστή, εκτός φυσικά, αν μελετήσει λεπτομερώς τον κώδικα μηχανής που παράγεται. Βέβαια ο προχωρημένος προγραμματιστής μπορεί να γνωρίζει τον αλγόριθμο με τον οποίο ο μεταφραστής ομαδοποιεί τις εντολές και έτσι μπορεί να τροποποιήσει το πρόγραμμά του ώστε να δώσει στον μεταφραστή την ευκαιρία να επιτύχει μεγαλύτερα ποσοστά παραλληλισμού. Τονίζουμε τη διαφορά μεταξύ του κρυμμένου παραλληλισμού (latent parallelism) ο οποίος είναι εγγενής στον κώδικα και του παραλληλισμού που εξάγεται στην πράξη με τον συγκεκριμένο μεταφραστή. Τη στιγμή που ο μεταφραστής αντιστοιχεί σε ένα συγκεκριμένο υλικό ομαδοποιεί τις εντολές με τον καλύτερο δυνατό τρόπο έτσι ώστε να εξάγει τον μεγαλύτερο παραλληλισμό γι' αυτό το υλικό. Αν π.χ. το υλικό περιέχει μόνο 2 ακέραιους αθροιστές, ο μεταφραστής δεν έχει νόημα να τοποθετήσει πάνω από 2 ακέραιες προσθέσεις στην ίδια ομάδα. Ενδεχομένως ο κώδικας να έχει 3 ή 4 ακέραιες προσθέσεις που θα μπορούσαν να εκτελεστούν παράλληλα (κρυμμένος παραλληλισμός) αλλά ο

20 Κεφάλαιο 2: Τεχνολογία επεξεργαστών 40 μέγιστος πραγματικός παραλληλισμός είναι μόνο 2 ακέραιες προσθέσεις λόγω των δεσμεύσεων του υλικού. Το υλικό για την εκμετάλλευση του παραλληλισμού σε επίπεδο εντολών (ILP) Το υλικό ενός επεξεργαστή VLIW μπορεί να προσφέρει παραλληλισμό με διάφορους τρόπους: (α) χρησιμοποιώντας πολλές αριθμητικές / λογικές μονάδες (ALU) ή μονάδες κινητής υποδιαστολής (FPU) οι οποίες μπορούν να εκτελούν ταυτόχρονα και ανεξάρτητα πράξεις. (β) χρησιμοποιώντας πολλές τράπεζες καταχωρητών (register files) όπου η κάθε μια τράπεζα τροφοδοτεί και μια διαφορετική αριθμητική μονάδα. Με τον τρόπο αυτό προσφέρεται μεγαλύτερο εύρος ζώνης δεδομένων (data bandwidth) μεταξύ των καταχωρητών και των αριθμητικών μονάδων ώστε να διευκολύνεται η παράλληλη εκτέλεση των πράξεων. (γ) χρησιμοποιώντας pipelining για την επιτάχυνση των πράξεων σε αριθμητικές μονάδες. Το pipelining χρησιμοποιείται συνήθως στις μονάδες κινητής υποδιαστολής και γενικότερα σε όσες αριθμητικές μονάδες οι πράξεις απαιτούν πάνω από ένα κύκλο μηχανής για να εκτελεστούν. Όλα τα παραπάνω διευκολύνουν την εκμετάλλευση του παραλληλισμού σε επίπεδο εντολών. Για παράδειγμα στο Σχήμα 11 φαίνεται το υλικό ενός επεξεργαστή VLIW το οποίο επιτρέπει την παράλληλη εκτέλεση τεσσάρων ειδών εντολών: μιας πράξης κινητής υποδιαστολής, δύο πράξεων ακέραιας αριθμητικής και μιας εντολής ελέγχου ή μεταφοράς στην μνήμη (load/store). Θεωρήστε το παρακάτω κομμάτι (ψευδο)κώδικα ο οποίος είναι σειριακά γραμμένος από έναν προγραμματιστή και έχει ως εξής: E1: ADD R2,R4,R5 E2: STOR [addr1],r2 E3: FMUL F5,F2,F7 E4: FMUL F2,F2,F8 E5: ADD R4,R12,R17 E6: ADD R5,R12,R20 E7: ADD R7,R4,R5 E8: STOR [addr2],r7

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

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

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

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

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

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

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

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

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

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

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

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

Εντολές γλώσσας μηχανής

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 Αρης Ευθυμίου Το σημερινό μάθημα! Λυση του lab02! Αρχιτεκτονική ARM σε τι μοιάζει και σε τι διαφέρει από τον MIPS! Αρχιτεκτονική x86 μια γρήγορη ματιά στη

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Προχωρηµένα Θέµατα Αρχιτεκτονικής Προχωρηµένα Θέµατα Αρχιτεκτονικής Μάθηµα 2 ο : Instruction Set Principles and Examples Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 1 Σχεδιασµός Συνόλου Εντολών Θέµατα που θα συζητηθούν ιαφορετικές επιλογές

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό. Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του

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

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

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

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

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

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

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

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

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

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Εισαγωγή Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τους τρόπους προσπέλασης της µνήµης (µέθοδοι διευθυνσιοδότησης) σε ένα υπολογιστικό σύστηµα. Η Μνήµη 1 Ψηφιακή Λογική 4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

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

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

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

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

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

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

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

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

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση Αρης Ευθυμίου Ανακοινώσεις! Βαθμοί: 1ης εργαστηριακής άσκησης Βαθμός 0 χωρίς σχόλια δεν έχω πάρει την άσκηση! ελέγξτε μήπως δεν το στέλνετε στο σωστό

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών 1 Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου 2 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΧΕΙΜΩΝΑΣ 2009 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Γενική οργάνωση του υπολογιστή Ο καταχωρητής δεδομένων της μνήμης (memory data register

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

ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων. Βιβλιογραφία Ενότητας

ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων. Βιβλιογραφία Ενότητας ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Βελτιστοποίηση κώδικα σε επεξεργαστές ΨΕΣ Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

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

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

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

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

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

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

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

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

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

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

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 Τεχνολογία Ι Θεωρητικής Κατεύθυνσης Τεχνικών Σχολών Μάθημα : Μικροϋπολογιστές

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

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

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

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

Μάθημα 8: Διαχείριση Μνήμης

Μάθημα 8: Διαχείριση Μνήμης Μάθημα 8: Διαχείριση Μνήμης 8.1 Κύρια και δευτερεύουσα μνήμη Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στην μνήμη (memory) του υπολογιστή. Οι μνήμες

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

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

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

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

Έχοντας κατανοήσει την ύλη του 1ου μαθήματος ( Εισαγωγή στην Αρχιτεκτονική Η/Υ ) θα πρέπει να μπορείτε να απαντήσετε στις παρακάτω ερωτήσεις:

Έχοντας κατανοήσει την ύλη του 1ου μαθήματος ( Εισαγωγή στην Αρχιτεκτονική Η/Υ ) θα πρέπει να μπορείτε να απαντήσετε στις παρακάτω ερωτήσεις: Ερωτήσεις αυτοαξιολόγησης 1 ου μαθήματος Έχοντας κατανοήσει την ύλη του 1ου μαθήματος ( Εισαγωγή στην Αρχιτεκτονική Η/Υ ) θα πρέπει να μπορείτε να απαντήσετε στις παρακάτω ερωτήσεις: 1. Ποια η σχέση της

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

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

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

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

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

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

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

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

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

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

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

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

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

Ιστορία των επεξεργαστών (CPUs)

Ιστορία των επεξεργαστών (CPUs) Ιστορία των επεξεργαστών (CPUs) Ο επεξεργαστής ή αλλιώς η Κεντρική Μονάδα Επεξεργασίας (C.P.U. - Central Processing Unit), είναι το βασικό εξάρτημα της λειτουργίας ενός υπολογιστή όπου και εκτελείται το

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

"Σχεδίαση και Υλοποίηση Μονάδας Επεξεργασίας για Αριθμούς 8-bit με την Γλώσσα VHDL και το Λογισμικό Quartus II" ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Σχεδίαση και Υλοποίηση Μονάδας Επεξεργασίας για Αριθμούς 8-bit με την Γλώσσα VHDL και το Λογισμικό Quartus II ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ "Σχεδίαση και Υλοποίηση Μονάδας Επεξεργασίας για Αριθμούς 8-bit με την Γλώσσα VHDL και το Λογισμικό

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

Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores)

Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores) ΗΥ-225: Οργάνωση Υπολογιστών 1νοιξη 2013 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading,

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Aντώνης Σπυρόπουλος v2_061015 Οροι που

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

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές ) http://di.ionio.gr/~mistral/tp/csintro/ Αριθμοί Πράξεις με δυαδικούς αριθμούς

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

ΗΥ 232. Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 1. Εισαγωγή στο μάθημα. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

ΗΥ 232. Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 1. Εισαγωγή στο μάθημα. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων ΗΥ 232 Διάλεξη 1 Εισαγωγή στο μάθημα Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Διδάσκων: Οργανωτικά Θέματα Νίκος Μπέλλας, Κτήριο Γκλαβάνη, Γραφείο Β3.7, 2 ος όροφος Προσωπική ιστοσελίδα:

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

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

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

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήµη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή Θα δούµε την οργάνωση ενός υπολογιστή Στον επόµενο µάθηµα θα δούµε πως συνδέονται πολλοί Η/Υ για να σχηµατίσουν

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

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

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

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

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

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

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 2: Βασικές αρχές λειτουργίας και χρήσης του υπολογιστή Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΥΠΟΡΟΥΤΙΝΕΣ ΕΡΓΑΣΤΗΡΙΟ 6 Οι υπορουτίνες αποτελούν αυτόνομα τμήματα κώδικα που διεκπεραιώνουν μία συγκεκριμένη εργασία και μπορούμε να τα καλούμε

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

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

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

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

Σύστημα διασύνδεσης και. διαδικασία εισόδου-εξόδου

Σύστημα διασύνδεσης και. διαδικασία εισόδου-εξόδου ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 6 Σύστημα διασύνδεσης και διαδικασία εισόδου-εξόδου Τι είναι αρτηρία (Bus) ; Ένα σύνολο γραμμών διασύνδεσης Πρωτόκολλο (protocol) Περιγραφή Πρωτοκόλλου χρονικό διάγραμμα

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ 1.1 Εισαγωγή...11 1.2 Τα κύρια αριθμητικά Συστήματα...12 1.3 Μετατροπή αριθμών μεταξύ των αριθμητικών συστημάτων...13 1.3.1 Μετατροπή ακέραιων

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

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

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

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ R3 I Καταχωρητές PC Κεντρική Μονάδα Επεξεργασίας Αριθμητική και λογική μονάδα

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

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

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

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 21: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 2009 2010 Γραπτή Εργασία #3 Παράδοση: 28 Μαρτίου 2010 Άσκηση 1 (15 µονάδες) Ένας επεξεργαστής υποστηρίζει τόσο

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γλώσσες Προγραμματισμού Εισαγωγικά Γλώσσα Μηχανής Γλώσσες υψηλού επιπέδου Μεταγλωττιστές

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

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

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή Μνήμη Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή ηλεκτρονική συσκευή, σε προσωρινή ή μόνιμη βάση. Τα σύγχρονα

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

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΗΜΙΑΓΩΓΙΚΩΝ ΜΝΗΜΩΝ. ΒΑΣΙΚΗ ΛΕΙΤΟΥΡΓΙΑ RAM CMOS. ΤΥΠΟΙ ΚΥΤΤΑΡΩΝ ΑΡΧΕΣ

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

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

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

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

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

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

ΤΠ 2108 Αρχιτεκτονική Υπολογιστών (Εργαστήριο) ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ. Σειρά Ασκήσεων 1

ΤΠ 2108 Αρχιτεκτονική Υπολογιστών (Εργαστήριο) ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ. Σειρά Ασκήσεων 1 Σειρά Ασκήσεων 1 Εισαγωγή, Ο επεξεργαστής και η γλώσσα του. Σε αυτό το εργαστήριο θα κάνουµε µια εισαγωγή σε έναν απλό επεξεργαστή (RISC), το instruction set του οποίου είναι πολύ απλό, αλλά περιέχει όλα

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

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Οργάνωση Η/Υ Ο Επεξεργαστής TRN Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου ΚMΕ Κυριότεροι Καταχωρητές της ΚΜΕ του υπολογιστή TRN IR (20 bits) X (20 bits) I

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Ι Αρχιτεκτονική Υπολογιστών Ι Επιλεγμένες εντολές και συναρτήσεις assembly Από το βιβλίο Αρχιτεκτονική Υπολογιστών & Προγραμματισμός Assembly (Συγγραφέας / Εκδότης : Παναγιώτης Παπάζογλου) Δρ. Παναγιώτης

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

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

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

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

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

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

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία Το 1944 με την κατασκευή του υπολογιστή Mark I από τον Howard Aiken και την εταιρεία κατασκευής ηλεκτρονικών υπολογιστών IBM και από το 1950 μπήκανε

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

Instruction-Level Parallelism and its Dynamic Exploitation. Μάθηµα 3ο Computer Architecture-A Quantitative Approach

Instruction-Level Parallelism and its Dynamic Exploitation. Μάθηµα 3ο Computer Architecture-A Quantitative Approach Instruction-Level Parallelism and its Dynamic Exploitation Μάθηµα 3ο Computer Architecture-A Quantitative Approach Instruction-Level Parallelism (ILP) Επικάλυψη εντολών στοχεύοντας στην παράλληλη εκτέλεσή

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