method: You can create your own, or modify the existing S2 ISA. The effect of ISA must be compared with S2 ISA. I expect a number of new instructions to be thought out carefully and their effects are measured quantitatively. The selection of instructions can be based on novelty, performance or other specific purposes which you have to substantiate your design choice.
hand-in: A report and full set of your code
that you use to generate the quantitative data for performance evaluation
must be handed-in. The report must be in paper. Also, the PDF
version of report and codes must be emailed to me. The report must
include:
1) The design justification. Explain why you choose your
instructions.
2) The design description, containing 3 parts:
2.1) instuction set description: its format.
2.2) architecture description: microarchitecture
that support your instruction set.
2.3) behaviour of instruction: the micro-step
for each instruction.
3) The evaluation. Show the correctness of your result.
Show the benchmark program, in high-level language and in assembly language.
Show the performance comparison of your design against S2.
4) The conclusion. Explain and discuss your result.
Write what you have learn from this project.
Suggestion: There are many areas where
you can experiment with the instruction set design:
1) Arithmetic: add float, add multimedia
2) Control flow: optimized loop
3) Data structure: instructions that handle pointer
4) Architecture: two ALUs, totally microcoded.
5) Others.
Remark: The benchmark programs can be customized to suite your design. That is, you can write a program that shows benefit of your design. It doesn't have to be generic (general purpose). I will post all reports with my comments on your design for everyone to read. We will discuss the best design in the class.
You can read more detailed description and how I evaluate the project
from the previous year project page. ads2001/project2001.htm
ads1999/index-ads.htm#report