SimpleCPU

From gem5
Revision as of 16:32, 13 June 2006 by Ktlim (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The SimpleCPU is a purely functional, in-order model that is suited for cases where a detailed model is not necessary. This can include warm-up periods, client systems that are driving a host, or just testing to make sure a program works.

It has recently been re-written to support the new memory system, and is now broken up into three classes.

BaseSimpleCPU

The BaseSimpleCPU serves several purposes:

  • Holds architected state, stats common across the SimpleCPU models.
  • Defines functions for checking for interrupts, setting up a fetch request, handling pre-execute setup, handling post-execute actions, and advancing the PC to the next instruction. These functions are also common across the SimpleCPU models.
  • Implements the ExecContext interface.

AtomicSimpleCPU

The AtomicSimpleCPU is the version of SimpleCPU that uses atomic memory accesses (see Memory System for details).