Jump to content

Question

Posted

I have a Asus Vivo RT tablet that has a 'quad core' Tegra 3 Arm processor. When I do some simple multitasking like opening two webpages at the same time, it becomes almost unresponsive. What does a 'quad core' arm processor actually mean and how is it different from a x86 quad core?

Share this post


Link to post
Share on other sites

17 answers to this question

  • 0

Posted

One large, in general, difference is that ARM execution is simple, stupid, and in-order; where as, modern x86 is aggressive out-of-order execution. It cost energy and die space to have features like that so atoms until very recently were also in-order execution. Which is frankly, probably the largest reason why they ran like complete garbage compared to their i7 based counterparts. IIRC, it is only the newest atoms from this year that feature out-of-order execution in any form.

 

Another large different is the Instruction Set Architecture (ISA). Vaguely, these are the instructions that the processor executes. For example, additions or multiplications. ARM itself is largely considered to have a RISC architecture; where as, x86 is largely considered to have CISC architecture. RISC, stands for for reduced something something something architecture, and in general means that you have smaller instructions that do fewer things and that take very few cycles to execute. CISC stands for complex something something something architecture; and in general means you have more complex instructions that can do many different types of things. A side effect of this is that complex instructions can take more cycles.

 

For a quick example of this, consider the MOV instruction which is mnemonic instruction name meaning to copy data from one location to another:

 

In x86, you have a MOV instruction which can move data into registers to registers, from memory to memory, memory to registers, register to memory, or move a constant into a register (and probably move constants elsewhere, I don't remember off the top of my head). Moreover, there are even variations on the MOV instruction to do sign/zero extensions on top of just moving the data.

 

Whereas, in ARM, you have a MOV instruction that is designed to copy data into a register _only_ from another register or constant. If you wanted to copy data into or out of memory you would have to use completely separate load/store instructions. Moreover, it would in many cases take you multiple ARM instructions to do what a single x86 instruction can do. I'll give a small example of that also:

x86:
     mov $dst, $src

arm:
     ldr R2, $src
     str R2, $dst

Disclaimer: I didn't actually look up the syntax for any assemblies when writing this. This is just for demonstration purposes.

Now that isn't to inherently say that one architecture is better than another because saying that is just a needless argument. In reality, many of the things that a CISC architecture does translate into micro-operations that are quite similar to RISC instructions -- at least that is how x86 does it anyway. People who aren't really all that familiar with computer architecture tend to like to point out CISC and say it is bloated. Sure, in a sense it can be considered bloated because it carries a whole lot of baggage in terms of instructions and backward compatibility, but that doesn't make it slow or inefficient. It isn't as if with every iteration and addition to the architecture that Intel slows the rest of it down to a grinding halt... that is certainly not how architecture design works.

 

One final note is that I have heard very often that it takes a decade at least to create 'good' compiler capable of generating well optimized code for new architectures. The point of that is to say that it takes more than a good architecture to make fast execution. It takes good compiler support also.

 

See:

 

Final Disclaimer: something something something is tongue in cheek.

1 person likes this

Share this post


Link to post
Share on other sites
  • 0

Posted

It means it has 4 cores ;)

 

Your second question; compared to most x86 cpu's it is slower but more energy efficient

Share this post


Link to post
Share on other sites
  • 0

Posted

It's 4 arm cores instead of 4 x86 cores, thats the difference.

As for your browser being unresponsive, it's probably not coded for multi threading, so it doesn't use more than one core itself, or the cores on your device are just bad of you have applied a rom that doesn't work very well...

Share this post


Link to post
Share on other sites
  • 0

Posted

Arm is a different architecture than Intel though. There must be some technical differences

Share this post


Link to post
Share on other sites
  • 0

Posted

It's 4 arm cores instead of 4 x86 cores, thats the difference.

As for your browser being unresponsive, it's probably not coded for multi threading, so it doesn't use more than one core itself, or the cores on your device are just bad of you have applied a rom that doesn't work very well...


its a windows rt tab

Share this post


Link to post
Share on other sites
  • 0

Posted

Arm is a different architecture than Intel though. There must be some technical differences

Yes, it is an entirely different architecture. X86 started off as CISC (although technically it isn't anymore) while ARM has always been more of a RISC implementation. So of course there are technical differences. What's your point exactly? :D

Share this post


Link to post
Share on other sites
  • 0

Posted

The Tegra 3 is getting a little old at this point. I think we're just now getting to that point on phones where perceived performance for general use is getting close to maxed out (by that I mean everything and happens just about instantly), and that's with chips like the Snapdragon 800. Tablets still have a little further to go still. That Tegra 3 is just not strong enough, especially for RT. My 2012 Nexus 7 even looks a bit slow now and AOSP Android is a lot lighter.

 

ARM is all about power consumption, so they aren't as fast as x86 chips that use 90w or so. That would toast your phone or tablet battery. Here is a good link to list some of the actual technical differences: http://stackoverflow.com/questions/14794460/how-does-the-arm-architecture-differ-from-x86

Share this post


Link to post
Share on other sites
  • 0

Posted

Tegra 3 just sucks. Stay away from Tegra anyway, Nvidia is no good in the ARM cpu/gpu, go with Qualcom Snapdragon instead

Share this post


Link to post
Share on other sites
  • 0

Posted

Arm is a different architecture than Intel though. There must be some technical differences


Sure there are differences, but a 4 core CPU is a 4 core CPU, regardless of the architecture.

ARM is just really slow compared to x86 chips, the upside being that they have great power usage.

Share this post


Link to post
Share on other sites
  • 0

Posted

I thought the thread topic said "what does a quad arm processor actually look like"

 

goroclassic.png

5 people like this

Share this post


Link to post
Share on other sites
  • 0

Posted

I guess the bottom line is arm processers are no I7s

Share this post


Link to post
Share on other sites
  • 0

Posted

I have a Asus Vivo RT tablet that has a 'quad core' Tegra 3 Arm processor. When I do some simple multitasking like opening two webpages at the same time, it becomes almost unresponsive. What does a 'quad core' arm processor actually mean and how is it different from a x86 quad core?

Both have 4 cores, one uses the ARM instruction set and the other uses the x86 instruction set. There is little to deduce as far as performance is concerned simply from the instruction set used. Note that there's really no such thing AFAIK as an x86 quad-core, they're all 64-bit processors, i.e. x86-64 (a.k.a x64 a.k.a amd64).

Why your tablet sucks at multitasking does not derive from the instruction set it uses. At the rate at which mobile SoCs currently evolve, Tegra 3 is simply a little antiquated by today's standards.

Share this post


Link to post
Share on other sites
  • 0

Posted

I want to say I've read that a top of the line ARM chip (like the Apple A7, Snapdragon 800) are roughly low-end Core 2 Duos.

Share this post


Link to post
Share on other sites
  • 0

Posted

 

<snip>

Thanks for the great explanation! :)

Share this post


Link to post
Share on other sites
  • 0

Posted

Both have 4 cores, one uses the ARM instruction set and the other uses the x86 instruction set. There is little to deduce as far as performance is concerned simply from the instruction set used. Note that there's really no such thing AFAIK as an x86 quad-core, they're all 64-bit processors, i.e. x86-64 (a.k.a x64 a.k.a amd64).

Why your tablet sucks at multitasking does not derive from the instruction set it uses. At the rate at which mobile SoCs currently evolve, Tegra 3 is simply a little antiquated by today's standards.

 

I'm confused as to what you mean by "there's really no such thing as an x86 quad-core, they'll all 64-bit processors)"? x86-64 is a specification extension to the original x86 specification. It was designed (very cleverly) to be backwards compatible with the original x86 specification. Architecturally it is x86 at the end of the day; just with ISA additions. And what's more If AMD hadn't done it, we wouldn't be running x86 machines today and instead would be running IA-64 machines, emulating the original x86 ISA, and doing a poor and slow job at it to boot. 

 

As a corollary, I wonder how well Intel would be doing today if they had stuck with IA-64... I have a feeling they would be not positioned as the global leader they are today if it hadn't been for AMD's extensions.

Share this post


Link to post
Share on other sites
  • 0

Posted

Thanks for the great explanation! :)

 

No problem :-)

Share this post


Link to post
Share on other sites
  • 0

Posted

I'm confused as to what you mean by "there's really no such thing as an x86 quad-core, they'll all 64-bit processors)"? x86-64 is a specification extension to the original x86 specification. It was designed (very cleverly) to be backwards compatible with the original x86 specification. Architecturally it is x86 at the end of the day; just with ISA additions. And what's more If AMD hadn't done it, we wouldn't be running x86 machines today and instead would be running IA-64 machines, emulating the original x86 ISA, and doing a poor and slow job at it to boot. 

You're being more correct here; I was using x86 in the sense of 32-bit x86, as it often used (i.e. Windows x86 vs x64).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.