Электроника MK 61
La calcolatrice RPN venuta dall’Est..
Per decenni il marchio HP è stato sinonimo di calcolatrici con notazione RPN, realizzando modelli che hanno lasciato il segno nella storia dell’ingegneria, fra tutte, forse la più iconica, la HP41 (nelle sue varie versioni). Nonostante i grandi vantaggi della notazione RPN, HP venne però lasciata sola sul mercato in questa sua soluzione.. almeno questo è quanto nel nostro mondo occidentale ci apparve. Però, oltrecortina, le cose andavano diversamente e si realizzavano calcolatrici simili alle HP, oggi facilmente reperibili a prezzi competitivi e spesso addirittura “new old stock”. E’ proprio di una di queste che ci occuperemo oggi, in particolare della MK 61. Prima di addentrarci nel vivo dell’analisi, facciamo un piccolo passo indietro richiamando alcune nozioni di base sulle “notazioni”.
Le notazioni matematiche
La parola notazione indica l’atto, il fatto e il modo di notare, cioè di segnare o contrassegnare. In altre parole indica il complesso di segni (lettere dell’alfabeto, numeri e altri simboli convenzionali) adottati in maniera sistematica e condivisa per rappresentare elementi, caratteri o operazioni di determinate discipline quali ad esempio, nel nostro caso, la matematica. In matematica le formule rivestono grande importanza in quanto molti risultati si possono esprimere con una sola formula. E’ quindi di fondamentale importanza la scelta del “modo” (notazione) con cui si descrivono: come in tutte le discipline ed in tutti gli ambienti culturali è di basilare importanza il “linguaggio” utilizzato per registrare e trasmettere i fatti e le idee.
La notazione algebrica o infissa
E’ la comune notazione logica e matematica a cui siamo introdotti sin dagli studi elementari dove gli operatori sono scritti tra gli operandi su cui agiscono (per es. 2 + 2).
Se da un punto di vista didattico elementare questo modo di combinare fattori e operazioni può avere dei vantaggi, porta con sé alcuni limiti:
difficoltà di implementazione nel calcolo computerizzato
necessità dell’introduzione di strumenti quali le parentesi e le priorità fra operandi per determinare il corretto ordine di esecuzione delle operazioni da applicare agli operandi
La notazione prefissa o polacca
La notazione polacca è una particolare sintassi matematica volta a descrivere formule matematiche e algoritmi, caratterizzata dal fatto che gli operatori si trovano tutti a sinistra degli argomenti. Per questo motivo, viene anche detta notazione prefissa. Questa notazione permette di descrivere univocamente qualsiasi formula o algoritmo senza utilizzare parentesi o altri elementi sintattici di separazione.
Deve il suo nome al filosofo e logico polacco Jan Łukasiewicz, che la utilizzò per la prima volta intorno all'anno 1920 per semplificare il calcolo proposizionale.
Vediamo un semplice esempio e comparazione con la notazione infissa:
Notazione infissa | Notazione prefissa (polacca) |
2 x ( 3 + 4 ) | x 2 + 3 4 |
La notazione non è equivoca, dato che sappiamo che l'operatore "+" prenderà come argomenti i primi due argomenti disponibili (3 e 4), e restituirà un altro valore (la loro somma, pari a 7); similmente l’operatore moltiplicazione, "x", prenderà due argomenti (2 e 7): il risultato dell'operazione è quindi coerentemente, sempre 14.
Questa notazione è impiegata nel linguaggio di programmazione LISP.
La notazione postfissa o polacca inversa (Reverse Polish Notation)
La notazione polacca inversa (in inglese: Reverse Polish Notation o semplicemente RPN) è una notazione matematica inventata da Charles Hamblin, filosofo australiano, logico e pioniere del computer e venne così chiamata per analogia con la notazione polacca, ma dove invece gli operatori si trovano tutti “dopo”, a destra (e non prima, a sinistra) degli argomenti. Per questo motivo, viene anche detta notazione postfissa.
Con la notazione RPN è possibile effettuare qualsiasi tipo di operazione, con il grande vantaggio di eliminare tutti i problemi dovuti alla necessità di parentesi tipica della notazione infissa ed alla precedenza degli operatori. E tutto questo, di farlo senza mai perdere di vista la logica di ciò che si sta facendo!
Vediamo un semplice esempio e comparazione con la notazione infissa:
Notazione infissa | Notazione prefissa (polacca) | Notazione postfissa (polacca inversa) |
2 x ( 3 + 4 ) | x 2 + 3 4 | 3 4 + 2 x |
La notazione RPN va di pari passo ad un altro importante concetto: lo stack (o pila). Uno stack è molto semplicemente una struttura di tipo LIFO, cioè Last In First Out, in altre parole una specie di “deposito” dove l’ultimo elemento che entra è anche il primo che esce. Il paragone forse più comune nella nostra vita è quello della catasta di legna: quella che aggiungiamo finisce sopra, quando ne preleviamo, la prendiamo sempre da sopra, come dire che l'ultimo tronco messo sarà anche il primo ad essere prelevato. Per la sua efficacia e logicità, la notazione polacca inversa ha un “effetto collaterale” non trascurabile: la dipendenza, proprio come una vera droga. In buona sostanza, chi inizia ad usarla, difficilmente, poi, troverà opportuno o conveniente staccarsene e ritornare ad impiegare una normale calcolatrice per eseguire operazioni complesse.
Vediamo un esempio in cui mettiamo anche in luce l’efficienza del RPN, misurata in numero passi (tasti da premere su una calcolatrice ad esempio) per ottenere il risultato. Riprendiamo il caso precedente, 2 x ( 3 + 4 ) e proviamo, come in un virtuale “slalom parallelo”, a far eseguire a due calcolatrici il calcolo: chi arriverà prima al risultato?
notazione | Passo 1 | Passo 2 | Passo 3 | Passo 4 | Passo 5 | Passo 6 | Passo 7 | Passo 8 |
Infissa | 2 | x | ( | 3 | + | 4 | ) | “= |
RPN | 3 | enter | 4 | + | 2 | x |
|
|
Con la RPN si giunge al risultato dopo solo 6 interazioni con il calcolatore in luogo delle 8 della notazione infissa. Sembra forse poca cosa (-20%!), ma non lo è affatto ed il divario fra i due metodi si amplifica nel caso di calcoli complessi. Non ultimo, l’RPN consente sempre di avere sott’occhio i risultati intermedi e di seguire la logica di calcolo.
Per concludere, vale la pena ricordare come esistano algoritmi di conversione dalla notazione infissa a quella postfissa e viceversa e che l'RPN è utilizzato nel linguaggio FORTH.
Illustrazione 1: Pagina della rivista scientifica che col suo racconto a puntate Kon-Tiki promosse la diffusione delle calcolatrici elettroniche programmabili nella ex-URSS
La calcolatrice MK-61
Illustrazione 1: Pagina della rivista scientifica che col suo racconto a puntate Kon-Tiki promosse la diffusione delle calcolatrici elettroniche programmabili nella ex-URSS
L'Elektronika MK-61 è uno dei più potenti calcolatori sovietici programmabili (non BASIC) mai prodotti. Divenne presto estremamente popolare, essendo compatibile con le macchine della serie B3-34 che dominarono il mercato interno negli anni ‘80.
Illustrazione 2: Retro della MK-61. In alto il vano batterie, 3 celle AA per un consumo dichiarato di 600mW
L'enorme popolarità delle calcolatrici programmabili nell’ex-URSS iniziò probabilmente nell’agosto del 1985, quando la rivista scientifica sovietica Tekhnika Molodezhi iniziò a pubblicare un romanzo a puntate su un paio di esploratori che cercavano di pilotare un lander lunare dalla Luna alla Terra. Ogni puntata includeva compiti da elaborare su un calcolatore programmabile: da qui alla passione diffusa nella popolazione per questi mezzi di calcolo il passo fu breve.
Questa calcolatrice era piuttosto versatile, offrendo il popolare e conveniente sistema di notazione RPN, 15 registri di memoria e ben 105 passi di memoria del programma. Era considerata un vero cavallo da battaglia. Funziona utilizzando tre batterie formato AA o un adattatore a rete a 4,5V da muro.
A differenza delle sue equivalenti e contemporanee occidentali ormai convertite ai display LCD, la MK 61 conserva un display fluorescente a vuoto (Vacuum fluorescent displays (VFD)) di colore verde, a dieci cifre (mantissa a otto cifre, esponente a due cifre). Questi calcolatori furono realizzati nello stabilimento "КВАЗАР" (traslitterato come Kvazar, Quasar in inglese), situato a Kiev, in Ucraina fino a circa metà degli anni ‘90. Nell’ultimo periodo di produzione la calcolatrice fu venduta senza imballo, per ridurne i costi.
Curioso sicuramente, che assieme alla calcolatrice ed al suo manuale, venisse consegnato anche lo schema elettrico, completo di forme d’onda. Decisamente inusuale per noi abituati a prodotti “usa e getta” e che ci riporta alla mente la documentazione a corredo delle migliori elettroniche degli anni ‘60 di scuola americana.
Manuale e schema
Figura 1: Copertina del manualetto a corredo
Come anticipato la calcolatrice veniva venduta con a corredo un manuale e lo schema elettrico. Il manuale è costituito da un libretto di circa 20 pagine, abbastanza scarno come contenuti e povero come fattezze, ben lontano da quelli ricchi e colorati delle HP di pari periodo e fascia di mercato. Ciononostante, riporta tutte le informazioni di base per l’utilizzo e la cura della calcolatrice.
Figura 2: Schema elettrico della MK 61
Interessante e singolare per noi, la disponibilità dello schema elettrico, stampato su un A3 e completo delle indicazioni di vari segnali di test. Nel vasto foglio troviamo anche la piedinatura dei circuiti integrati, del display e tantissime note ed informazioni utili per la diagnosi di guasti e malfunzionamenti, il tutto direi, compilato più con somma pazienza ed arte con un normografo che con un moderno CAD o software di publishing.
Note d’uso ed esempi di funzioni non documentate
La MK-61 è di facile utilizzo, specie per chi è già avvezzo all’uso dell’RPN, unica piccola difficoltà iniziale possono essere, le peraltro poche, scritte in cirillico sui tasti. D’altronde la matematica ha il grande vantaggio di essere al di là e al di sopra delle differenze linguistiche e questo facilita moltissimo l’interscambio degli strumenti di calcolo in ogni parte del globo.
La tastiera è abbastanza convenzionale ed abbinata a due selettori a slitta con le seguenti funzioni:
acceso/spento radianti/centesimali/sessagesimali
Alcuni tasti riportano indicazioni in cirillico e potrebbero per questo risultare un poco ostici come comprensione delle loro funzioni. Il gruppo di otto tasti in due file da quattro in alto a destra sono principalmente funzioni dirette di programmazione, per le quali, data la vastità dell’argomento, si rimanda al manuale della calcolatrice. Vediamo invece la funzione dei tasti di più comune utilizzo:
Tasto | Significato |
Il classico tasto “ENTER” (ben noto sulle calcolatrici HP) per introdurre elementi in cima allo stack | |
Cambia la notazione, da decimale ad esponenziale | |
Cambio segno dell’argomento o mantissa | |
Scambia le due posizioni in alto nello stack, equivalente al X↔Y di HP |
Interessante ed appassionante curiosità, tutti i calcolatori sovietici sono famosi per avere un numero molto grande di funzioni non documentate. Vediamone nel seguito una fra le più divertenti e significative dello spirito con cui venne progettata.
Sequenza dei tasti:
Otteniamo sul display:
Che nel linguaggio grafico semplificato della calcolatrice indica: “l’astronave è dal lato illuminato della Luna”, dove:
“E” è terra, “0” è luna, “-” è l’astronave
Il “gioco” non finisce qua e con ulteriori sequenze di tasti si ottengono differenti rappresentazioni e funzioni speciali.
Altri modelli
Illustrazione 3: Aula di informatica nella ex-URSS: circa 1985
La MK61 non è stata l’unico modello di calcolatrici RPN sovietiche, ma è parte di una grande famiglia, fra i cui membri vale la pena ricordare la MK 52 che aveva funzionalità identiche a quelle della MK 61, salvo disporre di un modulo interno di memoria non volatile EEPROM (é l'unico calcolatore a me noto ad avere memoria interna sotto forma di modulo EEPROM) per l'archiviazione permanente dei dati, uno slot diagnostico e uno slot per i moduli ROM. Il linguaggio di programmazione e le funzionalità delle MK 52 e MK 61 sono estensioni dei calcolatori Elektronika MK 54, B3-34 e B3-21.
Conclusioni
Spero che queste poche note abbiano contribuito ad aprire uno squarcio di conoscenza sul mondo delle calcolatrici programmabili con notazione RPN di fabbricazione sovietica. Seppur datate e palesemente più obsolete tecnologicamente rispetto alle pari classe di costruzione HP, possono ancora oggi dare grandi soddisfazioni a cifre veramente irrisorie. Non ultimo, hanno contribuito a riportare l’astronave Kon-Tiki sana e salva sulla terra! Buoni calcoli e divertimento a tutti!
Bibliografia
Jan Łukasiewicz, "Philosophische Bemerkungen zu mehrwertigen Systemen des Aussagenkalküls", Comptes rendus des séances de la Société des Sciences et des Lettres de Varsovie, 23:51-77 (1930). Tradotto da H. Weber come "Philosophical Remarks on Many-Valued Systems of Propositional Logics", in Storrs McCall, Polish Logic 1920-1939. Clarendon Press, Oxford, 1967.
https://it.wikipedia.org/wiki/Notazione_polacca
https://it.wikipedia.org/wiki/Notazione_polacca_inversa
Jeff Miller: Earliest Uses of Various Mathematical Symbols
https://en.wikipedia.org/wiki/Elektronika_B3-34
https://ru.wikipedia.org/wiki/%D0%95%D0%B3%D0%B3%D0%BE%D0%B3%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F
http://www.emulator3000.org/rus-c3.htm
https://web.archive.org/web/20091026223500/http://geocities.com/lautenaus/b334e.htm
https://it.wikipedia.org/wiki/Jan_%C5%81ukasiewicz
http://sarmaivero.blogspot.com/2012/02/rpn-la-notazione-polacca-inversa.html
https://en.wikipedia.org/wiki/Charles_Leonard_Hamblin
https://commons.wikimedia.org/wiki/Category:Kvazar_Kiev_integrated_circuits