ARM Readies Cores For 64-Bit Computing
snydeq writes "ARM Holdings will unveil new plans for processing cores that support 64-bit computing within the next few weeks, and has already shown samples at private viewings, InfoWorld reports. ARM's move to put out a 64-bit processing core will give its partners more options to design products for more markets, including servers, the source said. The next ARM Cortex processor to be unveiled will support 64-bit computing. An announcement of the processor could come as early as next week, and may provide further evidence of a collision course with Intel."
hi
True Windows does not run in ARM. More ARM means more linux. Orgasmic.
ARM has to walk the power way up. I don't see how 64 bit computing would let them snatch server oriented clients. Similarly, I doubt Intel would be wise to deliver chips for the wristwatch market without first having something more compelling for the smartphone.
To do list for Windows
I know folks think it's 'overkill' to have 64-bit CPUs in portable devices, but consider that the -entirety- of storage and RAM can be mmapped in the 64-bit address space... That opens up a lot of options for stuff like putting entire applications to sleep and instantly getting them back, distributing one-time-use applications that are already running, sharing a running app with another person and syncing the whole instance (not just a data file) over the Internet, and other cool futuristic stuff.
I'm wondering when the first server/desktop OS is going to come out that realizes this and starts to merge the 'RAM' and 'Storage' into one 64-bit long field of 'fast' and 'slow' storage. Say goodbye to Swap, and antiquated concepts like 'booting up' and 'partitions'.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
It has to be cheap , power efficient , dense (performance per rack unit ) and most of all _stable_ if they want to use it for servers.
If they can manage those details it would be an instant hit , x86 servers are mighty expensive for small businesses , at least around where i live.
Either way some competition would be welcome and is sure to drive costs down.
The other essential problem is getting motherboards to meet the same criteria.
Consider something more important like having time_t up to 64-bit to have dates beyond 2038... among others.
... years after 64 bit computing is already available, ARM thinks they're going to be innovative and do the same... how about some forward thinking and better planning, like moving forward further to 128 bit.
P.S. I'm not looking for some technical analysis based on today's limitations saying 'oh that requires too much power' or whatever; the point of innovation is to change what is possible.
Would be the most exciting revolution to watch. Since it has a totally different design it changes the parameters of how hardware end products can be built.
As ARM cores are so simple and ARM Holding does not have their own fabs, anyone could come up with their own optimized ARM-compatible CPUs. It's one of those moments when the right economics and the right technology could fuse together and change stuff.
As ARM cores are so simple and ARM Holding does not have their own fabs, anyone could come up with their own optimized ARM-compatible CPUs. It's one of those moments when the right economics and the right technology could fuse together and change stuff.
The problem is... Windows. More precisely, proprietary closed-source software which can't just be recompiled for a new architecture.
The huge amount of installed Windows software out there won't run on ARM, so it won't change the mainstream laptop/desktop market any time soon.
Well, considering that somewhere between 60-90% of the desktop marked in reality does not care what their computer is running, so long their got access to a browser and facebook and in worst case a office suit on the side for minor work, it would not really have mattered.
The only real problem is not Windows, it is getting the computers into the mainstream stores to be sold alongsides the Macbooks and the various normal Windows OEM solutions. Just getting it there would mean instant markedshare over night, because only a minority is application bound in reality.
The problem is... Windows. More precisely, proprietary closed-source software which can't just be recompiled for a new architecture.
Much less of a problem than it used to be. Aside from games, how many closed-source software packages do you run that are CPU-limited? In typical usage, the CPU monitor on my laptop rarely goes over 20%. Even emulating everything, it wouldn't be too slow to use. Modern emulators don't emulate everything though, they thunk out to native libraries for things like drawing. That's how Rosetta works on OS X, for example; OS X ships with stub versions of all of the native frameworks for PowerPC, which call the x86 versions outside of the emulator. When you call a library function from an emulated program, you're calling native code. Even if the emulator only runs at 20% of native speed, the apps typically run at over 50% of native speed, meaning that they use 10% of the CPU instead of 5%. You wouldn't want to run all of your code this way, but for the one or two apps that you can't get native versions of, it's acceptable.
I am TheRaven on Soylent News
Wake me up when ARM has the performance part of the package at least partially addressed. If we want low cost, low power, low performance servers, we already have Atom and Nano, both of which offer x86 binary compatibility and can run the latest releases of WIndows and any Linux flavor of the month, and both of which deliver superior performance (to ARM). Anyone thinking that they are heading on a collision course with Intel any time in the next decade... I want some of what you are smoking.
I guess it is nice that they are contemplating servers and thousand dollar cellphones for overpaid yuppies, but where are the hundred buck low power good enough for surfing ARM desktops or "nettops"? That's what I am really interested in, cheap, good enough, cool running, electron sipping can run linux and not x86 machines.
Apple, Google and Canonical have seen the writing on the wall: Make the apps independent of the ISA, and your platform can go anywhere.
Best way to do this is to provide the storefront, and handle distribution integrated with the OS.
I think the App Store is the biggest software revolution from the 00's ... and it's yet to play out completely.
Make sure everyone's vote counts: Verified Voting
I was going to mention a few, but then I realized that almost all of them are .NET based. MS already has a .NET implementation on ARM (for their mobile devices) and I believe Mono also works on ARM.
The remaining ones are MS Office (ported to x64 and PPC), Visual Studio (partially .NET and hopefully somewhat portable), Opera (portable), Foxit (there are other PDF apps even if it's not portable), and probably a few more.
Of course, you can't just ignore games. Relatively few of those are portable, and I happen to care about them quite a bit.
There's no place I could be, since I've found Serenity...
In large datacenters, power and cooling costs have become a significant part of the TCO. For smaller server rooms x86 compatibility is probably more important.
Imagine these scenarios:
Building a Linux kernel on a dual-core AMD64: "make -j3 bzImage"
Building a Linux kernel on a quad-core or 8-core ARM: "make -j5 bzImage" or "make -j9 bzImage"
Any bets on which one will finish sooner? The smaller ARM die means the same wafer can hold more ARM cores than any current Intel x86 or AMD cores. The term "embarrassingly parallel" comes to mind.
No! Not the dreaded, "collision course." Can you imagine the energy that will be release when these 2 behemoths collide!
Quick, call the Intel bunnies and tell them to don their purple Nikes! Phone the folks at the LHC and let them know so they can accelerate their schedules before it's too late and we all die without knowing if the Big Bang really abhors vacuuming or Newton only thought he saw stars after being hit on the head with an apple.
We are all on a one way train to marketing=speak Valhalla, and we're never getting off~!
Seriously, should burn Rupert Murdoch's style book.
Low Power - High Performance ... that is already occupied by Cavium, Tilera and others ...
However in the MOBILE space this will have some applications ...
This isn't like the 16->32 bit transition where it quickly became apparent that the benefits were large enough and the costs both small enough and rapidly decreasing that all but the smallest microcontrollers could benefit from both the switch and the economies of scale. 64-bit pointers help only in select situations, they come at a large cost, and as fabs start reaching the atomic scale we're much less confident that Moore's Law will decrease those costs to the level of irrelevance anytime soon.
Most uses don't need >4 gigabytes of RAM, and it takes extra memory to compensate for huge pointers. Cache pressure increases, causing a performance drop. Sure, often x86-64 code beats 32-bit x86 code, but that's mostly because x86-64 adds registers on a very register-constrained architecture and partly because of wider integer and FP units. 64-bit addressing is usually a drag, and it's the addressing that makes a CPU "64-bit". ARM doesn't have a similar register constraint problem, and the cost of 64-bit pointers would be especially obvious in the mobile space, where cache is more constrained- one of the most important things ARM has done to increase performance in recent years was Thumb mode i.e. 16-bit instructions, decreasing cache pressure.
Most of those who do need more than 4GB don't need more than 4G of virtual address space for a single process, in which case having the OS use 64-bit addressing while apps use 32-bit pointers is a performance boon. The ideal for x86 (which nobody seems to have tried) would be to have x86-64 instructions and registers available to programs but have the programs use 32-bit pointers, as noted by no less than Don Knuth:
It's funny to continually hear people clamoring for native 64-bit versions of their applications when that often will just slow things down. One notable instance: Sun/Oracle have told people all along not to use a 64-bit JVM unless they really need a single JVM instance to use more than 4GB of memory, and the pointer compression scheme they use for the 64-bit JVM is vital to keeping a reasonable level of performance with today's systems.
Not that big of an issue in the server space. Sparc and Power5 don't run Windows. And almost all the big server apps already run under Linux so those can recompile without much effort.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Apple managed to make the switch from PowerPC to Intel almost seamlessly, thanks to a well-written emulator. Microsoft might be able to do the same.
The huge amount of installed Windows software out there won't run on ARM
All the software for Pocket PC aka Windows Mobile (based on Windows CE) already runs on ARM.
Yet benchmarks consistently show that despite the overhead of 64 bit pointers, nearly every program is faster on AMD64.
So, now I can really get WinCE Jamming! lol J/K of course...
"Computers are a lot like Air Conditioners" "They both work great until you start opening Windows"
oh god, not another architecture to maintain! This is going to set back the next release a few years for sure!
@mods: it was a joke, I'm not trolling.
Performance per watt is what matters in the server room, and that's one area where ARM handily trumps x86.
I do not fail; I succeed at finding out what does not work.
No floating point is ever required for filesystems or encryption.
When will it run Android?
deleting the extra space after periods so i can stay relevant, yeah.
What makes you assume Apple won't switch to ARM sometime in the next couple years? They dumped PPC for X86 due to the more favorable power/performance ratio. It's only natural to assume that when high-powered ARM processors appear, Apple will switch to that architecture without a moment's hesitation.
To be fair, that doesn't counter his argument, amd64 has more registers than i386 and they do make a big difference. Repeat the tests with 32-bit pointers and 64 bit registers and then get back to us.
As of today, the method he mentions would probably provide a bit better performance, assuming the processor optimizations didn't break when their expectations weren't met.
However, I think it is very short-sighted to miss the fact that about the only thing increasing these days is memory and that apps tend to grab all the address space they can get. By 2050 I can see machines with 1TB ram, but I can't see apps keeping themselves under 0xFFFFFFFF.
Furthermore, thanks to ASLR, which is a feature available now on most OSes, address space fragmentation is a problem today even for programs well under the 4Gb mark. The future is 64:64. 32 bit architectures are already dead, they just haven't realized it yet.
10 little-endian boys went out to dine, a big-endian carp ate one, and then there were -246.
You must not be aware of JIT style binary translators. I used to use x86 Windows binaries on my DEC Alpha running NT4 (and NT5 up till build 2000) under FX!32 all the time. Heck, I even ran Win32 games that used OpenGL. Nothing prevents somebody from doing the same with ARM. In fact, I'm waiting for somebody to do that for WINE.
If it's cheaper, doesn't use much power and gets the little jobs done then it will have an advantage over Atom etc.
He's ignoring at least two benefits that help no matter the architecture.
First, address space allocation is a hashing problem. Calls to malloc (mmap) need to find free space; this gets slow as the address space fills up.
Second, we care about security and we realize that programs may have bugs. ASLR benefits greatly from extra address space. This can be the difference between an attacker having a 1-in-256 chance or having about a 1-in-trillion chance.
He's also focusing on the cache-related downside while ignoring the cache-related upside. Unless you get rid of all 64-bit libraries, adding 32-bit stuff to the system will double the amount of code that the CPU has to cache. Context switching between 64-bit and 32-bit software causes one or the other to start getting thrown out of the cache.
There was no attempt to counter the OPs argument, only a single point that is untrue for the steady transition from i386 to AMD64. While I can respect your fairness, the facts remain that people are asking for AMD64 apps because they exhibit better real world performance and because few can be bothered with multilib systems.
Surely 32bits better for each pointer :P
A few years ago, Microsoft bought a company called Connectix. Their flagship product was called VirtualPC, and was an x86 emulator for PowerPC. Not only could they do it - they have the expertise in house to do it. I believe they used this code to run XBox games on the XBox 360 and if the people who wrote it haven't left they could almost certainly come up with an ARM version.
Or they could use it as an opportunity to push .NET - anything written with .NET will run in Windows on any CPU...
I am TheRaven on Soylent News
Maybe Google is interested in using ARM on the server-side. 64-bits sounds logical over there and it would heavily reduce power consumption on applications that are optimized.
And when you answer with the example be sure to tell us why not being able to run that application effectively "is totally crippling" to the platform.
I'm not saying that having more memory would not be useful, simply pointing out how idiotic the argument is that the platform is "crippled" simply because it has less memory than many desktop machines.
You could argue they already have, they sell many, many times more ARM-based devices then they sell desktop-machines.
New things are always on the horizon
I've got eight 8-bit AVRs and duct tape right here. That's almost the same thing.
Exactly. How could they pass it up?
Mac: I'm a Mac ... [PC slumps over].
PC: and I'm a PC
Mac: You're looking a little sluggish PC.
PC: Yeah, my Dr. says I should stop using this Intel processor, but I just can't quit.
Mac: That's too bad, because now that I use half the power I can run an entire day without recharging.
PC: Sure, but who would want
Mac: PC, are you OK?
PC: [picking back up] Sure, I'm just demonstrating how I can go a day without recharging by using sleep mode.
Mac: How much of the day will you be sleeping then?
PC: About 20 hours [PC slumps over again].
---------
If we reach a point where ARM chips are available that match x86 on two of price, performance, and power usage and beat x86 by say 20% on the other factor, you can bet that the only platforms which will remain using x86 are those that can't make the leap. And any platform that can't switch over will be obsoleted pretty soon.
As someone who has watched debian rc bugs architecture specific failures are not at all unusual. Sometimes it is actual bugs in the toolchain, other times it's portablity issues in the user code.
And how many of use non-Linux users have had to put up with bash-ism when someone specified /bin/sh, Linux-ism syscalls, and GNU-isms on BSD or Solaris when it comes to CLI utilities in scripts?
Portability bugs can be found all over the place. That's one of the problems with Unix to a certain extent.
Why suddenly does it appear that somebody is following jcr around with a bucket of "Troll" mods? "Score 3, Troll" just cracks me the frack up.
If you mod me down, I shall become more powerful than you could possibly imagine.