Lo Small-Scale Experimental Machine (traducibile dall'inglese come "macchina sperimentale in scala ridotta", sigla SSEM, soprannominato Manchester Baby "bimbo di Manchester" o Baby) è, tra quelli di cui si ha notiziaC'è la possibilità che, prima del SSEM, in ambito militare siano stati costruiti computer elettronici digitali senza che ciò sia stato reso di dominio pubblico, il sesto computer elettronico digitale della storia, dopo l'IBM 603 Electronic Multiplier.
L'importanza storica del SSEM è notevole in quanto è il primo computer elettronico a programma memorizzato della storia Pagina dedicata al Baby. e il primo computer della storia basato sull'architettura di von Neumann. Questi due primati fanno del SSEM il progenitore dei moderni computer programmabili a loro più simile.La maggior parte dei moderni computer programmabili sono computer a programma memorizzato basati sull'architettura di von Neumann.
Progettato e costruito nel 1948 alla Victoria University of Manchester (Manchester, Regno Unito) da Frederic Calland Williams, Tom Kilburn e Geoff Tootill, il SSEM entrò in funzione il 21 giugno 1948. Il primo programma che vi venne eseguito serviva a calcolare il massimo fattore di un dato numero ed era composto da sole 17 istruzioni. Il Programma Originale. Lettera originale alla rivista Nature.
Come indica la presenza della parola "experimental""Experimental" in italiano significa "sperimentale". nel nome del computer, il SSEM è stato il banco di prova per un altro computer: il Manchester Mark 1. In particolare nel SSEM è stata sperimentata con successo, per la prima volta, una nuova tipologia di memoria: il tubo di Williams, il primo dispositivo al mondo di memoria RAM.
Caratteristiche Il SSEM aveva le seguenti caratteristiche: Specifiche e foto. Lunghezza di parola di 32 bit. Aritmetica binaria su interi in complemento a due con la cifra meno significativa a sinistra (little-endian). Formato delle istruzioni a singolo indirizzo. Memoria totale di 32 parole estendibile fino a 8192. Velocità di esecuzione di 1,2 millisecondi per singola istruzione. Ciclo di clock di 100 kHz.
L'interazione avveniva scrivendo per mezzo di una tastiera le sequenze di bit negli indirizzi di memoria scelti; i risultati della computazione apparivano su di un display costituito da un tubo a raggi catodici.
Le dimensioni del calcolatore erano di 5,2 metri di lunghezza per 2,2 metri di altezza per un peso di poco inferiore alla tonnellata; le sue 550 valvole, 300 diodi e 250 pentodi, lo portavano a consumare 3500 watt.
Praticamente tutti i componenti con i quali venne costruito il Baby provenivano dal Telecommunications Research Establishment (TRE), ed erano il risultato della ricerca radar e nel campo delle telecomunicazioni sviluppata durante la Seconda guerra mondiale.
Formato del set di istruzioni + Parola da 32 bit bit 0-12 indirizzo di memoria bit 13-15 codice istruzione bit 16-31 non utilizzati I programmi potevano essere scritti con queste 7 istruzioni: A = - S A = A - S S = A if A < 0, CI = CI + 1 (se A è negativo, salta alla prossima istruzione) CI = S CI = CI + S Halt (termina il programma)
A è il registro accumulatore, S il contenuto dell'indirizzo di memoria passato nell'istruzione, CI è l'indirizzo dell'istruzione corrente; un altro registro presente era il PI che conteneva l'istruzione corrente. Specifiche del SSEM.
Inizialmente le sole istruzioni aritmetiche implementate in hardware erano la sottrazione e la negazione, tutte le altre operazioni dovevano essere implementate via software. Perché il Baby aveva solo l'operatore meno e non il più.
Due mesi dopo l'esecuzione del primo programma, il set di istruzione venne aumentato incrementando fino a 4 bit la lunghezza del codice di istruzione, portando così il massimo numero di istruzioni possibili a 16 (non tutte implementate).
Le principali aggiunte furono: A = S A = A + S A = A & S
La tecnologia di memoria Lo scopo del SSEM era quello di dimostrare la possibilità di utilizzare i tubi di Williams-Kilburn (essenzialmente tubi a raggi catodici, CRT) per l'immagazzinamento di dati digitali. La tecnologia di memoria nei primi calcolatori era una parte critica e fortemente limitante, sia per capacità, sia per tempo di accesso.
I tubi di Williams-Kilburn sono stati la soluzione adottata nella costruzione dei primi calcolatori sviluppati dall'Università di Manchester e dalla Ferranti Storia del Manchester Mark 1., la prima azienda costruttrice di computer general purpose disponibili in commercio.
Questa tecnologia venne sviluppata congiuntamente da Freddie Williams e Tom Kilburn a cavallo tra il 1946 e il 1947; il principio che sta dietro al funzionamento di queste memorie è l'emissione secondaria, la persistenza di una carica generata da un segnale emesso dal tubo a raggi su di una estremità del tubo stesso; l'area in questione rimane caricata negativamente per un certo periodo di tempo dopo la fine del raggio catodico e può essere letta come differenza di potenziale elettrostatico mediante una piastra metallica esterna.
Ogni lettura di una particolare area del tubo causa la sua cancellazione; quindi per mantenere l'informazione in memoria ogni lettura deve essere seguita da una scrittura.
La carica in sé ha una durata limitata nel tempo (circa 0,2 secondi) e l'idea di Williams e Kilburn fu quella di rigenerarla per mezzo di successive letture e riscritture, la stessa tecnica che oggi è utilizzata nelle DRAM.
Le memorie costruite per mezzo di questi tubi permettevano tempi di accesso costanti e la mancanza di parti in movimento le rendeva particolarmente veloci per l'epoca; la capacità di immagazzinamento variava dai 500 ai 1000 bit di informazione. I tubi di Williams-Kilburn.
I primi test su questa tecnologia furono effettuati sui tubi più commercialmente diffusi nel 1946, i CV1131 di 300 mm di diametro, il Baby fu costruito però con una versione più piccola; i CV1097 di 150 mm di diametro.Lavington 1998, pp. 12–13.
Il primo programma +Istruzioni1-18,Cazzera l'accumulatore2-19,Ccaricamento +a3SUB 20sottrazione4TESTla differenza è negativa?5ADD 21, CIancora positiva, salta indietro due linee6SUB 22risultato oltrepassato, aggiungi bn7c, 24memorizza +r n8-22, Ccarica bn9SUB 23assegna b(n+1) = bn -110c, 20carica b(n+1)11-20, Ccarica -b(n-1)12c, 22memorizza -b(n+1)13-24, Ccarica -r n14TESTil resto è zero?1525, Csi, salta alla linea 171623, Cno, salta alla linea 217STOPcarica -b(n+1)
+Dati inizialecorrentefinale180 19-a-a20b1bn o b(n+1)b(N+1)21-3 22-b1-bn o -b(n+1)-b(N+1)231 24-r nr N2516
Questa è una ricostruzione del primo programma fatta e annotata nel 1996 da parte di Geoff Tootill, l'originale andato perduto era stato scritto da Tom Kilburn del quale Tootil era assistente. Sia Geoff che Tom hanno lavorato sui loro appunti e ricordi dell'epoca per ricreare il Primo Programma più plausibile. Il Primo Programma ricostruito Esiste anche un documento, datato 18 luglio 1948, che contiene una versione del programma revisionata da Geoff Tootill, costituita però da 19 istruzioni. Perché il programma revisionato aveva due istruzioni in più.
Per fare un esempio il primo programma era in grado di trovare il fattore più grande di , mediante successive sottrazioni e test, in 52 minuti.
In totale il numero dei programmi che sono stati eseguiti sul SSEM ammonta a 3, incluso un programma scritto da Alan Turing per la divisione di numeri 'lunghi'.
Architettura a programma memorizzato Prima della creazione del Baby, i calcolatori esistenti erano progettati per svolgere compiti specifici: il programma che eseguivano era determinato alla creazione del calcolatore stesso e stabilito dai suoi circuiti hardware. Convertire un calcolatore special purpose per risolvere un problema per il quale non era stato progettato costava tempo e denaro; questo può far comprendere quanto la creazione di un calcolatore a programma memorizzato sia stata innovativa.
Una opportuna progettazione dell'architettura hardware di un calcolatore consente di risolvere qualsiasi problema matematico computabile, a patto di riuscire a scrivere un programma abbastanza piccolo e decidibile per tale problema; Alan Turing aveva già teorizzato questo fatto dimostrandolo per la sua Macchina di Turing.
L'architettura utilizzata nel SSEM, nella quale le istruzioni e i dati vengono memorizzati in una stessa memoria, è detta Architettura di von Neumann (dal matematico John von Neumann) e rispecchia l'organizzazione degli attuali processori per PC.
Anniversari L'università e la città di Manchester in occasione del cinquantesimo anniversario dalla creazione della Small Scale Esperimental Machine hanno organizzato una celebrazione che si è tenuta il 17 giugno 1998, in cui è stata fatta ufficialmente partire la replica del Baby (ora conservata nel Museo della Scienza e dell'Industria di Manchester) eseguendo anche lo storico Primo Programma ricostruito per l'occasione. Concorso: Programmare il Baby.
Durante la celebrazione si è svolta la premiazione del concorso di programmazione per il Baby: tutti i partecipanti hanno dovuto sviluppare programmi originali realmente funzionanti su di un simulatore del Baby scritto in Java. Celebrazione del cinquantesimo anniversario.
Il sessantesimo anniversario dalla creazione del SSEM si è svolto il 20 giugno 2008; l'evento ha visto l'inaugurazione della ormai annuale conferenza Kilburn e la consegna delle medaglie per l'eccezionale contributo alla storia dell'informatica ai rimanenti componenti del team che costruì il SSEM. Programma della celebrazione del sessantesimo anniversario.
Note
Bibliografia Marcello Morelli, Dalle calcolatrici ai computer degli anni Cinquanta: i protagonisti e le macchine della storia dell'informatica, Bologna, Franco Angeli, 2001. pp. 238–240. ISBN 88-464-2879-X. Simon Lavington, A History of Manchester Computers, 2ª ed. Swindon, The British Computer Society, 1998. ISBN 1-902505-01-8.
Voci correlate Manchester Mark 1 IAS machine Calcolatrice Elettronica Pisana Macchina Ridotta Z1 (computer) Z2 (computer) Z3 (computer) Colossus ENIAC
Altri progetti
Collegamenti esterni
Categoria:Storia dell'informatica SSEM