CH 44
CH 44
Design Issues
10.1 Introduction
Embedded systems are different from general-
purpose systems in several important ways. Some key
differences are:
Embedded systems are resource constrained. Utilization
of memory and power are critical. The economy of
hardware and software is often paramount, and can affect
design decisions.
Partitioning of hardware and software is fluid.
Embedded systems programmers must understand every
detail about the hardware.
Signal timing and event handling are crucial.
10.1 Introduction
The design process for embedded systems is a systems
engineering process that has to consider, in detail, the design and
performance of the system hardware.
Part of the design process may involve deciding which system
capabilities are to be implemented in software and which in
hardware.
Low-level decisions on hardware, support software and system
timing must be considered early in the process.
These may mean that additional software functionality, such as
battery and power management, has to be included in the system.
10.1 Introduction
Real-time systems are often considered to be reactive
systems
Given a stimulus, the system must produce a reaction or
response within a specified time.
Periodic stimuli - Stimuli which occur at predictable time
intervals
For example, a temperature sensor may be polled 10 times per
second.
Aperiodic stimuli -Stimuli which occur at unpredictable
times
For example, a system power failure may trigger an interrupt which
must be processed by the system
Stimuli come from sensors in the systems environment and
from actuators controlled by the system
1.Design Requirements
In general, an embedded system design must consider the
following :
1. It should handle real time operations and react to external events
2. It should conform to size and weight limits
3. It should be within the power budget and cooling requirements.
4. It should satisfy safety and reliability requirements
5. It must meet tight cost targets.
Con..
1.1 Real time/Reactive operation
In real time system, it needs to work quickly but correctly.
12
memory hierarchy
What is the memory hierarchy?
Different levels of memory
Some are small & fast
Others are large & slow
What levels are usually included?
Cache: small amount of fast, expensive memory
L1 (level 1) cache: usually on the CPU chip
L2 & L3 cache: off-chip, made of SRAM
Main memory: medium-speed, medium price memory (DRAM)
Disk: many gigabytes of slow, cheap, non-volatile storage
Memory manager handles the memory hierarchy
Basic memory management
Components include
Operating system (perhaps with device drivers)
Single process
Goal: lay these out in memory
Memory protection may not be an issue (only one program)
Flexibility may still be useful (allow OS changes, etc.)
No swapping or paging
Fixed partitions: multiple programs
Fixed memory partitions
Divide memory into fixed spaces
Assign a process to a space when it’s free
Mechanisms
Separate input queues for each partition
Single input queue: better ability to optimize CPU usage
How many programs is enough?
Several memory partitions (fixed or variable size)
Lots of processes wanting to use the CPU
Tradeoff
More processes utilize the CPU better
41
Software development
43
Software development
44
Software development
45
Software development
46
Software development
47
Software development
48
Software development
49