lopment of hardware and software, ClearSpeed's integrated development environment enables users to first develop their code using the Virtual Instruction Machine (VIM). An application is initially debugged in terms of functionality before it can be com- piled on the final underlying machine language. The SDK profiler helps identify what types of instruc- tions are used most often and which parts of the programs actually consume the most resources, SO that users can fine-tune their application by modifying the C-language source or by writing some in- line assembly code, if necessary. The Virtual Machine Simulator facilitates the improvement of application performance until the actual underlying hardware design, which evolves in parallel with the development of the software, arrives at a level of progress where the target instruction set has been finalized. ClearSpeed calls this the Implementation-Specific Instruction Set (ISIS). Once both the final instruction set and the appli- cation have been finalized, the application just needs to be recompiled against the target ISIS. The linked code is then executed on simulation models of the actual hardware, where performance meas- urements can be taken and instruction profiling can be performed. Finally, the application can be refined and fine-tuned before it is executed on the actual target hardware. An interesting characteristic of the company's technology is that the user can create his or her own custom instructions. During development, the code compiler at configuration time reads the encoded instruction set from a special file, where the user has previously described the exact operations that each instruction is expected to perform, how these operations are to be done, and which computational resources from the system (ALU, registers, and SO on) are involved. Through this straightforward process, the user can describe altogether new custom instructions, which should be expected to pos- itively impact the performance of the contemplated application code. The compile