reine Buchbestellungen ab 5 Euro senden wir Ihnen Portofrei zuDiesen Artikel senden wir Ihnen ohne weiteren Aufpreis als PAKET

Learning Computer Architecture with Raspberry Pi (US)
(Englisch)
E Upton

27,45 €

inkl. MwSt. · Portofrei
Lieferzeit 6-7 Werktage
Menge:

Produktbeschreibung

Use your Raspberry Pi to get smart about computing fundamentalsIn 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 deillegalscriptions 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 PiThe 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.
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.
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 deillegalscriptions 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.
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/

Lieferung vom Verlag mit leichten Qualitätsmängeln möglich

Inhaltsverzeichnis



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


Klappentext



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 deillegalscriptions 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.



Datenschutz-Einstellungen