LEADER 05758nam 2200745Ia 450 001 9910450501903321 005 20200520144314.0 010 $a1-281-00723-4 010 $a9786611007232 010 $a0-08-049049-2 035 $a(CKB)1000000000016241 035 $a(EBL)294534 035 $a(OCoLC)476059216 035 $a(SSID)ssj0000105578 035 $a(PQKBManifestationID)11127967 035 $a(PQKBTitleCode)TC0000105578 035 $a(PQKBWorkID)10102169 035 $a(PQKB)11738251 035 $a(MiAaPQ)EBC294534 035 $a(CaSebORM)9781558608740 035 $a(PPN)164101047 035 $a(Au-PeEL)EBL294534 035 $a(CaPaEBR)ebr10186551 035 $a(CaONFJC)MIL100723 035 $a(EXLCZ)991000000000016241 100 $a20040106d2004 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aARM system developer's guide$b[electronic resource] $edesigning and optimizing system software /$fAndrew N. Sloss, Dominic Symes, Chris Wright, with a contribution by John Rayfield 205 $a1st edition 210 $aAmsterdam ;$aBoston $cElsevier/ Morgan Kaufman$dc2004 215 $a1 online resource (703 p.) 225 1 $aThe Morgan Kaufmann Series in Computer Architecture and Design 300 $aDescription based upon print version of record. 311 $a1-55860-874-5 320 $aIncludes bibliographical references and index. 327 $aFront 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 Summary 327 $aChapter 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 Instructions 327 $a4.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 Scheduling 327 $a6.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 Signal 327 $a8.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 Policy 327 $a12.4 Coprocessor 15 and Caches 330 $aOver 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 operation 410 0$aMorgan Kaufmann Series in Computer Architecture and Design 606 $aComputer software$xDevelopment 606 $aRISC microprocessors 606 $aComputer architecture 608 $aElectronic books. 615 0$aComputer software$xDevelopment. 615 0$aRISC microprocessors. 615 0$aComputer architecture. 676 $a005.1 700 $aSloss$b Andrew N$0504434 701 $aSymes$b Dominic$0504435 701 $aWright$b Chris$f1953-$0317479 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910450501903321 996 $aArm system developer's guide$9809712 997 $aUNINA