introduction of real-time embedded system...
TRANSCRIPT
Introduction of Real-Time Embedded System Design
Department of Computer Science & EngineeringUniversity of South Carolina
Spring, 2002
Outline
n Introductionq Real-time embedded systemsq System-level design methodology
n Real time schedulingn Power aware designn Summary
What is the real-time embedded system?
q Embedded Systemn Processor based q General processors q Micro controllers q DSP
n A subsystem
q Real-Timen Not only deliver correct results but when these results
are deliveredq Late results = wrong results
A late model car can have as many as 65+ processors for enginecontrol, A/C control, cruise control, ABS, audio, etc
More than 30% of the cost of a car is now in electronics
90% of all innovations will be based on electronic systems
Examples In Your Daily Life (cont’)
…get into your car …
…back home …
Examples In Your Daily Life (cont’)
Several hundred processors can be involved in the courseof one day for one person !
Embedded Everywhere
• A hundred billion dollar business• More than 95% processor shipped today are used in embedded systems• Market needs for embedded developers increased by 10 folds from 1997-2004
Design Challenges
n Complexityq Moore’s Lawq Design constraints
n Diversityq Application-specificq Design requirements
n Time-to-market
Design Requirements (Constraints)
n For general computing systemq Performance, performance, performance
n For embedded systemsq Timingq Power consumptionq Cost sensitivityq Size & Weightq Safety & Reliabilityq Time-to-marketq Others: component acquisition, upgrades, compatibility,
etc.
How ?
Y-chart
Behavioural Structural
Physical
System Level
RT Level
Logical Level
Circuit Level
Processors,ASICs,memory
ALU,Reg,MUX
Gates,Flip-Flops
Transistors
Macro-cells,chips
Cells, wiring
Layout
Differential Eqn.
Boolean Eqn.
RT Specifications
Algorithms,processes
Boards,SOCs
Product
System Specifications
Design Specifications
AllocationPartitioning,Mapping
Scheduling
Partitioned specifications
Lower Level Design
High Level Verification and/or
Simulation
System ModellingSystem Level Design
Real-Time Scheduling
n The problemq Givenn A set of tasks with timing specificationsn Limited resources
q Decide when and where the task to be executed such thatn Required timing constraints are metn System performance is optimized
Why Real-Time Scheduling
n Timing is the essential n Optimizing system resource usage n Meeting other design objectivesq Fault tolerance, Quality-of-Service, etc
Goals
n Feasibility Checkingq Can a real time task sets be feasible under some
given scheduling policy?
n Synthesisq For a given applications, what would be a proper
scheduling policy?
Scheduling Policies
n Static/Dynamicn Priority driven/Non-priority drivenn Preemptive/Non-preemptiven Uniprocessor/Multiprocessor
Real-time Scheduling Research
n Two most famous policiesq Rate Monotonic Scheduling (RMS)n higher the rate, higher the priority
q Earliest Deadline First (EDF)n Closer the deadline, higher the priority
n Most of priority-based scheduling research adopts/extends these two policiesq Different architecture q Different constraints (synchronization, fault
tolerance, QoS, low power, etc)
Techniques
n Ranging from circuit level to system leveln The principle ?
q Reduce t, a, CL, V, f, Ileak
n Examplesq Number representationq Encodingq Pipeliningq Compiler techniquesq Clock gatingq Power aware real-time scheduling