Skip to content

Commit

Permalink
i#2638 core sim: document several recent features
Browse files Browse the repository at this point in the history
Adds documentation for several recent features geared toward core
simulator support: avoiding thread switch gaps after branches; cpu
markers; kernel xfer markers; and the raw2trace mapping interfaces.

Issue: #2638, #2843, #2708, #2006
  • Loading branch information
derekbruening committed May 29, 2018
1 parent 002ca8e commit 441b065
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions clients/drcachesim/drcachesim.dox.in
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,24 @@ instruction information to go along with each load and store, while cache
simulators can ignore these "no-fetch" entries and avoid incorrectly
inflating instruction fetch statistics.

Offline traces guarantee that a branch target instruction entry in a
trace must immediately follow the branch instruction with no intervening
thread switch. This allows a core simulator to identify the target of a
branch by looking at the subsequent trace entry.

Traces include scheduling markers providing the timestamp and hardware
thread identifier on each thread transition, allowing a simulator to more
closely match the actual hardware if so desired.

Traces also include markers indicating disruptions in user mode control
flow such as signal handler entry and exit.

A final feature that aids core simulators is the pair of interfaces
raw2trace_t::do_module_parsing_and_mapping() and
raw2trace_t::find_mapped_trace_address(), which facilitate reading the raw
bytes for each instruction in order to obtain the opcode and full operand
information.

****************************************************************************
\section sec_drcachesim_extend Extending the Simulator

Expand Down

0 comments on commit 441b065

Please sign in to comment.