We all are familiar with different computing methods. But have you heard about reconfigurable computing? This technology is the ability to change a computer system’s hardware design in real time. Reconfigurable computing is quickly establishing itself as a significant discipline that covers various subjects of learning, including both computing science and electronic engineering. This involves the utilization of reconfigurable devices, like field programmable gate arrays (FPGAs), for computing functions.
Reconfigurable computing is also called configurable computing or custom computing, since several of the design techniques are often seen as customizing a computational material for specific applications. Reconfigurable computing systems typically have impressive performance.
The earliest reconfigurable computing systems come across digital computers. Scientific and engineering computations were done on programmable analog computers before digital logic: large banks of op amps, multipliers, comparators and passive components interconnected via a plug board and patch cords. By connecting components along, the terribly clever user may implement a network whose node obeyed a group of differential equation solver, capable of deployment of time reconfigurability.
Experiments with reconfigurability in FPGAs identifies two promising advantages: reduction of size or power consumption of the hardware, and increases in performance. Usually the two kinds of benefits came together, rather than separately. The benefits came with only few specific techniques. Reuse of hardware was simple. If it has organized a system in such a way that it has many distinct, non overlapping operating modes, you can save hardware by configuring a programmable material to execute in one mode such as stopping, then configuring it to function in another mode.
Now let us see some of the advantages of reconfigurable computing.
- Sheer speed
- Reduced energy and power consumption
- Reduction in size and component count
- Improved time-to-market
These benefits are especially necessary for embedded applications. Indeed, there’s evidence that embedded systems developers show a growing interest in reconfigurable computing systems, particularly with the introduction of soft cores which may contain one or more instruction processors.
A reconfigurable computing system usually contains one or more processors. And a reconfigurable material upon which custom functional units are often designed. The processor(s) executes consecutive and noncritical code, while code that may be efficiently mapped to hardware are often ‘executed’ by processing units that are mapped to the reconfigurable material.
It should be noted that the development of reconfigurable systems continues to be in a maturing field. There are a lot of challenges in developing a reconfigurable system. Now let us have a look at these:
First, the structure of the reconfigurable material and the interfaces between the material, processor(s) and memory should be very efficient. Some reconfigurable computing systems use a typical field-programmable gate array as a reconfigurable material, while others adopt custom-designed materials.
Another challenge is the development of computer-aided design and compilation tools that map an application to a reconfigurable computing system. This involves deciding which parts of the application should be mapped to the material. And which should be mapped to the processor, deciding when and how often the reconfigurable material should be reconfigured; which changes the functional units implemented in the material, as well as the specification of algorithms for efficient mappings to the reconfigurable system.0