Download presentation
Presentation is loading. Please wait.
1
מעבדה במערכות משובצות ד"ר מרינה ליפשטיין marinali@bgu.ac.il דוא"ל:
2
Lecture 1 Basic Concepts of Embedded Systems
3
What are embedded systems?
Computers masquerading as non-computers Sony Playstation 2 Nokia 7110 Browser Phone Casio Camera Watch Philips TiVo Recorder Philips DVD player
4
Embedded Systems Information systems tightly integrated with physical processes Non User-Programmable Based on programmable components (e.g. FPGA, micro-controllers, DSPs, ….) Reactive and real-time “React” to external environment Maintain permanent interaction Ideally never terminate Are subject to external timing constraints
5
Embedded Software Software running on the programmable processors:
Application tasks Real-Time Operating System I/O drivers, Network protocols, Middleware
6
Embedded Systems: example Electronics in the car
@T. John Koo More than 30% of the cost of a car is now in Electronics 90% of all innovations will be based on electronic systems Drive-by-wire technology: Cost, Performance, Safety and Security
7
Embedded Systems: example Cellular Phone
Concurrency: component-based design system interacts with environment Heterogeneity digital and analog components discrete-time and real-time interaction
8
Embedded System Challenges
Differs from general-purpose computing Real-time constraints Power constraints Exotic hardware Concurrency Control systems Signal processing User interface Laws of physics SR-71
9
Real-Time Systems Embedded and Real-Time Synonymous?
Most embedded systems are real-time Most real-time systems are embedded In this course we will talk about embedded real-time systems only, since it is the harder case. embedded real-time embedded real-time
10
Embedded Systems Embedded systems composed of hardware and
software components are designed to interact with a physical environment in real-time in order to fulfill control objectives and design specifications.
11
Embedded Systems Embedded software refers to application software to
process information to and from between the information and physical worlds.
12
What distinguishes Real-Time(RT) systems from non-RT systems?
Timing constraints! Correctness depends not only on logical result but also time at which results are produced!
13
Real-Time system definition
נכונות היא לא רק תוצאה נכונה, אלא גם זמן קבלת התוצאה. מע' שצריכה להגיב על outputמסוים מהעולם. הפרש זמן בין output לתגובה צריך להיות קטן כדי לעמוד בדרישת דייקנות timeliness. מע' מחשבת בזמן שתהליך קורה, תוצאות החישוב הכרחיות לשליטה על התהליך. מע' חישוב המגיבה על תמריץinput חיצוני בזמן סופי ומוגדר. סביבת עבודה משתנה בזמן אמת ומטילה מגבלות זמן על המערכת. output של המע' תלוי ב input מסויים ובזמן בו נתקבל ה .input
14
Soft versus Hard Real-Time
על החישובים ופעולות של מע' זמן אמת ישנם ספי ביצועים .deadlines Deadline : זמן בו הביצוע חייב להסתיים. deadline הוא נקודת בזמן (time-driven) או הפרש זמנים (event-driven) שבו פעולת מע' חייבת להתבצע. מערכות זמן אמת נבדלות ע"י השלכות של תגובה מאוחרת: -כשלון להגיב בזמן יכול להיות קביל. -זמן תגובה חשוב, אך לא קריטי. -כשלון להגיב בזמן נחשב כה גרוע כמו תגובה לא נכונה. Hard deadline : מידע מאוחר יכול להיות רע ומזיק. Soft deadline :מידע מאוחר יכול להיות טוב.
15
Soft versus Hard Real-Time
Hard real-time system : יש דרישה לעמוד ב- hard deadlines.מע' תמיד חייבת לעמוד בכל דרישות הזמן. Soft real-time system :יש דרישה לעמוד בsoft deadlines- . כשלון לעמוד בזמן מדי פעם לא רצוי, אך לא גורם לשגיאה ונפילת המערכת. Firm real-time system :מערכות בעלות hard ו- soft deadlines. deadlines מסויימים ניתן לפספס כל עוד: בממוצע ביצועים מספקים כל הזמן מאחרים בביצוע deadline עד זמן מסויים. : schedulable system מובטח שתעמוד בכל דרישות הביצועים.
16
Soft versus Hard Real-Time
17
Soft versus Hard Real-Time
מע' בקרה לב של החולה: מע' שמודדת קצב לב. מספיק לדעת את הקצב תוך 1 שניה ולא חייבים לדעת תוך מילישניה. FIRM מע' הצגה מולטימדיה: ניתן לחשוב שזאת מע' זמן אמת. אבל לא חשוב אם חלק מספי הזמן לא מסופקים, כל עוד רוב ספי הזמן מסופקים. SOFT
18
Soft versus Hard Real-Time
Property Non Real Time Soft Real Time Hard Real Time Deterministic No Possibly Yes Predictable No Possibly Yes Consequences of late computation No effect Degraded performance Mission failure Mission-critical reliability No Yes Yes
19
Terms A time driven system are primarily driven by periodic tasks rather than by the arrival of aperiodic events. The periodic tasks can be either a passage of some time or arrival of a deadline. A task or a thread is an encapsulated sequence of actions that executes independently and in parallel with other tasks. Actions are sequentially executing statements that execute at the same priority or perform cohesive(מלכדת) function. Sometimes there is a distinction between heavyweight threads that are called processes and regular lightweight threads. In a multitasking system the tasks are scheduled to run via scheduling policy. Real Time Operating System(RTOS) is a software that is responsible, among other activities, to implement the scheduling policy. Not all real-time systems have RTOS. A task priority is used by RTOS to control when it runs in relation to other tasks.
20
Properties of Real-Time System
Control and monitor physical processes in a timely fashion. Perform reliably for long periods. Perform without direct human intervention. Operate under more severe constraints than “normal” software systems. Some constraints are inherent in their problem domain. Some constraints come from the need to reduce recurring cost. Must operate with a minimum memory footprint and with minimum of support hardware. Harder to develop. Do not use mass storage devices. Do not provide conventional computer display or keyboard.
21
Characteristics of Real-Time Embedded System
מע' זמן אמת נוטה להיות: Embedded system : מהווה רכיב של מע תוכנה.חומרה יותר גדולה. Concurrent system : בו-זמנית מבקרת/מגיבה על תכונות שונות של הסביבה, צריכה לטפל בהרבה ארועים בו זמנית. : Safety critical system :לא רק אמינה, אלא גם בטיחותית. אם מע' נופלת, אין פציעה או נזק לחיי אנוש. פיתוח מע' זו דורש ארכיטקטורה עם יתירות redundancy Reactive system : ישנו ממשק קבוע עם הסביבה, event-driven ומגיב על ארועים, תגובה בד"כ תלויה ב- stateבו המע' נמצאת. התנהגות מע' בעיקר היא תגובות לארועים חיצוניים.
22
Timeliness (דייקנות) דייקנות של פעולה היא איך הפעולה עומדת בדרושות הזמן. בדרך כלל פעולות חייבות להתחיל בתגובה לארוע או בתום זמן מסויים וחייבות להסתיים זמן מוגדר לאחר תחילתן. בדרך כלל דרישת דייקנות מוגדרת ע"י דרישת ביצועים מתחילת ארוע וסדר הפעולות עד סוף הטיפול בארוע. דוגמה 1: (תגובה לארוע) אלגוריתם להדלקת הרמזורים יתחיל לאחר שהולך רגל ילחץ על הכפתור. דוגמה 2: (בתום זמן מסויים) כל 100 מילישניות, המע' תקרא מידע מחישן אלקטרומגנטי ותעדכן את מצב עומס נמכוניות בכביש ליד הרמזור. דוגמה 3 : (בסיום פעולה) המצלמה תמוקם על הנתיב העמוס בכביש תוך 3 שניות מקבלת פקודה חיצונית.
23
Responsiveness(תגובתיות)
מע' סטנדרטית בעיקר מגיבה למשתמש. לעומת זאת מע' זמן אמת יכולה להתממשק למשתמש, אבל בעיקר להגיב לארועים חיצוניים, חיישנים, התקנים, מפעילים. ארועים חיצונים הם לעיתים קרובות בלתי צפויים אבל מע' זמן אמת צריכה להגיב בזמן, זה נקרא תגובתיות. העולם האמיתי הוא לא לינארי ולעיתים קרובות המרכיבים שלו תלויים זה בזה. עיוות קטן בקלט יכול לגרום לשינוי גדול בפלט. בתכנון מע' מניחים לינאריות ובלתי תלות, וכאשר תכונות אלה נפגעות, המע' כושלת. זהו הקושי העיקרי. דוגמאות: 1. קוצב לב מייצר קצב בהפרש מסויים ע"י חיבור עופרת חשמלי לדפנות הלב. 2. מחשב בקר טיסה מנהל המנוע, כבפיים וזנב בהתאמה לפרמטרים של הטיסה. 3. בקר תהליך כימי מנהל מתי, איך, כמנ ואיזה חומרים להוסיף.
24
Predictability(אפשרות חיזוי)
אפשרות חיזוי של מע' היא מידה בה אופן התגובה ידוע מראש אפשרות חיזוי היא קריטית למע' בה נדרשים בטיחות קריטית ואמינות גבוהה כמה שיטות קיימות להגדיר אפשרות חיזוי ע"י ניתוח: ניתוח מתמטית ,כגון rate monotonic analysis(RMA). RMA הוא אוסף של אלגוריתמים ושיטות המאפשר למהנדסים לאפיין, להבין, לנתח ולחזות התנהגות של מע' בזמן אמת. שיטות בקרה פשוטות, לדוגמה למנוע preemption של פעולות . לפרק את המע' למרכיבים, לדוגמה tasks. זה מאפשר להפעיל הרבה אלגוריתמים לניתוח. ישנם שני אספקטים לאפשרות חיזוי המע': אפשרות תזמון ואפשרות חיזוי זכרון.
25
Predictability –Memory predictability
אפשרות חיזוי זכרון הוא אופן השימוש ומשך השימוש בזכרון. משך השימוש: זכרון בלתי-נדיף לקריאה בלבד זכרון בלתי-נדיף לקריאה וכתיבה זכרון נדיף אופן השימוש: Execution memory : זכרון בו ממוקם הקוד המתבצע stack, heap, static: Data memory.
26
Memory Predictability –cont.
Static – allocate all memory at boot-up. Not applicable to large systems. Stack – the simplest, verify that the stack is big enough to hold all the automatic variables and return addresses in all cases. Heap – request a memory block from operating systems (ex. malloc). Most heap managers do not have constant or bounded time to allocate, since they traverse the free store. Not predictable and some deadlines may be missed. Memory fragmentation even makes it worse. Common solution - fixed size block allocation heaps. Every mix has its properties: Stack-writable persistent memory Heap-volatile Stack-nonwritable persistent
27
Low-Level Hardware Interfacing
One of the major difficulties is managing interfaces to the low level drivers. The hardware components and devices often requires custom drivers. These drivers need to interface the RTOS. Sometimes the efficiency of the device handlers is crucial to the performance of the system.
28
Distributed Systems Large real-time systems may be distributed across many processors. Sometimes in the same computer and sometimes across disparate physical locations. These systems must relate more issues, such as: Coordination and synchronization of tasks on different processors Bootup process Cross processor communication Time base synchronization Construct such systems using large-scale architectural abstractions, such as components and subsystems, as a mean to decompose the system and control it.
29
Target Environment and Host Environment
Dealing with resource limited environment Usually the embedded system is developed using tools hosted on host computer. The executable application is targeted to a different target computer. Developer needs to use cross compiler tools, simulation, and other special development tools. Sometimes the target environment has no sophisticated debugging tools. The host environment is sometimes not capable of handling all target facilities. Sometimes the target computer is composed of special hardware which is not present in the host computer( like timers,sensors) and it must be simulated.
30
Target Environment and Host Environment
Sometimes the target environment does not have a display on which to view errors or diagnostic messages. Sometimes the target computer uses different Operating System than the host computer. Usually the target computer is produced first in a limited quantity, and is used both for hardware and software development. This concurrent development adds the difficulty of integration with hardware and hardware problems. The differences between the development and target environment adds time, effort and risk to the development activities. Often, the developer must design and write software for hardware that yet does not exists.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.