Introduction






Reconfigurable computing, also known as configurable computing, adaptive computing, and FPGA-based computing, is an emerging technology capable of providing high computational performance on a diversity of applications. The recent  years have  shown a continuous interest in using reconfigurable computing platform for the design of application-specific computer systems.
 

The significant advantage of reconfigurable computing has been achieved mainly because of two reasons.

1. Implementing  algorithms directly in hardware, on the level of circuits,   significantly reduces the control overhead.
2. Parallelism is the nature of hardware. Implementing algorithms in hardware  means the massive use of parallelism.

As a result, the high degree of parallelism is easily achievable and the computational density---the actual work completed per single clock cycle---is an order of magnitude higher than in conventional processors.

In the past decade, the evolution of reconfigurable computing systems has been mainly  considered as a hardware-oriented design. The research has been focusing on the configuring of hardware to implement a particular algorithm and on the developing of hardware devices that can be efficiently reconfigured for particular applications. During the last years, more and more researchers have been involved into developing hardware-independent tools and methods to provide configurable design solutions capable for running on different reconfigurable hardware platforms.

In theory and practice, we can distinguish two main branches or paradigms in computing.

I General-purpose Computing.
The general-purpose computing aims at building a Universal Machine---Von Neumann Computer, which forms an abstract environment capable for simulating any algorithm, any Turing Machine. Simulating of algorithms is inefficient in terms of utilizing resources as silicon area and power dissipation.

II Application-specific Computing.
The application-specific computing aims at building for each algorithm, each Turing Machine a specific hardware device---ASIC---capable for implementing only this particular algorithm, but doing this very efficiently in terms of resources.

While the general-purpose computing deals with sequential algorithms, or with concurrent sequential processes, running in a virtual space, the application-specific computing deals with parallel algorithms running in a physical space-time. While the virtual abstract environment slows down the performance, the direct hardware implementation provides a static algorithm as a physical device. The future mobile and wireless consumer appliances must be multifunctional devices with low cost,
low power consumption and high-performance. Neither general-purpose nor application-specific devices can't meet these requirements. The challenge is to build dynamic hardware that is capable to run dynamic algorithms. This forms a third paradigm of computing.
 

III Adaptive Computing.
Advances in reconfigurable computing architecture, in algorithm implementation methods, and in automatic mapping methods of algorithms into hardware  form together a new, third   paradigm in computing. This  paradigm combines the general-purpose computing models and methods with the hardware oriented dedicated processor design methods into a new model of computing. It adds to the dedicated  processor designs the flexibility inherent to the programming of Von Neumann computers, remaining, at the same time, the efficiency inherent to the dedicated hardware designs. This new paradigm of computing and programming has often been characterized by terms as `Computing in Space and Time' or `Computing without Computer' and has recently been named `Adaptive Computing'.

Dealing with  Adaptive Computing systems design issues, the gap between hardware and software is rather small.  Similar theoretical models are used for describing software and hardware parts of the system. Adaptive computing introduces traditional software related topics as  languages, compilers and operating systems, libraries, containing modules capable for running in hardware and software etc., and integrates these with hardware related topics of digital design. While in general, there is a similarity in theoretical models and methods  on the functional level, the actual methods involved are rather different and need much specific attention from
researchers.

The  reconfigurable  computing systems built during the last years have often achieved the performance several orders of magnitude higher than the traditional processor based solutions. Now the time arises for the breakthrough of reconfigurable computing into mass markets of application-specific systems and information appliances, which include emerging areas like mobile communication, multimedia-based networks, encryption, image processing etc.
 

Back to ERSA ENTERPRISE