ARM system developer's guide :: designing and optimizing system software /
Over 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 prod...
Gespeichert in:
1. Verfasser: | |
---|---|
Weitere Verfasser: | , |
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
San Francisco, CA :
Elsevier/ Morgan Kaufman,
©2004.
|
Schriftenreihe: | Morgan Kaufmann Series in Computer Architecture and Design Ser.
|
Schlagworte: | |
Online-Zugang: | Volltext Volltext |
Zusammenfassung: | Over 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 of the ARM core from a developers perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software. The book covers both the ARM and Thumb instruction sets, covers Intel's XScale Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture. * No other book describes the ARM core from a system and software perspective. * Author team combines extensive ARM software engineering experience with an in-depth knowledge of ARM developer needs. * Practical, executable code is fully explained in the book and available on the publisher's Website. * Includes a simple embedded operating system. |
Beschreibung: | 1 online resource (xiii, 689 pages) : illustrations |
Bibliographie: | Includes bibliographical references (pages 667-668) and index. |
ISBN: | 9780080490496 0080490492 |
Internformat
MARC
LEADER | 00000cam a2200000 a 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-ocn162129895 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr cn||||||||| | ||
008 | 070802s2004 caua ob 001 0 eng d | ||
040 | |a OPELS |b eng |e pn |c OPELS |d OCLCG |d OCLCQ |d N$T |d YDXCP |d KNOVL |d TEFOD |d OCLCQ |d KNOVL |d OCLCF |d UKDOC |d OCLCQ |d UMI |d CGU |d DEBSZ |d KNOVL |d EBLCP |d NRU |d ZCU |d S4S |d TEFOD |d OCLCQ |d COO |d OCLCQ |d AGLDB |d COCUF |d UAB |d MERUC |d OCLCQ |d U3W |d D6H |d VTS |d CEF |d ICG |d NLE |d INT |d OCLCQ |d UKMGB |d OCLCQ |d STF |d LEAUB |d DKC |d AU@ |d OCLCQ |d AJS |d OCLCO |d OCLCQ |d KSU |d OCLCQ |d OCLCO |d OCLCL |d SXB |d OCLCQ |d OCLCO |d OCLCQ | ||
016 | 7 | |a 017874199 |2 Uk | |
019 | |a 156908435 |a 476059216 |a 506874025 |a 771938989 |a 824876112 | ||
020 | |a 9780080490496 |q (electronic bk.) | ||
020 | |a 0080490492 |q (electronic bk.) | ||
020 | |z 9781558608740 | ||
020 | |z 1558608745 | ||
035 | |a (OCoLC)162129895 |z (OCoLC)156908435 |z (OCoLC)476059216 |z (OCoLC)506874025 |z (OCoLC)771938989 |z (OCoLC)824876112 | ||
037 | |a 97261:97261 |b Elsevier Science & Technology |n http://www.sciencedirect.com | ||
037 | |a 5F8C6D22-F84C-4755-BD09-E6D78E03C814 |b OverDrive, Inc. |n http://www.overdrive.com | ||
050 | 4 | |a QA76.76.D47 |b S565 2004eb | |
072 | 7 | |a COM |x 051390 |2 bisacsh | |
072 | 7 | |a COM |x 051440 |2 bisacsh | |
072 | 7 | |a COM |x 051230 |2 bisacsh | |
082 | 7 | |a 005.1 |2 22 | |
049 | |a MAIN | ||
100 | 1 | |a Sloss, Andrew N. |1 https://id.oclc.org/worldcat/entity/E39PCjBHMKHDbYDQHhPtCtJ99P |0 http://id.loc.gov/authorities/names/n2004001508 | |
245 | 1 | 0 | |a ARM system developer's guide : |b designing and optimizing system software / |c Andrew N. Sloss, Dominic Symes, Chris Wright ; with a contribution by John Rayfield. |
260 | |a San Francisco, CA : |b Elsevier/ Morgan Kaufman, |c ©2004. | ||
300 | |a 1 online resource (xiii, 689 pages) : |b illustrations | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
490 | 1 | |a The Morgan Kaufmann Series in Computer Architecture and Design Ser. | |
520 | |a Over 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 of the ARM core from a developers perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software. The book covers both the ARM and Thumb instruction sets, covers Intel's XScale Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture. * No other book describes the ARM core from a system and software perspective. * Author team combines extensive ARM software engineering experience with an in-depth knowledge of ARM developer needs. * Practical, executable code is fully explained in the book and available on the publisher's Website. * Includes a simple embedded operating system. | ||
505 | 0 | |a Table of Contents: -- 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 -- 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 -- 3 Introduction to the ARM Instruction Set -- 3.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 -- 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 -- 4.8 Software Interrupt Instruction -- 4.9 Summary -- 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 -- 6 Writing and Optimizing ARM Assembly Code -- 6.1 Writing Assembly Code -- 6.2 Profiling and Cycle Counting -- 6.3 Instruction Scheduling -- 6.4 Register Allocation -- 6.5 Conditional Execution -- 6.6 Looping Constructs -- 6.7 Bit Manipulation -- 6.8 Efficient Switches -- 6.9 Handling Unaligned Data -- 6.10 Summary -- 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 -- 8 Digital Signal Processing -- 8.1 Representing a Digital Signal -- 8.2 Introduction to DSP on the ARM -- 8.3 FIR filters -- 8.4 IIR Filters -- 8.5 The Discrete Fourier Transform -- 8.6 Summary -- 9 Exception and Interruput Handling -- 9.1 Exception Handling -- 9.2 Interrupts -- 9.3 Interrupt Handling Schemes -- 9.4 Summary -- 10 Firmware -- 10.1 Firmware and Bootloader -- 10.2 Example: Sandstone -- 10.3 Summary -- 11 Embedded Operating Systems -- 11.1 Fundamental Components -- 11.2 Example: Simple Little Operating System -- 11.3 Summary -- 12 Caches -- 12.1 The Memory Hierarchy and Cache Memory -- 12.2 Cache Architecture -- 12.3 Cache Policy -- 12.4 Coprocessor 15 and Caches -- 12.5 Flushing and Cleaning Cache Memory -- 12.6 Cache Lockdown -- 12.7 Caches and Software Performance -- 12.8 Summary -- 13 Memory Protection Units -- 13.1 Protected Regions -- 13.2 Initializing the MPU, Caches, and Write Buffer -- 13.3 Demonstration of an MPU system -- 13.4 Summary -- 14 Memory Management Units -- 14.1 Moving from an MPU to an MMU -- 14.2 How Virtual Memory Works -- 14.3 Details of the ARM MMU -- 14.4 Page Tables -- 14.5 The Translation Lookaside Buffer -- 14.6 Domains and Memory Access Permission -- 14.7 The Caches and Write Buffer -- 14.8 Coprocessor 15 and MMU Configuration -- 14.9 The Fast Context Switch Extension -- 14.10 Demonstration: A Small Virtual Memory System -- 14.11 The Demonstration as mmuSLOS -- 14.12 Summary -- 15 The Future of the Architecture -- by John Rayfield -- 15.1 Advanced DSP and SIMD Support in ARMv6 -- 15.2 System and Multiprocessor Support Additions to ARMv6 -- 15.3 ARMv6 Implementations -- 15.4 Future Technologies beyond ARMv6 -- 15.5 Conclusions -- Appendix A: ARM and Thumb Assembler Instructions -- Appendix: B ARM and Thumb Instruction Encodings -- Appendix C: Processors and Architecture -- Appendix D: Instruction Cycle Timings -- Appendix E: Suggested Reading -- Index. | |
504 | |a Includes bibliographical references (pages 667-668) and index. | ||
588 | 0 | |a Print version record. | |
650 | 0 | |a Computer software |x Development. |0 http://id.loc.gov/authorities/subjects/sh85029535 | |
650 | 0 | |a RISC microprocessors. |0 http://id.loc.gov/authorities/subjects/sh90005948 | |
650 | 0 | |a Computer architecture. |0 http://id.loc.gov/authorities/subjects/sh85029479 | |
650 | 6 | |a RISC (Microprocesseurs) | |
650 | 6 | |a Ordinateurs |x Architecture. | |
650 | 7 | |a COMPUTERS |x Programming |x Open Source. |2 bisacsh | |
650 | 7 | |a COMPUTERS |x Software Development & Engineering |x Tools. |2 bisacsh | |
650 | 7 | |a COMPUTERS |x Software Development & Engineering |x General. |2 bisacsh | |
650 | 7 | |a Computer architecture |2 fast | |
650 | 7 | |a Computer software |x Development |2 fast | |
650 | 7 | |a RISC microprocessors |2 fast | |
650 | 7 | |a Desenvolvimento de software. |2 larpcal | |
700 | 1 | |a Symes, Dominic. |1 https://id.oclc.org/worldcat/entity/E39PCjJB3g8HqYGmcCGbPyvBmq |0 http://id.loc.gov/authorities/names/n2004001503 | |
700 | 1 | |a Wright, Chris, |d 1953- |1 https://id.oclc.org/worldcat/entity/E39PCjMkmXrWD6qgcKxj7hp6w3 |0 http://id.loc.gov/authorities/names/n2004001547 | |
773 | 0 | |a T Referex Electronics and Electrical Engineering | |
776 | 0 | 8 | |i Print version: |a Sloss, Andrew N. |t ARM system developer's guide. |d San Francisco, CA : Elsevier/ Morgan Kaufman, ©2004 |z 1558608745 |z 9781558608740 |w (DLC) 2004040366 |w (OCoLC)54034975 |
830 | 0 | |a Morgan Kaufmann Series in Computer Architecture and Design Ser. | |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://www.sciencedirect.com/science/book/9781558608740 |3 Volltext |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=195163 |3 Volltext |
938 | |a 123Library |b 123L |n 34471 | ||
938 | |a EBL - Ebook Library |b EBLB |n EBL294534 | ||
938 | |a EBSCOhost |b EBSC |n 195163 | ||
938 | |a YBP Library Services |b YANK |n 2599490 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-ocn162129895 |
---|---|
_version_ | 1816881650589499392 |
adam_text | |
any_adam_object | |
author | Sloss, Andrew N. |
author2 | Symes, Dominic Wright, Chris, 1953- |
author2_role | |
author2_variant | d s ds c w cw |
author_GND | http://id.loc.gov/authorities/names/n2004001508 http://id.loc.gov/authorities/names/n2004001503 http://id.loc.gov/authorities/names/n2004001547 |
author_facet | Sloss, Andrew N. Symes, Dominic Wright, Chris, 1953- |
author_role | |
author_sort | Sloss, Andrew N. |
author_variant | a n s an ans |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.D47 S565 2004eb |
callnumber-search | QA76.76.D47 S565 2004eb |
callnumber-sort | QA 276.76 D47 S565 42004EB |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Table of Contents: -- 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 -- 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 -- 3 Introduction to the ARM Instruction Set -- 3.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 -- 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 -- 4.8 Software Interrupt Instruction -- 4.9 Summary -- 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 -- 6 Writing and Optimizing ARM Assembly Code -- 6.1 Writing Assembly Code -- 6.2 Profiling and Cycle Counting -- 6.3 Instruction Scheduling -- 6.4 Register Allocation -- 6.5 Conditional Execution -- 6.6 Looping Constructs -- 6.7 Bit Manipulation -- 6.8 Efficient Switches -- 6.9 Handling Unaligned Data -- 6.10 Summary -- 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 -- 8 Digital Signal Processing -- 8.1 Representing a Digital Signal -- 8.2 Introduction to DSP on the ARM -- 8.3 FIR filters -- 8.4 IIR Filters -- 8.5 The Discrete Fourier Transform -- 8.6 Summary -- 9 Exception and Interruput Handling -- 9.1 Exception Handling -- 9.2 Interrupts -- 9.3 Interrupt Handling Schemes -- 9.4 Summary -- 10 Firmware -- 10.1 Firmware and Bootloader -- 10.2 Example: Sandstone -- 10.3 Summary -- 11 Embedded Operating Systems -- 11.1 Fundamental Components -- 11.2 Example: Simple Little Operating System -- 11.3 Summary -- 12 Caches -- 12.1 The Memory Hierarchy and Cache Memory -- 12.2 Cache Architecture -- 12.3 Cache Policy -- 12.4 Coprocessor 15 and Caches -- 12.5 Flushing and Cleaning Cache Memory -- 12.6 Cache Lockdown -- 12.7 Caches and Software Performance -- 12.8 Summary -- 13 Memory Protection Units -- 13.1 Protected Regions -- 13.2 Initializing the MPU, Caches, and Write Buffer -- 13.3 Demonstration of an MPU system -- 13.4 Summary -- 14 Memory Management Units -- 14.1 Moving from an MPU to an MMU -- 14.2 How Virtual Memory Works -- 14.3 Details of the ARM MMU -- 14.4 Page Tables -- 14.5 The Translation Lookaside Buffer -- 14.6 Domains and Memory Access Permission -- 14.7 The Caches and Write Buffer -- 14.8 Coprocessor 15 and MMU Configuration -- 14.9 The Fast Context Switch Extension -- 14.10 Demonstration: A Small Virtual Memory System -- 14.11 The Demonstration as mmuSLOS -- 14.12 Summary -- 15 The Future of the Architecture -- by John Rayfield -- 15.1 Advanced DSP and SIMD Support in ARMv6 -- 15.2 System and Multiprocessor Support Additions to ARMv6 -- 15.3 ARMv6 Implementations -- 15.4 Future Technologies beyond ARMv6 -- 15.5 Conclusions -- Appendix A: ARM and Thumb Assembler Instructions -- Appendix: B ARM and Thumb Instruction Encodings -- Appendix C: Processors and Architecture -- Appendix D: Instruction Cycle Timings -- Appendix E: Suggested Reading -- Index. |
ctrlnum | (OCoLC)162129895 |
dewey-full | 005.1 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1 |
dewey-search | 005.1 |
dewey-sort | 15.1 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>09949cam a2200721 a 4500</leader><controlfield tag="001">ZDB-4-EBA-ocn162129895</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr cn|||||||||</controlfield><controlfield tag="008">070802s2004 caua ob 001 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">OPELS</subfield><subfield code="b">eng</subfield><subfield code="e">pn</subfield><subfield code="c">OPELS</subfield><subfield code="d">OCLCG</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">N$T</subfield><subfield code="d">YDXCP</subfield><subfield code="d">KNOVL</subfield><subfield code="d">TEFOD</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">KNOVL</subfield><subfield code="d">OCLCF</subfield><subfield code="d">UKDOC</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">UMI</subfield><subfield code="d">CGU</subfield><subfield code="d">DEBSZ</subfield><subfield code="d">KNOVL</subfield><subfield code="d">EBLCP</subfield><subfield code="d">NRU</subfield><subfield code="d">ZCU</subfield><subfield code="d">S4S</subfield><subfield code="d">TEFOD</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">COO</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">AGLDB</subfield><subfield code="d">COCUF</subfield><subfield code="d">UAB</subfield><subfield code="d">MERUC</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">U3W</subfield><subfield code="d">D6H</subfield><subfield code="d">VTS</subfield><subfield code="d">CEF</subfield><subfield code="d">ICG</subfield><subfield code="d">NLE</subfield><subfield code="d">INT</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">UKMGB</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">STF</subfield><subfield code="d">LEAUB</subfield><subfield code="d">DKC</subfield><subfield code="d">AU@</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">AJS</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">KSU</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield><subfield code="d">SXB</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCQ</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">017874199</subfield><subfield code="2">Uk</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">156908435</subfield><subfield code="a">476059216</subfield><subfield code="a">506874025</subfield><subfield code="a">771938989</subfield><subfield code="a">824876112</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780080490496</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0080490492</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781558608740</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">1558608745</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)162129895</subfield><subfield code="z">(OCoLC)156908435</subfield><subfield code="z">(OCoLC)476059216</subfield><subfield code="z">(OCoLC)506874025</subfield><subfield code="z">(OCoLC)771938989</subfield><subfield code="z">(OCoLC)824876112</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">97261:97261</subfield><subfield code="b">Elsevier Science & Technology</subfield><subfield code="n">http://www.sciencedirect.com</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">5F8C6D22-F84C-4755-BD09-E6D78E03C814</subfield><subfield code="b">OverDrive, Inc.</subfield><subfield code="n">http://www.overdrive.com</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.76.D47</subfield><subfield code="b">S565 2004eb</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051390</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051440</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051230</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.1</subfield><subfield code="2">22</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Sloss, Andrew N.</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCjBHMKHDbYDQHhPtCtJ99P</subfield><subfield code="0">http://id.loc.gov/authorities/names/n2004001508</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">ARM system developer's guide :</subfield><subfield code="b">designing and optimizing system software /</subfield><subfield code="c">Andrew N. Sloss, Dominic Symes, Chris Wright ; with a contribution by John Rayfield.</subfield></datafield><datafield tag="260" ind1=" " ind2=" "><subfield code="a">San Francisco, CA :</subfield><subfield code="b">Elsevier/ Morgan Kaufman,</subfield><subfield code="c">©2004.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (xiii, 689 pages) :</subfield><subfield code="b">illustrations</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">The Morgan Kaufmann Series in Computer Architecture and Design Ser.</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Over 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 of the ARM core from a developers perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software. The book covers both the ARM and Thumb instruction sets, covers Intel's XScale Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture. * No other book describes the ARM core from a system and software perspective. * Author team combines extensive ARM software engineering experience with an in-depth knowledge of ARM developer needs. * Practical, executable code is fully explained in the book and available on the publisher's Website. * Includes a simple embedded operating system.</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Table of Contents: -- 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 -- 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 -- 3 Introduction to the ARM Instruction Set -- 3.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 -- 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 -- 4.8 Software Interrupt Instruction -- 4.9 Summary -- 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 -- 6 Writing and Optimizing ARM Assembly Code -- 6.1 Writing Assembly Code -- 6.2 Profiling and Cycle Counting -- 6.3 Instruction Scheduling -- 6.4 Register Allocation -- 6.5 Conditional Execution -- 6.6 Looping Constructs -- 6.7 Bit Manipulation -- 6.8 Efficient Switches -- 6.9 Handling Unaligned Data -- 6.10 Summary -- 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 -- 8 Digital Signal Processing -- 8.1 Representing a Digital Signal -- 8.2 Introduction to DSP on the ARM -- 8.3 FIR filters -- 8.4 IIR Filters -- 8.5 The Discrete Fourier Transform -- 8.6 Summary -- 9 Exception and Interruput Handling -- 9.1 Exception Handling -- 9.2 Interrupts -- 9.3 Interrupt Handling Schemes -- 9.4 Summary -- 10 Firmware -- 10.1 Firmware and Bootloader -- 10.2 Example: Sandstone -- 10.3 Summary -- 11 Embedded Operating Systems -- 11.1 Fundamental Components -- 11.2 Example: Simple Little Operating System -- 11.3 Summary -- 12 Caches -- 12.1 The Memory Hierarchy and Cache Memory -- 12.2 Cache Architecture -- 12.3 Cache Policy -- 12.4 Coprocessor 15 and Caches -- 12.5 Flushing and Cleaning Cache Memory -- 12.6 Cache Lockdown -- 12.7 Caches and Software Performance -- 12.8 Summary -- 13 Memory Protection Units -- 13.1 Protected Regions -- 13.2 Initializing the MPU, Caches, and Write Buffer -- 13.3 Demonstration of an MPU system -- 13.4 Summary -- 14 Memory Management Units -- 14.1 Moving from an MPU to an MMU -- 14.2 How Virtual Memory Works -- 14.3 Details of the ARM MMU -- 14.4 Page Tables -- 14.5 The Translation Lookaside Buffer -- 14.6 Domains and Memory Access Permission -- 14.7 The Caches and Write Buffer -- 14.8 Coprocessor 15 and MMU Configuration -- 14.9 The Fast Context Switch Extension -- 14.10 Demonstration: A Small Virtual Memory System -- 14.11 The Demonstration as mmuSLOS -- 14.12 Summary -- 15 The Future of the Architecture -- by John Rayfield -- 15.1 Advanced DSP and SIMD Support in ARMv6 -- 15.2 System and Multiprocessor Support Additions to ARMv6 -- 15.3 ARMv6 Implementations -- 15.4 Future Technologies beyond ARMv6 -- 15.5 Conclusions -- Appendix A: ARM and Thumb Assembler Instructions -- Appendix: B ARM and Thumb Instruction Encodings -- Appendix C: Processors and Architecture -- Appendix D: Instruction Cycle Timings -- Appendix E: Suggested Reading -- Index.</subfield></datafield><datafield tag="504" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references (pages 667-668) and index.</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Print version record.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Computer software</subfield><subfield code="x">Development.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh85029535</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">RISC microprocessors.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh90005948</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Computer architecture.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh85029479</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">RISC (Microprocesseurs)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Ordinateurs</subfield><subfield code="x">Architecture.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Programming</subfield><subfield code="x">Open Source.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Software Development & Engineering</subfield><subfield code="x">Tools.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Software Development & Engineering</subfield><subfield code="x">General.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computer architecture</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computer software</subfield><subfield code="x">Development</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">RISC microprocessors</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Desenvolvimento de software.</subfield><subfield code="2">larpcal</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Symes, Dominic.</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCjJB3g8HqYGmcCGbPyvBmq</subfield><subfield code="0">http://id.loc.gov/authorities/names/n2004001503</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Wright, Chris,</subfield><subfield code="d">1953-</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCjMkmXrWD6qgcKxj7hp6w3</subfield><subfield code="0">http://id.loc.gov/authorities/names/n2004001547</subfield></datafield><datafield tag="773" ind1="0" ind2=" "><subfield code="a">T Referex Electronics and Electrical Engineering</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Sloss, Andrew N.</subfield><subfield code="t">ARM system developer's guide.</subfield><subfield code="d">San Francisco, CA : Elsevier/ Morgan Kaufman, ©2004</subfield><subfield code="z">1558608745</subfield><subfield code="z">9781558608740</subfield><subfield code="w">(DLC) 2004040366</subfield><subfield code="w">(OCoLC)54034975</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Morgan Kaufmann Series in Computer Architecture and Design Ser.</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://www.sciencedirect.com/science/book/9781558608740</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=195163</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">123Library</subfield><subfield code="b">123L</subfield><subfield code="n">34471</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBL - Ebook Library</subfield><subfield code="b">EBLB</subfield><subfield code="n">EBL294534</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">195163</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">2599490</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-ocn162129895 |
illustrated | Illustrated |
indexdate | 2024-11-27T13:16:06Z |
institution | BVB |
isbn | 9780080490496 0080490492 |
language | English |
oclc_num | 162129895 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource (xiii, 689 pages) : illustrations |
psigel | ZDB-4-EBA |
publishDate | 2004 |
publishDateSearch | 2004 |
publishDateSort | 2004 |
publisher | Elsevier/ Morgan Kaufman, |
record_format | marc |
series | Morgan Kaufmann Series in Computer Architecture and Design Ser. |
series2 | The Morgan Kaufmann Series in Computer Architecture and Design Ser. |
spelling | Sloss, Andrew N. https://id.oclc.org/worldcat/entity/E39PCjBHMKHDbYDQHhPtCtJ99P http://id.loc.gov/authorities/names/n2004001508 ARM system developer's guide : designing and optimizing system software / Andrew N. Sloss, Dominic Symes, Chris Wright ; with a contribution by John Rayfield. San Francisco, CA : Elsevier/ Morgan Kaufman, ©2004. 1 online resource (xiii, 689 pages) : illustrations text txt rdacontent computer c rdamedia online resource cr rdacarrier The Morgan Kaufmann Series in Computer Architecture and Design Ser. Over 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 of the ARM core from a developers perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software. The book covers both the ARM and Thumb instruction sets, covers Intel's XScale Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture. * No other book describes the ARM core from a system and software perspective. * Author team combines extensive ARM software engineering experience with an in-depth knowledge of ARM developer needs. * Practical, executable code is fully explained in the book and available on the publisher's Website. * Includes a simple embedded operating system. Table of Contents: -- 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 -- 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 -- 3 Introduction to the ARM Instruction Set -- 3.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 -- 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 -- 4.8 Software Interrupt Instruction -- 4.9 Summary -- 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 -- 6 Writing and Optimizing ARM Assembly Code -- 6.1 Writing Assembly Code -- 6.2 Profiling and Cycle Counting -- 6.3 Instruction Scheduling -- 6.4 Register Allocation -- 6.5 Conditional Execution -- 6.6 Looping Constructs -- 6.7 Bit Manipulation -- 6.8 Efficient Switches -- 6.9 Handling Unaligned Data -- 6.10 Summary -- 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 -- 8 Digital Signal Processing -- 8.1 Representing a Digital Signal -- 8.2 Introduction to DSP on the ARM -- 8.3 FIR filters -- 8.4 IIR Filters -- 8.5 The Discrete Fourier Transform -- 8.6 Summary -- 9 Exception and Interruput Handling -- 9.1 Exception Handling -- 9.2 Interrupts -- 9.3 Interrupt Handling Schemes -- 9.4 Summary -- 10 Firmware -- 10.1 Firmware and Bootloader -- 10.2 Example: Sandstone -- 10.3 Summary -- 11 Embedded Operating Systems -- 11.1 Fundamental Components -- 11.2 Example: Simple Little Operating System -- 11.3 Summary -- 12 Caches -- 12.1 The Memory Hierarchy and Cache Memory -- 12.2 Cache Architecture -- 12.3 Cache Policy -- 12.4 Coprocessor 15 and Caches -- 12.5 Flushing and Cleaning Cache Memory -- 12.6 Cache Lockdown -- 12.7 Caches and Software Performance -- 12.8 Summary -- 13 Memory Protection Units -- 13.1 Protected Regions -- 13.2 Initializing the MPU, Caches, and Write Buffer -- 13.3 Demonstration of an MPU system -- 13.4 Summary -- 14 Memory Management Units -- 14.1 Moving from an MPU to an MMU -- 14.2 How Virtual Memory Works -- 14.3 Details of the ARM MMU -- 14.4 Page Tables -- 14.5 The Translation Lookaside Buffer -- 14.6 Domains and Memory Access Permission -- 14.7 The Caches and Write Buffer -- 14.8 Coprocessor 15 and MMU Configuration -- 14.9 The Fast Context Switch Extension -- 14.10 Demonstration: A Small Virtual Memory System -- 14.11 The Demonstration as mmuSLOS -- 14.12 Summary -- 15 The Future of the Architecture -- by John Rayfield -- 15.1 Advanced DSP and SIMD Support in ARMv6 -- 15.2 System and Multiprocessor Support Additions to ARMv6 -- 15.3 ARMv6 Implementations -- 15.4 Future Technologies beyond ARMv6 -- 15.5 Conclusions -- Appendix A: ARM and Thumb Assembler Instructions -- Appendix: B ARM and Thumb Instruction Encodings -- Appendix C: Processors and Architecture -- Appendix D: Instruction Cycle Timings -- Appendix E: Suggested Reading -- Index. Includes bibliographical references (pages 667-668) and index. Print version record. Computer software Development. http://id.loc.gov/authorities/subjects/sh85029535 RISC microprocessors. http://id.loc.gov/authorities/subjects/sh90005948 Computer architecture. http://id.loc.gov/authorities/subjects/sh85029479 RISC (Microprocesseurs) Ordinateurs Architecture. COMPUTERS Programming Open Source. bisacsh COMPUTERS Software Development & Engineering Tools. bisacsh COMPUTERS Software Development & Engineering General. bisacsh Computer architecture fast Computer software Development fast RISC microprocessors fast Desenvolvimento de software. larpcal Symes, Dominic. https://id.oclc.org/worldcat/entity/E39PCjJB3g8HqYGmcCGbPyvBmq http://id.loc.gov/authorities/names/n2004001503 Wright, Chris, 1953- https://id.oclc.org/worldcat/entity/E39PCjMkmXrWD6qgcKxj7hp6w3 http://id.loc.gov/authorities/names/n2004001547 T Referex Electronics and Electrical Engineering Print version: Sloss, Andrew N. ARM system developer's guide. San Francisco, CA : Elsevier/ Morgan Kaufman, ©2004 1558608745 9781558608740 (DLC) 2004040366 (OCoLC)54034975 Morgan Kaufmann Series in Computer Architecture and Design Ser. FWS01 ZDB-4-EBA FWS_PDA_EBA https://www.sciencedirect.com/science/book/9781558608740 Volltext FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=195163 Volltext |
spellingShingle | Sloss, Andrew N. ARM system developer's guide : designing and optimizing system software / Morgan Kaufmann Series in Computer Architecture and Design Ser. Table of Contents: -- 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 -- 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 -- 3 Introduction to the ARM Instruction Set -- 3.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 -- 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 -- 4.8 Software Interrupt Instruction -- 4.9 Summary -- 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 -- 6 Writing and Optimizing ARM Assembly Code -- 6.1 Writing Assembly Code -- 6.2 Profiling and Cycle Counting -- 6.3 Instruction Scheduling -- 6.4 Register Allocation -- 6.5 Conditional Execution -- 6.6 Looping Constructs -- 6.7 Bit Manipulation -- 6.8 Efficient Switches -- 6.9 Handling Unaligned Data -- 6.10 Summary -- 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 -- 8 Digital Signal Processing -- 8.1 Representing a Digital Signal -- 8.2 Introduction to DSP on the ARM -- 8.3 FIR filters -- 8.4 IIR Filters -- 8.5 The Discrete Fourier Transform -- 8.6 Summary -- 9 Exception and Interruput Handling -- 9.1 Exception Handling -- 9.2 Interrupts -- 9.3 Interrupt Handling Schemes -- 9.4 Summary -- 10 Firmware -- 10.1 Firmware and Bootloader -- 10.2 Example: Sandstone -- 10.3 Summary -- 11 Embedded Operating Systems -- 11.1 Fundamental Components -- 11.2 Example: Simple Little Operating System -- 11.3 Summary -- 12 Caches -- 12.1 The Memory Hierarchy and Cache Memory -- 12.2 Cache Architecture -- 12.3 Cache Policy -- 12.4 Coprocessor 15 and Caches -- 12.5 Flushing and Cleaning Cache Memory -- 12.6 Cache Lockdown -- 12.7 Caches and Software Performance -- 12.8 Summary -- 13 Memory Protection Units -- 13.1 Protected Regions -- 13.2 Initializing the MPU, Caches, and Write Buffer -- 13.3 Demonstration of an MPU system -- 13.4 Summary -- 14 Memory Management Units -- 14.1 Moving from an MPU to an MMU -- 14.2 How Virtual Memory Works -- 14.3 Details of the ARM MMU -- 14.4 Page Tables -- 14.5 The Translation Lookaside Buffer -- 14.6 Domains and Memory Access Permission -- 14.7 The Caches and Write Buffer -- 14.8 Coprocessor 15 and MMU Configuration -- 14.9 The Fast Context Switch Extension -- 14.10 Demonstration: A Small Virtual Memory System -- 14.11 The Demonstration as mmuSLOS -- 14.12 Summary -- 15 The Future of the Architecture -- by John Rayfield -- 15.1 Advanced DSP and SIMD Support in ARMv6 -- 15.2 System and Multiprocessor Support Additions to ARMv6 -- 15.3 ARMv6 Implementations -- 15.4 Future Technologies beyond ARMv6 -- 15.5 Conclusions -- Appendix A: ARM and Thumb Assembler Instructions -- Appendix: B ARM and Thumb Instruction Encodings -- Appendix C: Processors and Architecture -- Appendix D: Instruction Cycle Timings -- Appendix E: Suggested Reading -- Index. Computer software Development. http://id.loc.gov/authorities/subjects/sh85029535 RISC microprocessors. http://id.loc.gov/authorities/subjects/sh90005948 Computer architecture. http://id.loc.gov/authorities/subjects/sh85029479 RISC (Microprocesseurs) Ordinateurs Architecture. COMPUTERS Programming Open Source. bisacsh COMPUTERS Software Development & Engineering Tools. bisacsh COMPUTERS Software Development & Engineering General. bisacsh Computer architecture fast Computer software Development fast RISC microprocessors fast Desenvolvimento de software. larpcal |
subject_GND | http://id.loc.gov/authorities/subjects/sh85029535 http://id.loc.gov/authorities/subjects/sh90005948 http://id.loc.gov/authorities/subjects/sh85029479 |
title | ARM system developer's guide : designing and optimizing system software / |
title_auth | ARM system developer's guide : designing and optimizing system software / |
title_exact_search | ARM system developer's guide : designing and optimizing system software / |
title_full | ARM system developer's guide : designing and optimizing system software / Andrew N. Sloss, Dominic Symes, Chris Wright ; with a contribution by John Rayfield. |
title_fullStr | ARM system developer's guide : designing and optimizing system software / Andrew N. Sloss, Dominic Symes, Chris Wright ; with a contribution by John Rayfield. |
title_full_unstemmed | ARM system developer's guide : designing and optimizing system software / Andrew N. Sloss, Dominic Symes, Chris Wright ; with a contribution by John Rayfield. |
title_short | ARM system developer's guide : |
title_sort | arm system developer s guide designing and optimizing system software |
title_sub | designing and optimizing system software / |
topic | Computer software Development. http://id.loc.gov/authorities/subjects/sh85029535 RISC microprocessors. http://id.loc.gov/authorities/subjects/sh90005948 Computer architecture. http://id.loc.gov/authorities/subjects/sh85029479 RISC (Microprocesseurs) Ordinateurs Architecture. COMPUTERS Programming Open Source. bisacsh COMPUTERS Software Development & Engineering Tools. bisacsh COMPUTERS Software Development & Engineering General. bisacsh Computer architecture fast Computer software Development fast RISC microprocessors fast Desenvolvimento de software. larpcal |
topic_facet | Computer software Development. RISC microprocessors. Computer architecture. RISC (Microprocesseurs) Ordinateurs Architecture. COMPUTERS Programming Open Source. COMPUTERS Software Development & Engineering Tools. COMPUTERS Software Development & Engineering General. Computer architecture Computer software Development RISC microprocessors Desenvolvimento de software. |
url | https://www.sciencedirect.com/science/book/9781558608740 https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=195163 |
work_keys_str_mv | AT slossandrewn armsystemdevelopersguidedesigningandoptimizingsystemsoftware AT symesdominic armsystemdevelopersguidedesigningandoptimizingsystemsoftware AT wrightchris armsystemdevelopersguidedesigningandoptimizingsystemsoftware |