Heterogeneous Element Processor

Versione del 4 set 2008 alle 09:33 di Ary29 (discussione | contributi) (- cat in inglese)

L'Heterogeneous Element Processor (HEP) è un sistema presentato dalla società Denelcor nel 1982 ed è noto per essere stato il primo computer commerciale MIMD. Il sistema HEP come indicato dal nome era composto da un insieme eterogeneo di elementi - processori, moduli ddi memoria e moduli di I/O collegato tramite una rete informatica.

Un processore HEP (fino a 16 ne potevano essere collegati) era un tipo di processore poco convenzionale, tramite una particolare coda fino a 50 processi potevano essere caricati in un singolo processore. Il processore era dotato di una pipeline a otto stadi e dato che l'istruzione di un singolo processo poteva occupare al massimo un singolo stadio della pipeline servivano almeno otto processi per sviluppare la piena potenza di 10 MIPS del sistema. Inoltre ogni processo poteva ottenere al massimo 1.25 MIPS dal processore. Questo tipo di multithreading classificava i moduli HEP come barrel processor.

I singolo processi venivano classificati come livelli utente o livelli supervisore. I livelli utente potevano creare i livelli supervisore, questi erano utilizzati per coordinare i processi a livello utente o per le operazioni di I/O. I processi della stessa classe venivano raccolti in gruppi, vi erano sette gruppi utente e sette gruppi supervisore.

Each processor, in addition to the PSW queue and instruction pipeline, contained instruction memory, 2,048 64-bit general purpose registers and 4,096 constant registers. Constant registers were differentiated by the fact that only supervisor processes could modify their contents. Interestingly, the processors themselves contained no data memory; instead, data memory modules could be separately attached to the switched network.

The HEP implemented a type of mutual exclusion in which all registers and locations in data memory had associated "empty" and "full" states. Reading from a ___location set the state to "empty," while writing to it set the state to "full." A programmer could allow processes to halt after trying to read from an empty ___location or write to a full ___location, enforcing critical sections.

The switched network between elements resembled, in many ways, a modern computer network. On the network were sets of nodes, each of which had three links. When a packet arrived at a node, it consulted a routing table and attempted to forward the packet closer to its destination. If a node became congested, any incoming packets were passed on without routing. Packets treated in such a manner had their priority level increased; when several packets vied for a single node, a packet with a higher priority level would be routed before ones with lower priority levels.

Although it was known to have poor cost-performance, the HEP received attention due to what were, at the time, several revolutionary features. HEP systems were purchased by Los Alamos, the Argonne National Laboratory, the Ballistic Research Laboratory, and The HEP attracted widespread attention despite its terrible cost performance because of its many interesting hardware features that facilitated programming. The Denelcor HEP was acquired by several institutions, including Los Alamos, Argonne National Laboratory, Ballistic Research Laboratory, and Germany's Messerschmitt. Messerschmitt was the only client to put the HEP into use for "real" applications; the other clients used it for experimenting with parallel algorithms.

See also