The cyber-physical space that integrates physical and computing components is developing at an increasing pace. While many specific systems such as automobiles, planes, and healthcare monitoring or imaging systems embed more and more communicating computing devices, the general trend is toward integrating them into the future Internet of Things. This objective is highly complex; only a systemic and comprehensive approach that addresses hardware, software, and networking will be successful.
The purpose of the book is to introduce the reader to the area of embedded computing, which is rapidly becoming high-performance embedded computing due to the new architectures featuring many-core and large main memories.
Chapter 1 explains what embedded computing is, the nature of parallelism, different wireless technologies, and design methodologies. The next chapter is dedicated to central processing units (CPUs) and memory hierarchy. Several CPU designs, including RISC and DSP, are discussed in terms of their architectural impact on performance, power, and cost. Again, it’s an ambitious work that aims to cover as much as possible in this domain. Tough constraints of real-time deadlines, executable size, and energy consumption make the programming of embedded devices particularly challenging. Chapter 3 reviews the large range of programming languages available and the techniques used by compilers in order to optimize the code–pattern matching, resource management, and scheduling. Chapter 4 presents the processes, scheduling algorithms, operating systems, and verification. Some sections, such as the ones about processes, operating systems, and IPC are very brief, lacking the connection between their models and the nature of the targeted systems. There is no mention of different models of processes and operating systems applied, for example, to sensors or smart phones. Scheduling is the core of this chapter. Chapter 5 starts with two application areas, mobile phones and camcorders, that require multiple processors, so the expectation is that many cores and novel embedded architectures will be discussed; in fact, this chapter looks more parallel computing material. Chapter 6, on multiprocessor software, covers more parallel computing content and less content that applies to current many-core embedded architectures. New scheduling algorithms devised for many cores, such as group or domain scheduling, are not mentioned. Neither is load balancing, which is pity. Chapter 7 discusses the hardware/software co-design driven by performance requirements, reviewing some well-known synthesis algorithms and methodologies. Finally, chapter 8 returns to the initial point of cyber-physical systems using elements of control theory. A glossary is a helpful instrument that ends the book.
The book covers a large number of embedded computing topics and therefore can be recommended to any reader interested in getting initial information about this area.
More reviews about this item: Amazon