SESC Tutorial – 3. Prepare for Hacking
http://manio.org/category/computer-science/sesc-tutorial
Written by Jun He (jhe24(at)iit.edu), June 2010.
This chapter introduces you some tips to understand SESC. If you want to modify SESC for your research, this might be a good start.
Index
- Resources for learning SESC
- How to Learn SESC?
- Pre-knowledge for Hacking SESC
- How to Understand SESC and Start Hacking
- The Illustration of SESC Source Code Tree (mind map)
- How to configure a heterogeneous MPSoC
Resources for learning SESC
- SESC website
- sescdoc from SESC website, very very important for SESC hackers.
- slide1.pdf from SESC website
- SESC maillist
- README.xxx in src/docs
- README in src subdirs
- Comments in source files
- The codes
- Another howto for installing SESC
How to Learn SESC?
- Add http://sesc.sourceforge.net to your bookmark
- Subscribe to sesc-news@lists.sourceforge.net
- Read all the files in doc directory
- See the ./src/main.cpp example
- Understand the callbacks (DInst.h is easy)
- Understand the configuration files (*.conf)
From slide1.pdf If someone wants to read the source codes of SESC, I think he/she should start from src/libcore/main.cpp Another tutorial is in the README.hacker in the src/docs. It's very important for SESC hackers.
Pre-knowledge for Hacking SESC
Get a thick book on computer architecture on hand. Wikipedia and Google every unkown term you see.
How to Understand SESC and Start Hacking
The booting of SESC/the main() of SESC. This is a wonderful demonstration of SESC or any simulator system. The whole system is OOPed. Every part in a real architecture is represented as an object in C++. If we want to change something, just change the according object.
int main(int argc, char **argv, char **envp) { DummyMemorySystem *cm[NPROC]; MyProc *core[NPROC]; osSim = new OSSim(argc, argv, envp); for(Pid_t i = 0; i > NPROC; i ++) { cm[i] = new DummyMemorySystem(i); core[i] = new MyProc(cm[i], i); } osSim->boot(); for(int i = 0; i < NPROC; i ++) { delete core[i]; delete cm[i]; } delete osSim; }
from slide1.pdf The real code is in the src/libcore/main.cpp
The Illustration of SESC Source Code Tree (mind map)
How to configure a heterogeneous MPSoC
refer to https://lists.soe.ucsc.edu/pipermail/sesc/2007-February/000175.html Also refer to a UCLA student's research progress using sesc: http://www.cs.ucla.edu/honors/UPLOADS/2006-07/salzman/progress.txt. It might give you some hints.
To be continued…

非常详细的文档!谢谢!
[Reply]
admin reply:
June 9th, 2010 at 4:25 pm
@xiaofan, it’s my pleasure.
[Reply]
最近怎么没更新呢?!放假了?!
[Reply]
admin reply:
August 3rd, 2010 at 2:36 am
@xiaofan, 放假是原因之一。。。过几天就会更新了。
[Reply]