630 likes | 920 Views
Ιστορική Αναδρομή. Αρχαιότητα. Υπολογιστική Δραστηριότητα: Μέτρηση με τα δάκτυλα Βαβυλώνιοι: Εξηνταδεκαδικό σύστημα αρίθμησης Βρετανοί: Δωδεκαδικό Πρωτόγονες Φυλές: Τριαδικό σύστημα !!! Πρώτη υπολογιστική μηχανή: άβακας (2000 π.χ.). Ιστορική Αναδρομή. Αναγέννηση.
E N D
Ιστορική Αναδρομή • Αρχαιότητα Υπολογιστική Δραστηριότητα: Μέτρηση με τα δάκτυλα Βαβυλώνιοι: Εξηνταδεκαδικό σύστημα αρίθμησης Βρετανοί: Δωδεκαδικό Πρωτόγονες Φυλές: Τριαδικό σύστημα !!! Πρώτη υπολογιστική μηχανή: άβακας (2000 π.χ.)
Ιστορική Αναδρομή • Αναγέννηση 1600 μ.Χ. : John Napier λογαριθμικοί κανόνες sin(A) * cos(B) = (1/2)sin(A+B) + (1/2)sin(A-B) Επομένως, για τον πολλαπλασιασμό 0.17365 * 0.99027, αναζητούμε σε πίνακες και βρίσκουμε ότι 0.17365 = sin(10), 0.99027 = cos(8) Συνεπώς: sin(10) * cos(8) = (1/2) * (sin(18) + sin(2) ) Από πίνακες: sin(18) = 0.30902, sin(2) = 0.03490 Κατά συνέπεια: 0.17365 * 0.99027 = 0.17196 1642 : Blaise Pascal υπολογιστική μηχανή με χρήση οδοντοτών τροχών (πρόσθεση – αφαίρεση) http://www-jime.open.ac.uk/98/7/pascal.html#applet τέλη 17ου αιώνα: Leibnitz (βελτίωση : πολλαπλασιασμός και διαίρεση)
Ιστορική Αναδρομή Υπολογιστική Μηχανή του Pascal
Ιστορική Αναδρομή • 19ος αιώνας 1801: Joseph Jacquard προγραμματιζόμενος αργαλειός 1833: Charles Babbage αναλυτική μηχανή (εκτέλεση αριθμητικών πράξεων και δυνατότητα προγραμματισμού. Δυστυχώς δεν κατασκευάστηκε….)
Ιστορική Αναδρομή Αναλυτική Μηχανή του Babbage (μοντέλο)
Ιστορική Αναδρομή • 19ος αιώνας 1880: Η ανάλυση στοιχείων της απογραφής διήρκεσε 8 χρόνια. Η Αμερικανική Δημογραφική Υπηρεσία ανέθεσε στον Hollerith να αναπτύξει μέθοδο για επιτάχυνση της επεξεργασίας 1890: Η ανάλυση των στοιχείων διήρκεσε τρία χρόνια 1890: O Hellerith πήγε στην Computing and Tabulating 1911: Συγχώνευση με τρείς άλλες εταιρείες To 1924 μετονομάστηκε σε International Business Machines (IBM) από
Ιστορική Αναδρομή • Πρώτος – Δεύτερος Παγκόσμιος Πόλεμος Στον 1ο Παγκ. Πόλεμο κατασκευάστηκαν αριθμητικές μηχανές με ταχύτητα 6 ως 10 sec για πολλαπλασιασμό δύο δεκαψήφιων αριθμών Δεκαετία 1930: Αξιοποίηση ‘’ρελέ’’ για υλοποίηση άλγεβρας Boole (καταχωρητικά στοιχεία - μνήμες) 1937-1944: Πανεπιστήμιο Harvard και ΙΒΜ Automatic Sequence-Controlled Calculator (ASCC) αργότερα MARK-I ΜΑRK-I: Βάρος: 5 τόνοι, 0.3 sec για πρόσθεση δύο 23-ψήφιων αριθμών, 6 secs για πολλαπλασιασμό
Ιστορική Αναδρομή • Πρώτος – Δεύτερος Παγκόσμιος Πόλεμος Τέλη δεκαετίας ’30: John Atanasoff, Iowa State College Πρώτος ηλεκτρονικός υπολογιστής ειδικού σκοπού (ABC). Πρώτος υπολογιστής που χρησιμοποιούσε το δυαδικό σύστημα αρίθμησης (Δικαίωση το 1973 !!!)
Ιστορική Αναδρομή • Δεύτερος Παγκόσμιος Πόλεμος Κατά τη διάρκεια του πολέμου αναπτύχθηκαν από την Βρετανική Αντικατασκοπεία ηλεκτρονικοί υπολογιστές (Colossi) για αποκωδικοποίηση μηνυμάτων
Ιστορική Αναδρομή • ΕΝΙΑC 1943 – 1946: University of Pennsylvania (Mauchly και Eckert) Electronic Numerical Integrator and Calculator Πρώτος ηλεκτρονικός υπολογιστής γενικού σκοπού Χρήση ηλεκτρονικών λυχνιών 5000 προσθέσεις ή 30 πολλαπλασιασμούς / δευτερόλεπτο Μνήμη: δυνατότητα αποθήκευσης 20 δεκαψήφιων
Ιστορική Αναδρομή • ΕΝΙΑC (..συνέχεια) Επιφάνεια: 15 χιλιάδες τετραγωνικά πόδια Βάρος: 30 τόνοι 18000 λυχνίες, 70000 αντιστάσεις, 10000 πυκνωτές 150 kW ισχύς
Ιστορική Αναδρομή • Υπολογιστές πρώτης γενιάς John von Neumann έννοια του αποθηκευμένου προγράμματος (stored program concept) 1949: πρώτος υπολογιστής Von Neumann, Cambridge, UK, EDSAC, επίβλεψη: Maurice Wilkes Οι Mauchly – Eckert του ENIAC ίδρυσαν την UNIVAC: UNIVAC-I πρώτος Η/Υ μαζικής παραγωγής (1951)
Ιστορική Αναδρομή C Πρώτη χρήση: Ενίσχυση. Η εφαρμογή τάσης στο Β ενισχύει το ρεύμα μεταξύ C και E B E • Transistor • Κατά ορισμένους, το transistor είναι η σημαντικότερη ανακάλυψη του 20ου αιώνα • 1947: Brattain, Schockley, Bardeen
Ιστορική Αναδρομή Metal-Oxide-Semiconductor Field-Effect Transistor (MOSFET)
Oxidation Si
Mask Si
Removal SiO2
Ion Implantation Si SiO2
n+ regions Si SiO2
Terminals Si SiO2
Operation Si SiO2 VDD GND VDD
Ιστορική Αναδρομή • Υπολογιστές δεύτερης γενιάς Αντικατάσταση των λυχνιών από transistor. Μαζική παραγωγή Η/Υ από IBM και άλλες εταιρείες. Γρηγορότερη ταχύτητα επεξεργασίας Το κόστος παρέμενε υψηλό: Ο 7090 της ΙΒΜ: $ 3 million ο καθένας !!!
Ιστορική Αναδρομή • Υπολογιστές τρίτης γενιάς Χρήση μονολιθικών ολοκληρωμένων κυκλώμάτων (SSI, MSI), μνήμη μαγνητικών δακτυλίων, ισχυρότερες συσκευές εισόδου/εξόδου ΙΒΜ σειρά 360 (1964), DEC Μείωση τιμών υπολογιστών – ταυτόχρονη αύξηση ικανοτήτων Έννοια συμβατότητας Δυνατότητα σύνδεσης με Η/Υ μέσω τηλεφωνικών γραμμών
Ιστορική Αναδρομή • Υπολογιστές τέταρτης γενιάς Μέσα δεκαετίας ’70 έως μέσα δεκαετίας ’80 Large Scale of Integration Μνήμες ημιαγωγών Χαρακτηριστικά: Πολυεπεξεργαστές, δίκτυα υπολογιστών, μικροεπεξεργαστές • Υπολογιστές πέμπτης γενιάς Very Large Scale of Integration (VLSI) Εκατομμύρια transistor σε μία ψηφίδα πυριτίου
Ιστορία Λογισμικού • Πρώτος Προγραμματιστής στην Ιστορία….. • Μία γυναίκα: Ada Augusta • Έγραψε το πρώτο πρόγραμμα (υπολογισμός των αριθμών Bernoulli) για την αναλυτική μηχανή του Babbage
Ιστορία Λογισμικού • Πρώτη γενιά Γλώσσα Μηχανής (machine language) Δεδομένα και εντολές που ερμηνεύονται άμεσα από το υλικό του υπολογιστή Π.χ. Η εντολή: 00010100000000000000000001100100 αποθηκεύει τα περιεχόμενα της λέξης 100 της μνήμης σε έναν καταχωρητή
Ιστορία Λογισμικού • Πρώτη γενιά (..βελτίωση) Συμβολικές Γλώσσες Προγραμματισμού (symbolic assembly languages) (γλώσσες προγραμματισμού χαμηλού επιπέδου) Μνημονικά ονόματα για εντολές Π.χ. η εντολή: 00010100000000000000000001100101 γράφεται ως LDA 101 Συμβολομεταφραστής (assembler) το πρόγραμμα που μετατρέπει την assembly σε γλώσσα μηχανής
Ιστορία Λογισμικού • Πρώτη γενιά (..μειονεκτήματα) Δυσκολία ανάπτυξης ενός προγράμματος Πλήρης εξάρτηση από τη μηχανή Για το σκοπό αυτό αναπτύχθηκαν οι διερμηνευτές (interpreter) που είναι σε θέση να διαβάσουν μια εντολή του τύπου C = A * B και να την ερμηνεύσουν ανάλογα με τον υπολογιστή To πρόγραμμα ερμηνεύεται από τον interpreter κάθε φορά που πρόκειται να εκτελεστεί -> Χρονοβόρο
Ιστορία Λογισμικού • Δεύτερη γενιά • Γλώσσες προγραμματισμού υψηλού επιπέδου: • 1957 FORTRAN (FORmula TRANslator system) (επιστημονικές εφαρμογές) • 1958 ALGOL (αλγόριθμοι, ανικανότητα χειρισμού μη αριθμητικών δεδομένων) • 1960 COBOL (Common Business Oriented Language) (εμπορικές εφαρμογές, χειρισμός αρχείων) • Στις γλώσσες αυτές χρησιμοποιούνται μεταγλωττιστές (compilers) : μετατροπή γλώσσας υψηλού επιπέδου σε γλώσσα μηχανής
Εκτέλεση ενός προγράμματος Πρόγραμμα γλώσσας υψηλού επιπέδου (π.χ. C) Πρόγραμμα γλώσσας μηχανής Πρόγραμμα γλώσσας μηχανής Πρόγραμμα γλώσσας μηχανής Πηγαίος κώδικας Αντικείμενος κώδικας Εκτελέσιμος κώδικας Εκτελέσιμος κώδικας μεταγλωττιστής συνδέτης (linker) φορτωτής Εκτέλεση προγράμματος μαζί με δεδομένα
Ιστορία Λογισμικού • Τρίτη γενιά • Εισαγωγή της έννοιας του λειτουργικού συστήματος • 1965 PL/1 της IBM(multi-programming) • 1965 BASIC (Beginner’s All-purpose Symbolic Instruction Code) (Dartmouth College, USA) • 1971 Pascal (Ζυρίχη, Niklaus Wirth) • ο ίδιος στη συνέχεια υλοποίησε την MODULA-2 • To 1972 υπήρχαν 172 γλώσσες προγραμματισμού !!
Ιστορία Λογισμικού • Τέταρτη γενιά • Αρχές 1970 : Κρίση Λογισμικού • Ως αποτέλεσμα προέκυψε η γλώσσα Ada (Ada’83) • Eξάπλωση του λειτουργικού συστήματος UNIX • Από το UNIX προέκυψε η γλώσσα C • Σε όλες τις προηγούμενες γλώσσες κυρίαρχη έννοια είναι η συνάρτηση (διαδικασία) : διαδικασιακές γλώσσες • Η Smalltalk εισήγαγε την έννοια των αντικειμενοστραφών γλωσσών προγραμματισμού
Ιστορία Λογισμικού • Πέμπτη γενιά • Επικράτηση των αντικειμενοστραφών μεθόδων • Εμφάνιση της C++, Java • LINUX
FABRICATION STAGES FOR Intel Pentium Processors
486 Απρ. 1989 25 - 100 ΜΗz 1.2Μ Trans. 4 GB