130 likes | 168 Views
Explore the complexities of embedded systems covering power, reliability, security, and more. Delve into compiler issues, course objectives, and practical projects in this cutting-edge field.
E N D
Spring 2008 CSE 591Compilers for Embedded Systems Aviral Shrivastava Department of Computer Science and Engineering Arizona State University
Embedded Systems • “An embedded system is a special-purpose system in which the computer is completely encapsulated by the device it controls” • Very broad definition • More than 90% of the processors built are used in embedded systems • Definition blurring with new devices e.g. PDAs • Also called Ubiquitous systems • Performs one or a few pre-defined tasks • Emissions control system in a car • Senses air temp, pressure, etc.. • controls the air flow, idle speed. etc.
Characteristic of ES • Design Constraints • Multi-dimensional • Power, performance, code size, weight, etc. • Stringent • Tighter constraints, highly resource constraint • Application Specific • Radiation level, operating temperature, available wattage
Increasing Complexity • Embedded Systems market is huge • $45 billion in 2004 • > $90 billion by 2010 • Clear trend in Embedded systems • Increase in Complexity • Increasing demands • Convergence of Functionality
On-Chip Memory Embedded Processor Off-Chip Memory Interface Synthesized HW Programmable ES • Increasing Complexity • Shrinking Time-to-market • Designer Productivity is the key issue • Programmable Embedded Systems • Increase designer productivity • Software provides • faster development • easier reusability and upgrade-ability
Can I use existing Compilers? “Highly-customized” designs of embedded systems • Different ISAs • e.g. ARM, MIPS 16, micro-controllers • Missing architectural features • e.g. missing caches, branch predictors • Design idiosyncrasies • e.g partitioned register file, hardware loop counters • “Light-weight” versions of standard architectural features • e.g partial register renaming, limited support for prefetching, partial predication • Design Constraints • Multi-dimensional • Power, performance, code size, weight, etc. • Stringent • Tighter constraints, highly resource constraint • Application-specific • Radiation level, operating temperature, available wattage • Functionality – Maybe (Different ISAs) • Optimizations – NO • Compiler for Embedded Systems • Meet all design constraints simultaneously
Compiler for ES • Highly Customized embedded processor architecture • Compiler’s job is tough • Limited compiler technology • Difficult and costly analysis • 2-fold job of Compiler • Exploit existing design features • Avoid loss due to missing design features • However, Compiler can be very effective • Significant impact on power, performance etc.
Compiler Issues • Code size • Performance • Power, Energy • Real-time guarantees • Security • Reliability • Robustness
Course Objectives • Understand Design and Software Issues in Embedded Systems • Power • Performance • Reliability • Robustness • Code size • Security • Develop novel compiler and microarchitecture techniques • And demonstrate their effectiveness
Course Structure • Lectures and Papers • Lecture, Discussion, Presentation • Project • Project Idea • Paper-pencil demonstration • Proposal • Paper/Report • Presentation
Grading • Lectures • Paper presentation: 20% • Class participation: 20% • Project: • 1-2 page proposal: 20% • 6-10 page paper: 20% • Final Demonstration: 20%
Check Frequently • Class Webpage • http://www.public.asu.edu/~ashriva6/teaching/CES/CES.html • Make a bookmark • Any changes/announcements will be made at the beginning of lecture
Yoda Says… • Luke: I can’t believe it. • Yoda: That is why you fail