Sunday 28 February 2016

The Raspberry Pi 3.

Well, another Pi birthday (the first, or perhaps the 4th), and what a present, another new Raspberry Pi model, and it’s a cracker!


There are two major changes, and what changes they are. For the first time, the Pi has built in Wifi and Bluetooth, and even more amazing, the ARM cores are now A53’s which means 64bit processing!


Let’s looks closer at the new specs.


CPU: Quadcore 64-bit ARM Cortex A53
Clock speed: 1.2GHz.
SDRAM: 1GB LPDDR2-900
Wifi: 802.11n
Bluetooth: 4.1
Graphics: 400Mhz VideocoreIV


The Wifi/BT is provided by a Broadcom package, a BCM43438. The Wifi is connected to a SDIO port, this was previously used for the SD card which has moved to the SDHOST interface. The BT connects via a serial interface.


The caches on the Pi3 remains as before, a 512KB L2 cache for the ARM cores, and a 128KB cache for the VideocoreIV. Note the VC4 is now clocked at 400Mhz, compared to the Pi2’s 250Mhz. It’s worth noting that although the ARM’s now have a much larger memory address space, the VideoCore is still limited to 1GB (30-bit address space, top two bits used for cache aliases) and all ARM SDRAM accesses go through VideoCore AXI infrastructure, so for the moment, 1GB remains the upper limit for SDRAM.


All other interfaces are the same as the Pi2.


What does this all mean though? It means that the PI3 is approximately 50% faster than the Pi2, the inbuilt Wireless means no more Wireless/BT dongles, and because it’s connected over SDIO, the heavily used USB port into the CPU now has a reduced workload, which should mean higher throughput for some use cases, like USB attached HD drives. But what about the 64bit stuff? Well, time will tell how much extra performance is gained from going to 64bit. There should be some performance gain for applications specifically compiled for 64bit, running on a 64bit Linux kernel.


Are there any downsides? Yes, a few caveats. More CPU power needs more actual power. A borderline PSU on a Pi2 may not be good enough for a Pi3. If you are using lots of high power peripherals, a 2.5A supply is recommended, and the official supply will now be specified to that current.  And, for the first time EVER, your Pi3 MIGHT need a heatsink. That extra power has to go somewhere. For general desktop type use, a heatsink probably won't be necessary, but if you are stressing all four cores, with NEON going as well, it might get a bit toasty. It cannot harm the chip (which is why the board is not provided with a heatsink), they would still run at 125DegC, but the core frequencies are now reduced when the temperature reaches 80 (yellow square on screen), and turbo mode is turned off completely if it reaches 85degC (red square on screen).  This is to stop burnt fingers!


Heatsink requirements will also depend on what sort of case you are using - a fully enclosed case like a PiBow will get hotter than a bare board for example.


At launch, the standard Raspbian 32bit userland and 32bit kernel will be the default. Full kernel 64bit support also requires a completely new 64bit userland as well, so that is for future development. It is expect that running 32bit apps on a 64bit kernel will show little or no improvement over 32/32, so until 64bits apps are available, the default kernel will remain 32bit.


Conclusion:


The Raspberry Pi Foundation continues to produce devices at groundbreaking price performance levels, with solid software support, and best of all, is still ploughing their profits into education projects. Awesome.