Ιντερλούδιο: Το Θαύμα Έγινε...

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

Το παρακάτω μηχάνημα, ένα Hewlett Packard 2116Β του 1968, εντοπίστηκε επι Ελληνικού εδάφους!

 Η κεντρική μονάδα του HP 2116B και το...user interface. Απ' οτι μαθαίνουμε απο τα manual του μηχανήματος, οι 16 διακόπτες που διακρίνονται στο κάτω μέρος αντιστοιχούν (κατ' ευθείαν) στον καταχωρητή S (απο το Switch) ενώ με δύο άλλα....κομβία (!) η τιμή που καθορίζουν μπορεί να φορτωθεί και στους δύο καταχωρητές / αθροιστές Α και Β.

Λεπτομέρεια του...πληκτρολογίου!

 Λεπτομέρεια της....οθόνης!
Οι τιμές των σχετικών καταχωρητών απεικονίζονται στο δυαδικό (...The Matrix - Reloaded!)
Memory Data (T) απο το Memory Address(M), Programm Counter (P) και φυσικά οι Α και Β.

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

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

Οι φωτογραφίες δεν είναι και οι καλύτερες λόγω...στενότητας χώρου όπως αναφέρει στο μήνυμα του ο αποστολέας των φωτογραφιών. Το HP 2116B βρίσκεται με τα περιφερειακά του (την άλλη τη ντουλάπα δηλαδή) στον ίδιο χώρο μαζί με άλλο ένα (μεταγενέστερο) ιστορικό μηχάνημα.

Είμαι πραγματικά ενθουσιασμένος με αυτό το γεγονός και βέβαια έχουν κινηθεί ήδη οι διαδικασίες για να μάθουμε τα πώς; που; γιατί; ποιός; πώς τα προγραμμάτιζε, τι παραξενιές είχαν και άλλες πληροφορίες :-D. Περισσότερες λεπτομέρειες...προσεχώς!

Rαμμένη Oμορφα Mνήμη (και οι LOL!)


Τεχνολογιστορικής φύσης και το σημερινό μας νουμεράκι αγαπητοί φίλοι της Καλής Φάσης (και του Ιδανικού Πλάτους), σχετικά με τη μνήμη που μας ταξίδεψε στο φεγγάρι και το διπλό λογοπαίγνιο με τα ακρώνυμα στον τίτλο.


Η μνήμη, είναι σημαντική έννοια. Όπως λέει και ο Bob Marley "If you know your history, then you know where you coming from". Κι αν ξέρεις απο που έρχεσαι μπορείς να αποφασίσεις και το που θα πάς. Οι άνθρωποι που ξέρουν που πηγαίνουν ακολουθούν tην πορεία τους. Οι άνθρωποι που χάνουν για κάποιο λόγο τη μνήμη τους, περιπλανώνται τυχαία μέσα στο περιβάλον τους. Η μνήμη λοιπόν, καθορίζει τη συμπεριφορά.

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


Καθώς λοιπόν οι υπολογιστές έγιναν όλο και μικρότεροι και τρύπωσαν σε κάθε πτυχή της ζωής όπου χρειάζεται ο παραμικρός υπολογισμός, εμφανίστηκε στη γλώσσα και η σχετική ορολογία. Για αρκετό καιρό για παράδειγμα κυκλοφορούσε στην Ελλάδα ένα περιοδικό με τον τίτλο RAM (Random Access Memory) ονομασμένο απο τον τύπο προσωρινής μνήμης που χρησιμοποιούν οι υπολογιστές για να αποθηκεύσουν προγράμματα, δεδομένα και πληροφορίες τουλάχιστον για όση ώρα βρίσκονται σε λειτουργία. Απο τη στιγμή που ο υπολογιστής τίθεται εκτός λειτουργίας, τα περιεχόμενα της μνήμης RAM χάνονται. Σε τι μνήμη λοιπόν βρίσκεται γραμμένο (μόνιμα) εκείνο το πρόγραμμα που θα ξεκινήσει να διαβάζει ο υπολογιστής αμέσως μόλις μπεί σε λειτουργία; Αυτό το πρόγραμμα βρίσκεται αποθηκευμένο σε ένα άλλο τύπο μνήμης ο οποίος κατα την παράδοση* ονομάζεται ROM (Read Only Memory), ή αλλιώς "Μνήμη Μόνο Για Ανάγνωση" και δεν χρειάζεται ηλεκτρικό ρεύμα για να διατηρεί τα περιεχόμενα της.


Η μνήμη των υπολογιστών έχει μακριά ιστορία μέχρι να φτάσει στη σημερινή, καθαρά ηλεκτρονική, μορφή της όπου τερατώδης χωρητικότητες της τάξης μεγέθους των GB, μπορούν να χωρέσουν σε μια τσέπη. Για αρκετό καιρό, για παράδειγμα, η μνήμη RAM αποτελούταν απο ηλεκτρομηχανικές διατάξεις όπως οι λεγόμενες "γραμμές καθυστέρησης" ενώ η μνήμη ROM βρισκόταν σε ακόμα πιο ασυνήθιστες (πια) συσκευασίες όπως για παράδειγμα, καλώδια σε βύσματα (!) μια σειρά απο απλούς διακόπτες(!!) ή σε... ψιλό-γαζί απο φερρίτες (!!!).  (1)

Ο Φερρίτης είναι ένα σιδηρομαγνητικό υλικό το οποίο έχει χρησιμοποιηθεί με διάφορους τρόπους σε μνήμες υπολογιστών. Το κλασικό παράδειγμα είναι η μνήμη με δαχτυλίδια (ή πυρήνες) μαγνητικού Φερρίτη. Όταν ένα κομμάτι μαγνητικού Φερρίτη βρεθεί μέσα σε ένα μαγνητικό πεδίο θα μετατραπεί και το ίδιο σε μαγνήτη. Όταν το μαγνητικό πεδίο πάψει να υπάρχει, ο μαγνητικός Φερρίτης διατηρεί τη μαγνητισή του και συμπεριφέρεται σαν να "θυμάται" ότι κάποια στιγμή είχε βρεθεί σε κάποιο μαγνητικό πεδίο. Μνήμη!!!!

Όμως η "Rαμμένη Όμορφα Μνήμη", ένας τύπος μνήμης που όπως είπαμε αποθηκεύει δεδομένα χωρίς να χρειάζεται να τροφοδοτείται με ηλεκτρικό ρεύμα, ΔΕΝ στηριζόταν στις μαγνητικές ιδιότητες του Φερρίτη!

Σε αυτή την περίπτωση, ο απλός Φερρίτης (σίδηρος) χρησίμευε σαν πυρήνας ενός πολύ μικρού μετασχηματιστή!! Αυτός ο μετασχηματιστής αποτελούταν απο δύο ανεξάρτητα πηνία, το πρωτεύον και το δευτερεύον, τυλιγμένα επάνω στο ίδιο δαχτυλίδι Φερρίτη. Όταν εμφανιστεί κάποια τάση στο πρωτεύον πηνίο, θα εμφανιστεί εξ επαγωγής και στο δευτερεύον. Άρα λοιπόν, αν θέλαμε να αποθηκεύσουμε τον δυαδικό αριθμό 1001 θα χρειαζόμασταν 4 μετασχηματιστές απο τους οποίους μόνον του πρώτου και του τέταρτου τα δευτερεύοντα πηνία θα ήταν τυλιγμένα (πλεγμένα) επάνω στους αντίστοιχους φερρίτες! Τα "δευτερεύοντα" του δεύτερου και του τρίτου μετασχηματιστή επειδή δεν θα ήταν τυλιγμένα επάνω στους αντίστοιχους φερίτες ΔΕΝ θα μετέδιδαν οποιοδήποτε ρεύμα θα ερχόταν στις εισόδους τους(**). Κατ' επέκταση, για να αποθηκεύσουμε μια σειρά απο δυαδικούς αριθμούς θα χρειαζόμασταν ένα 'πίνακα' απο μετασχηματιστές σαν αυτόν:

 Για φαντάσου ένα MP3 σε τέτοιο format (!!!!)
(Η φωτογραφία προέρχεται απο το σχετικό άρθρο της Wikipedia για το Core Rope Memory)

Σε αυτόν τον τύπο μνήμης....ήταν γ-ραμμένο, κυριολεκτικά bit πρός bit, το πρόγραμμα....που μετέφερε την αποστολή Apollo-11 στη Σελήνη!

Για να καταλάβουμε λίγο καλύτερα πόσο "ανατριχιαστικό" είναι αυτό το γεγονός αξίζει να αναλογιστούμε τη διαδικασία που υπονοείται!!! Αυτό σημαίνει οτι, κάποιος, έγραψε το πρόγραμμα ναυσιπλοϊας και ελέγχου του Apollo-11 σε κάποια γλώσσα προγραμματισμού, επιβεβαίωσε οτι λειτουργεί σωστά, μετά απο μια σειρά ελέγχων και προσαρμογής του κώδικα και αφού είχε βεβαιωθεί οτι το πρόγραμμα ΔΕΝ ΠΕΡΙΕΧΕΙ ΚΑΝΕΝΑ ΜΑ ΚΑΝΕΝΑ ΛΑΘΟΣ!!! Το μετέφρασε σε δυαδικούς αριθμούς και το "έπλεξε" επάνω στους μετασχηματιστές!!!!!!!!

Πόσο μεγάλο ήταν αυτό το πρόγραμμα; Δεν μπορούμε να ξέρουμε ακριβώς, όμως οι προδιαγραφές του υπολογιστή του Apollo 11 αναφέρουν 36kB ROM και μόλις 2kB RAM. Τριάντα - Έξι Χιλιάδες Bytes!!! Δηλαδή 36000 * 8 = 288000 bits! Σίγουρα λοιπόν, πολλές δεκάδες χιλιάδες πλεγμένα δευτερεύοντα πηνία που υποδήλωναν ένα λογικό-1 bit.

Μα καλά!!! Ποιός έκατσε και έκανε όλη αυτή τη δουλειά;;; Και μετά, ποιός έκατσε και έλεγξε οτι ο προηγούμενος έχει κάνει σωστά τη δουλειά του;;;

Τα "τσιπάκια" της ROM μνήμης του Apollo 11 και οι LOL επι το έργον!
(Η φωτογραφία προέρχεται απο το κ α τ α π λ η κ τ ι κ ο βιβλίο Nasa Mission AS-506 Apollo 11 (1969 including Saturn V, CM-107, SM-107, LM-5) που μοιάζει με Haynes Manual για κοινά οχήματα!)

Πολύ φοβάμαι, πως όλη αυτή τη δουλειά της (υ)ψιλής πλέξης, την έκαναν (οι καημένες) οι Little Old Ladies...Μια ομάδα απο γυναίκες οι οποίες έπλεκαν τη μνήμη, κάτω απο μικροσκόπια (!). Ή όπως τις είχε ονομάσει η ομάδα του MIT που ήταν υπεύθηνη για το σύστημα...οι LOL.

(Καρά-LOL!?!?)


Σημειώσεις:
1) Όπως έγραψα και νωρίτερα, μερικές καταπληκτικές ιστορίες για το υλικό και τα προγράμματα αυτών των υπολογιστών αναφέρονται στο βιβλίο του Mike Hally "Electronic Brains: Stories from the dawn of the computer age". Παρ' όλα αυτά, επειδή η μνήμη ήταν (και είναι) βασικό κομμάτι των υπολογιστών, σχετικές πληροφορίες υπάρχουν γενικά σε διάφορα βιβλία που αναφέρονται σε παλιούς υπολογιστές όπως για παράδειγμα το σύντομο αλλά περιεκτικό "The Pegasus Story: A history of a vintage British computer" του Simon Lavington όπου αναφέρονται εν τάχει εκτός απο τις μνήμες "γραμμής καθυστέρησης" και η ηλεκτροστατική μνήμη. Τέλος, παρ' όλο που αναφέρεται και στο κείμενο, θα ήθελα απλά να ξανα-βάλω εδώ το βιβλίο της Haynes για το Apollo-11, το οποίο περιέχει πραγματικά απίστευτο υλικό, απο το ένα εξώφυλλο ίσα με το άλλο! Μετά το Apollo-11 που πήρα κάποια στιγμή πριν απο περίπου 1 χρόνο, κυκλοφόρησε και το αντίστοιχο manual για το Space Shuttle, το οποίο είναι επίσης γαμμάτο!!!. Η επόμενη αγορά είναι το manual του Enterprise! :-D

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


**) Προφανώς όλα τα πρωτεύοντα αντιστοιχούσαν στο λεγόμενο Address Bus ενώ τα δευτερεύοντα στο Data Bus...Τα δευτερεύοντα που δεν ήταν πλεγμένα συνέδεαν απλά τη γραμμή στο 0 (γή).

Ηλεκτρονικοί Αριθμοϋπολογιστές...

Με αφορμή τον θάνατο του Dennis Ritchie, μιλήσαμε εδώ για παλιές μηχανές με ονόματα όπως PDP-11 και GE-645 (i).

Σήμερα θα δούμε άλλη μια τέτοια μηχανή, λίγο πιο παλιά απο αυτές που προγραμμάτιζε ο Dennis Ritchie, την IBM-650! Θα μας μιλήσει για αυτή, ο κύριος Νικόλαος Αποστολάτος ο οποίος ήταν μαθηματικός και επιστημονικός βοηθός στο πολυτεχνείο του Μονάχου το 1961! Η εργασία του, μια σύντομη εισαγωγή στον προγραμματισμό των ηλεκτρονικών υπολογιστών, δημοσιεύτηκε στο Τεχνικά Χρονικά, στο τεύχος Μαρτίου - Απριλίου 1961 και ήρθε στα χέρια μου μετά απο ένα μεγάλο ταξίδι.


Μέσα σε 4 περίπου σελίδες ο κ. Αποστολάτος παρουσιάζει μια γενική εισαγωγή στον προγραμματισμό και ένα συγκεκριμένο (και ίσως γνώριμο :-) ) παράδειγμα επάνω στον IBM-650.

Το άρθρο είναι....παλιό. Είναι τόσο παλιό που τα σύμβολα του δεκαεξαδικού δεν είναι αυτά που έχεις συνηθίσει (ii) :-). Παρ' όλη όμως την ηλικία του άρθρου, η τελευταία παράγραφος της εισαγωγής περιγράφει με απλά και απίστευτα ακριβή λόγια το τι θα ακολουθήσει στα επόμενα 50 χρόνια. Διαφορετική ορολογία και σίγουρα διαφορετική τεχνολογία αλλά η αρχή παραμένει ίδια:

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

Σε αυτό το άρθρο, εκτός απο τον IBM-650 αναφέρεται και ένας άλλος δεινόσαυρος, ο ILLIAC! Οι υπολογιστές ILLIAC χρηματοδοτήθηκαν και κατασκευάστηκαν απο το πανεπιστήμιο του Illinois στην Αμερική και ήταν απο τους πρώτους υπολογιστές εκτός του στρατού. Παρ' όλα αυτά δεν ήταν μια νέα σχεδίαση αλλά ήταν βασισμένος σε μια έκθεση που είχε συντάξει κάποιος κύριος John Von Neuman για τον διάδοχο του (πολύ δημοφιλούς ίσως) υπολογιστή ENIAC που θα ονομαζόταν EDVAC (iii). Ο κ. Αποστολάτος όμως δεν μας λέει ποιόν ακριβώς ILLIAC εννοεί αφού απλά αναφέρει:

"Ένα άλλο συνηθισμένο σύστημα είναι το δεκαεξαδικό στο οποίο χρησιμοποιούμε τα δέκα βασικά σύμβολα του δεκαδικού και έξι νέα (όπως κάνουμε στον Illiac του πανεπιστημίου του Illinois)".

Όμως, απο τη χρονολογία του άρθρου (1961), πιθανότατα εννοεί τον ILLIAC-1 ο οποίος φαίνεται να έχει και παρόμοιο τύπο μνήμης (μαγνητικό τύμπανο) με τον IBM-650.

International Business Machines....Όνομα και πράγμα!
Η φωτογραφία δεν προέρχεται απο την προσωπική μου συλλογή (!) αλλά απο το άρθρο του κ. Αποστολάτου.


Ο IBM-650, όπως φαίνεται και στη φωτογραφία του άρθρου, αποτελείται μόλις απο 3 ντουλάπες (!). Σύμφωνα με το σχετικό άρθρο της Wikipedia, αυτές είναι: Στα αριστερά η κεντρική υπολογιστική μονάδα, στα δεξιά η μονάδα εισόδου-εξόδου που ουσιαστικά αποτελείται απο ένα μηχάνημα που τρυπάει και διαβάζει κάρτες (!) και στο πίσω μέρος του, η μεγαλύτερη ντουλάπα απο όλες.....το τροφοδοτικό!

Τα μηχανήματα εκείνης της εποχής χρησιμοποιούνταν για να λύνουν κυρίως μαθηματικά προβλήματα είτε αυτά ήταν του στρατού (τροχιές βλημάτων, πυραύλων, παιχνίδια πολέμου, κλπ), είτε ακαδημαϊκά (γενική έρευνα) είτε ιδιωτικών επιχειρήσεων και του κράτους (προβλήματα βελτιστοποίησης, καταμέτρησης, αρχειοθέτησης, λογιστηρίου, κλπ). Κάτι επεξεργασίες εικόνας και video, παιχνίδια, γραφικά, κουλτούρα, lifestyle, e-Απ'Όλα, i-Περισσότερα ήρθαν πολύ αργότερα (μόλις εχθές...σε γεωλογικό χρόνο (!)). Γι' αυτό το λόγο η ανάλυση περιλαμβάνει μόλις 4 βήματα: 1) Μαθηματική διατύπωση, 2) Aριθμητική μέθοδο, 3) Aλγόριθμο και 4) Yπολογιστικές εντολές.

Οι υπολογιστικές εντολές, είναι ακριβώς αυτό.....υπολογιστικές εντολές, ακριβώς όπως θα τις καταλάβαινε ένα μηχάνημα. Παρ' όλο που ο κ. Αποστολάτος, υπονοεί οτι οι εντολές που χρησιμοποιεί ο IBM-650 προέρχονται απο μια γλώσσα γενικού προγραμματισμού, στην πράξη μάλλον εννοεί κάποια γλώσσα μηχανής με ένα γενικό ρεπερτόριο που είχε αναπτυχθεί στα εργαστήρια της Bell και σε εκείνο το σημείο κάνει το εξής καταπληκτικό σχόλιο:

"Πολλές προσπάθειες έχουν γίνει για την εξέυρεση ενός ενιαίου τρόπου προγραμματισμού ο οποίος να ισχύει για όλες τις μηχανές Βλέπε, A.J Perlis, K. Samelson, Report on the algorithmic  language ALGOL, Num. Math.1 (1959) S. 41-60".

Οι προσπάθειες....συνεχίζονται!

Ο προγραμματιστής σε αυτή τη περίπτωση λοιπόν είναι και μεταγλωττιστής ή αλλιώς compiler, ο οποίος μεταγλωτίζει τις προτάσεις απο την φυσική γλώσσα ("Θέσε τη μεταβλητή Α ίση με το μηδέν") στη γλώσσα της μηχανής ("0 400 201 203"). Υπάρχει μια διάκριση εδώ. Οι γλώσσες προγραμματισμού που επιτρέπουν σε ένα προγραμματιστή να εκφράσει ένα πρόγραμμα με όσο το δυνατόν πιο "φυσική" γλώσσα κατατάσονται στις "υψηλού επιπέδου" ενώ οι γλώσσες που αναγκάζουν τον προγραμματιστή να εκφράσει ένα πρόγραμμα όσο το δυνατόν πιο κοντά στη μορφή που θα το επεξεργαστεί η μηχανή κατατάσονται στις "χαμηλού επιπέδου". Προφανώς η γλώσσα που χρησιμοποιείται εδώ είναι ήδη "χαμηλού επιπέδου"....Εκτός και αν υπάρχει το επόμενο επίπεδο όπου ανοίγουμε τη ντουλάπα και βραχυκυκλώνουμε ακροδέκετες στις λυχνίες ή μαγνητίζουμε το τύμπανο όπως "προγραμμάτιζαν" παλιά τις λατέρνες!

Το παράδειγμα που διαλέγει ο κ.Αποστολάτος, χρησιμοποιείται μέχρι σήμερα....Να υπολογιστεί η τετραγωνική ρίζα του a > 0 με την μέθοδο των διαδοχικών προσεγγίσεων του Newton σε 6 προσεγγιστικά βήματα. Το πρόγραμμα.....που λύνει το πρόβλημα.....είναι αυτό:

100: 0  400 201 203
101: 4  201 202 301
102: 1  202 301 302
103: 4  302 203 202
104: 0  100 006 101
105: 0  410 202 202

Όπου ο πρώτος αριθμός πρίν την άνω και κάτω τελεία είναι ο αριθμός της γραμμής του προγράμματος.

Κυρίες και κύριοι...Νίκου Αποστολάτου: Ο Προγραμματισμός Των Ηλεκτρονικών Αριθμοϋπολογιστών:



Σημειώσεις:
*) Το Copyright των άρθρων ανήκει στα "Τεχνικά Χρονικά".


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


ii): Τα σύμβολα του δεκαεξαδικού συστήματος διεθνώς είναι 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Το δεκαεξαδικό σύστημα είναι πολύ βολικό για να εκφράσεις αριθμούς που χρησιμοποιούνται απο υπολογιστές, η πλειονότητα των οποίων λειτουργούν στο δυαδικό σύστημα και το μικρότερο στοιχείο δεδομένων που μπορούν να καταλάβουν είναι το byte. Ένα byte αποτελείται απο 8 δυαδικά σύμβολα (00001010) ή απλά 2 δεκαεξαδικά σύμβολα (0Α). Περισσότερες λεπτομέρειες, εδώ.


iii) Το όνομα της αρχιτεκτονικής έχει μείνει μέχρι σήμερα σαν Von Neumann παρ' όλο που οι κύριοι υπεύθηνοι για την αρχιτεκτονική του συστήματος ήταν οι κύριοι John Mauchley και Presper Eckert. Εκτός απο το υλικό της Wikipedia για αυτά τα συστήματα, υπάρχει και ένα καταπληκτικό βιβλίο με περισσότερες λεπτομέρειες για τα υπολογιστικά συστήματα εκείνης της εποχής με τον τίτλο Electronic Brains: Stories from the dawn of the computer age του Mike Hally το οποίο διαβάζεται με μια ανάσα!

fclose(DennisRitchie); /* 08/10/2011 */

Όταν πρίν απο μια εβδομάδα έγραφα την επικεφαλίδα στο post για τον θάνατο του Steve Jobs, δεν περίμενα με τίποτα οτι θα τα έφερνε έτσι η τύχη που μέσα σε τόσο μικρό χρονικό διάστημα θα ακούγαμε για τον θάνατο του Dennis Ritchie. (Του γνωστού δυναμικού διδύμου).

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

Σήμερα, το "θράσος" περισσεύει....Terra Bytes χωρητικότητας αποθηκευτικών μέσων, Giga Bytes ενιαίας μνήμης, υπολογιστικές μονάδες που μπορούν να εκτελούν αριθμητικές πράξεις σε δισεκατομμυριοστά του δευτερολέπτου (Giga Hertz)....Δύο υπολογιστικές μονάδες σε μια συσκευασία.....Τετράκις υπολογιστικές μονάδες σε μια συσκευασία!....Κυκλώματα που μπορούν να συνδέσουν 2 συσκευασίες υπολογιστικών μονάδων με 4 μονάδες στην κάθε μια (δηλαδή 8 επεξεργαστές σε ένα υπολογιστή)....Κάρτες γραφικών που είναι οι ίδιες ένα ολόκληρο υπολογιστικό σύστημα με μνήμη (της τάξης μεγέθους των GB), παράλληλους επεξεργαστές κλπ...Φορητούς υπολογιστές, απίστευτα μικρούς υπολογιστές, υπολογιστές ειδικά για να παίζουμε παιχνίδια.....Και φυσικά την πολυτέλεια να μπορούμε να πάρουμε ένα πρόγραμμα απο ένα μηχάνημα και να το εγκαταστήσουμε σε ένα άλλο.....έτσι απλά.

Όταν ο Dennis Ritchie δημιουργούσε την C, στα εργαστήρια της Bell, οι "υπολογιστικές αριθμομηχανές" ήταν κάτι διαφορετικό...Ήταν σαν τρίφυλες ντουλάπες με ενσωματομένο γραφείο και κάθισμα (!), Παρ' όλο που είχαν πληκτρολόγια (ή μάλλον....γραφομηχανές, διακόπτες και λαμπάκια -πυρακτώσεως, όχι L.E.D ), δεν είχαν οθόνες και για τον ίδιο λόγο δεν είχαν και "κάρτες γραφικών" τουλάχιστον όπως τις ξερουμε σήμερα...Τα αποτελέσματα έβγαιναν τυπωμένα σε ένα φύλλο χαρτί απο εκτυπωτές που τύπωναν μόνο σύμβολα... Δεν είχαν ταχύτατους "σκληρούς δίσκους", αλλά μαγνητοταινίες σε καρούλια όπου αν κάτι ήταν αποθηκευμένο στο τέλος της μαγνητοταινίας, θα έπρεπε να περιμένει κανείς το μηχάνημα να διαβάσει ολόκληρη την ταινία μέχρι το επιθυμητό σημείο. Η μνήμη τους μπορεί να ήταν μερικές εκατοντάδες kilo bytes και λόγω της αρχιτεκτονικής τους να μην μπορούσαν να την προσπελάσουν ολόκληρη. Οι επεξεργαστές ότι είχαν αρχίσει να φτάνουν την τάξη μεγέθους των Mega Hertz. Ουσιαστικά, κάθε νέος τύπος ηλεκτρονικού υπολογιστή είχε τη δική του αρχιτεκτονική και τη δική του γλώσσα ("μηχανής") που μπορούσες να του μιλήσεις....Έτσι τα προγράμματα ενός μηχανήματος δεν ήταν απαραίτητο οτι θα έτρεχαν σε κάποιο άλλο λόγω μεγάλων διαφορών στις αρχιτεκτονικές τους. Ήταν μια εποχή που οι υπολογιστές είχαν ονόματα σαν τις μοτοσυκλέτες PDP-11, GE-645.


 Dennis Ritchie (στα αριστερά) & Ken Thompson μπροστά απο ένα PDP-11.
(Η φωτογραφία δεν προέρχεται απο την προσωπική μου συλλογή (!) αλλά απο το Origins & History Of Unix. )




Κάπως έτσι δημιουργήθηκε η ανάγκη στις εταιρίες που κατασκεύαζαν τις υπολογιστικές αριθμομηχανές αλλά και τα προγράμματα τους για κοινούς τρόπους συνδεσμολογίας των περιφερειακών, κοινές αρχιτεκτονικές και φυσικά κοινά λειτουργικά συστήματα και τρόπους προγραμματισμού, τουλάχιστον για τη γραμμή των προϊόντων τους, ώστε και οι προγραμματιστές να γίνουν πιο παραγωγικοί αλλά και να μειωθεί το κόστος για τον πελάτη. Κάπως έτσι ο Dennis Ritchie έφτιαξε την γλώσσα C και αργότερα συνέβαλε στο λειτουργικό σύστημα Unix το οποίο είχε ήδη απο τα μέσα της δεκαετίας του 70 πολλές δυνατότητες που σήμερα θεωρούντε ώς δεδομένες (i,ii).

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

Αυτό πρέπει να είναι ένα καταπληκτικό συναίσθημα.

Και σήμερα; Που είναι ο Dennis Ritchie του σήμερα; Που είναι οι σημερινοί υπολογιστές ντουλάπες; Που είναι οι άνθρωποι που λύνουν προβλήματα που σήμερα φαίνονται ανυπέρβλητα ενώ αύριο θα γίνουν παιχνίδια για μικρά παιδιά; (Επίσης πολύ χρήσιμα ερωτήματα...)


Δεν ξέρω (....μας φώτισες!!!) . Όμως έχω την εντύπωση πως η δουλειά που γίνεται σε "εναλλακτικές μορφές υπολογισμού" (iv) και κάτι που σήμερα ονομάζεται "Quantum Computing" είναι πολύ πιθανό να γεννάει αυτή τη στιγμή την επόμενη υπολογιστική "επανάσταση"...

Farewell Dennis...


Σημειώσεις:
i) Και που, άλλα, πολύ δημοφιλή λειτουργικ....ο, αγνοούσε παντελώς 20 χρόνια αργότερα :-/


ii) O Dennis Ritchie, δεν ήταν ο μόνος βέβαια και το Unix δεν ξεφύτρωσε έτσι απλά. Όμως αυτό το λειτουργικό σύστημα γνώρισε μεγάλη εξάπλωση και επιρρέασε την ανάπτυξη μεταγενέστερων συστημάτων.

iii) Και με τα οποία μηχανήματα μπορεί ο καθ' ένας πια να λύσει τα πολύπλοκα προβλήματα που τον απασχολούν όπως το Farmville και τα Angry Birds (!!!).

iv) Γιατί δεν υπολογίζουν μόνο οι πύλες.....(όχι του ανεξήγητου, they don't compute anyway, αλλά οι λογικές πύλες)

Πώς Θα Ευημερήσωμεν Ταχέως;

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

Τελικά τα ντουλάπια, ήταν γεμάτα βιβλία. Κάποια λεξικά, κάποια μυθιστορήματα κάτι τεχνικά βιβλία και 19 τεύχη των "Τεχνικών Χρονικών" που καλύπτουν μια περίοδο ανάμεσα στο 1961 - 1963.

Τα "Τεχνικά Χρονικά" ήταν (και είναι) η επιστημονική έκδοση του Τεχνικού Επιμελητηρίου Ελλάδος (ΤΕΕ) και έχουν κάποιο γενικό ενδιαφέρον γιατί συνήθως δημοσιεύονται εργασίες που έχουν να κάνουν με τον Ελληνικό χώρο. Σήμερα υπάρχουν κάποια τεύχη τους online, αλλά η ύλη τους πλέον είναι περιορισμένη κυρίως στις επιστημονικές εργασίες. Τα παλιά τεύχη (απ' όσο μπορώ να καταλάβω απο το δείγμα που έχω) είχαν και ενημερωτικό χαρακτήρα. Σε κάθε τεύχος υπήρχαν άρθρα όπως "Ελληνικά τεχνικά νέα", "Τεχνικά νέα του εξωτερικού", διαφημίσεις για διάφορα σχετικά προϊόντα αλλά και άρθρα με την άποψη κάποιων ανθρώπων για θέματα της επικαιρότητας. Ήταν δηλαδή ένα έντυπο με το οποίο μπορούσαν οι μηχανικοί και λοιποί επιστήμονες της εποχής να επικοινωνούν και να ενημερώνονται για θέματα της δουλειάς τους.

Δεν βρήκα ένα τεύχος που να ήταν βαρετό...Όλα τα άρθρα, τεχνικά και μή είχαν κάτι να πούν και αυτό που βρήκα πραγματικά εντυπωσιακό ήταν η ποικιλία της θεματολογίας. Υπολογισμοί κτηρίων, προγραμματισμός των ηλεκτρονικών αριθμομηχανών (!), εξώρυξη συράγγων, αιολική ενέργεια, βαριά βιομηχανία, ενεργειακά θέματα, διαστημικά θέματα (i) (σχετικότητα και μέτρηση του χρόνου, η επιστροφή των βλημάτων στην ατμόσφαιρα) , αποτυπώσεις ανασκαφών και παλαιών κτηρίων, θέματα πολεοδομίας και αποκέντρωσης (ειδικά για την Αθήνα....απο το 1961) αλλά και παρουσιάσεις νέων (για την εποχή) υπολογιστικών ή άλλων μεθόδων. Ένας εκπληκτικός θησαυρός...

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

Ένα απο αυτά τα άρθρα είναι αυτό του κ. Κ. ΦΡ. Κρίσπη, μηχανολόγου ηλεκτρολόγου και τέως προέδρου του Τ.Ε.Ε.

Πρίν παραθέσω το άρθρο, θα ήθελα απλά να πώ οτι δεν γνωρίζω σε τι κατάσταση βρισκόταν η Ελλάδα του 1950-1960. Δεν ξέρω ποιός ήταν κυβέρνηση, ποιά ακριβώς ήταν τα πραγματικά προβλήματα και ποιά ήταν η οικονομική κατάσταση. Δεν ξέρω κάν, ποιός ήταν ο κ. Κρίσπης, οπότε ίσως (!ΙΣΩΣ!) κάποιος να βγεί και να αρχίσει να μου πετάει κακάσχημους σκελετούς απο τη ντουλάπα του...Γι' αυτό, δηλώνω απο τώρα την άγνοια μου.

Απο όσο μπορώ να κρίνω απο το άρθρο, ο κ. Κρίσπης δεν προσπαθεί να χαϊδέψει τα αυτιά κανενός (ειδικά όταν ο πρόλογος στο άρθρο του είναι αυτός που είναι...). Δεν φαίνεται να έχει κομματικά κίνητρα για αυτά που γράφει. Πιθανότατα είχε πρόσβαση στα πραγματικά δεδομένα της εποχής (ειδικά αμέσως μετά τον πόλεμο) και έχει δουλέψει με αυτά. Σε κάποιο σημείο, πέφτει στην παγίδα της έπαρσης....όμως όταν είσαι 60-65 χρονών, έχεις κάνει τόση δουλειά και τη βλέπεις να αγνοείται εντελώς για υποδεέστερες λύσεις που δεν έχουν σχέση με τη πραγματικότητα, ίσως η έπαρση να είναι το μοναδικό πράγμα που σου έχει απομείνει....Την ίδια στιγμή όμως, παραδέχεται οτι σε κάποιες εκτιμήσεις έπεσε έξω. Νομίζω οτι αυτό είναι ένα σημαντικό χαρακτηριστικό.

Δεν ξέρω τι να πρωτοκρατήσω απο αυτό το άρθρο...Ίσως την ημερομηνία: Φεβρουάριος 1961...




Σημειώσεις: 
i. Aς μην ξεχνάμε οτι τότε στην Αμερική, εξελισσόταν γοργά το πρόγραμμα Apollo

Uber-Cool!

Αυτές τις ημέρες βρέθηκα στο Bristol όπου ένας δρόμος με έβγαλε σε ένα γεφύρι και το γεφύρι σε μια πλατεία που έκρυβε σε μια γωνιά της ένα φανταστικό μαργαριτάρι...Ιδού, το Space Signpost!!!

Η διαστημοπινακίδα...
(Φωτογραφίες απο τη προσωπική μου συλλογή)

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

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

Δεν είναι ανάγκη όμως να σκεφτεί κανείς τόσο μακριά για να απολαύσει τα πλεονεκτήματα της θαυματουργού αυτής συσκευής. Ειδικά στην Αγγλία, μπορεί απλά να σου υπενθυμίζει που είναι ο Ήλιος.....Νάτος:

Η (όχι και τόσο) προφανής θέση του Ήλιου...

Πρίν αναχωρήσουμε απο την Millenium Square, να πούμε οτι στην άλλη άκρη της υπάρχει σημειωμένο στο έδαφος το ηλιακό ανάλημα απο τη συγκεκριμένη τοποθεσία (!) Με το κάθε σημείο του φωτισμένο με μώβ LED...Το βράδυ αναβοσβήνει με διάφορους ρυθμούς σα να διαγράφει τροχιές....Νάτο:


Πολύ ωραίες ιδέες....για πλατείες...

ASSERT(isAlive(SteveJobs)): Failed (05/10/11)

Το 1995, σε ένα μικρό υπόγειο σε κάποιο ξενοδοχείο στην οδό Μιχαλακοπούλου(i) στην Αθήνα είχε γίνει η έκθεση Cyberia.

Υπήρχε ένα περίπτερο της Crypto, δύο υπολογιστές συνδεδεμένοι στο internet,  ένας ή δύο SGI Workstations(ii) που έτρεχαν ένα απλό VRML demo(iii), ένας υπολογιστής που έτρεχε το Air Warrior(iv) και ένα περίπτερο της εκδοτικής εταιρίας Anubis. Αυτό. "Έκθεση".


Μετά απο 4-5 ώρες απίστευτου κολλήματος στους υπολογιστές που ήταν συνδεδεμένοι στο τότε internet, αγόρασα απο το περίπτερο της Anubis ένα μικρό βιβλιαράκι με τον τίτλο "Αντίστροφη Μέτρηση" και τον υπότιτλο "Ηλεκτρονικά Εγκλήματα και ο 'υπόκοσμος' της πληροφορικής" (...Γού-α-ού). Το βιβλίο ήταν προφανώς μεταφρασμένο (αλλά με ωραίο τρόπο) και μάλιστα πολύ αργότερα βρήκα και την αγγλική (αρχική) έκδοση της οποίας πρέπει να πώ οτι το εξώφυλλο ήταν απαίσιο(v).

Εκεί μέσα, διάβασα για πρώτη φορά μεταξύ άλλων για Phreaking, Hacking, Cracking, τον Captain Crunch τη παρέα του αλλά και το περιβάλλον μέσα στο οποίο ξεκίνησαν για να κυριαρχήσουν στη συνέχεια την αγορά των "Προσωπικών Ηλεκτρονικών Υπολογιστών".

Το παρακάτω video είναι απο ένα παλιότερο ντοκυμαντέρ του Discovery με θέμα το hacking (απο τη σελίδα του Captain Crunch). Αξίζει να το παρακολουθήσετε ολόκληρο (50 λεπτά) καθώς έχει φανταστικές φωτογραφίες και video ειδικά στην αρχή. (...η Kevin Mitnick εποχή είναι πιο......"εμπορική" (!)).

Εναλλακτικά, μπορείτε να δείτε ένα μικρό κομμάτι απο περίπου το 17:00 - 20:00 λεπτό, όπου το μακρύ χέρι το νόμου ίσα που χαϊδεύει τρείς περίεργους τυπάδες (ποιοί να ήταν άραγε;) που σε μια δύσκολη στιγμή προσπαθούν να τηλεφωνήσουν στα φιλαράκια τους...στο Berkeley...





Farewell Steve.


Σημειώσεις:
Disclaimer: Όπως λένε και οι Locomondo: Το υλικό αυτού του πόστ σκοπεύει στην περιγραφή και όχι στην προτροπή :-)

i)  Νομίζω πως τότε το ξενοδοχείο λεγόταν Holiday In (;)
ii) Αν θυμάμαι καλά, τα μηχανήματα που ήταν στην έκθεση πρέπει να ήταν σαν αυτό...αλλά πιο σκούρο.....χμμμμμ
iii) Το οτι αυτό που είδα τότε ήταν η πρώτη έκδοση της VRML το κατάλαβα αργότερα :-)
iv) Το Air Warrior ήταν ένας multiplayer εξομοιωτής πτήσης που ήταν τότε ένα απο τα πράγματα με τα οποία η Hellas On Line προσπαθούσε να πουλήσει internet....στο τότε τηλεφωνικό δίκτυο...."ΚΡρΡ, κα, ΚΡρΡ, κα κα κα κα, ΚΡρΡ, κα..(κρ...φσσ...φσσ).....Μπίιιιιιπ, στον επόμενο τόνο, η ώρα θα είναι......"
v) Το εξώφυλλο της Ελληνικής μετάφρασης ήταν ένα πολύ ωραίο σκίτσο σε πορτοκαλί αποχρώσεις, ενός νεαρού που καθόταν μπροστά σε ένα υπολογιστή. Ήταν σε κάτοψη, και ο νεαρός κοιτούσε πρός τα επάνω (πρός τον θεατή) με ένα περίεργο χαμόγελο παρανοϊκού επιστήμονα. Δυστυχώς το εξώφυλλο της Αγγλικής έκδοσης ήταν μια απλοϊκή φωτογραφία ενός τύπου που φορούσε μια μαύρη κουκούλα, μια χακί καπαρντίνα και κρατούσε ένα πληκτρολόγιο σα να ήταν όπλο....
top