Manio 马牛不是人 Computer science and life of Manio

SESC Tutorial – 3. Prepare for Hacking

06.08.2010 · Posted in SESC Tutorial, System

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

  1. Resources for learning SESC
  2. How to Learn SESC?
  3. Pre-knowledge for Hacking SESC
  4. How to Understand SESC and Start Hacking
  5. The Illustration of SESC Source Code Tree (mind map)
  6. How to configure a heterogeneous MPSoC

Resources for learning SESC

How to Learn SESC?

  1. Add http://sesc.sourceforge.net to your bookmark
  2. Subscribe to sesc-news@lists.sourceforge.net
  3. Read all the files in doc directory
  4. See the ./src/main.cpp example
  5. Understand the callbacks (DInst.h is easy)
  6. 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…

分享家:Addthis中国

Related Posts

4 Responses to “SESC Tutorial – 3. Prepare for Hacking”

  1. xiaofan says:

    非常详细的文档!谢谢!

    [Reply]

    admin reply:

    @xiaofan, it’s my pleasure.

    [Reply]

  2. 最近怎么没更新呢?!放假了?!

    [Reply]

    admin reply:

    @xiaofan, 放假是原因之一。。。过几天就会更新了。

    [Reply]

Leave a Reply