1) study the given stack processor and suggest a way to improve
performance of the instruction call/ret, i.e. to reduce the number of cycle
required for the instructions.
2) design pipeline for S2 processor. measure the speedup by running a benchmark program of your choice.
3) design a superscalar version of S2 that has 2 ALUs. measure the speedup by running a benchmark program of your choice.
4) implement a branch predictor for S2 processor. measure the speedup by running a benchmark program of your choice.
5) write a microprogram for implementing an integer multiply instruction for S1. Use Booth's algorithm to multiply two 16-bit numbers. The difficulty is in performing 32-bit operation. You are allow to add some necessary functional unit.
6) write a microprogram for implementing a character search instruction for S1. Model your instruction similar to Intel based processor. measure its effectiveness by comparing a string search program that use and not-use this instruction.
More details will be updated on the course-page.
20 August 2004
P. Chongstitvatana