CIS 451 |
Extra Credit |
Winter 2019 |
In class on Monday, 18 March, I demonstrated how to time some assembly code and verify that x86 processors can really handle multiple instructions at one. During that demonstration, I pointed out some results I couldn't explain. For extra credit, continue where I left off and explore the performance of a desktop CPU. This assignment is intentionally vague. Find something interesting to explore and see what you can figure out.
Here is the software I used:
timestamp_shell.c
: The simple C program used to generate the assembly.ts.s
: The modified assembly code used as a base for the experiments.time_tester.pl
: The perl script used to (a) generate the actual assembly files used, adn (b)
collect the results.
To repeat my experiments
ts.s
so that the instructions you want to test are marked with the special comment
#@
The start
, stop
, and step
parameters are the three parameters used in the
for
loop.
--noCleanUp
when running
time_tester.pl
. (Do this in a temporary directory, because it will leave a lot of garbage files around.)
Here is the Stack Overflow post about the strange results I observed.
Have fun, and let the class know if you find anything interesting.
Updated Monday, 18 March 2019, 8:35 PM