Η αρχιτεκτονική του von Neumann: η ιστορία της προέλευσης του όρου
Η αρχιτεκτονική της μηχανής von Neumann, επίσης γνωστήόπως το μοντέλο von Neumann, ή Princeton αρχιτεκτονικής, με βάση τη μέθοδο που περιγράφεται στο 1945, μαθηματικός και φυσικός John von Neumann στην έκθεση «Το πρώτο σχέδιο» του EDVAC υπολογιστή.
Αρχιτεκτονική περίγραμμα
Η έκθεση von Neumann περιγράφει ένα σχέδιο αρχιτεκτονικής για έναν ηλεκτρονικό ψηφιακό υπολογιστή με τμήματα που αποτελούνται από μονάδες επεξεργασίας που περιέχουν:
- αριθμητική λογική μονάδα.
- καταχωρητές επεξεργαστών.
- μια μονάδα ελέγχου που περιέχει έναν καταχωρητή εντολών και ένα μετρητή εντολών.
- μια συσκευή αποθήκευσης για την αποθήκευση δεδομένων.
- εξωτερική συσκευή αποθήκευσης.
- μηχανισμών εισόδου και εξόδου.
Η σημασία της εξέλιξης ήταν ότι οποιαδήποτεΟι πληροφορίες που αποθηκεύονται στον υπολογιστή μπορούν να χρησιμοποιηθούν από το πρόγραμμα στο οποίο δεν είναι δυνατή η ταυτόχρονη αναπαραγωγή των επιλεγμένων δεδομένων λειτουργίας, επειδή μοιράζονται τον κοινό δίαυλο. Αυτό αναφέρεται στο "Πρώτο Έργο", το οποίο περιγράφει τις σκέψεις του επιστήμονα για το τι πρέπει να είναι η αρχιτεκτονική. Ο von Neumann χαρακτήρισε αυτήν την κατάσταση ως "συμφόρηση", η οποία συχνά περιορίζει την απόδοση του συστήματος.
Αρχές της αρχιτεκτονικής von Neumann
Ένας ψηφιακός υπολογιστής είναι ένας υπολογιστής που αποθηκεύει ένα πρόγραμμα,το οποίο περιέχει οδηγίες προγράμματος, δεδομένα για ανάγνωση, γραφή και περιλαμβάνει επίσης μνήμη τυχαίας προσπέλασης (RAM). Οι αρχές της αρχιτεκτονικής του John von Neumann εκτίθενται επίσης στο έργο του Το πρώτο έργο. Σύμφωνα με τον ίδιο, υπολογιστές με πρόγραμμα που είναι αποθηκευμένο στη μνήμη ήταν μια βελτίωση σε σχέση με τη διαχείριση υπολογιστών, όπως το ENIAC. Το τελευταίο προγραμματίστηκε με τον καθορισμό διακοπτών και την εισαγωγή ενός αυτοκόλλητου κώδικα που οδηγεί σε σήματα δρομολόγησης δεδομένων και ελέγχου μεταξύ των διαφόρων λειτουργικών μονάδων. Στη συντριπτική πλειοψηφία των σύγχρονων υπολογιστών, η μνήμη χρησιμοποιείται επίσης με παρόμοιο τρόπο. Ταυτόχρονα, η αρχιτεκτονική του υπολογιστή του von Neumann διαφέρει, για παράδειγμα, από το Χάρβαρντ, επειδή χρησιμοποιεί όχι την κύρια, αλλά τη μνήμη της μνήμης cache.
Προϊστορία
Οι πρώτοι υπολογιστές είχαν προκαθοριστείσταθερά προγράμματα. Μερικοί πολύ απλοί υπολογιστές εξακολουθούν να χρησιμοποιούν αυτό το σχέδιο είτε για απλότητα είτε για εκπαιδευτικούς σκοπούς. Για παράδειγμα, μια υπολογιστική επιφάνεια εργασίας είναι επίσης ένας υπολογιστής με σταθερό πρόγραμμα. Μπορεί να λειτουργήσει με τα βασικά των μαθηματικών, αλλά δεν μπορεί να χρησιμοποιηθεί ως επεξεργαστής κειμένου ή κονσόλα παιχνιδιών. Η αλλαγή του σταθερού προγράμματος της μηχανής απαιτεί εκ νέου εγκατάσταση, αναδιάρθρωση ή αναδιοργάνωση του μηχανήματος. Οι παλαιοί υπολογιστές δεν ήταν τόσο περιορισμένοι, όπως αναπτύχθηκαν για πρώτη φορά και για επιστημονικούς σκοπούς. Ο επαναπρογραμματισμός εμφανίστηκε πολύ αργότερα και ήταν μια χρονοβόρα διαδικασία, ξεκινώντας με διαγράμματα και χαρτονομίσματα και ολοκληρώνοντας με λεπτομερή τεχνικά έργα. Ιδιαίτερα δύσκολη ήταν η διαδικασία φυσικού εκσυγχρονισμού των καναλιών της ανάκτησης της μηχανής. Μπορεί να χρειαστούν τρεις εβδομάδες για να εγκαταστήσετε το πρόγραμμα στο ENIAC και προσπαθήστε να το χρησιμοποιήσετε.
Μια νέα ιδέα
Με την προσφορά ενός υπολογιστή που αποθηκεύει προγράμματα στομνήμη, όλα έχουν αλλάξει. Αποθηκευμένα στη μνήμη, είναι ένα σχέδιο με μια σειρά οδηγιών. Έτσι, το μηχάνημα μπορεί να πάρει αμέσως ένα σύνολο εντολών για να πραγματοποιήσει υπολογισμούς.
Ο σχεδιασμός τέτοιων προγραμμάτων αναφέρεταιαυτο-τροποποιητικούς κωδικούς. Μία από τις πρώτες εγκαταστάσεις για ένα τέτοιο αντικείμενο ήταν η ανάγκη για έναν αλγόριθμο για την αύξηση ή με άλλο τρόπο την αλλαγή του τμήματος διεύθυνσης των εντολών. Αυτό έγινε χειροκίνητα σε πρώιμα σχέδια. Αυτό έγινε λιγότερο σημαντικό όταν τα μητρώα δεικτών και η έμμεση διεύθυνση έγιναν τα συνήθη χαρακτηριστικά που διαθέτει η αρχιτεκτονική του υπολογιστή του υπολογιστή του John von Neumann. Μια άλλη χρήση είναι να εισαγάγετε συχνά χρησιμοποιούμενα δεδομένα στο νήμα της ομάδας χρησιμοποιώντας μια άμεση λύση. Ωστόσο, ο κώδικας αυτο-τροποποίησης έχει επικριθεί έντονα, καθώς είναι συνήθως δύσκολο να κατανοηθεί και να εντοπιστεί σφάλμα. Επιπλέον, ήταν επίσης ανεπαρκής όσον αφορά τα προγράμματα αναπαραγωγής και προσωρινής αποθήκευσης των σύγχρονων επεξεργαστών.
Σε γενικές γραμμές, η ικανότητα να σχετίζονται μεοδηγίες σχετικά με το πώς τα δεδομένα - αυτό είναι που κάνει συναρμολογητές, compilers, συναρμολογητές, φορτωτές και άλλα μέσα με πιθανές αντικείμενα των αυτοματοποιημένων προγραμματισμού. Λοιπόν, γράψτε προγράμματα που γράφουν προγράμματα. Σε μικρότερη κλίμακα, επαναλαμβανόμενες έντονες ενέργειες εισόδου και εξόδου, όπως χειρισμοί BitBlt εικόνα πρωτόγονες ή pixel και vertex shaders στη σύγχρονη 3D-γραφικά, έχουν βρεθεί να είναι αναποτελεσματική για να τρέξει χωρίς εξοπλισμό του χρήστη.
Ανάπτυξη της έννοιας ενός προγράμματος που είναι αποθηκευμένο στη μνήμη
Ο μαθηματικός Alan Turing, ο οποίος ενδιαφέρθηκεστο πρόβλημα της μαθηματικής λογικής, μετά τις διαλέξεις Max Newman στο Πανεπιστήμιο του Cambridge, έγραψε ένα άρθρο το 1936, που δημοσιεύθηκε στην έκδοση της Μαθηματικής Εταιρείας του Λονδίνου. Σε αυτό, περιγράφεται μια υποθετική μηχανή, την οποία αποκάλεσε «καθολική μηχανή computing», και η οποία είναι τώρα γνωστή ως καθολική μηχανή Turing. Είχε άπειρο αποθήκευσης (στη σύγχρονη ορολογία - μνήμη), το οποίο περιείχε τις δύο εντολές και δεδομένα, που δημιουργήθηκε και την αρχιτεκτονική. Von Neumann γνώρισε Turing σε μια εποχή που ήταν επισκέπτης καθηγητής στο Κέιμπριτζ το 1935, και κατά τη διάρκεια της υπεράσπισης διδακτορική του διατριβή στο Turing Institute for Advanced Study του Princeton (New Jersey) το 1936-1937.
Ανεξάρτητα μεταξύ τους, Ji Presper Eckert καιΟ John Mauchly, ο οποίος ανέπτυξε το ENIAC στη Σχολή Ηλεκτρολόγων Μηχανικών του Πανεπιστημίου της Πενσυλβάνια, έγραψε για την έννοια της μηχανής που κράτησε το πρόγραμμα στη μνήμη τον Δεκέμβριο του 1943. Κατά τον σχεδιασμό μιας νέας μηχανής, EDVAC, ο Eckert έγραψε τον Ιανουάριο του 1944 ότι θα αποθηκεύει δεδομένα και προγράμματα σε μια νέα συσκευή με διευθυνσιοδότηση μνήμης καθυστερώντας τον μεταλλικό υδράργυρο. Αυτή ήταν η πρώτη φορά που προτάθηκε η κατασκευή μιας μηχανής που αποθηκεύει ένα πρόγραμμα στη μνήμη. Την ίδια στιγμή και ο Mauchly δεν γνώριζαν το έργο του Turing (φωτογραφία παρακάτω).
Αρχιτεκτονική υπολογιστών: η αρχή von Neumann
Ο Von Neumann συμμετείχε στο έργο του Μανχάταν στο ΒερολίνοΤο Εθνικό Εργαστήριο στο Los Alamos, το οποίο απαιτούσε τεράστιους υπολογισμούς. Αυτό τον προσέλκυσε στο έργο ENIAC το καλοκαίρι του 1944. Εκεί συμμετείχε στις συζητήσεις για την ανάπτυξη του υπολογιστή EDVAC. Στο πλαίσιο αυτής της ομάδας, έγραψε ένα έγγραφο με τίτλο "Το πρώτο σχέδιο έκθεσης για το EDVAC", με βάση το έργο του Eckert και του Mauchly. Ήταν ατελής όταν ο συνάδελφός του Goldstein κυκλοφόρησε ένα έργο με το όνομα von Neumann (παρεμπιπτόντως, οι Eckert και Mauchly ήταν γεμάτοι από τέτοιες ειδήσεις). Το έγγραφο αυτό διαβάστηκε από δεκάδες συνάδελφοι von Neumann στην Αμερική και την Ευρώπη και είχε σημαντικό αντίκτυπο στο επόμενο στάδιο της ανάπτυξης ηλεκτρονικών υπολογιστών.
Οι βασικές αρχές της αρχιτεκτονικής von Neumann,που περιγράφεται στο "Πρώτο Έργο", κέρδισε μεγάλη δημοτικότητα, ενώ ο Turing κάλυψε την έκθεσή του σχετικά με τον ηλεκτρονικό υπολογιστή, ο οποίος περιγράφηκε λεπτομερώς στη μηχανική και στον προγραμματισμό. Περιείχε την παρουσίαση του συγγραφέα της μηχανής, η οποία ονομαζόταν Automated Computing Engine (ACE). Το παρουσίασε στην εκτελεστική επιτροπή του Βρετανικού Εθνικού Φυσικού Εργαστηρίου το 1946. Μετά από λίγο, έγιναν και διάφορες επιτυχημένες εφαρμογές του σχεδιασμού ACE.
Έναρξη υλοποίησης του έργου
Τόσο το σχέδιο von Neumann όσο και τα έγγραφα Turingπεριγράφουν υπολογιστές που αποθηκεύουν ένα συγκεκριμένο πρόγραμμα στη μνήμη, αλλά το άρθρο του von Neumann έφτασε σε μεγαλύτερη κυκλοφορία στην κοινωνία και η αρχιτεκτονική του υπολογιστή έγινε γνωστή ως αρχιτεκτονική του John von Neumann.
Το 1945, ο καθηγητής Neumann, ο οποίος τότεεργάστηκε σε μια σχολή μηχανικών στη Φιλαδέλφεια, όπου χτίστηκε το πρώτο ENIAC, κυκλοφόρησε για λογαριασμό μιας ομάδας συναδέλφων του μια έκθεση σχετικά με τον λογικό σχεδιασμό ψηφιακών υπολογιστών. Η έκθεση περιέχει μια αρκετά λεπτομερή πρόταση για το σχεδιασμό της μηχανής, η οποία από τότε έγινε γνωστή ως EDVAC. Μόνο πρόσφατα ιδρύθηκε στην Αμερική, αλλά η έκθεση ενέπνευσε τον von Neumann να δημιουργήσει το EDSAC.
Μανιάκοι και Joniacs
Το 1947 οι Burks, Goldstein και von Neumannδημοσίευσε μια άλλη έκθεση, η οποία κάλυψε το σχεδιασμό ενός άλλου τύπου μηχανήματος (αυτή τη φορά παράλληλη), η οποία υποτίθεται ότι ήταν εξαιρετικά γρήγορη, ικανή να εκτελεί έως και 20.000 λειτουργίες ανά δευτερόλεπτο. Σημείωσαν ότι ένα ανεπίλυτο πρόβλημα κατά την κατασκευή του ήταν η ανάπτυξη κατάλληλης μνήμης, το περιεχόμενο της οποίας θα πρέπει να είναι άμεσα διαθέσιμο. Αρχικά πρότειναν τη χρήση ενός ειδικού σωλήνα κενού που ονομάζεται Selectron, ο οποίος εφευρέθηκε στο εργαστήριο Princeton. Τέτοιοι σωλήνες ήταν ακριβοί και πολύ δύσκολοι, ειδικά αν χρησιμοποιήθηκε αυτή η αρχιτεκτονική. Ο Von Neumann αποφάσισε στη συνέχεια να κατασκευάσει μια μηχανή βασισμένη στη μνήμη του Ουίλιαμς. Αυτό το μηχάνημα, το οποίο ολοκληρώθηκε τον Ιούνιο του 1952 στο Πρίνστον, έγινε ευρέως γνωστό ΜΑΝΙΑΚ (ή απλά Μανιάκοι). Το σχέδιό του ενέπνευσε τους δημιουργούς να σχεδιάσουν μισή ντουζίνα ή περισσότερες παρόμοιες συσκευές που τώρα κατασκευάζονται στην Αμερική και ονομάζονται κωμικά Johniacs.
Αρχές της δημιουργίας
Ένας από τους πιο σύγχρονους ψηφιακούς υπολογιστές,που ενσωματώνει την ανάπτυξη και βελτίωση της τεχνικής των αυτόματων ηλεκτρονικών υπολογισμών έχει αποδειχθεί στο Εθνικό Εργαστήριο Φυσικής στο Teddington, όπου σχεδιάστηκε και κατασκευάστηκε από μια μικρή ομάδα μαθηματικοί, μηχανικοί και μηχανικοί έρευνας, με τη βοήθεια μιας σειράς μηχανικών παραγωγής από την αγγλική Electric Company Ltd. Ο εξοπλισμός είναι ακόμα στο εργαστήριο, αλλά μόνο ως πρωτότυπο ενός πολύ μεγαλύτερου εργοστασίου, η οποία είναι γνωστή ως η μηχανή Αυτόματη Computing. Αλλά, παρά τη σχετικά μικρή μάζα και το περιεχόμενο μόνο 800 θερμοδοντωτών βαλβίδων, είναι μια εξαιρετικά γρήγορη και καθολική μηχανή μέτρησης.
Βασικές έννοιες και αφηρημένες αρχές υπολογισμού μεΟι μηχανές διατυπώθηκαν από τον Δρ Turing με βάση την ίδια Μαθηματική Εταιρεία του Λονδίνου το 1936, αλλά οι εργασίες σε τέτοιες μηχανές στο Ηνωμένο Βασίλειο καθυστέρησαν από τον πόλεμο. Το 1945, η εξέταση των προβλημάτων δημιουργίας τέτοιων συσκευών συνεχίστηκε στο Εθνικό Φυσικολογικό Εργαστήριο από τον Δρ. Vormsley, τον Επικεφαλής του Εργαστηρίου του Τμήματος Μαθηματικών. Συντάχθηκε με τον Turing με το μικρό προσωπικό του και μέχρι το 1947 ο προκαταρκτικός σχεδιασμός προχώρησε αρκετά ώστε να δικαιολογηθεί η δημιουργία μιας ειδικής ομάδας.
Οι πρώτοι υπολογιστές της αρχιτεκτονικής von Neumann
Το πρώτο έργο περιγράφει ένα σχέδιο που έχει χρησιμοποιηθεί από πολλά πανεπιστήμια και εταιρείες για την κατασκευή των υπολογιστών τους. Μεταξύ αυτών, μόνο τα ILLIAC και ORDVAC είχαν συμβατά σύνολα οδηγιών.
Η κλασική αρχιτεκτονική von Neumann ήτανενσωματώνεται στο Μικρό Πειραματικό Μηχάνημα του Μάντσεστερ (SSEM), το παρατσούκλι Baby από το Πανεπιστήμιο του Μάντσεστερ, το οποίο έκανε την πρώτη επιτυχημένη εκτόξευσή του ως συσκευή αποθήκευσης του προγράμματος στη μνήμη στις 21 Ιουνίου 1948.
Το EDSAC του Πανεπιστημίου του Cambridge, ο πρώτος πρακτικός ηλεκτρονικός υπολογιστής αυτού του τύπου, ξεκίνησε για πρώτη φορά επιτυχώς τον Μάιο του 1949.
Ανάπτυξη μοντέλων που δημιουργούνται
Η IBM SSEC ήταν σε θέση να εξετάσειοδηγίες ως δεδομένα και δημοσιοποιήθηκε στις 27 Ιανουαρίου 1948. Αυτή η δυνατότητα εγκρίθηκε στο δίπλωμα ευρεσιτεχνίας των ΗΠΑ. Εντούτοις, ήταν εν μέρει ηλεκτρομηχανική μηχανή και όχι εντελώς ηλεκτρονική. Στην πράξη, οι οδηγίες διαβάστηκαν από την χαρτοταινία λόγω της περιορισμένης μνήμης της.
Το μωρό ήταν ο πρώτος πλήρως ηλεκτρονικός υπολογιστήςγια να ξεκινήσετε τα αποθηκευμένα προγράμματα. Το factoring πρόγραμμα έτρεξε για 52 λεπτά, 21 Ιουνίου 1948 μετά την εκκίνηση και ένα απλό υπολογισμό διαιρώντας τον υπολογισμό που δείχνει ότι οι δύο αριθμοί είναι Σχετικά πρώτοι.
Το ENIAC έχει τροποποιηθεί για να λειτουργήσει ωςπρωτόγονο υπολογιστή μόνο για ανάγνωση, αλλά για την ίδια αρχιτεκτονική και αποδείχθηκε στις 16 Σεπτεμβρίου 1948 και ξεκίνησε το πρόγραμμα Adel Goldstein με τη βοήθεια του von Neumann.
Το BINAC πραγματοποίησε διάφορα προγράμματα δοκιμών στοΦεβρουάριο, Μάρτιο και Απρίλιο του 1949, αν και δεν ολοκληρώθηκε μέχρι το Σεπτέμβριο του 1949. Επιπλέον, υπήρξαν δοκιμαστικές εκκινήσεις (μερικές επιτυχείς) άλλων ηλεκτρονικών υπολογιστών για τα οποία η αρχιτεκτονική αυτή είναι εγγενής. Ο Von Neumann, παρεμπιπτόντως, συνέχισε να εργάζεται για το έργο του Μανχάταν. Αυτό είναι ένα καθολικό πρόσωπο.
Εξέλιξη του συστήματος αρχιτεκτονικής διαύλου
Μέσα από τις δεκαετίες, ήδη από τη δεκαετία του '60 και του '70,οι υπολογιστές γενικά έγιναν μικρότεροι και ταχύτεροι, γεγονός που οδήγησε σε κάποια εξέλιξη που υπέστη η αρχιτεκτονική του υπολογιστή υπό τον von Neumann. Για παράδειγμα, η οθόνη στη μνήμη εισόδου και εξόδου επιτρέπει να παραμείνουν στη μνήμη οι αντίστοιχες συσκευές, δεδομένα και οδηγίες ενσωμάτωσης στο σύστημα προς επεξεργασία. Ένα σύστημα διαύλου μπορεί να χρησιμοποιηθεί για να παρέχει ένα αρθρωτό σύστημα με λιγότερα. Αυτό ονομάζεται μερικές φορές η "ορθολογική οργάνωση" της αρχιτεκτονικής. Τις επόμενες δεκαετίες, οι απλοί μικροελεγκτές μερικές φορές δεν χρησιμοποιούν ορισμένα χαρακτηριστικά ενός τυπικού μοντέλου για να μειώσουν το κόστος και το μέγεθος. Αλλά οι μεγάλοι υπολογιστές ακολουθούν την καθιερωμένη αρχιτεκτονική, επειδή προστέθηκαν χαρακτηριστικά για τη βελτίωση της απόδοσης.