Can't Believe Handheld Today Is Faster Than My First Computer.


rsuryase

Member
Joined
Dec 29, 2006
Messages
376
My first Windows computer was a Pentium 133 Packard Bell. Handhelds surpasses this speed years ago. Does this mean in 10 years, a portable device will be faster than my quad core 2.4 GHz? Cool. :D
 
Things are getting cheap enough to where the open-platform doesn't really matter any more - anyone with a decent idea for software can just box up their apps in a closed-off turnkey system that does only the job needed, and nothing else.
 
D.C. said:
Care to elaborate? :p

Okay.

That saying was made in reference this article: http://www.gotw.ca/publications/concurrency-ddj.htm Which talks about the asymptotic gains seen from single-thread performance scaling. Basically, in desktop CPUs frequency scaling slowed down a lot and it has been difficult to extract significantly more performance per cycle by improving instruction level parallelism and decreasing architectural stalls.

Mobile CPUs have basically followed a development path that's like desktop CPUs but behind several years. So right now we're seeing a huge increase in clock speed that's similar to what we saw throughout the 90s and early 2000s on the desktops. The thing is, unless some very fundamental changes happen, mobile CPUs will continue to have a thermal envelope that's a couple orders of magnitude below what a desktop CPU can consume. So desktops (and especially workstations and what have you) have a big thermal envelope that you can keep throwing cores at as you get smaller process nodes, that can be used to extract performance when you've hit single-thread limits. But you'll probably never have that thermal budget on mobiles, and you probably won't have the power budget any time soon barring some massive breakthrough in energy storage.

Process size improvement does lower power consumption, so you might get the four core part pretty soon. But to be > 2.4GHz quad-core.. well I don't know what your CPU type is but even if it's a Phenom II I imagine that you'd need at least a 3GHz Cortex-A15 to reach parity and I'm not totally convinced you'll hit this in a low power process within 5 years, especially if node scaling starts slowing down. Not saying it won't happen, just saying it's hardly a sure thing.
 
Last edited by a moderator:
Well, Moore's law has held up quite well. I now that everyone hates Moore's law but it has basically held up for 40 years or so. It deals with the number of transistors, but that can translate to speed pretty easily.

My first PC was a 486, my parents got me that Acer POS when Pentium was pretty much replacing the 486 processor. Oh well, it was nice back in the day, even though 28.8 modems were common and I had a 14.4, and a month or so after I got my computer 56k was standard with my ISP. So yeah, the Pandora is way faster than my first PC. Heck, my cheap cell phone is tons faster than my first PC.
 
Moore's law won't continue forever, that much is a physical reality. The more pressing issue is that the assumption that speed will continue to scale with transistor's won't necessarily keep holding up, you're quite liable to hit other limits first:

- Frequency scaling limits, which have already ramped down improvements for a long time
- Thermal envelope, as each node bump doesn't give a linear improvement in perf/W, especially with leakage current becoming more dominant.. desktop parts have basically been thermally limited for a while too, while mobiles are limited by thermal and batteries
- Amdahl's law, which limits the amount of useful work you get back from adding cores under any useful algorithms (or eventually under anything)

Of course that's all fine so long as people's expectations increase sub-linearly too ;p People are amped enough by improvement at all and don't necessarily need it at some kind of constant rate.
 
2a0j1hk.jpg
 
So why can't the x86 architecture compete with ARM in the mobile sector on perf/watt basis? Is it mainly due to architectural differences (e.g. x86's legacy)?
 
D.C. said:
So why can't the x86 architecture compete with ARM in the mobile sector on perf/watt basis? Is it mainly due to architectural differences (e.g. x86's legacy)?

They're actually not extremely far apart right now. It looks worse than it is because most Atoms are on more clock optimized processes and most high-end ARMs are on power optimized ones. Both actually have numbers for both sorts of paths.

The best number we have for power-optimized Atom is Z500 @ 800MHz having a TDP of 0.65W. There are numbers for Lincroft (Z600) but they're higher because that chip includes a GPU. 0.65W for 800MHz is 0.8125 mW/MHz at 45nm. ARM claims something likw 0.31mW/MHz/core for Cortex-A9 at 800MHz on 40nm process. But afaik that's without L2 cache. You also get 0.5/mW/MHz for both cores, so there are definite savings with going dual core even at full power.

It's difficult to say how much of the difference is due to x86, how much is due to more experiencing with low power for ARM, and how much is just inaccurate or misleading.

The biggest disadvantage the instruction set itself imposes is that the instruction encoding space is really complex and even finding the length of an instruction is a decent amount of work. So a lot of burden is placed on fetch and decode which translates into more power consumed to keep up. I've seen some people insist that this doesn't actually add up to much once you hit superscalar and especially OoOE designs. I don't know if I completely believe this. As issue width increases this cost scales up, where others don't necessarily as much (a lot of multi-issue is leveraging execution units you already had). And even if you don't use that much power you still pay in pipeline stages, which makes branch mispredicts more costly and more energy wasting. There are mitigating technologies that can diminish this, like if future low-power Intel CPUs start employing uop caches like in the upcoming Sandy Bridge.

The instruction set itself has a few performance disadvantages (compared to ARM) as well. Low-power Atoms are held back by not running x86-64 code and therefore being more limited in register count. Two address operations increase register pressure and make it harder to schedule operations in an in-order processor. Same with inability to prevent flag setting for ALU operations. Predicated operations on ARM reduce expense of branches over small sections, especially difficult to predict ones. Cortex-A9 being out of order and having a lower pipeline length helps a lot too, of course.

Atom has some advantages too. It can perform read/modify/write operations to memory in a single cycle. It can do 2x 128-bit simple integer SIMD instructions per cycle (Cortex-A8 and A9 can do one). Hyper-threading can help a lot, but is supplanted by the fact that we'll actually see dual core Cortex-A9s in mobile devices where we probably won't see dual core Atoms any time soon.

In theory Cortex-A8 is supposed to have much better L2 cache latency, but in practice it looks like Atom has better (at least vs OMAP3530) and Cortex-A9's is only worse.
 
Last edited by a moderator:
Well, my first pc was............67 times slower than my actual handheld: 8mhz vs. 533mhz. And it was just 18 years ago........
.........god, i feel old.
 
My handheld today can EMULATE my first computer (Amstrad CPC). Very cool. It's pretty funny how hi-tech all those consoles seemed to be back in the day.
 
My first computer was a Vic-20, a blazing 1.02Mhz and I knew how to use them all.
 
1983:
Timex Sinclair 1000
Zilog Z80A @ 3.25 MHz

2010:
Pandora
ARM® Cortex™-A8 600Mhz+
 
My second computer could emulate the first (C64/Amiga)
Took a while longer for the third (PSX) to be emulated

Now there's cycles to spare all over and software engineers have become lazy and artists have taken centre stage ;)
 
When I got my first computer, I remember that I couldn't play Duke Nukem 3d. I had a 286. Then I got a 386 and saw the game running for the first time and was blown away by the graphics. I remember my dad buying a 40mb harddrive for the computer and the clerk telling him he should rather save the money and buy 20mb because when in his life would he need 40? lol... and now everyone has 16gb micro sd cards that will fit under a fingernail.
 
xnopasaranx said:
When I got my first computer, I remember that I couldn't play Duke Nukem 3d. I had a 286. Then I got a 386 and saw the game running for the first time and was blown away by the graphics. I remember my dad buying a 40mb harddrive for the computer and the clerk telling him he should rather save the money and buy 20mb because when in his life would he need 40? lol... and now everyone has 16gb micro sd cards that will fit under a fingernail.
Hahahahahaha! 40mb....
 
Last edited by a moderator:
Back
Top