News for hackers. Stuff that matters.
Re:Lipstick on a Pig a.k.a. the Raspberry Pi 3 by douchescript on Sunday March 13, 2016 @01:20PM (#11278445)
The rationale for booting in 32bit mode is among other things that ram is fixed and small, so you don't need that extra address space anyway.
Re:Lipstick on a Pig a.k.a. the Raspberry Pi 3 by wsha on Sunday March 13, 2016 @03:03PM (#11278878)
Yes, the title of the blog post ("lipstick on a pig") implies that the Raspberry Pi Foundation is dressing up the Pi 3 as something it is not, but they have been pretty transparent about the fact that they chose this processor because it is a better 32-bit processor than the one in the Pi 2 B+, not because it is a 64-bit processor.
Re:Lipstick on a Pig a.k.a. the Raspberry Pi 3 by ris on Sunday March 13, 2016 @08:50PM (#11280274)
AArch64 (and AArch32 for that matter) is a highly redesigned ISA, not just a 64bit extension, and it's the ISA ARMv8 cores were designed to run.
Re:Lipstick on a Pig a.k.a. the Raspberry Pi 3 by mastax on Sunday March 13, 2016 @01:50PM (#11278574)
There's 32-bit ARMv8 - AArch32. This is running in ARMv7 mode.
Re:Lipstick on a Pig a.k.a. the Raspberry Pi 3 by dbcurtis on Sunday March 13, 2016 @02:25PM (#11278729)
So what are the advantages of AArch32? Given than the total ram is (I believe) 1G, there is no use to a 64 bit pointer. ILP64 or LP64 code would just cause unnecessary code bloat and cache pressure over ILP32. Is there something in AArch32 that is compelling enough to go to ArmV8 over ArmV7?
Re:Lipstick on a Pig a.k.a. the Raspberry Pi 3 by pcwalton on Sunday March 13, 2016 @02:37PM (#11278771)
A register file that's twice as large (NEON really suffers without the extra registers), and atomic operations that aren't dog slow. Doing anything other than scalar sequential programming on ARMv7 is pretty painful coming from x86.
Re:Lipstick on a Pig a.k.a. the Raspberry Pi 3 by dbcurtis on Sunday March 13, 2016 @02:45PM (#11278803)
Yes, OK, that makes sense, at least for a chip that isn't doing register renaming the the back end, which takes a lot of pressure off the compiler's register allocator.