CS 269: Software and Hardware Engineering of Embedded Systems



General information

Instructor: Frank Vahid (vahid@cs.ucr.edu)
Textbook:  Specification and Design of Embedded Systems, Gajski/Vahid/Narayan/Gong, Prentice Hall, 1994.
Schedule:  TR 12:40-2, Bourns A275

Objective

This course introduces issues and methods for the specification and design of embedded computing systems.

Description

First, some interesting data - Last year, about 100 million processors were sold for use in desktop computers (mostly PC's), while over 3 BILLION processors were sold for embedded computing applications.

An embedded system is a computing system designed to execute a specific task within a larger electronic device. Examples are found in cellular telephones, pagers, personal digital assistants, camcorders, digital cameras, home security systems, automotive electronics, thermostats, robots, office automation, and so on. Soon they'll be found in almost anything that runs on electricity. By the year 2000, it's expected that the average car will have over $2000 worth of embedded computers, the average American home will have 240 embedded computers, and the embedded system market will exceed $60 billion dollars. (Dollarwise, the embedded and desktop markets are about the same, since embedded computers cost only a few to tens of dollars - you can't put a $200 processor inside a pager!).

Designers of embedded systems will likely be in high demand. But who knows how to build such systems? Such systems used to be the domain of hardware designers. But today, most embedded systems also include software processors. Thus, the embedded system designer must be experienced in both software and hardware design, as well as in embedded applications. In addition, because an embedded system usually executes just one program during its lifetime (unlike desktop computers that execute thousands of programs), the designer must be familiar with optimization techniques to perform the specific program using the least size, power, and time.

This seminar will cover existing and promising new software and hardware design techniques for embedded system design. Topics to be covered may include:

Students will be expected to read material before each class and present an extremely short (a couple sentences) written/oral evaluation of the material; to participate in interactive class discussions; to present several papers and lead interactive discussion on those papers; and complete a few simple assignments.