INMOS Transputer: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
→Implementazioni: rimossi wl secondo linee guida vedi Wikipedia:Wikilink#Wikilink nei titoli di sezioni e sottosezioni |
||
(71 versioni intermedie di 42 utenti non mostrate) | |||
Riga 1:
{{F|microprocessori|marzo 2013|Nessuna fonte}}
Il '''INMOS Transputer''' era un pioneristico design di un [[microprocessore]] per il [[calcolo parallelo]] prodotto dalla [[INMOS]], una piccola azienda inglese, negli [[Anni 1980|anni '80]]. Per qualche tempo nel tardo 1980, molti considerarono il Transputer come il nuovo progetto per il calcolo del futuro. Oggi, solo un decennio più tardi, questo interessante microprocessore è completamente dimenticato.▼
[[File:Tranputer 83.jpg|thumb|Transputer]]
▲Il '''INMOS Transputer''' era un
== Background ==
Nei primi anni '80 sembrava che le [[CPU]] convenzionali avessero raggiunto il loro limite riguardo alle ''performance''. Fino a
Sembrò che l'unico modo fosse implementare l'uso del parallelismo, cioè l'uso di svariate CPU che avrebbero lavorato assieme per compiere diversi compiti allo stesso tempo. Tutto ciò dipendeva dalla possibilità della macchina di essere in grado di eseguire più processi allo stesso tempo, capacità nota come [[multitasking]], troppo difficile da eseguire fino ad allora, ma supportata dai processori di nuova generazione. Fu chiaro che in futuro questa caratteristica sarebbe stata supportata da tutti i [[sistema operativo|sistemi operativi]].
Un effetto collaterale di molte architetture ''multitasking'' è che spesso permette di eseguire i processi su CPU fisicamente differenti, nel qual caso il processo è noto come ''[[multiprocessing]]''. Una CPU a basso costo, pensata in quest'ottica, avrebbe permesso di aumentare la velocità di calcolo di una macchina aggiungendo altri processori simili, scelta potenzialmente molto più economica di una basata su un singolo e più potente processore.
==
Il
Originariamente il piano era di far costare i Transputer solo pochi dollari a unità. La INMOS li vide usati praticamente per
Anche un singolo Transputer avrebbe avuto tutti i circuiti necessari per lavorare da solo, una caratteristica più comunemente associata ai [[microcontrollore|microcontrollori]]. L'idea, in questo caso, era di permettere ai Transputer di essere connessi assieme il più
===
Il progetto di base del Transputer includeva dei link seriali che gli permettevano di comunicare con altri Transputer (fino a quattro
C'erano dei limiti alla grandezza di un sistema che poteva essere creato a questo modo. Siccome ogni Transputer era connesso a un altro in uno schema fisso punto-a-punto, mandare messaggi a un Transputer più distante richiedeva che questo fosse ridirezionato da ogni chip sulla linea. Questo introduceva un ritardo a ogni "hop", portando a grossi ritardi su grosse reti. Per risolvere questo problema INMOS fornì anche uno [[switch]] a ritardo-zero che connetteva fino a 32 Transputer (o switch) in reti anche più grandi.
=== Scheduler ===
A supportare i link era una parte di circuito addizionale che trattava l'ordine del traffico che vi passava. I processi che aspettavano comunicazione erano automaticamente messi in pausa mentre il circuito di rete finiva le sue letture o scritture. Il tempo di elaborazione sarebbe stato dato ad altri processi,
Per poter includere tutte queste funzionalità su un singolo chip, il [[Core (informatica)|core]] del Transputer era molto più semplice della maggior parte delle [[CPU]]: usava un'architettura RISC, ma diversamente dalle più comuni CPU RISC basate su un pesante utilizzo dei registri, il transputer usava molto lo [[Pila (informatica)|stack]]. Questo permetteva di eseguire rapidamente il [[context switch]] semplicemente
=== Set di istruzioni ===
Il set di istruzioni del Transputer era formato da
=== Programmazione ad alto livello ===
Per la programmazione dei transputer, la INMOS
== Implementazioni ==
I primi modelli di Transputer furono annunciati nel
D'accordo con il loro ruolo come dispositivo simile a un [[microcontrollore]], includevano 2kB di
===
Il prototipo a 16 bit del transputer fu l{{'}}'''S43''', senza lo scheduler e senza
===
Al momento del lancio l'offerta a 32-bit consisteva nel '''T414'''. La RAM fu più tardi portata a 4K nel '''T424''', che includeva anche un'istruzione JO trap per aiutare il [[debug]].
===
La successiva versione fu il '''T800''', nel [[1987]], la quale includeva un'unità a [[virgola mobile]] da [[64-bit]] e tre registri dedicati a questo tipo di calcolo. Inoltre la RAM veniva aumentata a 4k. Molte nuove generazioni di queste CPU, conosciute come famiglie T-2, T-4 e T-8, furono
== Competizione ==
Nonostante il Transputer fosse semplice
Nel campo [[Computer desktop|desktop]] / [[workstation]] il Transputer era abbastanza veloce, operando a circa 10 [[MIPS (unità di misura)|MIPS]] a
▲Nonostante il Transputer fosse semplice ma potente, rispetto a molte architetture contemporanee, non riuscì mai ad avvicinarsi al suo obiettivo di essere usato universalmente sia come CPU sia come microcontrollore. Il secondo campo era dominato da macchine a 8-bit e il costo era il solo parametro considerato, anche il T-2s era troppo potente e costoso per la maggior parte degli utenti. La mancanza di supporto del Transputer per la memoria vertuale impedì il porting delle principali varianti dei sistemi operativi [[Unix]] (anche se vennero prodotte varianti come [[Minix]] e [[Idris_%28sistema_operativo%29|Idris]] di [[Whitesmiths]].)
▲Nel campo [[desktop]]/[[workstation]] il Transputer era abbastanza veloce, operando a circa 10 [[MIPS]] a 20MHz, un'eccellente performanche per i primi anni ottanta, ma al momento in cui venne venduto il T800, fornito di una [[FPU]], le altre architetture RISC l'avevano già sorpassato. Questo avrebbe potuto essere miticato dalla possiblità di creare macchine con più Transputer, ma il T800 costava circa 400$ al pezzo quando venne rilasciato, quindi il rapporto prezzo/potenza era svantaggioso.
== T9000 ==
L'INMOS cercò di
Il T9000 usava una [[Pipeline dati|pipeline]] a cinque stadi per aumentare la velocità. Un'
Ironicamente, fu in gran parte grazie al parallelismo che le architetture delle CPU convenzionali divennero più veloci. Invece di usare un pesante sistema esplicito come il Transputer, le CPU moderne
▲L'INMOS cercò di correggere ciò con l'introduzione del '''T9000'''. Il T9000 aveva in comune molte feature con il T800, ma implementava alcune innovazioni e aggiungeva delle caratteristiche per il supporto della [[superscalarità]]. Diversamente dai modelli precedenti, il T9000 aveva una vera [[cache]] da 16kB ad alta velocità al posto della RAM, inoltre permetteva di usare questa come meria e includeva funzionalità stile MMU per controllare tutto ciò (conosciute come ''PMI''). Per aumentare ancora la velocità il T9000 spostava in cache le prime 32 locazione dello stach, invece delle tre delle versioni precedenti.
== Bibliografia ==
▲Il T9000 usava una pipeline a cinque stadi per aumentare la velocità. Un'intaressante aggiunta fu il ''raggruppatore'' il quale raccoglieva le istruzioni in uscita dalla cache e le raggruppava in pacchetti più larghi, da 4 bytes, per alimentare più velocemente la pipeline. I gruppi venivano poi completati in un singolo ciclo, come se fossero una singola istruzione più grossa su una CPU più veloce.
* {{RivistaVG|mc|100|191-196|10|1990|titolo=Transputer e OCCAM - un binomio per la programmazione parallela}}
* {{RivistaVG|mc|101|174-177|11|1990|titolo=INMOS T.I.K. - Transputer Introduction Kit - Sistema di sviluppo o scheda acceleratrice?}}
== Voci correlate ==
▲Questo fu il colpo finale per la INMOS, che non aveva i fondi necessari per continuare lo sviluppo. La compagnia fu venduta alla [[ST Microelectronics|SGS-Thomson]] (oggi [[ST Microelectronics]] ) che cancello il T9000 e produsse l'architettura 212/414 per linee di microcontrollori come le famiglie '''ST10''' e '''ST20''', ora non più in produzione, anche se parti di questa tecnologia sono incluse in chipset per applicazioni speciali ( ad esempio [[GPS]] ).
*[[Calcolatore della quinta generazione]]
== Altri progetti ==
▲Ironicamente fu in gran parte grazie al parallelismo che le architetture delle CPU convenzionali divennero più veloci. Invece di usare un pesante sistema esplicito come il Transputer, le CPU moderne lavorano in parallelo solo a livello di istruzioni, dividendo il codice fra un numero di fissato di core. Pare che questa forma di parallelismo, conosciuta come [[superscalarità]], sia molto più adatta al calcolo d'uso generale.
{{interprogetto}}
* {{FOLDOC|transputer|transputer}}
▲*[[architettura parallela]]
▲*[[linguaggio di programmazione Occam]]
{{Controllo di autorità}}
{{Portale|informatica}}
[[Categoria:Microprocessori]]
|