Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

4
voti

Archeo-informatica

Indice

Quando i PC non c'erano ancora...


Eravamo varso la fine degli anni 70 e, a dir la verità, qualcosa si sentiva già sussurrare...
Stavamo uscendo da un periodo rigoglioso per la fantascienza, e si sentiva parlare dei "supercomputer" in grado di dominare il mondo (tocca ferro...).
Sicuramente in Silicon Valley (...non c'entra niente con "Tascosa & Green Valley") qualcosa stava già macinando diagnostici di "life-test"; ma tra noi, comuni mortali, i computer si trasportavano ancora con i transpallet (almeno, se non muletti e carri-ponte).

Gli esordi

Ricordo ancora, alla fine di giugno del '75, il mio primo incontro con il GP16 (si: SEDICI, il "papà" del centosessanta) se andate a vedere la foto nell'articolo della terza puntata del "T&GV Operating System", immaginatevi DUE GP-160 sovrapposti, di uno dei quali il pannello frontale era solo... un pannello cieco.

Brevemente: all'interno del "cassetto" con il pannello "cieco" c'era una serie di guide che sostenevano, posizionate verticalmente, fino ad un massimo di otto schede 60 x 30 cm circa, ciascuna delle quali ospitava 4096 locazioni di memoria a 16 bit realizzate con i nuclei magnetici ad anello ( mai sentiti ? QUI un link ) per un massimo di 32768 locazioni di memoria in totale; si, avete letto bene, si tratta di 32K-words o 64K-bytes, ma i K-bytes sono arrivati dopo, allora si ragionava in words.
L'altro cassetto (con i registri luminosi e ad interruttori sul pannello frontale) ospitava guide (sempre verticali) per circa una quindicina di schede 30x30 cm.
Ora non riesco a ricordare bene, ma mi sembra che la prime otto schede, a partire da sinistra, costituissero la CPU vera e propria, per il peso di circa un paio di chili... Le rimanenti guide potevano ospitare le I/O-Cards, cioè le schede di Input e Output.

Standard Input/Output

La prima, e più venerata, si chiamava ASR-33: riuscite ad indovinarne lo scopo ? la sigla era l'acronimo di Asicronous Serial Register, 330 Baud.
Si: era l'interfaccia tra GP-16 e Telescrivente e il software doveva gestire Input e Output in modo inter-dipendete UN BIT ALLA VOLTA, cioè aspettare se e quando arrivava il bit di "start", temporizzarsi per i successivi otto bit del carattere e controllare gli ultimi due bit di "stop", ovviamente doveva ritrasmettere ciascun bit all'hardware per consentire alla macchina di stampare il carattere che era stato inviato.
Ma ci pensate quanto software doveva "girare" solo in seguito alla battuta di un tasto ?
Anche qui un paio di links a Wikipedia: in ITALIANO e in INGLESE; in quest'ultimo, la seconda foto sulla destra ritrae proprio la macchina che ha dato il nome alla scheda di interfaccia e uguale-uguale a quella su cui ho "pestellato i diti" ai miei esordi come programmatore (si cominciava allora a sentirsi definiti "softwar-isti"...)

Controllare il mondo !

Altre schede di interfaccia realizzavano i collegamenti con lettori di schede perforate, stampanti cosidette "parallele"(avevano il connettore d'interfaccia che era già il "Centronics" a vaschetta e lavoravano a otto bit in parallelo: ecco il perchè del "Parallela"); la stessa interfaccia poteva pilotare il perforatore di nastro di carta; c'era il lettore per lo stesso nastro di carta perforata; la telescrivente stessa poteva perforare e leggere il nastro...
poi erano state realizzate delle interfacce "speciali", che, sedici bit alla volta pilotabili uno ad uno con un software poco più che "scemo", vedevano singoli segnali in ingresso (da fotocellule, interruttori, microswitches, sensori vari, ecc.) usando come componenti di collegamento degli isolatori ottici TIL-111 o li pilotavano in uscita, usando dei transistor BUY-82 in open collector, ciascuno per conto suo (relè, lampadine, teleruttori, ecc., ecc., ecc.).
Bene, giusto per aggiungere una chicca: la CPU era temporizzata da un quarzo termostatato che garantiva (...) l'esecuzione di ciascuna istruzione del repertorio nel tempo standard di quattro microsecondi: si, proprio così, duecentocinquantamila istruzioni al secondo. La temporizzazione di un quarzo, però, consentiva cose "strane": se si cercava di indirizzare e pilotare una scheda inesistente, "entravano" segnali casuali (praticamente rumore) se era in input, e non succedeva nulla se era in output, ma non esisteva segnalazione di "istruzione non eseguita".

Il progresso, un rullo compressore!

Col GP-160 cambiò tutto: da due cassetti ad uno solo, CPU asincrona senza quarzo, in funzionamento detto "free-run" ma regolato dall' "hand-shaking" con ciascun dispositivo interrogato (compresa se stessa) e poi... tutto un po' più piccolo e un po' più veloce: 2 microsecondi ogni istruzione, in MEDIA !!, ma oscillanti da un minimo di 0.8 microsecondi ad un massimo di... time-out: CPU in halt per mancata risposta (e mal di testa per capire dov'era l'errore).
Le interfacce "standard" (telescrivente, lettori di nastro e schede, stampanti) erano concentrate (anche tre per scheda) e più "spinte": basta bit x bit, adesso, da e verso la CPU, byte x byte tutte, non solo le "parallele"; ma le schede "speciali" potevano essere sempre le stesse usate sul SEDICI: 16 bit in input o 16 in output uno o più alla volta, come prima.
Già con il GP-16 si poteva espandere fisicamente il tutto con cavi e cassetti aggiuntivi, e la cosa si perpetuò con il 160.
In questo "bestio", il punto focale del sistema era il bus (potete localizzarlo come "back-plan" o anche come "mother-board", ma TASSATIVAMENTE SENZA COMPONENTI SALVO CONNETTORI), cioè uno "SCHEDONE" su cui erano montati dei connettori TUTTI UGUALI TRA LORO (ad esclusione dei tre più a sinistra che ospitavano le tre schede della CPU: ben rimpicciolita come numero di schede, ma aumentate di dimensione: 30 x 50 cm circa).

Dettagli vitali

Sul bus c'erano delle linee che toccavano IN PARALLELO i pin di numero uguale di tutti i connettori che vi erano saldati sopra, altre linee che "entravano" un un pin pari ed "uscivano" del dispari (o viceversa, non ricordo tutto-tutto): la 5V era cablata (supponiamo) sul pin 9 del primo connettore "standard", il pin 10 dello stesso connettore era collegato al pin 9 del connettore successivo e così via fino in fondo al BUS: in questo modo le linee erano segmentate: se la scheda inserita nel connettore n.ro 4 (ad esempio), non consentiva il passaggio della 5V dal pin 9 (in) al 10 (out), la scheda successiva non risultava, in qualche modo, abilitata a certe o tutte le sue funzioni. Le linee "continue" erano divise in "Power-bus" (ovvio), "Data-bus" (a diciotto bit: controllo di parità con il "nono" bit su ogni byte), "Address-bus" (sedici bit: indirizzava sia memoria che I/O) e, in parte, il "Control-bus": quest'ultimo era in gran parte segmentato, alcune delle linee continue servivano, ad esempio, alla selezione tra memoria ed I/O eccetera, eccetera, eccetera.
I connettori più a sinistra, come detto, erano riservati alla CPU (le schede erano, rispettivamente, CNT, EXC ed AUN) ed erano origine di quasi tutti i segnali del bus; tutti i connettori successivi NON erano specializzati salvo gli ultimi otto, ma questi solo "meccanicamente": erano un po' più distanziati tra di loro per poter accogliere otto moduli di memoria a nuclei (sempre loro, ma più compressi del GP-16) sempre per un totale di 32 Kword.

Espandersi necesse est

Se il numero di connettori rimasti disponibili erano troppo pochi per i collegamenti all'impianto da controllare ?
Esistevano le espansioni del bus: queste dovevano, necessariamente, "espandere" sia le linee "continue" sia le "segmentate"; orbene: le coppie di schede che realizzavano queste espansioni (CTE +cavo+ ETC) costituivano delle "transizioni di livello" meccanico ed elettrico, in questo modo: dal bus del computer, connettore 10 (tanto per dire un numero), si andava al connettore 6 di un cassetto, dal connettore 11, del computer si andava al connettore 6 di un altro cassetto: bene, ma se i connettori disponibili non erano ancora sufficienti ? Si partiva del connettore 9 di un cassetto e si andava al 6 di un ulteriore cassetto. Allora il percorso di un segnale da una delle schede di memoria (le ultime del cassetto-CPU) passava lungo la parte destra del bus fino alla seconda scheda CTE montata sul connettore 11, andava al connettore 6 del cassetto di primo livello, di qui all'ultimo connettore, poi di scheda in scheda (su QUESTO bus) fino alla prima e poi di ritorno al connettore 6, a questo punto tornava all'11 del cassetto-CPU, poi al 10, altra discesa nell'altro cassetto, ulteriore salto di livello se c'era un ulteriore cassetto come prospettato prima e pian-piano ritornava al connettore 10 per giungere, sudato, stremato e sfiancato, alla CPU.

Guai standard

E se c'era qualche instabilità sui connettori ? se una delle schede attraversate faceva i capricci ?
Immaginatevelo un po'.... Questa struttura giustificava, in parte, la "asincronicità" della CPU e il ricorso all' "hand-shaking": c'era qualche segnale che era immediato, faceva poca strada, altri che (quasi) prendevano il piroscafo.
Che tempi, ragazzi miei, che tempi...

Link

Girovagando in rete, ho anche trovato buone foto: qualcuno ha prodotto un po' di "visual-doc" ben migliore e più dettagliata della mia e credo sia un (ex ?) collega perchè la targhetta della ragione sociale in alto nella prima foto è dell'azienda che mi assunse nel '75 e ancora oggi devo ringraziare per lo stipendio (anche se ha cambiato un po' il nome).
Cliccate QUI e scorrete la pagina: sono belle foto che mi fanno anche venire un po' il magone...

... Alla prossima !!!

2

Commenti e note

Inserisci un commento

di ,

Non ho mai avuto l'occasione di considerare una simile applicazione del '160, noi lo avevamo installato come "gestore" delle macchine preposte allo smistamento della corrispondenza e, per un certo tempo, un 160 costituiva il "nodo" di comunicazione con "il mondo" per un kit di elaboratori paralleli (costruiti un po' sul repertorio delle istruzioni del 160) che costituivano l'OCR veloce dell'impianto di smistamento (uno x ciascun impianto): era in grado di arrivare a riconoscere il 90% dell'ultima riga delle lettere che scandiva alla velocità di 2,5 metri al secondo (poco meno di 10 km/h); in pratica "leggeva" località, CAP e provincia, ma erano gli anni 70... Devo proprio allo studio che ho dovuto affrontare con il 160 se la gestione degli interrupt non mi crea troppa difficoltà, anzi: nel 160 ogni periferica aveva il PROPRIO "canale" per l'interrupt (max una TEORICA cinquantina di periferiche), il PIC deve gestire i vari interrupt usando un unico accesso... beh, dopotutto è ben più piccino del 160...

Rispondi

di ,

GP160 - Selenia Se la memoria non mi fa difetto era il sistema che la SIP addottò per la TUT, Tariffa Urbana a Tempo per le centrali telefoniche di tecnica Siemens. Sono passati 25 anni da quando frequentai il corso per operatori del sistema TUT. Si interfacciava con i ISG (primi selettori di gruppo) e controllava che tutti i criteri elettrici fossero regolari oltre a "scandire" la tassazione. Funzionò fino all'avvento delle centrali a commutazione numerica, Poi fu smantellata assieme agli operatori, pure loro "obsoleti". :)

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.