www. O S N E W S .com
News Features Interviews
BlogContact Editorials
.
HP, Asus announce first Windows 10 ARM PCs
By Thom Holwerda on 2017-12-05 20:19:56

HP and Asus have announced the first Windows 10 PCs running on ARM - Snapdragon 835 - and they're boasting about instant-on, 22 hour battery life, and gigabit LTE. These machines run full Windows 10 - so not some crippled Windows RT nonsense - and support 32bit x86 applications. Microsoft hasn't unveiled a whole lot just yet about their x86-on-ARM emulation, but Ars did compile some information:

The emulator runs in a just-in-time basis, converting blocks of x86 code to equivalent blocks of ARM code. This conversion is cached both in memory (so each given part of a program only has to be translated once per run) and on disk (so subsequent uses of the program should be faster, as they can skip the translation). Moreover, system libraries - the various DLLs that applications load to make use of operating system feature - are all native ARM code, including the libraries loaded by x86 programs. Calling them "Compiled Hybrid Portable Executables" (or "chippie" for short), these libraries are ARM native code, compiled in such a way as to let them respond to x86 function calls.

While processor-intensive applications are liable to suffer a significant performance hit from this emulation - Photoshop will work in the emulator, but it won't be very fast - applications that spend a substantial amount of time waiting around for the user - such as Word - should perform with adequate performance. As one might expect, this emulation isn't available in the kernel, so x86 device drivers won't work on these systems. It's also exclusively 32-bit; software that's available only in a 64-bit x86 version won't be compatible.

I'm very curious about the eventual performance figures for this emulation, since the idea of running my garbage Win32 translation management software on a fast, energy-efficient laptop and external monitor seem quite appealing to me.

 Email a friend - Printer friendly - Related stories
.
Post a new comment
Read Comments: 1-10 -- 11-20 -- 21-30 -- 31-40 -- 41-50 -- 51-59
.
My guess ...
By ameasures on 2017-12-05 23:38:07
Is that half the uplift in battery life will come when native executeables are in dominant use.

A second guess is that real effort will go into reducing reliance on the 32bit x86 executeables so dual porting is already in progress. This may be via recompiled C++ or via .NET depending on each case.

Of course, once a critical mass of ARM executeables are on tap, then the picture changes: why would you get an x86 laptop with half the battery life of it's ARM equivalent.

This has been a very long time coming.
Permalink - Score: 4
.
Selling chromebooks for $$$
By bnolsen on 2017-12-06 00:58:40
Looks like they're selling chromebooks, but sticking on windows 10s and adding 500usd to the sticker price.
Permalink - Score: 1
.
RE: Selling chromebooks for $$$
By viton on 2017-12-06 01:13:16
Google Pixelbook with 8/256GB, with 10h battery life and without modem is available for $1199

Edited 2017-12-06 01:14 UTC
Permalink - Score: 2
.
RE[2]: Is it crippled?
By nitrile on 2017-12-06 01:22:25
Even if for no other reasons than diversity*, if what I want to see is an alternative to an x86 PC platform, these developments are interesting, but I've little expectation this will take me where I want to go.

I have an RT tablet (in death, it's a good RDP client) - the problem, as a tablet - wasn't ever to do with performance - it was, is fast enough - jailbroken it ran recompiled Quake 3; jailbroken, you could never update it;

The problem was just the restrictions - that is it. and I'd say the whole RT project could hardly have been more designed to fail than if it were run by a saboteur.

A more sensible approach this time is evident - acknowledging that, x86 emulation fills the space of allowing it to run software so old that the developer, 6 bosses and two departments and a buyout ago, with source that doesn't exist anymore.

Anything newer compiles, possibly does already; I've already run some. It's not about emulating everything; that's nonsensical. A store (detestable as this is, on anything calling itself a PC) can make distribution of multi-arch binaries simpler - it was mandating it, that killed RT.

Maybe it doesn't this time, and there is an aura of self-awareness that was totally absent before, consumed as it was by lust for skimming 30% from an app store.

Which is probably going to still exist, and why it probably won't really work for me; my wants don't really align with theirs.

Undoubtedly, they're not really ok with it being your device just because you purchased it; will it be standard enough (defacto, by volume) and open enough that linux will run on it, with a standard boot process, and become basically a PC 2.0; and scale to say, 24 core, open workstations.

That's a pipe dream; maybe it'll come, from a completely unrelated angle. But it's a small increase in oxygen, if it merely opens vectors for competition again. PC's should never have become single source; it remains to be seen if it'll be a PC, or just a windows on-ramp; you know which they're really going for.

* I could add others, like intel, from general observation, happy to sit on their ass for 6 years until AMD finally being able to kick it again, or the management engine.
Permalink - Score: 1
.
RE[2]: Is it crippled?
By Alfman on 2017-12-06 02:18:43
viton,


> And "that reason" is a performance.

I think it depends, 64bit code translation may not necessarily perform poorly, it could just not have been implemented. In any case x86 emulation ARM is obviously going to be for people who need compatibility more than performance.

> How so? These are laptops* and tablets*, not a desktop systems ;) If you want proper ARM desktop, you can grab one of ARM ATX boards (ok, there is only one board <$500) and build it yourself.

Yea, I'm quite tired, probably could word it better. I'll gladly take a look if you send over links. Affordability is important to me though.

> * There is no doubt these devices will be as restricted and locked as possible.

It'd be a pity then. I really am sad at the prospect of open/unlocked ARM desktop/laptop computers becoming a "niche" product.

Some people will say "well then just don't buy it", but to the degree that many computers on the market end up being vendor locked, this causes harms to the secondhand market who's new owners may want the hardware but not want to run the same operating system. After all, most alt-os users are actually re-purposing existing PCs to do it.

Edited 2017-12-06 02:25 UTC
Permalink - Score: 2
.
RE[3]: Is it crippled?
By viton on 2017-12-06 03:15:34
> I think it depends, 64bit code translation may not necessarily perform poorly, it could just not have been implemented.

I have no idea how they implemented emulator, but I expect in 32-on-64 bit user-space case, emulator core can allocate 32-bit virtual memory region of x86 process in 64-bit ARM space and let MMU hardware handle all the things. Quick and simple.

> In any case x86 emulation ARM is obviously going to be for people who need compatibility more than performance.
Compatibility is a complex thing. There are two types of code what I expect to cause problems:
Self-modifying programs.
Parallel programs with lockless synchronization.

> I'll gladly take a look if you send over links.

The only (not yet obsolete) board under $500 is "8040 community board":

https://www.solid-run.com/marvell...

It has some serious networking support.
Yeah, dual 10GbE are cool but nearly useless at home.

In other words I don't think it is worth to bother with "real" ARM PC so far.
So my current ARM PC is $199 Jetson TK1 with SSD.
Jetson TX2 is 3x expensive and looks like embedded devkit rather than a computer.

Recently I've found an ARM workstation, but it is based on old slow ThunderX chips.
https://www.avantek.co.uk/store/a...

Edited 2017-12-06 03:16 UTC
Permalink - Score: 3
.
RE[3]: Comment by smashIt
By smashIt on 2017-12-06 06:23:10
> SD835 with x86 emulation is roughly equivalent of quad core Atom processor (Pentium N).
...
SD835 perf is good enough for typical use case.



As someone who uses a quad-core atom convertible I can tell you that word and excel are already pushing it.

Using 8x2.5 GHz to barely run word is not good...
Permalink - Score: 1
.
RE[4]: Is it crippled?
By Alfman on 2017-12-06 07:33:31
> I have no idea how they implemented emulator, but I expect in 32-on-64 bit user-space case, emulator core can allocate 32-bit virtual memory region of x86 process in 64-bit ARM space and let MMU hardware handle all the things. Quick and simple.

I can't think of a reason why a 64bit ARM processor would not handle the memory requirements of 64bit x86 processes. As long as there's enough memory to fit the amd64 app, it ought to be fine.


The number of general purpose registers would be a greater challenge though. AMD64 doubled the number registers from x86. If the emulator assumes a fixed relationship between x86 registers and ARM registers, there might be a lack of registers in the 64bit emulator, which results in the need to stuff some of them into slower ram. Software based emulators (qemu/virtualbox without HW-virt) can recompile the code stream to produce native register allocations for the target. Alas, I don't know if microsoft's emulator does this too or if it relies on a naive 1:1 opcode translation algorithm.


> Compatibility is a complex thing. There are two types of code what I expect to cause problems:
Self-modifying programs.
Parallel programs with lockless synchronization.



Obviously self-modifying code has long been discouraged for numerous reasons. It's behavior is model-specific if you don't explicitly flush the cpu pipelines:
https://groups.google.com/forum/#...

Nevertheless an emulator handles it by setting compiled pages to read only and invalidating the compiled code on a page fault. The cool thing about this is that the underlying cause of the code page modification doesn't matter. The page may have been modified by self modifying code, a JIT compiler, runtime debugger, loading a DLL, etc. Self-modifying code comes for free and does not create an exceptional code path from the others.


Lockless synchronization boils down to atomics and SMP memory models. I believe ARM natively supports all the same atomics, however I wasn't so sure about the memory model.

This is from 2012, things may have changed since then:
http://preshing.com/20120930/wea...

Any differences in memory model would affect both 32bit and 64bit. Languages like C define their own memory models, which ought to be compatible as long as the barriers are correct, but I'm not sure if there could be side effects. Conceivably it could expose hidden race conditions? I'll have to look into it further. Anyways +1 for bringing it up!



> The only (not yet obsolete) board under $500 is "8040 community board":

https://www.solid-run.com/marvell......

It has some serious networking support.
Yeah, dual 10GbE are cool but nearly useless at home.

In other words I don't think it is worth to bother with "real" ARM PC so far.


I think you are right, but it's awesome nevertheless! Some day maybe...
Permalink - Score: 4
.
RE[4]: Comment by smashIt
By Alfman on 2017-12-06 07:55:15
smashIt,

> As someone who uses a quad-core atom convertible I can tell you that word and excel are already pushing it.

Using 8x2.5 GHz to barely run word is not good...


For a historical perspective consider that itanium emulated x86 much in the same way ARM is now doing (for all I know microsoft may even be using the same 32bit emulator today, ported to ARM).

The hope with itanium was that the x86 emulator would be a temporary tool to bridge the gap, but the native itanium applications never came and itanium became known as a very expensive and very slow x86 emulator.

In this instance with Windows 10 on ARM, things are a bit different. These devices will initially be sold to people who want compatibility, but soon after they'll likely get nudged into using microsoft's app store apps that can run natively on ARM.

Edited 2017-12-06 07:57 UTC
Permalink - Score: 3
.
we're going to need 20h of batterry
By xristos on 2017-12-06 09:24:38
... because (with emulation) everything will take longer to do.

(jk)
Permalink - Score: 1

Read Comments 1-10 -- 11-20 -- 21-30 -- 31-40 -- 41-50 -- 51-59

Post a new comment
Username

Password

Title

Your comment

If you do not have an account, please use a desktop browser to create one.
LEAVE SPACES around URLs to autoparse. No more than 8,000 characters are allowed. The only HTML/UBB tags allowed are bold & italics.
Submission of a comment on OSNews implies that you have acknowledged and fully agreed with THESE TERMS.
.
News Features Interviews
BlogContact Editorials
.
WAP site - RSS feed
© OSNews LLC 1997-2007. All Rights Reserved.
The readers' comments are owned and a responsibility of whoever posted them.
Prefer the desktop version of OSNews?