Warenkorb
 

Learning Computer Architecture with Raspberry Pi

Use your Raspberry Pi to get smart about computing fundamentals
In the 1980s, the tech revolution was kickstarted by a flood of relatively inexpensive, highly programmable computers like the Commodore. Now, a second revolution in computing is beginning with the Raspberry Pi. Learning Computer Architecture with the Raspberry Pi is the premier guide to understanding the components of the most exciting tech product available. Thanks to this book, every Raspberry Pi owner can understand how the computer works and how to access all of its hardware and software capabilities.
Now, students, hackers, and casual users alike can discover how computers work with Learning Computer Architecture with the Raspberry Pi. This book explains what each and every hardware component does, how they relate to one another, and how they correspond to the components of other computing systems. You'll also learn how programming works and how the operating system relates to the Raspberry Pi's physical components.
* Co-authored by Eben Upton, one of the creators of the Raspberry Pi, this is a companion volume to the Raspberry Pi User Guide
* An affordable solution for learning about computer system design considerations and experimenting with low-level programming
* Understandable descriptions of the functions of memory storage, Ethernet, cameras, processors, and more
* Gain knowledge of computer design and operation in general by exploring the basic structure of the Raspberry Pi
The Raspberry Pi was created to bring forth a new generation of computer scientists, developers, and architects who understand the inner workings of the computers that have become essential to our daily lives. Learning Computer Architecture with the Raspberry Pi is your gateway to the world of computer system design.

… weiterlesen
  • Artikelbild-0
  • Introduction 1
    Cambridge 1
    Cut to the Chase 3
    The Knee in the Curve 4
    Forward the Foundation 5
    CHAPTER 1 The Shape of a Computer Phenomenon 7
    Growing Delicious, Juicy Raspberries 7
    System-on-a-Chip 10
    An Exciting Credit Card-Sized Computer 12
    What Does the Raspberry Pi Do? 14
    Meeting and Greeting the Raspberry Pi Board 14
    GPIO Pins 15
    Status LEDs 16
    USB Receptacles 18
    Ethernet Connection 18
    Audio Out 19
    Composite Video 21
    CSI Camera Module Connector 21
    HDMI 22
    Micro USB Power 22
    Storage Card 23
    DSI Display Connection 24
    Mounting Holes 25
    The Chips 25
    The Future 25
    CHAPTER 2 Recapping Computing 27
    The Cook as Computer 28
    Ingredients as Data 28
    Basic Actions 30
    The Box That Follows a Plan 31
    Doing and Knowing 31
    Programs Are Data 32
    Memory 33
    Registers 34
    The System Bus 36
    Instruction Sets 36
    Voltages, Numbers and Meaning 37
    Binary: Counting in 1s and 0s 37
    The Digit Shortage 40
    Counting and Numbering and 0 40
    Hexadecimal as a Shorthand for Binary 41
    Doing Binary and Hexadecimal Arithmetic 43
    Operating Systems: The Boss of the Box 44
    What an Operating System Does 44
    Saluting the Kernel 46
    Multiple Cores 46
    CHAPTER 3 Electronic Memory 47
    There Was Memory Before There Were Computers 47
    Rotating Magnetic Memory 48
    Magnetic Core Memory 50
    How Core Memory Works 50
    Memory Access Time 52
    Static Random Access Memory (SRAM) 53
    Address Lines and Data Lines 54
    Combining Memory Chips into Memory Systems 56
    Dynamic Random Access Memory (DRAM) 59
    How DRAM Works 60
    Synchronous vs Asynchronous DRAM 62
    SDRAM Columns, Rows, Banks, Ranks and DIMMs 64
    DDR, DDR2 DDR3 and DDR4 SDRAM 66
    Error-Correcting Code (ECC) Memory 69
    The Raspberry Pi Memory System 70
    Power Reduction Features 70
    Ball-Grid Array Packaging 71
    Cache 72
    Locality of Reference 72
    Cache Hierarchy 72
    Cache Lines and Cache Mapping 74
    Direct Mapping 76
    Associative Mapping 78
    Set-Associative Cache 79
    Writing Cache Back to Memory 81
    Virtual Memory 81
    The Virtual Memory Big Picture 82
    Mapping Virtual to Physical 83
    Memory Management Units: Going Deeper 84
    Multi-Level Page Tables and the TLB 88
    The Raspberry Pi Swap Problem 88
    Watching Raspberry Pi Virtual Memory 90
    CHAPTER 4 ARM Processors and Systems-on-a-Chip 93
    The Incredible Shrinking CPU 93
    Microprocessors 94
    Transistor Budgets 95
    Digital Logic Primer 95
    Logic Gates 96
    Flip-Flops and Sequential Logic 97
    Inside the CPU 99
    Branching and Flags 101
    The System Stack 102
    System Clocks and Execution Time 105
    Pipelining 106
    Pipelining in Detail 108
    Deeper Pipelines and Pipeline Hazards 109
    The ARM11 Pipeline 112
    Superscalar Execution 113
    More Parallelism with SIMD 115
    Endianness 118
    Rethinking the CPU: CISC vs RISC 119
    RISC's Legacy 121
    Expanded Register Files 122
    Load/Store Architecture 122
    Orthogonal Machine Instructions 123
    Separate Caches for Instructions and Data 123
    ARMs from Little Acorns Grow 124
    Microarchitectures, Cores and Families 125
    Selling Licenses Rather Than Chips 125
    ARM11 126
    The ARM Instruction Set 126
    Processor Modes 129
    Modes and Registers 131
    Fast Interrupts 137
    Software Interrupts 137
    Interrupt Priority 138
    Conditional Instruction Execution 139
    Coprocessors 142
    The ARM Coprocessor Interface 143
    The System Control Coprocessor 143
    The Vector Floating Point (VFP) Coprocessor 144
    Emulating Coprocessors 145
    ARM Cortex 145
    Multiple-Issue and Out-Of-Order Execution 146
    Thumb 2 147
    Thumb EE 147
    big.LITTLE 147
    The NEON Coprocessor for SIMD 148
    ARMv8 and 64-Bit Computing 148
    Systems on a Single Chip 150
    The Broadcom BCM2835 SoC 150
    Broadcom's Second- and Third-Generation SoC Devices 151
    How VLSI Chips Happen 151
    Processes, Geometries and Masks 152
    IP: Cells, Macrocells and Cores 153
    Hard and Soft IP 154
    Floorplanning, Layout and Routing 154
    Standards for On-Chip Communication: AMBA 155
    CHAPTER 5 Programming 159
    Programming from a Height 159
    The Software Development Process 160
    Waterfall vs Spiral vs Agile 162
    Programming in Binary 165
    Assembly Language and Mnemonics 166
    High-Level Languages 167
    Après BASIC, Le Deluge 170
    Programming Terminology 171
    How Native-Code Compilers Work 173
    Preprocessing 174
    Lexical Analysis 175
    Semantic Analysis 175
    Intermediate Code Generation 176
    Optimisation 176
    Target Code Generation 176
    Compiling C: A Concrete Example 177
    Linking Object Code Files to Executable Files 183
    Pure Text Interpreters 184
    Bytecode Interpreted Languages 186
    P-Code 186
    Java 187
    Just-In-Time (JIT) Compilation 189
    Bytecode and JIT Compilation Beyond Java 191
    Android, Java and Dalvik 191
    Data Building Blocks 192
    Identifiers, Reserved Words, Symbols and Operators 192
    Values, Literals and Named Constants 193
    Variables, Expressions and Assignment 193
    Types and Type Definitions 194
    Static and Dynamic Typing 196
    Two's Complement and IEEE 754 198
    Code Building Blocks 200
    Control Statements and Compound Statements 200
    If/Then/Else 200
    Switch and Case 202
    Repeat Loops 205
    While Loops 205
    For Loops 207
    The Break and Continue Statements 208
    Functions 210
    Locality and Scope 211
    Object-Oriented Programming 214
    Encapsulation 217
    Inheritance 219
    Polymorphism 221
    OOP Wrapup 224
    A Tour of the GNU Compiler Collection Toolset 224
    gcc as Both Compiler and Builder 225
    Using Linux Make 228
    CHAPTER 6 Non-Volatile Storage 231
    Punched Cards and Tape 232
    Punched Cards 232
    Tape Data Storage 232
    The Dawn of Magnetic Storage 235
    Magnetic Recording and Encoding Schemes 236
    Flux Transitions 237
    Perpendicular Recording 238
    Magnetic Disk Storage 240
    Cylinders, Tracks and Sectors 240
    Low-Level Formatting 242
    Interfaces and Controllers 244
    Floppy Disk Drives 246
    Partitions and File Systems 247
    Primary Partitions and Extended Partitions 247
    File Systems and High-Level Formatting 249
    The Future: GUID Partition Tables (GPTs) 249
    Partitions on the Raspberry Pi SD Card 250
    Optical Discs 252
    CD-Derived Formats 254
    DVD-Derived Formats 254
    Ramdisks 255
    Flash Storage 257
    ROMs, PROMs and EPROMs 257
    Flash as EEPROM 258
    Single-Level vs Multi-Level Storage 260
    NOR vs NAND Flash 261
    Wear Levelling and the Flash Translation Layer 265
    Garbage Collection and TRIM 267
    SD Cards 268
    eMMC 270
    The Future of Non-Volatile Storage 271
    CHAPTER 7 Wired and Wireless Ethernet 273
    The OSI Reference Model for Networking 274
    The Application Layer 276
    The Presentation Layer 276
    The Session Layer 278
    The Transport Layer 278
    The Network Layer 279
    The Data Link Layer 281
    The Physical Layer 282
    Ethernet 282
    Thicknet and Thinnet 283
    The Basic Ethernet Idea 283
    Collision Detection and Avoidance 285
    Ethernet Encoding Systems 286
    PAM-5 Encoding 290
    10BASE-T and Twisted-Pair Cabling 291
    From Bus Topology to Star Topology 292
    Switched Ethernet 293
    Routers and the Internet 296
    Names vs Addresses 296
    IP Addresses and TCP Ports 297
    Local IP Addresses and DHCP 300
    Network Address Translation 302
    Wi-Fi 304
    Standards within Standards 305
    Facing the Real World 305
    Wi-Fi Equipment in Use 309
    Infrastructure Networks vs Ad Hoc Networks 311
    Wi-Fi Distributed Media Access 312
    Carrier Sense and the Hidden Node Problem 314
    Fragmentation 315
    Amplitude Modulation, Phase Modulation and QAM 316
    Spread-Spectrum Techniques 319
    Wi-Fi Modulation and Coding in Detail 320
    How Wi-Fi Connections Happen 323
    Wi-Fi Security 325
    Wi-Fi on the Raspberry Pi 326
    Even More Networking 329
    CHAPTER 8 Operating Systems 331
    Introduction to Operating Systems 333
    History of Operating Systems 333
    The Basics of Operating Systems 336
    The Kernel: The Basic Facilitator of Operating Systems 343
    Operating System Control 344
    Modes 345
    Memory Management 346
    Virtual Memory 347
    Multitasking 347
    Disk Access and File Systems 348
    Device Drivers 349
    Enablers and Assistants to the Operating System 349
    Waking Up the OS 349
    Firmware 353
    Operating Systems for Raspberry Pi 354
    NOOBS 354
    Third-Party Operating Systems 356
    Other Available Operating Systems 356
    CHAPTER 9 Video Codecs and Video Compression 359
    The First Video Codecs 360
    Exploiting the Eye 361
    Exploiting the Data 363
    Understanding Frequency Transform 367
    Using Lossless Encoding Techniques 371
    Changing with the Times 373
    The Latest Standards from MPEG 374
    H.265 378
    Motion Search 378
    Video Quality 381
    Processing Power 382
    CHAPTER 10 3D Graphics 383
    A Brief History of 3D Graphics 383
    The Graphical User Interface (GUI) 384
    3D Graphics in Video Games 386
    Personal Computing and the Graphics Card 387
    Two Competing Standards 390
    The OpenGL Graphics Pipeline 391
    Geometry Specification and Attributes 393
    Geometry Transformation 396
    Lighting and Materials 400
    Primitive Assembly and Rasterisation 403
    Pixel Processing (Fragment Shading) 405
    Texturing 407
    Modern Graphics Hardware 411
    Tiled Rendering 411
    Geometry Rejection 413
    Shading 415
    Caching 416
    Raspberry Pi GPU 417
    Open VG 421
    General Purpose GPUs 423
    Heterogeneous Architectures 423
    OpenCL 425
    CHAPTER 11 Audio 427
    Can You Hear Me Now? 427
    MIDI 428
    Sound Cards 428
    Analog vs Digital 429
    Sound and Signal Processing 430
    Editing 431
    Compression 431
    Recording with Effects 432
    Encoding and Decoding Information for Communication 433
    1-Bit DAC 434
    I2S 436
    Raspberry Pi Sound Input/Output 437
    Audio Output Jack 437
    HDMI 438
    Sound on the Raspberry Pi 438
    Raspberry Pi Sound on Board 439
    Manipulating Sound on the Raspberry Pi 439
    CHAPTER 12 Input/Output 447
    Introducing Input/Output 448
    I/O Enablers 451
    Universal Serial Bus 452
    USB Powered Hubs 455
    Ethernet 457
    Universal Asynchronous Receiver/Transmitters 458
    Small Computer Systems Interface 459
    Parallel ATA 459
    Serial Advanced Technology Attachment 460
    RS-232 Serial 460
    High Definition Media Interface 461
    I2S 462
    I2C 463
    Raspberry Pi Display, Camera Interface and JTAG 464
    Raspberry Pi GPIO 464
    GPIO Overview and the Broadcom SoC 465
    Meeting the GPIO 466
    Programming GPIO 473
    Alternative Modes 479
    GPIO Experimentation the Easy Way 480
    Index 481
In den Warenkorb

Beschreibung

Produktdetails

Einband Taschenbuch
Seitenzahl 528
Erscheinungsdatum 27.09.2016
Sprache Englisch
ISBN 978-1-119-18393-8
Verlag John Wiley & Sons Inc
Maße (L/B/H) 23.3/18.9/2.7 cm
Gewicht 895 g
Auflage 1. Auflage
Buch (Taschenbuch, Englisch)
Buch (Taschenbuch, Englisch)
Fr. 44.90
Fr. 44.90
inkl. gesetzl. MwSt.
inkl. gesetzl. MwSt.
Versandfertig innert 1 - 2 Werktagen Versandkostenfrei
Versandfertig innert 1 - 2 Werktagen
Versandkostenfrei
In den Warenkorb
Vielen Dank für Ihr Feedback!
Entschuldigung, beim Absenden Ihres Feedbacks ist ein Fehler passiert. Bitte versuchen Sie es erneut.
Ihr Feedback zur Seite
Haben Sie alle relevanten Informationen erhalten?

Kundenbewertungen

Es wurden noch keine Bewertungen geschrieben.