4 ms·
why does arm64 need virtualization on apple silicon? Isn't M1 chip referenced on the Arm architecture?
by boromi 6y ago
why does arm64 need virtualization on apple silicon? Isn't M1 chip referenced on the Arm architecture?
- krackers 6y agoIt's virtualization, not emulation. It is indeed native arm, which is why virtualization suffices. To run x64 windows you would need to emulate. The virtualization is needed because you are running the guest OS on top of the host OS. The same situation as if you were running x64 windows on an intel mac (e.g. via Virtualbox, vmware, or Parallels): in both cases you need kernel-level support in the host OS so that it can act as a hypervisor, and hardware support from the processor (in Intel it's done via vt-x) to support things like nested paging, ring -1, etc.
- cordite 6y agoIs Microsoft planning on arm emulation of x64 as well? Seems like a very interesting future if they are.
- tambourine_man 6y agoThey already do: https://www.theverge.com/2020/9/30/21495510/microsoft-windows-on-arm-x64-app-emulation https://www.theverge.com/2020/9/30/21495510/microsoft-window...
- rowanG077 6y agoThey have been doing for more then a year.
- ineedasername 6y agoMy knowledge may be out of date here, but I seem to recall that with a quality hypervisor (ESXi and even VMware workstation running on a host OS) you can see performance around 90-95% of bare metal. Of course a type 2 hypervisor will depend on what the host OS is doing, but if it's working at a 50% load then the guest OS should perform almost as though it had 50% available. (Yes, lots of variables will factor in here) Not sure if we'll get there on an M1 without a heck of a lot more work, but it's early days and things show lots of promise. What I really want though is not to have to own Apple hardware for this. The M1 shows such promise that it would be crazy for this sort of chip not to be pursued as the next level of commodity chips.
- Tagbert 6y agoA significant reason for the high performance of Mac OS on M1 is that the M1 has been tweaked to optimize common Mac OS/ObjectiveC/Swift operations. In one interview, Apple engineers said that they worked on speeding up the operation to allocate and deallocate objects by 5x over Intel chips. That kind of operation is common and used in loops and in the reference count garbage collection used by those languages. By doing this kind of optimization they can tune the SOC to the OS. That is hard to do for commodity chips.
- fomine3 6y agoCould you point the interview?
- CyanLite4 6y agohttps://twitter.com/Catfish_Man/status/1326238434235568128?s=20 https://twitter.com/Catfish_Man/status/1326238434235568128?s...
- ineedasername 6y agoGiven Windows on the consumer side & linux on the server side, is there any reason, (assuming difference chip design paths for server vs consumer) that similar optimizations couldn't become fairly standard on commodity chips? I'd think MS especially would be willing to have some tight partnerships with chip devs to do so.
- CyanLite4 6y agoI presume a lot of the perf gains of hypervisors are using Intel vt-x to hardware accelerate. The other issue with ARM is that there are several dozen chip varieties whereas x86 only has Intel and AMD. This could hopefully accelerate mini-CPU companies springing up with their own ARM64 chips producing their own hardware running Windows ARM64. Google is rumored to be designing their own CPUs for future high-powered Chromebooks and Pixel phones. Qualcomm has an ARM64 chip powering the Microsoft Surface ProX but it’s nowhere near the performance levels of M1. Microsoft is starting to experiment with CPUs with the Pluton chip, maybe they will design an “M1” flagship chip going forward for their own Surface product line.