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.