The fundamental model of the recongurable computing machine paradigm, the data-stream-based anti machine is well illustrated by the dierences to other machine paradigms that were introduced earlier, as shown
by Nick Tredennick's following classication scheme of
computing paradigms (see Table 1: Nick Tredennicks
Paradigm Classication Scheme). [7]
Computer scientist Reiner Hartenstein describes recongurable computing in terms of an anti-machine that, according to him, represents a fundamental paradigm shift
away from the more conventional von Neumann machine.
[8]
Hartenstein calls it Recongurable Computing Paradox, that software-to-congware migration (software-toFPGA migration) results in reported speed-up factors of
up to more than four orders of magnitude, as well as a
reduction in electricity consumption by up to almost four
orders of magnitudealthough the technological parameters of FPGAs are behind the Gordon Moore curve by
about four orders of magnitude, and the clock frequency
is substantially lower than that of microprocessors. This
paradox is due to a paradigm shift, and is also partly explained by the Von Neumann syndrome (Von Neumann
bottleneck).
History
3 High-performance computing
High-Performance
Recongurable
Computing
(HPRC) is a computer architecture combining recongurable computing-based accelerators like FPGAs with
CPUs or multi-core microprocessors.
The increase of logic in an FPGA has enabled larger
and more complex algorithms to be programmed into the
FPGA. The attachment of such an FPGA to a modern
CPU over a high speed bus, like PCI express, has enabled the congurable logic to act more like a coprocessor
rather than a peripheral. This has brought recongurable
computing into the high-performance computing sphere.
Furthermore by replicating an algorithm on an FPGA or
the use of a multiplicity of FPGAs has enabled recongurable SIMD systems to be produced where several com-
Theories
1
5 CURRENT SYSTEMS
putational devices can concurrently operate on dierent tion can be divided into two groups:[15]
data, which is highly parallel computing.
This heterogeneous systems technique is used in computing research and especially in supercomputing.[9] A 2008
paper reported speed-up factors of more than 4 orders
of magnitude and energy saving factors by up to almost 4
orders of magnitude.[10] Some supercomputer rms oer
heterogeneous processing blocks including FPGAs as accelerators. One research area is the twin-paradigm programming tool ow productivity obtained for such heterogeneous systems.[11]
The US National Science Foundation has a center for high-performance recongurable computing
(CHREC).[12] In April 2011 the fourth Many-core and
Recongurable Supercomputing Conference was held in 4.1 Xilinx
Europe.[13]
There are two styles of partial reconguration of FPGA
Commercial High Performance recongurable computdevices from Xilinx: module-based and dierence-based.
ing systems are beginning to emerge with the announcement of IBM integrating FPGAs with its POWER
Module-based partial reconguration permits to reprocessor.[14]
congure distinct modular parts of the design. To
ensure the communication across the recongurable
module boundaries, special bus macros ought to be
4 Partial re-conguration
prepared. It works as a xed routing bridge that connects the recongurable module with the rest part
of the design. Module-based partial reconguration
Partial re-conguration is the process of changing a
requires to perform a set of specic guidelines durportion of recongurable hardware circuitry while the
ing at the stage of design specication. Finally for
other part is still running/operating. Field programmable
each recongurable module of the design, separate
gate arrays are often used as a support to partial recongbit-stream is created. Such a bit-stream is used to
uration.
perform the partial reconguration of an FPGA.
Electronic hardware, like software, can be designed modularly, by creating subcomponents and then higher-level
Dierence-based partial reconguration can be used
components to instantiate them. In many cases it is useful
when a small change is made to the design. It is esto be able to swap out one or several of these subcompopecially useful in case of changing LUT equations or
nents while the FPGA is still operating.
dedicated memory blocks content. The partial bitNormally, reconguring an FPGA requires it to be held
stream contains only information about dierences
in reset while an external controller reloads a design onto
between the current design structure (that resides
it. Partial reconguration allows for critical parts of the
in the FPGA) and the new content of an FPGA.
design to continue operating while a controller either on
There are two ways of dierence-based reconguthe FPGA or o of it loads a partial design into a recongration known as a front-end and back-end. The rst
urable module. Partial reconguration also can be used to
one is based on the modication of the design in the
save space for multiple designs by only storing the partial
hardware description languages (HDLs). It is clear
designs that change between designs.
that such a solution requires full repeating of the
A common example for when partial reconguration
synthesis and implementation processes. The backwould be useful is the case of a communication device.
end dierence-based partial reconguration permits
If the device is controlling multiple connections, some of
to make changes at the implementation stage of the
which require encryption, it would be useful to be able
prototyping ow. Therefore there is no need for reto load dierent encryption cores without bringing the
synthesis of the design. The usage of both methods
whole controller down.
(either front-end and back-end) leads to creation of
a partial bit-stream that can be used for a partial rePartial reconguration is not supported on all FPGAs. A
conguration of the FPGA.
special software ow with emphasis on modular design
is required. Typically the design modules are built along
well dened boundaries inside the FPGA that require the
design to be specially mapped to the internal hardware.
From the functionality of the design, partial recongura-
5 Current systems
5.4
COPACOBANA
3
RT and FPGA programming.
5.4 COPACOBANA
A fully FPGA-based computer addressing several markets is the COPACOBANA, the Cost Optimized Codebreaker and Analyzer and its successor RIVYERA.
A spin-o company SciEngines GmbH[20] of the
COPACOBANA-Project of the Universities of Bochum
and Kiel in Germany currently sells the fourth generation
of fully FPGA based computers. Well published congurations utilize for example 128 FPGAs per single computer making COPACOBANA and RIVYERA a well
known reference platform for cryptanalysis and bioinformatics.
6 Comparison of systems
An FPGA board is being used to recreate the Vector-06C computer
5.1
Computer emulation
5.2
Mitrionics
5.3
National Instruments
As an emerging eld, classications of recongurable architectures are still being developed and rened as new
architectures are developed; no unifying taxonomy has
been suggested to date. However, several recurring parameters can be used to classify these systems.
6.1 Granularity
The granularity of the recongurable logic is dened as
the size of the smallest functional unit (congurable logic
block, CLB) that is addressed by the mapping tools. High
granularity, which can also be known as ne-grained, often implies a greater exibility when implementing algorithms into the hardware. However, there is a penalty associated with this in terms of increased power, area and
delay due to greater quantity of routing required per computation. Fine-grained architectures work at the bit-level
manipulation level; whilst coarse grained processing elements (recongurable datapath unit, rDPU) are better
optimised for standard data path applications. One of
the drawbacks of coarse grained architectures are that
they tend to lose some of their utilisation and performance if they need to perform smaller computations than
their granularity provides, for example for a one bit add
on a four bit wide functional unit would waste three bits.
This problem can be solved by having a coarse grain array (recongurable datapath array, rDPA) and a FPGA
on the same chip.
Coarse-grained architectures (rDPA) are intended for the
implementation for algorithms needing word-width data
paths (rDPU). As their functional blocks are optimized
for large computations and typically comprise word wide
arithmetic logic units (ALU), they will perform these
computations more quickly and with more power eciency than a set of interconnected smaller functional
units; this is due to the connecting wires being shorter, resulting in less wire capacitance and hence faster and lower
REFERENCES
6.4 Routing/interconnects
The exibility in recongurable devices mainly comes
from their routing interconnect. One style of interconnect made popular by FPGAs vendors, Xilinx and Altera
are the island style layout, where blocks are arranged in
an array with vertical and horizontal routing. A layout
with inadequate routing may suer from poor exibility and resource utilisation, therefore providing limited
performance. If too much interconnect is provided this
requires more transistors than necessary and thus more
silicon area, longer wires and more power consumption.
7 See also
6.2
Rate of reconguration
6.3
Host coupling
8 References
[1] Estrin, G (2002). Recongurable computer origins:
the UCLA xed-plus-variable (F+V) structure computer. IEEE Ann. Hist. Comput 24 (4): 39.
doi:10.1109/MAHC.2002.1114865.
[2] Estrin, G., Organization of Computer SystemsThe
Fixed Plus Variable Structure Computer, Proc. Western
Joint Computer Conf., Western Joint Computer Conference, New York, 1960, pp. 3340.
[3] C. Bobda: Introduction to Recongurable Computing:
Architectures; Springer, 2007
[4] Hauser, John R. and Wawrzynek, John, Garp: A MIPS
Processor with a Recongurable Coprocessor, Proceedings of the IEEE Symposium on Field-Programmable
Custom Computing Machines (FCCM '97, April 1618,
1997), pp. 2433.
[5] Campi, F.; Toma, M.; Lodi, A.; Cappelli, A.; Canegallo,
R.; Guerrieri, R., A VLIW processor with recongurable
instruction set for embedded applications, Solid-State
Circuits Conference, 2003. Digest of Technical Papers.
ISSCC. 2003 IEEE International , vol., no., pp. 250-491
vol.1, 2003
9.2
Partial re-conguration
5
S. Hauck and A. DeHon, Recongurable Computing:
The Theory and Practice of FPGA-Based Computing, Morgan Kaufmann, 2008.
J. Henkel, S. Parameswaran (editors): Designing
Embedded Processors. A Low Power Perspective;
Springer Verlag, March 2007
J. Teich (editor) et al.: Recongurable Computing
Systems. Special Topic Issue of Journal it Information Technology, Oldenbourg Verlag, Munich.
Vol. 49(2007) Issue 3
T.J. Todman, G.A. Constantinides, S.J.E. Wilton,
O. Mencer, W. Luk and P.Y.K. Cheung, Recongurable Computing: Architectures and Design Methods, IEEE Proceedings: Computer & Digital Techniques, Vol. 152, No. 2, March 2005, pp. 193208.
A. Zomaya (editor): Handbook of Nature-Inspired
and Innovative Computing: Integrating Classical
Models with Emerging Technologies; Springer Verlag, 2006
J. M. Arnold and D. A. Buell, VHDL programming on Splash 2, in More FPGAs, Will
Moore and Wayne Luk, editors, Abingdon EE &
CS Books, Oxford, England, 1994, pp. 182
191.
(Proceedings,International Workshop on
Field-Programmable Logic, Oxford, 1993.)
[15] Winiewski, Remigiusz (2009). Synthesis of compositional microprogram control units for programmable devices. Zielona Gra: University of Zielona Gra. p. 153.
ISBN 978-83-7481-293-1.
D. A. Buell and Kenneth L. Pocek, Custom computing machines: An introduction, The Journal of
Supercomputing, v. 9, 1995, pp. 219230.
Further reading
9.1
Recongurable computing
11
10
See also
11
External links
EXTERNAL LINKS
12
12.1
12.2
Images
File:Ambox_important.svg Source: http://upload.wikimedia.org/wikipedia/commons/b/b4/Ambox_important.svg License: Public domain Contributors: Own work, based o of Image:Ambox scales.svg Original artist: Dsmurat (talk contribs)
File:Edit-clear.svg Source: http://upload.wikimedia.org/wikipedia/en/f/f2/Edit-clear.svg License: Public domain Contributors: The
Tango! Desktop Project. Original artist:
The people from the Tango! project. And according to the meta-data in the le, specically: Andreas Nilsson, and Jakub Steiner (although
minimally).
File:FPGARetrocomputing.jpg Source: http://upload.wikimedia.org/wikipedia/commons/c/c9/FPGARetrocomputing.jpg License: CC
BY-SA 2.0 Contributors: originally posted to Flickr as FPGA Retrocomputing Original artist: Viacheslav Slavinsky
File:Question_book-new.svg Source: http://upload.wikimedia.org/wikipedia/en/9/99/Question_book-new.svg License: Cc-by-sa-3.0
Contributors:
Created from scratch in Adobe Illustrator. Based on Image:Question book.png created by User:Equazcion Original artist:
Tkgd2007
File:Unbalanced_scales.svg Source: http://upload.wikimedia.org/wikipedia/commons/f/fe/Unbalanced_scales.svg License: Public domain Contributors: ? Original artist: ?
12.3
Content license