Computer architectures sit at an important juncture between ever-changing landscape of implementation technology and emerging applications.It presented with a crucial connect between the plane of abstract algorithm and detailed computing and storage technologies -through the lens of Instruction-Set Architectures (ISA) and micro-architecture.Over the years, the architectures evolved to cater to various applications, with the core objective of achieving better runtime, smaller area, and lesser power consumption.This led to pathbreaking innovations, which, in turn catapulted various application segments to prominence, such as wireless/mobile computing, graphics processing, and more recently machine learning.It is a difficult task to capture such momentum with various tributaries in a single volume and yet, this is what is attempted in the current Handbook of Computer Architectures.While the content follows a standard narrative, the format of this book is unique.It offers live update of the content, thereby allowing the authors to include modern developments within the same context of a specific topic.The content is spread over multiple sections, and in each section, specific chapters offer a detailed glimpse of a topic of interest.The chapters are presented in increasing order of advanced concepts.It is also cross-linked in such a manner that reader can peruse a chapter with only necessary pre-requisite from selected, prior chapters.In the first section of single-core processors, three chapters provide the background of computer organization, microarchitecture, and communication networks.This is complemented with chapters on operating systems, edge computing, and secure computing architectures -which provide sufficient foundation for a reader to move toward more advanced notions in any of the following sections.The section on application-specific processors provides valuable insights into the growing demands from application developers to have customized architectures, also referred to as co-processors or accelerators.From a wide range of application segments, multimedia processing, scientific computing, machine learning, and cryptographic workloads are chosen to be covered here.Since these applications heavily depend on digital arithmetic, a short overview of the concepts is presented as well.Multimedia, machine learning, and several other domain-specific architectures are known to get influenced -for good or worse -due to the device-level faults appearing in advanced technology nodes.This is discussed in the section of faulttolerant architectures.
Read more