With the use of our tools and tracing techniques, it is not difficult to collect over 4 billion bus cycles for use in trace driven simulations. There are two techniques for increasing the quantity of data collected:
In some cases the information about the OS, state of the machine, and other data is so valuable, that it must be collected even if there is no other need to halt the DUT.
Such an invasive set of procedures creates numerous accuracy problems for the trace data and those will be discussed in another document. Our intent here is to outline techniques to minimize any such effects. By the use of our tools and techniques, there is no longer a need to halt the DUT. After a user defined period of time, a signal is sent to the DUT causing the machine to service a small, high priority routing which writes out the data of interest to user specified memory areas. If a large amount of data is to be written, the other clients and associated machines in the test bed can be halted to maintain their state. However, we expect empirical measurements to indicate that the amount of data written out is small enough not to warrant a halt of the clients. As a result, there is only a tiny blip of non-benchmark related activity in the trace. Furthermore, this activity is marked by a flag in the trace stream which notifies post processing software that the bus cycles are non-benchmark related special cycles. With the setting of this flag, the trace tool begins storing data from the DUT data bus which will contain the OS and machine state data of interest. When the service routine ends, normal processing resumes.
After approximately four billion or so bus cycles (dependent on memory storage device) another similar signal is sent to the DUT and associated machines. In this case
all the associated machines are halted while the realtime storage system downloads its data. When the storage unit is empty, normal processing resumes. While there
are definitely negative effects on trace data accuracy from halting all the machines. If such halting only occurs every four or five billion bus cycles, the
effects will be minimal and the result will be relatively accurate traces of almost infinite length.