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



Σχετικά έγγραφα
Αρχιτεκτονική Υπολογιστών

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

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών

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

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

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών. ηµήτρης Γκιζόπουλος Καθηγητής

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ

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

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

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

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

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

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

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

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

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

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

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

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

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

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

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

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

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

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

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

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

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

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

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

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1

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

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

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

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

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

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

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

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1 Αφαιρετικότητα και Τεχνολογία Υπολογιστών (Computer Abstractions and Technology)

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

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

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

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

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

ΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

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

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

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

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

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

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

Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών

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

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

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

ΑρχιτεκτονικήΥπολογιστών. Ι (ένα) Δημήτρης Γκιζόπουλος. Καθηγητής

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

Κεφάλαιο 7. Αρχιτεκτονική υπολογιστών βασικές έννοιες

Transcript:

Αρχιτεκτονική Υπολογιστών Εισαγωγή Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic, CS1/2-52, University of Berkeley. Αρχιτεκτονική Υπολογιστών, Ν. Κοζύρης, Εθνικό Μετσόβιο Πολυτεχνείο. Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός, Π. Ευριπίδου, Πανεπιστήμιο Κύπρου Σύνθεση: Κ.Γ. Μαργαρίτης, Πανεπιστήμιο Μακεδονίας, Τμήμα Εφαρμοσμένης Πληροφορικής.

Αρχιτεκτονική Υπολογιστών Εισαγωγή Θεματολογία Μαθήματος Αντικείμενο, Έμφαση, Υλικό, Αξιολόγηση Ιστορικά Στοιχεία Εξέλιξη των Υπολογιστών Αρχιτεκτονική Επισκόπιση Σύγχρονων Υπολογιστών Κύρια Συστατικά Μέρη, Παραδείγματα, Απόδοση

Τι είναι Αρχιτεκτονική Υπολογιστών; Λογισμικό Μεγάλο χάσμα για να καλυφθεί σε ένα βήμα. Κύκλωμα Η Αρχιτεκτονική Υπολογιστών ασχολείται με το λογικό σχεδιασμό των βασικών επιπέδων αφαίρεσης που επιτρέπουν την αποδοτική εκτέλεση του λογισμικού με βάση τις διαθέσιμες τεχνολογίες κατασκευής ψηφιακών κυκλωμάτων, με έμφαση στη λειτουργία του συστήματος επεξεργαστής κύρια μνήμη, καθώς και την συνεργασία με τα υπόλοιπα συστατικά μέρη του υπολογιστή. Με μια φράση, ασχολείται με το πώς εκτελείται (αποδοτικά) ένα πρόγραμμα σε ένα υπολογιστή. 02/10/10 3

Γλώσσες, Επίπεδα Αφαίρεσης, Εικονικές Μηχανές Μια πολυεπίπεδη μηχανή

Σύγχρονες Πολυεπίπεδες Μηχανές (1) Εφαρμογές Πρόγραμμα γλώσσας υψηλού επιπέδου Συστήματα Προγραμματισμού Πρόγραμμα γλώσσας assembly Λειτουργικά Συστήματα Σενάριο ή πρόγραμμα με κλήση συστήματος Αρχιτεκτονική - Οργάνωση Πρόγραμμα σε γλώσσα μηχανής (ή συμβολική) Μικροπρόγραμμα ή γλώσσα μεταφοράς καταχωρητών Ψηφιακή Σχεδίαση Γλώσσα περιγραφής υλικού ή σχέδιο CAD Υπολογιστής έξι επιπέδων. Η μέθοδος υποστήριξης και η γλώσσα υλοποίησης σημειώνεται κάτω (δίπλα) από κάθε επίπεδο.

Σύγχρονες Πολυεπίπεδες Μηχανές (2) Πρόγραμμα Γλώσσας Υψηλού Επιπέδου Λογισμικό Πρόγραμμα Γλώσσας Μηχανής Σύνορο Υλικού/Λογισμικού Πρόγραμμα Γλώσσας Assembly Εφαρμογή Λειτουργικό Σύστημα Μεταγλωττιστής Assembler, Linker Firmware Επεξ. Συν. Εντολ. Σύστημα I/O Αρχιτεκτονική Συνόλου Εντολών Έλεγχος και Διαδρομή Δεδομένων Υλικό Λογικά Διαγράμματα Διαγράμματα Κυκλωμάτων cslab@ntua 2007-2008 Ψηφιακή Σχεδίαση Σχεδίαση Κυκλωμάτων Απεικόνιση Μικροπρόγραμμα Γλώσσα Μεταφοράς Καταχωρητή Γλώσσα Περιγραφής Υλικού 6

Μορφή προγράμματος σε κάθε επίπεδο temp = v[k]; Πρόγραμμα Γλώσσας Υψηλού Επιπέδου v[k] = v[k+1]; v[k+1] = temp; Μεταγλώττιση load $15, 0($2) load $16, 4($2) store $16, 0($2) store $15, 4($2) Πρόγραμμα Γλώσσας Assembly Assembly, Συμβολομετάφραση ISA Πρόγραμμα Γλώσσας Μηχανής 0000 1010 1100 0101 1001 1111 0110 1000 1100 0101 1010 0000 0110 1000 1111 1001 1010 0000 0101 1100 1111 1001 1000 0110 0101 1100 0000 1010 1000 0110 1001 1111 Διερμηνεία, Υλοποίηση Καθορισμός Σημάτων Ελέγχου cslab@ntua 2007-2008 ALUOP[0:3] <= InstReg[9:11] & MASK Register Transfer Language (RTL) 7

Βασικές Έννοιες Λογική Αφαίρεση (Logical Abstraction) Εικονική / Ιδεατή Μηχανή (Virtual Machine) Γλώσσα (Language) Διεπαφή / Διεπιφάνεια (Interface) Μεταγλώττιση (Compilation) Διερμηνεία (Interpretation) Συμβολομετάφραση (Assembly) * Διαλεκτική Διαδικασία (Hardware/Software Co-design) * Εξελικτική Διαδικασία (Backward Compatibility) * Λογική Ισοδυναμία Υλικού - Λογισμικού 8 cslab@ntua 2007-2008

Υλικό Μαθήματος (Βιβλία) * Tanenbaum, Structured Computer Organization Το πιο αφαιρετικό, με ολιστική, δομημένη προσέγγιση. Επιλογή για αρχική γνωριμία με την αρχιτεκτονική. Μειονέκτημα η.. έλλειψη λεπτομερειών. Καλή ελληνική έκδοση. *Stallings, Computer Organization and Architecture. Δημοφιλές παραδοσιακό εγχειρίδιο αρχιτεκτονικής. Καλή ελληνική έκδόση. Πολύ καλό web site με υποστήριξη για φοιτητές. * Patterson & Hennessy, Computer Organization and Design Το πιο πλήρες βιβλίο, κυρίως από σχεδιαστική πλευρά. Το μόνο 'μειονέκτημα' το μέγεθος και ίσως η λεπτομέρεια στο MIPS. Πολύ καλή ελληνική έκδοση. * Bryant, O'Hallaron, Computer Systems: A Programmer's Perspective Το πιο καλό προγραμματιστικά. Το μόνο 'μειονέκτημα'.. ο ΙΑ32. Επιλογή για προγραμματισμό σε βάθος. Δεν υπάρχει στα Ελληνικά. 9 cslab@ntua 2007-2008

Υλικό Μαθήματος (Διαδίκτυο) * Compus, httlp://compus.uom.gr Σύνδεσμοι, ανακοινώσεις, εργασίες, συζήτηση. * PdP Lab, http://www.it.uom.gr/teaching Συλλογές διαδικτυακού υλικού, για διάφορα θέματα αρκετά για αρχιτεκτονική, προγραμματισμό και υπολογιστικά συστήματα. Εδώ συνήθως οδηγούν οι σύνδεσμοι του Compus. * Wikipedia Το λήμμα computer architecture αποτελεί καλή εκκίνηση. * Google.. 10 cslab@ntua 2007-2008

Σχέδιο Μαθήματος Εβδομάδα 1 2-5 6-9 10-13 14 Περιγραφή Εισαγωγή Ψηφιακή Λογική Μικροαρχιτεκτονική Αρχιτεκτονική Συνόλου Εντολών Διακοπές, Παραλληλισμός Κεφάλαια (1,2), Α,Β 3 4 5 5, (8) 11 cslab@ntua 2007-2008

Αξιολόγηση (1) Εξετάσεις χωρίς βιβλία και σημειώσεις. Χορηγούνται βοηθητικές φωτοτυπίες (πχ. σχεδιάγραμμα, σύνολο εντολών). Οδηγός ύλης και ασκήσεων το βιβλίο 'Η αρχιτεκτονική των υπολογιστών: με δομημένη προσέγγιση', του Α. Tanenbaum, κυρίως τα κεφάλαια 3, 4 και 5 - τμήματα από τα κεφάλαια 1, 2, 8 και τα Παραρτήματα. Έμφαση κυρίως στο προγραμματισμό χαμηλών επιπέδων, λιγότερο στο σχεδιασμό κυκλωμάτων. Χρήση εύχρηστων προσομοιωτών με οπτική διεπιφάνεια. Παραδείγματα πραγματικών αρχιτεκτονικών (Intel) και εικονικής μηχανής Java (JVM). cslab@ntua 2007-2008 12

Αξιολόγηση (2) ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Μην αφήσετε την ύλη να συσσωρευτεί.. Σταδιακό διάβασμα σε όλη τη διάρκεια του εξαμήνου. Εκτύπωση διαφανειών (2/4 ανά σελίδα) και κράτημα σημειώσεων. Απαιτούνται ΑΡΚΕΤΕΣ μέρες διαβάσματος. ΟΧΙ αποστήθιση, κατανόηση και επίλυση πολλών ασκήσεων. 13 cslab@ntua 2007-2008

Αξιολόγηση (3) 5 ή 6 σειρές ασκήσεων για εξάσκηση (οι λύσεις θα δίνονται με καθυστέρηση). 3 ενδιάμεσες εργασίες προαιρετικές με προφορική εξέταση και 1 μονάδα προσθετική ανά εργασία. Θα ανακοινωθούν έγκαιρα. Επίλυση αποριών, φροντιστήριο και εργαστήριο: Τρίτη 12:00-14:00 και Παρασκευή 10:00 12:00 εργ. 534 14 cslab@ntua 2007-2008

Αρχιτεκτονική Υπολογιστών Εισαγωγή Θεματολογία Μαθήματος Αντικείμενο, Έμφαση, Υλικό, Αξιολόγηση Ιστορικά Στοιχεία Εξέλιξη των Υπολογιστών Αρχιτεκτονική Επισκόπιση Σύγχρονων Υπολογιστών Κύρια Συστατικά Μέρη, Παραδείγματα, Απόδοση

Γενιές Υπολογιστών 0: Μηχανικοί Υπολογιστές (1642 1945) Υπολογισμοί χωρίς υπολογιστές 1: Λυχνίες Κενού (1945 1955) Σπάνιο, πανάκριβο, δύσχρηστο υλικό (1945) 2: Στερεοί Ημιαγωγοί-Transistors (1955 1965) Επινόηση διερμηνείας και μικροπρογραμματισμού (1955) Πρώτα λειτουργικά συστήματα (1960) 3: Ολοκληρωμένα Κυκλώματα (1965 1980) Ανάπτυξη του μικροκώδικα και λειτουργικών συστημάτων (1970) Πρώτοι μικροπεξεργαστές (1975) 4: Ολοκλήρωση Υψηλής Κλίμακας-VLSI (1980?) Πρώτοι προσωπικοί υπολογιστές (1981) Περιορισμός του μικροπρογραμματισμού (1985) Άφθονο, φθηνό, εύχρηστο υλικό (2000)

Ορόσημα Αρχιτεκτονικής Υπολογιστών (1)

Ορόσημα Αρχιτεκτονικής Υπολογιστών (2)

Οι Υπολογιστές τότε 02/10/10 EDSAC, University of Cambridge, UK, 1949 19

Πρώτη Γενιά VonNeumann Harvard Λυχνίες και πρώτα transistor. Μοντέλο Von Neumann: Κοινή αποθήκευση δεδομένων και προγράμματος. Μοντέλο Harvard: Ξεχωριστή αποθήκευση δεδομένων και προγράμματος.

Δεύτερη Γενιά Ολοκληρωμένα Κυκλώματα (ICs) Κοινός Δίαυλος PDP-8. Πρώτα λειτουργικά συστήματα Πρώτος μικροπρογραμματισμός (μικροαρχιτεκτονική).

Τρίτη Γενιά Ολοκλήρωση Υψηλής Κλίμακας (LSI) Τα συστήματα IBM 360: Πρώτη σειρά με κοινή Εικονική Μηχανή. Πολυπρογραμματισμός. Εξάπλωση μικροπρογραμματισμού. Πρώτος μικρο-επεξεργαστής (της οικογένειας επεξεργαστών της Intel).

Τέταρτη Γενιά Ολοκλήρωση Πολύ Υψηλής Κλίμακας (VLSI). Πρώτος Προσωπικός Υπολογιστής (ΙΒΜ PC) και η πρώτη Ανοικτή Αρχιτεκτονική (συμβατότητα). Πρώτο Λειτουργικό Σύστημα σε δισκέτα (Miscrosoft MS-DOS) και άνθηση της Ανεξάρτητης Ανάπτυξης Λογισμικού (3rd parties). VLSI: αυτοματοποιημένη παραγωγή, φθηνό υλικό. Σταδιακή ενίσχυση των προσωπικών υπολογιστών και αντίστοιχη εξάλειψη των μεγάλων-κλειστών συστημάτων. Δίκτυα: ενίσχυση της δια-λειτουργικότητας και της ανάγκης για συμβατότητα σε ανώτερα επίπεδα εικονικών μηχανών.

Νόμος του Moore (1) (Kυρίως) Τρίτη, τέταρτη Γενιά (LSI, VLSI). Ο νόμος του Moore προβλέπει ετήσια αύξηση 60% στον αριθμό transistors μέσα σε ένα chip. Το γράφημα αφορά πυκνότητα μνήμης σε bits.

Νόμος του Moore (2) Επεξεργαστής: 2X ταχύτητα κάθε 1.5 έτος. ~1000X απόδοση τη τελευταία 10ετία. Μνήμη: DRAM χωρητικότητα: > 2x κάθε 1.5 έτος. ~1000X χωρητικότητα τη τελευταία 10ετία. Κόστος ανά bit: πέφτει κατά 25% το χρόνο. Δίσκος: Χωρητικότητα: > 2X κάθε 1.5 έτος. Κόστος ανά bit: πέφτει κατά 60% το χρόνο. 200X χωρητικότητα τη τελευταία 10ετία. 25

..και οι Υπολογιστές Τώρα Sensor Nets TIFFQuickTime ᆰ and (Uncompressed) decompressor are needed to seeathis picture. Cameras Games QuickTimeᆰ and a Set-top TIFF (Uncompressed) decompressor are needed to see this picture. boxes Media Players Laptops Servers QuickTimeᆰ and a TIFF (Uncompressed) decompressor are needed to see this picture. QuickTimeᆰand a TIFF (Uncompressed) decompressor are needed to see this picture. Routers Smart phones Automobiles 02/10/10 Robots Supercomputers 26

Το Φάσμα των Υπολογιστών Το φάσμα των σύγχρονων υπολογιστών, οι τιμές και τυπικές εφαρμογές τους.

Μερίδια Αγοράς Επεξεργαστών

Αρχιτεκτονική Υπολογιστών Εισαγωγή Θεματολογία Μαθήματος Αντικείμενο, Έμφαση, Υλικό, Αξιολόγηση Ιστορικά Στοιχεία Εξέλιξη των Υπολογιστών Αρχιτεκτονική Επισκόπιση Σύγχρονων Υπολογιστών Κύρια Συστατικά Μέρη, Παραδείγματα, Απόδοση

Οργάνωση Τυπικού Προσωπικού Υπολογιστή (PC) motherboard ICs Τα βασικά συστατικά μέρη και η σύνδεσή τους.

Αρχιτεκτονική Απλού Υπολογιστή Block Char Η αρχιτεκτονική (προγραμματιστικό μοντέλο ISA, λογική αφαίρεση) ενός απλού υπολογιστή με μια CPU και δύο συσκευές I/O

Λειτουργία απλού συστήματος CPU-Μνήμης Address Content 00..0 01100..0 MAR, MDR PC, IR SP, BP FF..F 0100..0 Memory CPU Διαδρομές δεδομένων (όχι ελέγχου) σε μια τυπική CPU Λογική οργάνωση = Διαχείριση Καταχωρητών, ALU, Μνήμης.

Βασικοί Καταχωρητές Μετρητής Προγράμματος (Program Counter, PC) Καταχωρητής Εντολών (Instruction Register, IR) Καταχωρητής Διευθύνσεων Μνήμης (Memory Address Register, MAR) Καταχωρητής Δεδομένων Μνήμης (Memory Data Register, MDR) Δείκτης Στοίβας (Stack Pointer, SP) Δείκτης Βάσης (Base Pointer, BP) και Offset, Index κλπ Registers Συσσωρευτής (Accumulator, AC) Ή Α, Β, C... (ή Register Bank) Ή μηχανή στοίβας = 1 καταχωρητής = πολλοί καταχωρητές = κανένας καταχωρητής Καταχωρητής Κατάστασης (Status Register, SR)

Βήματα Ανάκλησης - Εκτέλεσης A. Ανάκληση της εντολής που δείχνει ο Μετρητή Προγράμματος από τη μνήμη και τοποθέτησή της στον Καταχωρητή Εντολών B. Τροποποίηση του Μετρητή Προγράμματος ώστε να δείχνει την επόμενη εντολή C. Αποκωδικοποίηση της εντολής που βρίσκεται στον Καταχωρητή Εντολών D. Αν η εντολή χρησιμοποιεί δεδομένα που βρίσκονται στη μνήμη, τότε γίνεται ανάκληση των δεδομένων σε καταχωρητή(ές) της CPU E. Εκτέλεση της εντολής και (πιθανή) αποθήκευση του αποτελέσματος σε καταχωρητή της CPU ή στη μνήμη F. Επανάληψη από το βήμα Α

Διερμηνέας (1)... Διερμηνέας για έναν απλό υπολογιστή (σε Java).

Διερμηνέας (2) Διερμηνέας για έναν απλό υπολογιστή (σε Java).

Βασικοί Tύποι Συνόλου Εντολών Γλώσσας Μηχανής Μετακίνηση Δεδομένων (από/προς μνήμη/καταχωρητές) Αριθμητικές - Λογικές Πράξεις, Συγκρίσεις Έλεγχος ροής προγράμματος (μεταβολή PC) με συνθήκη ή χωρίς Κλήση ρουτίνας και Επιστροφή ------------------------------------------------------------------------- Είσοδος - 'Εξoδος Κατάσταση Επεξεργαστή - Διαχείριση Διακοπών

Παράδειγμα Χρήσης Εντολών: Top 10 Intel X86 Instructions Κατηγορία Εντολή Μέσο ποσοστό συνολικής εκτέλεσης 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% Total 96% Κινήσεις = 38% Πράξεις = 35% Διακλαδώσεις = 20% Κλήσεις = 2% cslab@ntua 2007-2008 38

Διερμηνεία και Μικροκώδικας Διερμηνεία (σε επίπεδο μικροαρχιτεκτονικής): η εντολή γλώσσας μηχανής αναλύεται σε βήματα από στοιχειώδη σήματα ελέχου που υλοποιούνται σε διαδοχικούς κύκλους μηχανής. Κάθε βήμα είναι μια μικροεντολή και και το σύνολο των μικροεντολών είναι ο μικροκώδικας. Όλα βρίσκονται σε μικρο-rom. ΥΠΕΡ * Υλοποίηση του ίδιου συνόλου εντολών από διαφορετικό υλικό. * Υλοποίηση σύνθετων εντολών χωρίς απαραίτητα να υπάρχει σύνθετο υλικό (κύκλοι μηχανής). * Τροποποίηση συνόλου εντολών χωρίς αλλαγή υλικού. * Δομημένος / εύκολος σχεδιασμός (επίπεδο αφαίρεσης). ΚΑΤΑ * Κόστος απόδοσης (κύκλοι ανάκλησης εκτέλεσης μικρο-rom )

RISC και CISC Η Διερμηνεία στα όρια της (VAX). Ολο και πιο σύνθετο σύνολο εντολών γλώσσας μηχανής (200-300 εντολές). Σχετικά σύντομος κώδικας γλώσσας μηχανής αλλά πολύπλοκες-αργές εντολές. Complex Instruction Set Computer (CISC) Εναλλακτική ιδέα. Ένα σύνολο εντολών γλώσσας μηχανής δύο επιπέδων. Οι βασικές, συχνά χρησιμοποιούμενες εντολές υλοποιούνται αποδοτικά απ'ευθείας στο υλικό. Οι υπόλοιπες.. μπορούν να αναλυθούν από το μεταγλωττιστή ή να διερμηνευτούν. Σχετικά μακροσκελής κώδικας γλώσσας αλλά απλές-γρήγορες εντολές και δυνατότητα 'αναδιοργάνωσης' κώδικα. Reduced Instruction Set Computer (RISC) Μετά από αρκετές διαμάχες.. η λύση κάπου στη μέση. Νέος και απλός (MIPS, SPARC, PowerPC,..)? RISC Παλιός και σύνθετος (Pentium,..)? CISC πάνω από RISC (ακόμη ένα κρυμμένο επίπεδο αφαίρεσης..).

Αρχές Σχεδιασμού Υπολογιστών Όλες οι βασικές εντολές εκτελούνται απ' ευθείας στο υλικό (οι σύνθετες εντολές ίσως υλοποιούνται με μικροκώδικα). Μεγιστοποίηση του ρυθμού υποβολής εντολών στη CPU (τεχνικές Παραλληλίας Επιπέδου Εντολής, ILP). Εύκολη αποκωδικοποίηση εντολών (μικρό σχετικά σύνολο από σχετικά απλές εντολές). Ελαχιστοποίηση προσπέλασης στη μνήμη, με ειδικές εντολές Load, Store μιας διεύθυνσης. Αφθονία όμοιων καταχωρητών (μεγάλο register file).

Επίπεδα Παραλληλισμού Επίπεδο Δεδομένων (Data Level Parallelism, DLP): ταυτόχρονη εκτέλεση πράξεων σε ομοειδή δεδομένα, σεalu, κυλώματα ή και συνεπεξεργαστές ειδικού σκοπού, (32/64 bits, εσωτερικό GPU). Επίπεδο Εντολής (Instruction Level Parallelism, ILP): ταυτόχρονη εκτέλεση διαφορετικών εντολών ενός προγράμματος (Υπερβαθμωτή εκτέλεση, Διοχέτευση). Επίπέδο Εργασίας (Task/Thread Level Parallelism, Multithreading): ταυτόχρονη εκτέλεση πολλαπλών νημάτων (διεργασιών). Επίπέδο Λειτουργίας (Functional Parallelism): ταυτόχρονη εκτέλεση λειτουργιών (συνεπεξεργαστές GPU, DMA, I/O..) Επίπέδο Υπολογιστή/Υπολογισμού (Multiprocessors, Multicomputers): ταυτόχρονη εκτέλεση ενός ή διαφορετικών προγραμμάτων σε πολλαπλούς επεξεργαστές.

Κύρια Μνήμη Λογική Οργάνωση Διευθύνσεων Τρείς οπτικές μιας μνήμης των 96 bit.

Κρυφή Μνήμη (Cache) (1) Από λογική (αρχιτεκτονική) άποψη η cache είναι μεταξύ της CPU και της Κύριας Μνήμης.

Κρυφή Μνήμη (Cache) (2) Από φυσική (οργανωτική) άποψη, συνήθως έχουμε πολλαπλά επίπεδα cache (L1/2/3) που βρίσκονται μέσα ή έξω από τον επεξεργαστή με διαφορετική ταχύτητα, χωρητικότητα και λειτουργικότητα (Εντολές, Δεδομένα).

Αρχή Τοπικότητας Ένα πρόγραμμα έχει τη τάση να προσπελαύνει σε κάθε χρονική στιγμή δεδομένα και εντολές σε σχετικά περιορισμένο χώρο διευθύνσεων. Δύο ειδών τοπικότητες: Χρονική Τοπικότητα: Αν μια θέση μνήμης προσπελαστεί μια φορά, τότε πιθανότατα θα ξαναχρησιμοποιηθεί τις επόμενες χρονικές στιγμές. Παράδειγμα: εντολές βρόχων επανάληψης Χωρική Τοπικότητα: Αν μια θέση μνήμης προσπελαστεί, τότε πιθανότατα σύντομα θα προσπελαστούν και οι γειτονικές θέσεις μνήμης Παράδειγμα: πίνακες και άλλες δομές δεδομένων.

Χαρακτηριστικά Cache Κόστος L1 > Kόστος L2 > Κόστος L3 > Κόστος Κύριας Μνήμης. Ταχύτητα L1 < Ταχύτητα L2 < Ταχύτητα L3 < Ταχύτητα Κ. Μνήμης Μέγεθος L1 < Μέγεθος L2 < Μέγεθος L3 < Μέγεθος Κ. Μνήμης Μέγεθος Cache < 1% Μέγεθος Κύριας Μνήμης Διαφορές με Καταχωρητές: * Η Cache είναι διαφανής στο επίπεδο συνόλου εντολών (δεν υπάρχουν δηλαδή ειδικές εντολές γλώσσας μηχανής). * Η διαχείριση της Cache γίνεται από το υλικό, όχι το λογισμικό. * Η Cache αποθηκεύει δεδομένα και εντολές.

Ιεραρχία Μνήμης L1 Instruction/Data on chip Εντολές καταχωρητών * L2 on chip package L3 on board * Virtual memory Εντολές μνήμης * Εντολές Ι/Ο Μια ιεραρχία μνήμης με πέντε (ή εννέα) φυσικά επίπεδα. Τα λογικά επίπεδα είναι τρία (σημειώνονται με *).

Δίαυλοι Τυπικό σύστημα υπολογιστή με πολλαπλούς διαύλους. Δίαυλοι εσωτερικοί (της CPU). Δύο κύριοι δίαυλοι συστήματις: Μνήμης και Ι/Ο. Βus Controller: Διαιτητής.

Οικογένεια Intel (1) Η οικογένεια CPU της Intel. Ταχύτητες ρολογιού σε MHZ, με 1 MHZ = 1 εκ. κύκλοι/sec.

Οικογένεια Intel (2) Ο νόμος του Moore για τα CPU chips της Intel.

Απόδοση (1) Time = I x CPI x Clock Cycle Time - I: Instrumentation (Ενοργάνωση: δηλαδή αρχιτεκτονική και μεταγλωττιστής, συγκεκριμένα πρόγραμμα και δεδομένα) - CPI: Cycles Per Instruction (μικροαρχιτεκτονική, oργάνωση) - Clock Cycle Time: τεχνολογία (ταχύτητα ρολογιού) Αλληλεπιδράσεις μεταξύ Ι, CPI και Clock Cycle Time (ίσως και αλληλοσυγκρουόμενοι στόχοι). Για κάθε κατηγόρια εντολών: μέσος όρος κύκλων ανά εντολή (CPI) επί το μέσο ποσοστό εντολών ανά πρόγραμμα. 52

Απόδοση (2) FLOPs: Floating Point Operations per Second MIPs: Million Instructions per Second MIPs = Εντολές/Χρόνος Χ 106 ή Συχνότητα/CPI X 106 Έστω ότι έχουμε έναν επεξεργαστή που κάνει 1 πράξη κινητής υποδιαστολής (απλής ακρίβειας) σε κάθε κύκλο ρολογιού: Αν η συχνότητά του είναι 1GHz, τότε έχει απόδοση 1 GFLOP Αν ολοκληρώνει 1 εντολή σε κάθε κύκλο, τότε έχει απόδοση 1000MIPs 4 x freq FLOPS < {single Core 2 @ 2.93GHz} < 8 x freq FLOPs Εξαρτάται από την πράξη, FPADD, FPMUL, FPDIV (απλής ακριβείας). Για σύγχρονους επεξεργαστές τουλάχιστον 12 GFLOPs/cpu 53

Απόδοση (3) SPEC Benchmark (Μετροπρόγραμμα) www.spec.org Γιά κάθε πρόγραμμα i υπολόγιζει το execution ratio (ER) ERi=(χρονος σε 300 MHz UltraSun 5_10 / Χρονος μηχανής μέτρησης )* 100 Γεωμετρικός Μέσος των Execution Ratios n προγραμμάτων με Γεωμετρικό Μέσο SpecRatio = Π (ERi) i=1,2,..,n - SPEC CPU2006: 12 integer και 17 floating point εφαρμογές - SPECThroughput, SPECJava... κλπ 54