In addition to everybody else's replies, remember, cell phones are computers. Chant it to yourself: Cell phones are computers. Cell phones are computers. There is nothing that a notebook will need that a cell phone won't need just a year or three later. Cell phones can chew through any amount of power you give them, with augmented reality, being used as laptops with optional shells, the sky is the limit. Do not limit your mental model of cell phones to "glorified phone", the end game is "computer with cell network interface."
Remember that memristors are going to reinvent computer memory by 2014? (speed and power near dynamic RAM, but nonvolatile) When the storage hierarchy gets retuned you may find all of your device's nonvolatile storage in your address space. Or maybe not. http://en.wikipedia.org/wiki/Resistive_random-access_memory
Beyond that…
The ARM 64 bit comes with 31 64 bit registers instead of 14 32 bit registers.
There are a number of instruction set differences, such that you run the same object code on previous architectures.
The NEON unit also gets twice the registers, double precision floating point, and IEEE 754 compliance.
Bitness is more about per-process address space than total RAM. For example, a 32-bit process could not memory map a file over (somewhat less than) 4GB in size, while a 64-bit process doesn't have this problem. Wanting to memory map large files is something you could do on just about any current mobile phone.
Also think Moore's Law. Current phones are sporting 1GB of RAM. It will just be a few years before they exceed 4GB, and it's easier to get the software support ready now.
No it won't be. Some of the high-end phones already have 2 GB, and next year it seems they'll have 3 GB of RAM. So 64 bit is arriving just on time in 2014 (although Cortex A15 supports extension to 40 bit, but using that may be a bit messy):
> When i think of ARM i think of Mobile Phones, total ram isn't an issue(yet?) Are there other advantages?
We don't think about it much, but the total power draw of a data center is a huge cost, and ARM servers are lower-power than x86 servers. Every step towards being able to replace x86 servers with ARM ones is saving the people who pay data center power bills lots of money.
ARM64 isn't required for > 4GB physical memory. The cortex-a15 can already address up to 1TB and is already shipping. Only the per process limit is locked to 4GB on a 32 bit core.
I think you're splitting hairs. In fairness, I didn't explicitly call that out, but as soon as you have more than 4GB of memory, there's going to be an application that wants to use more than 4GB. So yes, 64-bit is necessary in my opinion. Especially when you consider the server market.
> but as soon as you have more than 4GB of memory, there's going to be an application that wants to use more than 4GB
Maybe, but my desktop has 32GB of ram, has a 64bit CPU, and I've rarely seen a single process use 4GB of memory unless it was leaking memory. My laptop has 8GB of ram, also 64bit, and I'm pretty sure I've never had a single process use 4GB. The only exception I can think of was doing some silly data manipulation, e.g. doing the initial build of a property graph of the entire Boston area transit system. I bet some high end games or video/photo editing software would use more than 4GB. Point is, those are all pretty niche situations, I'd bet the majority of memory usage on an average person's computer comes from browser processes, few hundred MB each if that and office applications, also a few hundred MB. Those processes add up though, so having more ram is usually a really good thing even if no processes uses even close to 4GB.
I also challenge the need in server loads. I'd bet the vast majority of applications never use 4GB either on the app server or the database server. Most of what gets discussed here on HN are large high scalability applications that you wouldn't host on ARM cores anyway. We often forget that the vast majority of website are tiny and low traffic.
Datacenters have a lot of stuff running in them. Big servers and databases arn't just for public facing large scale applications.
Database servers in particular wants as much memory as possible, and it doesn't take that big of a business support application that have a working set of data > 4Gb.
Same goes for a lot of the memory hungry Java application servers that sits around in a lot of businesses.
Apparently we're crossing wires here. I'm in no way shape or form saying these applications don't exist (I'm currently writing one).
What I am saying is that for ever such application there are probably more than a thousand sites hosted on free with your domain or $5 a month php + mysql hosting that use no where near 4GB per process. For the companies hosting those sites a cortex a-15 with a ton of ram is an awesome solution. This isn't all or nothing, we're talking about two different markets.
It doesn't, and I don't see where I've made that claim. I'm refuting the opposite. The initial claim was:
> I didn't explicitly call that out, but as soon as you have more than 4GB of memory, there's going to be an application that wants to use more than 4GB. So yes, 64-bit is necessary in my opinion. Especially when you consider the server market.
I'm just saying I don't agree. There is a massive market very open to the power saving offered by arm that have no use for > 4GB process spaces. That doesn't mean there aren't markets where 64bit will be useful.
I think we are on different pages with the word "necessary". I am using it as "needs to exist as an option", and I think you're using it as, "needs to be used by everyone".
Heh. Ask anyone that's ever edited maps for games, edited video, rendered, or used Photoshop if they want the ability to use more than 4GB of memory for a single process.
There are many games now with multi-gigabyte files; the ability to map that entire file into memory is invaluable if the system has enough memory to support it.
There's also a difference between "required" and "desirable". Many applications will happily run with less than 4GB of memory available to them, but many will also run much better when they can access more.
Don't fall into the same trap that so many did with 32-bit processes, etc. Look forward a few years and see where the industry is eventually headed anyway and just assume that it should be there now.
I'm just going to assume I worded my post poorly. I pointed those out and identified them as niche markets, because they are. Some how it appears the impression I gave was "there is no need for 64bit, ever!!!!!".
I believe that the disconnect here is that you are claiming the need for >4GB of RAM per process is a "niche market", while many others here are claiming it is something that many applications today would have an immediate use case for, and/or have to work around not having available.
HP has announced plans for power-efficient ARM-based servers with their "Project Moonshot" program, and starting with their "Project Redstone" Calxeda ARM server development platform:
4GB is the limit with 32bit. It's starting to be used on servers, so that's an issue there. But even on phones:
Moterola Droid 256MB [2009]
Google Nexus One 512MB [2010]
Galaxy Nexus 1GB [2011]
Google Nexus 4 2GB [2012]
It doesn't look like it will be long before we need 4GB or more. I would expect, like with x86, you need 64bit even to access the full 4GB (due to memory mapped devices)
The more interesting part is the ARM multi-platform support. 64 bit ARM cores haven't hit the market yet, but the ability to run one ARM kernel on several different hardware set ups is useful today.
per the article: "The new 64 bit CPUs can run 32 bits code, but the 64 bit instruction set is completely new, not just 64 bit extensions to the 32 bit instruction set, so the Linux support has been implemented as a completely new architecture."
It will certainly make testing early access silicon from AMD more interesting. But that nice benefit aside, having a large virtual address space is really handy for a lot of things.
When i think of ARM i think of Mobile Phones, total ram isn't an issue(yet?) Are there other advantages?