From Msim

Jump to: navigation, search

To Do

  • EIO Handling needs to be fixed, removed, or replaced.
  • A User's Manual is sorely needed
  • The options database should be converted into a dictionary-like structure.
  • Is the "Load/Store Partials" issue important?
  • Finish importation of updated syscalls from quake modification of M-sim.
  • Core_location parameter is needed
  • Flushcontext is deprecated and should be removed.
  • Verify that ptrace is unaffected by CMP porting.
  • Verification of power model for heterogeneous core configurations is needed. The model does not support dynamic changes of the resource sizes.
  • The power model can be offloaded - should we do this? It will save computational time each cycle at the expense (possible expense) of extra memory. Peaks and counters till need to be evaluated each cycle but the electrical calculations can be held off until the end.
  • Add FLUSH and STALL (these need to be re-evaluated due to rollback)
  • spec_mode should probably be changed to pending_branch_misprediction
  • The cache creation logic is ugly. We should probably rewrite it.
  • Find scattered context references that need to be encapsulated into core_t
  • All activities in the core select threads using round-robin.
  • FORRT1 Error can occur if directory listing permissions are denied in root directories. Not sure if anything can be done about this.
  • type counter_t and tick_t are now long long, this shouldn't cause any problems but we need to verify this.
  • sigmask (syscall.c) is not ported for SMT

Known Bugs/Problems

  • For the run: "../sim-outorder -max:inst 2 -fastfwd 1000000 gcc.arg". IPC is 0.3 but throughput is 2.3. This is related to the distinction between committed and executed instructions. Definition of counter needs to be fixed. Low priority as this only adjusts the instruction count by up to ROB_size (at most) and is insignificant with larger test runs.
  • EIO is not used to handle checkpoints in M-sim, porting of the syscalls seems to generate the appropriate program states.
  • Simpoints (at least our version) does not generate a valid execution state for EIO emulation of syscalls.
    • Crafty00 is an example of this. At 4.7 million instructions, ioctl is called and then all redirected input is seen by the program. This appears as 1 write syscall (by blocking ioctl we see that this occurs later but the input is still a problem for crafty's interrupt feature). - This has been fixed by porting OSF_SYS_lseek to SMT.


  • Speculative registers and memory are no longer used - rob_recover has been replaced with rollbackTo.
Personal tools