
about the author foreword to the firstedition preface to the secondedition preface to the first edition listofexamples chapter 1 embedded computi ng introduction 1.1 complex systems and microprocessors 1.1.1 embedding computers 1.1.2 characteristics of embedded computing applications 1.1.3 whyusemicroprocessors? 1.1.4 the physics of software 1.1.5 challenges in embedded computing system design 1.1.6 performance in embedded computing 1.2 the embedded system design process 1.2.1 requirements 1.2.2 specification 1.2.3 architecture design 1.2.4 designing hardware and software components .1.2.5 svstem integration 1.3 formalismsfor systemdesign 1.3.1 structuraldescription 1.3.2 behavioral description 1.4 model train controller 1.4.1 requirements 1.4.2 dcc 1.4.3 conceptual specification 1.4.4 detailed specification. 1.4.5 lessons learned 1.5 a guided tour of this book 1.5.1 chapter 2:instruction sets 1.5.2 chapter 3:cpus 1.5.3 chapter 4:bus-based computer systems 1.5.4 chapter 5:program design andanalysis 1.5.5 chapter 6:processes and operating systems 1.5.6 chapter 7:multiprocessors 1.5.7 chapter 8:networks 1.5.8 chapter 9:system designtechniques summary. furtherreading questions lab exercises chapter 2 instruction sets introducton 2.1 preliminaries 2.1.1 computer architecture taxonomy 2.1.2 assembly language 2.2 arm processor 2.2.1 processor and memory organization 2.2.2 data operations 2.2.3 flow of control 2.3 ti c55x dsp 2.3.1 processor and memory organization 2.3.2 addressing modes 2.3.3 data operations 2.3.4 flow of control 2.3.5 c coding guidelines summary furtherreading questions lab exercises chapter 3 cpus introduction 3.1 programming input and output 3.1.1 input and output devices. 3.1.2 input and output primitives 3.1.3 busy-waiti/o 3.1.4 interrupts 3.2 supervisor mode,exceptions,and traps 3.2.1 supervisor mode 3.2.2 exceptions 3.2.3 traps 3.3 co-processors 3.4 memory system mechanisms 3.4.1 caches 3.4.2 memory management units andaddress tlmnslation 3.5 cpu performance 3.5.1 pipelining 3.5.2 caching 3.6 cpu power consumption 3.7 design example:data compressor 3.7.1 requirements and algorithm 3.7.2 specification 3.7.3 program design 3.7.4 testing summary furtherreading questions labexercises chapter 4 bus-based computer systems introduction 4.1 the cpu bus 4.1.1 bus protocols 4.1.2 dma 4.1.3 system bus configurations 4.1.4 amba bus 4.2 memory devices 4.2.1 memory device organization 4.2.2 random-access memories 4.2.3 read-only memories 4.3 i/o devices 4.3.1 timers and counters 4.3.2 a/d and d/a converters 4.3.3 keyboards 4.3.4 leds 4.3.5 displays 4.3.6 touchscreens 4.4 component interfacing 4.4.1 memory interfacing 4.4.2 device interfacing 4.5 designing with microprocessors 4.5.1 system architecture 4.5.2 hardware design 4.5.3 the pc as a platform 4.6 development and debugging 4.6.1 development environments 4.6.2 debugging techniques 4.6.3 debugging challenges 4.7 system-level performance analvsis 4.7.1 system-level performance analysis 4.7.2 parallelism 4.8 design example:alarm clock 4.8.1 requirements 4.8.2 specification 4.8.3 system architecture 4.8.4 component design and testing 4.8.5 system integration and testing summary furtherreading. questions labexercises chapter 5 program design and analysis introduction 5.1 components for embedded programs 5.1.1 state machines 5.1.2 stream-oriented programming and circular buffers 5.1.3 queues 5.2 models of programs 5.2.1 data flow graphs 5.2.2 control/data flow graphs 5.3 assembly,linking,and loading 5.3.1 assemblers 5.3.2 linking 5.4 basic compilation techniques 5.4.1 statement translation 5.4.2 procedures 5.4.3 data structures 5.5 program optimization 5.5.1 expression simplification 5.5.2 dead code elimination 5.5.3 procedure inlining 5.5.4 loop transformations 5.5.5 register allocation 5.5.6 scheduling 5.5.7 instruction selection 5.5.8 understanding and using your compiler 5.5.9 interpreters and jit compilers 5.6 program-level performance analysis 5.6.1 elements of program performance 5.6.2 measurement-driven performance analysis 5.7 software performance optimization 5.7.1 loop optimizations 5.7.2 performance optimization strategies 5.8 program-level energy and power analysis and optimization 5.9 analysis and optimization of program size 5.10 program validation and testing 5.10.1 clear-box testing 5.10.2 black-box testing 5.10.3 evaluating function tests 5.11 software modem 5.11.1 theory of operation and requirements 5.11.2 specification 5.11.3 system architecture. 5.11.4 component design and testing 5.11.5 system integration and testing summary furtherreading questions 1labexercises chapter 6 processes and operating systems lntroduction. 6.1 multiple tasks and multiple processes 6.1.1 tasks and processes 6.1.2 multirate systems. 6.1.3 timing requirements on processes 6.1.4 cpu metrics 6.1.5 process state and scheduling 6.1.6 some scheduling policies 6.1.7 running periodic processes 6.2 preemptive real-time operating systems 6.2.1 preemption 6.2.2 priorities 6.2.3 processes and context. 6.2.4 processes and object-oriented design 6.3 priority-based scheduling. 6.3.1 rate-monotonic scheduling 6.3.2 earliest-deadline-first scheduling 6.3.3 rms vs.edf 6.3.4 a closer look at our modeling assumptions 6.4 interprocess communication mechanisms 6.4.1 shared memory communication 6.4.2 message passing 6.4.3 signals 6.5 evaluating operating system performance 6.6 power management and optimization for processes 6.7 design example:telephone answering machine 6.7.1 theory of operation and requirements 6.7.2 specification 6.7.3 system architecture 6.7.4 component design andtesting 6.7.5 system integration andtesting summary furtherreading. questions labexercises chapter 7 muitiprocessors introduction 7.1 whymultiprocessors? 7.2 cpus and accelerators 7.2.1 system architecture framework 7.2.2 system integration and debugging 7.3 multiprocessor performance analysis 7.3.1 accelerators and speedup 7.3.2 performance effects of scheduling andallocation 7.3.3 buffering and performance 7.4 consumer electronics architecture 7.4.1 use cases and requirements 7.4.2 platforms and operating systems 7.4.3 flashfile systems 7.5 design example:cell phones 7.6 design example:compact discs and dvds 7. 7 design example:audio players 7.8 design example:digital still cameras 7.9 design example:video accelerator 7.9.1 algorithm and requirements 7.9.2 specification 7.9.3 architecture 7.9.4 component design 7.9.5 system testing summary further reading questions lab exercises chapter 8 networks introduction 8.1 distributed embedded architectures 8.1.1 why distributed? 8.1.2 network abstractions 8.1.3 hardware and software architectures 8.1.4 message passing programming 8.2 networks for embedded systems 8.2.1 thei2c bus 8.2.2 ethernet 8.2.3 fieldbus 8.3 network-based design 8.4 internet-enabled systems 8.4.1 internet 8.4.2 internet applications 8.4.3 internet security 8.5 vehicles as networks 8.5.1 automotive networks 8.5.2 avionics 8.6 sensor networks 8.7 design example:elevator controller 8.7.1 theory of operation and requirements 8.7.2 specification 8.7.3 architecture 8.7.4 tcsting summary further reading ouestions lab exercises chapter 9 system design techniques introduction 9.1 design methodologies 9.1.1 why design methodologies? 9.1.2 design flows 9.2 requirements analysis 9.3 specifications 9.3.1 control-oriented specification languages 9.3.2 advanced specifications. 9.4 system analysis and architecture design 9.5 quality assurance 9.5.1 quality assurance techniques 9.5.2 verifying the specification 9.5.3 design reviews summary further reading questions labexercises appendix a uml notations introduction a.1 primitive elements a.2 diagram types a.2.1 class diagram a.2.2 state diagram a.2.3 sequence and collaboration diagrams glossary references index |
商品评论(0条)