05767nam 2200757Ia 450 991082709170332120200520144314.01-281-00723-497866110072320-08-049049-2(CKB)1000000000016241(EBL)294534(OCoLC)476059216(SSID)ssj0000105578(PQKBManifestationID)11127967(PQKBTitleCode)TC0000105578(PQKBWorkID)10102169(PQKB)11738251(Au-PeEL)EBL294534(CaPaEBR)ebr10186551(CaONFJC)MIL100723(CaSebORM)9781558608740(MiAaPQ)EBC294534(PPN)164101047(OCoLC)824876112(OCoLC)ocn824876112 (EXLCZ)99100000000001624120040106d2004 uy 0engur|n|---|||||txtccrARM system developer's guide designing and optimizing system software /Andrew N. Sloss, Dominic Symes, Chris Wright, with a contribution by John Rayfield1st editionAmsterdam ;Boston Elsevier/ Morgan Kaufmanc20041 online resource (703 p.)The Morgan Kaufmann Series in Computer Architecture and DesignDescription based upon print version of record.1-55860-874-5 Includes bibliographical references and index.Front Cover; About the Authors; ARM System Developer's Guide Designing and Optimizing System Software; Copyright Page; Contents; Preface; Chapter 1. ARM Embedded Systems; 1.1 The RISC design philosophy; 1.2 The ARM Design Philosophy; 1.3 Embedded System Hardware; 1.4 Embedded System Software; 1.5 Summary; Chapter 2. ARM Processor Fundamentals; 2.1 Registers; 2.2 Current Program Status Register; 2.3 Pipeline; 2.4 Exceptions, Interrupts, and the Vector Table; 2.5 Core Extensions; 2.6 Architecture Revisions; 2.7 ARM Processor Families; 2.8 SummaryChapter 3. Introduction to the ARM Instruction Set3.1 Data Processing Instructions; 3.2 Branch Instructions; 3.3 Load-Store Instructions; 3.4 Software Interrupt Instruction; 3.5 Program Status Register Instructions; 3.6 Loading Constants; 3.7 ARMv5E Extensions; 3.8 Conditional Execution; 3.9 Summary; Chapter 4. Introduction to the Thumb Instruction Set; 4.1 Thumb Register Usage; 4.2 ARM-Thumb Interworking; 4.3 Other Branch Instructions; 4.4 Data Processing Instructions; 4.5 Single-Register Load-Store Instructions; 4.6 Multiple-Register Load-Store Instructions; 4.7 Stack Instructions4.8 Software Interrupt Instruction4.9 Summary; Chapter 5. Efficient C Programming; 5.1 Overview of C Compilers and Optimization; 5.2 Basic C Data Types; 5.3 C Looping Structures; 5.4 Register Allocation; 5.5 Function Calls; 5.6 Pointer Aliasing; 5.7 Structure Arrangement; 5.8 Bit-fields; 5.9 Unaligned Data and Endianness; 5.10 Division; 5.11 Floating Point; 5.12 Inline Functions and Inline Assembly; 5.13 Portability Issues; 5.14 Summary; Chapter 6. Writing and Optimizing ARM Assembly Code; 6.1 Writing Assembly Code; 6.2 Profiling and Cycle Counting; 6.3 Instruction Scheduling6.4 Register Allocation6.5 Conditional Execution; 6.6 Looping Constructs; 6.7 Bit Manipulation; 6.8 Efficient Switches; 6.9 Handling Unaligned Data; 6.10 Summary; Chapter 7. Optimized Primitives; 7.1 Double-Precision Integer Multiplication; 7.2 Integer Normalization and Count Leading Zeros; 7.3 Division; 7.4 Square Roots; 7.5 Transcendental Functions: log, exp, sin, cos; 7.6 Endian Reversal and Bit Operations; 7.7 Saturated and Rounded Arithmetic; 7.8 Random Number Generation; 7.9 Summary; Chapter 8. Digital Signal Processing; 8.1 Representing a Digital Signal8.2 Introduction to DSP on the ARM8.3 FIR filters; 8.4 IIR Filters; 8.5 The Discrete Fourier Transform; 8.6 Summary; Chapter 9. Exception and Interrupt Handling; 9.1 Exception Handling; 9.2 Interrupts; 9.3 Interrupt Handling Schemes; 9.4 Summary; Chapter 10. Firmware; 10.1 Firmware and Bootloader; 10.2 Example: Sandstone; 10.3 Summary; Chapter 11. Embedded Operating Systems; 11.1 Fundamental Components; 11.2 Example: Simple Little Operating System; 11.3 Summary; Chapter 12. Caches; 12.1 The Memory Hierarchy and Cache Memory; 12.2 Cache Architecture; 12.3 Cache Policy12.4 Coprocessor 15 and CachesOver the last ten years, the ARM architecture has become one of the most pervasive architectures in the world, with more than 2 billion ARM-based processors embedded in products ranging from cell phones to automotive braking systems. A world-wide community of ARM developers in semiconductor and product design companies includes software developers, system designers and hardware engineers. To date no book has directly addressed their need to develop the system and software for an ARM-based system. This text fills that gap. This book provides a comprehensive description of the operationMorgan Kaufmann Series in Computer Architecture and DesignComputer softwareDevelopmentRISC microprocessorsComputer architectureComputer softwareDevelopment.RISC microprocessors.Computer architecture.005.1Sloss Andrew N504434Symes Dominic504435Wright Chris1953-317479MiAaPQMiAaPQMiAaPQBOOK9910827091703321Arm system developer's guide809712UNINA