Introduction:

The company which developed the crusoe system described in this paper is not a very sucessfull one. The company aimed at designing cheaper and low power x86 compatible processors. But Intel also started using voltage and frequency scaling in their processors for low power implementations and thus almost threw transmeta out of business.

The details of this paper are discussed below.

1. What Problem is being solved?

  • The main objective was to develop an x86 compatible processor with internal VLIW architecture.
  • Paper describes specific unaddressed problems with binary translations like how to deal with interrupts, memory mapped I/O, exceptions and self modifying code.
  • It details the specific performance enhancing techniques used in the crusoe system.
  • another goal was exposed pipeline that is backward compatible.

2. Compatibility:

  • Backward Compatibility: Running old software with exact same results.
  • Binary Compatibility: running the old binary without doing anything. Crusoe is an example of binary compatible system.
  • Source Level compatibility: Compile the source code again and be able to run on new hardware without any changes. wavescalar is an example of source level compatible system.
  • Pin Level compatibility (Electrical Compatibility): Have the same pinout and voltage lavel. Just plugin the new chip into the board and be able to run.
  • Forward Compatibility: Designing now, going to be useful for future.

3. Who are the intended users?

  • x86 users
  • Users who want low power processors with reasonable performance and low cost.
  • users who want physically smaller processors.

4. What is unique about the suggested solution?

  • dynamic system level binary translation as opposed to application level translation.
  • H/W support for commit and roll back
  • Adaptive Retranslations
  • H/W support for detecting exceptions
    • memory aliasing
    • fined grained memory protection

5. How is the idea evaluated?

  • A software simulator was used and the simulation was not cycle accurate.
  • Author’s werent precise about the evaluation methodology.

6. Was evaluation in line with the stated goals?

  • No power comparisons
  • No performance comaprisons.

7. Was evaluation convincing?

  • Not enough statistics on binary translation process.
  • no comparisons with the existing x86 HW
  • tested the system on many os’s and applications. More diverse benchmarks could have been used.
  • Explained correctness but did not show any verification tests.

8. was technology a factor in the problem or the solution?

No, the paper proposed technique could be built with any technology.

9. Were new tools or software techniques introduced?

Yes, the paper introduces the whole software layer of code morphing system.

10. How many users with other requirements be affected?

  • The paper does not deal with any Multiprocessor issue and the proposed solution might MP users badly.
  • the performance is unpredictable which makes the system less attractive for real time applications