2110714   Digital Systems 2013

Prabhas Chongstitvatana

alternate website http://db.tt/UpAd6b7s

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   2011digital 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

Operating systems

Additional materials will be hand-out as needed.

last update 11 Aug 2013