flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > Heap > Win10 on Snapdragon supports x86-32 emulation out of the box

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
Furs



Joined: 04 Mar 2016
Posts: 567

YONG wrote:
My question has always been about the reason behind the lack of support of x64 emulation.

That wasn't what was wrong about it, but the fact you were thinking about why the CPU did not have it (which is wrong, since the entire topic is about the OS/Win10 aka software's emulation, not the CPU).

And my (first) post was answering your question directly. And no, it was only you who brought up performance. "Waste" is a word used in efficiency (it makes no sense for performance; how can you "waste" performance?).

I mean, it's obviously a reason from my opinion -- you didn't ask it to official Microsoft, so what do you expect? It's a fact that the demo'd device has only 4 GB of RAM, so what do you need x64 application emulation for? (with all its possible downsides I outlined -- such as slower or less efficient, pick one, depending on implementation -- if it's "just as" fast as 32-bit for apps that work fine in 32-bit, it means it's less efficient). There's your possible reason. Future marketing is another (to have a card to play in the future, if this picks up; it's not wise to play all your cards at once from a marketing viewpoint). All of this was noted in my post.

It is not physically possible for redundant calculations (64-bit pointers when the app doesn't even need 32 bits of addressing space) to not be less efficient. This isn't even computer science, it's physics.

Doing 100 calculations in parallel versus one at a time cannot be more efficient, ever, by the laws of physics (assuming all else equal, like fabrication and technology process, frequency etc, not an old CPU vs a new). In fact it may be less efficient due to synchronizations, even if it's just as fast (because done in parallel). If you discard 99 of the calculations, those are a waste of power.

That said, efficiency is clearly not their only main goal. If it was, nobody would be using that piece of shit Java since it's not even native to any device in the first place.
Post 23 Jun 2017, 14:02
View user's profile Send private message Reply with quote
YONG



Joined: 16 Mar 2005
Posts: 7652
Location: 22° 15' N | 114° 10' E

Furs wrote:
... since the entire topic is about the OS/Win10 aka software's emulation, not the CPU

Really? Rolling Eyes

If it is purely software emulation, how come M$ needed to collaborate with the manufacturer of the new processors to do so?

Are you sure that there are no newly-created instructions on the CPU side to facilitate the software emulation?

Wink
Post 24 Jun 2017, 05:05
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 14929
Location: 6EQUJ5

YONG wrote:

Furs wrote:
... since the entire topic is about the OS/Win10 aka software's emulation, not the CPU

Really? Rolling Eyes

If it is purely software emulation, how come M$ needed to collaborate with the manufacturer of the new processors to do so?

Are you sure that there are no newly-created instructions on the CPU side to facilitate the software emulation?

I doubt that one can consider adding instructions to facilitate emulation as being hardware emulation. For example, they could have added a parity flag to assist in emulation of jpe and jpo but that in no way makes it hardware x86 emulation. It would still be the software decoding the binary input and recoding to match the hosts instruction set. So Furs is correct here, there is no hardware emulation taking place, as that would require a new CPU mode; not just a few new instructions, but an entirely new execution & decoding model.
Post 24 Jun 2017, 05:11
View user's profile Send private message Visit poster's website Reply with quote
YONG



Joined: 16 Mar 2005
Posts: 7652
Location: 22° 15' N | 114° 10' E

revolution wrote:
So Furs is correct here, there is no hardware emulation taking place, as that would require a new CPU mode ...

At times, even an "expert" could be wrong.

Quote:
The PC runs a 64-bit version of the OS, supports touch and Windows Ink features, and also can run Win32 applications via hardware-level emulation.

Refer to:

ARM PCs with Windows 10 get a new start with Qualcomm Snapdragon 835
http://www.pcworld.com/article/3154417/computers/arm-pcs-with-windows-10-get-a-new-start-with-qualcomm-snapdragon-835.html

Let's put this thread on hold and wait for the release of the detailed info of the new processor. We will see if there are actually some hardware-level emulation taking place.

Wink
Post 24 Jun 2017, 06:27
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 14929
Location: 6EQUJ5
I never trust marketing-speak. But I would be delighted to learn that there is some real x86 specific hardware in there. Some kind of decoder and micro-op ROM or something. Perhaps with fault handling for stuff like AF and PF flags, DAA, partial register access and whatnot. It wouldn't be fast of course, but then ARM has never been about the performance anyway, they've always been about efficiency.

ARM did this in the past for Java with the Jazelle thing. But it was a failure as evidenced by them completely abandoning it some years ago.

Another failure of hardware emulation was the Itanium with its x86 emulation mode that ran at a snails pace and nobody liked it. It turned out to be faster to emulate in software!

Anyhow, perhaps they have really made it good. That would be nice. Smile


Last edited by revolution on 24 Jun 2017, 16:20; edited 1 time in total
Post 24 Jun 2017, 07:41
View user's profile Send private message Visit poster's website Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 567

YONG wrote:
Really? Rolling Eyes

If it is purely software emulation, how come M$ needed to collaborate with the manufacturer of the new processors to do so?

Are you sure that there are no newly-created instructions on the CPU side to facilitate the software emulation?

Wink

That's still classifies as software though. I mean, would you say that utilizing new vector instructions on x86 makes it hardware? Even if the instructions were developed for a particular purpose initially? I mean, most instructions are developed based on a specific need initially, but that doesn't mean that's their only use forever.

As for hardware-level emulation, maybe for non-techies the OS means "hardware-level" -- otherwise, this is huge news. Not because of the hardware emulation itself, which is nothing special, but due to licensing issues. I doubt Intel licensed x86 to ARM for emulation, but if they did, that's huge news. It means either Intel has some plans here (to make x86 more ubiquitous? I don't know, maybe they want to turn it like "Java"), or the licensing restrictions are off. I'm not good at law stuff so whatever. Wink

And yes, software is exempt from prosecution here, AFAIK.

If it was indeed licensed, I hope it's Intel's master plan to replace Java with x86. Razz

"Want to develop an app that works on all devices? Code in x86. Needs no bloated installer on desktops either and runs natively at least there. Java doesn't run natively anywhere."
Post 24 Jun 2017, 12:47
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 14929
Location: 6EQUJ5

Furs wrote:
"Want to develop an app that works on all devices? Code in x86. Needs no bloated installer on desktops either and runs natively at least there. Java doesn't run natively anywhere."

I think ARM would be a better choice. x86 can emulate ARM. So then the native ARM code on the native ARM device can keep the low power usage and not drain the battery excessively.
Post 24 Jun 2017, 15:38
View user's profile Send private message Visit poster's website Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 567
But ARM has been emulated for ages, no? Clearly, not the other way around, and x86 is preferred for many reasons (performance on the desktop, for one). Of course, emulated version isn't about performance, either way (emulated ARM, or emulated x86) so there it doesn't matter that much. So coding for x86 means you get performance where it matters.

I don't know why phones even use Java anyway? Is ARM backwards incompatible or something to code natively?
Post 24 Jun 2017, 16:41
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 14929
Location: 6EQUJ5
If you are programming for performance then use x86/x64; but then it makes no sense to emulate on ARM, you'll get the worst of both measures, poor performance and poor efficiency.

If, instead, you are programming for a more normal app that most people use today then CPU performance isn't an issue (it is usually network stuff that causes delays), then ARM would be a good choice, both natively for efficiency and emulated for portability.

Phones use Java because the makers are so anal about keeping control of everything. Writing a native app is not possible without having it blessed by Apple or Google from the "store". And jail breaking phones is not for the average user.
Post 24 Jun 2017, 16:53
View user's profile Send private message Visit poster's website Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 567

revolution wrote:
If you are programming for performance then use x86/x64; but then it makes no sense to emulate on ARM, you'll get the worst of both measures, poor performance and poor efficiency.

Can't be much worse than Java. Most people using such apps on ARM are already "casual" users of the app. That's the point.

For example, image editing programs are a good example. On the desktop/workstation, performance is very important for those whose job revolves around editing images and photography and such. For a casual user, applying a few effects, who cares if it's slower or inefficient?

Ultimately ARM is for casual use anyway. I know some fanboys will disagree but eh Razz

On the other hand if you code it in ARM its performance will be bad for hardcore users of the app or professionals. (mainly because ARM is for low power stuff, not performance or workstations) The thing is, most casual users don't care that much, but coding for ARM gives professionals no alternative on their workstations.

Obviously there's many other forms of CPU-heavy applications out there, including compression and stuff. It's nice to be able to decompress them on ARM, but do the heavy compression (or huge amount of decompression) on the desktop. etc. It makes you know the decompression is available "universally" with one binary, while not sacrificing performance when you need it.
Post 25 Jun 2017, 12:09
View user's profile Send private message Reply with quote
YONG



Joined: 16 Mar 2005
Posts: 7652
Location: 22° 15' N | 114° 10' E

Furs wrote:
Ultimately ARM is for casual use anyway. I know some fanboys will disagree but eh Razz

That may no longer be the case for the latest ARM chips. Refer to the following test results:

Snapdragon 835 Benchmarks Revealed: All you need to know about the new chip
http://www.trustedreviews.com/news/snapdragon-835-phones-processor-specs-speed-benchmark-chipset-cores

Antutu score: 181833


Intel i7 (on Remix OS)
https://www.youtube.com/watch?v=dnp0AqzMCyk

Antutu score: 237519


Note that I am not a fan boy.

Wink
Post 26 Jun 2017, 03:27
View user's profile Send private message Visit poster's website Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 567
I wonder how much that CPU cost and what is its "class" so to speak? I mean, i7 isn't even the highest end class from Intel (they will even release i9 and even that falls behind Xeons for workstations/servers).

I'm actually curious now, but I've not much experience with shopping for ARM and stuff cause never cared. (to see how little I care: my smartphone came "for free" with the subscription and it's pretty low end so I really don't care of these devices at all)
Post 27 Jun 2017, 11:28
View user's profile Send private message Reply with quote
YONG



Joined: 16 Mar 2005
Posts: 7652
Location: 22° 15' N | 114° 10' E

Furs wrote:
I wonder how much that CPU cost and what is its "class" so to speak?

I don't know or care. The point is that more and more laptops are starting to utilize ARM clips because their performances are at least on a par with similarly-priced Intel counterparts. The following Chromebook is a good example:

Acer Chromebook R 13 Review
https://www.youtube.com/watch?v=4uAGjsgJacQ&t=5m47s

Wink
Post 28 Jun 2017, 06:15
View user's profile Send private message Visit poster's website Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 6659
Location: ˛                              ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣ Posts: 6699
acer chromebook r 13,
cool, i wish santa allow this device to sell in malaysia market, i think it is great!

i not really need high and fast processing power, i love 16 to 32 gb memory, a tiny sized ssd is more than enough, i rarely store thing on device, a full hd screen is always something i look forward,

everything will utilize arm probably sooner than we expect, everything, ..... Embarassed
Post 28 Jun 2017, 06:58
View user's profile Send private message Reply with quote
YONG



Joined: 16 Mar 2005
Posts: 7652
Location: 22° 15' N | 114° 10' E

sleepsleep wrote:
i love 16 to 32 gb memory

Well, it has 4GB of RAM (and a 32GB SSD).

Wink
Post 28 Jun 2017, 07:13
View user's profile Send private message Visit poster's website Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 567

YONG wrote:
I don't know or care. The point is that more and more laptops are starting to utilize ARM clips because their performances are at least on a par with similarly-priced Intel counterparts.

I was talking about workstations/high-end desktops not laptops... Laptops will never compare to that performance due to different design goals.
Post 28 Jun 2017, 10:45
View user's profile Send private message Reply with quote
YONG



Joined: 16 Mar 2005
Posts: 7652
Location: 22° 15' N | 114° 10' E

Furs wrote:
I was talking about workstations/high-end desktops ...

Then you should consider the latest processors from AMD, for example, Ryzen 7 1700 8-Core 3.0GHz (3.7GHz Turbo).

They are truly inexpensive: processor plus mobo for less than $400.

Wink
Post 28 Jun 2017, 12:35
View user's profile Send private message Visit poster's website Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 567
Ryzen is definitely interesting, and honestly about freaking time AMD stepped up their game.

It's not that I hate Intel but I really hate the fact they make ECC memory support such a niche thing, when AMD support it in every single x86 processor they make. That's a plus from me for AMD, but I really dislike how their CPUs used to be so garbage or massive heaters. I hope they keep this direction at least.
Post 28 Jun 2017, 13:54
View user's profile Send private message Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 567
Hmm looks like they actually did threaten Microsoft:

https://www.extremetech.com/computing/250776-intel-quietly-threatens-microsoft-qualcomm-x86-emulation

I'm guessing only SSE2+ applies here (especially AVX), as older instructions are designed more than 20 years ago and patent for those probably expired by now. (I'm guessing e.g. the x87 is safe to emulate, but not sure about SSE scalars)
Post 08 Jul 2017, 11:41
View user's profile Send private message Reply with quote
YONG



Joined: 16 Mar 2005
Posts: 7652
Location: 22° 15' N | 114° 10' E

Furs wrote:

Interesting article. I am eager to see (cheap) laptops equipped with the new processor hitting the market.

Wink
Post 08 Jul 2017, 12:57
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2016, Tomasz Grysztar.