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