980 likes | 1.44k Views
Real-Time Embedded Systems. Assist. dr. Barbara Koroušić Seljak Barbara.Korousic@ijs.si (01) 4773-363. Course synopsis. Fall semester : Basics of real-time and embedded systems Embedded systems’ modeling Software and program design concepts Operating systems for real-time applications.
E N D
Real-Time Embedded Systems Assist. dr. Barbara Koroušić Seljak Barbara.Korousic@ijs.si (01) 4773-363
Course synopsis • Fall semester: • Basics of real-time and embedded systems • Embedded systems’ modeling • Software and program design concepts • Operating systems for real-time applications Jožef Stefan International Postgraduate School
Course synopsis • Spring semester: • Designing and developing embedded systems • Implementation and performance issues Jožef Stefan International Postgraduate School
Benefits? Learn about ... • ... challenges and approaches in real-time embedded system design • …performance estimation of real-time embedded systems • ... current research areas Jožef Stefan International Postgraduate School
Basics of real-time and embedded systems • Real-time systems Jožef Stefan International Postgraduate School
Real-time (RT) systems • Categories of computer systems: • Batch: has no operational deadline from event to system response; • Interactive on-line: quick response is longed-for, but not required; • Real-time: system response is required within a predefined timescale, otherwise the system won’t work properly. Jožef Stefan International Postgraduate School
Characteristics of a batch system • The user pre-processes all programs and information at a local site, and at some convenient time these jobs are passed to a remote computer. When all jobs are finished, the results are transmitted back to the originating site. Jožef Stefan International Postgraduate School
Normally, access to such a system is made using computer-based remote terminals, and all transactions are handled by the central computer in a time-sliced fashion. These systems are widely used in banking, holiday booking and mail-order systems. Their response time depends on the amount of activity. Characteristics of an on-line system Jožef Stefan International Postgraduate School
Characteristics of a RT system • A control computer detects events triggered by sensors, and responds over actuators within predefined time bounds. Jožef Stefan International Postgraduate School
History of real-time computing • The term real-time derives from its use in early simulation. • Originally, this term referred to a simulation that proceeded at a rate that matched that of the real process it was simulating. Jožef Stefan International Postgraduate School
RT Applications ● Low weighting; ● ● ● ● High weighting Jožef Stefan International Postgraduate School
hard deadline value time Hard RT Applications • Critical deadlines • Usually, low SW complexity • Example: airbag deployment system in motor vehicles fast system – late deployment defeats the whole purpose of airbag protection Jožef Stefan International Postgraduate School
soft deadline value time Soft RT Applications • Deadlines are not critical • Usually, more complex and large SW; man-machine interface • Examples: factory automation system, barcode recognition system fast/slow system – if fast/slow operator response is required Jožef Stefan International Postgraduate School
Basics of real-time and embedded systems • Real-time systems • Embedded systems Jožef Stefan International Postgraduate School
Categories of RT systems • Categories of computing systems: • General-purpose computing systems; • Embedded systems (ESs). • RT systems may be general-purpose or embedded systems. • We are going to discuss RT embedded systems. Jožef Stefan International Postgraduate School
Characteristics of general-purpose systems • Broad class of applications; • Programmable by the end user; • Faster is better. • Criteria: • Cost, • performance (average speed); • Examples: personal computers, laptops, mainframes, servers. Jožef Stefan International Postgraduate School
What is an ES? • An embedded system is an electronic component within a physical system. sensors / actuators external process man-machine interface embedded system (a combination of tailored HW & SW) reactive & time-constrained environment Jožef Stefan International Postgraduate School
Characteristics of ESs • Single-functioned: • A single system-tailored task or a very small number of related tasks are executed repeatedly; • Minimal end-user intervention; • Tightly constrained: • Low cost, low power, small size, easy-to-use, etc; • Reactive & real-time: • Continually reacts to events in the system’s physical environment; • Must perform certain tasks in real-time on a physical platform. Jožef Stefan International Postgraduate School
Examples of ESs in common environments (1) Jožef Stefan International Postgraduate School
Examples of ESs in common environments (2) Jožef Stefan International Postgraduate School
Short list of embedded applications • Consumer electronics (MP3 players, smart clothes, wearable devices) • Home appliances (microwave owens, home security system) • Office automation (modems, printers, scanners) • Business equipment (intruder alarm systems, POS terminals) • Automobiles (fuel injection, anti-lock brakes) • Aircrafts, satellites, trains, submarines (navigation systems) • Medicine (life-support systems, medical devices) • Telecommunication (network switches/routers, cell phones) • Automation systems (monitors, robots) Jožef Stefan International Postgraduate School
Microprocessor and semiconductor chips’ trends Jožef Stefan International Postgraduate School
Late 1940’s: MIT Whirlwind computer was designed for real-time operations: Originally designed to control an aircraft simulator; In the 1960’s: The first recognizably ES was the Apollo Guidance Computer (MIT Instrumentation Laboratory); By the end of the 80’s: ESs were the norm rather than the exception for almost all electronics devices (microcontrollers, I2C). Apollo Guidance computer Brief history of ESs (1) Whirlwind computer Intel 4004 Jožef Stefan International Postgraduate School
Brief history of ESs (2) Today’s complex ESs are based on networks of distributed microprocessors that run many off-the-shelf operating systems and communicate through wired and wireless buses, LANs and WANs; • A high-end automobile may have 100 microprocessors: • 4-bit microcontrollers check seat belts; • microcontrollers run dashboard devices; • 16/32-bit microprocessor controls engine. Jožef Stefan International Postgraduate School
Brief history of ESs (3) • What do we expect from high-performance ESs today? • Giga-ops of computing power; • For example, cell phones that use SW-radio techniques will need to deliver at least 10 billion operations per second; • Multimedia applications. • It is difficult to achieve this performance level in the face of real-time and low power or other constraints. Jožef Stefan International Postgraduate School
Few statistical facts • General-purpose computers: • Millions of units produced per year. • Embedded systems: • Billions of units produced yearly (VDC Report, 2006). • More than 98% of processors applied today are in ESs. • Mean age of embedded developers: 39,6. Jožef Stefan International Postgraduate School
Students Student Research area • Student 1 • Student 2 • Student 3 • Student 4 • Student 5 • Student 6 • Student 7 Jožef Stefan International Postgraduate School
ESs’ modeling • Challenges: • Technological: build an embedded system of predictable functionality and quality (performance & robustness) considering the system’s constraints; Jožef Stefan International Postgraduate School
Execution constraints CPU speed memory power HW failure rates Computing methods algorithms reuse System’s reaction constraints performance (deadlines, jitter, throughput) robustness (security, safety, availability) How to satisfy the technological challenge? Jožef Stefan International Postgraduate School
Execution constraints CPU speed memory power HW failure rates Computing methods algorithms reuse System’s reaction constraints performance (deadlines, jitter, throughput) robustness (security, safety, availability) Hardware design? new computer architectures (open & flexible multi-core SoC) Jožef Stefan International Postgraduate School
Execution constraints CPU speed memory power HW failure rates Computing methods algorithms reuse System’s reaction constraints performance (deadlines, jitter, throughput) robustness (security, safety, availability) Software design? new software architectures (1-2 million lines of code) Jožef Stefan International Postgraduate School
Execution constraints CPU speed memory power HW failure rates Computing methods algorithms reuse System’s reaction constraints performance (deadlines, jitter, throughput) robustness (security, safety, availability) Control design? novel system-level analysis, modeling methods and tools Jožef Stefan International Postgraduate School
Execution constraints CPU speed memory power HW failure rates Computing methods algorithms reuse System’s reaction constraints performance (deadlines, jitter, throughput) robustness (security, safety, availability) HW/SW Codesign! Design, validation & maintenance processes need to support the high-performance HW & communication technologies! Jožef Stefan International Postgraduate School
Co-specification Problem analysis Requirement specifications HW/SW partitioning Co-synthesis Interface SW HW SystemC code C code VHDL code System Integration Co-simulation Co-verification HW/SW Co-design Approach • In the past, HW and SW design technologies were very different. • Today, synthesis approaches enable a unified view of HW and SW: • Design of HW and SW can start from behavioral (system-level) description in sequential program model; • Electronic System Level Design. Jožef Stefan International Postgraduate School
The Co-design Ladder (Vahid&Givargis, 2002) Sequential program codes (e.g., C, VHDL, SystemC) SW Behavioral synthesis(1990s, 2000s) Compilers (1960s,1970s) Register transfers RT synthesis (1980s, 1990s) Assembly instructions Logic equations/FSMs Assemblers, linkers (1950s, 1960s) Logic synthesis (1970s, 1980s) Machine instructions Logic gates Traditional program on a programmable processor VLSI, ASIC, or PLD implementation HW Jožef Stefan International Postgraduate School
Embedded Systems Design Challenge • Design goal: • Construct a system with desired functionality. • Key design challenge: • Simultaneously optimize numerous design metrics: • Time-to-prototype • Time-to-market • Maintainability • Correctness, reliability, safety, etc. 8 months Jožef Stefan International Postgraduate School
ESs’ modeling • Challenges: • Technological: build an embedded system of predictable functionality and quality (performance & robustness) considering the system’s constraints; • Scientific: integrate Electrical Engineering and Computer Science methodologies. Jožef Stefan International Postgraduate School
Electrical engineering Differential equations Linear algebra Probability theory Sythesis Theories of estimation Theories of robustness Computer science Logic Discrete structures Automata theory Theories of correctness Verification How to satisfy the scientific challenge? Let’s take down the cultural wall between the two fields! Jožef Stefan International Postgraduate School
Modeling (1) Main steps of the ES’s design: • Definition of system’s constraints / requirements; • Derivation of an abstract system, i.e. a model; • Automatic generation of a system. Jožef Stefan International Postgraduate School
SW design HW design model model a program a HW description a compiler generates a computer-aided design tool synthesizes a code a circuit Modeling (2) • However, we cannot separate computation (SW) from physicality (platform & environment)! Jožef Stefan International Postgraduate School
Analytical modeling (1) • Analytical model is asimulation, based on an abstract system’s representation, which: • attempts to find analytical (equation-based) solutions to problemsthat enable the prediction of the system’s behavior from a set of parameters and initial conditions. Jožef Stefan International Postgraduate School
Analytical modeling (2) • Types of analytical models: • algorithm-based (language-based: Ada, RT-Java / synthesis-based: VHDL, Verilog), • equation-based (MATLAB/Simulink) • object-oriented, • dynamic simulation, • implementation platform independent (model-based); • ANSYS. Jožef Stefan International Postgraduate School
Analytical modeling (3) • Building blocks: • types: transistors, logic gates, functional components (adders), architectural components (processors); • structure changes: deterministic, or probabilistic; • composition: interconnected, inherently parallel, determined by data flows; • formal semantics: transfer functions, typically specified by equations; Examples: netlists, dataflow diagrams, and other notations for describing system’s structure. Jožef Stefan International Postgraduate School
Embedded MATLAB: automatic code generation of C and C++ objects, optimized for ESs. Analytical modeling (4) Jožef Stefan International Postgraduate School
Computational modeling (1) • Computational model is a computer program, or a network of computers, which attempts to simulate an abstract model of a particular system: • simulation is combined with the reality of actual events; • solutions to the problem are machine-based. Jožef Stefan International Postgraduate School
Computational modeling (2) • Types of computational models: • machine-based (RT/UML, AADL) • object-oriented, • dynamic simulation, • more generic (execution semantics independent) – model-based. Jožef Stefan International Postgraduate School
Computational modeling (3) • Building blocks: • types: objects, threads; • structure changes: dynamically; • composition: sequential, determined by control flows; • formal semantics: abstract machine (virtual machine / automaton); Examples: programs, state machines, and other notations for describing system dynamics. Jožef Stefan International Postgraduate School
Computational modeling (4) • Be realistic about the UML: • Lack of analytical tools for computational models to deal with physical constraints; • Generally, codeis still individually designed, not automatically generated. Jožef Stefan International Postgraduate School
Analytical vs. computational modeling Jožef Stefan International Postgraduate School
Software and program design concepts • SW Prototyping Jožef Stefan International Postgraduate School