ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Μάθηµα: Αρχιτεκτονικές Υπολογιστών Βασικά Συστατικά ενός Υπολογιστικού Συστήµατος ( οµή Οργάνωση) ιδάσκων:αναπλ.καθ. Κ. Λαµπρινουδάκης clam@unipi.gr Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 1 Υπολογιστές: εφαρµογές - κατηγορίες «Αδιανόητες» εφαρµογές Μηχανήµατα ATM Υπολογιστές σε αυτοκίνητα Φορητοί υπολογιστές Ανθρώπινο γονιδίωµα Παγκόσµιος ιστός Κατηγορίες Επιτραπέζιος (Desktop) Έναςχρήστης, µικρόκόστος, γραφικό περιβάλλον Κατηγορίες (συνεχ.) ιακοµιστής (Server) Πολλοίχρήστεςµαζί, προσπέλαση από δίκτυο Υπερυπολογιστής (Supercomputer) Υψηλή απόδοση και κόστος Ενσωµατωµένος (Embedded) Μέσα σε άλλη συσκευή Προκαθορισµένη εφαρµογή Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 2 1
Πλήθος Τρανζίστορ το 2006 Γνωρίζετε πόσα τρανζίστορ κατασκευάστηκαν το 2006 µέσα σε ολοκληρωµένα κυκλώµατα; Για πρώτη φορά στην ανθρώπινη ιστορία: Τα τρανζίστορ που κατασκευάστηκαν σε ένα έτος είναι περισσότερα από τους κόκκους ρυζιού που φύτρωσαν! Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 3 Επεξεργαστές 1998 2002 Εκατοµµύρια υπολογιστές 1200 1100 1000 900 800 700 600 500 400 300 Ενσωµατωµένος υπολογιστής Επιτραπέζιοι (υπολογιστές) ιακοµιστές 892 488 290 862 1122 200 100 0 114 135 129 131 93 3 3 4 4 5 1998 1999 2000 2001 2002 Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 4 2
Επεξεργαστές ανά ISA 1998 2002 Εκατοµµύρια επεξεργαστών 1400 1300 1200 1100 1000 900 800 700 600 500 400 300 200 100 0 Άλλοι SPARC Hitachi SH PowerPC Motorola 68K MIPS IA-32 ARM 1998 1999 2000 2001 2002 Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 5 Απόδοση Προγράµµατος Τι καθορίζει την απόδοση των προγραµµάτων Συστατικά υλικού και λογισµικού Συστατικό υλικού ή λογισµικού Αλγόριθµος Γλώσσα προγραµµατισµού, µεταγλωττιστής, και αρχιτεκτονική Επεξεργαστής και σύστηµα µνήµης Σύστηµα εισόδου/εξόδου (υλικό και λειτουργικό σύστηµα) Επίδραση του συστατικού αυτού στην απόδοση Καθορίζει τόσο τον αριθµό των εντολών σε επίπεδο πηγαίου κώδικα (source level statements) όσο και τον αριθµό των εκτελούµενων λειτουργιών εισόδου/εξόδου Καθορίζουν τον αριθµό των εντολών µηχανής για κάθε εντολή επιπέδου πηγαίου κώδικα Καθορίζουν την ταχύτητα εκτέλεσης των εντολών Καθορίζει την ταχύτητα εκτέλεσης των λειτουργιών εισόδου/εξόδου Πού καλύπτεται αυτό το θέµα; Άλλα βιβλία! Κεφάλαια 2 και 3 Κεφάλαια 5, 6, και 7 Κεφάλαιο 8 Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 6 3
Υλικό και Λογισµικό λογισµικό συστηµάτων (systems software) Λογισµικό που παρέχει υπηρεσίες συνήθως χρήσιµες, όπως τα λειτουργικά συστήµατα, οι µεταγλωττιστές, και οι συµβολοµεταφραστές (assemblers). µεταγλωττιστής (compiler) Πρόγραµµα που µεταφράζει εντολές (statements) µιας γλώσσας υψηλού επιπέδου σε εντολές συµβολικής γλώσσας (assembly language). λειτουργικό σύστηµα (operating system) Πρόγραµµα επίβλεψης που διαχειρίζεται τους πόρους ενός υπολογιστή προς όφελος των προγραµµάτων που εκτελούνται σε αυτόν. Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 7 Μεταγλώττιση, Συµβολοµετάφραση (1) γλώσσα προγραµµατισµού υψηλού επιπέδου (highlevel programming language) Φορητή (portable) γλώσσα όπως οι C, Fortran, ή Java, αποτελούµενη από λέξεις και αλγεβρικές παραστάσεις που µπορούν να µεταφραστούν από ένα µεταγλωττιστή σε συµβολική γλώσσα (assembly language). µεταγλωττιστής (compiler) Πρόγραµµα που µεταφράζει εντολές (statements) µιας γλώσσας υψηλού επιπέδου σε εντολές συµβολικής γλώσσας (assembly language). συµβολοµεταφραστής (assembler) Πρόγραµµα που µεταφράζει µια συµβολική έκδοση των εντολών στη δυαδική έκδοσή τους. συµβολική γλώσσα (assembly language) Μια συµβολική αναπαράσταση των εντολών της µηχανής. Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 8 4
Πρόγραµµα γλώσσας υψηλού επιπέδου (σε γλώσσα C) Μεταγλώττιση, Συµβολοµετάφραση (2) swap(int Πρόγραµµα v[], int k) {int συµβολικής temp; temp γλώσσας - v[k]; (για επεξεργαστή MIPS) v[k] - v[k+1]; v[k+1] - temp; } swap: muli $2, $5,4 add $2, $4,$2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Μεταγλωττιστής Συµβολοµεταφραστής Πρόγραµµα συµβολικής γλώσσας (για επεξεργαστή MIPS) swap: Πρόγραµµα muli $2, $5,4 00000000101000010000000000011000 δυαδικής add $2, $4,$2 00000000000110000001100000100001 γλώσσας lw $15, 0($2) 10001100011000100000000000000000 µηχανής lw $16, 4($2) 10001100111100100000000000000100 (για sw επεξεργαστή $16, 0($2) 10101100111100100000000000000000 MIPS) sw $15, 4($2) 10101100011000100000000000000100 jr $31 00000011111000000000000000001000 Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 9 Σχέση Απόδοσης και Κόστους Πηγή: Computer Museum, Boston Έτος Τεχνολογία που χρησιµοποιείται στους υπολογιστές Σχετική απόδοση ανά µονάδα κόστους 1951 Λυχνία κενού 1 1965 Τρανζίστορ 35 1975 Ολοκληρωµένο κύκλωµα 900 1995 Πολύ µεγάλης κλίµακας 2.400.000 ολοκληρωµένο κύκλωµα (very large scale integrated circuit) 2005 Υπερυψηλής κλίµακας 6.200.000.000 ολοκληρωµένο κύκλωµα (ultra large scale integrated circuit) Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 10 5
Χωρητικότητα DRAM 1. 000. 000 Kbit χωρητικότητας 100. 000 10. 000 1000 100 10 16K 64K 256K 1M 4M 16M 64M 512M 256M 128M 1976 1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 Έτος παρουσίασης Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 11 Απόδοση σταθµών εργασίας 10.000 1.000 Intel Pentium 4/3000 Intel Xeon/2000 DEC Alpha 21264A/667 DEC Alpha 21264/600 Επιδόσεις DEC Alpha 5/500 DEC Alpha 5/300 100 IBM POWER 100 DEC AXP/500 DEC Alpha 4/266 0 SUN-4/ 260 HP 9000/750 IBM RS6000 MIPS M2000 MIPS M/120 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 Έτος Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 12 6
Βασικά Συστατικά ενός Υπολογιστικού Συστήµατος Μεταγλωττιστής ιασύνδεση Μονάδα ελέγχου (έλεγχος) Υπολογιστής Είσοδος Αξιολόγηση απόδοσης Έξοδος ιαδροµή δεδοµένων Επεξεργαστής Μνήµη Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 13 Βασικά Συστατικά ενός Υπολογιστικού Συστήµατος Τα βασικά συστατικά ενός υπολογιστικού συστήµατος είναι: Η Κεντρική Μονάδα Επεξεργασίας Αριθµητική Λογική Μονάδα Μονάδα Ελέγχου Καταχωρητές Το σύστηµα Μνήµης ευτερεύουσα Μνήµη Κύρια Μνήµη Κρυφή Μνήµη Το Σύστηµα ιασύνδεσης ιαδροµές εδοµένων Οι Μονάδες Εισόδου / Εξόδου Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 14 7
Κεντρική Μονάδα Επεξεργασίας K.M.E Σήµατα ελέγχο υ Μονάδα ελέγχου Αριθµητική /Λογική µονάδα Καταχωρητές Αρτηρία δεδοµένων Αρτηρία διευθύνσε ων Μ.Ε. Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 15 Κεντρική Μονάδα Επεξεργασίας Η Αριθµητική /Λογική Μονάδα υλοποιεί το σύνολο των αριθµητικών και λογικών πράξεων του υπολογιστικού συστήµατος. Υλοποιείται ως ένα συνδυαστικό κύκλωµα (π.χ. ένας αθροιστής...) Οι Καταχωρητές υλοποιούνται ως Σύγχρονα Ακολουθιακά Κυκλώµατα (µε FlipFlops) H Μονάδα Ελέγχου είναι η «καρδιά» του υπολογιστικού συστήµατος και θα εξεταστεί αναλυτικά (υπάρχειυπάρχει ξεχωριστή παρουσίαση). Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 16 8
Ιεραρχία Μνήµης Καταχωρητές ΜέσαστηνΚΜΕ Εσωτερική ή Κύρια Μνήµη Μπορεί να συµπεριλαµβάνει ένα ή περισσότερα επίπεδα κρυφής µνήµης (υπάρχει ξεχωριστή παρουσίαση) Μνήµη Τυχαίας Προσπέλασης - RAM Εξωτερική ή ευτερεύουσα Μνήµη Μαγνητικά ή Οπτικά Αποθηκευτικά Μέσα Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 17 Ιεραρχία Μνήµης Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 18 9