Τα προγράμματα χρησιμοποιούν λογική διευθυνσιοδότηση για τη διεύθυνση τελεστών στον φυσικό χώρο διευθύνσεων. Ο επεξεργαστής μεταφράζει αυτόματα τις λογικές διευθύνσεις σε φυσικές, οι οποίες στη συνέχεια εκδίδονται στο δίαυλο συστήματος.

Η αρχιτεκτονική ενός υπολογιστή κάνει διάκριση μεταξύ ενός φυσικού χώρου διευθύνσεων (PHA) και ενός λογικού χώρου διευθύνσεων (LAP). Φυσικός χώρος διευθύνσεωνείναι ένας απλός μονοδιάστατος πίνακας byte, στους οποίους έχει πρόσβαση το υλικό μνήμης στη διεύθυνση που υπάρχει στο δίαυλο διευθύνσεων του συστήματος μικροεπεξεργαστή. λογικός χώρος διευθύνσεωνοργανώνεται από τον προγραμματιστή με βάση συγκεκριμένες ανάγκες. Η μετάφραση των λογικών διευθύνσεων σε φυσικές πραγματοποιείται από τη μονάδα διαχείρισης μνήμης MMU.

Στην αρχιτεκτονική των σύγχρονων μικροεπεξεργαστών, το LAP αντιπροσωπεύεται ως ένα σύνολο στοιχειωδών δομών: byte, τμήματα και σελίδες. Χρήση μικροεπεξεργαστών τις ακόλουθες επιλογέςοργανώσεις λογικός χώρος διευθύνσεων:

  • επίπεδο (γραμμικό) LAP:αποτελείται από έναν πίνακα byte που δεν έχει καθορισμένη δομή. Δεν απαιτείται μετάφραση διεύθυνσης, καθώς η λογική διεύθυνση είναι ίδια με τη φυσική.
  • τμηματοποιημένο LAP:αποτελείται από τμήματα - συνεχείς περιοχές μνήμης που περιέχουν στη γενική περίπτωση έναν μεταβλητό αριθμό byte. η λογική διεύθυνση περιέχει 2 μέρη: το αναγνωριστικό τμήματος και τη μετατόπιση εντός του τμήματος. Η μετάφραση διευθύνσεων πραγματοποιείται από τη μονάδα τμηματοποίησης MMU.
  • σελίδα PA:αποτελείται από σελίδες - συνεχόμενες περιοχές μνήμης, καθεμία από τις οποίες περιέχει έναν σταθερό αριθμό byte. Η λογική διεύθυνση αποτελείται από έναν αριθμό σελίδας (αναγνωριστικό) και μια μετατόπιση εντός της σελίδας. Η μετάφραση μιας λογικής διεύθυνσης σε φυσική διεύθυνση πραγματοποιείται από τη μονάδα σελιδοποίησης MMU.
  • LAP τμήματος σελίδας:περιλαμβάνει τμήματα,που, με τη σειρά τους, αποτελούνται από σελίδες. η λογική διεύθυνση αποτελείται από ένα αναγνωριστικό τμήματος και μια μετατόπιση εντός του τμήματος. Η αντιστοίχιση τμημάτων MMU μεταφράζει τη λογική διεύθυνση σε αριθμό σελίδας και μετατόπιση σελίδας, τα οποία στη συνέχεια μεταφράζονται σε φυσική διεύθυνση από τον αντιστοιχιστή σελίδας MMU.

Ο μικροεπεξεργαστής μπορεί να λειτουργεί σε δύο τρόπους λειτουργίας: πραγματικός και προστατευμένος.

Όταν εργάζεστε σε πραγματική λειτουργίαοι δυνατότητες του επεξεργαστή είναι περιορισμένες: η διευθυνσιοδοτούμενη χωρητικότητα μνήμης είναι 1 MB, δεν υπάρχει σελιδοποίηση της μνήμης, τμήματαέχουν σταθερό μήκος 216 byte.

Αυτή η λειτουργία χρησιμοποιείται συνήθως στο αρχικό στάδιο της εκκίνησης του υπολογιστή για είσοδο προστατευμένη λειτουργία.

ΣΤΟ πραγματική λειτουργίαΟι καταχωρητές τμημάτων επεξεργαστή περιέχουν τα ανώτερα 16 bit της φυσικής διεύθυνσης της αρχής τμήμα.Μετατόπισε 4 bit προς τα αριστερά εκλέκτοραςδίνει τη βασική διεύθυνση 20-bit του τμήματος. Η φυσική διεύθυνση λαμβάνεται με την προσθήκη αυτής της διεύθυνσης σε μια τιμή μετατόπισης 16-bit στο τμήμα, που σχηματίζεται σύμφωνα με τον καθορισμένο τρόπο διευθυνσιοδότησης για τον τελεστή ή εξάγεται από τον καταχωρητή EIP για την εντολή (Εικ. 3.1). Στη ληφθείσα διεύθυνση, οι πληροφορίες λαμβάνονται από τη μνήμη.



Ρύζι. 3.1.Σχέδιο απόκτησης φυσικής διεύθυνσης

Οι δυνατότητες διευθυνσιοδότησης μνήμης του μικροεπεξεργαστή πραγματοποιούνται πλήρως κατά την εργασία προστατευμένη λειτουργία.Η ποσότητα της διευθυνσιοδοτούμενης μνήμης αυξάνεται στα 4 GB, εμφανίζεται η δυνατότητα λειτουργίας διεύθυνσης σελίδας. Τμήματαμπορεί να έχει μεταβλητό μήκος από 1 byte έως 4 GB.

Το γενικό σχήμα για το σχηματισμό μιας φυσικής διεύθυνσης από έναν μικροεπεξεργαστή που λειτουργεί σε προστατευμένη λειτουργία, φαίνεται στο Σχ. 3.2.

Όπως έχει ήδη σημειωθεί, η βάση για το σχηματισμό μιας φυσικής διεύθυνσης είναι μια λογική διεύθυνση. Αποτελείται από δύο μέρη: εκλέκτοραςκαι αντισταθμίσεις στο τμήμα.

Εκλέκτοραςπεριέχεται στον καταχωρητή τμημάτων του μικροεπεξεργαστή και σας επιτρέπει να βρείτε την περιγραφή του τμήματος (περιγραφέας)σε ειδικό πίνακα περιγραφής. ΠεριγραφείςΤα τμήματα αποθηκεύονται σε ειδικούς πίνακες περιγραφικών αντικειμένων συστήματος (GDT) και τοπικούς (LDT). Περιγραφέαςπαίζει πολύ σημαντικό ρόλο στη λειτουργία του μικροεπεξεργαστή, από το σχηματισμό μιας φυσικής διεύθυνσης με ποικίλη οργάνωση του χώρου διευθύνσεων και μέχρι την οργάνωση ενός τρόπου λειτουργίας πολλαπλών προγραμμάτων. Επομένως, ας εξετάσουμε τη δομή του με περισσότερες λεπτομέρειες.

Τμήματαμικροεπεξεργαστής σε λειτουργία προστατευμένη λειτουργία, χαρακτηρίζονται από μεγάλο αριθμό παραμέτρων. Επομένως, σε μικροεπεξεργαστές 32 bit γενικής χρήσης, αποθηκεύονται πληροφορίες τμήματος

Ρύζι. 3.2.Σχηματισμός φυσικής διεύθυνσης στην οργάνωση σελίδας τμήματος της μνήμης

μια ειδική δομή δεδομένων 8 byte που ονομάζεται περιγραφέας, και η κύρια συνάρτηση εκχωρείται στους καταχωρητές τμημάτων - προσδιορίζοντας τη θέση του περιγραφέα.

Δομή περιγραφέας τμήματοςφαίνεται στο σχ. 3.3.

Ρύζι. 3.3.Δομή περιγραφής τμήματος

Θα εξετάσουμε τη δομή και όχι τη μορφή του περιγραφέα, καθώς κατά τη μετάβαση από τον μικροεπεξεργαστή i286 στο MP 32-bit, η διάταξη των μεμονωμένων πεδίων περιγραφών έχασε την αρμονία της και εν μέρει άρχισε να μοιάζει με "μπαλώματα" που είχαν τεθεί σε τάξη για να αυξήσετε μηχανικά το βάθος bit αυτών των πεδίων.

Το πεδίο διεύθυνσης βάσης 32 bit σάς επιτρέπει να καθορίσετε τη διεύθυνση έναρξης ενός τμήματος οπουδήποτε στον χώρο διευθύνσεων των 232 byte (4 GB).

Πεδίο ορίου(όριο) υποδηλώνει το μήκος του τμήματος (πιο συγκεκριμένα, το μήκος του τμήματος μείον 1: αν αυτό το πεδίο γράφεται 0, τότε αυτό σημαίνει ότι το τμήμα έχει μήκος 1) σε διευθυνσιοδοτούμενες μονάδες, δηλαδή μέγιστο μέγεθοςτο τμήμα είναι 2 20 στοιχεία.

Η τιμή του στοιχείου καθορίζεται από ένα από τα χαρακτηριστικά του bit περιγραφής G (Granularity - granularity, ή fractionality):

Έτσι, ένα τμήμα μπορεί να έχει μέγεθος με ακρίβεια 1 byte στην περιοχή από 1 byte έως 1 Mbyte (με G = 0). Με μέγεθος σελίδας 2 12 = 4 KB, μπορείτε να ορίσετε το μέγεθος τμήματος σε 4 GB (με G = l):

Εφόσον, στην αρχιτεκτονική IA-32, ένα τμήμα μπορεί να ξεκινά από ένα αυθαίρετο σημείο του χώρου διευθύνσεων και να έχει αυθαίρετο μήκος, τα τμήματα στη μνήμη μπορεί να επικαλύπτονται μερικώς ή πλήρως.

Bit διάστασης(Προεπιλεγμένο μέγεθος) καθορίζει το μήκος των διευθύνσεων και των τελεστών που χρησιμοποιούνται στην εντολή από προεπιλογή:

κατά την κρίση σας. Φυσικά, αυτό το κομμάτι δεν είναι για απλός χρήστης, και για προγραμματιστής συστήματος, το οποίο το χρησιμοποιεί, για παράδειγμα, για να επισημάνει τμήματα για συλλογή σκουπιδιών ή τμήματα των οποίων οι βασικές διευθύνσεις δεν μπορούν να τροποποιηθούν. Αυτό το bit είναι διαθέσιμο μόνο σε προγράμματα που εκτελούνται στο υψηλότερο επίπεδο προνομίων. Ο μικροεπεξεργαστής δεν τον αλλάζει ούτε τον χρησιμοποιεί στη δουλειά του.

Πρόσβαση Byteορίζει τους βασικούς κανόνες για το χειρισμό του τμήματος.

Λίγο παρουσίαςΤο P (Present) υποδηλώνει τη δυνατότητα πρόσβασης στο τμήμα. Το λειτουργικό σύστημα (OS) επισημαίνει το τμήμα που μεταφέρεται από τη μνήμη RAM στην εξωτερική μνήμη ως προσωρινά απουσία ρυθμίζοντας τον περιγραφέα του σε P = 0. Όταν P = 1, το τμήμα βρίσκεται στη φυσική μνήμη. Όταν επιλέγεται ένας περιγραφέας με P = 0 (το τμήμα δεν είναι στη μνήμη RAM), τα πεδία διεύθυνσης βάσης και ορίου αγνοούνται. Αυτό είναι φυσικό: για παράδειγμα, πώς μπορούμε να μιλήσουμε για τη διεύθυνση βάσης ενός τμήματος εάν το ίδιο το τμήμα δεν είναι μέσα μνήμη τυχαίας προσπέλασης? Σε αυτήν την περίπτωση, ο επεξεργαστής απορρίπτει όλες τις επόμενες προσπάθειες χρήσης περιγραφέαςσε ομάδες, και ορίζεται περιγραφέαςΟ χώρος διευθύνσεων φαίνεται να "εξαφανίζεται".

Υπάρχει ειδική περίπτωση μη παρουσίας του τμήματος. Ταυτόχρονα, το λειτουργικό σύστημα αντιγράφει το ζητούμενο τμήμα από το δίσκο στη μνήμη (ενώ πιθανώς διαγράφει ένα άλλο τμήμα), το φορτώνει σε περιγραφέαςη βασική διεύθυνση του τμήματος, ορίζει P = 1 και επανεκκινεί την εντολή που είχε πρόσβαση στο τμήμα που δεν ήταν στη μνήμη RAM.

Το διψήφιο πεδίο DPL (Descriptor Privilege Level) υποδεικνύει ένα από τα τέσσερα πιθανά (από 0 έως 3) χειριστεί τα επίπεδα προνομίων, το οποίο καθορίζει τη δυνατότητα πρόσβασης στο τμήμα από ορισμένα προγράμματα (το επίπεδο 0 αντιστοιχεί στα περισσότερα υψηλό επίπεδοπρονόμια).

Λίγο αντιστροφήςΤο A (Πρόσβαση) ορίζεται σε "1" σε οποιαδήποτε πρόσβαση στο τμήμα. Χρησιμοποιείται από το λειτουργικό σύστημα για την παρακολούθηση τμημάτων στα οποία δεν έχει γίνει πρόσβαση για το μεγαλύτερο χρονικό διάστημα.

Έστω, για παράδειγμα, μια φορά ανά δευτερόλεπτο, το λειτουργικό σύστημα επαναφέρει το bit A στους περιγραφείς όλων των τμημάτων. Εάν, μετά από κάποιο χρονικό διάστημα, είναι απαραίτητο να φορτωθεί ένα νέο τμήμα στη μνήμη RAM, για το οποίο δεν υπάρχει αρκετός χώρος, το λειτουργικό σύστημα καθορίζει τους "υποψηφίους" για εκκαθάριση μέρους της μνήμης RAM , μεταξύ αυτών των τμημάτων περιγραφείςτο οποίο bit A δεν έχει ρυθμιστεί σε "1" μέχρι αυτό το σημείο, δηλαδή δεν έχει προσπελαστεί πρόσφατα.

Πεδίο πληκτρολόγησηςστο byte πρόσβασης ορίζει τον σκοπό και τη χρήση του τμήματος. Εάν το bit S (Σύστημα - bit 4 του byte πρόσβασης) είναι 1, τότε αυτό περιγραφέαςπεριγράφει ένα πραγματικό τμήμα μνήμης. Εάν S = 0, τότε αυτός ο περιγραφέας περιγράφει ένα ειδικό αντικείμενο συστήματος, το οποίο μπορεί να μην είναι ένα τμήμα μνήμης, όπως μια πύλη κλήσης που χρησιμοποιείται σε έναν διακόπτη εργασιών ή μια λαβή σε έναν τοπικό πίνακα περιγραφών LDT. Αντιστοίχιση bit<3...0>Το byte πρόσβασης καθορίζεται από τον τύπο τμήματος (Εικ. 3.4).

Ρύζι. 3.4.Πρόσβαση σε μορφή πεδίου τύπου Byte

Στο τμήμα κώδικα:το bit υποταγής C (Συμμόρφωση) ορίζει πρόσθετους κανόνες χειρισμού που παρέχουν προστασία για τμήματα προγράμματος. Για C = 1 αυτό το τμήμαείναι ένα δευτερεύον τμήμα κώδικα. Στην περίπτωση αυτή, στερείται σκόπιμα προνομιακής προστασίας. Ένα τέτοιο εργαλείο είναι βολικό για την οργάνωση, για παράδειγμα, υπορουτίνων που θα πρέπει να είναι διαθέσιμες σε όλες τις εργασίες που εκτελούνται στο σύστημα. Με C = 0, αυτό είναι ένα κανονικό τμήμα κώδικα. Το bit ανάγνωσης R (Readable) ορίζει εάν το τμήμα μπορεί να προσπελαστεί μόνο για εκτέλεση ή για εκτέλεση και ανάγνωση, για παράδειγμα, σταθερές ως δεδομένα χρησιμοποιώντας το πρόθεμα αντικατάστασης τμήματος. Όταν R = 0, επιτρέπεται μόνο μια επιλογή από το τμήμα των εντολών για την εκτέλεσή τους. Όταν R = 1, επιτρέπεται επίσης η ανάγνωση δεδομένων από το τμήμα.

Απαγορεύεται η εγγραφή στο τμήμα κώδικα. Οποιαδήποτε προσπάθεια εγγραφής προκαλεί διακοπή λογισμικού.

Στο τμήμα δεδομένων:

  • ED (Expand Down) - bit κατεύθυνσης επέκτασης. Με ED = 1, αυτό το τμήμα είναι τμήμα στοίβας και η μετατόπιση στο τμήμα πρέπει να είναι μεγαλύτερη από το μέγεθος του τμήματος. Με ED = 0, αυτό είναι το πραγματικό τμήμα δεδομένων (η μετατόπιση πρέπει να είναι μικρότερη ή ίση με το μέγεθος του τμήματος).
  • εγγραφή bit ενεργοποίησης W(Writeable). Όταν W = 1, επιτρέπεται η τροποποίηση τμήματος. Όταν W = 0, η εγγραφή στο τμήμα απαγορεύεται· όταν προσπαθείτε να γράψετε στο τμήμα, εμφανίζεται μια διακοπή λογισμικού.

Σε περίπτωση αιτήματος τελεστή μετατόπιση τμήματοςσχηματίζεται από τον μικροεπεξεργαστή σύμφωνα με τον τρόπο διευθυνσιοδότησης τελεστών που καθορίζεται στην εντολή. Η μετατόπιση στο τμήμα κώδικα εξάγεται από μητρώο - δείκτης εντολών EIP.

Το άθροισμα της διεύθυνσης έναρξης τμήματος που ανακτήθηκε από τον περιγραφέα και η μετατόπιση που δημιουργήθηκε στο τμήμα δίνει γραμμική διεύθυνση(ΛΑ).

Εάν στον μικροεπεξεργαστή χρησιμοποιείται μόνο η αναπαράσταση τμήματος του χώρου διευθύνσεων, τότε η προκύπτουσα γραμμική διεύθυνση είναι επίσης φυσική.

Εάν, εκτός από το τμήμα ένα, χρησιμοποιείται μηχανισμός σελιδοποίησης για την οργάνωση της μνήμης, τότε γραμμική διεύθυνσηπαρουσιάζονται ως δύο πεδία: τα υψηλότερα ψηφία περιέχουν τον αριθμό εικονική σελίδα, και τη χαμηλότερη μετατόπιση στη σελίδα. Η μετατροπή ενός εικονικού αριθμού σελίδας σε φυσικό αριθμό σελίδας πραγματοποιείται χρησιμοποιώντας ειδικούς πίνακες συστήματος: κατάλογος πίνακα σελίδων(KTS) και πίνακες σελίδων(TS). Η θέση του καταλόγου του πίνακα σελίδων στη μνήμη καθορίζεται από τον καταχωρητή συστήματος CR3. Η φυσική διεύθυνση υπολογίζεται ως το άθροισμα της φυσικής διεύθυνσης σελίδας που λαμβάνεται από τον πίνακα σελίδων και της μετατόπισης σελίδας που λαμβάνεται από τη γραμμική διεύθυνση.

Ας εξετάσουμε τώρα όλα τα στάδια μετατροπής μιας λογικής διεύθυνσης σε φυσική με περισσότερες λεπτομέρειες.

Ο μικροεπεξεργαστής 80386 είναι μια πλήρης έκδοση 32-bit των προηγούμενων μικροεπεξεργαστών 16-bit 8086/80286 και αντιπροσωπεύει μια σημαντική πρόοδο στην αρχιτεκτονική του επεξεργαστή από την αρχιτεκτονική των 16-bit σε 32-bit. Μαζί με την αύξηση του βάθους bit, υπάρχουν επίσης πολλές βελτιώσεις και Επιπρόσθετα χαρακτηριστικά. Ο μικροεπεξεργαστής 80386 παρέχει: εναλλαγή εργασιών, βελτιωμένη διαχείριση μνήμης, διαχείριση εικονικής μνήμης με ή χωρίς τηλεειδοποίηση, προστασία λογισμικού και δυνατότητα μαζικής αποθήκευσης. Ολα λογισμικό, γραμμένο για τους παλαιότερους μικροεπεξεργαστές 8086/8088 και 80286 είναι συμβατός από κάτω προς τα πάνω και για τον μικροεπεξεργαστή 80386. Η ποσότητα της διευθυνσιοδοτούμενης μνήμης από τον επεξεργαστή έχει αυξηθεί από 1 MB (για τον μικροεπεξεργαστή 8086/8088) ή 16 MB (για τον μικροεπεξεργαστή 802 μικροεπεξεργαστή) έως 4 GB διαθέσιμα στον επεξεργαστή 80386 σε προστατευμένη λειτουργία. Ο μικροεπεξεργαστής 80386 μπορεί να αλλάξει από προστατευμένη λειτουργία σε πραγματική λειτουργία χωρίς σκληρή επαναφοράμικροεπεξεργαστή, ο οποίος είναι χρονοβόρος και ήταν απαραίτητος στην περίπτωση χρήσης του επεξεργαστή 80286.

Ο μικροεπεξεργαστής 80486 είναι μια βελτιωμένη έκδοση του μικροεπεξεργαστή 80386 και εκτελεί πολλές από τις εντολές του σε έναν μόνο κύκλο ρολογιού. Ο μικροεπεξεργαστής 80486 διαθέτει επίσης εσωτερική κρυφή μνήμη L1 8 KB και ενσωματωμένο συνεπεξεργαστή μαθηματικών υψηλής απόδοσης που είναι συμβατό με λογισμικό με τον συνεπεξεργαστή 80387. Σημειώστε ότι ο επεξεργαστής 80486DX4 διαθέτει κρυφή μνήμη 16 KB. Ο μικροεπεξεργαστής 80486, που λειτουργεί με την ίδια ταχύτητα ρολογιού με τον μικροεπεξεργαστή 80386, είναι 50% πιο παραγωγικός.

Μικροεπεξεργαστής 80386

Δύο εκδόσεις του μικροεπεξεργαστή 80386 ήταν πιο κοινές: ο επεξεργαστής 80386DX και ο απλοποιημένος επεξεργαστής 80386SX με εξωτερικό δίαυλο δεδομένων 16 bit, αν και εσωτερικά χρησιμοποιούσε δίαυλο 32 bit.

Ο επεξεργαστής 80386DX τοποθετήθηκε σε πακέτο PGA 132 ακίδων (πίνακας πλέγματος ακίδων). Περισσότερο μια νέα έκδοσηο μικροεπεξεργαστής 80386 - 80386EX περιέχει: μια μονάδα ελέγχου διαύλου AT, μια μονάδα ελέγχου δυναμικής αναγέννησης RAM, μια προγραμματιζόμενη μονάδα επιλογής κρυστάλλων, έναν ελεγκτή διακοπής, έναν ελεγκτή DMA, μια μονάδα χρονοδιακόπτη, μια μονάδα σειριακής μεταφοράς δεδομένων, 26 ​​ακροδέκτες διαύλου διευθύνσεων, 16 δεδομένα καρφίτσες λεωφορείου.

Ο μικροεπεξεργαστής 80386DX, με δίαυλο δεδομένων 32 bit και δίαυλο διευθύνσεων 32 bit, είναι ικανός να διευθύνει 4 GB φυσικής μνήμης. Ο μικροεπεξεργαστής 80386SX, όπως και ο μικροεπεξεργαστής 80286, απευθύνεται σε 16 MB μνήμης και έχει μόνο έναν δίαυλο διευθύνσεων 24 bit και έναν δίαυλο δεδομένων 16 bit. Ο μικροεπεξεργαστής 80386SX αναπτύχθηκε μετά τον μικροεπεξεργαστή 80386DX για χρήση χωρίς να απαιτείται πλήρη έκδοσηΔίαυλος 32 bit. Ο μικροεπεξεργαστής 80386SX έχει χρησιμοποιηθεί σε πολλά προσωπικούς υπολογιστέςπου χρησιμοποίησε το ίδιο πλακέτα συστήματοςόπως και για τον μικροεπεξεργαστή 80286. Σε μια εποχή που οι περισσότερες εφαρμογές, συμπεριλαμβανομένων των Windows, απαιτούσαν λιγότερο από 16 MB μνήμης, ο επεξεργαστής 80386SX ήταν μια δημοφιλής και λιγότερο ακριβή έκδοση του μικροεπεξεργαστή 80386. Αργότερα, παρά το γεγονός ότι ο επεξεργαστής 80486 έγινε ολοένα και φθηνότερο για την κατασκευή νέων υπολογιστικών συστημάτων, ούτως ή άλλως, ο επεξεργαστής 80386 για πολύ καιρόπαρέμεινε σε ζήτηση για πολλές εφαρμογές. Για παράδειγμα, ο μικροεπεξεργαστής 80386EX, αν και δεν χρησιμοποιήθηκε σε προσωπικούς υπολογιστές, ήταν πολύ δημοφιλής στα ενσωματωμένα συστήματα.

Μικροεπεξεργαστής 80386, καθώς και προηγούμενες εκδόσεις της οικογένειας Μικροεπεξεργαστές Intel, απαιτείται μόνο ένα τροφοδοτικό +5,0V για λειτουργία συχνότητα 16 MHz. Επιπλέον, υπήρχε μια έκδοση του επεξεργαστή με ταχύτητα ρολογιού 33 MHz, η οποία είχε κατανάλωση ρεύματος 600 mA. Η τρέχουσα κατανάλωση του μικροεπεξεργαστή 80386EX είναι 320 mA όταν λειτουργεί στα 33 MHz.

Ο επεξεργαστής αντλεί ρεύμα έως και 1,0 A κατά τη διάρκεια ορισμένων τρόπων λειτουργίας. Αυτό σημαίνει ότι το τροφοδοτικό και η καλωδίωση ρεύματος πρέπει να μπορούν να χειριστούν αυτές τις αιχμές ρεύματος. Ο επεξεργαστής έχει πολλές ακίδες V CC και V SS , οι οποίες για σωστή λειτουργίαο μικροεπεξεργαστής πρέπει να είναι όλοι συνδεδεμένοι στην πηγή συνεχές ρεύμα+5,0 V (V CC) και γειωμένο (V SS). Ορισμένες ακίδες επεξεργαστή επισημαίνονται ως N/C (χωρίς σύνδεση) και δεν πρέπει να συνδέονται πουθενά. Εκτός από αυτές που αναφέρθηκαν, υπήρχαν πολλές άλλες εκδόσεις των μικροεπεξεργαστών 80386SX και 80386EX, οι οποίοι είχαν μειωμένη τάση τροφοδοσίας +3,3 V. Αυτοί οι επεξεργαστές χρησιμοποιήθηκαν σε φορητούς φορητούς υπολογιστές (notebook) ή φορητούς υπολογιστές(ΦΟΡΗΤΟΣ ΥΠΟΛΟΓΙΣΤΗΣ).

Σύστημα μνήμης

Το σύστημα φυσικής μνήμης στο οποίο μπορεί να έχει πρόσβαση ο μικροεπεξεργαστής 80386DX έχει χωρητικότητα 4 GB. Επιπλέον, ο επεξεργαστής έχει υποστήριξη εικονική μνήμηέως και 64 TB αντιστοιχισμένα στη φυσική μνήμη χρησιμοποιώντας το MCU και τους περιγραφείς. Θα πρέπει να σημειωθεί ότι η εικονική διευθυνσιοδότηση σάς επιτρέπει να χρησιμοποιείτε το πρόγραμμα περισσότερα από 4 GB παρουσία της μεθόδου εναλλαγής (ανταλλαγή) και με μεγάλη χωρητικότητα του σκληρού δίσκου. Στο σχ. Το σχήμα 6.4 δείχνει την οργάνωση του συστήματος φυσικής μνήμης του μικροεπεξεργαστή 80386DX.

Η μνήμη χωρίζεται σε τέσσερις τράπεζες μνήμης 8-bit, με χωρητικότητα έως 1 GB η καθεμία. Αυτή η οργάνωση μνήμης 32-bit επιτρέπει την πρόσβαση σε ένα byte, μια λέξη ή μια διπλή λέξη. Ο μικροεπεξεργαστής 80386DX μπορεί να μεταφέρει δεδομένα 32 bit σε έναν κύκλο μνήμης, ενώ ο μικροεπεξεργαστής 8088 απαιτούσε τέσσερις κύκλους και οι μικροεπεξεργαστές 80286 και 80386SX χρειάζονταν δύο κύκλους. Το μεγάλο πλάτος δεδομένων είναι πολύ σημαντικό, ειδικά για αριθμούς κινητής υποδιαστολής μεμονωμένης ακρίβειας που καταλαμβάνουν 32 bit. Το επαρκώς προηγμένο λογισμικό χρησιμοποιεί αριθμούς κινητής υποδιαστολής για την αποθήκευση δεδομένων, επομένως οι θέσεις μνήμης 32 bit επιταχύνουν την εκτέλεση του προγράμματος, εάν είναι γραμμένο με γνώμονα τη μνήμη.

Η διεύθυνση κάθε byte μνήμης αναπαρίσταται με δεκαεξαδικό συμβολισμό, όπως για ΠΡΟΗΓΟΥΜΕΝΕΣ ΕΚΔΟΣΕΙΣεπεξεργαστές. Η διαφορά είναι ότι ο μικροεπεξεργαστής 80386DX χρησιμοποιεί έναν δίαυλο διευθύνσεων 32-bit με δυνατότητα διεύθυνσης μνήμης στην περιοχή 00000000H-FFFFFFFFH.

Οι δύο τράπεζες μνήμης σε ένα σύστημα που βασίζεται στους μικροεπεξεργαστές 8086, 80286 και 80386SX είναι προσβάσιμες μέσω των σημάτων BLE (A0 σε 8086 και 80286) και OUT. Ο μικροεπεξεργαστής 80386DX έχει πρόσβαση σε τράπεζες μνήμης χρησιμοποιώντας τέσσερα σήματα BE3-BE0. Αυτή η οργάνωση της μνήμης σας επιτρέπει να έχετε πρόσβαση σε ένα byte όταν ο μικροεπεξεργαστής ενεργοποιεί ένα σήμα ενεργοποίησης.

Όταν ενεργοποιούνται δύο σήματα ενεργοποίησης, ο επεξεργαστής απευθύνεται σε μια λέξη. Στις περισσότερες περιπτώσεις, η απευθυνόμενη λέξη αναφέρεται στην τράπεζα 0 και 1 ή στην τράπεζα 2 και 3. Η θέση μνήμης 00000000H βρίσκεται στην τράπεζα 0, η τοποθεσία 00000001H είναι στην τράπεζα 1, η τοποθεσία 00000002H είναι στην τράπεζα 2 και η τοποθεσία 00000003 βρίσκεται στην τράπεζα 3. Ο μικροεπεξεργαστής 80386DX δεν έχει ακίδες διεύθυνσης A0 και A1 επειδή αποκωδικοποιούνται εσωτερικά ως σήματα ενεργοποίησης byte. Ομοίως, ο μικροεπεξεργαστής 16-bit 80386SX δεν έχει pin διεύθυνσης A0, αφού αποκωδικοποιείται σε σήματα BLE και OUT. Ο μικροεπεξεργαστής 80386EX απευθύνεται σε μια λέξη δεδομένων, που βρίσκεται σε δύο τράπεζες ενός συστήματος μνήμης 16-bit, όταν το σήμα BS8 είναι παθητικό (λογικό υψηλό) ή ένα byte σε ένα σύστημα 8-bit όταν αυτό το σήμα είναι ενεργοποιημένο.

Μητρώα ελέγχου

Ο μικροεπεξεργαστής 80386 διαθέτει άλλους καταχωρητές ελέγχου εκτός από τον καταχωρητή σημαίας EFLAGS και τον δείκτη εντολών EIP. Ο καταχωρητής ελέγχου CR0 (καταχωρητής ελέγχου) είναι πανομοιότυπος με τον καταχωρητή κατάστασης μηχανής MSW(λέξη κατάστασης μηχανήματος) του μικροεπεξεργαστή 80286, εκτός από το ότι είναι καταχωρητής 32 bit, όχι καταχωρητής 16 bit. Πρόσθετοι καταχωρητές ελέγχου είναι οι CR1, CR2 και CR3.

Στο σχ. 6.5. δείχνει τη δομή των καταχωρητών ελέγχου του μικροεπεξεργαστή 80386.

Ο καταχωρητής ελέγχου CR1 δεν χρησιμοποιείται στον μικροεπεξεργαστή 80386, αλλά προορίζεται για μελλοντικά προϊόντα. Ο καταχωρητής ελέγχου CR2 καταγράφει τη γραμμική διεύθυνση στην οποία ελήφθη το σφάλμα της τελευταίας σελίδας μνήμης. Τέλος, ο καταχωρητής ελέγχου CR3 διορθώνει τη διεύθυνση βάσης του πίνακα σελίδων. Τα κατώτερα 12 bit 0 έως 11 του καταχωρητή 32 bit περιέχουν μηδενικά και συνδυάζονται με τα υπόλοιπα bit καταχωρητή για να καθορίσουν την αρχή του πίνακα σελίδων 4K.

Ο καταχωρητής CR0 έχει έναν αριθμό ειδικών bit ελέγχου, τα οποία ορίζονται στον μικροεπεξεργαστή 80386 ως εξής:

Το bit PG (ενεργοποίηση σελιδοποίησης) προορίζεται για την επιλογή της μετατροπής του πίνακα σελίδων από γραμμικές διευθύνσεις σε φυσικές διευθύνσεις όταν PG = 1. Η σελιδοποίηση μνήμης σάς επιτρέπει να εκχωρήσετε οποιαδήποτε θέση φυσικής μνήμης σε μια γραμμική διεύθυνση.

ET

Το bit ET (τύπος επέκτασης) είναι ένας δείκτης υποστήριξης για οδηγίες συνεπεξεργαστή μαθηματικών. Εάν το ET είναι 0, τότε επιλέγεται ο συνεπεξεργαστής 80287 και εάν ET = 1, τότε επιλέγεται ο συνεπεξεργαστής 80387. Αυτό το bit έχει προστεθεί για να αντικατοπτρίζει το γεγονός ότι το σύστημα έχει συνεπεξεργαστή 80387.

Το bit TS (διακόπτης εργασιών) υποδεικνύει ότι ο μικροεπεξεργαστής έχει εκτελέσει έναν διακόπτη εργασιών (η αλλαγή των περιεχομένων του καταχωρητή εργασιών TR σε ασφαλή λειτουργία ορίζει το bit TS). Εάν έχει οριστεί το bit TS, τότε μια εντολή ψηφιακού συνεπεξεργαστή έχει ως αποτέλεσμα μια διακοπή τύπου 7 (ο συνεπεξεργαστής δεν είναι διαθέσιμος).

ΤΡΩΩ

Το bit EM (emulate coprocessor) έχει ρυθμιστεί να ενεργοποιεί μια διακοπή τύπου 7 κάθε φορά που γίνεται προσπάθεια να εκτελεστεί κάθε εντολή ESC, δηλαδή μια εντολή που σχετίζεται με τον συνεπεξεργαστή. Αυτό χρησιμοποιείται συχνά για εξομοίωση λογισμικού ενός συνεπεξεργαστή. Η εξομοίωση μειώνει το κόστος του συστήματος, αλλά οι εξομοιούμενες εντολές συνεπεξεργαστή συχνά χρειάζονται περισσότερο χρόνο για να εκτελεστούν, ίσως κατά 100.

Το bit MP (συνεπεξεργαστής οθόνης) έχει ρυθμιστεί να ενεργοποιεί μια διακοπή τύπου 7 σε κάθε εντολή αναμονής ενώ έχει ρυθμιστεί το bit TS.

ΣΧΕΤΙΚΑ ΜΕ

Το bit PE (ενεργοποίηση προστασίας) έχει ρυθμιστεί για να θέσει τον μικροεπεξεργαστή 80386 σε προστατευμένη λειτουργία. Μπορεί επίσης να γίνει επαναφορά για να ξεκινήσει μια αρκετά μεγάλη ακολουθία εντολών για μετάβαση σε πραγματική λειτουργία. Στον μικροεπεξεργαστή 80286, αυτό το bit μπορεί να ρυθμιστεί μόνο. Ο μικροεπεξεργαστής 80286 δεν μπορεί να επιστρέψει στην πραγματική λειτουργία χωρίς να πραγματοποιήσει επαναφορά μέσω σκληρού δίσκου, κάτι που αποκλείει τη χρήση του στα περισσότερα συστήματα προστατευμένης λειτουργίας.

Περιγραφείς και Επιλογείς

Πριν συζητήσουμε το μπλοκ σελιδοποίησης, ας δούμε τους περιγραφείς και τους επιλογείς του μικροεπεξεργαστή 80386. Ο μικροεπεξεργαστής 80386 χρησιμοποιεί περιγραφείς με τον ίδιο σχεδόν τρόπο όπως ο μικροεπεξεργαστής 80286. Περιγραφέαςκαι στους δύο μικροεπεξεργαστές, αυτή είναι μια ακολουθία οκτώ byte που περιέχει πληροφορίες για το τμήμα μνήμης και τη θέση του. Εκλέκτορας(περιεχόμενο του καταχωρητή τμήματος) χρησιμοποιείται για την αναγνώριση του περιγραφέα που καθορίζεται στον πίνακα περιγραφών. Η κύρια διαφορά μεταξύ των μικροεπεξεργαστών 80286 και 80386 είναι ότι ο τελευταίος έχει δύο επιπλέον επιλογείς (FS και GS) και τα δύο πιο σημαντικά byte του περιγραφέα ορίζονται για τον μικροεπεξεργαστή 80386. Μια άλλη διαφορά είναι ότι οι περιγραφείς μικροεπεξεργαστή 80386 χρησιμοποιούν το πεδίο διεύθυνσης βάσης τμήματος 32-bit και ορίου τμήματος 20-bit αντί για το πεδίο διεύθυνσης βάσης 24-bit και ορίου τμήματος 16-bit που βρίσκονται στον μικροεπεξεργαστή 80286.

Ο μικροεπεξεργαστής 80286 απευθύνεται σε μια περιοχή μνήμης 16 MB με τη βασική διεύθυνση 24 bit και έχει μήκος τμήματος 64 KB με το πεδίο ορίου 16 bit. Ο μικροεπεξεργαστής 80386 χρησιμοποιεί μια διεύθυνση βάσης 32 bit για να αντιμετωπίσει μια περιοχή μνήμης 4 GB και το μέγεθος τμήματος καθορίζεται από ένα πεδίο ορίου 20 bit, το οποίο χρησιμοποιείται από δύο διαφορετικοί τρόποι. Το bit κοκκοποίησης G (κοκκοποίηση) του περιγραφέα ή, διαφορετικά, το κλασματικό bit καθορίζει τη μονάδα μέτρησης για το μέγεθος του τμήματος: εάν G = 0, το μέγεθος καθορίζεται σε byte και εάν G = 1, τότε σε σελίδες 4K. Έτσι, το μέγεθος τμήματος με πεδίο ορίου 20 bit μπορεί να είναι 1 MB ή 4 GB, αντίστοιχα.

Το bit κοκκοποίησης G εμφανίστηκε στον περιγραφέα από τον μικροεπεξεργαστή 80386. Εάν το bit G = 0, τότε η τιμή που είναι αποθηκευμένη στο πεδίο ορίου αντιμετωπίζεται απευθείας ως όριο μεγέθους τμήματος, επιτρέποντας την πρόσβαση σε οποιοδήποτε τμήμα 00000H-FFFFFG ενός 1 MB τμήμα. Εάν το bit G = 1, τότε ο αριθμός που είναι αποθηκευμένος στο πεδίο ορίου ερμηνεύεται ως 00000XXXH-FFFFFFXXXH, όπου XXX είναι οποιαδήποτε τιμή μεταξύ 000H και FFFH. Αυτό παρέχει πρόσβαση στο μέγεθος τμήματος από 0 byte έως 4 GB σε κομμάτια των 4 KB. Μια οριακή τιμή 00001H υποδεικνύει ότι το όριο μεγέθους τομέα είναι 4 KB όταν το G bit είναι 1 ή 1 byte όταν το G bit είναι 0. Ένα παράδειγμα θα ήταν ένα τμήμα που ξεκινά από τη φυσική διεύθυνση 10000000H. Για οριακή τιμή 00001H και G bit = 0, αυτό το τμήμα ξεκινά από 10000000H και τελειώνει στο 10000001H. Εάν το G bit = 1 με την ίδια οριακή τιμή (00001H), τότε το τμήμα ξεκινά από τη θέση 100000000H και τελειώνει στο 10001FFFH.

Στο σχ. Το σχήμα 6.6 δείχνει πώς ο μικροεπεξεργαστής 80386 απευθύνεται σε ένα τμήμα μνήμης σε προστατευμένη λειτουργία χρησιμοποιώντας έναν επιλογέα και έναν περιγραφέα. Η διεύθυνση που εμφανίζεται είναι πανομοιότυπη με τον τρόπο με τον οποίο ο μικροεπεξεργαστής 80286 απευθύνεται στο τμήμα. Η διαφορά είναι το μέγεθος του τμήματος που είναι διαθέσιμο στον μικροεπεξεργαστή 80386. Τα ανώτερα 13 bit (bits 15-3) του επιλογέα χρησιμοποιούνται για την επιλογή ενός περιγραφέα από τον πίνακα περιγραφών. Bit ένδειξης πίνακαΤο TI (δείκτη πίνακα) (bit 2 του επιλογέα) υποδεικνύει τον τύπο του πίνακα περιγραφών: τοπικό εάν το bit TI = 1, ή καθολικό εάν το bit TI = 0. Τα δύο κατώτερα bit του RPL (αιτούμενο επίπεδο προνομίου) ( bit 1-0) του επιλογέα καθορίζουν το ζητούμενο επίπεδο προνομίου για πρόσβαση στον τομέα.

Εφόσον ο επιλογέας χρησιμοποιεί έναν κωδικό 13-bit για πρόσβαση στον περιγραφέα, κάθε πίνακας (τοπικός ή παγκόσμιος) δεν περιέχει περισσότερους από 8192 περιγραφείς. Εφόσον το πιθανό μέγεθος τμήματος για τον μικροεπεξεργαστή 80386 φθάνει τα 4 GB, είναι δυνατή η πρόσβαση σε 16.384 τμήματα κάθε φορά χρησιμοποιώντας δύο πίνακες περιγραφών. Όλα αυτά επιτρέπουν στον μικροεπεξεργαστή 80386 να υποστηρίζει εικονική μνήμη έως 64 TB (1 TB = 1024 MB). Φυσικά, ένα σύστημα μνήμης με χωρητικότητα μόνο έως 4 GB μπορεί να υπάρξει στην πραγματικότητα. Εάν το πρόγραμμα κάποια στιγμή απαιτεί περισσότερα από 4 GB μνήμης, τότε τα απαιτούμενα δεδομένα μπορούν να αντληθούν στο σύστημα μνήμης από μια μονάδα δίσκου ή κάποια άλλη μεγάλη συσκευή αποθήκευσης.

Ο μικροεπεξεργαστής 80386 χρησιμοποιεί πίνακες περιγραφών για καθολικές ( GDT) και τοπικό (LDT)περιγραφείς. Ο τρίτος πίνακας περιγραφών χρησιμοποιείται από περιγραφείς διακοπής ( ΚΑΤΑΛΑΒΑ) ή βαλβίδες(πύλες). Τα πρώτα έξι byte του περιγραφέα μικροεπεξεργαστή 80386 είναι ίδια με αυτά του μικροεπεξεργαστή 80286, γεγονός που διασφαλίζει τη συμβατότητα λογισμικού με αυτόν από κάτω προς τα πάνω. Τα υψηλά δύο byte του περιγραφέα μικροεπεξεργαστή 80286 κρατήθηκαν και περιείχαν την τιμή 00H. Οι περιγραφείς για τους μικροεπεξεργαστές 80286 και 80386 φαίνονται στο σχήμα. 6.7.

Ο περιγραφέας μικροεπεξεργαστή 80386 περιέχει μια διεύθυνση βάσης 32 bit, ένα πεδίο ορίου τμήματος 20 bit και ένα bit ευκρίνειας G που καθορίζει τον πολλαπλασιαστή ορίου τμήματος (1 ή 4K φορές) ή, διαφορετικά, σε ποιες μονάδες έχει οριστεί το όριο: byte (G = 0) ή σελίδες 4K η καθεμία (G = 1). Ακολουθεί ο σκοπός των πεδίων περιγραφής μικροεπεξεργαστή 80386:

Βάση (B31-B0)

Το πεδίο Base καθορίζει τη βασική (αρχική) διεύθυνση 32-bit του τμήματος στον φυσικό χώρο διευθύνσεων των 4 GB του μικροεπεξεργαστή 80386.

Όριο (L19-L0)

Το πεδίο Limit καθορίζει το όριο σε byte για το τμήμα εάν το bit ευκρίνειας G = 0ή σε σελίδες 4K εάν G = 1. Αυτό επιτρέπει οποιοδήποτε μέγεθος τμήματος από 1 byte έως 1 MB εάν το bit G = 0 ή από 4 KB έως 1 GB εάν το bit G = 1. Θυμηθείτε ότι το όριο υποδεικνύει το τελευταίο byte στο τμήμα.

Δικαιώματα πρόσβασης

Το πεδίο Δικαιώματα πρόσβασης ορίζει το επίπεδο προνομίων και άλλες πληροφορίες σχετικά με το τμήμα. Αυτό το byte είναι διαφορετικό για ΔΙΑΦΟΡΕΤΙΚΟΙ ΤΥΠΟΙπεριγραφείς και προσδιορίζεται για καθένα από αυτά.

Το bit κοκκοποίησης G (κοκκοποίηση) επιλέγει έναν πολλαπλασιαστή 1 ή 4K για το πεδίο ορίου τμήματος. Αν το G bit = 0, τότε ο πολλαπλασιαστής είναι 1, αν το G bit = 0, τότε ο πολλαπλασιαστής είναι 4K.

Το bit D (προεπιλεγμένο μέγεθος) καθορίζει το προεπιλεγμένο μέγεθος των τελεστών και των καταχωρητών που χρησιμοποιούνται. Αν D = 0, τότε 16 bit, όπως στον μικροεπεξεργαστή 80286. αν D = 1, τότε 32 bit, όπως στον μικροεπεξεργαστή 80386. Αυτό το bit καθορίζει εάν απαιτούνται προθέματα για δεδομένα 32-bit και καταχωρητές ευρετηρίου. Εάν D = 0, τότε απαιτείται ένα πρόθεμα για πρόσβαση σε καταχωρητές 32-bit και για χρήση δεικτών 32-bit. Εάν D = 1, τότε απαιτείται ένα πρόθεμα για την πρόσβαση σε καταχωρητές 16-bit και για δείκτες 16-bit. Τα χαρακτηριστικά use16 και use32, που χρησιμοποιούνται με την οδηγία τμήματος στη γλώσσα συναρμολόγησης, ελέγχουν τη ρύθμιση του bit D. πραγματική λειτουργίαΗ λειτουργία πάντα προϋποθέτει ότι οι καταχωρητές είναι 16-bit, επομένως κάθε εντολή που απευθύνεται από έναν καταχωρητή ή δείκτη 32-bit πρέπει να έχει πρόθεμα.

Το AVL (διαθέσιμο) bit είναι διαθέσιμο για λειτουργικό σύστημακαι μπορεί να χρησιμοποιηθεί όπως απαιτείται. Δεν εφαρμόζεται ούτε αναλύεται από τον επεξεργαστή και προορίζεται για χρήση από προγράμματα εφαρμογών.

Υπάρχουν δύο είδη περιγραφέων: ένας περιγραφέας τμήματος κώδικα και δεδομένων και ένας περιγραφέας τμήματος συστήματος. Ο πρώτος περιγραφέας ορίζει τα τμήματα δεδομένων, στοίβας και κώδικα. Ο περιγραφέας τμήματος συστήματος προορίζεται για την αποθήκευση πληροφοριών σχετικά με πίνακες συστήματος, εργασίες και πύλες.

Οι υπερυπολογιστές θεωρούνταν πάντα μια ειδική κατηγορία υπολογιστικής τεχνολογίας. Δεδομένου ότι τέτοιες μηχανές κατασκευάζονται για την επίλυση ασυνήθιστων προβλημάτων, οι προϋπολογισμοί είναι ασυνήθιστοι, και αυτό, με τη σειρά του, έδωσε μια αίσθηση ατελείωτων δυνατοτήτων: φαινόταν ότι το πρόβλημα ήταν πάντα μόνο στα χρήματα και, με άλλα δώδεκα ή δύο εκατομμύρια, η παραγωγικότητα θα μπορούσε να είναι αυξήθηκε ατελείωτα. Αυτό που συνέβη τους τελευταίους μήνες και χρόνια και εκφράζεται από μια νέα λίστα με τους 500 πιο ισχυρούς αριθμούς δαγκωτών του πλανήτη - το γνωστό σε εσάς TOP500.org - δίνει, ωστόσο, έναν λόγο να ισχυριστεί κανείς ότι το "άπειρο" έχει τελειώσει. Οι υπερυπολογιστές είναι το πρώτο των σύγχρονων συστήματα υπολογιστώνσκόνταψε στο φυσικό όριο των δυνατοτήτων των ηλεκτρονικών ημιαγωγών - και για αυτούς, πρώτα απ 'όλα, είναι τώρα απαραίτητο να βρεθεί μια διέξοδος από το αδιέξοδο. νέα τεχνολογίαχρήση υπολογιστή.

Η επίσημη ένδειξη για μια τόσο εκτεταμένη δήλωση ήταν ένα περίεργο μοτίβο που παρατήρησαν οι συντάκτες της παραπάνω λίστας. Το Top 500 ενημερώνεται δύο φορές το χρόνο και σε κορυφαίες θέσειςτου τελευταία έκδοση, που δημοσιεύθηκε την περασμένη εβδομάδα, δεν υπήρξαν σχεδόν καμία αλλαγή (μόνο μία προστέθηκε στην πρώτη δεκάδα νέο μέλος, και η συνολική απόδοση και των πεντακοσίων μηχανών αυξήθηκε ελαφρά, από 0,223 σε 0,250 exaflops). Υπήρξε όμως μια ποιοτική γενική αλλαγή: το «κέντρο βάρους» της λίστας έχει μετατοπιστεί στην κορυφή ή, για να το θέσω πιο απλά, η κύρια υπολογιστική ισχύς συγκεντρώνεται πλέον σε ένα σχετικά μικρό (ιστορικά - ρεκόρ ) τον αριθμό των πιο γρήγορων μηχανών. Φαίνεται κάπως έτσι: η μισή αθροιστική ισχύς του Top 450 παρέχεται μόνο από τους πρώτους 17 υπολογιστές της λίστας. Αυτή η τάση δεν εμφανίστηκε χθες, αλλά τα τελευταία έξι χρόνια έχει διαμορφωθεί τόσο πολύ που χρειάζεται σκέψη.

Δεν υπάρχει ενιαία οριστική εξήγηση. Ένα από τα πιο συναρπαστικά είναι οικονομικά: τα τελευταία χρόνια, οι υπερυπολογιστές έχουν γίνει πολύ πιο ακριβοί (περίπου τέσσερις φορές σε σύγκριση, ας πούμε, με τον αριθμό των τσιμπημάτων του μεσαίου μηδενός) και επομένως είναι πλέον διαθέσιμοι μόνο σε σχετικά λίγες κυβερνήσεις πρακτορεία και μεγάλες εταιρείες. Επιπλέον, οι σχεδιαστές και οι αγοραστές νέων, όχι πολύ ισχυρών μηχανών δεν επιδιώκουν να εμφανίζονται στη βαθμολογία για να μην χαλάσουν την εικόνα τους. Και έτσι αποδεικνύεται ότι όσο πιο μακριά, τόσο πιο φωτεινή εκδηλώνεται η τάση: οι ισχυροί γίνονται ισχυρότεροι, οι αδύναμοι υστερούν γραμμικά γρήγορα.

Ένα σημαντικό συμπέρασμα: οι υπερυπολογιστές δεν έχουν πάψει να χρειάζονται, απλώς έχουν γίνει λιγότερο προσβάσιμοι. Τι γίνεται όμως με τον αθάνατο νόμο του Μουρ; Δεν θα έπρεπε να αντισταθμίσει την αύξηση της τιμής με πιο σφιχτή συσκευασία και άρα υψηλότερες επιδόσεις; Εδώ αναδύεται η κύρια υποψία. Φαίνεται ότι φτάσαμε στη γραμμή του τερματισμού, όπου ο νόμος του Μουρ, αν και εξακολουθεί να λειτουργεί, είναι ήδη πολύ ακριβός για να χρησιμοποιηθεί για τους περισσότερους παίκτες.

Οι επιστήμονες διατυπώνουν το αποτέλεσμα ως εξής: ελλείψει καινοτόμων τεχνολογιών που θα παρείχαν προηγουμένως ανέφικτη υπολογιστική ταχύτητα με ένα άλμα, η βιομηχανία υπερυπολογιστών αναγκάζεται να κινηθεί σε μια εκτεταμένη διαδρομή - αυξάνοντας ανόητα τον αριθμό των επεξεργαστών στις μηχανές της. Και ακόμη χειρότερα: δεδομένου ότι αυτός ο τρόπος δεν είναι ικανός να ικανοποιήσει τις ορέξεις των χρηστών (και ο αριθμός των bit είναι παραδοσιακά όχι μόνο ένα εργαλείο επεξεργασίας δεδομένων, αλλά και ένας τρόπος δημιουργίας εταιρικής και εθνικής αρχής), οι σχεδιαστές βασίστηκαν σε επιταχυντές γραφικών , τα οποία, ας πούμε, είναι κατάλληλα για την επίλυση όχι οποιωνδήποτε εργασιών. Ο αριθμός των υπερυπολογιστών που χρησιμοποιούν ενεργά GPU έχει αυξηθεί κατά μια τάξη μεγέθους τα τελευταία πέντε χρόνια!

Και εδώ είναι πολύ βολικό να θυμηθούμε την επικείμενη αντικατάσταση της περίφημης δοκιμής Linpack, η οποία από την αρχή της δημοσίευσης του Top 500 (πριν από είκοσι χρόνια) ήταν το κύριο μέτρο της απόδοσης των συστημάτων υπερυπολογιστών. Προτείνεται η αντικατάστασή του με τη νέα δοκιμή HPCG (High Performance Conjugate Gradient). Λόγος: Το Linpack - που γράφτηκε στο "Fortran" ήδη από το 1979 - αντανακλά ότι η πραγματική απόδοση των συστημάτων που μετρώνται δεν είναι ικανοποιητική και η απόκλιση αυξάνεται.

Γενικά, ακόμη και ο κοινός τους συν-συγγραφέας Jack Dongarra δεν μπορεί να εξηγήσει ξεκάθαρα τη διαφορά μεταξύ Linpack και HPCG. Αλλά, απλοποιώντας πολύ, η διαφορά μπορεί να περιοριστεί στα εξής: Το Linpack αξιολογεί κυρίως την ικανότητα ενός υπερυπολογιστή να εκτελεί καθαρούς υπολογισμούς (που κάνουν καλά οι επιταχυντές GPU), ενώ το HPCG λαμβάνει επίσης υπόψη την απόδοση των εσωτερικών επικοινωνιών, κάτι που είναι σημαντικό για επίλυση πρακτικών επιστημονικών και τεχνικών προβλημάτων (δηλαδή, για παράδειγμα, συχνή ακανόνιστη πρόσβαση στη μνήμη).

Εάν το HPCG δεν αντικατασταθεί, τότε θα συμπληρώσει το Linpack μετά από μερικά χρόνια «λειτουργίας» (για όσους ενδιαφέρονται, οι πηγαίοι κώδικες είναι διαθέσιμοι με άδεια BSD από τον ιστότοπο Sandia Labs). Και αυτό θα μπορούσε να οδηγήσει σε σημαντική αναδιάταξη ολόκληρης της λίστας των Top 500, στην επιστροφή μικρών συμμετεχόντων σε αυτήν, οι οποίοι θα αρχίσουν να λαμβάνουν υψηλότερες, δικαιότερες αξιολογήσεις, ακόμη και προσαρμογές στην αρχιτεκτονική των υπερυπολογιστών όταν δεν είναι πλέον βελτιστοποιημένοι για το Linpack. Αν και, φυσικά, δεν πρέπει να ελπίζουμε ιδιαίτερα για το τελευταίο - τελικά, δεν υπάρχει ακόμα πρωτοποριακή τεχνολογία υπολογιστών!

Και χωρίς ανακαλύψεις, η πλήξη βασίλευε στον κόσμο των Numberbiters. Πώς να φτιάξετε ένα πιο ισχυρό μηχάνημα; Βάλτε περισσότερους επεξεργαστές - και επομένως, βρείτε περισσότερα λεφτά. Αλλά η πραγματικότητα είναι ότι ο παραλληλισμός των πρακτικών εργασιών πάνω από ένα ορισμένο (και ήδη επιτευχθεί) επίπεδο δεν φέρνει κέρδη ταχύτητας, ακόμη και τα περισσότερα ισχυρούς υπερυπολογιστέςείναι ήδη τόσο ακριβά που η κατασκευή και η λειτουργία τους μπορούν να αντέξουν οικονομικά οι μονάδες, όπως αναφέρθηκε παραπάνω. Ως αποτέλεσμα, το ρεύμα υπερυπολογιστή στεγνώνει. Αυτό είναι το τέλος μιας τεχνολογικής εποχής, το τέλος των ημιαγωγών όπως τους γνωρίζουμε τα τελευταία πενήντα χρόνια. Και μέχρι να υπάρξει μια τεχνολογία που μπορεί να ανεβάσει την απόδοση του υπολογιστή σε ένα νέο επίπεδο, θα μείνουμε στάσιμοι, ικανοποιημένοι με μια ετήσια αύξηση μερικών τοις εκατό.

Τι μπορεί να προσφέρει μια τέτοια σημαντική ανακάλυψη; Ο δυτικός Τύπος κοιτάζει επίμονα τους νανοσωλήνες, από τους οποίους τα παιδιά στο Στάνφορντ κατάφεραν να κατασκευάσουν μονοδιάστατα πολικά τρανζίστορ (CNFET), να μάθουν πώς να φτιάχνουν μικροκυκλώματα με εγγυημένη λειτουργικότητα (το κύριο πρόβλημα: είναι ακόμα δύσκολο να αποφευχθεί ένας μεγάλος αριθμόςλανθασμένοι νανοσωλήνες) και ακόμη και να κατασκευάσουν έναν υπολογιστή συμβατό με MIPS, που παρουσιάστηκε μόλις την περασμένη εβδομάδα στο συνέδριο υπερυπολογιστών ACM / IEEE SC13 (η "Computerra" έγραψε για αυτό το έργο: βλέπε ""). Στο μέλλον, αυτή η τεχνολογία είναι σε θέση να παρέχει 13πλάσια υπεροχή στην απόδοση ανά μονάδα κατανάλωσης ενέργειας τσιπ ημιαγωγών. Αναρωτιέμαι αν κάποιος εδώ ασχολείται με νανοσωλήνες;

Πολλοί ενθουσιώδεις τεχνολογία υπολογιστώνθυμούνται με εμπειρία τις εποχές που οι συχνότητες των επεξεργαστών μετρήθηκαν σε megahertz και οι κατασκευαστές (δηλαδή η Intel και η AMD) προσπάθησαν να προηγηθούν ο ένας από τον άλλο σε αυτόν τον δείκτη. Στη συνέχεια, το επίπεδο κατανάλωσης ενέργειας και απαγωγής θερμότητας των επεξεργαστών αυξήθηκε τόσο πολύ που κατέστη αδύνατο να συνεχιστεί αυτός ο αγώνας. Τα τελευταία χρόνια, άρχισαν να αυξάνουν τον αριθμό των πυρήνων επεξεργαστών, αλλά ως αποτέλεσμα, επιτεύχθηκε ένα όριο όταν αυτή η ανάπτυξη έγινε ασύμφορη. Τώρα η λήψη της μεγαλύτερης ισχύος ανά watt έχει γίνει ένας σημαντικός παράγοντας απόδοσης.

Όλες αυτές οι αλλαγές δεν έγιναν επειδή οι προγραμματιστές αντιμετώπισαν τα φυσικά όρια της περαιτέρω ανάπτυξης των υπαρχόντων επεξεργαστών. Αντίθετα, η απόδοση έχει περιοριστεί από το γεγονός ότι η πρόοδος σε ορισμένους τομείς - κυρίως στην ενεργειακή απόδοση - ήταν πιο αργή από την πρόοδο σε άλλους τομείς, όπως η επέκταση των συνόλων λειτουργικότητας και οδηγιών. Ωστόσο, μπορεί να είναι ότι τώρα το φυσικό όριο των επεξεργαστών και τους υπολογιστική ισχύςήδη κοντά; Ο Igor Markov του Πανεπιστημίου του Μίσιγκαν ασχολήθηκε με αυτό το θέμα σε ένα άρθρο στο περιοδικό Nature.

Λαμβάνοντας υπόψη τα εμπόδια

Ο Markov σημειώνει ότι, με βάση τους καθαρά φυσικούς περιορισμούς, ορισμένοι επιστήμονες έχουν υπολογίσει ότι ο νόμος του Moore θα διαρκέσει για άλλα εκατό χρόνια. Από την άλλη πλευρά, ο όμιλος International Technology Roadmap for Semiconductors (ITRS) του δίνει μια-δυο δεκαετίες ζωής. Ωστόσο, οι προβλέψεις ITRS μπορούν να τεθούν υπό αμφισβήτηση: αυτή η ομάδα χρησιμοποιούσε για την πρόβλεψη επεξεργαστών με συχνότητα 10 GHz στις μέρες των τσιπ Core2. Ο λόγος αυτής της ασυμφωνίας είναι ότι πολλοί σοβαροί σωματικοί περιορισμοί δεν μπήκαν ποτέ στο παιχνίδι.

Για παράδειγμα, το ακραίο όριο στο μέγεθος μιας λειτουργικής μονάδας είναι ένα άτομο, το οποίο είναι το απόλυτο φυσικό όριο. Αλλά πολύ πριν επιτευχθεί αυτό το όριο, η φυσική περιορίζει την ικανότητα να ελέγχει με ακρίβεια τη ροή των ηλεκτρονίων. Με άλλα λόγια, τα κυκλώματα μπορεί ενδεχομένως να είναι τόσο λεπτά όσο ένα άτομο, αλλά η συμπεριφορά τους θα γίνει αναξιόπιστη πολύ νωρίτερα. Μεγάλο μέρος της συνεχιζόμενης δουλειάς της Intel για τη μετάβαση σε πιο λεπτές διαδικασίες παραγωγής (μικρότερα τρανζίστορ) είναι να βρει πώς να δομηθεί μεμονωμένα εξαρτήματαώστε να μπορούν να συνεχίσουν να λειτουργούν όπως αναμένεται.

Η ουσία του επιχειρήματος του Markov μπορεί να γίνει κατανοητή κάπως έτσι: αν και υπάρχουν σκληρά φυσικά όρια, είναι συχνά άσχετα με τα προβλήματα που συγκρατούν τη σύγχρονη πρόοδο των ημιαγωγών. Αντίθετα, βρισκόμαστε αντιμέτωποι με πιο ήπιους περιορισμούς που συχνά μπορούν να παρακαμφθούν. «Όταν έρχεται η στιγμή για έναν συγκεκριμένο περιορισμό που εμποδίζει την εξέλιξη, η κατανόηση της φύσης του είναι το κλειδί για να τον ξεπεράσεις», γράφει. «Ορισμένοι περιορισμοί μπορούν απλά να αγνοηθούν, ενώ άλλοι παραμένουν υποθετικοί και βασίζονται μόνο σε εμπειρικά στοιχεία. είναι δύσκολο να εγκατασταθούν υψηλό βαθμόβεβαιότητα."

Ως αποτέλεσμα, αυτά που φαίνονται ως εμπόδια στην ανάπτυξη συχνά ξεπερνιούνται με έναν συνδυασμό δημιουργικής σκέψης και βελτιωμένης τεχνολογίας. Το παράδειγμα του Markov είναι το όριο περίθλασης. Αρχικά, υποτίθεται ότι εμποδίζει τα λέιζερ αργού-φθορίου να χαράξουν δομές λεπτότερες από 65 νανόμετρα. Αλλά με την περίθλαση υπομήκους κύματος, αυτή τη στιγμή εργαζόμαστε σε δομές 14 nm χρησιμοποιώντας το ίδιο λέιζερ.

Πού είναι τα σύγχρονα όρια;

Ο Markov δίνει προσοχή σε δύο θέματα που θεωρεί τα μεγαλύτερα όρια: την ενέργεια και τις επικοινωνίες. Το θέμα της κατανάλωσης ενέργειας προέρχεται από το γεγονός ότι η ποσότητα ενέργειας που χρησιμοποιούν τα σύγχρονα κυκλώματα δεν μειώνεται ανάλογα με τη μείωση του φυσικού τους μεγέθους. Το κύριο αποτέλεσμα αυτού: προσπάθειες που έγιναν για να μπλοκάρουν μέρη του τσιπ όταν δεν χρησιμοποιούνται. Αλλά με τον σημερινό ρυθμό ανάπτυξης αυτή η προσέγγισηανά πάσα στιγμή, το μεγαλύτερο μέρος του τσιπ είναι ανενεργό - εξ ου και ο όρος "σκοτεινό πυρίτιο".

Η κατανάλωση ενέργειας είναι ανάλογη με την τάση λειτουργίας του τσιπ και τα τρανζίστορ απλά δεν μπορούν να λειτουργήσουν κάτω από 200 mV. Τώρα η τάση τους είναι 5 φορές μεγαλύτερη, οπότε υπάρχει περιθώριο μείωσης. Αλλά η πρόοδος στη μείωση της τάσης λειτουργίας έχει επιβραδυνθεί, οπότε μπορεί να φτάσουμε και πάλι στα τεχνολογικά όρια πριν από τα φυσικά.

Το πρόβλημα της χρήσης ενέργειας σχετίζεται με το ζήτημα της επικοινωνίας: το μεγαλύτερο μέρος του φυσικού όγκου του τσιπ και το μεγαλύτερο μέρος της κατανάλωσης ενέργειας δαπανάται στην αλληλεπίδραση μεταξύ των διαφορετικών μπλοκ του ή του υπόλοιπου υπολογιστή. Εδώ φτάνουμε πραγματικά στα φυσικά όρια. Ακόμα κι αν τα σήματα στο τσιπ ταξίδευαν με την ταχύτητα του φωτός, ένα τσιπ άνω των 5 GHz δεν θα μπορούσε να μεταδώσει πληροφορίες από τη μια πλευρά του τσιπ στην άλλη. Ό,τι καλύτερο μπορούμε να κάνουμε σύγχρονες τεχνολογίες, είναι η προσπάθεια ανάπτυξης τσιπ στα οποία μπλοκ που ανταλλάσσουν συχνά δεδομένα μεταξύ τους θα είναι φυσικά κοντά. Η συμπερίληψη μιας τρίτης διάστασης (δηλαδή τρισδιάστατων αλυσίδων) στην εξίσωση θα μπορούσε να βοηθήσει, αλλά μόνο οριακά.

Τι έπεται?

Ο Markov δεν είναι ιδιαίτερα αισιόδοξος για τις επερχόμενες αλλαγές. Βραχυπρόθεσμα, αναμένει ότι η χρήση νανοσωλήνων άνθρακα για καλωδιώσεις και οπτικών διασυνδέσεων για επικοινωνίες θα συνεχίσει την τάση να μας βοηθά να αποφύγουμε τα φυσικά όρια. Ωστόσο, σημειώνει ότι και οι δύο αυτές τεχνολογίες έχουν τους δικούς τους περιορισμούς. Οι νανοσωλήνες άνθρακα μπορεί να είναι μικροί, μέχρι ένα νανόμετρο σε διάμετρο, αλλά έχουν επίσης ένα όριο μεγέθους. Και τα φωτόνια, εάν χρησιμοποιούνται για επικοινωνία, θα απαιτούσαν σκεύη, εξαρτήματακαι ενέργεια.

Πολλοί εναποθέτουν τις ελπίδες τους στους κβαντικούς υπολογιστές, αλλά ο Markov δεν είναι ένας από τους θαυμαστές τους. " κβαντικούς υπολογιστές, τόσο οι ψηφιακές όσο και οι αναλογικές, είναι ελπιδοφόρες μόνο σε εξειδικευμένες εφαρμογές και δεν προσφέρουν σημαντική απόδοση στη γενική υπολογιστική, επειδή δεν μπορούν να εκτελέσουν γρήγορα ταξινόμηση και άλλες συγκεκριμένες εργασίες», λέει. Το πρόβλημα είναι επίσης ότι αυτός ο εξοπλισμός λειτουργεί καλύτερα σε θερμοκρασίες κοντά στο απόλυτο μηδέν, ενώ σε θερμοκρασία δωματίου η απόδοση είναι εξαιρετικά χαμηλή.

Ωστόσο, όλοι οι υπολογισμοί βασίζονται σε κβαντικά αποτελέσματα σε κάποιο βαθμό, και ο Markov πιστεύει ότι υπάρχει κάτι χρήσιμο να μάθουμε από τα κβαντικά συστήματα. «Οι μεμονωμένες κβαντικές συσκευές πλησιάζουν τα ενεργειακά όρια για μεταγωγή, ενώ οι μη κβαντικές συσκευές υστερούν κατά μια τάξη μεγέθους». Προφανώς, η απόκτηση έστω και μικρού βαθμού απόδοσης κβαντικών συστημάτων μπορεί να κάνει μια μεγάλη αρχή στην κατανάλωση ενέργειας σε ολόκληρο το τσιπ.

Ένα άλλο μαρκοβιανό φυσικό όριο: η διαγραφή λίγων πληροφοριών έχει ένα θερμοδυναμικό κόστος που δεν μπορεί να αποφευχθεί—οι υπολογισμοί πάντα καταναλώνουν ενέργεια. Μια ιδέα για την αποφυγή αυτού του ορίου είναι η "υπολογιστική αναστρέψιμη", όπου επιστρέφονται τα στοιχεία την αρχική κατάστασημετά τον υπολογισμό. Αυτή η μέθοδος μπορεί, τουλάχιστον θεωρητικά, να σας επιτρέψει να πάρετε πίσω μέρος της ενέργειας που χρησιμοποιήσατε.

Αυτή η ιδέα δεν είναι εντελώς θεωρητική. Ο Markov αναφέρει εργασίες που χρησιμοποιούν υπεραγώγιμα κυκλώματα (τα οποία αποκαλεί «αρκετά εξωτικά») για να παρέχουν αναστρέψιμη συμπεριφορά και διασπορά ενέργειας κάτω από το θερμοδυναμικό όριο. Φυσικά, εδώ χρησιμοποιούνται μόνο 4 microkelvins, επομένως δαπανάται περισσότερη ενέργεια για τον έλεγχο της λειτουργικότητας των κυκλωμάτων παρά για την πραγματική τους λειτουργία.

Πέρα από τη Φυσική

Ενώ η φυσική και η επιστήμη των υλικών βάζουν πολλά όρια στο υλικό, τα μαθηματικά θέτουν όρια στο τι μπορούμε να κάνουμε με αυτά. Και παρά τη φήμη της ως ακριβούς επιστήμης, οι μαθηματικοί περιορισμοί είναι πολύ πιο ασαφείς από τους φυσικούς. Για παράδειγμα, δεν υπάρχει ακόμα απάντηση στην ισότητα των κατηγοριών πολυπλοκότητας P και NP, παρά την προσπάθεια πολλών ετών. Και παρόλο που μπορούμε να αποδείξουμε ότι ορισμένοι αλγόριθμοι είναι οι πιο αποτελεσματικοί για γενικές περιπτώσεις, είναι επίσης εύκολο να βρούμε εύρος προβλημάτων όπου οι εναλλακτικές υπολογιστικές προσεγγίσεις αποδίδουν καλύτερα.

Το μεγαλύτερο πρόβλημα που βλέπει ο Markov εδώ είναι ο αγώνας να εξαχθεί περισσότερος παραλληλισμός από τον κώδικα. Ακόμη και φθηνά smartphonesεργάζονται τώρα επεξεργαστές πολλαπλών πυρήνων, αλλά μέχρι στιγμής η χρήση τους δεν είναι η βέλτιστη.

Γενικά, φαίνεται ότι ο κύριος περιορισμός είναι ο ανθρώπινος νους. Αν και ο Markov δεν βλέπει φανταστικές νέες τεχνολογίες να εμφανίζονται, είναι αισιόδοξος ότι τα τρέχοντα εμπόδια θα αρθούν ή θα παρακαμφθούν μέσω της προόδου σε άλλους τομείς.

Από τον συντάκτη. Οι τακτικοί αναγνώστες μας γνωρίζουν ότι κατά καιρούς εμφανίζονται στην εφημερίδα μας ανατυπώσεις των πιο διάσημων, κλασικών άρθρων και έργων στον τομέα της πληροφορικής. «Φυσικά Όρια Υπολογιστών» θέλαμε να τυπώσουμε για πολύ καιρό… περίπου δεκαπέντε χρόνια. Αλλά αυτό το υπέροχο άρθρο κατά κάποιο τρόπο δεν βρήκε θέση όσον αφορά τη σύνθεση άλλων υλικών, θα φαινόταν πολύ περίεργο σε μια εφημερίδα, που τυπώθηκε "ακριβώς έτσι". Και τότε τέτοια τύχη! Το άρθρο αναφέρθηκε (απόλυτα άξιζε) στην τελευταία διάλεξη του μαθήματος προχωρημένης κατάρτισης, ως μία από τις λίγες πηγές πληροφοριών για αυτό το θέμα στα ρωσικά. Φυσικά, δεν θα μπορούσαμε να χάσουμε την ευκαιρία. Ελπίζουμε να απολαύσετε την εξερεύνηση αυτού του υπέροχου δημοφιλούς υλικού. Άλλωστε, ούτε και 24 (!) χρόνια που πέρασαν από την έκδοσή του δεν το έκαναν «παρωχημένο», αν και φυσικά οι τεχνολογίες έχουν προχωρήσει κατά παρσέκ! Αλλά οι θεμελιώδεις νόμοι είναι πολύ σκληροί ακόμα και για την τεχνολογία!

Ποιοι φυσικοί παράγοντες περιορίζουν τη διαδικασία υπολογισμού; Υπάρχει μια περιοριστική ελάχιστη ενέργεια που απαιτείται, για παράδειγμα, για την εκτέλεση ενός λογικού βήματος; Προφανώς, τέτοιο ελάχιστο δεν υπάρχει, αλλά υπάρχουν και άλλα ερωτήματα που παραμένουν ανοιχτά.

Υπολογισμός, ανεξάρτητα από το αν εκτελείται ηλεκτρονικές συσκευές, σε συνηθισμένους λογαριασμούς ή ένα βιολογικό σύστημα, όπως ο εγκέφαλος, είναι μια φυσική διαδικασία. Οι ίδιες έννοιες ισχύουν για αυτό όπως και για άλλες φυσικές διεργασίες. Πόση ενέργεια χρειάζεται για να γίνει ένας δεδομένος υπολογισμός; Πόση ώρα θα πάρει? Τι μέγεθος πρέπει να έχει η υπολογιστική συσκευή; Με άλλα λόγια, ποια είναι τα φυσικά όρια στη διαδικασία υπολογισμού;

Φυσικά, το να κάνεις αυτές τις ερωτήσεις είναι πολύ πιο εύκολο από το να τις απαντήσεις. Οι περιορισμοί που μας ενδιαφέρουν είναι κατά κάποιο τρόπο πολύ μακριά από τους πραγματικούς περιορισμούς που αντιμετωπίζουμε. μοντέρνα τεχνολογία. Επομένως, δεν μπορούμε να ισχυριστούμε ότι η έρευνά μας βοηθά έναν μηχανικό ή έναν τεχνολόγο στη δουλειά του. Αυτές οι μελέτες έχουν περισσότερο θεωρητικό χαρακτήρα. Στόχος μας είναι να εντοπίσουμε τους γενικούς νόμους που διέπουν όλους τους τύπους επεξεργασίας πληροφοριών, ανεξάρτητα από τα μέσα και τις μεθόδους αυτής της επεξεργασίας. Οποιαδήποτε όρια βρίσκουμε πρέπει να βασίζονται αποκλειστικά σε θεμελιώδεις φυσικές αρχές και όχι στις τεχνολογίες που χρησιμοποιούνται αυτήν τη στιγμή.

Αυτή η αναζήτηση θεμελιωδών περιορισμών είχε ήδη προηγούμενα. Στη δεκαετία του 1940, ο K. Shannon, εκείνη την εποχή υπάλληλος των Bell Telephone Laboratories, διαπίστωσε ότι υπήρχαν περιορισμοί στην ποσότητα των πληροφοριών που θα μπορούσαν να μεταδοθούν μέσω ενός καναλιού επικοινωνίας παρουσία θορύβου. Αυτοί οι περιορισμοί ισχύουν ανεξάρτητα από τον τρόπο κωδικοποίησης του μηνύματος. Το έργο του Shannon σηματοδότησε τη γέννηση της σύγχρονης θεωρίας της πληροφορίας. Ακόμη νωρίτερα, στα μέσα και στα τέλη του περασμένου αιώνα, οι φυσικοί, προσπαθώντας να προσδιορίσουν τους θεμελιώδεις περιορισμούς στην απόδοση μιας ατμομηχανής, δημιούργησαν μια επιστήμη που ονομάζεται «θερμοδυναμική». Γύρω στο 1960, ο Landauer (ένας από τους συγγραφείς αυτού του άρθρου), μαζί με τον J. Swanson, ενώ εργαζόταν στην IBM, προσπάθησαν να εφαρμόσουν αυτού του είδους την ανάλυση στη διαδικασία υπολογισμού. Ξεκινώντας από τα μέσα της δεκαετίας του 1970, όλο και περισσότερες ομάδες επιστημόνων από άλλους οργανισμούς άρχισαν να συμμετέχουν σε αυτές τις μελέτες.

Στην ανάλυσή μας των φυσικών περιορισμών στον υπολογισμό, χρησιμοποιούμε τον όρο «πληροφορίες» με την έννοια που ορίζεται στη θεωρία της πληροφορίας. Σύμφωνα με αυτόν τον ορισμό, οι πληροφορίες εξαφανίζονται κάθε φορά που δύο προηγουμένως διακριτές καταστάσεις γίνονται δυσδιάκριτες. ΣΤΟ φυσικά συστήματα, που χαρακτηρίζεται από την απουσία δυνάμεων τριβής, οι πληροφορίες δεν μπορούν να καταστραφούν, γιατί όταν οι πληροφορίες καταστρέφονται, ένα ορισμένο ποσό ενέργειας πρέπει να περάσει σε θερμότητα. Για παράδειγμα, εξετάστε δύο εύκολα διακριτές φυσικές καταστάσεις. Σε ένα από αυτά, μια λαστιχένια μπάλα στηρίζεται σε ύψος 1 m από το πάτωμα, στην άλλη, σε ύψος 2 μ. Εάν η μπάλα απελευθερωθεί, θα πέσει και θα αναπηδήσει από το πάτωμα. Σε περίπτωση απουσίας τριβής και υπό την προϋπόθεση ότι η μπάλα είναι τέλεια ελαστική, ο παρατηρητής θα μπορεί πάντα να γνωρίζει ποια ήταν η αρχική κατάσταση της μπάλας (σε αυτή την περίπτωση, σε ποιο ύψος βρισκόταν την αρχική στιγμή), αφού Η μπάλα που έπεσε από ύψος 2 m θα αναπηδήσει ψηλότερα από ό,τι όταν πέσει από ύψος 1 m.

Ωστόσο, παρουσία δυνάμεων τριβής, κάθε φορά που η μπάλα αναπηδά από το πάτωμα, κάποια ενέργεια θα διαχέεται και τελικά η μπάλα θα σταματήσει να αναπηδά και θα παραμένει στο πάτωμα. Τότε θα είναι αδύνατο να προσδιοριστεί ποια ήταν η αρχική κατάσταση της μπάλας: η μπάλα που έπεσε από ύψος 2 m θα είναι εντελώς πανομοιότυπη με τη μπάλα που έπεσε από ύψος 1 m. Οι πληροφορίες θα χαθούν ως αποτέλεσμα διασπορά ενέργειας.

Οι συμβατικές υπολογιστικές συσκευές, ο άβακας και ο μικροεπεξεργαστής διαχέουν ενέργεια κατά τη λειτουργία. Η διασπορά ενέργειας από τις λογικές πύλες του μικροεπεξεργαστή οφείλεται στην εξαφάνιση των πληροφοριών. Υπάρχουν και άλλοι λόγοι: ηλεκτρονικά κυκλώματαΟι μικροεπεξεργαστές καταναλώνουν ενέργεια ακόμα και όταν απλώς αποθηκεύουν πληροφορίες χωρίς να τις επεξεργάζονται. Οι λογαριασμοί είναι διασκορπιστικοί λόγω των δυνάμεων τριβής που δεν μπορούν να εξαλειφθούν: απουσία στατικής τριβής, τα «οστά» θα άλλαζαν θέση υπό την επίδραση της τυχαίας θερμικής κίνησης των μορίων. Η στατική τριβή αντιπροσωπεύει μια ορισμένη ελάχιστη δύναμη που δεν εξαρτάται από την ταχύτητα των «οστών», και επομένως ο άβακας απαιτεί κάποια ελάχιστη ενέργεια, ανεξάρτητα από το πόσο αργά λειτουργούν.

Ας δώσουμε ένα άλλο παράδειγμα της εξαφάνισης των πληροφοριών. Η έκφραση "2 + 2" περιέχει περισσότερες πληροφορίες από την έκφραση "= 4". Αν γνωρίζουμε μόνο ότι ο αριθμός 4 προέκυψε προσθέτοντας δύο αριθμούς, τότε δεν θα μπορέσουμε να προσδιορίσουμε ποιοι αριθμοί προστέθηκαν: 1 + 3, 2 + 2, 0 + 4 ή κάποιο άλλο ζεύγος αριθμών. Εφόσον οι πληροφορίες εξόδου περιέχονται σιωπηρά ήδη στην είσοδο, μπορούμε να υποθέσουμε ότι κανένας υπολογισμός δεν δημιουργεί πληροφορίες.

Οι συμβατικές λογικές πύλες διαχέουν ενέργεια επειδή απορρίπτουν περιττές πληροφορίες. Για παράδειγμα, εάν η έξοδος της πύλης AND είναι 0, τότε δεν μπορούμε να προσδιορίσουμε τι ήταν στις εισόδους.

Στην πραγματικότητα, οι υπολογισμοί που γίνονται σε σύγχρονους υπολογιστές πραγματοποιούνται με τη βοήθεια πολλών πράξεων που καταστρέφουν πληροφορίες. Η λεγόμενη βαλβίδα Και ”είναι μια συσκευή με δύο γραμμές εισόδου, καθεμία από τις οποίες μπορεί να ρυθμιστεί σε σήμα ίσο με 1 ή 0, και μια γραμμή εξόδου - η τιμή του σήματος της καθορίζεται από τις τιμές των εισόδων. Εάν και οι δύο είσοδοι είναι 1, τότε η έξοδος θα είναι επίσης 1. Εάν μία ή και οι δύο είσοδοι είναι 0, τότε η έξοδος θα είναι 0. Όποτε η έξοδος της πύλης είναι 0, χάνουμε πληροφορίες, επειδή δεν γνωρίζουμε ποια από τις τρεις πιθανές καταστάσεις ήταν οι γραμμές εισόδου (0 και 1, 1 και 0 ή 0 και 0). Στην πραγματικότητα, οποιαδήποτε λογική πύλη που έχει περισσότερες εισόδους από εξόδους χάνει αναπόφευκτα πληροφορίες επειδή δεν μπορούμε να προσδιορίσουμε την κατάσταση των εισόδων από την κατάσταση των εξόδων. Επομένως, όποτε χρησιμοποιούμε μια τέτοια «λογικά μη αναστρέψιμη» βαλβίδα, διαχέουμε ενέργεια μέσα περιβάλλον. Η διαγραφή ενός bit δεδομένων στη μνήμη του υπολογιστή είναι μια άλλη λειτουργία που χρησιμοποιείται συχνά στους υπολογιστές, η οποία είναι επίσης διασκορπιστική. Κατά τη διαγραφή ενός bit δεδομένων, χάνουμε όλες τις πληροφορίες σχετικά με την προηγούμενη κατάσταση αυτού του bit.

Ωστόσο, είναι δίκαιο να τεθεί το ερώτημα, είναι η χρήση μη αναστρέψιμων λογικών πυλών και πράξεων διαγραφής αναπόφευκτες στους υπολογιστές; Αν ναι, τότε οποιοσδήποτε υπολογισμός κάνουμε πρέπει να διαχέει μια ορισμένη ελάχιστη ποσότητα ενέργειας.

Όπως έδειξε ο Benne (ένας από τους συγγραφείς αυτού του άρθρου) το 1973, μπορεί κανείς να κάνει χωρίς μη αναστρέψιμα λογικά στοιχεία και χωρίς να σβήσει πληροφορίες στον υπολογισμό. Έκτοτε, η εγκυρότητα αυτής της διάταξης έχει αποδειχθεί σε διάφορα μοντέλα. Είναι πιο εύκολο να περιγράψουμε μοντέλα που βασίζονται στις λεγόμενες «αντιστρεφόμενες λογικές πύλες», όπως η πύλη Fredkin, που πήρε το όνομά της από τον Edward Fredkin στο MIT. Η βαλβίδα έχει τρεις γραμμές εισόδου και τρεις γραμμές εξόδου. Το σήμα σε μία γραμμή εισόδου, που ονομάζεται "κανάλι ελέγχου", δεν αλλάζει καθώς περνά μέσα από την πύλη. Εάν το σήμα στο κανάλι ελέγχου είναι ρυθμισμένο στο 0, τότε τα σήματα εισόδου και στις άλλες δύο γραμμές περνούν χωρίς αλλαγή. Αλλά εάν η γραμμή ελέγχου είναι 1, τότε οι άλλες δύο γραμμές εξόδου αλλάζουν: το σήμα εισόδου της μιας γραμμής γίνεται η έξοδος της άλλης και αντίστροφα. Η πύλη Fredkin δεν χάνει πληροφορίες, αφού η κατάσταση των εισόδων μπορεί πάντα να προσδιοριστεί από την κατάσταση των εξόδων.

Ο Fredkin έδειξε ότι οποιαδήποτε λογική συσκευή είναι απαραίτητη για τη λειτουργία ενός υπολογιστή μπορεί να κατασκευαστεί με τη μορφή ενός κατάλληλου συνδυασμού πυλών Fredkin. Για να εκτελέσετε τον υπολογισμό, ορισμένες γραμμές εισόδου ορισμένων πυλών πρέπει να έχουν προκαθοριστεί σε ορισμένες τιμές (δείτε το κάτω σχήμα στα αριστερά).

Μια αναστρέψιμη λογική πύλη Fredkin μπορεί να μην διαχέει ενέργεια - η κατάσταση στις εισόδους της μπορεί να προσδιοριστεί από την κατάσταση των εξόδων. Η βαλβίδα έχει μια γραμμή "ελέγχου", η κατάσταση της οποίας δεν αλλάζει από τη βαλβίδα. Εάν η γραμμή ελέγχου είναι 0, τότε οι τιμές του σήματος στις άλλες δύο γραμμές δεν αλλάζουν, αλλά εάν η γραμμή ελέγχου είναι 1, τότε η είσοδος της γραμμής Α γίνεται η έξοδος της γραμμής S και αντίστροφα. Με τις αναστρέψιμες βαλβίδες σωστά συνδεδεμένες, μπορεί να πραγματοποιηθεί οποιαδήποτε λειτουργία που εκτελείται από μια συμβατική μη αναστρέψιμη συσκευή. Για την υλοποίηση μιας λειτουργίας AND (δεξιά), μια είσοδος ορίζεται στο 0 και δύο bit εξόδου, που ονομάζονται "σκουπίδια", αγνοούνται προσωρινά. Όταν ολοκληρωθεί ο υπολογισμός, αυτά τα bit χρησιμοποιούνται για τη λειτουργία της πύλης προς την αντίθετη κατεύθυνση για να επιστρέψει ο υπολογιστής στην αρχική του κατάσταση.

Οι πύλες Fredkin έχουν περισσότερες γραμμές εξόδου από αυτές που μοντελοποιούν. Επομένως, κατά τη διάρκεια των υπολογισμών, φαίνεται ότι σχηματίζονται "κομμάτια σκουπιδιών", δηλ. κομμάτια πληροφοριών που δεν απαιτούνται για την παραγωγή ενός αποτελέσματος. Πριν ξεκινήσετε έναν άλλο υπολογισμό, πρέπει να καθαρίσετε με κάποιο τρόπο τον υπολογιστή από αυτά τα bits. Αλλά αν τα σβήσουμε, τότε θα συμβεί η ίδια η διάχυση της ενέργειας που θέλαμε να αποφύγουμε.

Στην πραγματικότητα, αυτά τα κομμάτια παίζουν πολύ σημαντικό ρόλο. Αφού λάβουμε το αποτέλεσμα του υπολογισμού και το αντιγράψουμε από το μηχάνημα από τις συνήθεις γραμμές εξόδου, η διαδικασία θα πρέπει να εκτελεστεί προς την αντίθετη κατεύθυνση. Με άλλα λόγια, χρησιμοποιούμε τα «junk bit» και τα bit εξόδου που λαμβάνει ο υπολογιστής κατά τον υπολογισμό ως «είσοδο» από την «πίσω πλευρά» του μηχανήματος. Αυτό είναι δυνατό επειδή κάθε λογική πύλη υπολογιστή είναι αναστρέψιμη. Δεν υπάρχει απώλεια πληροφοριών κατά τη διαδικασία υπολογισμού προς την αντίστροφη κατεύθυνση, και επομένως δεν υπάρχει ανάγκη να διασκορπιστεί η ενέργεια. Τελικά ο υπολογιστής θα επιστρέψει στην κατάσταση που βρισκόταν πριν ξεκινήσει ο υπολογισμός. Επομένως, είναι δυνατό να ολοκληρωθεί ο "κύκλος υπολογισμού" - να οδηγηθεί ο υπολογιστής προς τα εμπρός και στη συνέχεια να επιστρέψει στην αρχική του κατάσταση, χωρίς καμία απαγωγή ενέργειας.

Μέχρι στιγμής, μιλούσαμε για αφηρημένες λογικές πράξεις χωρίς να αγγίζουμε τις φυσικές συσκευές που εκτελούν αυτές τις λειτουργίες. Ωστόσο, δεν είναι δύσκολο να φανταστεί κανείς μια φυσική συσκευή που λειτουργεί σύμφωνα με την αρχή Fredkin. Σε μια τέτοια συσκευή, τα κανάλια για τη μετάδοση πληροφοριών παρουσιάζονται με τη μορφή σωλήνων. Με τη σειρά του, ένα κομμάτι πληροφοριών αντιπροσωπεύεται από την παρουσία ή την απουσία μιας μπάλας σε ένα συγκεκριμένο τμήμα του σωλήνα. Η παρουσία μιας μπάλας ερμηνεύεται ως 1 και η απουσία ερμηνεύεται ως 0.

Η γραμμή ελέγχου αντιπροσωπεύεται από ένα στενό τμήμα του σωλήνα, χωρισμένο στη μέση κατά τη διαμήκη κατεύθυνση. Όταν η σφαίρα εισέρχεται στο διαχωρισμένο τμήμα του σωλήνα, σπρώχνει τα πλευρικά τοιχώματα του σωλήνα μακριά, ενεργοποιώντας έτσι τη συσκευή μεταγωγής. Αυτή η συσκευή μεταγωγής καθοδηγεί τα σφαιρίδια εισόδου, τα οποία μπορεί να βρίσκονται σε δύο άλλους σωλήνες. Όταν υπάρχει μια σφαίρα στο σωλήνα ελέγχου, τότε οποιαδήποτε μπάλα περνάει από τη γραμμή εισόδου μεταφέρεται αυτόματα σε άλλο σωλήνα. Για να διασφαλιστεί ότι η συσκευή μεταγωγής είναι απενεργοποιημένη ελλείψει σφαίρας στον σωλήνα ελέγχου, τα διαχωρισμένα μισά του τελευταίου πιέζονται μεταξύ τους με ελατήρια. Όταν η σφαίρα εισέλθει στον σωλήνα ελέγχου και συμπιέζει τα ελατήρια, πρέπει να ξοδέψει λίγη ενέργεια για να το κάνει. Ωστόσο, αυτή η ενέργεια δεν χάνεται: επιστρέφεται όταν η σφαίρα ελέγχου φεύγει από τον διαχωρισμένο σωλήνα και τα ελατήρια απελευθερώνονται.

Όλες οι μπάλες είναι, σαν να λέγαμε, συνδεδεμένες μεταξύ τους και ωθούνται προς τα εμπρός από έναν μηχανισμό, έτσι ώστε να κινούνται συγχρονισμένα. Διαφορετικά, δεν θα μπορούσαμε να διασφαλίσουμε ότι οι διάφορες μπάλες εισόδου και ελέγχου θα φτάσουν στη λογική πύλη ταυτόχρονα. Κατά μία έννοια, η διαδικασία υπολογισμού είναι παρόμοια με την κίνηση με έναν βαθμό ελευθερίας, όπως η κίνηση δύο τροχών που κάθονται άκαμπτα στον ίδιο άξονα. Όταν ολοκληρωθεί ο υπολογισμός, σπρώχνουμε όλες τις μπάλες προς την αντίθετη κατεύθυνση, εξαλείφοντας όλες τις λειτουργίες που πραγματοποιήθηκαν στο δρόμο προς τα εμπρός και επιστρέφοντας τον υπολογιστή στην αρχική του κατάσταση.

Εάν η συσκευή είναι πλήρως βυθισμένη σε ένα ιδανικό παχύρρευστο ρευστό, τότε οι δυνάμεις τριβής που ασκούνται στις μπάλες θα είναι ανάλογες της ταχύτητάς τους, ενώ δεν θα υπάρχει στατική τριβή. Επομένως, εάν είμαστε ικανοποιημένοι με την αργή κίνηση των σφαιρών, η δύναμη τριβής θα είναι πολύ μικρή. Σε κάθε μηχανικό σύστημα, η εργασία για την υπέρβαση της δύναμης τριβής είναι ίση με το γινόμενο της δύναμης τριβής και την απόσταση που διανύει το σώμα. (Επομένως, όσο πιο γρήγορα ένας κολυμβητής κολυμπήσει μια συγκεκριμένη απόσταση, τόσο περισσότερη ενέργεια ξοδεύει, παρά το γεγονός ότι η απόσταση παραμένει ίδια ανεξάρτητα από την ταχύτητα του κολυμβητή.) Εάν οι μπάλες περάσουν από τις βαλβίδες Fredkin με χαμηλή ταχύτητα, τότε η Η εργασία που γίνεται κατά τη διάρκεια της κίνησης (το γινόμενο της απόστασης δύναμης) θα είναι πολύ μικρή, αφού η δύναμη τριβής είναι ευθέως ανάλογη με την ταχύτητα της μπάλας. Στην πραγματικότητα, μπορούμε να ξοδέψουμε αυθαίρετα λίγη ενέργεια, απλώς και μόνο λόγω της αντίστοιχης επιβράδυνσης στη διαδικασία υπολογισμού. Έτσι, καταλήγουμε στο συμπέρασμα ότι δεν υπάρχει ελάχιστη απαιτούμενη ποσότητα ενέργειας που πρέπει να δαπανηθεί για να γίνει κάποιος δεδομένος υπολογισμός.

Ένα εξιδανικευμένο φυσικό μοντέλο μιας βαλβίδας Fredkin: οι σωλήνες παίζουν το ρόλο των αγωγών και η παρουσία ή η απουσία μιας σφαίρας ερμηνεύεται ως 1 ή 0. Το στενό διαχωρισμένο τμήμα του σωλήνα είναι το κανάλι ελέγχου. Όταν μια μπάλα τη χτυπήσει, τα τοιχώματα του σωλήνα αποκλίνουν στα πλάγια, ενεργοποιώντας τον μηχανισμό μεταγωγής. Ο τελευταίος, με τη σειρά του, μεταφέρει κάθε μπάλα που φτάνει από τη γραμμή Α στη γραμμή Β και αντίστροφα. Δύο ελατήρια κρατούν το κανάλι ελέγχου εκτός λειτουργίας όταν δεν υπάρχει μπάλα μέσα σε αυτό. Μια τέτοια βαλβίδα δεν απαιτεί στατική τριβή για την εκτέλεση εργασιών. Μπορεί να βυθιστεί σε ένα παχύρρευστο υγρό και στη συνέχεια οι δυνάμεις τριβής θα εξαρτηθούν μόνο από την ταχύτητα των σφαιρών. Σε αυτή την περίπτωση, η ενέργεια που διαχέεται μπορεί να είναι αυθαίρετα μικρή: για να μειωθεί η ποσότητα ενέργειας που διαχέεται, είναι απαραίτητο μόνο να μειωθεί η ταχύτητα των σφαιρών που περνούν μέσα από τη βαλβίδα.

Στο εξεταζόμενο μοντέλο μιας υπολογιστικής συσκευής, η ενέργεια που χάνεται από την τριβή θα είναι πολύ μικρή εάν αυτή η συσκευή λειτουργεί αρκετά αργά. Είναι δυνατόν να κατασκευαστεί ένα μοντέλο μιας ακόμα πιο εξιδανικευμένης μηχανής που θα μπορούσε να υπολογίζει χωρίς καμία τριβή; Ή είναι η τριβή απαραίτητο χαρακτηριστικό της υπολογιστικής διαδικασίας; Ο Fredkin, μαζί με τον T. Toffoli και άλλους ειδικούς από το MIT, έδειξαν ότι η τριβή δεν είναι απαραίτητη.

Το απέδειξαν σε ένα μοντέλο μιας υπολογιστικής συσκευής στην οποία οι υπολογισμοί πραγματοποιούνται πυροβολώντας ιδανικές μπάλες μπιλιάρδου η μία προς την άλλη απουσία δυνάμεων τριβής. Στο μοντέλο του μπιλιάρδου, που αντανακλούν ιδανικά τους «καθρέφτες» - επιφάνειες που αλλάζουν την κατεύθυνση της κίνησης της μπάλας, βρίσκονται με τέτοιο τρόπο ώστε η κίνηση των μπάλων στο τραπέζι να προσομοιώνει τη διέλευση κομματιών πληροφοριών μέσω λογικών πυλών (βλ. σχήμα). Όπως και πριν, η παρουσία μιας μπάλας σε ένα συγκεκριμένο μέρος του «υπολογιστή» ερμηνεύεται ως 1 και η απουσία ερμηνεύεται ως 0. Εάν δύο μπάλες φτάσουν στη λογική πύλη ταυτόχρονα, τότε συγκρούονται και οι τροχιές τους αλλάζουν. τα νέα μονοπάτια αντιπροσωπεύουν την έξοδο της πύλης. Οι Fredkin, Toffoli και άλλοι ανέπτυξαν διατάξεις καθρέφτη που αντιστοιχούν σε διαφορετικούς τύπους λογικών πυλών και απέδειξαν ότι είναι δυνατό να κατασκευαστεί ένα μοντέλο μπιλιάρδου οποιουδήποτε στοιχείο λογικήςαπαιτείται για τους υπολογισμούς.

Μοντέλο υπολογιστή μπιλιάρδου: Η κίνηση των μπάλων του μπιλιάρδου στην επιφάνεια του τραπεζιού προσομοιώνει τη διέλευση κομματιών πληροφοριών μέσω μιας λογικής πύλης. Στις λογικές πύλες του μπιλιάρδου (αριστερά), οι τροχιές των μπάλων αλλάζουν όταν συγκρούονται μεταξύ τους ή με «καθρέφτες». Εκτός από τις λειτουργίες τους στις βαλβίδες, οι καθρέφτες μπορούν να αλλάξουν τη γωνία της τροχιάς της μπάλας (α), να τη μετατοπίσουν στο πλάι (β), να καθυστερήσουν την μπάλα χωρίς να αλλάξουν την τελική της κατεύθυνση ή ταχύτητα (c) ή να προκαλέσουν τη διασταύρωση των τροχιών (ρε). Οι καθρέφτες μπορούν να τοποθετηθούν με τέτοιο τρόπο ώστε ο "υπολογιστής" που προκύπτει να εκτελεί τις λειτουργίες οποιασδήποτε λογικής συσκευής. Για παράδειγμα, μπορείτε να δημιουργήσετε έναν υπολογιστή μπιλιάρδου για να αναγνωρίζει τους πρώτους αριθμούς. Ένας τέτοιος υπολογιστής (στα δεξιά) δέχεται ένα αυθαίρετο πενταψήφιο δυάδικος αριθμός(στην περίπτωση αυτή 01101 ή 13) και μια σταθερή ακολουθία εισόδου 01. Όπως η πύλη Fredkin, ο υπολογιστής του μπιλιάρδου επιστρέφει περισσότερα bit εξόδου από όσα χρειάζεται ο χρήστης. Σε αυτήν την περίπτωση, επιστρέφει τον ίδιο τον αρχικό αριθμό (που αντιπροσωπεύει την έξοδο "επιπλέον") και την "απάντηση": την ακολουθία 10 εάν η είσοδος είναι πρώτη και 01 εάν είναι σύνθετη.

Για να ξεκινήσουμε τη διαδικασία υπολογισμού, πυροβολούμε μια μπάλα μπιλιάρδου στην είσοδο του υπολογιστή, αν χρειαστεί να εισαγάγουμε μια μονάδα. Οι μπάλες πρέπει να μπουν στο μηχάνημα ταυτόχρονα. Δεδομένου ότι οι μπάλες είναι απόλυτα ελαστικές, δεν χάνουν ενέργεια όταν συγκρούονται μεταξύ τους. Θα βγουν από το αυτοκίνητο με την ίδια ποσότητα κινητικής ενέργειας που μπήκαν σε αυτό.

Κατά τη διαδικασία λειτουργίας, ο υπολογιστής του μπιλιάρδου παράγει «άχρηστα κομμάτια», ακριβώς όπως ένας υπολογιστής χτισμένος στις πύλες Fredkin. Αφού ο υπολογιστής ολοκληρώσει την εκτέλεση της εργασίας, αντικατοπτρίζουμε τις μπάλες του μπιλιάρδου προς την αντίθετη κατεύθυνση, αντιστρέφοντας τη διαδικασία υπολογισμού. Οι μπάλες θα βγουν από το αυτοκίνητο ακριβώς εκεί που τις στείλαμε στο αυτοκίνητο και ταυτόχρονα θα κινούνται με την ίδια ταχύτητα. Έτσι, ο μηχανισμός που εκτόξευσε τις μπάλες στο αυτοκίνητο μπορεί τώρα να πάρει πίσω την κινητική τους ενέργεια. Και σε αυτή την περίπτωση, πραγματοποιώντας έναν υπολογισμό, μπορούμε να επαναφέρουμε τον υπολογιστή στην αρχική του κατάσταση χωρίς να διαχέουμε ενέργεια.

Ο υπολογιστής μπιλιάρδου έχει ένα σημαντικό μειονέκτημα: είναι εξαιρετικά ευαίσθητος στις παραμικρές ανακρίβειες. Εάν η μπάλα σταλεί με μια μικρή απόκλιση από τη σωστή κατεύθυνση ή ο καθρέφτης γυρίσει σε γωνία ελαφρώς διαφορετική από την υπολογιζόμενη, οι μπάλες θα φύγουν από τις επιθυμητές τροχιές. Μία ή περισσότερες μπάλες θα αποκλίνουν από την υπολογισμένη διαδρομή και μετά από κάποιο χρονικό διάστημα η συνδυασμένη επίδραση αυτών των σφαλμάτων θα διαταράξει ολόκληρη τη διαδικασία υπολογισμού. Ακόμα κι αν μπορούσαν να κατασκευαστούν απόλυτα ελαστικές σφαίρες χωρίς τριβή, η τυχαία θερμική κίνηση των μορίων που αποτελούν τις μπάλες θα μπορούσε να είναι αρκετή για να προκαλέσει σφάλματα μετά από μερικές δεκάδες συγκρούσεις.

Φυσικά, θα ήταν δυνατό να εγκατασταθεί διορθωτικός εξοπλισμός που θα επέστρεφε μια λανθασμένα κινούμενη μπάλα στην επιθυμητή τροχιά, αλλά σε αυτήν την περίπτωση, οι πληροφορίες σχετικά με τις προηγούμενες καταστάσεις της μπάλας θα πρέπει να καταστραφούν. Για παράδειγμα, θα ήταν απαραίτητο να καταστραφούν πληροφορίες σχετικά με το μέγεθος της απόκλισης του καθρέφτη από τη σωστή θέση. Ωστόσο, η απαλλαγή από πληροφορίες ακόμη και για να διορθωθεί ένα σφάλμα είναι δυνατή μόνο σε ένα σύστημα στο οποίο υπάρχουν δυνάμεις τριβής και είναι δυνατή η απώλεια ενέργειας. Επομένως, ο διορθωτικός εξοπλισμός πρέπει να διαχέει μια ορισμένη ποσότητα ενέργειας.

Πολλές από τις δυσκολίες που συναντώνται στη χρήση του μοντέλου του υπολογιστή του μπιλιάρδου θα μπορούσαν να αποφευχθούν ή τουλάχιστον να μειωθούν εάν χρησιμοποιούσαν υπομικροσκοπικά σωματίδια, όπως ηλεκτρόνια, αντί για μπάλες μπιλιάρδου. Όπως τόνισε ο W. Zurek από το Εθνικό Εργαστήριο του Λος Άλαμος, χάρη στους νόμους της κβαντομηχανικής που επιβάλλουν περιορισμούς στην κατάσταση των στοιχειωδών σωματιδίων, μπορεί να εξαλειφθεί η πιθανότητα μικρών αποκλίσεων στην κίνηση των σωματιδίων.

Αν και μέχρι στιγμής ο συλλογισμός μας βασιζόταν κυρίως στην κλασική δυναμική, αρκετοί ερευνητές έχουν προτείνει άλλα μοντέλα αντιστρεπτών υπολογιστών που βασίζονται στις αρχές της κβαντικής μηχανικής. Τέτοιες μηχανές, που προτάθηκαν για πρώτη φορά από τον P. Benioff από το Εθνικό Εργαστήριο στην Argonne (Γαλλία) και βελτιώθηκαν από άλλους, ιδιαίτερα τον R. Feynman από το Ινστιτούτο Τεχνολογίας της Καλιφόρνια, έχουν περιγραφεί μέχρι στιγμής μόνο με τους πιο γενικούς όρους. Στην ουσία, τα σωματίδια σε αυτά τα μοντέλα υπολογιστών πρέπει να είναι διατεταγμένα με τέτοιο τρόπο ώστε οι κανόνες της κβαντικής μηχανικής που διέπουν την αλληλεπίδρασή τους να είναι ακριβώς οι ίδιοι με τους κανόνες που προβλέπουν τις τιμές των σημάτων στις εξόδους των αναστρέψιμων λογικών πυλών. Ας υποθέσουμε, για παράδειγμα, ότι το σπιν ενός σωματιδίου μπορεί να έχει μόνο δύο πιθανές τιμές: κατεύθυνση προς τα πάνω (που αντιστοιχεί στο δυαδικό 1) και προς τα κάτω (που αντιστοιχεί στο δυαδικό 0). Η αλληλεπίδραση μεταξύ των τιμών των σπιν των σωματιδίων πρέπει να λαμβάνει χώρα με τέτοιο τρόπο ώστε η τιμή του σπιν ενός δεδομένου σωματιδίου να αλλάζει ανάλογα με το σπιν των σωματιδίων που βρίσκονται κοντά. Σε αυτή την περίπτωση, το σπιν του σωματιδίου θα αντιστοιχεί σε μία από τις εξόδους της λογικής πύλης.

Παραπάνω, μιλήσαμε κυρίως για επεξεργασία πληροφοριών. Όμως ο υπολογιστής δεν πρέπει μόνο να επεξεργάζεται δεδομένα, αλλά και να τα αποθηκεύει. Η αλληλεπίδραση μεταξύ αποθήκευσης και επεξεργασίας πληροφοριών περιγράφεται ίσως καλύτερα από μια συσκευή που ονομάζεται «μηχανή Turing» (μετά τον Alan M. Turing, ο οποίος πρότεινε για πρώτη φορά μια τέτοια μηχανή το 1936). Μια μηχανή Turing μπορεί να εκτελέσει οποιονδήποτε υπολογισμό που εκτελείται από έναν σύγχρονο υπολογιστή. Ο S. Benne (ένας από τους συγγραφείς αυτού του άρθρου) απέδειξε τη δυνατότητα κατασκευής μιας μηχανής Turing, δηλ. αυτός που δεν χάνει πληροφορίες και, επομένως, στη διαδικασία της εργασίας μπορεί να δαπανήσει οποιαδήποτε προκαθορισμένη μικρή ποσότητα ενέργειας.

Μια μηχανή Turing είναι ικανή να κάνει οποιονδήποτε υπολογισμό μπορεί να κάνει ένας υπολογιστής. Μια άπειρα μεγάλη ταινία χωρίζεται σε διακριτά τμήματα, το καθένα περιέχει ένα 0 ή 1. Μια "κεφαλή ανάγνωσης και εγγραφής", η οποία μπορεί να είναι σε οποιοδήποτε από τα πολλά εσωτερικές καταστάσεις(εδώ υπάρχουν μόνο δύο καταστάσεις: Α και Β), κινείται κατά μήκος της ταινίας. Κάθε κύκλος ξεκινά με το κεφάλι να διαβάζει ένα κομμάτι από ένα τμήμα ταινίας. Στη συνέχεια, σύμφωνα με ένα σταθερό σύνολο κανόνων μετάβασης, γράφει ένα κομμάτι δεδομένων στο τμήμα της ταινίας, αλλάζει την εσωτερική του κατάσταση και μετακινεί μια θέση αριστερά ή δεξιά. Επειδή η αυτό το μηχάνημαΟ Τούρινγκ έχει μόνο δύο εσωτερικές καταστάσεις, οι δυνατότητές του περιορίζονται σε ασήμαντους υπολογισμούς. Πιο πολύπλοκα μηχανήματα με μεγάλο αριθμό καταστάσεων είναι ικανά να προσομοιώσουν τη συμπεριφορά οποιουδήποτε υπολογιστή, συμπεριλαμβανομένων αυτών που είναι πολύ πιο πολύπλοκα από τον εαυτό τους. Αυτό είναι δυνατό λόγω του γεγονότος ότι αποθηκεύουν μια πλήρη αναπαράσταση της λογικής κατάστασης μιας μεγαλύτερης μηχανής σε μια άπειρη ταινία και σπάνε κάθε υπολογιστικό κύκλο σε μεγάλο αριθμό απλά βήματα. Το μηχάνημα που εμφανίζεται εδώ είναι λογικά αναστρέψιμο: μπορούμε πάντα να προσδιορίσουμε τις προηγούμενες καταστάσεις του μηχανήματος. Οι μηχανές Turing με διαφορετικούς κανόνες μετάβασης μπορεί να μην είναι λογικά αναστρέψιμες.

Μια μηχανή Turing αποτελείται από πολλά εξαρτήματα. Ένα από αυτά είναι μια ταινία χωρισμένη σε ξεχωριστά τμήματα ή τμήματα, καθένα από τα οποία περιέχει 0 ή 1, που είναι τα δεδομένα εισόδου. Η "κεφαλή ανάγνωσης και εγγραφής" κινείται κατά μήκος της ταινίας. Η κεφαλή μπορεί να εκτελέσει διάφορες λειτουργίες - να διαβάσει ένα bit δεδομένων από την ταινία, να γράψει ένα bit στην ταινία και να μετακινήσει ένα τμήμα προς τα αριστερά ή προς τα δεξιά. Προκειμένου ο επόμενος κύκλος να διατηρεί πληροφορίες σχετικά με το τι έγινε στον προηγούμενο, ο μηχανισμός κεφαλής έχει μια σειρά από τις λεγόμενες «καταστάσεις». Κάθε κατάσταση αντιπροσωπεύει τη δική της, ελαφρώς διαφορετική διαμόρφωση των εσωτερικών τμημάτων της κεφαλής.

Σε κάθε κύκλο, η κεφαλή διαβάζει λίγο από το τμήμα της ταινίας απέναντι από το οποίο βρίσκεται αυτή τη στιγμήπου βρίσκεται. Στη συνέχεια, γράφει τη νέα τιμή bit στην ταινία, αλλάζει την εσωτερική της κατάσταση και μετακινεί ένα τμήμα προς τα αριστερά ή προς τα δεξιά. Η τιμή του bit που γράφει, η κατάσταση στην οποία μεταβαίνει και η κατεύθυνση προς την οποία κινείται καθορίζονται από ένα σταθερό σύνολο κανόνων μετάβασης. Κάθε κανόνας περιγράφει ορισμένες ενέργειες. Ο κανόνας που ακολουθεί το μηχάνημα αυτή τη στιγμή καθορίζεται από την κατάσταση της κεφαλής και την τιμή του bit που μόλις διαβάστηκε από την ταινία. Για παράδειγμα, ο κανόνας μπορεί να είναι: «Αν η κεφαλή βρίσκεται στην κατάσταση Α και βρίσκεται απέναντι από το τμήμα στο οποίο είναι γραμμένο το 0, τότε θα πρέπει να αλλάξει την τιμή αυτού του bit σε 1, να πάει στην κατάσταση Β και να μετακινήσει ένα τμήμα στο σωστά." Σύμφωνα με κάποιον άλλο κανόνα, το μηχάνημα δεν πρέπει να αλλάξει την κατάστασή του ή να γράψει ένα νέο κομμάτι στην κασέτα, διαφορετικά πρέπει να σταματήσει. Δεν είναι όλες οι μηχανές Turing αναστρέψιμες, αλλά είναι δυνατό να κατασκευαστεί μια αναστρέψιμη μηχανή Turing που να μπορεί να εκτελέσει οποιονδήποτε υπολογισμό.

Τα μοντέλα που βασίζονται σε μια αναστρέψιμη μηχανή Turing έχουν πλεονέκτημα έναντι μηχανημάτων όπως ο υπολογιστής μπιλιάρδου, που δεν έχει τριβές. Σε έναν υπολογιστή μπιλιάρδου, η τυχαία θερμική κίνηση των μορίων οδηγεί σε αναπόφευκτα σφάλματα. Οι αναστρέψιμες μηχανές Turing χρησιμοποιούν στην πραγματικότητα τυχαία θερμική κίνηση: είναι σχεδιασμένες με τέτοιο τρόπο ώστε η θερμική κίνηση, υποβοηθούμενη από μια ασθενή κινητήρια δύναμη, να μεταφέρει τη μηχανή από τη μια κατάσταση στην άλλη. Η ανάπτυξη της υπολογιστικής διαδικασίας μοιάζει με την κίνηση ενός ιόντος (φορτισμένου σωματιδίου) σε διάλυμα σε ασθενές ηλεκτρικό πεδίο. Εάν παρατηρήσετε τη συμπεριφορά ενός ιόντος για μικρό χρονικό διάστημα, θα φαίνεται τυχαία: η πιθανότητα κίνησης προς τη μία κατεύθυνση είναι σχεδόν ίδια με την άλλη. Ωστόσο, η κινητήρια δύναμη που οφείλεται στη δράση του ηλεκτρικού πεδίου δίνει στην κίνηση μια προτιμώμενη κατεύθυνση. Η πιθανότητα το ιόν να κινηθεί προς αυτή την κατεύθυνση είναι κάπως μεγαλύτερη. Με την πρώτη ματιά, μπορεί να φαίνεται απίστευτο ότι η σκόπιμη ακολουθία πράξεων που είναι εγγενής στη διαδικασία υπολογισμού μπορεί να πραγματοποιηθεί από μια συσκευή της οποίας η κατεύθυνση κίνησης οποιαδήποτε στιγμή μπορεί να θεωρηθεί σχεδόν τυχαία. Ωστόσο, αυτός ο τύπος δράσης είναι πολύ κοινός στη φύση. Ειδικότερα, μπορεί να παρατηρηθεί στον μικροσκοπικό κόσμο των χημικών αντιδράσεων. Μέσω δοκιμής και λάθους, η κίνηση Brown, ή η τυχαία θερμική κίνηση, είναι αρκετά αποτελεσματική ώστε τα αντιδρώντα μόρια να έρθουν σε επαφή, να τακτοποιηθούν σωστά μεταξύ τους, όπως απαιτείται από αυτή την αντίδραση, και να σχηματίσουν νέα μόρια, τα οποία είναι προϊόντα αντίδρασης. Κατ 'αρχήν, όλες οι χημικές αντιδράσεις είναι αναστρέψιμες: η ίδια κίνηση Brown που κάνει μια αντίδραση να προχωρήσει προς την κατεύθυνση προς τα εμπρός μερικές φορές προκαλεί τα προϊόντα της αντίδρασης να περάσουν από μια αντίστροφη μετάβαση. Σε κατάσταση ισορροπίας, η αντίστροφη κατεύθυνση της αντίδρασης είναι εξίσου πιθανή με την άμεση. Για να κάνετε μια αντίδραση να πάει προς την κατεύθυνση προς τα εμπρός, πρέπει να προσθέτετε συνεχώς μόρια που εισέρχονται στην αντίδραση και να αφαιρείτε μόρια που είναι προϊόντα της αντίδρασης. Πρέπει δηλαδή να εφαρμόσουμε μια μικρή κινητήρια δύναμη. Όταν αυτή η δύναμη είναι πολύ μικρή, η αντίδραση θα πάει και προς τα εμπρός και προς τα πίσω, αλλά κατά μέσο όρο θα πάει προς την κατεύθυνση προς τα εμπρός. Για να παρέχουμε κινητήρια δύναμη, πρέπει να δαπανήσουμε ενέργεια, ωστόσο, όπως στο μοντέλο βαλβίδων Fredkin των σωλήνων και των σφαιρών, η ποσότητα ενέργειας μπορεί να είναι αυθαίρετα μικρή. Εάν είμαστε ικανοποιημένοι με την πολύ αργή εκτέλεση των λειτουργιών, τότε δεν υπάρχει η ελάχιστη απαιτούμενη ποσότητα ενέργειας που πρέπει να δαπανηθεί σε αυτές τις λειτουργίες. Η εξήγηση είναι ότι η συνολική ποσότητα ενέργειας που καταναλώνεται εξαρτάται από τον αριθμό των βημάτων στην προς τα εμπρός κατεύθυνση διαιρεμένη με τον αριθμό των βημάτων στην αντίστροφη κατεύθυνση. (Στην πραγματικότητα, είναι ανάλογο με τον λογάριθμο αυτής της αναλογίας· όταν η ίδια η αναλογία αυξάνεται ή μειώνεται, ο λογάριθμός της αλλάζει προς την ίδια κατεύθυνση.) Όσο πιο αργή η αντίδραση πηγαίνει προς την κατεύθυνση προς τα εμπρός, τόσο μικρότερη θα είναι η αναλογία. (Η αναλογία με τους γρήγορους και αργούς κολυμβητές είναι και πάλι σχετική εδώ: εάν η αντίδραση προχωρήσει πιο αργά, η συνολική ποσότητα ενέργειας που δαπανάται θα είναι μικρότερη, παρά το γεγονός ότι ο αριθμός των ενδιάμεσων φθορών και συνδέσεων παραμένει ο ίδιος.)

Η RNA πολυμεράση είναι ένα ένζυμο που δρα ως αναστρέψιμη μηχανή αντιγραφής ταινίας. Είναι καταλύτης για τη σύνθεση του RNA, το οποίο είναι αντίγραφο του DNA. Προχωρώντας κατά μήκος της αλυσίδας του DNA, το ένζυμο επιλέγει από το περιβάλλον διάλυμα ένα μόριο τριφωσφορικού νουκλεοζίτη (κάθε τριφωσφορικός νουκλεοζίτης αποτελείται από μια βάση RNA, ένα μόριο σακχάρου και τρεις φωσφορικές ομάδες), η βάση του οποίου είναι συμπληρωματική με τη βάση του DNA που είναι σήμερα να αντιγραφεί. Συνδέει μια νέα βάση στο άκρο της υπό κατασκευή αλυσίδας RNA και απελευθερώνει το πυροφωσφορικό ιόν. Η αντίδραση είναι αναστρέψιμη: μερικές φορές το ένζυμο συνδέει το πυροφωσφορικό στον τελευταίο σύνδεσμο RNA (το προκύπτον τριφωσφορικό νουκλεοσίδιο επιστρέφει στο διάλυμα) και μετακινείται προς τα πίσω κατά μία θέση κατά μήκος της αλυσίδας του DNA. Όταν η αντίδραση είναι κοντά στη χημική ισορροπία, το ένζυμο κάνει σχεδόν τόσα βήματα προς τα πίσω όσα κάνει προς τα εμπρός και η συνολική ενέργεια που απαιτείται για την αντιγραφή ενός τμήματος του DNA είναι πολύ μικρή. Όσο μικρότερη είναι η διασπορά ενέργειας, τόσο πιο αργά προχωρά η αντίδραση. Επομένως, δεν απαιτείται ελάχιστη ενέργεια για την αντιγραφή ενός τμήματος DNA.

ΑΣ ΔΟΥΜΕ πώς λειτουργεί μια μηχανή Brownian Turing χρησιμοποιώντας το παράδειγμα μιας μηχανής Brownian για την αντιγραφή μιας ταινίας. Ένα τέτοιο μηχάνημα υπάρχει ήδη στη φύση. Αυτή είναι η RNA πολυμεράση - ένα ένζυμο που εμπλέκεται στη σύνθεση του RNA, το οποίο είναι ένα αντίγραφο του DNA που συνθέτει τα γονίδια. Το μονόκλωνο DNA μοιάζει πολύ με την ταινία μιας μηχανής Turing. Σε κάθε στοιχείο του, δηλ. Σε κάθε θέση κατά μήκος της αλυσίδας, υπάρχει ένα από τα τέσσερα νουκλεοτίδια ή βάσεις: αδενίνη, γουανίνη, κυτοσίνη ή θυμίνη (A, G, C, T για συντομία). Η δομή του RNA είναι πολύ παρόμοια με το DNA. Είναι επίσης ένα μόριο μακράς αλυσίδας που αποτελείται από τέσσερις τύπους βάσεων - αδενίνη, γουανίνη, κυτοσίνη και ουρακίλη (αντίστοιχα A, G, C και U). Οι βάσεις RNA είναι σε θέση να συνδέονται με τις συμπληρωματικές βάσεις DNA τους.

Η RNA πολυμεράση καταλύει το σχηματισμό του συμπληρωματικού αντιγράφου της, RNA, στο DNA. Συνήθως, ένας διπλός κλώνος DNA στριμμένος σε έλικα περιβάλλεται από ένα διάλυμα που περιέχει μεγάλο αριθμό μορίων τριφωσφορικού ριβονουκλεοζίτη, καθένα από τα οποία αποτελείται από ένα ριβονουκλεοτίδιο (βάση RNA), ένα σάκχαρο και μια ουρά τριών φωσφορικών ομάδων συνδεδεμένων σειρά. Η RNA πολυμεράση επιλέγει από το διάλυμα μία από τις βάσεις RNA που είναι συμπληρωματική της βάσης που πρόκειται να αντιγραφεί επί του παρόντος από τον κλώνο DNA και την προσαρτά στο άκρο του αναπτυσσόμενου κλώνου RNA, απελευθερώνοντας δύο φωσφορικά άλατα στο περιβάλλον διάλυμα με τη μορφή ενός πυροφωσφορικού ιόντος. Το ένζυμο στη συνέχεια κινείται προς τα εμπρός κατά μία θέση κατά μήκος του κλώνου DNA, προετοιμάζοντας να προσθέσει την επόμενη βάση στον κλώνο RNA. Ως αποτέλεσμα, σχηματίζεται μια αλυσίδα RNA που είναι συμπληρωματική με το πρότυπο - την αλυσίδα DNA. Χωρίς RNA πολυμεράση, αυτές οι αντιδράσεις θα ήταν πολύ αργές και δεν θα υπήρχε καμία εγγύηση ότι το προκύπτον RNA είναι ακριβώς συμπληρωματικό του DNA.

Οι αντιδράσεις που περιγράφονται είναι αναστρέψιμες: μερικές φορές το ένζυμο προσαρτά ένα ελεύθερο πυροφωσφορικό ιόν στην τελευταία βάση της αναπτυσσόμενης αλυσίδας RNA και ένα μόριο τριφωσφορικού ριβονουκλεοζίτη απελευθερώνεται στο περιβάλλον και το ίδιο το ένζυμο επιστρέφει μια θέση πίσω κατά μήκος της αλυσίδας DNA. Σε κατάσταση ισορροπίας, τα βήματα προς τα εμπρός και προς τα πίσω συμβαίνουν με την ίδια συχνότητα, αλλά σε ένα ζωντανό κύτταρο, άλλες μεταβολικές διεργασίες μετατοπίζουν την ισορροπία προς μια προς τα εμπρός αντίδραση λόγω της απομάκρυνσης του πυροφωσφορικού και της δημιουργίας περίσσειας τριφωσφορικών ριβονουκλεοσιδίων. Υπό εργαστηριακές συνθήκες, είναι δυνατός ο έλεγχος του ρυθμού της αντίδρασης RNA πολυμεράσης μεταβάλλοντας τη συγκέντρωση των αρχικών αντιδραστηρίων (αυτό αποδείχθηκε από τους J. Levin και M. Chamberlain από το Πανεπιστήμιο της Καλιφόρνια στο Berkeley). Καθώς οι συγκεντρώσεις πλησιάζουν στην ισορροπία, το ένζυμο λειτουργεί πιο αργά και λιγότερη ενέργεια διαχέεται κατά την αντιγραφή ενός δεδομένου κομματιού DNA καθώς η αναλογία των βημάτων προς τα εμπρός προς τα πίσω γίνεται μικρότερη.

Η RNA πολυμεράση απλώς αντιγράφει πληροφορίες χωρίς να τις επεξεργάζεται, δεν είναι δύσκολο να φανταστεί κανείς πώς θα μπορούσε να λειτουργήσει μια υποθετική χημική μηχανή Turing. Η κορδέλα είναι ένα μακρύ σκελετικό μόριο στο οποίο συνδέονται δύο τύποι βάσεων σε τακτά χρονικά διαστήματα, που ερμηνεύονται ως δυαδικά ψηφία 0 και 1. Ένα άλλο μικρό μόριο είναι προσαρτημένο σε μία από τις θέσεις στην αλυσίδα των μηδενικών και των μονάδων. Η θέση στην οποία είναι συνδεδεμένο αυτό το μόριο δεν είναι παρά το τμήμα της ταινίας στο οποίο βρίσκεται η κεφαλή της μηχανής Turing. Υπάρχουν αρκετοί διαφορετικοί τύποι «μορίου κεφαλής». Κάθε τύπος αντιπροσωπεύει μία από τις πιθανές εσωτερικές καταστάσεις του μηχανήματος.

Οι κανόνες μετάβασης της μηχανής αντιπροσωπεύονται από ένζυμα. Κάθε ένζυμο είναι καταλύτης για μια συγκεκριμένη αντίδραση. Για να κατανοήσετε καλύτερα πώς λειτουργούν αυτά τα ένζυμα, εξετάστε ένα παράδειγμα.

Ας υποθέσουμε ότι το κεφαλικό μόριο είναι του τύπου ΑΛΛΑ (που σημαίνει ότι το μηχάνημα είναι σε κατάσταση ΑΛΛΑ ) και προσαρτάται στη μηδενική βάση. Ας υποθέσουμε επίσης ότι ισχύει ο ακόλουθος κανόνας μετάβασης: «Όταν ο επικεφαλής βρίσκεται στο κράτος ΑΛΛΑ και διαβάζει 0, αντικαθιστά το 0 με 1, πηγαίνει στην κατάσταση ΣΤΟ και μετακινηθείτε προς τα δεξιά. Το μόριο ενζύμου που αντιπροσωπεύει αυτόν τον κανόνα έχει μια θέση κατάλληλη για προσκόλληση ενός κεφαλικού μορίου του τύπου ΑΛΛΑ συνδεδεμένο με τη βάση 1. Διαθέτει επίσης θέση κατάλληλη για τοποθέτηση της βάσης 0 και θέση κατάλληλη για τύπο κεφαλής ΣΤΟ (βλέπε εικόνα).

Για να γίνει η απαιτούμενη μετάβαση, το μόριο του ενζύμου προσεγγίζει πρώτα τη θέση στην ταινία αμέσως δεξιά από τη βάση στην οποία είναι προσαρτημένη αυτή τη στιγμή η κεφαλή τύπου. ΑΛΛΑ . Στη συνέχεια διαχωρίζει τόσο το μόριο της κεφαλής όσο και τη βάση 0 στην οποία είναι συνδεδεμένη η κεφαλή από την ταινία και βάζει τη βάση 1 στη θέση τους. Στη συνέχεια προσαρτά μια κεφαλή όπως ΣΤΟ στη βάση στα δεξιά της μονής βάσης που μόλις προσαρτήθηκε στην ταινία. Αυτό ολοκληρώνει τη μετάβαση. Στο αρχικό τμήμα ταινίας, το 0 έχει αντικατασταθεί από το 1, το μόριο κεφαλής είναι τώρα του τύπου ΣΤΟ και προσαρτάται στη βάση, που βρίσκεται μία θέση στα δεξιά του πρωτοτύπου.

Μια υποθετική μηχανή ενζύμων Turing μπορεί να εκτελέσει έναν υπολογισμό με αυθαίρετα μικρή ποσότητα ενέργειας. Τα μόρια που αντιπροσωπεύουν τα bits 0 και 1 συνδέονται με το μόριο ραχοκοκαλιάς. Το μόριο που αντιπροσωπεύει την κεφαλή της μηχανής Turing είναι προσαρτημένο σε μία από τις θέσεις της αλυσίδας (7). ΔΙΑΦΟΡΕΤΙΚΟΙ ΤΥΠΟΙΤα μόρια της κεφαλής αντιπροσωπεύουν διαφορετικές καταστάσεις της μηχανής. Οι κανόνες μετάβασης αντιπροσωπεύονται από ένζυμα. Σε κάθε κύκλο, το ένζυμο συνδέεται με την κεφαλή και το μόριο bit που σχετίζεται με την κεφαλή (2), τα διαχωρίζει από την αλυσίδα και βάζει το επιθυμητό μόριο bit στη θέση τους (3). Με αυτόν τον τρόπο, περιστρέφεται, συνδέοντας το κατάλληλο μόριο κεφαλής στο επόμενο κομμάτι δεξιά ή αριστερά από αυτό που μόλις άλλαξε. Ο βρόχος έχει πλέον ολοκληρωθεί (4): η τιμή του bit έχει αλλάξει, η κεφαλή έχει αλλάξει κατάσταση και μετακινείται. Αντιδράσεις όπως η σύνθεση RNA μπορεί να διαλύσουν μια αυθαίρετα μικρή ποσότητα ενέργειας.

Η μηχανή Brownian του Turing είναι ένας μηχανισμός ρολογιού που αποτελείται από άκαμπτα λεία μέρη που δεν εφαρμόζουν σφιχτά μεταξύ τους και στηρίζονται στην επιθυμητή θέση όχι από τριβή, αλλά από ένα σύστημα αυλακώσεων και δοντιών. Παρά την ελεύθερη σύνδεση των εξαρτημάτων, μπορούν να κάνουν μόνο τέτοια μεγάλης κλίμακας κίνηση που αντιστοιχεί στο βήμα των υπολογισμών προς την εμπρός ή την αντίστροφη κατεύθυνση, με άλλα λόγια, μπορούν να ακολουθήσουν μόνο μία «μονοπάτι υπολογισμού». Ο μηχανισμός ωθείται ελαφρώς από μια πολύ ασθενή εξωτερική δύναμη, έτσι ώστε η πιθανότητα να κινηθεί προς τα εμπρός είναι σχεδόν ίδια με την κίνηση προς τα πίσω. Ωστόσο, κατά μέσο όρο το μηχάνημα θα προχωρήσει και ο υπολογισμός θα ολοκληρωθεί τελικά. Μια μηχανή μπορεί να κατασκευαστεί για να ξοδεύει αυθαίρετα μικρή ποσότητα ενέργειας με αντίστοιχη μείωση της κινητήριας δύναμης.

Τα τμήματα ταινίας αντιπροσωπεύονται από αυλακωτούς δίσκους και τα bit αντιπροσωπεύονται από μπλοκ σχήματος Ε που είναι προσαρτημένα στον δίσκο είτε στην επάνω (7) είτε στην κάτω (0) θέση. Η κεφαλή αποτελείται από άκαμπτα μέρη που συνδέονται με έναν περίπλοκο μηχανισμό (τα περισσότερα από τα οποία δεν φαίνονται εδώ). Ένα στοιχείο ανάγνωσης, ένας χειριστής και μια ράβδος σε σχήμα κατσαβίδι είναι αναρτημένα από αυτό. Το μηχάνημα ελέγχεται από έναν κύλινδρο με αυλακώσεις που εφαρμόζονται στην επιφάνειά του, παρόμοιο με έναν κύλινδρο για αναπαραγωγή δίσκων σε φωνογράφο (πάνω αριστερά, βαθιά δεξιά). Διαφορετικές αυλακώσεις αντιστοιχούν σε διαφορετικές καταστάσεις της κεφαλής.

Στην αρχή του κύκλου, η κεφαλή βρίσκεται πάνω από έναν από τους δίσκους και η "βελόνα" βρίσκεται στο τμήμα "ανάγνωσης" της αυλάκωσης του κυλίνδρου ελέγχου που αντιστοιχεί στην τρέχουσα κατάσταση της κεφαλής του μηχανήματος. Κατά τη φάση «ανάγνωσης» του βρόχου (7), ο αναγνώστης καθορίζει εάν το μπλοκ που αντιπροσωπεύει το bit περιστρέφεται προς τα πάνω ή προς τα κάτω εκτελώντας τη διαδικασία «ανάγνωση εμποδίων» (κεντρικά δεξιά). Το στοιχείο ανάγνωσης περνά κατά μήκος του μπλοκ κατά μήκος της άνω ή κάτω διαδρομής. Σε ένα από αυτά τα μονοπάτια, πρέπει να συναντήσει ένα εμπόδιο με τη μορφή προεξοχής στο τέλος του μπλοκ, επομένως μόνο ένα μονοπάτι παραμένει δυνατό. Στο σημείο του κυλίνδρου ελέγχου που αντιστοιχεί σε αυτή την «απόφαση», οι αυλακώσεις διακλαδίζονται και η βελόνα οδηγείται στην αυλάκωση που αντιστοιχεί στην τιμή του bit (2). Στη συνέχεια, ο κύλινδρος ελέγχου περιστρέφεται μέχρι η βελόνα να φτάσει στο τμήμα "εγγραφής" (3). Εδώ, κάθε αυλάκωση περιέχει το δικό της σύνολο «οδηγιών», οι οποίες μεταδίδονται στο μηχάνημα χρησιμοποιώντας μια περίπλοκη σύνδεση μεταξύ της βελόνας και του υπόλοιπου μηχανισμού.

Εάν η οδηγία απαιτεί αλλαγή της τιμής ενός bit, ο χειριστής ενεργοποιείται και γαντζώνεται στην ωτίδα του μπλοκ, τότε το κατσαβίδι γυρίζει το δίσκο μέχρι να απελευθερωθεί το μπλοκ, ο χειριστής γυρίζει το μπλοκ πάνω ή κάτω και το κατσαβίδι γυρίζει ξανά το δίσκο έτσι ώστε το μπλοκ να είναι στη θέση του. Αφού περάσει το τμήμα "εγγραφής" του κυλίνδρου ελέγχου, η βελόνα εισέρχεται στο τμήμα "shift" (4). Κάθε αυλάκωση σε αυτό το τμήμα περιέχει μια οδηγία για να μετακινήσετε την κεφαλή μία θέση αριστερά ή δεξιά. Στη συνέχεια, η βελόνα εισέρχεται σε ένα τμήμα "αλλαγής κατάστασης" (5) όπου οι αυλακώσεις συγχωνεύονται έτσι ώστε η βελόνα να εισέρχεται στην αυλάκωση που αντιπροσωπεύει την επόμενη κατάσταση της κεφαλής. Ο βρόχος έχει πλέον ολοκληρωθεί (6). Οι δίσκοι δίπλα σε αυτόν που διαβάζεται συγκρατούνται στη θέση τους από το κεφάλι. Οι δίσκοι πιο μακριά κλειδώνονται με μια ειδική "κλείδωμα". Το κλείδωμα κάθε δίσκου συνδέεται με ένα ειδικό bit, που ονομάζεται Q-bit, του διπλανού δίσκου. Η διάταξη αυτής της σύνδεσης είναι τέτοια ώστε ο δίσκος που διαβάζεται αυτή τη στιγμή να απελευθερώνεται και να μπορεί να μετακινηθεί, ενώ οι δίσκοι πιο μακριά από αυτόν, τόσο προς τα αριστερά όσο και προς τα δεξιά, διατηρούνται σε ακίνητη κατάσταση.

Για να λειτουργήσει η μηχανή Brownian Turing, η ταινία πρέπει να βυθιστεί σε διάλυμα που περιέχει πολλά μόρια ενζύμου, καθώς και επαρκή παροχή «μηδενικών», «μονάδων» και «κεφαλών» όπως ΑΛΛΑ και ΣΤΟ . Για να προχωρήσει η αντίδραση προς τα εμπρός, χρειάζεται κάποια άλλη αντίδραση, η οποία θα καθαρίσει τα μόρια του ενζύμου από τις κεφαλές και τις βάσεις που χωρίζονται από την ταινία. Οι συγκεντρώσεις των ουσιών που καθαρίζουν τα μόρια των ενζύμων είναι η κινητήρια δύναμη που κάνει τη μηχανή Turing να λειτουργεί προς τα εμπρός. Και πάλι, μπορούμε να δαπανήσουμε μια αυθαίρετα μικρή ποσότητα ενέργειας εάν το μηχάνημα εκτελεί λειτουργίες αρκετά αργά.

Μια μηχανή Turing που βασίζεται σε ένζυμα δεν θα είναι χωρίς σφάλματα. Από καιρό σε καιρό, μπορεί να συμβούν αντιδράσεις που συμβαίνουν χωρίς κατάλυση από ένζυμα. Για παράδειγμα, η βάση 0 μπορεί να διαχωριστεί αυθόρμητα από το σκελετικό μόριο και η βάση 1 μπορεί να πάρει τη θέση της. Στην πραγματικότητα, τέτοια σφάλματα συμβαίνουν κατά τη σύνθεση του RNA.

Κατ' αρχήν, θα μπορούσε κανείς να απαλλαγεί από αυτά τα σφάλματα κατασκευάζοντας μια μηχανή Brownian Turing με βάση έναν άκαμπτο, απολύτως ομαλό ρολόι. Μια τέτοια μηχανή Turing είναι λιγότερο εξιδανικευμένη από έναν υπολογιστή μπιλιάρδου, αλλά πιο εξιδανικευμένη από μια μηχανή ενζύμων. Αφενός, τα εξαρτήματά του δεν απαιτούν απολύτως ακριβή κατεργασία, όπως είναι απαραίτητο για τις μπάλες του μπιλιάρδου, τα ρολόγια εξαρτήματα μπορεί να έχουν κάποιες ανοχές και το μηχάνημα μπορεί να λειτουργήσει ακόμη και με την παρουσία σημαντικού θερμικού θορύβου. Και όμως το μηχάνημα πρέπει να είναι απολύτως άκαμπτο και απαλλαγμένο από στατικές τριβές, και κανένα μακροσκοπικό σώμα δεν διαθέτει αυτές τις ιδιότητες.

Δεδομένου ότι τα μέρη του μηχανήματος δεν εφαρμόζουν σφιχτά μεταξύ τους, συγκρατούνται στη θέση τους όχι με τριβή, αλλά από ένα σύστημα αυλακώσεων - αυλακώσεων και δοντιών (βλ. εικόνα). Αν και κάθε μέρος του μηχανήματος έχει ένα μικρό ελεύθερο παιχνίδι, όπως τα κομμάτια ενός ξύλινου παζλ, γενικά, ο μηχανισμός μπορεί να ακολουθήσει μόνο μία «υπολογιστική διαδρομή». Με άλλα λόγια, τα μέρη είναι αλληλένδετα μεταξύ τους με τέτοιο τρόπο ώστε ανά πάσα στιγμή το μηχάνημα μπορεί να εκτελέσει μόνο δύο τύπους κίνησης μεγάλης κλίμακας: την κίνηση που αντιστοιχεί στο βήμα υπολογισμού προς την κατεύθυνση προς τα εμπρός και την κίνηση στην αντίθετη κατεύθυνση.

Ο υπολογιστής κάνει μεταβάσεις μεταξύ αυτών των δύο τύπων κίνησης μόνο ως αποτέλεσμα της τυχαίας θερμικής κίνησης των μερών του, λόγω της επίδρασης μιας ασθενής εξωτερικής δύναμης. Η πιθανότητα να κινηθεί κανείς προς την αντίθετη κατεύθυνση, εξαλείφοντας τα αποτελέσματα της τελευταίας πράξης, είναι σχεδόν ίδια με την πιθανότητα να κινηθεί προς την κατεύθυνση προς τα εμπρός. Μια μικρή δύναμη που εφαρμόζεται από το εξωτερικό σπρώχνει τους υπολογισμούς προς τα εμπρός. Και πάλι αυτή η δύναμη μπορεί να γίνει αυθαίρετα μικρή. και ως εκ τούτου δεν υπάρχει ελάχιστη ενέργεια που απαιτείται για να διατηρήσει μια μηχανή Turing σε λειτουργία ρολόι.

Έτσι, για λόγους κλασικής θερμοδυναμικής, δεν υπάρχει απαραίτητη ελάχιστη ενέργεια για τους υπολογισμούς. Τότε η θερμοδυναμική ανάλυση δεν έρχεται σε σύγκρουση με την κβαντομηχανική; Εξάλλου, σύμφωνα με την αρχή της κβαντομηχανικής αβεβαιότητας, θα πρέπει να υπάρχει μια αντίστροφη σχέση μεταξύ του βαθμού αβεβαιότητας σχετικά με το πόσο διαρκεί η διαδικασία και του βαθμού αβεβαιότητας σχετικά με την ποσότητα ενέργειας που δαπανάται σε αυτή τη διαδικασία. Ορισμένοι ερευνητές πιστεύουν επομένως ότι σε οποιαδήποτε διαδικασία μεταγωγής που λαμβάνει χώρα σε πολύ σύντομο χρονικό διάστημα, πρέπει να δαπανηθεί κάποια ελάχιστη ενέργεια.

Στην πραγματικότητα, η αρχή της αβεβαιότητας δεν απαιτεί καμία πεπερασμένη ελάχιστη ενέργεια για ένα γεγονός ταχείας μεταγωγής. Η αρχή της αβεβαιότητας θα ίσχυε μόνο εάν προσπαθούσαμε να μετρήσουμε την ακριβή χρονική στιγμή που συνέβη ένα γεγονός. Ακόμη και σύμφωνα με τους νόμους της κβαντικής μηχανικής, εξαιρετικά γρήγορα γεγονότα μπορούν να συμβούν χωρίς καμία απώλεια ενέργειας. Η πεποίθησή μας ότι η κβαντομηχανική καθιστά δυνατή τη διεξαγωγή υπολογισμών με αυθαίρετα μικρή δαπάνη ενέργειας επιβεβαιώνεται από τα μοντέλα αντιστρεπτών κβαντομηχανικών υπολογιστών που αναπτύχθηκαν από τους Benioff et al. Αυτά τα μοντέλα δεν διαχέουν ενέργεια και υπακούουν στους νόμους της κβαντικής μηχανικής.

Έτσι, η αρχή της αβεβαιότητας δεν φαίνεται να επιβάλλει θεμελιώδεις περιορισμούς στη διαδικασία υπολογισμού. Ούτε η κλασική θερμοδυναμική τα επιβάλλει. Σημαίνει αυτό ότι η πληροφορική δεν έχει καθόλου φυσικά όρια; Όχι, αυτό απέχει πολύ από την αλήθεια. Οι πραγματικοί περιορισμοί σχετίζονται με ερωτήσεις που είναι πολύ πιο δύσκολο να απαντηθούν από αυτές που θέσαμε και εξετάσαμε σε αυτό το άρθρο. Για παράδειγμα, κάντε στοιχειώδη λογικές πράξειςκάποια ελάχιστη ώρα λήξης; Ποιες είναι οι ελάχιστες διαστάσεις μιας συσκευής ικανής να εκτελεί τέτοιες λειτουργίες; Δεδομένου ότι οι κλίμακες του μεγέθους και του χρόνου σχετίζονται με την πεπερασμένη ταχύτητα του φωτός, φαίνεται ότι οι απαντήσεις σε αυτά τα ερωτήματα είναι κατά κάποιο τρόπο αλληλένδετες. Ωστόσο, δεν θα μπορέσουμε να βρούμε αυτές τις απαντήσεις, σε καμία περίπτωση, έως ότου δεν επιλυθεί το ερώτημα εάν υπάρχει κάποια στοιχειώδης διακριτικότητα στην καθολική κλίμακα μήκους και χρόνου.

Στο άλλο άκρο του προβλήματος είναι το ερώτημα πόσο μεγάλη μπορούμε να κάνουμε τη μνήμη του υπολογιστή. Πόσα σωματίδια στο σύμπαν μπορούμε να συλλέξουμε και να συνδυάσουμε για αυτούς τους σκοπούς; Το γεγονός είναι ότι το μέγιστο δυνατό μέγεθος της μνήμης του υπολογιστή επιβάλλει ένα όριο στην ακρίβεια με την οποία μπορούν να πραγματοποιηθούν οι υπολογισμοί. Για παράδειγμα, ο αριθμός των δεκαδικών ψηφίων στην υπολογιζόμενη τιμή του p θα είναι περιορισμένος. Ένα άλλο ερώτημα, που πιθανώς σχετίζεται με το τελευταίο, αφορά τις αναπόφευκτες διαδικασίες υποβάθμισης που λαμβάνουν χώρα σε πραγματικούς υπολογιστές καθώς γερνούν. Είναι δυνατόν να μειωθεί ο ρυθμός καταστροφής και συσσώρευσης σφαλμάτων σε αυθαίρετα μικρές τιμές ή μήπως αυτός ο ρυθμός επιβάλλει περιορισμό στη μέγιστη διάρκεια του υπολογισμού; Με άλλα λόγια, υπάρχουν υπολογιστικές εργασίες που δεν μπορούν να ολοκληρωθούν πριν το υλικό μέρος του υπολογιστή καταστεί άχρηστο;

Στην πραγματικότητα, ερωτήσεις όπως αυτές αφορούν περιορισμούς στη φυσική εκτέλεση. μαθηματικές πράξεις. Οι φυσικοί νόμοι στους οποίους πρέπει τελικά να βασιστούν οι απαντήσεις εκφράζονται οι ίδιοι μέσω τέτοιων μαθηματικών πράξεων. Έτσι, αναρωτιόμαστε με ποια μορφή μπορούν να εφαρμοστούν οι φυσικοί νόμοι υπό τους περιορισμούς που επιβάλλονται από τις ιδιότητες του σύμπαντος, οι οποίοι, με τη σειρά τους, περιγράφονται από αυτούς τους νόμους.