2110682 Embedded and Real-Time Systems

Department of Computer Engineering
Faculty of Engineering, Chulalongkorn University


Course duration    : 2nd semester 2014
Lecturer                : Prabhas Chongstitvatana, Prof.
                            (office Eng build 4, Floor 18, room 13, tel 022186982, email: prabhas at chula dot ac dot th)
Lecture                : Sun 13.00-16.00 at ENG4 Floor 17

The content of the course is a mixed between hardware and software.  Embedded systems are computer systems with special requirement on constraints such as low power, high integration, real-time. This course explores Embedded systems design. On the hardware side, it includes embedded processors and low level programming, logic design, integrated circuits.  On the software side, it includes Software Engineering, Operating systems scheduling, communication and real-time constraints.  Here are the list of topics:
 
Introduction to embedded and real-time systems
Microprocessor
Assembly level programming
Memory, Peripherals and Microprocessor interface
Operating systems and task scheduling
Real-time systems and their requirements
Internet of Things

How we learn

We learn by doing both hardware and software.  The activities include embedded system model construction, some programming, and hands-on session. The assignments will be given out periodically throughout the term. A small project will be given around midterm. Students must present the results of their projects.  At the second half of the semester students are assigned to do research on the given topics.  The reports will be presented in the class. The final exam is "open book" and has an element of system design plus some "pseudo" programming.

Announcement

15 Feb 2015    Project implementing 4B processor should be finished around 2 March.  You should hand-in the written report of the design and show your working circuit.
. . .

Timetable

January
Introduction
Microprocessor: assembly language S21  sample program
logic design  Basic Logic   Microprocessors
architecture:   Evolution of computer architecture
February
memory, peripherals and interface  memory and interrupt i/o     peripherals
cache and virtual memory   memory system design
Graphics Processing Units    NPU instruction set   sample program
Project presentation
March
project   Embed Sys Demo
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 
real-time systems RTOS      real-time scheduling    
April
Embedded Systems Communication
CAN
Network on Chip
Reliability and fault tolerance
May
final exam

Homework

1)   Create and test a Full adder using Logicwork5
2)   1 Feb 2015, Read the paper "Reduced Instruction Set Computer".  We will discuss it next week.
3)   15 Feb, Read the chapter "memory system design".  We will discuss it in the next class.

Assignment

. . .

Recommended Textbooks

1. Ball S, Embedded Microprocessor Systems: Real World Design 2nd edition, Newnes 2000
2. Vahid F, Givargis T, Embedded System Design: A Unified Hardware/Software Introduction, Wiley 2002
3. Kopetz H, Real-Time Systems: Design Principles for Distributed Embedded Applications, Kluwer 1997

Additional Materials

S23 assembly language
Transistor level simulation of an antique CPU.  6502 is used in the iconic Apple II machine.
    http://visual6502.org/JSSim/index.html
A story of emulation of HP48 calculator
Reference to NPU:   Nattapong Thammasan and Prabhas Chongstitvatana, "Design of a GPU-styled Softcore on Field Programmable Gate Array," International Joint Conference on Computer Science and Software Engineering, Thailand, 2012.

Rz language and its compiler
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

Course Assessment

Assignments            30%
Midterm paper        30%
Final exam              40%

Tools

s21 tools :    assembler and simulator  s21.zip
Logicworks5
NPU package  npsim2.zip ,  update (16 Dec 2012)  npsim4.zip
assembler for s23   as23.zip  new version as23-1.zip
rz36 compiler package  rz36.zip  
rz36 with interrupt and Nos support  rz36-1.zip
update rz35 (bug fixed)  include executable rz36 and as23:  rz36-2.zip
NUT operating system  nos1.txt  (process)  nos2.txt  (with semaphore)  nos4.txt (with mailbox)

Acknowledgement

Slides and presentations are kindly permitted by Setha Pan-gnam, Chalermek Intanagonwiwat

last update 15 Feb 2015