Difference between revisions of "Raspberry Pi 3"
From ScienceZero
(→Bare metal programming) |
|||
Line 17: | Line 17: | ||
*TrustZone security extensions | *TrustZone security extensions | ||
*64-byte cache lines | *64-byte cache lines | ||
− | *10-entry | + | *32kB Level 1 cache, 10-entry TLB |
+ | *512kB Level 2 cache, 512-entry TLB | ||
*4 KiB conditional branch predictor, 256-entry indirect branch predictor | *4 KiB conditional branch predictor, 256-entry indirect branch predictor | ||
Revision as of 11:39, 28 August 2017
- Quad Core 1.2GHz Broadcom BCM2837 64bit CPU
- 1GB RAM
- BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board
- 40-pin extended GPIO
- 4 USB 2 ports
- 4 Pole stereo output and composite video port
- Full size HDMI
- CSI camera port for connecting a Raspberry Pi camera
- DSI display port for connecting a Raspberry Pi touchscreen display
Contents
CPU
4 × ARM Cortex A53
- 8-stage pipelined processor with 2-way superscalar, in-order execution pipeline
- DSP and NEON SIMD extensions are mandatory per core
- VFPv4 Floating Point Unit onboard (per core)
- Hardware virtualization support
- TrustZone security extensions
- 64-byte cache lines
- 32kB Level 1 cache, 10-entry TLB
- 512kB Level 2 cache, 512-entry TLB
- 4 KiB conditional branch predictor, 256-entry indirect branch predictor
AArch32 features
- Has 15 general-purpose 32-bit registers (R0-R14).
- PC is mapped to R15
AArch64 features
- New instruction set, A64
- Has 31 general-purpose 64-bit registers. (32 bit, W0-W30) (64 bit, X0-X30)
- Has dedicated zero or stack pointer (SP) register (depending on instruction).
- The program counter (PC) is no longer directly accessible as a register.
- Instructions are still 32 bits long and mostly the same as A32 (with LDM/STM instructions and most conditional execution dropped).
- Has paired loads/stores (in place of LDM/STM).
- No predication for most instructions (except branches).
- Most instructions can take 32-bit or 64-bit arguments.
- Addresses assumed to be 64-bit.
- Advanced SIMD (NEON) enhanced
- Has 32 × 128-bit registers (up from 16), also accessible via VFPv4.
- IEEE 754 compliant double-precision floating point.
- AES encrypt/decrypt and SHA-1/SHA-2 hashing instructions also use these registers.