Αναλυτική μηχανή

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Τμήμα της Αναλυτικής Μηχανής κατασκευασμένο από τον Μπάμπατζ[1], στο Μουσείο Επιστημών του Λονδίνου

Η αναλυτική μηχανή ήταν ένας προτεινόμενος μηχανικός υπολογιστής γενικής χρήσης που σχεδιάστηκε από τον Άγγλο μαθηματικό και πρωτοπόρο των υπολογιστών Τσαρλς Μπάμπατζ . [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] Αναγνωρίζοντας τις προσθήκες της στο έγγραφο του Μεναμπρέα , το οποίο περιελάμβανε έναν τρόπο υπολογισμού των αριθμών Μπερνούλι χρησιμοποιώντας τη μηχανή (ευρέως θεωρείται το πρώτο πλήρες πρόγραμμα υπολογιστή), έχει περιγραφεί ως η πρώτη προγραμματίστρια υπολογιστών.

Παραπομπές[Επεξεργασία | επεξεργασία κώδικα]

  1. «Babbage's Analytical Engine, 1834-1871. (Trial model)». Αρχειοθετήθηκε από το πρωτότυπο στις 20 Σεπτεμβρίου 2010. Ανακτήθηκε στις 1 Απριλίου 2010. 
  2. John Graham-Cumming (4 Οκτωβρίου 2010). «The 100-year leap». O'Reilly Radar. Ανακτήθηκε στις 1 Αυγούστου 2012. 
  3. «The Babbage Engine: The Engines». Computer History Museum. 2016. Ανακτήθηκε στις 7 Μαΐου 2016. 
  4. 4,0 4,1 Bromley 1982, σελ. 196.
  5. «Babbage». Online stuff. Science Museum. 19 Ιανουαρίου 2007. Ανακτήθηκε στις 1 Αυγούστου 2012. 
  6. «Let's build Babbage's ultimate mechanical computer». New Scientist. 23 Δεκεμβρίου 2010. Ανακτήθηκε στις 1 Αυγούστου 2012. 
  7. «The Babbage Engine: The Engines». Computer History Museum. 2016. Ανακτήθηκε στις 7 Μαΐου 2016. 
  8. Tim Robinson (28 Μαΐου 2007). «Difference Engines». Meccano.us. Ανακτήθηκε στις 1 Αυγούστου 2012. 
  9. Weber, Alan S (10 Μαρτίου 2000). 19th Century Science, an Anthology. Broadview Press. ISBN 9781551111650. Ανακτήθηκε στις 1 Αυγούστου 2012. 
  10. «The Babbage Engine: The Engines». Computer History Museum. 2016. Ανακτήθηκε στις 7 Μαΐου 2016. 
  11. 11,0 11,1 11,2 11,3 11,4 Collier 1970, σελ. chapter 3.
  12. Lee, John A.n (1995). International Biographical Dictionary of Computer Pioneers. Taylor & Francis. ISBN 9781884964473. Ανακτήθηκε στις 1 Αυγούστου 2012. 
  13. Balchin, Jon (2003). Science: 100 Scientists Who Changed the World. Enchanted Lion Books. σελ. 105. ISBN 9781592700172. Ανακτήθηκε στις 1 Αυγούστου 2012. 
  14. Dubbey, J. M.· Dubbey, John Michael (12 Φεβρουαρίου 2004). The Mathematical Work of Charles Babbage (στα Αγγλικά). Cambridge University Press. σελ. 197. ISBN 9780521524766. 
  15. 15,0 15,1 Menabrea & Lovelace 1843.
  16. 16,0 16,1 16,2 Bromley 1982, σελ. 215.
  17. Bromley 1982, σελ. 198.
  18. Bromley 1982, σελ. 211.
  19. Bromley 1982, σελ. 209.
  20. «The Babbage Pages: Calculating Engines». Projects.ex.ac.uk. 8 Ιανουαρίου 1997. Ανακτήθηκε στις 1 Αυγούστου 2012. 
  21. Tim Robinson (28 Μαΐου 2007). «Difference Engines». Meccano.us. Ανακτήθηκε στις 1 Αυγούστου 2012. 
  22. Bromley 1990, σελ. 89.
  23. Bromley 2000, σελ. 11.
  24. 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. 
  25. 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. 

Βιβλιογραφία[Επεξεργασία | επεξεργασία κώδικα]

Εξωτερικοί σύνδεσμοι[Επεξεργασία | επεξεργασία κώδικα]