Storage system for use in custom loop accelerators and the like


A computational unit for use in loop computations. The computational unit includes a function unit, a plurality of phase lines, and a storage register. The computational unit is programmed to initiate one iteration of the loop every II cycles. Each function unit has a result output for outputting one computational result each cycle. There is one phase line corresponding to each of the II cycles. The storage register includes a linear connected array of shift cells having a first shift cell. Each shift cell has an input port, an output port, a shift control port, and an OR gate. Each shift cell receives the value to be stored in the shift cell on the input port, the stored value being stored in response to a control signal on the shift control port. The OR gate has an output connected to the shift enable port and one input for each cycle on which that shift cell is to receive the control signal, that input being connected to the phase line corresponding to that cycle. The input port of the first shift cell is connected to the result output. A plurality of such computational units can be connected together to form a loop accelerator. The accelerator includes a cross-connect circuit for coupling at least one shift cell output of one of the computational units to an input of a function unit of another of the computational units on a selected one of the II cycles.

Une unité informatique pour l'usage dans des calculs de boucle. L'unité informatique inclut une unité de fonction, une pluralité de phase raye, et un registre de stockage. L'unité informatique est programmée pour lancer une itération de la boucle chaque cycles II. Chaque unité de fonction a un résultat produit pour produire un résultat informatique chaque cycle. Il y a une ligne de phase correspondant à chacun des cycles II. Le registre de stockage inclut un choix relié linéaire de cellules de décalage ayant une première cellule de décalage. Chaque cellule de décalage a un port d'entrée, un port de rendement, un port de commande de décalage, et OU la porte. Chaque cellule de décalage reçoit la valeur à stocker dans la cellule de décalage sur le port d'entrée, la valeur stockée étant stockée en réponse à un signal de commande sur le port de commande de décalage. OU porte a un résultat relié au décalage pour permettre le port et un entré pour chaque cycle sur lequel cette cellule de décalage doit recevoir le signal de commande, cette entrée étant reliée à la ligne de phase correspondant à ce cycle. Le port d'entrée de la première cellule de décalage est relié au rendement de résultat. Une pluralité de telles unités informatiques peut être reliée ensemble pour former un accélérateur de boucle. L'accélérateur inclut un circuit de croix-relier pour coupler au moins un rendement de cellules de décalage d'une des unités informatiques à une entrée d'une unité de fonction des autres des unités informatiques sur choisies des cycles II.


< Using task description blocks to maintain information regarding operations

< Hot-replace of memory

> Processor with a general register set that includes address translation registers

> Computer architecture with dynamic sub-page placement

~ 00120