|
Appunti informatica |
|
Visite: 1472 | Gradito: | [ Medio appunti ] |
Leggi anche appunti:CpuCPU L'unità centrale di elaborazione può essere realizzata con un solo circuito Architettura RISCdArchitettura RISCd Il tipo fondamentale di RISCd è l'intero a 32 bit, corrispondente La gestione delle perifericheLA GESTIONE DELLE PERIFERICHE Il modulo del sistema operativo preposto al |
Elea 9003
ELEA 9003 è un calcolatore dalle grandissime dimensioni e prestazioni, adatto ad elaborazioni estremamente complesse ed onerose e quindi ammortizzabile nel costo solo da aziende ed enti con migliaia di dipendenti e notevole giro di affari. Questo è definito nella documentazione tecnica dei tempo 'macchina universale,e quindi adatta anche a risolvere problemi di natura scientifica, ma per le sue dimensioni ed i suoi costi di gestione fu utilizzata prevalentemente per elaborazioni contabili e statistiche. Nel 1961 fu invece realizzata dalla Divisione Elettronica una macchina di dimensioni, prestazioni e costi più contenuti e più prettamente indirizzata ad elaborazioni tecnico-scientifiche che contabili, anche di grande complessità computazionale. Questo elaboratore fu battezzato ELEA 6001.
ELEA 9003 riusciva ad elaborare ogni secondo oltre 100 mila informazioni garantendo:
- Simultaneità operativa: lettura e trascrizione da uno ad altro nastro magnetico, con ricerca automatica simultanea su più unità e calcolo; lettura di schede, simultanea a registrazione su nastro magnetico e calcolo; lettura di nastro magnetico simultaneo a stampa.
- Apparecchiature di ingresso e di uscita in linea e fuori linea.
- Possibilità di operare fin su venti unità a nastro magnetico.
- Controllo correttezza su tutte le operazioni aritmetiche, di trasferimento e di ingresso-uscita.
- Fino a tre tamburi magnetici della capacità di 122 mila caratteri.
- Memoria a nuclei magnetici di ferrite, con tempo di accesso di 10 microsecondi, della capacità di 20, 40 fino a 160 mila caratteri.
La parte centrale dei sistema è costituito da un calcolatore numerico universale a programma registrato in memoria centrale.
Come già sottolineato, nella sua costruzione sono usati come componenti attivi esclusivamente transistor. Gli organi d'immagazzinamento delle informazioni sono tutti a nuclei di ferrite mentre le funzioni logiche sono realizzate con diodi e transistor al germanio.
Nell'interno del calcolatore le informazioni sono rappresentate in forma alfanumerica decimale codificata in binario, in modo da poter sfruttare nella costruzione degli elementi circuitali tutti i vantaggi di semplicità e sicurezza offerti dalla logica a due valori.
In particolare il codice binario con cui sono formati i caratteri è di sei bit che consentono di formare 64 configurazioni diverse le quali includono numerosi segni algebrici e di interpunzione.
Le informazioni possono essere introdotte mediante:
schede perforate,
banda di carta perforata,
nastri magnetici,
tastiera manuale d'interrogazione;
Mentre possono essere estratte su:
schede perforate,
banda di carta perforata, nastri magnetici,
stampante parallela,
stazione di risposta alle interrogazioni.
Le caratteristiche essenziali di queste apparecchiatura saranno descritte in seguito, sin da ora però conviene accennare ai nastri magnetici che occupano una posizione particolare nel sistema. Per le loro caratteristiche di consentire l'immagazzinamento di una gran quantità d'informazioni in poco spazio, d'essere asportabili in forma di bobine e di poter fornire o prelevare informazioni dal calcolatore a gran velocità, i nastri possono anche servire come supporto intermedio delle informazioni fra il calcolatore e gli organi periferici più lenti.
Nascono così alcune apparecchiatura di conversione, non direttamente connesse al calcolatore, che consentono di migliorare ulteriormente le prestazioni complessive dei sistema quando il flusso di dati entranti o uscenti è particolarmente grande. Esse sono:
- il convertitore da scheda a nastro magnetico,
- il convertitore da banda perforata a nastro magnetico,
- il convertitore da nastro magnetico a scheda,
- il convertitore da nastro magnetico a stampa.
Quando queste apparecchiatura sono usate il percorso delle informazioni è il seguente. In entrata:
- da scheda o banda a nastro magnetico,
- da nastro magnetico a calcolatore;
in uscita:
- da calcolatore a nastro magnetico,
- da nastro magnetico a scheda o stampa.
Per dare un'idea dei perché un tale modo di procedere risultava conveniente si può osservare che un entrata da banda avviene a circa 800 caratteri ai secondo, una da scheda a 330, mentre da nastro dai 45 mila fino ai 90 mila caratteri al secondo e quindi ben due ordini di grandezza più rapidamente.
Inoltre il nastro magnetico ha una densità di registrazione molto elevata, è riutilizzabile più volte, è duplicabile autonomamente dal Governo Unità a Nastro in meno di 5 minuti per realizzare una copia di backup, mantenendo quindi irrisorio il costo unitario di archiviazione ed il tempo per la consultazione o l'aggiornamento. Per dare un'idea, per conservare su schede i dati che possono essere contenuti su una bobina di nastro magnetico sarebbero necessari 50 cassetti riempiti con 3000 schede l'uno.
Ritornando al calcolatore e alle apparecchiature ad esso direttamente connesse, facciamo riferimento alla fig. 2 per identificarne gli organi principali.
Le informazioni che entrano sono sempre convogliate nella memoria principale, da essa sono prelevate le informazioni in uscita, vi sono conservati i risultati intermedi, il programma, le costanti d'immediata consultazione, ecc. La memoria principale è quindi il punto di passaggio obbligato per tutte le informazioni.
E' costituita da nuclei di ferrite a ciclo d'isteresi rettangolare: 10 mila nuclei sono montati su un piano, 7 piani sovrapposti contengono i 70 mila bit necessari a rappresentare 10 mila caratteri alfanumerici più il bit di disparità. Due di questi elementi costituiscono la minima unità funzionale di memoria: il 9003 può integrare fino ad otto di queste unità per una capacità che va dai 20 ai 160 K caratteri. L'indirizzamento è sul singolo carattere.
Benché fisicamente nella memoria non vi siano altre suddivisioni riconoscibili, dal punto di vista dell'utilizzazione gruppi di caratteri che fanno parte di uno stesso insieme operativo sono chiamati 'parole'.
Come ovvio una parola è per esempio un numero decimale composto da più cifre e segno, un nome, una data. Nel 9003 una parola è identificata dal suo indirizzo iniziale e dalla lunghezza. Indirizzo iniziale è quello dei suo carattere di destra, il meno significativo. La lunghezza è espressa mediante un numero di due cifre, oppure è identificata da un carattere di fine parola.
L'ELEA 9003 è dunque una macchina a parola di lunghezza variabile praticamente senza limitazioni.
Il tempo d'accesso ad un qualsiasi carattere nella memoria è di 10 microsecondi. In questo tempo si può estrarre o introdurre un carattere o operare su di esso. Caratteri successivi di una parola sono letti o scritti in tempi successivi.
Una parola particolare, di lunghezza fissa di 8 caratteri, è l'istruzione.
L'interpretazione delle istruzioni è fatta nell'organo che nella fig. 2 è denominato 'GOVERNO'. Quest'organo trasforma le istruzioni in segnali elettrici di controllo, ed è in grado di tener conto delle segnalazioni provenienti dalle unità periferiche con una metodica per l'epoca rivoluzionaria e che ricorda molto il concetto di 'interrupt' introdotto solo più tardi. Questo dettaglio operativo permette di gestire più processi in parallelo con una assegnata priorità e attivati in funzione delle risorse disponibili. Per variare il corso delle operazioni da seguire inoltre è fondamentale la caratteristica, comune dei resto a tutte le macchine a programma memorizzato, di poter operare sulle istruzioni stesse come su dati qualsiasi.
L'organo elaboratore dei 9003 è ovviamente l'unità aritmetico-logica. In essa sono eseguite le operazioni aritmetiche fondamentali su numeri di lunghezza qualsiasi e le operazioni dell'algebra di Boole.
La durata di tutte le operazioni citate è funzione del numero di caratteri contenuti negli operandi, mentre il tempo necessario per operare su due cifre è di 10 microsecondi. Tutti i calcoli aritmetici sono controllati mediante l'applicazione di una regola analoga alla prova dei 9.
Un altro controllo, molto più generale, è quello relativo all'esattezza delle informazioni che fluiscono attraverso i vari organi dell'elaboratore. Infatti i caratteri sono composti fisicamente da un bit in più di quelli strettamente necessari per comporre le 64 configurazioni possibili: 7 bit invece che 6. Il settimo bit è il bit di disparità, che assume il valore che rende dispari la somma degli '1 ' codificanti il carattere.
Il principale supporto delle informazioni fuori dalla memoria principale sono i nastri magnetici. Si è già visto come possano servire da mezzo d'entrata e uscita dall'elaboratore o come supporto intermedio fra organi più lenti e l'elaboratore stesso.
I nastri sono di myiar coperto su una faccia da ossido di ferro. Hanno una larghezza di mezzo pollice e sono avvolti alla velocità di 3.8 metri al secondo in bobine della lunghezza di 1100 metri. Per utilizzarli si montano su apparecchiatura apposite, le 'Unità a Nastro Magnetico', che consentono di svolgere e riavvolgere le bobine, di leggerci e scriverci informazioni sotto il controllo del Governo Unità a Nastro Magnetico. Questo è un organo intermedio capace di una limitata indipendenza condizionata da ordini ricevuti dall'Unità Centrale. Fino a 20 Unità a Nastro, con un minimo di 4, possono essere collegate al Governo Unità: ciascuna di esse può contenere una bobina della capacità di 12.8 milioni di caratteri. Le 20 Unità a Nastro collegabili mettono perciò a diretta disposizione dell'elaboratore fino a 256 milioni di caratteri. La velocità di lettura o registrazione è di 45 mila caratteri al secondo su ciascuna di esse ma può balzare a 90 mila caratteri al secondo se vengono usate unità a nastro da 1 pollice. Nel primo caso infatti la densità di registrazione è di 300 caratteri per pollice (1 18 per centimetro) mentre nel secondo si arriva a 600 per pollice (236 caratteri per centimetro) riuscendo così a contenere fino a 25.6 milioni di caratteri a bobina, per un complessivo massimale di 512 milioni di informazioni a disposizione contemporaneamente! Una capacità di memoria in linea all'epoca assolutamente inconsueta.
I comandi che l'Unità Centrale può inviare al Governo Unità a Nastro si dividono in due categorie: quelli che impegnano anche l'elaboratore quali ad esempio
- leggere un nastro e inviarne il contenuto in memoria,
- registrare un nastro prelevando i dati dalla memoria,
- leggere da un nastro e simultaneamente registrare su un altro previa elaborazione intermedia,
- leggere e registrare secondo una speciale direttrice d'indirizzi;
e quelli che sono eseguiti dal Governo Unità in maniera autonoma quali ad esempio
- leggere da un nastro trasferendone il contenuto su un altro,
- ricercare una particolare informazione su un nastro ed eventualmente trasferirne il contenuto su una seconda bobina fino al
record puntato,
posizionare il nastro su un record determinato .L'esattezza delle informazioni memorizzate sul nastro è controllata con i metodi generali del controllo di disparità. Un particolare controllo è invece eseguito all'atto della registrazione: l'informazione, appena registrata con una testina, è riletta da un'altra testina e confrontata col contenuto di una apposita memoria tampone a nuclei magnetici (di 2048 caratteri) integrata nell'unità stessa.
L'Unità a Nastro poteva inoltre essere dotata di un dispositivo col quale si potevano fare delle ricerche tabellari su nastro, senza impegnare in alcun modo né il Governo dei Nastri Magnetici né l'Unità Centrale.
Un altro gruppo d'organi d'immagazzinamento ausiliario delle informazioni, ormai spariti da una ventina di anni ma che ritroviamo ovviamente nel 9003, sono i tamburi magnetici. Fino a tre tamburi si possono collegare ad un 'Governo Unità a Tamburo'. Ciascuno ha la capacità di 122 mila caratteri (1920 caratteri su ognuna delle 64 piste), con un tempo di accesso di circa 10 millisecondi, molto ridotto per il fatto che ogni traccia ha la propria testina con cui si possono leggere o trasferire informazioni di lunghezza compresa fra 1 e 1920 caratteri alla frequenza di 90 mila caratteri al secondo. i tamburi magnetici erano usati solitamente per i moduli dei sistema operativo e per le librerie di programmi traduttori e compilatori di più frequente utilizzo.
In sintesi gli organi d'ingresso sono: i nastri magnetici,
il lettore di banda perforata,
il lettore di schede perforate
la tastiera della stazione d'interrogazione,
mentre gli organi d'uscita sono: - i nastri magnetici,
- i perforatori di banda, - i perforatori di schede, - le stampanti parallele, - la macchina per scrivere della stazione d'interrogazione.
Dei nastri magnetici, coordinati dal Governo Unità a Nastro, si è già parlato
La macchina da scrivere e la tastiera della stazione d'interrogazione consentono l'accesso diretto bidirezionale alla memoria principale dei calcolatore e hanno lo scopo di dare un mezzo per agire in modo facile e immediato quando le informazioni che interessano sono molto poche e il loro flusso imprevedibile. Alla macchina da scrivere automatica è connesso inoltre un perforatore di banda di carta. Le operazioni di scrittura e perforazione sono simultanee e avvengono alla velocità di 6 caratteri al secondo.
Tutte le altre apparecchiatura d'entrata e uscita sono connesse all'Unità centrale attraverso il Governo Unità in Linea che ha lo scopo, analogo a quello degli altri organi di Governo subordinati, di consentire il funzionamento simultaneo e semi-indipendente dei vari organi periferici.
Il Governo Unità in Linea, in particolare, consente che siano in funzione con assoluta simultaneità reciproca e contemporaneità rispetto all'elaborazione, fino a 10 unità scelte comunque fra:
- lettori di schede,
perforatori di schede,
-lettori di banda di carta perforata,
-stampanti parallele.
I dati essenziali caratteristici di queste apparecchiatura sono i seguenti.
Lettore di schede: è una macchina a due piste d'alimentazione e legge schede alla velocità di 250 schede al minuto per pista. La lettura viene fatta due volte per controllo. Le due piste possono essere comandate separatamente.
Perforatore di schede: perfora schede alla velocità di 1 50 schede al minuto. La scheda appena perforata viene riletta per controllare l'esattezza delle perforazioni.
Lettore di banda di carta perforata: legge banda a 6 fori alla velocità di 800 caratteri al secondo. La lettura viene fatta due volte per controllo.
Stampanti parallele: al Governo Unità in Linea possono venir connesse due tipi di stampanti parallele. Una stampante a media velocità da 300 righe al minuto, 120 caratteri per riga, 36 caratteri diversi, una memoria tampone a nuclei magnetici da 140 caratteri. Una stampante ad alta velocità da 600 righe al minuto, 120 caratteri per riga, 54 caratteri diversi, una memoria tampone a nuclei magnetici da 140 caratteri.
Le stesse apparecchiatura qui citate sono quelle utilizzate fuori linea per preparare nastri magnetici da schede o banda di carta o per trasferire il contenuto dei nastri su schede o stampa.
Conclusioni
Come si è visto l'unità centrale dei 9003 ha alle sue dipendenze un notevole numero d'organi periferici ed apparecchiature capaci di lavorare parallelamente, in piena autonomia, o integrandosi nel flusso informativo dei canali. Ognuna di queste unità era progettata e costruita in Olivetti.
Questo aspetto è di particolare rilevanza e mette in risalto l'enorme sforzo a cui era sottoposta l'azienda di lvrea dal 1955. Tutto il lavoro di analisi e di sintesi, il progetto della meccanica delle unità periferiche, degli apparati elettronici di governo, dei protocollo di comunicazione fra le singole componenti, il progetto delle unità di memoria, lo studio dell'architettura dell'elaboratore e delle soluzioni tecnologiche da adottare per massimizzarne le prestazioni, il design dei singolo elemento e dei sistema nella sua completezza curata da Ettore Sottsass jr, la scrittura del nucleo dei sistema operativo, dell'assemblatore, dei compilatori, si basava solo su singole esperienze personali dei giovani ingegneri Mario Tchou e Giorgio Sacerdoti e non su un know-how radicato. Non ci scordiamo infatti che solo in quegli anni iniziavamo ad uscire da una situazione di assoluto isolamento culturale.
Dunque pressoché inesistente era la nostra esperienza in merito, sia in materia di elettronica che di programmazione; eppure l'immenso lavoro di ricerca e sviluppo realizzato in quegli anni in Italia, da italiani, in un'azienda italiana, in maniera assolutamente autodidatta, pionieristica e secondo alcuni avventata ma con totale abnegazione e serietà, portò a risultati inaspettati, assolutamente originali ed estremamente funzionali, efficaci e competitivi.
L'assenza di un vissuto, di una storia, p metteva di procedere su strade nuove cui 1 l'innovazione era totale: ciò ci permise di immettere sul mercato per primi mondo un elaboratore dalle dimensioni colossali totalmente transistorizzato, dal memoria centrale vastissima per quei tempi (160 K caratteri), dalla disponibili in linea di una memoria di massa della capienza enorme che arrivava fino a 500 milioni di caratteri (le 20 unità a nastro), dal disponibilità in linea di tre tamburi magnetici per una capacità complessiva di 36 mila caratteri per i vari moduli e sotto moduli del sistema operativo ed i program di utilità. Quindi elevatissima 'scalabilità' volendo utilizzare un termine che all'epoca poteva essere usato con cognizione causa solo da un alpinista!
Un sistema dalle prestazioni globali ci supercalcolatore, ed ancora una volta con una inaspettata ed assolutamente originai economicità di installazione e manutenzione. Infatti, come si vede dalle foto d'epoca, le guide dei cavi di collegamento fra I varie unità erano poste in alto e quindi no c'era bisogno delle consuete, quanto costose, ripavimentazioni in pannelli per passarvi sotto cavi e condutture per la ventilazione. Anche in questo contesto, una piccola rivoluzione.
Sfruttare bene tutta questa potenza tutta questa simultaneità operativa era ovviamente molto importante per permette re alla macchina un livello d'utilizzo medi quanto più elevato possibile. Ciò poteva costituire un problema abbastanza onero so per il programmatore.
Per soddisfare questa esigenza, ovvero per mantenere la macchina sempre attiva evitando antieconomici cicli inoperosi, era no attivabili in concorrenza sulla risorsa 'Unità Centrale' fino a tre processi in parallelo. Queste sequenze di programma potevano venire iniziate contemporanea mente, ed eseguite secondo un sistema d priorità dei tutto automatico che teneva conto della disponibilità delle risorse. S un processo richiedeva informazioni ali Stazione di Risposta manuale o attivava la ricerca di una particolare informazione su un nastro o richiedeva di portare un nastro in una posizione determinata per un'operazione di lettura, l'Unità di Governo Centrale si occupava di mandare l'ordine al Governo Unità della periferica e di attivare intanto uno dei due processi concorrenti ibernati, in base appunto ad un criterio di disponibilità.
Una delle caratteristiche dell'ELEA 9003 che permette una efficiente multiprogrammazione è la disponibilità di due canali di trasferimento (l'interno e l'esterno).Il canale interno serve fondamentalmente a collegare la memoria principale all'unità aritmeticologica, al governo dei calcolatore, al sincronizzatore delle unità in linea.
Il canale esterno è utilizzato invece il collegamento della memoria con le unità di governo dei nastri e tamburi magnetici e per il collegamento fra due diverse zone di memoria.
La macchina è in grado quindi di eseguire simultaneamente più istruzioni che occupino organi esecutivi diversi (canale interno, canale esterno, governo unità a nastro, unità di ingresso e uscita in linea). Ad esempio possono essere eseguite contemporaneamente:
- una operazione aritmetica o di trasferimento interno;
- una operazione di stampa per mezzo della stazione di risposta alle interrogazioni;
- una lettura o registrazione da tamburo magnetico;
- una ricerca automatica su nastro magnetico;
- una o più operazioni di riavvolgimento di nastri magnetici;
- una o più operazioni di ingresso e uscita, per mezzo delle unità in linea a schede o a nastro perforato e su stampanti parallele.
Si ottengono prestazioni ottimali però solo componendo opportunamente ed oculatamente la terna di programmi da mandare contemporaneamente in esecuzione. Infatti è necessario ad esempio che:
- il primo contenga per la maggior parte delle istruzioni riguardanti gli organi dell'unità centrale;
- il secondo contenga per la maggior parte istruzioni riguardanti le unità a nastro e a tamburo magnetico;
il terzo istruzioni relative alle unità a schede perforate e alle stampanti parallele in linea.
Nonostante ci troviamo all'alba della storia dell'informatica siamo di fronte ad un Il cervello elettronico' (come lo si amava definire) in cui la complessità del sistema operativo è piuttosto elevata. I grandi calcolatori della prima metà degli anni '50 esprimevano invece una estrema complessità circuitale, ma una povera dotazione di strumenti software che aggiungessero intelligenza e servizi: con gli strumenti di allora non si poteva che operare a 'livello macchina'. Coi 9003 questa tendenza è mutata in maniera forte, grazie all'evoluzione dell'elettronica, alla maggiore disponibilità di memoria e per l'esigenza di rendere disponibili strumenti di supporto alla programmazione. Inoltre fanno la loro prima apparizione utility di varia natura parallelamente a sofisticazioni introdotte a livello di sistema operativo per la gestione intelligente degli eventi e l'incremento delle prestazioni medie. In altre parole più spazio alla tecnologia software, con la microprogrammazione, che al puro e solo cablaggio.
Ciò permise l'ingresso della multiprogrammazione, ma anche la disponibilità di una vastissima biblioteca di programmi per lavori scientifici, tecnici, amministrativi e sistemi di 'autoprogrammazione', ovvero i primi linguaggi ad alto livello in un tempo in cui il FORTRAN era appena nato e per il COBOL c'era ancora da attendere parecchio
Appunti su: |
|