A reconfigurable processor is a microprocessor with erasable hardware that can dynamically rewire. This allows the chip to adapt effectively to the programming tasks required by the particular software with which it is interfacing at any given time. Ideally, the reconfigurable processor may be transformed from a video chip to a central processing unit (CPU) to a graphics chip, for example, all optimized to allow the applications to run at the highest possible speed.
These chips are like providing a chip on demand. In practical terms, this capability can translate into immense flexibility in terms of device functions. For example, a single device could serve as a camera and recorder (among many other possibilities): it would simply download the desired software and the processor would be reconfigured to optimize the performance of that function.
According to a recent article in the Red Herring magazine, such device versatility might be available in 2003. The reconfigurable processor usually contains several parallel processing computational units known as functional blocks. These functional blocks are connected all the way possible. When reconfiguring the chip, the connections within the functional blocks and the connections between the functional blocks are changing.
This means that when a particular software is loaded, the current hardware design is cleared and a new hardware design is generated by causing a certain number of connections to be activated while others are inactive. This will set the optimal hardware configuration for that particular software. The key to the design is the small size of each processing element. The smaller chip segments can be defined with only 50 bits of software code, so the entire chip can be reprogrammed with only 50,000 bits of software description. It takes only 20 microseconds to reconfigure the entire processing matrix.