2110714   Digital Systems 2013
    Prabhas Chongstitvatana
    
    
    email me at prabhas at chula dot ac dot th
    office:  Engineering building 4, floor 18, room 13,  phone 02-218-6982
    lecture:  for weekend class:    Sat 12:30-15:30  Eng. Bld. 3, room 17-01
    
    Syllabus
    Aim
    This series of lectures aims to integrate the knowledge of computer systems
    from the bottom level: functional units, data path, to the high level:
    operating system, high level language and large scale computing.
    
    This course offers a mix of "hand-on" and "self-investigation".  Many topics
    that are discussed in class expect students to read and prepare materials
    before hand. Students also use simulators to explore a number of basics:
    logic design, running operating systems on top of a simulated processor . 
    The system simulation composed of: an instruction-level processor simulator,
    a compiler, an operating system includes task switcher and message passing.
    Concurrent application programs will be run on this operating system. 
    
    Assessment
    homework                              20%
    small project (may be two)      40%
    final exam                              40%
    Announcement
    6 July 2013  Project 1  is announced.  The deadline is 20 July 2013.
    17 July 2013   Add Rz page   (coming soon 
    List)
    11 Aug 2013   Add Building a compiler,  next
    week we will construct a parse-tree and study code generation.
    ...
    Topics
    
    Large scale computing
      amazon web services, exascale computing
      Exaflop machine    The full report    TR-2008-13.pdf 
    (3 Mb)
       The Opportunities
      and Challenges of Exascale Computing, (pdf 2 Mb) US Department of
    Energy, Fall 2010
       Kogge,
      P., "The tops in flops", IEEE Spectrum, vol.48, issue 2, 2011, pp.
    48-54. Digital Object Identifier: 10.1109/MSPEC.2011.5693074   (local
      copy) 
       exascale  computing, current technology  (
      ppt )
    
    Modern computer architecture
      Haswell, graphics processing units
         Natural
      Graphic Processing Unit  (NPU)   tools   
      npu4.zip
         New Generation of Game Consoles
         Example of writing "reduction" on NPU
    
    Processors and operating systems
      Operating systems and task scheduling  basic
      OS concepts,   Nos  (Nut Operating System) 
    Nos services  
      semaphore:  flash demo from William Stallings, U.
    of Queensland
      lecture from Matt Welsh, Harvard,   semaphores.pdf 
    
      running concurrent OS on a cpu simulator
    
    High level language and compiler
      Recursive programming with List
      Building a compiler
     
    Assembly language programming
      of a simple processor
    
    Logic design
      use logic simulator
    
    Previous lecture  2110793
      Advanced topic in digital systems   2011,  digital
      systems 2011 
    
    Homework  
    
    1.  Choose some articles on Exascale computing, read and prepare short
    presentation for class discussion.
    2.  More exascale, prepare for discussion in the next class
       2.1)  half of the class investigate topic:  How to build Exascale
    machines.
       2.2)  another half of the class investigate topic:   Impact of the
    Exascale initiative on the world (who join, and how?)
    3.  Prepare to present two aspects of Exascale computing: 
       3.1)  Technical details, what is currrently the fastest computer system
    (in top500.org)?  
       3.2)  What nations invest in building exascale computing, how and how
    much?
    4.  Write a program for NPU to tranpose a vector.  Example, A = {1,2,3,4} 
    transpose(A) = {4,3,2,1}.  Hand-in your program on paper.
       use tools here   npu4.zip
    5.  Investigate and report about Privacy and Government.
    6.  Write (paper program) a copy function to clone a list structure (for
    example (1, (2, 3))).
    7.  Download and compile the Rz compiler (rz35-2.zip) 
    try it!
    8.  Repeat what I show in the class. Build your own compiler.  
    Project 1
    Write an essay on "Cloud service and security".  Expect length of your
    report at 4-5 pages.  You should think about what is the story you want to
    tell then read, gather information and synthesis your message.  Plagiarise
    is consider a crime!  Please email your work to me at prabhas@chula.ac.th 
    with the title "project digital systems".  On the cover of your report give
    your name. The deadline is 20 July 2013. The project constitutes 20% of the
    total score.
    Tools
    Rz
      language   (alternative )
    compiler package   rz35-2.zip  new package for building a compiler  rz37ds-1.zip
    Sx-chip simulator (sx0-3.zip)
    NPU simulator, assembler (in C)   npu4.zip
    How to install and use lcc-win32 C compiler
    C compiler that I used   (lcc-win32 
    13Mbytes)   how to install    easy start
     
    Additional reading material
    Programming
      Recursion   (to familiar yourself with recursive programming)
    Manufacturing of Cray supercomputer (core of Blue Waters, Petrascale
    computing at UIUC, March 2013) youtube
    Visit the site of Blue
      Waters project  (see about tab)
    Blue Waters is composed of more than 237 Cray XE6 cabinets and 32 cabinets
    of the Cray XK7 supercomputer with NVIDIA® Tesla® Kepler™ GPU computing
    capability.  It is a computing facility that provides 1 Teraflops for
    science research projects.
    
    Text
    Chongstitvatana, P.,  The Essence of Computer System Engineering, in
    preparation, 312 pages, since 2006.  (on
      the web )
    
    Computer architecture
    
      - Katz, R., Contemporary Logic Design, Addison-Wesley Pub Co., 1993.
- Hennessy, J., and Patterson, D., Computer Architecture: a quantitative
        approach
 
    Operating systems
    
      - Tanenbaum, A., Modern Operating Systems
 
- Silberschatz, A., Galvin, P., Gagne, G., Operating System Concepts
 
    Additional materials will be hand-out as needed.
    
    last update 11 Aug 2013