Valutazione attuale:  / 0
ScarsoOttimo 

Il 360 IBM. L'hardware.

Questa nuovissima serie di mainframe prodotta dalla IBM si può considerare il primo insieme di macchine dotate di caratteristiche da considerarsi definitive per la IBM; queta fu la prima serie di macchine della terza generazione.

Si iniziò a parlare di serie, in quanto con l'annuncio del 360 la IBM cominciò a produrre gruppi di macchine tra lore molto simili per caratteristiche, ma diverse per potenza; ogni serie era costituita da un certo numero di modelli, i primi dei quali venivano annunciati e proposti tutti insieme alla clientela; inoltre durante il ciclo di vita della serie, venivano aggiunti nuovi modelli, che in genere avevano potenza maggiore.

Ho parlato delle caratteristiche "definitive" in quanto l'IBM dichiarò che a partire dall'avvento del 360 avrebbe fatto il massimo sforzo per far sì che tutto il software applicativo prodotto dai propri clienti, rimanesse compatibile con ogni nuovo hardware e possibilmente anche nuovo software di base.

Il fatto fondamentale fu quindi quello aver definito un set di istruzioni che non sarebbe mai più cambiato nel futuro, o che mantenendo sempre la compatibilità con le istruzioni del passato, si sarebbe eventualmente soltanto arricchito di nuove istruzioni; da queste dichiarazioni di intenti, scaturì il fatto che tutto il software prodotto avrebbe continuato a funzionare su qualsiasi hardware futuro, e quando il cliente avesse cominciato ad usare le nuove istruzioni, soltanto gli ultimi programmi scritti non avrebbero funzionato sulle macchine precedenti; era nata quindi la compatibilità "in avanti", cioè quella compatibilità che assicurava il funzionamento dei vecchi programmi sulle nuove macchine, ma non quella dei nuovi programmi sulle vecchie macchine.

Il 360 era una macchina completamente nuova, ricchissima di novità sia nei componenti hardware sia nell'architettura; ed infatti:

  • Anche se rimanevano visibili una discreta quantità di transistors saldati sulle solite schede, comiciavano ad essere usate anche altre schede che al loro posto avevano invece dei piccoli parallelepipedi schiacciati della dimensione di circa 2 cm. di lato ed alti circa 4 mm. (si trattava di piccoli contenitori con le pareti di alluminio, al cui interno erano contenuti i primi circuiti integrati prodotti dalla IBM).
  • La memoria non era più realizzata con nuclei di ferrite, ma si cominciavano ad usare memorie dove ciascun bit era un flip-flop a transistors che a seconda del suo stato poteva rappresentare il valore binario 0 o 1.
  • Molti dei collegamenti sui backplanes non erano più realizzati in wire-up, ma iniziava l'era dei circuiti stampati multistrato.
  • Dal punto di vista architetturale la memoria era realizzata con gruppi di ottetti di bits singolarmente indirizzabili (finalmente arrivava il byte); come oggi in ogni byte poteva essere contenuto una cifra decimale, una lettera dell'alfabeto o un carattere speciale e la codifica utilizzata era l'EBCDIC (codice propietario IBM ancora usato nei suoi attuali mainframe); i bytes erano usati singolarmente o in gruppi anche per contenere valori numerici espressi in binario o in certi casi in un formato particolare chiamato packed.
  • Le istruzioni erano di lunghezza variabile e contenevano molto spesso la lunghezza del campo su cui si intendeva operare.
  • Erano consentite operazioni sia di spostamento che di calcolo tra memoria e memoria.
  • L'hardware aveva una completa gestione delle interruzioni e un meccanismo di protezione della memoria
  • Esisteva un gruppo di istruzioni privilegiate (istruzioni che potevano essere eseguite soltanto se la macchina era posta in un particolare stato) che accoppiato con sistemi di interruzioni e protezione della memoria, consentiva (se un apposito software di base lo avesse voluto) di realizzare un sistema multitasking capace di eseguire più programmi contemporaneamente, bloccando ogni accessa alla memoria che non fosse provenuto dal codice del programma stesso.
  • Particolare che apparve molto strano a noi programmatori di quell'epoca, era che nel set di istruzione della macchina non esisteva più un'istruzione di STOP, cioè un'istruzione capace di far fermare l'elaborazione (per poi riprenderla con la pressione di un apposito tasto di START). Nel 360 quindi l'esecuzione delle istruzioni una volta iniziata, non poteva mai più fermarsi; tutto al più si poteva mettere la CPU in uno "stato di wait" che avrebbe tenuto il programma applicativo "dormiente" fino al verificarsi di un evento; passare in stato di WAIT significava mettere la CPU a disposizione di un software di supervisione che avrebbe provveduto ad utilizzarla lui stesso o a destinarnla ad altro programma che fosse attivo contemporaneamente; naturalmente però tutto questo meccanismo prevedeva l'utilizzo di un software di base creato appositamente.
  • Per l'indirizzamento erano stati resi disponibili 15 registri (i registri base) della dimensione di 4 bytes ciascuno; questa scelta consentiva di inserire in ogni singola istruzione, indirizzi di dimensioni molto più piccole (12 bits nel caso del set di istruzionei del 360) e di citare un registro base (altri 4 bits) che rappresentava l'indirizzo del registro che avrebbe dovuto contenere l'offset da cui si intendeva far calcolare l'indirizzo effettivo; questo offset era contenuto nei tre byte di ordine basso dei registri base e poichè il massimo numero rappresentabile con 24 bits (i 3 bytes) è 16.777.216, ne conseguì che l'indirizzo massimo teorico rappresentabile nel 360 (e nelle serie successive) era di 16 Mbytes; questo limite (tenuto conto che i primi modelli di 360 avevano una memoria centrale di solo qualche centinaio di Kbytes) dava un'idea di quanto lontano avesse guardato l'IBM nel definire l'architettura "definitiva" delle sue macchine; naturalmente oggi questi numeri ci farebbero sorridere ed infatti durante l'evoluzione dei mainframe la IBM si dovette rendere conto che quella previsione, così abbondante per gli anni 60, era diventata ben presto una grossa limitazione che richiese di escogitare un'apposita brillante soluzione.
  • La gestione della macchina veniva fatta come nel 7070 a mezzo di una console; anche questa era una specie di telescrivente che però a differenza della precedente era dotata della famosa e veloce testina di stampa a pallina (già nota per essere stata usata nelle ultime macchine da scrivere IBM).

Fin dall'annuncio della serie 360 l'IBM dichiarò che sarebbero stati subito disponibili i modelli 30 e 40 (di potenze diverse), e che nel futuro sarebbero arrivati altri modelli di potenza superiore; infatti nel giro di una decina di anni furono prodotti i modelli 50, 55, 58, 65 e 68 tutti sempre più potenti, e anche un modello 25 di più piccola potenza.

 
Curiosità 

Come le precedenti, queste macchine venivano di solito noleggiate dalla IBM, sia perchè avevano un costo di acquisto elevatissimo, sia perchè era prevedibile che avrebbero avuto una rapida obsolescenza; il noleggio veniva pagato per ogni singola unità e prevedeva però per ciascuna macchina un massimo di ore di uso al giorno; ogni macchina era perciò dotata di un orologio che registrava il suo tempo di "power on" e al termine di ogni mese la IBM effettuava la lettura dei contatori ed addebitava al cliente le ore del cosiddetto "extra shift" che veniva pagato come eccedenza.

 

Torna all'indice