NVIDIA Tegra 3 still not fully compatible with Windows RT

Here’s a non Windows Phone 8 related piece of news I came across a few days ago when looking around for real performance benchmarks and impression on the Microsoft Surface RT. As most of you have heard the Surface suffered/suffers from some performance issues according to most of the early rushed out reviews posted on the web. My own impression based on real users feedback/experience posted on forums and especially YouTube videos seems to indicate the opposite. Not really surprising to say the least but given that I have never touched a Surface in my life I can’t really judge one way or another. Anyway, I surprisingly found out that NVIDIA’s Tegra 3 SoC which powers the Surface and Asus Vivo Tab apparently doesn’t fully support Windows RT yet according to the company’s own product page. For those of you who aren’t aware; the Tegra 3 SoC packs 4 CortexA9 cores plus a 5th ARM core meant to take over all the low-power tasks like video,music, active standby. Turn’s out that the 5th core simply isn’t recognized by Windows RT yet and that one of the 4 CortexA9 cores is probably being tasked with all the low power workload.

Support for the 5th CPU will most probably have to come from Microsoft as I’m guessing that this must be implemented at the core level. But what’s rather alarming is that this hasn’t been done yet knowing that Tegra 3 has been out for a while now and the Windows RT hasn’t been developed overnight. You will also notice that the CPUs are clocked lower on Windows RT than on Android probably because of the lack of 5th so that the RT tablets can manage similar battery life as their green robot counterparts (that’s only my guess though). It would be interesting to see if and when this 5th core support will arrive and how this would affect the tablets battery life and/or performance (if the clocks are upped).

If you are still doubting the Surface multi-tasking ability just check out the video embedded after the break (fun starts around the 3mins mark):


  • realsgy

    I thought the 5th core was supposed to be transparent to the OS kernel, so there is no way to support / not support it.

  • http://www.mobiletechworld.com MobileTechWorld

    That’s exactly how it’s described on NVIDIA’s website (see screenshot above) but it also clearly mentions that “Windows RT support is still under development” which is obviously contradictory..

  • Will Tisdale

    It is and it isn’t.

    In linux the low power CPU is seen as CPU0, the same as the first general CPU (CPU0) and is only activated when CPU 1, 2 and 3 are hotplugged offline and after some registers are set to shift processing from CPU0 (G) to CPU0 (LP).

    So whilst it is transparent, some work is needed by the OS to switch to it, even though the OS can’t tell the difference between CPU0 (G) and CPU0 (LP).

    I don’t think the Windows kernel implements load based CPU hotplugging yet, so this is likely why they aren’t using it. If you look at the task manager when running a light load, you will see that it rarely stops using the secondary cores, which suggests that they are still online.

    I imagine the 1.3 GHz restriction exists due to TDP and heat due to 4 cores continually being online. Once hotplugging is working as it does on linux, this restriction could be lifted.

    The max CPU speed is set by software at boot time, it isn’t hardcoded, so it could all be fixed in software.

    The Tegra3 is a very interesting architecture to hack on. It’s a pity that nvidia is so tight with it’s technical manuals.

  • Harikrish18

    I cant see the video link.

  • Dente

    There are additinal issues with Windows RT. First and formost, the ARM-compiler on Windows is basically Version 1.0. Even Microsoft acknowledges this fact that the x86 compiler does much more optimizations. This will be “fixed” in newer releases of WinRT and when apps are recompiled. Secondly, the whole Metro UI is rendered in DirectX. Tegra 3 support for DX is limited to feature level 9.1 (every WP8 supports 9.3 and 11.1 is actually what Windows 8 is made for…) which has only 64K instructions and much lower texture sizes. Combined with the bandwidth limitations, this is also why we don’t see Surface with 1080p screens. An even bigger concern is that because feature level 9_1 does not support HW accellerated Direct2D (Used for UI rendering/ IE website rendering), the system will fallback to WARP (CPU emulation -> bad). Third: Most apps that suffer from bad performance are HTML applications. Sadly, many core applications like Mail, People, Calendar are just html which is obviously less efficient than something that is compiled to native core with a lot of optimizaitons.

  • http://www.mobiletechworld.com MobileTechWorld

    Fixed..sorry

  • MikelDunn

    Sry. but what’s so impressive about the so called ‘multi-tasking ability’ of Surface? Are you going nuts? Any of the android quad core devices is able to ‘switch’ between apps. Hell i have a Surface and it is darn lame and slow. If you go ‘indeep’ recognize, that it is exactly the way Dente already stated. Till know the compiler is still suboptimal. Having some apps ‘parallel’ really working, results in a full workload for the Tegra 3, all 4 cores (with the fitfh ‘companion core’) are going 100%. But that’s also due to the fact, that the Tegra 3 isn’t the newest chipset as well…

  • Will Tisdale

    It is transparent, but the kernel still needs to set some registers in order to switch from G to LP. Firstly, it needs to offline all the secondary cores then set the registers and the hardware does the rest.
    So the kernel is involved in the control of the LP core, however it is transparent in that the kernel only sees 4 cores at any one time which are CPU0, 1, 2, 3 of which CPU0 can be the G or LP core.