Below are some instrumentation tools listed, that are currently
distributed (including source code), together with a short description of
the tools purposes.
- bank-patch-tool
- Allows the user to override certain device bank offsets (registers)
by returning a different value when they are read.
- bank-coverage-tool
- Provides statistics concerning the number of register accesses
to the devices of connected banks, including the proportion
('coverage') of accessed registers.
- exception-histogram
- Provides a histogram of the observed exception/interrupts on the
connected processors.
- instruction-count
- Simple tool that just counts how many instructions that have
executed one or several connected processors. This information
is available from Simics too, but with the help of the
process-filters it is for example possible to see the amount of
instructions executed by a specific process.
Note that Simics measures "steps" which are either instructions
or interrupts/exceptions, so there can be small differences
in Simics steps compared to the instruction count reported
by this tool.
- instruction-histogram
- Provides a histogram of the executed instruction-types on the
connected processors. Instruction-types can be grouped in various ways
such as by mnemonic or instruction sizes.
- memory-profiler
- Counts the memory accesses (both instruction and data) from
the connected processors and their memory addresses.
- process-histogram
- Histogram of the executed processes (using
OS-Awareness). Details includes steps executed, number of times
a process have been created, how often it has been scheduled on
a processor.
- tracer-tool
- An instruction and data tracer for connected processors.
- ram-tracer-tool
- A data tracer for connected RAM/ROM objects.
- x86-branch-profiler
- Histogram of the used branch instruction on connected x86
processors, with statistics on whether the branches where taken
or falls through.