W10 Mobile x86 .exe Emulator

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
I also think they are translating the entire x86 to ARM Instruction, this seems to concur with the 820 running full blown windows and then photoshop, on the task manager we could see the 820 preforming the operations BUT this could have been manipulated to convince us of its efficiency. It would mean a one time translation (I think) and all other win32 apps would inherit this one time translation at install benefit, I am not sure the impact this would have on the idle speed of the computer but why would they show this running so well on an 820 cpu?
However looking at the Video clip again (could be nothing here) I noticed photoshop on the Taskbar was closed, Edge was open and too was File Explorer when he selected task manager (which was open on the taskbar too) the cpu spiked at 52%. Quite high for such minimal load. ?? Then the load returned to about 10% after about a second.
 
Last edited:

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
Translation at install time means recompiling binary x86 code to binary ARM code once, so when it runs on the ARM machine, it's purely ARM binary, nothing else needed at runtime. If the application isn't so CPU-specific, it should not be a problem, when they were able to translate on-the-fly. Code is code after all.

You could be right. I've never built anything like this, so ultimately I can't say how much, or even if, having knowledge of the runtime state of the CPU would be of benefit. My gut feeling tells me there would be, for various reasons, like there being no 1:1 translation between ISAs. However, I don't like relying on gut feelings. So, I'm certainly not saying you're wrong, but I'm having difficulty getting on board for three reasons:

  1. Other technologies that solve similar problems (translating Java bytecode into machine instructions, translating IL bytecode into machine instructions, the venerable Transmeta CPUs that translated ISAs), all do their instruction set translations at runtime. Not at installation time. That would make ISA translation at installation time a very unusual approach. I suspect that isn't coincidental.
  2. According to MJF, the approach used for ARM is based on WOW64. Thanks to your link, I just learned that WOW64 does more than just 64bit thunking. WOW64 also includes the ability to translate between x86 and Itanium ISAs. Thats exactly the sort of thing required here too, and WOW64 does that ISA translation at runtime.
  3. MS has repeatedly referred to this technology as an emulator. However, if ISA translation occurs at installation time, then there is no emulation involved. That would be more properly referred to as an ISA transcoder or something like that. On the other hand, this wouldn't be the first time MS completely bungles their terminology, so who knows.
Together, these things lead me to believe that MS's approach is more likely to be a traditional runtime based emulator. I'm just not willing to bet on it.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
Good Arguments there @a5cent, runtime or at install? but are we not missing something? The operating system itself is Emulated. So there can be no question of terminology, that is why MS use the Term. Surely this would have to be done as a one time conversion because having to do all the emulation for each and evey instruction in real time on the fly would overload the cpu.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
Good Arguments there @a5cent, runtime or at install? but are we not missing something? The operating system itself is Emulated. So there can be no question of terminology, that is why MS use the Term. Surely this would have to be done as a one time conversion because having to do all the emulation for each and evey instruction in real time on the fly would overload the cpu.

Nope, not missing something ;-)

The OS is not emulated. The Windows OS is compiled for ARM and runs natively (just like Windows RT back in the day). Only the x86 software we install is emulated (or so MS claims). If you point me to the place where you got that from I can maybe help clear it up. Anyway, the idea would have been good, but it falls flat as the underlying assumption of the OS being emulated is incorrect.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
If that is the case I stand corrected, I was under the impression the OS was somehow emulated, this does make more sense now. It would reduce cpu load dramatically.

"Microsoft is enabling Windows 10 to support ARM chips directly by building an emulator into the operating system"

I understood that to be an Emulator within the software (WIN10) allowing it (WIN10) to Run on ARM.
 
Last edited:

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
"Microsoft is enabling Windows 10 to support ARM chips directly by building an emulator into the operating system"

I understood that to be an Emulator within the software (WIN10) allowing it (WIN10) to Run on ARM.

From "The Verge" I assume? What you took away from that sentence is reasonable. Your source material is just crap, no doubt because the person who wrote it doesn't understand it themselves. :-(

Such articles don't directly try to misinform, but the technical vagueness and the degree of interpretation and imagination required to extract meaning from such (technically almost meaningless) sentences, usually confuses more people than they help. Just as it did with you. I've seen it dozens of times now. It's rare that people without a formal technical background (used as a crap filter) come away from such articles having actually learned something. For anything technical, I think places like ExtremeTech or AnandTech are much better sources. Most folks there belong to the rare breed of tech journalist who actually understand the hardware and software technology they report on. Joel from ExtremeTech states it clearly:

Windows itself will run using native 64-bit ARM code
source
If you have the time to read the full article, I suspect you'd agree that he demonstrates a depth of understanding that we rarely get from other "tech websites".
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
I have had a full read of the article, thanks for sharing it, and I also read the sources he used in his article, admittedly things do look like Emulation of the Apps and not the entire OS, :)
Very exciting and cant wait to learn more details.
From ridiculous to reality, on mobile ARM Technology, Emulation in FULL swing.
 
Last edited:

BackToTheFuture

New member
Aug 9, 2013
44
0
0
Visit site
Together, these things lead me to believe that MS's approach is more likely to be a traditional runtime based emulator. I'm just not willing to bet on it.

It was just my hypothesis, though. We will have to wait, but it's fun to guess how they would approach this emulation problem.
 

mkKozak

New member
Jan 22, 2016
28
0
0
Visit site
Ah, you again, the person who's every idea and prediction have been proven false over the last year. Welcome back.

In a nutshell, my points in this thread boiled down to two things:

  • x86 emulation won't run in a way that anybody would find acceptable on current hardware (latest reporting confirms that)
  • It doesn't make sense to emulate x86 software on phones, as Intel's Core M has reached a point where it's viable for phablet sized devices. That begs the question why we should accept the performance hit of x86 emulation, when we can have the real thing without that performance hit. I didn't consider anything except technical criteria however. If I made a mistake that was it. I think Rosebank might have hit the nail on the head by pointing out the cost difference between Snapdragon 8xx and the Core M chips. However, I did say that if MS is in fact attempting to emulate x86 on ARM, then we're missing part of the puzzle. That cost difference could very well be that puzzle piece.
I see no non-sense, but you're welcome to quote the things you disagree with if you think otherwise.

I have few theories:

Microsoft is going into this emulation and there's no denying it. I suppose they're going this way for only one reason. Windows 10 mobile devices with continuum are targeting business customers. Saying that, being able to emulate already created application in the mobile device without being forced to create ARM version of it is very tempting and reduces unnecesary costs and TIME. And time is the most precious thing everywhere.

They can also do that, because they... can. Like they did with Ubuntu bash ;) - it's very crippled but it's working and still under development - and I really wish it would work well :)

Third option is that they are just trying out the technology they can create. They throw something at people and if it worked out they continue to develop it and if it didn't they just abandon it. They're doing it quite often with hardware and software. They release crippled no-much-time-wasted-on-details-design version and if people like it - then boom next one is way better. Feedback is very strong tool and MS is using it as their weapon. No other company is probably doing such a good work with ability to provide them neccessary information aka feedback.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
Feedback is very strong tool and MS is using it as their weapon. No other company is probably doing such a good work with ability to provide them neccessary information aka feedback.
Interesting point, and its for that reason I don't get too heavily weighed down with nitty gritty details and hand MS a solution on a platter, I have had experience with this on another Microsoft Forum where the system image backup function was broken following the update from 8.0 to 8.1, Myself and other forum members fixed the problem for others when MS did nothing about it. I just checked that forum post this morning and it has had 71 Thousand hits (yes 71 thousand).
I think feedback is valuable but I don't like to be forced to give feedback to benefit the company. This benefit does eventually come back to the end user but I refuse to waste my time unless I want to contribute something to MS. That being said for well over 1 year MS left the system image problem sitting festering and did nothing but offer very poor advice at the beginning then nothing at all when they realised the scale of the issue. Free feedback is a Masterstroke if you ask me but they wont be getting too much from me because they let me down on the Laptop and Desktop side. Between the feedback Hub and the forums I think they have all the ideas and fixes they need sitting there, and of course the employees ideas and knowledge.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
From ridiculous to reality, on mobile ARM Technology, Emulation in FULL swing.

Just to be clear. The only thing I ever said was ridiculous was trying to make predictions of emulation performance based on CPU core count. A particularly high core count might play a role (or it might not), but there will be other things in such an ARM CPU that will be far more important in terms of making this a usable experience. Without those things a 64 core CPU would be utterly unusable for such a task. There is more to it. We still don't know what that is.

Purely from a technical perspective, emulating x86 on ARM is still a somewhat senseless proposition. If all we want to do is run Win32 x86 desktop software on phablet sized devices, there are simply much better ways to achieve that functionality, like using a real x86 Core M CPU. For this feature to make sense we have to also take other things into account, like the roughly $200 price difference between ARM and x86 CPUs and possibly also the feature set of ARM SoCs which include a lot of mobile related tech that aren't similarly integrated into x86 based solutions (like Cellular Radios, SensorCore, Gyroscopes). MS might also be thinking something entirely different that we have yet to find out about. What exactly it is that makes x86 emulation on ARM a good idea is still somewhat up in the air.
They can also do that, because they... can. Like they did with Ubuntu bash

MS investing millions of dollars into enabling x86 emulation technology on ARM, just because they can, is something MS would never do. MS instantly kills anything that they don't think makes good business sense. Bash in Windows makes a huge difference for software devs. For some devs that can make the difference between being a viable OS or being useless. They didn't build that just because they could.

Saying that, being able to emulate already created application in the mobile device without being forced to create ARM version of it is very tempting and reduces unnecesary costs and TIME. And time is the most precious thing everywhere.

NET based applications already run on both x86 and ARM without the developer having to do anything. For lower level software it takes very little. Flick a switch, press a button, then wait... out comes ARM software rather than x86 software. That's actually the preferred approach for running Win32 desktop software on these ARM devices, even if they can emulate x86, and it takes almost no time at all.

Third option is that they are just trying out the technology they can create. They throw something at people and if it worked out they continue to develop it and if it didn't they just abandon it.

Possible. Not likely. MS is much more deliberate in what they do. They always have a lot of business oriented reasons for everything they do. If those are good reasons or whether they work is of course a different matter ;-)
 
Last edited:

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
Just to be clear. The only thing I ever said was ridiculous was trying to make predictions of emulation performance based on CPU core count.
Your name was not mentioned, the first page of the thread sums up EMULATION as ridiculous, its awfully big of you to assume you were being referred to directly.
:)
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
I have a hunch, I think the announcement of this is perfectly timed, look at the forums, the news, the tech news, the twitter feed, and all the hype this is bringing to MS, it can only mean interest and sales, ( I for one
am excited about the future of MS mobile).
This is a masterstroke in publicity manipulation and (I would not be surprised if they got the idea from this forum post--JOKING) will drum up interest and upheaval in the hardware industry where "they" try to plan their futures, like MS missed the boat in mobile (so to speak) others might miss the boat if they don't switch to ARM cpu's with Windows as the OS?
I feel if MS pull this off and it works we then have an industrial leader in mobile computing and cellular (always on) devices, who needs android when you can have a PC in your pocket. I personally feel MS is going to gain ground on android and IOS very quickly depending on how quickly they develop THEIR next mobile-phone/Device.
 
Last edited:

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
^ You are somewhat conflating two unrelated things:

  1. A pocketable mobile device with cellular support that can simultaneously run both UWP (on all screens) and x86 Win32 software (on large screens).
  2. The ability to emulate x86 on ARM
Those are two very different things that aren't necessarily related. They are only related due to the technical details of how MS approaches this issue.

x86 emulation is the topic of this thread, but none of the things you list and are excited about necessarily require the capability to emulate x86 ISA. MS might have announced a pocketable Intel Core M based device with a mobile/cellular chip and you'd be able to do all the same things you just mentioned. Admittedly though, at a higher price. As far as I can tell, that's the only unique "feature" enabled by emulating x86 on ARM. There may be more features (although that's a good enough feature by itself), but so far I'm not aware of what those may be. Whatever they are, MS believes they are good enough to make the emulation incurred cost to performance worthwhile.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
Giving a simple opinion, that was all, not a reason for a technical breakdown of this but or maybe? , it would not be the first time my opinion (post number 1 of this thread) went without some credibility. :)
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
^ You have a very fuzzy way of discussing technical issues. That makes it hard to have a real discussion. I'm trying to nudge you towards a clearer way of thinking about the issue. That's all.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
You are trying (like you have been from the beginning) to nudge my ideas off course then secondly invite me into an open debate on all things technical, thanks but no thanks, your information has been good and I thank you for your input but please don't try any further to get me into a war of words over the technicalities of this technology, I was wrong to think the entire operating system was going to be emulated, and you were wrong about the capabilities of current mobile ARM CPU's which you totally underestimated, (820 running windows and photoshop). :)
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
^ no, I wasn't wrong, you're just still incapable of grasping the point. I thought I could eventually get through to you, but apparently not ☹ I'll leave it at that.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
You should take some time to reflect, on Emulation, ARM CPU capabilities, and why we got into an online argument in the first place, I did my home work, you were relying on information you had (or thought you had) that was outdated and old fashioned.
EDIT> Welcome to the future.
 

Staff online

Members online

Forum statistics

Threads
323,252
Messages
2,243,526
Members
428,050
Latest member
lolz1234