1 / 60

Embedded Computing Systems: An Overview

Embedded Computing Systems: An Overview. EE202A (Fall 2003): Lecture #1. Welcome to EE202A!. Course logistics Overview what are embedded computing systems? why are they important? what are their characteristics & requirements? what are the interesting trends? what will the course cover?.

aquarius
Download Presentation

Embedded Computing Systems: An Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Embedded Computing Systems: An Overview EE202A (Fall 2003): Lecture #1

  2. Welcome to EE202A! • Course logistics • Overview • what are embedded computing systems? • why are they important? • what are their characteristics & requirements? • what are the interesting trends? • what will the course cover?

  3. Course Logistics: Instructor Info • Email: mbs@ee.ucla.edu • Phone: 310-267-2098 • Office: 6731-H BH • Office hours: MoWe 2-3 PM, or by appointment • I’m very responsive with email • Please put “EE202A” in mail subject line • Assistant: Marilyn Saunders, 6731 BH marilyn@ea.ucla.edu

  4. About This Course • Required course for EE’s ECS Major Field Students as well as those with ECS minor • Plus, question in M.S. comprehensive exam / PhD prelims • Related courses • Potkonjak’s CS259 CAD for Systems (Fall) • Estrin’s CS213A Distributed Embedded Systems (Winter) • Ingrid’s EE201A on Advanced VLSI (Spring) • Bill M-S’s EE204A on Compilers (Winter) • My EE206A Wireless Systems (Spring)

  5. Course Logistics: Prerequisites • No official prerequisite graduate courses as the course covers a wide range of topics, but I’ll assume that you have • Background equivalent to UCLA CSE or EE/CE option • Requirement #1: knowledge • Digital hardware, computer architecture, systems programming, algorithms and data structures, DSP • Requirement #2: skills • Using simulation and analysis tools • Advanced ability to program & use simulation/analysis tools • Strong ability to communicate your ideas (talks, reports) • Requirement #3: initiative • Definitely not a spoon-fed undergrad or basic grad course • Open-ended problems with no single answer requiring thinking and research • Requirement #4: interest • Have strong interest in research in this or related fields • Don’t take this course if you’re here for a quicky degree

  6. Course Logistics: Enrollment • If you want to enroll • Limit of ~ 25 students • I’ll hand out PTEs as needed • wait till end of week 2 as many students drop out • If you are an EE student, remember to drop out by 4th week • otherwise you will violate EE department rules • If you want to audit, following is the priority • You are an ECS student • You contacted me • Rest If you are not serious about the course,please drop out officially ASAP!

  7. Course Logistics: Grading • One take-home examination: 20% • 10th week or the weekend between Weeks 9 & 10 • Homeworks: 20% total • Analysis, simulation, programming, library/web research, paper reviews • Topic research : 15% • Groups of 2-3 students • Survey an area (topics and resources specified by me on a continual basis) • Prepare slides and do a 30-35 minute presentation in the class • slides prepared jointly • either all students share the presentation or I will select the speaker randomly at the presentation time • Prepare a web site that should contain a report based on your survey, a bibliography, and links to resources and of course your slides • One project: 25% results/effort, 7.5% report, 7.5% presentation = 40% total • Software/hardware design, tools, analysis, simulation • Implementation projects strongly encouraged • Literature surveys unacceptable, bogus hand-wavy stuff won’t get you far • Groups of 1-3 students • Up to 30 minute presentation during the finals week, like a conference talk with a demo • Up to 12 page report in the style of a technical conference paper • ACM style http://www.acm.org/sigs/pubs/proceed/template.htm • Class participation: 5% • E.g. questions that you ask during lectures and student presentations • E.g. how much you interact with me regarding the project

  8. Course Logistics: Project • Dig deep into a focus area on your own • lectures would provide a “broad” coverage • Should have some new idea/result, even if minor • one or more of simulation, analysis, implementation • no paper reviews and surveys • ambitious or riskier ideas may not work out - you will be judged by the effort! • Project proposals due by October 13 • some suggested project topics on class web page • I encourage you to think of your own topic • may relate to your own research • you may not “reuse” work already done or being done for some other purpose • come and discuss possible project ideas with me! • What should be your goal? • something useful • similar style/quality as a conference paper and talk • key is to keep the project simple, and focused • aim for high quality! • Timeline • Project topics and groups finalized by Monday of Week 3 • Detailed proposal, timeline, and work till date by Friday of Week 4 • Weekly progress reports thereafter

  9. Course Logistics: On the Web • Course web site URL http://nesl.ee.ucla.edu/courses/ee202a/2003f • On-line material • lecture viewgraphs in PPT and PDF • check before class, and print them • viewgraphs are organized topic-wise and would span several classes • copies of handouts, home works, exams etc. • important announcements • on-line reader with pointers to URLs, Melvyl • Last year’s lectures available at http://nesl.ee.ucla.edu/~mbs/courses/ee202a/2002f/ • Class mailing list • ee202a@ee.ucla.edu • make sure to write your name on the sign-up sheet • If auditing, please let me know if you wish to be on the mailing list

  10. Course Logistics: Reader & Textbooks • No books required • unfortunately NO single adequate book exists • I’d mention books as we go along • A set of papers will be required reading • average of one paper per class • will relate to the core topic of that class • you are expected to read it BEFORE the class • In addition, there are student presentations • cover alternate ideas or related topics • lead discussion but every one is supposed to participate • selected from a set of topics of my choosing • I will give pointers to papers and web resources

  11. Course Logistics: Reader & Textbooks (contd.) • No paper reader - an “on-line reader” at the course web site • bibliographic entries for various papers • links to on-line versions if available • or, indication whether available through Melvyl’s INSPEC database • hardcopies will be handed out for papers not available on-line • You must know or learn how to locate papers • use Melvyl to access on-line databases • user web resources such as google and NEC’s CiteSeer (http://citeseer.nj.nec.com/cs)

  12. Course Logistics: Some Books (for your interest only…) • “Embedded, Everywhere: A Research Agenda for Networked Systems of Embedded Computers,” National Research Council. http://www.nap.edu/books/0309075688/html/ • John A. Stankovic and Kirthi Ramamritham, "Hard Real-Time Systems," IEEE Computer Society Press. • G.D. Micheli, W. Wolf, R. Ernst, “Readings in Hardware/Software Co-Design,” Morgan Kaufman. • S.A. Edwards, “Languages for Digital Embedded Systems,” Kluwer, 2000. • R. Melhem and R. Graybill, “Power Aware Computing,” Plenum, 2002. • M. Pedram and J. Rabaey, “Power Aware Design Methodologies,” Kluwer, 2002. • Bruce Douglass, "Real-Time UML - Developing Efficient Objects for Embedded Systems," Addison-Wesley, 1998. • Hermann Kopetz, "Real-Time Systems : Design Principles for Distributed Embedded Applications," Kluwer, 1997. • Hassan Gomaa, "Software Design Methods for Concurrent and Real-Time Systems," Addison-Wesley, 1993. • P. Lapsley, J. Bier, A. Shoham, and E.A. Lee, “DSP Processor Fundamentals: Architectures and Features,” Berkeley Design technology Inc,, 2001. • R. Gupta, "Co-synthesis of Hardware & Software for Embedded Systems," Kluwer, 1995. • Felice Balarin, Massimiliano Chiodo, and Paolo Giusto, "Hardware-Software Co-Design of Embedded Systems : The Polis Approach," Kluwer, 1997. • Jean J. Labrosse, "Embedded Systems Building Blocks : Complete And Ready To Use Modules In C ," R&D Publishing, 1995. • Jean J. Labrosse, "uC / OS : The Real Time Kernel," R&D Publishing, 1992.

  13. Embedded Systems on the Web • Berkeley Design technology, Inc.: http://www.bdti.com • EE Times Magazine: http://www.eet.com/ • Linux Devices: http://www.linuxdevices.com • Embedded Linux Journal: http://embedded.linuxjournal.com • Embedded.com: http://www.embedded.com/ • Embedded Systems Programming magazine • Circuit Cellar: http://www.circuitcellar.com/ • Electronic Design Magazine: http://www.planetee.com/ed/ • Electronic Engineering Magazine: http://www2.computeroemonline.com/magazine.html • Integrated System Design Magazine: http://www.isdmag.com/ • Sensors Magazine: http://www.sensorsmag.com • Embedded Systems Tutorial: http://www.learn-c.com/ • Collections of embedded systems resources • http://www.ece.utexas.edu/~bevans/courses/ee382c/resources/ • http://www.ece.utexas.edu/~bevans/courses/realtime/resources.html • Newsgroups • comp.arch.embedded, comp.cad.cadence, comp.cad.synthesis, comp.dsp, comp.realtime, comp.software-eng, comp.speech, and sci.electronics.cad

  14. Embedded Systems Courses on the Web • Alberto Sangiovanni-Vincentelli @ Berkeley • EE 249: Design of Embedded Systems: Models, Validation, and Synthesis • http://www-cad.eecs.berkeley.edu/~polis/class/index.html • Brian Evans @ U.T. Austin • EE382C-9 Embedded Software Systems • http://www.ece.utexas.edu/~bevans/courses/ee382c/index.html • Edward Lee @ Berkeley • EE290N: Specification and Modeling of Reactive Real-Time Systems • http://ptolemy.eecs.berkeley.edu/~eal/ee290n/index.html • Rajesh Gupta @ UCI • ICS 212: Introduction to Embedded Computer Systems • http://www.ics.uci.edu/~rgupta/ics212.html • ICS 213: Software for Embedded Systems • http://www.ics.uci.edu/~rgupta/ics213.html

  15. Course Logistics: Some Conferences and Journals • Conferences & Workshops • ACM/IEE DAC • IEEE ICCAD • IEEE RTSS • ACM ISLPED • IEEE VLSI SP Workshop • CASES • Many others… • Journals & Magazines • ACM Transactions on Design Automation of Electronic Systems • ACM Transactions on Embedded Computing Systems • IEEE Transactions on Computer-Aided Design • IEEE Transactions on VLSI Design • IEEE Design and Test of Computers • IEEE Transactions on Computers • Journal of Computer and Software Engineering • Journal on Embedded Systems • Many others…

  16. Course Logistics: Impact of Travel on Class Schedule • Missed classes due to conference travel by me (tentative) • 10/1 - invited mini-tutorials on h/w & s/w platforms • 10/15 - TBD • possibly one more • Will schedule make up classes if needed • Nov 10 will be an invited lecture by Trevor Pering from Intel’s Ubiquitous Computing group who will talk about Intel’s Personal Server

  17. Cheating & Plagiarism • Vast majority of students don’t resort to academic dishonesty • but unfortunate incidents in my previous grad and undergrad courses • What is cheating & plagiarism? • Acting dishonestly, practicing fraud • Stealing or using (without my permission) other people’s writings or ideas • E.g. from other students, other sources such as web sites, solutions from previous offerings of this course etc. • Note that it doesn’t have to be literal copying – stealing ideas but presenting in a different style is still cheating and plagiarism. • You are also guilty if you aid in cheating & plagiarism • My policy: zero tolerance • HWs, presentations: 0 score + one level (e.g. A to B) reduction in course grade • Exam, project: “F” grade for the course + report to Dean • More than 1 incident: : “F” grade for the course + report to Dean • Moreover, remember that you may have to face me in other exams (e.g. M.S. comprehensive, Ph.D. prelims, Ph.D. qualifiers) and professionally! • Bottomline, don’t risk it - you will regret it!

  18. Reading List for This Lecture • MANDATORY READING • Tennenhouse, D. Proactive computing. Communications of the ACM, vol.43, (no.5), ACM, May 2000. p.43-50. http://www.acm.org/pubs/citations/journals/cacm/2000-43-5/p43-tennenhouse/ • OTHER READING • None

  19. HW #1 (due Fri 10/3, 5PM) • Read Tennehouse’s paper and write a 1-2 page essay that critiques the paper, focusing particularly on what Tennehousegot right and what he got wrong from your 2003 perspective of technology trends and market place • Remember, I am not looking for a summary! • Submit electronically by the above deadline using the following • Must be done as word, html, PDF, ascii files • One {word, pdf, html, ascii} file per problem, with a name such as pN.pdf where N = prob # • supporting files or subdirectories may have names such as pN_code.c • Store all the files and directories for HW #1 in a directory called hw1 • Archive the hw1 directory using zip or tar or tar followed by gnuzip or compress • upon extraction, your archive should yield a single top directory called hw1 • Send me email with a URL of the for http://<host>/<path>/hw1.{zip,tar,tgz,tZ} • In future, I’d assume your submission is available by the deadline at http://<host>/<path>/hwN.{zip,tar,tgz,tZ} • In addition, submit a hardcopy printout within 24 hours of the deadline • slip under my office door or leave in the mail slot next to my office door

  20. HW #2 (Due Fri 10/10, 5 PM) Select a technology area, commercial product, or a major non-UCLA research project that is relevant to this course (say, StrongARM 2), and create a web page with discussion that surveys/summarizes and critiques the selected technology, product, or project. In addition, provide WWW links and paper references to important sources of information. • Use Web (e.g. Google) and Melvyl (California Digital Library) as your primary source • Since I want every student to pick a distinct topic, please get your choice approved by me via email • I’d approve topics in the first come first served order • I won’t allow topics on which I know such web pages already exist! • Look at examples from last year at • http://nesl.ee.ucla.edu/courses/ee202a/2002f/submissions/hw2/ • Or, look at http://www.cs.berkeley.edu/~culler/cs294-s00/knowledgeweb.html for a similar exercise in David Culler’s course at Berkeley • Submission: as “hw2” using the same process (and URL path) as HW1 • Name your top-level file inside hw2 directory as index.html • No hardcopy required

  21. Topics from Last Year’s Class • Intel Xscale • Energy sources • Reconfigurable DSP processors for 3G • Reconfigurable SOCs • Busses for embedded systems • Network appliances • Network processors • Small formfactor processor modules • Real-time Linux • Berkeley’s Pico-Radio Project • SystemC • Voice over IP system on chips • Altera’s NIOS • Jbed RTOS • Security co-processors • Medical and human-embedded systems • 8-bit microcontrollers • Wireless PANs • SpecC

  22. Advice on Topic Selection • Avoid following types of topics: • A specific product • you will just repeat what the manufacturer’s web site already says • An ultra-broad area (e.g. ASIC or FPGA) • hard to say anything coherent • Best topics are those that are about a "focused class" of something • E.g. network processors or 8-bit microcontrollers or communication buses for embedded systems etc. • You can then take a few representative samples of this class and compare them.

  23. Sample Topics • Low-power radio technologies (e.g. Zigbee) • IEEE 1451 standard for intelligent distributed sensors • Thermal management techniques • Energy sources • Design tools for embedded systems • Middleware platforms for embedded systems

  24. Course Goals • Explain fundamental concepts underlying the design of embedded and real-time systems • building hardware, software, and mixed h/w-s/w embedded systems • Techniques for optimizing design of embedded systems • algorithms for systematic design • Research issues, industry trends, and interesting applications Prepare for Embedded System Revolution

  25. What are Embedded Systems?

  26. More Examples... • Signal processing systems • radar, sonar, real-time video, set-top boxes, DVD players, medical equipment, residential gateways • Mission critical systems • avionics, space-craft control, nuclear plant control • Distributed control • network routers & switches, mass transit systems, elevators in large buildings • “Small” systems • cellular phones, pagers, home appliances, toys, smart cards, MP3 players, PDAs, digital cameras and camcorders, sensors, smart badges

  27. Why do we care?Some Market Tidbits... • Specialized devices and information appliances are replacing the generalist PC • variety of forms: set-top boxes, fixed-screen phones, smart mobile phones, PDAs, NCs, etc. • IDC predicts that by 2002 > 50% of inter access devices will be such into appliances and not PCs • In 1997, 96% of internet access devices sold in the US were PCs • By 2004, unit shipments will exceed those of PCs • Traditional systems becoming dependent on computation systems • Modern cars: up to ~100 processors running complex software • engine & emissions control, stability & traction control, diagnostics, gearless automatic transmission • http://www.howstuffworks.com/car-computer.htm • An indicator: where are the CPUs being used?

  28. Where Are the Processors? Where Has CS Focused? Direct2% InteractiveComputers Robots6% Vehicles12% 200Mper Year 8.5B Parts per Year Servers,etc. Embedded Computers 80% In Vehicles In Robots Embedded Look for the CPUs…the Opportunities Will Follow! Source: DARPA/Intel (Tennenhouse) Where are the CPUs? Estimated 98% of 8 Billion CPUs produced in 2000 used for embedded apps

  29. History of Computing Technology discontinuities drive new computing paradigms and applications 1960 1970 1980 1990 1995 1998 2000 Mainframe Mini Workstation PC Routers Cell phones, PDAs Networked Embedded Systems? IBM DEC Sun, HP Intel, Dell Cisco Nokia, Palm ??? Increasing # of computers / person Increasing connectivity

  30. Typical Characteristics of Embedded Systems • Part of a larger system • not a “computer with keyboard, display, etc.” • HW & SW do application-specific function – not G.P. • application is known a priori • but definition and development concurrent • Some degree of re-programmability is essential • flexibility in upgrading, bug fixing, product differentiation, product customization • Interact (sense, manipulate, communicate) with the external world • Never terminate (ideally) • Operation is time constrained: latency, throughput • Other constraints: power, size, weight, heat, reliability etc. • Increasingly high-performance (DSP) & networked

  31. Key Recent Trends • Increasing computation demands • e.g. multimedia processing in set-top boxes, HDTV • Increasingly networked • to eliminate host, and remotely monitor/debug • embedded Web servers • e.g. Axis camera http://neteye.nesl.ucla.edu • e.g. Mercedes car with web server • embedded Java virtual machines • e.g. Java ring, smart cards, printers • cameras, disks etc. that sit directly on networks • Increasing need for flexibility • time-to-market under ever changing standards! Need careful co-design of h/w & s/w!

  32. “Traditional” Software Embedded Systems = CPU + RTOS

  33. “Traditional” Hardware Embedded Systems = ASIC • A direct sequence spread spectrum (DSSS) receiver ASIC (UCLA) ASIC Features Area: 4.6 mm x 5.1 mm Speed: 20 MHz @ 10 Mcps Technology: HP 0.5 mm Power: 16 mW - 120 mW (mode dependent) @ 20 MHz, 3.3 V Avg. Acquisition Time: 10 ms to 300 ms

  34. Application Specific Gates Analog I/O DSP Code Processor Cores Memory Modern Embedded Systems? • Embedded systems employ a combination of • application-specific h/w (boards, ASICs, FPGAs etc.) • performance, low power • s/w on prog. processors: DSPs, controllers etc. • flexibility, complexity • mechanical transducers and actuators

  35. Complexity and Heterogeneity controller processes control panel • Heterogeneity within H/W & S/W parts as well • S/W: control oriented, DSP oriented • H/W: ASICs, COTS ICs Real-time OS ASIC UI processes controller DSP Assembly Code Programmable DSP Programmable DSP DSP Assembly Code CODEC Dual-ported RAM

  36. Handling Heterogeneity From Lee (Berkeley)

  37. Increasingly on the Same ChipSystem-on-Chip (SoC) • SC3001 DIRAC chip (Sirius Communications)

  38. More SoCs Camera-on-chip (Bell Labs) Solar-power Wireless Sensor (Berkeley)

  39. SoCs with Mechanics: Berkeley’s Smart Dust

  40. Industrial Structure Shift(from Sony)

  41. Many Implementation Choices Speed Power Cost • Microprocessors • Domain-specific processors • DSP • Network processors • Microcontrollers • ASIPs • Reconfigurable SoC • FPGA • Gatearray • ASIC High Low Volume

  42. Hardware vs. Software Modules • Hardware = functionality implemented via a custom architecture (e.g. datapath + FSM) • Software = functionality implemented in software on a programmable processor • Key differences: • Multiplexing • software modules multiplexed with others on a processor • e.g. using an OS • hardware modules are typically mapped individually on dedicated hardware • Concurrency • processors usually have one “thread of control” • dedicated hardware often has concurrent datapaths

  43. Multiplexing Software Modules A B A B A B Call B Return Resume B Resume B Resume A Resume A SUBROUTINES COROUTINES PROCESSES Hierarchical Symmetric Symmetric Sequential Sequential Concurrent Modularity Complexity

  44. Many Types of Programmable Processors • Past • Microprocessor • Microcontroller • DSP • Graphics Processor • Now / Future • Network Processor • Sensor Processor • Cryptoprocessor • Game Processor • Wearable Processor • Mobile Processor

  45. Example: Network Processor • Good News • Processor Power • 2 years - 3 X • Better News • Optical Bandwidth • 2 years - 10 X • Bad News • Inadequacy = C * 3n/2 Routing Switches Firewall Boxes Traffic Shapers Aggregation Nodes Edge Routers Media Servers

  46. Example Network Processor Architecture mC I$ D$ DMA System Management I/O System Pipeline ASPP ASPP Network ASPP ASPP ASPP Network ASPP ASPP ASPP

  47. Application-Specific InstructionProcessors (ASIPs) • Processors with instruction-sets tailored to specific applications or application domains • instruction-set generation as part of synthesis • e.g. Tensilica • Pluses: • customization yields lower area, power etc. while r • Minuses: • higher h/w & s/w development overhead • design, compilers, debuggers • higher time to market

  48. Reconfigurable SoC Triscend’s A7 CSoC Other Examples Atmel’s FPSLIC(AVR + FPGA) Altera’s Nios(configurable RISC on a PLD)

  49. H/W-S/W Architecture • A significant part of the problem is deciding which parts should be in s/w on programmable processors, and which in specialized h/w • Today: • Ad hoc approaches based on earlier experience with similar products, & on manual design • H/W-S/W partitioning decided at the beginning, and then designs proceed separately

More Related