2110793  Advanced Topics in Digital Systems   2015 


Class meet on Mon 4:00-5:30pm  F17 Eng 4, Fri 9:30-11:00 Eng 3 room 403

Syllabus

This course concentrates on the components and architecture of  modern supercomputers including the increasing role of Graphic Processing Units.  Operating systems and cloud computing will be discussed.  Hand-on of the implementation of processors and operating systems under simulation will be covered.  Advanced topics include Internet of Things, Virtualization will be studied.

Assesment

homework          20%
midterm project   30%
final                     50%

Announcements

20 March 2015  
    Final exam will be an two hours open book written exam.
    Collaborate project is starting:  Modify S23 simulator to have a virtual memory.
30 March 2015   code for the project has been released
 . . .

previous lecture  2013

Topics

Exaflop machine
Processor
Memory subsystems
Graphic Processing Units
Virtualization
Internet of Things
Network on Chip

Lecture

Exascale computing (ppt )
Processors:  S21 assembly language   S21 instruction set
Logic and electronics :   Digital logic, processors
Memory: Cache memory, virtual memory   (from my textbook circa 2000)
Note in Thai  Virtual Memory (from students summary, thank to Supanya)
Graphic Processing Unit

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 
Nut operating system implementation
    nos1.txt  (process)  nos2.txt  (with semaphore)  nos4.txt (with mailbox)

Real implementation of a processor:  4-bit  (4B project)

Network on Chip
    General introduction (IEEE computer, 2002) 
          http://infoscience.epfl.ch/record/165542/files/00976921.pdf
    Recent development (International Symposium on Computer Architecture, 2011)
          http://pages.cs.wisc.edu/~hestness/links/KNOC_ISCA11.pdf
    Commercial development
          http://www.design-reuse.com/articles/10496/a-comparison-of-network-on-chip-and-busses.html

Future Internet: Internet of Things :  
   Chen, Yen-Kuang, "Challenges and Opportunities of Internet of Things," Design Automation Conference, 2012, pp.383 - 388 ( pdf )
    I pick O'Reilly view point of Internet of Things.  He believes in IoT and Human (in the loop).  So here is his view:
Future of Internet
Internet of Things and Humans
His talk on Youtube

Homework

1)   Read the article Kogges, "the top in flops" (link below) and prepare to discuss it in class.
2)   Read and prepare to discuss The Opportunities and Challenges of Exascale Computing
3)   Get the S21 package and try to run a few assembly language example programs (included in the /test directory)
4)   Modify the linked list program to sum all data nodes.
5)   Use logicwork5 to create and run Half adder and Full adder (1-2 bits)
6)   Read about Thailand Digital Economy.  I give you initial pointers.  Follow them up.  We will discuss this issue on Monday.
7)   Try Nos simulator  use package rz36-2.zip to compile and run nos1.txt under the s23 simulator on web
8)   Study semaphore implementation. Try the following:  process synchronisation, how to synchronise three processes? How many semaphore is required?  Is it possible to use only one semaphore to synchronise two processes?
9)   Read my note on Graphic Processing Unit.  We will write its assembly program in the next class.
10)  Form two groups: the first group read Network on Chip, the second group read Internet of Thing.  Prepare to discuss the topic in class.

Tools

Logic Works 5   (get it from here,  11 Mbytes)    Just unzip it, no need to "install".
S21 assembly language, assembler and simulator package    s21.zip
S23 processor    S23 assembly language, assembler for s23  as23-1.zip
Recommended  public C-compilers   lcc-win32    dev-C

Rz language and its compiler
rz36 with interrupt and Nos support  include executable rz36 and as23:  rz36-2.zip
Nos simulator on the web

NPU simulator, assembler  npsim4.zip
Code for Cache simulation to be used in Cache design assignment.  cache.zip
Transistor level simulation of an antique CPU.  6502 is used in the iconic Apple II machine.
    http://visual6502.org/JSSim/index.html

Compiler, assembler and simulator for the term project (based on s23 suite)  ads-proj.zip

Project

    Implement Virtual Memory for S2 version 3 processor.  Use the simulator package ads-proj.zip
    The package includes: compiler (rz36), assembler (as23) and simulator (s23).
    You need to modify the simulator only.

Reference

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, Feb 2011, pp.48-54,   (local pdf )
    Digital Object Identifier : 10.1109/MSPEC.2011.5693074
Thailand Digital Economy   Proposed law, Debate, Banker worries

last update  4 May 2015