Author :
Vassiliadis, Stamatis ; Wong, Stephan ; Gaydadjiev, Georgi ; Bertels, Koen ; Kuzmanov, Georgi ; Panainte, Elena Moscu
Abstract :
In this paper, we present a polymorphic processor paradigm incorporating both general-purpose and custom computing processing. The proposal incorporates an arbitrary number of programmable units, exposes the hardware to the programmers/designers, and allows them to modify and extend the processor functionality at will. To achieve the previously stated attributes, we present a new programming paradigm, a new instruction set architecture, a microcode-based microarchitecture, and a compiler methodology. The programming paradigm, in contrast with the conventional programming paradigms, allows general-purpose conventional code and hardware descriptions to coexist in a program: In our proposal, for a given instruction set architecture, a onetime instruction set extension of eight instructions, is sufficient to implement the reconfigurable functionality of the processor. We propose a microarchitecture based on reconfigurable hardware emulation to allow high-speed reconfiguration and execution. To prove the viability of the proposal, we experimented with the MPEG-2 encoder and decoder and a Xilinx Virtex II Pro FPGA. We have implemented three operations, SAD, DCT, and IDCT. The overall attainable application speedup for the MPEG-2 encoder and decoder is between 2.64-3.18 and between 1.56-1.94, respectively, representing between 93 percent and 98 percent of the theoretically obtainable speedups.
Keywords :
discrete cosine transforms; field programmable gate arrays; firmware; instruction sets; program compilers; reconfigurable architectures; MOLEN polymorphic processor; MPEG-2 encoder; Xilinx Virtex II Pro FPGA; compiler methodology; custom computing processing; firmware; instruction set architecture; microcode-based microarchitecture; reconfigurable hardware emulation; reconfigurable microcode; Computer architecture; Decoding; Emulation; Field programmable gate arrays; Functional programming; Hardware; Microarchitecture; Program processors; Programming profession; Proposals; 65; FPGA; Index Terms- Custom computing machines; firmware; polymorphic processors; reconfigurable microcode; reconfigurable processors.;