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