Anatomy of a Computer; Computer Architecture
Diomidis Spinellis
Department of Management Science and Technology
Athens University of Economics and Business
Athens, Greece
dds@aueb.gr
Πρόδρομοι της πληροφορικής
- ´Ανθρωπος: ο πρώτος υπολογιστής
- Το δεκαδικό (decimal) σύστημα και οι τέσσερεις πράξεις
- Ο αλγόριθμος του Ευκλείδη για το ΜΚΔ
- Μηχανικά βοηθήματα
- Πέτρες
- ´Αβακας
- Ο αστρολάβος των Αντικηθύρων - διαφορικά γρανάζια
- Αριθμομηχανές
- Wilhelm Schickard (1592-1635)
Συνεργάστηκε με τον Kepler, μηχανή που άθροιζε και πολλαπλασίαζε (σε
πολλαπλά βήματα) αριθμούς
έξι ψηφίων.
- Blaise Pascal (1632-1662)
Κατασκεύασε πάνω από 30 αθροιστικές μηχανές, η αφαίρεση γίνονταν
με τη μέθοδο του συμπληρώματος.
- Gottfried Leibniz (1646-1716)
Προσπάθεια για πολλαπλασιασμό
- Αποθηκευμένα προγράμματα
- Λατέρνες και μηχανικά πιάνα
- Ελεγχόμενοι αργαλιοί (Jacquard 1805)
- Η διαφορική μηχανή του Charles Babbage (1792-1871)
- Η αναλυτική μηχανή του Charles Babbage
- Διάτρητες κάρτες (punched cards)
(Hollerith 1886)
Ο αλγόριθμος ΜΚΔ του Ευκλείδη
Θέλουμε να βρούμε το μέγιστο κοινό διαιρέτη των Α και Β, Α > Β
(Π.χ. ΜΚΔ των 18 και 24 είναι το 6, ΜΚΔ των 378 και 216 είναι το 54)
- Διαιρούμε ακέραια το Α με το Β και έχουμε ένα υπόλοιπο Υ
- Αν το Υ είναι 0 τότε ο Β είναι ο ΜΚΔ
- Αν το Υ δεν είναι 0 τότε υπολογίζουμε ως ΜΚΔ τον ΜΚΔ του Β και Υ
![](astro.gif)
Ο αστρολάβος των Αντικηθύρων
![](shick.gif)
Μηχανικός υπολογιστής του William von Schickard
![](diff.gif)
Η διαφορική μηχανή του Charles Babbage
![](analyt.gif)
Η αναλυτική μηχανή του Charles Babbage
![](punched.jpg)
Διάτρητη κάρτα (1950)
Η βάση της διαφορικής μηχανής
Υπολογισμοί με πολυώνυμα
- Πολλές συναρτήσεις εκφράζονται ως πολυώνυμα
- cos(x) = 1 - x2/2! + x4/4! - x6/6! + ... + (-1)r*x(2*r)/(2*r)!
- ln(1 + x) = x - x2/2 + x3/3 - x4/4 + ... + (-1)(r+1)*xr/r
- Πολυώνυμα βαθμού ν έχουν σταθερές διαφορές τάξεως ν
f(x) = x2
1
3
4 2
5
9 2
7
16 2
9
25 2
11
36
f(x) = 3x2 + 2x + 5
10
11
21 6
17
38 6
23
61 6
29
90
Το παράδειγμα με τα ρολόγια
Clock A Clock B Clock C
1 3 2
+3 +2
4 5 2
+5 +2
9 7 2
+7 +2
16 9 2
Ακαδημαϊκές προσπάθειες Η/Υ
- Colossus Mark I (1943)
Σχεδιασμένο για την εκτέλεση λογικών πράξεων
- Harvard Mark I 1944 (relay computer)
- ENIAC (1946-1955) Mauchly και Eckert - Moore School of
Electrical Engineering, University of Pensylvania
- EDVAC (1946, Cambridge) και EDSAC (1949, Moore School) Αποθηκευμένο πρόγραμμα
- Πανεπιστήμιο του Machester (1949)
- Whirlwind (1950)
Έργο για λογαριασμό του αμερικανικού ναυτικού.
Οθόνη CRT, 20000 εντολές / δευτερόλεπτο.
![](eniac.jpg)
ENIAC (1946-1955)
![](colmark1.jpg)
Colossus Mark I (1943)
![](whirlwindpanel.jpg)
Ο πίνακας οργάνων του υπολογιστή Whirlwind (1947)
Πρώτοι εμπορικοί Η/Υ
- IBM
- Σειρά 600 (1935) - "multiplying punch" - προγραμματισμός με πλακέτες
- SSEC (ηλεκτρομηχανικό: 13000 λυχνίες, 23000 ρελέ) (1948)
- Σειρά 700 (1952) (ενοικίαση προς $1500/ μήνα) - FORTRAN
- UNIVAC (Eckert/Mauchly 1950)
- Raytheon και Honeywell
- RCA
- Burroughs
![](704.jpg)
Ένα από τα 4000 αρθρώματα του IBM 704
Θεωρητικό υπόβαθρο
- Kurt Goedel. On Formally Undecidable Propositions in Principia
Mathematica and Related Systems (1931).
- Alan M. Turing. On Computable Numbers with an Application to the
Entscheidungsproblem (1936)
- Norbert Wiener. Cybernetics: The study of control and
communication in the animal and the machine (1947)
- C. E. Shannon. The Mathematical Theory of Communication (1948)
Τεχνολογική εξέλιξη
![](gen.jpg)
Από αριστερά:
- λυχνία,
- τρανζίστορ,
- μνήμες EPROM TTL, επεξεργαστές (1980),
- επεξεργαστής και άρθρωμα μνήμης RAM 1995
![](core.jpg)
Μνήμη φερριτικού πυρήνα
![](4pu.jpg)
Λογικό κύκλωμα με λυχνία (IBM Pluggable Units - 1950)
![](tl.jpg)
Λογικό κύκλωμα με τρανζίστορ (1960)
Τεχνολογία ημιαγωγών
- Το πυρίτιο (silicon) (Si)
- Si n (περίσσεια e) με προσθήκη P, As, Sb
- Si p (έλλειμμα e) με προσθήκη B, Al, Ga
- SiO2 (κακός αγωγός)
- Τεχνολογία N-MOS
- Βασικά στοιχεία κατασκευής ολoκληρωμένων κυκλωμάτων
- Ανάπτυξη κρυστάλων Si
- Κοπή δίσκων
- Κατασκευή με φωτολιθογραφία
- Διάχυση p
- Οξείδωση SiO2
- Επίστρωση πολυπυριτίου
- Φωτολιθογραφία και απόξεση για εμφάνιση του Si p
- Διάχυση n
- Απόθεση SiO2 για μόνωση
- Φωτολιθογραφία και απόξεση
- Απόθεση Al για δημιουργία συνδέσεων
- Φωτολιθογραφία και απόξεση Al
- Κοπή και συσκευασία
![](cmos.jpg)
Τεχνολογία CMOS 7S και έξι επιστρώματα χαλκού
![](ppc750.jpg)
Ο επεξεργαστής 750 της αρχιτεκτονικής IBM Power PC
υλοποιημένος με την τεχνολογία χαλκού CMOS 7S
![](sige.jpg)
Πυρίτιο σε γερμάνιο (τομή)
![](soi.jpg)
Κύκλωμα κατασκευασμένο με την τεχνολογία
πυριτίου σε μονωτικό υλικό (silicon on insulator (SOI))
σε ηλεκτρονικό μικροσκόπιο
Οι εικόνες προέρχονται από τον τόπο
IBM Microelectronics Gallery (http://www.chips.ibm.com/gallery/index.html).
Δομικά στοιχεία
- Λογικές πύλες
- Αθροιστές
- Αριθμητική και λογική μονάδα
- Δισταθή κυκλώματα
- Τεχνολογίες μνήμης
- Μικροεπεξεργαστές
Λογικές πύλες
- Πύλη άρνησης (NOT) Y = !A
- Πύλη σύζευξης (AND) Y = A && B
- Πύλη διάζευξης (OR) Y = A || B
- Πύλη αποκλειστικής διάζευξης (XOR) Y = A ^ B
Μερικές φορές θα συναντήσετε και παλαιότερα σύμβολα για τις ίδιες πύλες
όπως αυτά που απεικονίζονται στο διάγραμμα που ακολουθεί:
![](gate.gif)
Αθροιστές
Με βάση τις πύλες μπορούν να κατασκευστούν κυκλώματα που κάνουν
υπολογισμούς.
- Απλός αθροιστής (adder)
![](halfadder.gif)
- Αθροιστής με κρατούμενο ή πλήρης αθροιστής (full adder)
![](fulladder.gif)
C0 | A | B | Σ | C1 |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
- Σύνδεση αθροιστών
![](cascadder.gif)
Σ = Α + Β
(Στην πράξη το κρατούμενο υπολογίζεται παράλληλα με το αποτέλεσμα).
Αριθμητική και λογική μονάδα
Η αριθμητική και λογική μονάδα (arithmetic and logical unit (ALU))
εκτελεί αριθμητικές και λογικές πράξεις ανάμεσα σε δύο τελεστέους.
- Τελεστές
- Πράξη π.χ. 74ALS381:
- A - B
- B - A
- A + B
- A ^ B
- A | B
- A & B
![](alutbl.gif)
Πράξεις που εκτελεί η ALU 74AS181
![](aluimp.gif)
Υλοποίηση της ALU 74AS181
Δομή ενός υπολογιστή
![](motherboard.jpg)
Κεντρική μονάδα επεξεργασίας
![](cpu.jpg)
O κύκλος εντολών
- Ανάκληση εντολής (Instruction fetch)
- Αποκωδικοποίηση εντολής (Instruction decode)
- Εκτέλεση εντολής (Instruction execution)
- Πρόσβαση μνήμης (Memory access)
- Εγγραφή
Κύρια μνήμη
![](ram.jpg)
Περιφερειακή μνήμη
- Μαγνητικοί δίσκοι
- Δισκέτες
- CD-ROM
- DVD
- Μαγνητο-οπτικοί δίσκοι
- Μαγνητικές ταινίες
- Μονάδες αυτοματοποιημένης εναλλαγής μέσων
![](disk.jpg)
Μονάδα σκληρού δίσκου
![](tape.jpg)
Μονάδα ταινίας
Συσκευές εισόδου
![](io.jpg)
Συσκευές εξόδου
![](plotter.jpg)
Σχεδιογράφος
Συσκευές επικοινωνίας
- Διαμορφωτής / αποδιαμορφωτής (MODEM)
- Σύνδεση με ISDN
- Ευρυζωνική σύνδεση (xDSL)
- Σύνδεση με δίκτυο Ethernet
- Σύνδεση με δίκτυο οπτικής ίνας
- Ασύρματη σύνδεση
![](modem.jpg)
MODEM
![](fibre.jpg)
Τερματισμός οπτικών ινών
Η επιστήμη της πληροφορικής
- Υλικό
- Λογικά κυκλώματα και μνήμες
- Επικοινωνίες και μονάδες εισόδου / εξόδου
- Ολοκληρωμένα κυκλώματα
- Οργάνωση συστημάτων
- Αρχιτεκτονικές επεξεργαστών
- Δίκτυα
- Απόδοση
- Λογισμικό
- Προγραμματισμός
- Τεχνολογία λογισμικού
- Λειτουργικά συστήματα
- Δεδομένα
- Δομές δεδομένων
- Θεωρία κωδικοποίησης και πληροφορίας
- Αρχεία
- Θεωρία υπολογιστών
- Υπολογισμοί από αφηρημένες μηχανές
- Ανάλυση αλγορίθμων
- Λογική και ερμηνεία προγραμμάτων
- Μαθηματική λογική και φορμαλιστικές γλώσσες
- Μαθηματικά της πληροφορικής
- Αριθμητική ανάλυση
- Διακριτά μαθηματικά
- Πιθανότητες και στατιστική
- Μαθηματικό λογισμικό
- Πληροφοριακά συστήματα
- Αρχές και μοντέλα
- Διαχείριση βάσεων δεδομένων
- Αποθήκευση και ανάκτηση πληροφοριών
- Εφαρμογές
- Επικοινωνία με τον άνθρωπο
- Μεθοδολογίες πληροφορικής
- Αλγεβρική επεξεργασία
- Τεχνητή νοημοσύνη
- Γραφικά
- Επεξεργασία εικόνας
- Επεξεργασία σημάτων
- Προσομοίωση και μοντελοποίηση
- Επεξεργασία κειμένου
- Εφαρμογές
- Γραφείου
- Φυσικών επιστημών και μηχανικού
- Βιολογικών και ιατρικών επιστημών
- Κοινωνικών και ψυχολογικών επιστημών
- Τέχνης και ανθρωπιστικών επιστημών
- Σχεδιασμός με υπολογιστή
- Πληροφορική και κοινωνία
- Η βιομηχανία υπολογιστών
- Ιστορία της πληροφορικής
- Πληροφορική και εκπαίδευση
- Πληροφορική και κοινωνία
- Νομικές διαστάσεις
- Το επάγγελμα του επιστήμονα πληροφορικής
(Βασισμένο στο σύστημα ταξινόμησης ACM Computing Reviews.)
Βιβλιογραφία
- J. Glenn Brookshear.
Computer Science, pages 1–15, 28–33, 73–108.
Addison-Wesley, 8th edition, 2004.
- IEEE Computer, July 1985.
- Aaron Finerman.
The CR classification system.
ACM Computing Reviews, pages 4–19, January 1992.
- John L. Hennessy
and David A. Patterson.
Computer Architecture: A Quantitative Approach.
Morgan Kaufmann Publishers, 1990.
- Roger Hunt and John
Shelley.
Computers and Common Sense.
Prentice Hall, fourth edition, 1988.
- IEEE annals of the history of
computing.
Published by the Institute of Electrical and Electronics Engineers Computer
Society.
- J.A.N. Lee.
Computer pioneers.
IEEE Computer Society Press, 1995.
- Brian Randell.
The Origins of Digital Computers.
Springer Verlag, Berlin, 1973.
- Eric Raymond.
The
New Hacker's Dictionary.
MIT Press, 1991.
- Saul Rosen.
Electronic computers: A historical survey.
ACM Computing Surveys, 1(1):7–36, March 1969.
- Richard L. Sites.
Alpha AXP architecture.
Communications of the ACM, 36(2):33–44, February 1993.
- Joseph Weizenbaum.
Computer Power and Human Reason.
Pelican books, 1984.
- Michael A. Williams.
A
History of Computing Technology.
IEEE Computer Society Press, 1997.
Γενικές πηγές στο διαδίκτυο
Πηγές στο διαδίκτυο