Welcome, Guest. Please login or register.

Author Topic: Hyper-Threading processor question  (Read 783 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline RojTopic starter

  • Sr. Member
  • ****
  • Join Date: Jun 2002
  • Posts: 361
    • Show only replies by Roj
    • http://amiga.org/modules/mylinks/visit.php?lid=247
Hyper-Threading processor question
« on: February 15, 2007, 05:08:29 AM »
I could be wrong about this. My knowledge of hardware is somewhat limited, especially modern stuff, but I just bought a hyper-threading processor for my PC, and after having read about the idea behind hyper-threading, I can't help but think that this innovation for PCs is something that Amigas have done for over 20 years.

Hyper-Threading, as I understand it, is the capability of busting large processes up into smaller pieces for the sake of efficiency so that less of the processor is left idle during task execution. One article I've read on the subject indicates that Intel was reluctant to evolve HT because it became clear that HT meant more to the apparent speed of a processor than did processor speed alone, and Intel was relucant to surrender the meaning behind the GHz rating of their processors. AMD has always argued that processor power meant much less to performance than other issues, one of them being HT technology.

So, am I right in believing that one of the things that keeps a 60MHz 68060 operating seemingly as fast, if not faster in some cases, than a 2GHz Pentium 4, or is there more to it than I've been able to pick up so far?
I sold my Amiga for a small fortune, but a part of my soul went with it.
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Hyper-Threading processor question
« Reply #1 on: February 15, 2007, 05:18:52 AM »
Quote
So, am I right in believing that one of the things that keeps a 60MHz 68060 operating seemingly as fast, if not faster in some cases, than a 2GHz Pentium 4

In no cases is 60MHz 68060 faster or even close to as fast as 2GHz P4, not even seemingly. What you're experiencing as "speed" is just the user interface. If you run Workbench on P4 it's even tons faster than on 060. It's all about software.

Quote
or is there more to it than I've been able to pick up so far?

There is more to this. Hyperthreading is just something that allows use of the CPU resources that would otherwise be wasted. 68060 doesn't have anything similar in it. See Wikipedia: Hyperthreading.
 

Offline RojTopic starter

  • Sr. Member
  • ****
  • Join Date: Jun 2002
  • Posts: 361
    • Show only replies by Roj
    • http://amiga.org/modules/mylinks/visit.php?lid=247
Re: Hyper-Threading processor question
« Reply #2 on: February 15, 2007, 05:48:37 AM »
Quote
There is more to this.


While the 68060 doesn't have the HT resources of modern CPUs, busting processes/tasks up into smaller units to run in parallel has been happening for some time, at least on a small scale. Several Amiga processes appear do it anyway. On the software side, that seems somewhat similar to what HT is trying to do, at least in part.

At any rate, it sounds to me like a hardware and software approach to a situation Amiga developers have used strictly software to address.
I sold my Amiga for a small fortune, but a part of my soul went with it.
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Hyper-Threading processor question
« Reply #3 on: February 15, 2007, 05:52:37 AM »
No. Amiga developers didn't do the same in software.

You're comparing apples and oranges here.
 

Offline LoadWB

  • Hero Member
  • *****
  • Join Date: Jul 2006
  • Posts: 2901
  • Country: 00
    • Show only replies by LoadWB
Re: Hyper-Threading processor question
« Reply #4 on: February 15, 2007, 06:31:13 AM »
Have to definitely agree with Piru here.  While the 68060 has a nice scalar pipeline, it really is nothing compared to a modern CPU.  Even caching schemes have evolved over the past decade to be much more efficient and prediction is more accurate (amazingly.)

What we as Amiga users experience is a light-weight operating environment on a well-designed processor.  You could make equal comparisons to PalmOS on an XScale CPU (case in point, Garnet on my LifeDrive, crashes aside, it's a real performer,) or Symbian on a good mobile phone.

But you simply cannot compare software performance to CPU performance.  While OS3.9 on a 50MHz 68060 may run seemingly as fast as Windows XP on a 1.2GHz P4 (stretching it, I know, but bear with me,) 68060-native Windows XP would run slower than GEOS 64.  (Makes me wonder how well PPC-native Windows NT ran.  Hey, anyone ever get NT4 PPC working on Amiga gear?)

If you REALLY want to learn about how this stuff works, pick up a good book on the MIPS processor sometime and get SPIM, the MIPS CPU emulator (PC and Unix versions are available, I don't know about other platforms.)  We used this CPU in a CS class (at least, we used the emulator.)  It is absolutely fascinating.  One of our assignments was to write a program which do not stall any of the CPU's pipelines -- a single stall meant a failing grade.  After this class I went back to some of my old 6502 code and rewrote it to be tighter.
 

Offline RojTopic starter

  • Sr. Member
  • ****
  • Join Date: Jun 2002
  • Posts: 361
    • Show only replies by Roj
    • http://amiga.org/modules/mylinks/visit.php?lid=247
Re: Hyper-Threading processor question
« Reply #5 on: February 15, 2007, 06:42:27 AM »
I was leaping to the conclusion that splitting processes into separate smaller units increased efficiency, and concluding that HT's benefits come from a similar, and admittedly more advanced method of task management.

I'm not trying to imply that an 060 = P4 by any means. The notion just occurred to me while watching Windows refresh the display in chunks after copying some fairly large files. Reading up on hyper-threading gave me the impression that the intent is to eliminate such glaringly obvious deficiencies in Windows' multitasking efforts.
I sold my Amiga for a small fortune, but a part of my soul went with it.
 

Offline Zac67

  • Hero Member
  • *****
  • Join Date: Nov 2004
  • Posts: 2890
    • Show only replies by Zac67
Re: Hyper-Threading processor question
« Reply #6 on: February 15, 2007, 07:32:03 AM »
Hyperthreading imho is a marketing gag for the most part.

Essentially it's a second scheduler that's able to use CPU units currently not in use, due to bad optimization, bad OS design or just bad luck. It does remove some overhead since less software scheduling has to be done, but that's near to nothing compared to the speed of modern CPUs.

BTW, only Intel Netburst CPUs use HT, in general it's called SMT (Simultaneous Multi Threading) - if it were such an improvement, it would be more widely used.

Netburst architecture has reached end of life, because it uses too much eletrical power (due to high clock rates). It was introduced when Intel had no match for AMD's Athlon.
 

Offline iamaboringperson

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 5744
    • Show only replies by iamaboringperson
Re: Hyper-Threading processor question
« Reply #7 on: February 15, 2007, 08:52:22 AM »
Quote

Roj wrote:
I could be wrong about this. My knowledge of hardware is somewhat limited, especially modern stuff, but I just bought a hyper-threading processor for my PC, and after having read about the idea behind hyper-threading, I can't help but think that this innovation for PCs is something that Amigas have done for over 20 years.

Hyper-Threading, as I understand it, is the capability of busting large processes up into smaller pieces for the sake of efficiency so that less of the processor is left idle during task execution. One article I've read on the subject indicates that Intel was reluctant to evolve HT because it became clear that HT meant more to the apparent speed of a processor than did processor speed alone, and Intel was relucant to surrender the meaning behind the GHz rating of their processors. AMD has always argued that processor power meant much less to performance than other issues, one of them being HT technology.

So, am I right in believing that one of the things that keeps a 60MHz 68060 operating seemingly as fast, if not faster in some cases, than a 2GHz Pentium 4, or is there more to it than I've been able to pick up so far?


Wow. You really need to read up on these things.

The Amiga had nothing like Hyperthreading. Not even in software (whatever that means).

When Windows appears to do things in chunks, that has nothing to do with Hyperthreading, either.
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show only replies by Karlos
Re: Hyper-Threading processor question
« Reply #8 on: February 15, 2007, 11:31:26 AM »
Quote

Piru wrote:
In no cases is 60MHz 68060 faster or even close to as fast as 2GHz P4, not even seemingly.


Not true!!11! It's just as fast at waiting for something to do... :lol:
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Hyper-Threading processor question
« Reply #9 on: February 15, 2007, 12:17:46 PM »
Hyper threading does not split a large program into smaller parts. That idea is simply known as threading, which is quite simple to implement on any multitasking operating system.

A simple (though perhaps pointless, it does give a good idea of whats going on) example on the Amiga would be to write a graphics converter program, where your program does little more than run a graphical user interface. When the user selects a file to convert, say an IFF to a Jpeg, the program starts another task passes it the graphics data and then lets that task do the number crunching. The main program is now free to allow the user to do something else. Once the converter task has finished it just has to signal the main program this fact and let the user decide what to do next.

In a normal (Amiga) CPU like the 68060, each task/program is given its turn to run (I believe, assuming both tasks are at the same priority, they would switch every 12th of a second (i.e. every 4 VBL)). This just means that each program runs a bit slower than if they were running on their own.

Modern CPUs have multiple execution units which can perform the same operations (actually sometimes, like in the 68060, there is a division of abilities, but this complicates matters)... like having two calculator on your desk, this allows the CPU to run two instructions (that do not depend upon the result of each other) at the same time. A decent compiler or a good human coder, will think carefully about the order of their program's instructions to allow the CPU to do this effectivly. This is known as optimisation.

Hyperthreading, is simply a special schedualer inside the CPU which makes the single CPU core look like 2 CPU cores. So that if there is a free execution unit, ie one that the CPU couldn't fill with the currently executing task (or if the currently executing task is wating for a memory operation to complete... these take forever in CPU terms), then another program will be given a chance to use that free resource, hense using time on the CPU which otherwise would be going to waste.

The problems are many. Firstly both tasks have to share the same infrastructure... Cache, buffers, memory bus etc... secondly it's rare for a good optimised program to leave much CPU resource free.. thirdly and most importantly it requires quite a bit of silicon space to implement... and only really offers a 5 to 10 percent performance gain.

It was only useful on the "brain-dead" NetBurst architecture, and is unlikely to return in the near future. Having 2 real cores on a single die offers much greater performance gains.

Offline zyphoid

  • Sr. Member
  • ****
  • Join Date: Aug 2006
  • Posts: 406
    • Show only replies by zyphoid
Re: Hyper-Threading processor question
« Reply #10 on: February 15, 2007, 02:35:20 PM »
bloodline, piru, and karlos have great facts but you all are missing the point!
A1200T Mid-Night 060@50mhz tv tuner,voodoo banshee,usb subway,mediator,Dual Multi partition 200Gig 2.5/3.5HD, Twin dual-layer lite-on dvd 52x dvd-rw, sx-32pro030@50mhz my favorite system what xbox came from til someone says otherwise,A500 Efika...
 

Offline GW

  • Newbie
  • *
  • Join Date: Feb 2003
  • Posts: 11
    • Show only replies by GW
Re: Hyper-Threading processor question
« Reply #11 on: February 15, 2007, 02:37:45 PM »
Quote

bloodline wrote:

It was only useful on the "brain-dead" NetBurst architecture, and is unlikely to return in the near future. Having 2 real cores on a single die offers much greater performance gains.


Only useful on a brain-dead architecture like Netburst? That must mean Power5 is a brain-dead architecture too..

http://www-03.ibm.com/servers/eserver/iseries/perfmgmt/pdf/SMT.pdf

Quote

The IBM® POWER4™ processor introduced two processors embedded in a single chip, sharing
a common L2 level cache to increase processing efficiency. The POWER5™ processor builds on
this topology with a significant enhancement called Simultaneous Multithreading (SMT), a
concept where multiple threads of execution can execute on the same processor at the same time.


 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Hyper-Threading processor question
« Reply #12 on: February 15, 2007, 02:46:57 PM »
Quote

GW wrote:
Quote

bloodline wrote:

It was only useful on the "brain-dead" NetBurst architecture, and is unlikely to return in the near future. Having 2 real cores on a single die offers much greater performance gains.


Only useful on a brain-dead architecture like Netburst? That must mean Power5 is a brain-dead architecture too..




The POWER5 is a server chip not a desktop chip. Server chips tend to have to handle lots of small simultanious tasks, rather than a couple of really heavy number crunchers...

The SPARC T1 is a good example of this idea taken to the limit