Opportunity: Software Execution Time Determinism

Nordlöw via Digitalmars-d digitalmars-d at puremagic.com
Fri Apr 15 01:03:53 PDT 2016


On Wednesday, 13 April 2016 at 22:25:12 UTC, Nick B wrote:
> What is absolute time-determinism in a CPU architectures ?

Take the expression "absolute time-determinism" with a grain of 
salt. I'm saying that eventhough the machine code doesn't contain 
any branches and caches have been invalidated prior to the start 
of each frame, the execution time of the program may still 
contain variations that depend on the *values* being inputted 
into the calculation.

The reason for this is that, on some CPU-architectures, some 
instructions such as trigonometric functions are implemented 
using microcode that requires different amount of clock-cycles 
depending on the parameter(s) set to them. At my work, these 
variations have actually been measured and documented and are 
used to calculate worst-variations of WCET. A compiler backend, 
such as DMDs, could be enhanced to leverage these variations 
automatically.


More information about the Digitalmars-d mailing list