INMOS Transputer: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 13:
Originariamente il piano era di far costare i Transputer solo pochi dollari a unità. La INMOS li vide usati per praticamente tutto, dall'operare come la CPU per un computer, da agire come [[channel controller]] per i disk drive nella stessa macchina. I cicli inutilizzati su ogniuno di questi Transputer avrebbe potuto essere usati per altri compiti, accrescendo grandemente le performance complessive delle macchine.
 
AnceAnche 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ù facile possibile, senza bisogno di un un bus (o una [[scheda madre]]) complesso. Invece semplicemente bastava fornire energia e un segnale di [[clock]], senza nemmeno bisogno di RAM, RAM controller, supporto dal bus e nemmeno un [[RTOS]], tutto ciò era già incluso.
 
=== Link ===
Il progetto di base del Transputer includeva dei link seriali che gli permettevano di comunicare con fino a quattro altri Transputer, ogniuno a 5, 10 o 20 Mbit/s, una velocità davvero molto elevata per quegli anni. Ogni gruppo di transputer poteva essere connesso assieme ad altri su link anche più lunghi (decine di metri) per formare una singola "computing farm". Una tipica macchina desktop poteva avere due "low end" Transputer a controllare i compiti di [[Input/output|I/O]] con alcune delle sue linee seriali (connesse all'hardware appropriato) mentre dialogavano con uno dei loro "fratelli maggiori" funzionante come [[CPU]] su un'altra. I Transputer potevano essere inizializzati su link di rete (diversamente dalla memoria in molte macchine) così un singolo Transputer poteva far partire l'intera rete.
 
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. ThisQuesto 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
 
=== Set di istruzioni ===
Il set di istruzioni del Transputer era formato da instruzioni di 8 bit divise in due [[nibble]]. Quello superiore conteneva la codifica dell'istruzione, rendendolo un vero RISC con solo 16 istruzioni di base, quello inferiore, o una costante o più comunemente un'[[offset]] relativo allo [[stack pointer]]. Costanti e offset più lunghi potevano essere usati, ma richiedevano byte di indirizzo addizionali in fase di [[fetch]] e decodifica. Inoltre le istruzione meno frequentemente utilizzate erano supportate tramite la codifica di itruzioni chiamata ''Operate'' (Opr), la quale decodificava la costante di dati come un codice di operazione esteso, fornendo un'espansione del set di istruzione facile e quasi infinita, introdotta con una nuova implementazione del Transputer. I processi più piccole, comunque, giravano più velocemente, ma l'indeaidea intera del Transputer era comunque di far girare piccoli processi.
 
=== Programmazione ad alto livello ===
Riga 27:
 
=== Vedi anche ===
*[[architettura parallela]]<br>
*[[linguaggio di programmazione Occam]]<br>
 
[[categoria:microprocessori]]