Jump to content



Photo

What does a Quad Core Arm processor actually mean?

Answered Go to the full post arm processor

  • Please log in to reply
17 replies to this topic

#1 Atomic Wanderer Chicken

Atomic Wanderer Chicken

    Assistant Special Agent Chicken in charge

  • Tech Issues Solved: 5
  • Joined: 20-August 12
  • Location: Black Mesa Research Facility, USA
  • OS: Windows 95 with Microsoft Plus
  • Phone: Motorola MicroTAC Elite

Posted 23 November 2013 - 21:59

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?



Best Answer +snaphat (Myles Landwehr) , 24 November 2013 - 01:33

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.

Go to the full post



#2 XerXis

XerXis

    Neowinian Senior

  • Tech Issues Solved: 2
  • Joined: 13-February 06
  • Location: Belgium

Posted 23 November 2013 - 22:20

It means it has 4 cores ;)

 

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



#3 HawkMan

HawkMan

    Neowinian Senior

  • Tech Issues Solved: 4
  • Joined: 31-August 04
  • Location: Norway
  • Phone: Noka Lumia 1020

Posted 23 November 2013 - 22:22

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...

#4 OP Atomic Wanderer Chicken

Atomic Wanderer Chicken

    Assistant Special Agent Chicken in charge

  • Tech Issues Solved: 5
  • Joined: 20-August 12
  • Location: Black Mesa Research Facility, USA
  • OS: Windows 95 with Microsoft Plus
  • Phone: Motorola MicroTAC Elite

Posted 23 November 2013 - 22:24

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



#5 vcfan

vcfan

    Straight Ballin'

  • Tech Issues Solved: 3
  • Joined: 12-June 11

Posted 23 November 2013 - 22:25

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

#6 XerXis

XerXis

    Neowinian Senior

  • Tech Issues Solved: 2
  • Joined: 13-February 06
  • Location: Belgium

Posted 23 November 2013 - 22:33

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



#7 AJerman

AJerman

    Boomer Sooner!

  • Joined: 24-July 02
  • Location: Raleigh, NC
  • OS: Windows 8.1
  • Phone: Nexus 5

Posted 23 November 2013 - 22:34

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...differ-from-x86



#8 2xSilverKnight

2xSilverKnight

    Neowinian Master

  • Joined: 07-August 01

Posted 23 November 2013 - 22:40

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



#9 The_Decryptor

The_Decryptor

    STEAL THE DECLARATION OF INDEPENDENCE

  • Tech Issues Solved: 5
  • Joined: 28-September 02
  • Location: Sol System
  • OS: iSymbian 9.2 SP24.8 Mars Bar

Posted 23 November 2013 - 23:36

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.

#10 Enron

Enron

    Windows for Workgroups

  • Tech Issues Solved: 1
  • Joined: 30-May 11
  • OS: Windows 8.1 U1
  • Phone: Nokia Lumia 900

Posted 24 November 2013 - 00:02

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

 

goroclassic.png



#11 OP Atomic Wanderer Chicken

Atomic Wanderer Chicken

    Assistant Special Agent Chicken in charge

  • Tech Issues Solved: 5
  • Joined: 20-August 12
  • Location: Black Mesa Research Facility, USA
  • OS: Windows 95 with Microsoft Plus
  • Phone: Motorola MicroTAC Elite

Posted 24 November 2013 - 00:22

I guess the bottom line is arm processers are no I7s



#12 Andre S.

Andre S.

    Asik

  • Tech Issues Solved: 14
  • Joined: 26-October 05

Posted 24 November 2013 - 00:24

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.



#13 AeonicVision

AeonicVision

    Neowinian

  • Joined: 24-December 08
  • Location: Austin, Texas
  • OS: Windows 8.1, OS X 10.10.1
  • Phone: iOS 8.1.1

Posted 24 November 2013 - 00:31

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.



#14 +snaphat (Myles Landwehr)

snaphat (Myles Landwehr)

    Electrical & Computer Engineer

  • Tech Issues Solved: 29
  • Joined: 23-August 05
  • OS: Win/Lin/Bsd/Osx
  • Phone: dumb phone

Posted 24 November 2013 - 01:33   Best Answer

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.



#15 OP Atomic Wanderer Chicken

Atomic Wanderer Chicken

    Assistant Special Agent Chicken in charge

  • Tech Issues Solved: 5
  • Joined: 20-August 12
  • Location: Black Mesa Research Facility, USA
  • OS: Windows 95 with Microsoft Plus
  • Phone: Motorola MicroTAC Elite

Posted 24 November 2013 - 01:37

 

<snip>

Thanks for the great explanation! :)