Why oh why
does a mobile phone need a 64 bit processor? Someone? Anyone?
Samsung's next smartphone will feature a 64-bit processor, according to co-chief executive Shin Jong-kyun: he's keen to prove it's not only Apple who can stuff more register bits into a chip. Apple's latest flagship iThing, the iPhone 5S, features a 64-bit ARMv8 processor labelled the A7. The performance boost may not be …
Because the instruction set is more efficient and more compiler friendly than 32 bit ARM. Even if you're only doing 32 bit things, your code recompiled in 64 bit mode should be faster.
That and ARMv8 is much better at floating point math than its predissesor, which is worth having in many 32 bit program's also.
your code recompiled in 64 bit mode should be faster.
Normally 64bit stuff runs slower not faster.
Programs handle lots of pointers.
64bit pointers are twice as big as 32bit pointers
therefore the dataset for 64bit code is bigger than the dataset for 32bit.
Since we spend a lot of time moving shit around, moving bigger shit is slower and moving smaller shit.
Hence 64bit code is slower than 32bit code.
However, having 64bit datapaths mean you can move data faster.
The new 64bit architecture sounds like it has many advantages.
I don't know, but I suspect you can probably compile the code into 32bit mode while still getting the architecture advantages of the new chip. Therefore the new 64bit chip might prove fastest running new 32bit code.
I don't thins your suspicion is correct. Otherwise I do agree.
Most benefit is with graphic. What everyone seems to have missed is that Apple claims 2x speed gain with A7 compared to what's in iPhone 5 (A6). 2x GPU and 2x CPU activities.
But when Epic came up demonstrating their new game, at the same event, they said they got 5x the speed of iPhone 5. And they attributed that only to the 64-bit architecture. I'm not exactly sure how graphic calculations benefit from more bits. But the PowerPC G4 had a 128-bit altivec unit. And I don't remember so much about Altivec 2 if it ever was used or ever got to be 256-bit.
But for sure more bits, means better calculation possibilities.
"But when Epic came up demonstrating their new game, at the same event, they said they got 5x the speed of iPhone 5. And they attributed that only to the 64-bit architecture. I'm not exactly sure how graphic calculations benefit from more bits."
I suspect this was less to do with the bit count than with the increased register space (more and bigger registers), allowing for faster memory transfers.
But in terms of moving raw data, if a register is twice as wide, it can hold more in it (8 bytes vs. 4). Since the busses are also twice as wide, it shouldn't take twice as long to load 8 bytes onto a 64-bit register vs. 4 bytes onto a 32-bit one. Plus, 64-bit CPUs tend to have more registers than their 32-bit counterparts, meaning more transfer space, potentially meaning faster memory transfers.
But in terms of moving raw data, if a register is twice as wide, it can hold more in it
That's just the issue. When moving data a 64bit register can move 1 64bit pointer or 2 32bit pointers at the same time. That is why the 64bit code is slower. Note that I didn't say 64bit CPUs were slower. It used to be common practice on 32bit CPUs with 64bit FP units and 64bit datapaths to use the FP registers to do data moves, again because you could move twice as much data in a single operation.
I've not looked at the ARM instruction set, but if it can execute code in either 32bit addressing mode, or 64bit addressing mode and still use all the new CPU registers, it should be able to do lots of things faster than the old 32bit CPU, but it still doesn't necessarily need to be running in 64bit addressing mode (where you get pointer bloat). Again, I've no idea of the organisation of the ARM CPU's cache, but typically copying works faster when you vectorise the load and store operations and load a couple of cache lines into the CPU then store those cachelines out again. The increase in the register count will definitely help here.
My argument wasn't against using 64bit HW, it was against unnecessarily increasing the size of pointers, which you get when you use 64bit addressing but less that 4GB of address space.
No Druck, but I've written a lot of code on other 64bit CPUs, both PA and Itanium. I've also written code to use 64bit FP registers in 32bit processor to boost memory bandwidth of apps bottlenecking there. Back before 64bit CPUs became common place.
A quick glance at the ARM instruction set shows they've increased the number of available registers without increasing the size of the instructions. So at least one persons' theory as to why I might be wrong doesn't hold any water. I've not checked the addressing modes. So I don't know whether ARM has the equivalent of the W bit in the PSW.
But where you've got a 64bit CPU that can run in both 32bit address mode and 64bit address mode, you should try benchmarking application that fit inside the 4GB VAS and seeing what runs faster. My experience is that optimising pointer size is a valuable technique.
64 bit apps are faster, usually 20-30%. That however is one side of the double-edged sword. 64 bit apps require more memory to run, so we should expect to see RAM jumps in specifications in the future (bearing in mind there's been a fire at one of the fabrication plants expect memory to cost more too)
A very valid point with ARMv8 however.
It's not just a case of adding 64bit here. To get a solid speed boost out of the ARM processor, apple would want to move to the new ARMv8 instruction set. That has double the number of registers, which helps a lot. It's also 64bit, which helps in many cases too (ignore anyone saying it only benefits anything with >4GB of RAM, they're arse talking).
So it's more a case of them wanting ARMv8 and getting 64bit as part of the bundle I suspect.
It benefits not much in many cases presuming you have the same number of registers etc in both modes.
If you cannot use all the registers in 32 bit / thumb / 64 bit then it goes against everything arm has ever tried to do. (And makes it worse than mips or sparc and I think powerpc).
The whole thing was you write the none performance critical stuff in thumb and the performance critical stuff in arm code.
(If you can do that but they choose not to due to wanting backwards compatibility then that is ok.)
This post has been deleted by its author
"does a mobile phone need a 64 bit processor? Someone? Anyone?"
It probably doesn't need to be 32 bit either. For that matter, it doesn't need a big colour screen, just a line or two of text and some buttons.
But then, none of the fancy other toys would work and it would just be a phone.
People want toys in their phone. Like a camera, a flash light, some games to pass the time while on the big white chair, something to check facebook on, etc.
The benefits of the iPhone 5S 64-bit environment (64-bit A7 processor, running 64-bit apps, on 64-bit iOS 7) are HUGE!!!
There is an article on All Things D today that explains what a radical improvement this is. Here are a few quotes from the article:
“The fact that the A7 has twice as many processor registers means that more operations can occur without the processor using main memory, which is slower to access,” Carl Howe, VP of research and data sciences at the Yankee Group toldAllThingsD. “This means for that, for some codes, the A7 will be twice as fast (or faster, depending on how many memory accesses the original code had) to run code, because the processor doesn’t have to use main memory as much.”
“The ARMv8 instruction set is clean-slate approach with many improvements. Even without 4GB of RAM, the A7 should make it easier to build larger applications like PC-class games and programs. Apps can now become real desktop-class programs and games.”
"with the 64-bit A7, Apple has made it possible for developers to take the 64-bit apps they’re written for the Mac and bring them to iOS 7 with relative ease. And that is a huge benefit"
“This will not be true with Android, by the way. The Android Java app and native app environment will need support from Oracle, who owns the Java environment as well as 64-bit support from the Android kernel. Android has a lot more moving pieces to coordinate, and will take longer to go to 64-bit.”
So much wrong with the masses of text you copy and pasted .. but let's bash the silliest parts to save time.
"with the 64-bit A7, Apple has made it possible for developers to take the 64-bit apps they’re written for the Mac and bring them to iOS 7 with relative ease. And that is a huge benefit"
Those 64bit apps on OSX being for AMD64 and not ARMv8..
“This will not be true with Android, by the way. The Android Java app and native app environment will need support from Oracle,"
Dalvik isn't a JVM. It doesn't run Java byte code.
"who owns the Java environment"
Dalvik isn't a JVM. It doesn't run Java byte code. Android's class library is based on Apache Harmony...
"as well as 64-bit support from the Android kernel."
Oracle are the main developers of Linux? Who's this Linus guy that the register like write multi page articles on when he uses "naughty words" in a single paragraph email then?
"Android has a lot more moving pieces to coordinate, and will take longer to go to 64-bit.”
I bet the original author couldn't name the pieces that would take time to coordinate...
“This will not be true with Android, by the way. The Android Java app and native app environment will need support from Oracle, who owns the Java environment
I'm not sure where you've been for the last few years while Snorable and Google fought this out in court but the Java in Android has nothing to do with the Java from Snoracle. This has mightily pissed off Larry the yachtsman, but the judge through out their case. Pity because if Oracle had proved that you can own an API, then they'd have owned every cent they ever earned to Big Blue.
This is horse manure. Twice the registers doesn't mean twice the speed. What's happened with past architectures is a 20-30% increase in speed. Also I don't see how Oracle need to get involved as Google run dalvik which is it's own VM and Java->Dalvik compiler.
Out of interest is there a 64-bit compile of Android?
Concerning the quotation from the article giving the advantages, why so many down votes? Do they reflect Android bigotry, knee-jerk anti-Applism or reasoned disagreement with the arguments, that the voters are unable to express in clear, reasoned replies in this thread?
One can assume that Apple has not wasted time and money on pointless hardware design and manufacture, plus consequent software work, the time of expensive, highly skilled staff and so on just to put out some sales line that all the brilliant engineers reading The Register will poo-poo at once because they all know so much better.
I shall be fascinated to read the real reviews once the 5s is available to genuine engineers for benchmarking, new app programmes and so on. Till then, to use an Americanism, put up or shut up.
If you are a Samsung fan, I can see your problem; but again, I doubt that Samsung would be so quick to promise their own version if they too could not justify it in engineering terms and could not achieve it realistically using either Android or this fabled new Linux O/S they are said to be developing. They clearly believe in the benefits of Apple's development and I have more faith in and respect for their judgement than that of the nay-sayers in these columns. After all, they appreciated the cleverness and achievement of Apple with the iPhone and paid it the highest compliment, then went on to use that experience to develop their own ideas. This is a genuinely sensible and good strategy followed by every successful business.
"Apps can now become real desktop-class programs and games."
As if Apple would allow for their tablets and phones to fight with their already struggling desktop-computers/market. Oh please.
This will have no advantage to the usual app-crazed zombie who will stare themselves blind on the new psychedelic colour palette.
Hmmm... I which Harmattan was still around. A true innovative OS on a true innovatie UI. This is all smoke and mirrors.
Why oh why do people need to complain about any kind of progress?
have you also asked the following at some point?
Why oh why do people need to fly when they can get on a boat?
Why oh why do people need to drive faster than 5 miles an hour?
Why oh why do people need a flat screen TV when they could go to the cinema?
Why oh why do people need to send an email when they could use the post or telephone?
Why oh why do people need to a camera, email, colour screen on their portable telephone?
It does smack of ignorant playground computer/console bragging.
Like the megadrive printing '16 BIT' on the front. Or the argument that the N64 was better because it was 64 bit (but utterly clobbered by the storage limitation of cartridges).
The 64bit ARMv8 core's that the A7 chip uses is licensed from ARM. Samsung don't need to "copy" Apple because they will do the same as every other ARM licensee and license the cores for use in future Exyonis SOC's or use whatever Snapdragon chip also uses ARMv8 cores. You clearly are a moron.