Embedded Computing Systems 10CS72 - Gopalan Colleges

3y ago
55 Views
4 Downloads
2.24 MB
252 Pages
Last View : Today
Last Download : 2m ago
Upload by : Victor Nelms
Transcription

Embedded Computing Systems10CS72EMBEDDED COMPUTING SYSTEMSSub Code: 10CS72Hrs/Week: 04Total Hrs: 52IA Marks :25Exam Hours :03Exam Marks :100PART- AUNIT – 16 HoursEmbedded Computing: Introduction, Complex Systems and Microprocessors, Embedded SystemsDesign Process, Formalism for System design Design Example: Model Train Controller.UNIT – 27 HoursInstruction Sets, CPUs: Preliminaries, ARM Processor, Programming Input and Output, Supervisormode, Exceptions, Traps, Coprocessors, Memory Systems Mechanisms, CPU Performance, CPU PowerConsumption. Design Example: Data Compressor.UNIT – 36 HoursBus-Based Computer Systems: CPU Bus, Memory Devices, I/O devices, Component Interfacing,Designing with Microprocessor, Development and Debugging, System-Level Performance AnalysisDesign Example: Alarm Clock.UNIT – 47 HoursProgram Design and Analysis: Components for embedded programs, Models of programs, Assembly,Linking and Loading, Basic Compilation Techniques, Program optimization, Program-Level performanceanalysis, Software performance optimization, Program-Level energy and power analysis, Analysis andoptimization of program size, Program validation and testing. Design Example: Software modem.PART- BUNIT – 56 HoursReal Time Operating System (RTOS) Based Design – 1: Basics of OS, Kernel, types of OSs, tasks,processes, Threads, Multitasking and Multiprocessing, Context switching, Scheduling Policies, TaskCommunication, Task Synchronization.UNIT – 66 HoursRTOS-Based Design - 2: Inter process Communication mechanisms, Evaluating OS performance, Choiceof RTOS, Power Optimization. Design Example: Telephone Answering machineUNIT – 77 HoursDistributed Embedded Systems: Distributed Network Architectures, Networks for Embedded Systems:I2C Bus, CAN Bus, SHARC Link Ports, Ethernet, Myrinet, Internet, Network Based Design. DesignExample:Elevator Controller.UNIT – 87 HoursEmbedded Systems Development Environment: The Integrated Development Environment, Types ofFile generated on Cross Compilation, Dis-assembler /Decompiler, Simulators, Emulators, and Debugging,TargetHardware Debugging.Dept of CSEPage 1

Embedded Computing Systems10CS72Text Books:1. Wayne Wolf: Computers as Components, Principles of Embedded Computing Systems Design, 2ndEdition, Elsevier, 2008.2. Shibu K V: Introduction to Embedded Systems, Tata McGraw Hill, 2009(Chapters 10, 13)Reference Books:1. James K. Peckol: Embedded Systems, A contemporary Design Tool, Wiley India, 20082. Tammy Neorgaard: Embedded Systems Architecture, Elsevier, 2005.Dept of CSEPage 2

Embedded Computing Systems10CS72Table of ContentsSl.NoUnitPage No1Embedded Computing4-342Instruction Sets, CPUs35-1123456Bus-Based Computer SystemsProgram Design and AnalysisPART BReal Time Operating System (RTOS) BasedDesign – 1RTOS-Based Design - 2113-142143-198199-311312-3207Distributed Embedded Systems321-3308Embedded Systems DevelopmentEnvironment331-343Dept of CSEPage 3

Embedded Computing Systems10CS72UNIT 1Embedded Computing1.1 COMPLEX SYSTEMS AND MICROPROCESSORSWhat is an embedded computer system? Loosely defined, itis any device that includes a programmable computer but isnot itself intended to be a general-purpose computer. Thus, a PCis not itself an embedded computing system, although PCs areoften used to build embedded computing systems. But a faxmachine or a clock built from a microprocessor is anembedded computing system.1.1.1 Embedding ComputersA microprocessor is a single-chip CPU. Very large scaleintegration (VLSI) stet—the acronym is the name technologyhas allowed us to put a complete CPU on a single chip since1970s, but those CPUs were very simple. The firstmicroprocessor- the Intel 4004, was designed for an embeddedapplication, namely, a calculator. The calculator was not ageneral-purpose computer—it merelyprovidedbasicarithmetic functions. However, Ted Hoff of Intel realized thata general-purpose computer programmed properly couldimplement the required function, and that the computer-on-achip could then be reprogrammed for use in other productsas well. Since integrated circuit design was (and still is) anexpensive and time- consuming process, the ability to reusethe hardware design by changing the software was a keybreakthrough. The HP-35 was the first handheld calculator toperform transcendental functions [Whi72]. It was introducedin 1972, so it used several chips to implement the CPU, ratherthan a single-chip microprocessor. How- ever, the ability towrite programs to perform math rather than having to designdigital circuits to perform operations like trigonometricfunctions was critical to the successful design ofthecalculator.Dept of CSEPage 4

Embedded Computing Systems10CS721.1.2 Characteristics of Embedded Computing ApplicationsEmbedded computing is in many ways much moredemanding than the sort of programs that you may havewritten for PCs or workstations. Functionality is importantin both general-purpose computing and embeddedcomputing, but embedded applications must meet many otherconstraints as well. Complex algorithms: The operations performed by themicroprocessor may be very sophisticated. For example, themicroprocessor that controls an automobile engine mustperform complicated filtering functions to opti- mize theperformance of the car while minimizing pollution andfuel utilization. User interface: Microprocessors are frequently used tocontrol complex user interfaces that may include multiplemenus and many options. The moving maps in GlobalPositioning System (GPS) navigation are good examples ofsophisticated user interfaces. Real time: Many embedded computing systems have toperform in real time— if the data is not ready by a certaindeadline, the system breaks. In some cases, failure to meet adeadline is unsafe and can even endanger lives. In other cases,missing a deadline does not create safety problems but doescreate unhappy customers—missed deadlines in printers, forexample, can result in scrambled pages. Multirate: Not only must operations be completed bydeadlines, but many embedded computing systems haveseveral real-time activities going on at the same time. Theymay simultaneously control some operations that run at slowrates and others that run athigh rates. Multimediaapplications are prime examples of multirate behavior. TheDept of CSEPage 5

Embedded Computing Systems10CS72audio and video portions of a multimedia stream run at verydifferent rates, but they must remain closely synchronized.Failure to meet a deadline on either the audio or video portionsspoils the perception of the entire presentation. Manufacturing cost: The total cost of building the systemis very important in many cases. Manufacturing cost isdetermined by many factors, including the type ofmicroprocessor used, the amount of memory required, and thetypes of I/O devices. Power and energy: Power consumption directly affectsthe cost of the hardware, since a larger power supplymay be necessary. Energy con- sumption affectsbattery life, which is important in many applications, aswell as heat consumption, which can be important evenin desktop applications.1.1.3 Why Use Microprocessors?There are many ways to design a digital system: custom logic,field-programmable gate arrays (FPGAs), and so on. Why usemicroprocessors? There are two answers: Microprocessors are a very efficient way to implementdigital systems. Microprocessors make it easier to design families of productsthat can be built to provide various feature sets at differentprice points and can be extended to provide new features tokeep up with rapidly changing markets.1.1.4 The Physics of SoftwareDept of CSEPage 6

Embedded Computing Systems10CS72Computing is a physical act. Although PCs have trained us tothink about computers as purveyors of abstract information,those computers in fact do their work by moving electronsand doing work. This is the fundamental reason whyprograms take time to finish, why they consume energy, etc.A prime subject of this book is what we might think of asthe physics of software. Software performance and energyconsumption are very important prop- erties when we areconnecting our embedded computers to the real world. Weneed to understand the sources of performance and powerconsumption if we are to be able to design programs that meetour application’s goals. Luckily, we don’t have to optimize ourprograms by pushing around electrons. In many cases, we canmake very high-level decisions about the structure of ourprograms to greatly improve their real-time performance andpower consumption. As much as possible, we want to makecomputing abstractions work for us as we work on thephysics of our software systems.1.1.5 Challenges in Embedded Computing System DesignExternal constraints are one important source of difficulty inembedded system design. Let’s consider some importantproblems that must be taken into account in embedded systemdesign.How much hardware do we need?We have a great deal of control over the amount ofcomputing power we apply to our problem. We cannot onlyselect the type of microprocessor used, but also select theamount of memory, the peripheral devices, and more. Since weoften must meet both performancedeadlinesandmanufacturing cost constraints, the choice of hardware isimportant—too little hardware and the system fails to meet itsdeadlines, too much hardware and it becomes too expensive.Dept of CSEPage 7

Embedded Computing Systems10CS72How do we meet deadlines?The brute force way of meeting a deadline is to speed upthe hardware so that the program runs faster. Of course, thatmakes the system more expensive. It is also entirely possiblethat increasing the CPU clock rate may not make enoughdifference to execution time, since the program’s speed may belimited by the memory system.How do we minimize power consumption?In battery-powered applications, power consumption isextremely important. Even in nonbatteryapplications,excessive power consumption can increase heat dissipation. One way to make a digital system consume lesspower is to make it un more slowly, but naively slowingdown the system can obviously lead to missed deadlines.Careful design is required to slow down the noncriticalparts of the machine for power consumption while stillmeeting necessary performance goals.How do we design for upgradability?The hardware platform may be used over several productgenerations, or for several different versions of a product inthe same generation, with few or no changes. However, wewant to be able to add features by changing software. Howcan we design a machine that will provide the requiredperformance for software that we haven’t yet written?How Does it Really work ?Reliability is always important when selling products—customers rightly expect that products they buy will work.Dept of CSEPage 8

Embedded Computing Systems10CS72Reliability is especially important in some appli- cations, suchas safety-critical systems. If we wait until we have a runningsystem and try to eliminate the bugs, we will be too late—wewon’t find enough bugs, it will be too expensive to fix them,and it will take too long as well. Another set of challengescomes from the characteristics of the components and systemsthem- selves. If workstation programming is like assembling amachine on a bench, then embedded system design is oftenmore like working on a car—cramped, delicate, and difficult.Let’s consider some ways in which the nature of embeddedcomputing machines makes their design more difficult. Complex testing: Exercising an embedded system isgenerally more difficult than typing in some data. We mayhave to run a real machine in order to generate the properdata. The timing of data is often important, meaning that wecannot separate the testing of an embedded computer from themachine in which it is embedded. Limited observability and controllability: Embeddedcomputing systems usually do not come with keyboardsand screens.This makes it more difficult to see what is goingon and to affect the system’s operation. We may be forcedto watch the values of electrical signals on themicroprocessor bus, for example, to know what is going oninside the system. Moreover, in real-time applica- tions wemay not be able to easily stop the system to see what is goingon inside. Restricted development environments: The developmentenvironments for embedded systems (the tools used todevelop software and hardware) are often much more limitedthan those available for PCs and workstations. Wegenerally compile code on one type of machine, such as a PC,and download it onto the embedded system. To debug the code,Dept of CSEPage 9

Embedded Computing Systems10CS72we must usually rely on pro- grams that run on the PC orworkstation and then look inside the embedded system.1.1.6 Performance in Embedded ComputingEmbedded system designers, in contrast, have a very clearperformance goal in mind—their program must meet itsdeadline. At the heart of embedded computing is real-timecomputing , which is the science and art of programming todeadlines. The program receives its input data; the deadline isthe time at which a computation must be finished. If theprogram does not produce the required output by thedeadline, then the program does not work, even if the outputthat it eventually produces is functionally correct. CPU: The CPU clearly influences the behavior of theprogram, particularly when the CPU is a pipelined processorwith a cache. Platform: The platform includes the bus and I/O devices. Theplatform com- ponents that surround the CPU are responsiblefor feeding the CPU and can dramatically affect itsperformance. Program: Programs are very large and the CPU sees only asmall window of the program at a time. We must consider thestructure of the entire program to determine its overallbehavior. Task: We generally run several programs simultaneously on aCPU, creating a multitasking system. The tasks interact witheach other in ways that have profound implications forperformance. Multiprocessor: Many embedded systems have more thanone processor— they may include multiple programmableCPUs as well as accelerators. Once again, the interactionDept of CSEPage 10

Embedded Computing Systems10CS72between these processors adds yet more complexity to theanalysis of overall system performance.1.2 THE EMBEDDED SYSTEM DESIGN PROCESSA design methodology is important for three reasons. First, itallows us to keep a scorecard on a design to ensure that wehave done everything we need to do, such as optimizingperformance or perform- ing functional tests. Second, itallows us to develop computer-aided design tools. Developinga single program that takes in a concept for an embeddedsystem and emits a completed design would be a daunting task,but by first breaking the process into manageable steps, we canwork on automating (or at least semiautomating) the steps oneat a time. Third, a design methodology makes it much easier formembers of a design team to communicate. By defining theoverall process, team members can more easily understandwhat they are supposed to do, what they should receive fromother team members at certain times, and what they are tohand off when they complete their assigned steps. Sincemost embedded systems are designed by teams, coordinationis perhaps the most important role of a well-defined designmethodology.specification, we create a more detailed description of whatwe want. But the specification states only how the systembehaves, not how it is built. The details of the system’sinternals begin to take shape whenwe develop thearchitecture, which gives the system structure in terms of largecomponents. Once we know the components we need, we candesign those components, including both software modulesand any specialized hardware we need. Based on thosecomponents, we can finally build a complete system.In this section we will consider design from the top–down—we will begin with the most abstract description of the systemand conclude with concrete details. The alternative is abottom–up view in which we start with components to build asystem. Bottom–up design steps are shown in the figure asdashed-line arrows. We need bottom–up design because we doDept of CSEPage 11

Embedded Computing Systems10CS72not have perfect insight into how later stages of the designprocess will turn out. Decisions at one stage of design are basedupon estimates of what will happen later: How fast can we makea particular function run? How much memory will we need?How much system bus capacity do we need? If our estimatesare inadequate, we may have to backtrack and amend ouroriginal decisions to take the new facts into account. Ingeneral, the less experience we have with the design ofsimilar systems, the more we will have to rely on bottom-updesign information to help us refine the systemBut the steps in the design process are only one axis alongwhich we can view embedded system design. We also need toconsider the major goals of the design: manufacturing cost; performance ( both overall speed and deadlines); and power consumption.We must also consider the tasks we need to perform at everystep in the design process. At each step in the design, we adddetail: We must analyze the design at each step to determine howwe can meet the specifications. We must then refine the design to add detail.Dept of CSEPage 12

Embedded Computing Systems10CS72 And we must verify the design to ensure that it still meets allsystem goals, such as cost, speed, and so on.1.2.1 RequirementsClearly, before we design a system, we must know whatwe are designing. The initial stages of the design processcapture this information for use in creating the architectureand components. We generally proceed in two phases: First, wegather an informal description from the customers known asrequirements, and we refine therequirements intoaspecification that contains enough information to begindesigning the system architecture Performance: The speed of the system is often a majorconsideration both for the usability of the system and for itsultimate cost. As we have noted, perfor- mance may be acombination of soft performance metrics such as approximatetime to perform a user-level function and hard deadlines bywhich a particular operation must be completed. Cost: The target cost or purchase price for the system isalmost always a consideration. Cost typically has two majorcomponents: manufacturing cost includes the cost ofcomponents and assembly; nonrecurring engi- neering(NRE) costs include the personnel and other costs of designingthe system. Physical size and weight: The physical aspects of thefinal system can vary greatly depending upon theapplication. An industrial control system for an assembly linemay be designed to fit into a standard-size rack with no strictlimitations on weight. A handheld device typically has tightDept of CSEPage 13

Embedded Computing Systems10CS72requirements on both size and weight that can ripple throughthe entire system design. Power consumption: Power, of course, is importantin battery-powered systems and is often important in otherapplications as well. Power can be specified in therequirements stage in terms of battery life—the customer isunlikely to be able to describe the allowable wattage.Validating a set of requirements is ultimately a psychologicaltask since it requires understanding both what people wantand how they communicate those needs. One good way torefine at least the user interface portion of a system’srequirements is to build a mock-up. The mock-up may usecanned data to simulate functionality in a restricteddemonstration, and it may be executed on a PC or aworkstation. But it should give the customer a good idea ofhow the system will be used and how the user can react to it.Physical, nonfunctional models of devices can also givecustomers a better idea of characteristics such as size andweight.shows a sample requirements form that can be filled out atthe start of the project. We can use the form as a checkl

Embedded Computing Systems 10CS72 Dept of CSE Page 2 Text Books: 1. Wayne Wolf: Computers as Components, Principles of Embedded Computing Systems Design, 2 nd Edition, Elsevier, 2008. 2. Shibu K V: Introduction to Embedded Systems, Tata McGraw Hill, 2009 (Chapters 10, 13) Reference Books: 1.

Related Documents:

Text Books: 1. Wayne Wolf: Computers as Components, Principles of Embedded Computing Systems Design, 2 nd Edition, Elsevier, 2008. 2. Shibu K V: Introduction to Embedded Systems, Tata McGraw Hill, 2009 (Chapters 10, 13) Reference Books: 1. James K. Peckol: Embedded Systems, A contemporary Design Tool, Wiley India, 2008

EMBEDDED SYSTEM DESIGN 10EC74 TABLE OF CONTENT Sl.no Content Page no. Unit 1 Introducing Embedded systems 06 Embedded systems 8 Embedded design and development process 10 Unit 2 An introduction, the core level 16 Representing information 21 Understanding numbers ,addresses, instruction register 22 Register view of a microprocessor 31 Storage elements and Finite state Machines concept of 33

2. Embedded systems Vs General Computing system Page 4 Sec 1.2 ; 3. History of embedded systems , classification of embedded system Page 5,6 Sec 1.3 , Sec 1,4 . 4. Major application area of embedded sys Page 7 Sec 1.5 5. Purpose of embeded system Page 8 Sec 1.6 6. Typical Embedded sys: Core of embedded system Page 15 Chap 2 : 7. Memory Page 28

Cloud Computing J.B.I.E.T Page 5 Computing Paradigm Distinctions . The high-technology community has argued for many years about the precise definitions of centralized computing, parallel computing, distributed computing, and cloud computing. In general, distributed computing is the opposite of centralized computing.

Two basic technologies are needed for next-generation ICT systems: embedded systems, and communication technologies. Fig. 0.1 shows a graphical representation of how ubiquitous computing is in-fluenced by embedded systems and by communication technology. Figure 0.1. Influence of embedded systems on ubiquitous computing ( European Commis-sion)

CO4: Investigate case studies in industrial embedded systems Introduction to Embedded systems, Characteristics and quality attributes (Design Metric) of embedded system, hardware/software co-design, Embedded micro controller cores, embedded memories, Embedded Product development life cycle, Program modeling concepts: DFG, FSM, Petri-net, UML.

Gopalan Urban Woods Mahadevapura, Bangalore Sai Krupa Harmony Mahadevapura, Bangalore Livability Rating* 7.6/10 7.4/10 7.2/10 Safety Rating* N.A. N.A. N.A. Builder Bren Gopalan Sai Krupa Locality Doddanekundi, Bangalore Mahadevapura, Bangalore Mahadevapura, Bangalore Numbe

The American Guild of Musical Artists (AGMA) Relief Fund provides support and temporary financial assistance to members who are in need. AGMA contracts with The Actors Fund to administer this program nationally as well as to provide comprehensive social services. Services include counseling and referrals for personal, family or work-related problems. Outreach is made to community resources for .