The de-virtualized Machines (de-VM), That is an experimental FPGA synthesized implementation of a Virtual Machine, needs to work as a co-processor or an accelerator to the main system. For example, within an Android smart-phone, a synthesized (as Hard IP core) Dalvik Machine will appear as a co-processor. The Java applications would run on it, but for I/O and other OS related services it will transfer control to the main application processor like ARM Cortex-A8 processor running the kernel code. The main and the co-processor should be as tightly coupled as possible for maximizing performance, however, if there is a design constraint then the co-processor can be loosely coupled. Tightly CoupledThe best performance can be achieved when the main processor and the co-processor are part of the same system-on-chip, or in case of Intel FPGA strategy can be on separate sockets connected via Front Side Bus (FSB). The options in the order of performance are:
Loosely CoupledIn this case the synthesized machine and the main application processor are in separate packaging.
|