Final project for digital systems
2004
(Feb 2005)
The final project aims to demonstrate the working system of your design
of a processor running the NOS operating system with your demo program
on top.
The demo program should shows the following:
1) multi-task
2) shared resource such as accessing shared variables
3) real-time: use timer.
The final submission composed of:
1) a complete
report
50%
2) a source code with documents
30%
3) demonstration of your working system
20%
You should make effort to make your system demonstrable.
Non-working system will leave a bad impression on the quality of your
work.
The report should include the following topics:
1 description of your processor
1.1) general description
1.2) data path
1.3) instruction set: semantic of each instruction, with
instruction encoding and format.
2 processor simulator
2.1) description of how your simulator work (not how to use it)
2.2) a test program to show that the processor in simulation is
working properly.
2.3) some kind of performance measurement, such as, how many
instruction it use to run the test program. (some meaningful program).
3 description of NOS: what is it? how it work?
3.1) pseudo code to describe the interrupt of NOS
3.2) pseudo code to describe three main functions: switchp, wait,
signal
4 extension of NOS to do: message passing (mail-box) and timer
4.1) describe your implementation of them (in Nut)
4.2) show some test program that it works.
5 description of your demo program
5.1) what does it do?
5.2) how it works?
5.3) some measurement of performance, such as, how many
instruction it use to switch a task (or how many task switching
per second) etc.
6 description of your system software: code generator
6.1) what is your strategy to generate code?
6.2) show some code sequence that is tricky (or interesting) in
your output with some explanation how it does it.
7 conclusion
7.1) discuss your processor, is it good? what you want to
do to improve the next version? (after all these activities that you go
through).
7.2) discuss the NOS. Can you think of a simple extension
to it to make it more useful?
7.3) really a final word, what do you learn in this course?
what do you wish you have learned in this course? Any improvement
for the future class is most welcome.
the deadline for hand-in is 18 Feb 2005
If you have any question, or any emergency (such as you cannot hand-in
by the deadline), please contact me, or email
prabhas at chula dot ac dot th
Prabhas Chongstitvatana
1 Feb 2005