EE382C Embedded Software Systems
Languages
Announcements
- Monday, January 26th, 2004,
Computer
Architecture Seminar Series,
3:30 PM, ACES 2.402, refreshments,
"Measuring Benchmark Similarity and its Applications"
by Dr. Lieven Eeckhout, Ghent University.
Seminar series meets every Monday at 3:30 PM.
- Friday, January 30th, 2004, IEEE Spring Kickoff, 11 AM - 3 PM,
job fair for summer internships and full-time positions
in front of ENS with food provided. Bring resumes
- Friday, January 30th, 2004,
Wireless Networking
and Communications Seminar,
11 AM, ENS 637, refreshments, talk on "Asymptotic Methods in
Wireless Communications: Which Way to Infinity?" by
Prof. Michael Honig, Northwestern University.
Seminar series meets every Friday at 11 AM.
- VLSI Seminar
Series starts Wednesday, Feb. 4th, 3 PM.
Regular meeting time is on Wednesdays at 5 PM.
- Sir C.
Anthony R. Hoare, Professor Emeritus, Oxford University,
developed Communicating Sequential Processes framework in which
"multiple processors can communicate with each other through simple
wires. This theory has been implemented by inmos in a programming
language named occam, and in a microprocessor architecture known
as the transputer." (from his online biography).
Occam lives today in many forms, including Handel C.
Using Handel C, Celoxica
has developed a hardware/software codesign framework that
will be at UT Austin in the System on a Chip class by
Prof. Mark McDermott in Spring 2005.
Dr. Hoare is currently with Microsoft Labs.
- Rosetta
Stone
Lecture
- Lecture on Languages in
PowerPoint and
PDF formats
- Examples of non-determinism (from Prof. Edward Lee):
- User interfaces require nondeterminism. For example,
mouse clicks and keyboard presses are events that can
be arbitrarily interleaved when sent to a handler.
- Real-time applications also often require nondeterminism.
Interrupts [esp. prioritized interrupts] are a usual way
of managing this.
Supplemental Material
- System-level design concerns
- cosimulation of a system specification that may be
a mixture of algorithms, software components, and
hardware components
- cosynthesis of a system specification onto a
specific hardware and software architecture,
possibly including the generation of operating systems
- codesign of a hardware and software architecture
best suited for a class of systems (e.g., video compression)
- Goals of system-level design
- coordinate the
execution of and communication between subsystems.
- meet global system-level
constraints on throughput and delay, while possibly
minimizing area and power: these are global optimizations.
- Contrast these global optimizations with the local
optimizations performed by compilers for software or manually
in optimizing cell designs in VLSI libraries.
Compilers perform optimizations on a few lines of
code in the same function.
- Introduction to System-Level Design
- EE313 Linear
Systems and Signals (on-line lectures)
- Multirate signal processing slides
as motivation for developing models of computation and communication
Updated 03/25/04.