Links to specific parts of document:
All programs can also be accessed through the file system from this directory:
/u/s/i/sinclair/courses/cs552/spring2022/handouts/testprograms/public/*/*.asm
As you progress to the further demos the number of tests that you will be expected to pass will increase. With each iteration all prior tests are expected to continue to pass as well as the additional tests for that demo stage.
These tests target each instruction individually and use a minimal number of other instructions to test their behavior. For tests for a specific instruction copy the *.asm file named for the instruction from: /u/s/i/sinclair/courses/cs552/spring2022/handouts/testprograms/public/inst_tests/
A list file with all the program names on a line: all.list
Or copy from here: /u/s/i/sinclair/courses/cs552/spring2022/handouts/testprograms/public/inst_tests/all.list
A list file with all the program names on a line: all.list
Or copy from here: ~sinclair/courses/cs552/spring2022/handouts/testprograms/public/complex_demo1/all.list
Remember that all tests for demo 1 are still required
For the final demo, there are several more tests provided. All are are subdirectories from:
~sinclair/courses/cs552/spring2022/handouts/testprograms/public/
There are two categories of tests:
The same as previously but when you just begin adding a new feature, use these tests to make sure basic functionality is still there. I recommend you use these tests as you start integrating different memories to your processor.
I recommend, that you run all of these when you make a large change to your processor. When you believe stalling instruction memory is complete for example, run all of these and make sure they all pass. similarly when your data-cache is fully integrated run them all and make sure your processor works.
Your submission must include the following:
You can use the script run-final-all.sh to run all the required tests. It will create all these summary.log files. Running all the tests will take about 40 minutes. So plan ahead!
If you look closely, you will see that rand_final has a mix of tests from all the categories.
rand_mem and rand_simple are intentionally left out to reduce the time it takes to run all simulations