2110682 Embedded and Real-Time Systems
Department of Computer Engineering
Faculty of Engineering, Chulalongkorn University
Course duration : 2nd semester 2012
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, seminar room
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
IC and Design technology
Control systems
Operating systems and task scheduling
Real-time systems and their requirements
Real-Time communication protocols
How we learn
We learn by doing both hardware and software. The activities include
embedded system model construction, some programming, and laboratory
session. The assignments will be given out periodically throughout the term.
After Midterm, students are required to give their presentations on
given subjects to the class. Final exam will be the accumulation of
your knowledge and practice during the course. The final exam is "open book"
and has an element of system design plus some "pseudo" programming.
Discussion is on Facebook page search
"Embedded Systems 2012, Chulalongkorn"
Announcement
2 Dec 2012 Midterm exam will be "in class" on 23 Dec 2012, one
hour, 1-2pm. After that the lecture continue.
16 Dec 2012 Update NPU instruction set (include example on array
access) and update tool npsim4.zip
18 Jan 2013 Nos lecture note is
up. Update to Rz compiler in rz36-1.zip
22 Jan 2013 Update Nos lecture,
include demo and Rz compiler (bug
fixed) rz36-2.zip
10 Feb 2013 Hand-in and present your project on 24 Feb, Final
exam on 17 Feb.
Timetable
November
Introduction
Microprocessor: assembly language S21 sample program
logic design Basic Logic
Microprocessors
architecture: Evolution of computer
architecture
December
memory, peripherals and interface memory
and interrupt i/o peripherals
integrated circuits
integrated circuit design semiconductor
device fabrication (wiki)
Digital Integrated Circuits, design and
manufacturing process (ppt by J. M. Rabaey, A. Chandrakasan, B.
Nikolic)
Graphics Processing Units NPU
instruction set sample program
Midterm
January
control systems Control
(ppt)
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
February
Embedded
Systems Communication
CAN
Network on Chip
Reliability and
fault tolerance
March
final exam
Homework
9 Dec 2012
1 ) Write NPU program to multiply two matrices of
4x4. Unroll loop and make a straight-line program (no jump).
2 ) Think how to write a binary search program in
NPU. Notice that GPU is not good for branching.
16 Dec 2012
Write find max element of an array, the size of array is
40. Use the update tool: npsim4.zip
27 Jan 2013
Find out how to synchronise n-processes. Try to
write it in nos2.txt version of three processes. nos2.txt
Assignment
Design, develop an embeded system. Your design must include some
real-time component that interface to the real world. For example,
sensors, motors, some signals from the environment are input to the
system. The "demo" is based on Embed
Sys Demo. You should design your hardware, software and
simulate them. The report includes: design, motivation, code of the demo
system, results from the experimental run (you can simulate the real world
as appropriate). Prepare to present your work for 10 minutes, using
a well-prepared slides. The report should be about 4-5 pages. (not
more).
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
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.
S23 assembly language
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 13 Feb 2013