Αναλυτική μηχανή
Η αναλυτική μηχανή ήταν ένας προτεινόμενος μηχανικός υπολογιστής γενικής χρήσης που σχεδιάστηκε από τον Άγγλο μαθηματικό και πρωτοπόρο των υπολογιστών Τσαρλς Μπάμπατζ . [2] [3] Περιγράφηκε για πρώτη φορά το 1837 ως ο διάδοχος της διαφορικής μηχανής του Babbage, η οποία ήταν ένα σχέδιο για μια απλούστερη μηχανική αριθμομηχανή.[4]
Η αναλυτική μηχανή ενσωμάτωνε μια αριθμητική λογική μονάδα, ροή ελέγχου με τη μορφή διακλάδωσης υπό όρους και βρόχους και ενσωματωμένη μνήμη, καθιστώντας τον το πρώτο σχέδιο για έναν υπολογιστή γενικής χρήσης που θα μπορούσε να περιγραφεί με σύγχρονους όρους ως Turing-complete . [5][6] Με άλλα λόγια, η δομή της αναλυτικής μηχανής ήταν ουσιαστικά η ίδια με αυτή που κυριάρχησε στον σχεδιασμό των υπολογιστών στην ηλεκτρονική εποχή.[7] Η αναλυτική μηχανή είναι ένα από τα πιο επιτυχημένα επιτεύγματα του Τσαρλς Μπάμπατζ.
Ο Μπάμπατζ δεν μπόρεσε ποτέ να ολοκληρώσει την κατασκευή οποιουδήποτε από τα μηχανήματα του λόγω συγκρούσεων με τον αρχιμηχανικό του και ανεπαρκούς χρηματοδότησης. [8] [9] Μόλις το 1941 ο Κόνραντ Τσούζε κατασκεύασε τον πρώτο υπολογιστή γενικής χρήσης, τον Z3, περισσότερο από έναν αιώνα αφότου ο Μπάμπατζ είχε προτείνει την πρωτοποριακή αναλυτική μηχανή το 1837.[10]
Σχεδιασμός
ΕπεξεργασίαΗ πρώτη απόπειρα του Μπάμπατζ σε μια μηχανική υπολογιστική συσκευή, η Διαφορική μηχανή, ήταν μια μηχανή ειδικού σκοπού που σχεδιάστηκε για να ταξινομεί λογάριθμους και τριγωνομετρικές συναρτήσεις αξιολογώντας πεπερασμένες διαφορές για τη δημιουργία προσεγγιστικών πολυωνύμων. Η κατασκευή αυτού του μηχανήματος δεν ολοκληρώθηκε ποτέ. Ο Μπάμπατζ είχε συγκρούσεις με τον αρχιμηχανικό του, Τζόζεφ Κλέμεντ, και τελικά η βρετανική κυβέρνηση απέσυρε τη χρηματοδότησή της για το έργο.[11][12][13]
Κατά τη διάρκεια αυτού του έργου, ο Μπάμπατζ συνειδητοποίησε ότι ήταν δυνατός ένας πολύ πιο γενικός σχεδιασμός, η αναλυτική μηχανή. [11] Οι εργασίες για το σχεδιασμό της αναλυτικής μηχανής ξεκίνησαν γύρω στο 1833. [14] [4]
Η είσοδος, που αποτελείται από προγράμματα ("τύπους") και δεδομένα, [15] [11] επρόκειτο να παρασχεθεί στη μηχανή μέσω διάτρητων καρτών, μια μέθοδος που χρησιμοποιήθηκε εκείνη την εποχή για να κατευθύνει μηχανικούς αργαλειούς όπως ο αργαλειός Ζακάρ . [16] Για έξοδο, το μηχάνημα θα είχε έναν εκτυπωτή, έναν σχεδιογράφο καμπυλών και ένα κουδούνι.[11] Το μηχάνημα θα είναι επίσης σε θέση να τρυπήσει αριθμούς σε κάρτες για ανάγνωση αργότερα. Χρησιμοποιούσε συνηθισμένη αριθμητική βάσης-10 σταθερού σημείου.[11]
Θα υπήρχε μια αποθήκη (δηλαδή, μια μνήμη) ικανή να χωρέσει 1.000 αριθμούς των 50 δεκαδικών ψηφίων [17] ο καθένας (περίπου 16,6 kB ). Μια αριθμητική μονάδα (ο "μύλος") θα μπορούσε να εκτελέσει και τις τέσσερις αριθμητικές πράξεις, συν συγκρίσεις και προαιρετικά τετραγωνικές ρίζες.[18] Αρχικά (1838) είχε συλληφθεί ως μια διαφορική μηχανή κυρτή πίσω στον εαυτό της, σε μια γενικά κυκλική διάταξη, με τη μακριά αποθληκη να βγαίνει στη μία πλευρά. [19] Μεταγενέστερα σχέδια (1858) απεικονίζουν μια τακτοποιημένη διάταξη πλέγματος. [20] Όπως η κεντρική μονάδα επεξεργασίας (CPU) σε έναν σύγχρονο υπολογιστή, ο μύλος θα βασιζόταν στις δικές του εσωτερικές διαδικασίες, που θα αποθηκευτούν με τη μορφή μανταλιών που εισάγονται σε περιστρεφόμενα τύμπανα που ονομάζονται "βαρέλια", για την εκτέλεση ορισμένων από τις πιο περίπλοκες οδηγίες μπορεί να καθορίσει το πρόγραμμα του χρήστη. [21]
Η γλώσσα προγραμματισμού που θα χρησιμοποιούσαν οι χρήστες ήταν παρόμοια με τις σύγχρονες γλώσσες assembly. Οι βρόχοι και η διακλάδωση υπό όρους ήταν δυνατοί, και έτσι η γλώσσα όπως είχε συλληφθεί θα ήταν πλήρης Turing όπως ορίστηκε αργότερα από τον Άλαν Τούρινγκ . Χρησιμοποιήθηκαν τρεις διαφορετικοί τύποι καρτών διάτρησης: μία για αριθμητικές πράξεις, μία για αριθμητικές σταθερές και μία για λειτουργίες φορτίου και αποθήκευσης, μεταφέροντας αριθμούς από την αποθήκη στην αριθμητική μονάδα ή πίσω. Υπήρχαν τρεις ξεχωριστοί αναγνώστες για τους τρεις τύπους καρτών. Ο Μπάμπατζ ανέπτυξε περίπου δύο δωδεκάδες προγράμματα για την αναλυτική μηχανή μεταξύ 1837 και 1840, και ένα πρόγραμμα αργότερα. [16] [22] Αυτά τα προγράμματα αντιμετωπίζουν πολυώνυμα, επαναληπτικούς τύπους, Γκαουσιανή απαλοιφή και αριθμούς Μπερνούλι . [16] [23]
Το 1842, ο Ιταλός μαθηματικός Λουίτζι Φεντερίκο Μεναμπρέα δημοσίευσε μια περιγραφή της μηχανής στα γαλλικά, [24] με βάση τις διαλέξεις που έδωσε ο Μπάμπατζ όταν επισκέφτηκε το Τορίνο το 1840 [25] Το 1843, η περιγραφή μεταφράστηκε στα αγγλικά και σχολιάστηκε εκτενώς από την Άντα Λάβλεϊς, η οποία είχε αρχίσει να ενδιαφέρεται για τον κινητήρα οκτώ χρόνια νωρίτερα. [15] Αναγνωρίζοντας τις προσθήκες της στο έγγραφο του Μεναμπρέα , το οποίο περιελάμβανε έναν τρόπο υπολογισμού των αριθμών Μπερνούλι χρησιμοποιώντας τη μηχανή (ευρέως θεωρείται το πρώτο πλήρες πρόγραμμα υπολογιστή), έχει περιγραφεί ως η πρώτη προγραμματίστρια υπολογιστών.
Παραπομπές
Επεξεργασία- ↑ «Babbage's Analytical Engine, 1834-1871. (Trial model)». Αρχειοθετήθηκε από το πρωτότυπο στις 20 Σεπτεμβρίου 2010. Ανακτήθηκε στις 1 Απριλίου 2010.
- ↑ John Graham-Cumming (4 Οκτωβρίου 2010). «The 100-year leap». O'Reilly Radar. Ανακτήθηκε στις 1 Αυγούστου 2012.
- ↑ «The Babbage Engine: The Engines». Computer History Museum. 2016. Ανακτήθηκε στις 7 Μαΐου 2016.
- ↑ 4,0 4,1 Bromley 1982, σελ. 196.
- ↑ «Babbage». Online stuff. Science Museum. 19 Ιανουαρίου 2007. Αρχειοθετήθηκε από το πρωτότυπο στις 7 Αυγούστου 2012. Ανακτήθηκε στις 1 Αυγούστου 2012.
- ↑ «Let's build Babbage's ultimate mechanical computer». New Scientist. 23 Δεκεμβρίου 2010. Ανακτήθηκε στις 1 Αυγούστου 2012.
- ↑ «The Babbage Engine: The Engines». Computer History Museum. 2016. Ανακτήθηκε στις 7 Μαΐου 2016.
- ↑ Tim Robinson (28 Μαΐου 2007). «Difference Engines». Meccano.us. Ανακτήθηκε στις 1 Αυγούστου 2012.
- ↑ Weber, Alan S (10 Μαρτίου 2000). 19th Century Science, an Anthology. Broadview Press. ISBN 9781551111650. Ανακτήθηκε στις 1 Αυγούστου 2012.
- ↑ «The Babbage Engine: The Engines». Computer History Museum. 2016. Ανακτήθηκε στις 7 Μαΐου 2016.
- ↑ 11,0 11,1 11,2 11,3 11,4 Collier 1970, σελ. chapter 3.
- ↑ Lee, John A.n (1995). International Biographical Dictionary of Computer Pioneers. Taylor & Francis. ISBN 9781884964473. Ανακτήθηκε στις 1 Αυγούστου 2012.
- ↑ Balchin, Jon (2003). Science: 100 Scientists Who Changed the World. Enchanted Lion Books. σελ. 105. ISBN 9781592700172. Ανακτήθηκε στις 1 Αυγούστου 2012.
- ↑ Dubbey, J. M.· Dubbey, John Michael (12 Φεβρουαρίου 2004). The Mathematical Work of Charles Babbage (στα Αγγλικά). Cambridge University Press. σελ. 197. ISBN 9780521524766.
- ↑ 15,0 15,1 Menabrea & Lovelace 1843.
- ↑ 16,0 16,1 16,2 Bromley 1982, σελ. 215.
- ↑ Bromley 1982, σελ. 198.
- ↑ Bromley 1982, σελ. 211.
- ↑ Bromley 1982, σελ. 209.
- ↑ «The Babbage Pages: Calculating Engines». Projects.ex.ac.uk. 8 Ιανουαρίου 1997. Ανακτήθηκε στις 1 Αυγούστου 2012.
- ↑ Tim Robinson (28 Μαΐου 2007). «Difference Engines». Meccano.us. Ανακτήθηκε στις 1 Αυγούστου 2012.
- ↑ Bromley 1990, σελ. 89.
- ↑ Bromley 2000, σελ. 11.
- ↑ Menabrea, Mr. L.-F. (1842). «Notions sur la machine analytique de M. Charles Babbage». Bibliothèque universelle de Genève 41: 352–376. http://www.bibnum.education.fr/calcul-informatique/calcul/notions-sur-la-machine-analytique-de-m-charles-babbage.
- ↑ Sterling, Bruce (14 May 2017). «Charles Babbage left a computer program in Turin in 1840. Here it is.» (στα αγγλικά). Wired. ISSN 1059-1028. https://www.wired.com/beyond-the-beyond/2017/05/charles-babbage-left-computer-program-turin-1840. Ανακτήθηκε στις 2021-06-10.
Βιβλιογραφία
Επεξεργασία- Babbage, Charles (1864). «Chapter VIII – Of the Analytical Engine». Passages from the Life of a Philosopher. London: Longman, Green, Longman, Roberts, & Green. σελίδες 112–141.
- Babbage, Charles (1889). Babbage, Henry P., επιμ. Babbage's Calculating Engines – Being a Collection of Papers Relating to Them; Their History, and Construction (PDF). New York: Cambridge University Press. ISBN 978-1-108-00096-3. Αρχειοθετήθηκε από το πρωτότυπο (PDF) στις 4 Μαρτίου 2016. Ανακτήθηκε στις 24 Δεκεμβρίου 2015.
- Bromley, Allan G. (July–September 1982). «Charles Babbage's Analytical Engine, 1838». IEEE Annals of the History of Computing 4 (3): 197–217. doi: . Αρχειοθετήθηκε από το πρωτότυπο στις 2021-02-26. https://web.archive.org/web/20210226094829/http://athena.union.edu/~hemmendd/Courses/cs80/an-engine.pdf. Ανακτήθηκε στις 24 December 2015.
- Bromley, Allan G. (1990). «Difference and Analytical Engines». Στο: Aspray, William. Computing Before Computers (PDF). Ames: Iowa State University Press. σελίδες 59–98. ISBN 978-0-8138-0047-9. Αρχειοθετήθηκε (PDF) από το πρωτότυπο στις 9 Οκτωβρίου 2022.
- Bromley, Allan G. (October–December 2000). «Babbage's Analytical Engine Plans 28 and 28a-The Programmer's Interface». IEEE Annals of the History of Computing 22 (4): 5–19. doi: .
- Cohen, I. Bernard (2000). «8 - Aiken's Background in Computing and Knowledge of Babbage's Machines». Howard Aiken: Portrait of a Computer Pioneer. Cambridge: MIT Press. σελίδες 61–72. ISBN 9780262531795.
- Collier, Bruce (1970). The Little Engines That Could've: The Calculating Machines of Charles Babbage (PhD). Harvard University. Ανακτήθηκε στις 18 Δεκεμβρίου 2015.
- Green, Christopher D. (2005). «Was Babbage's Analytical Engine intended to be a mechanical model of the mind?». History of Psychology 8 (1): 35–45. doi: . PMID 16021763. http://www.yorku.ca/christo/papers/babbage-HoP.pdf. Ανακτήθηκε στις 25 December 2015.
- Hyman, Anthony (1982). Charles Babbage: A Biography . Oxford: Oxford University Press. ISBN 9780198581703.
- Menabrea, Luigi Federico· Lovelace, Ada (1843). «Sketch of the Analytical Engine invented by Charles Babbage... with notes by the translator. Translated by Ada Lovelace». Στο: Richard Taylor. Scientific Memoirs. 3. London: Richard and John E. Taylor. σελίδες 666–731.
- Randell, Brian (October–December 1982). «From Analytical Engine to Electronic Digital Computer: The Contributions of Ludgate, Torres, and Bush». IEEE Annals of the History of Computing 4 (4): 327–341. doi:. http://www.cs.ncl.ac.uk/research/pubs/articles/papers/398.pdf.
- Rojas, Raul (January–March 2021). «The Computer Programs of Charles Babbage». IEEE Annals of the History of Computing 43 (1): 6–18. doi: .
- Wilkes, Maurice Vincent (1971). «Babbage as a Computer Pioneer». Proc. Babbage Memorial Meeting. London: British Computer Society. σελίδες 415–440.
Εξωτερικοί σύνδεσμοι
Επεξεργασία- The Babbage Papers, Science Museum archive
- The Analytical Engine at Fourmilab, includes historical documents and online simulations
- «Image of the "General Plan of Babbage's great calculating engine" (1840), plus a modern description of operational & programming features». Αρχειοθετήθηκε από το πρωτότυπο στις 21 Αυγούστου 2008.
- Image of a later Plan of Analytical Engine with grid layout (1858)
- First working Babbage "barrel" actually assembled, circa 2005
- Special issue, IEEE Annals of the History of Computing, Volume 22, Number 4, October–December 2000 (απαιτείται συνδρομή)
- Babbage, Science Museum, London (archived)
- «The Marvellous Analytical Engine- How It Works». 2D Goggles. 31 May 2015. Αρχειοθετήθηκε από το πρωτότυπο στις 2021-11-26. https://web.archive.org/web/20211126235356/http://sydneypadua.com/2dgoggles/the-marvellous-analytical-engine-how-it-works/. Ανακτήθηκε στις 23 August 2017.
- Plan 28: Building Charles Babbage's Analytical Engine