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:

To repeat my experiments

  1. Edit ts.s so that the instructions you want to test are marked with the special comment #@
  2. Run ./time_tester.pl ts.s --start 100 --stop 6000 --step 100

The start, stop, and step parameters are the three parameters used in the for loop.

If you want to see the precise code generated for each trial, use --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

W3c Validation