It is currently Sat Apr 19, 2014 1:18 am

All times are UTC - 8 hours




Post new topic Reply to topic  [ 12 posts ] 
Author Message
 Post subject: Dual-core Athlon64 and HyperThreading (???)
PostPosted: Fri Apr 15, 2005 2:38 am 
Offline

Joined: Thu Dec 02, 2004 2:27 am
Posts: 774
Location: Quebec, Canada
I found this on x86-secret.com:

Quote:
By attentively studying the behavior of a Dual Core Athlon 64, we realized that a very interesting characteristic of the upcoming Desktop Dual Core chip from AMD was hidden. In fact, if the K8 architecture cannot support the Intel's HyperThreading (HT) technology, it seems that the CPUID registers of the processor are not of this opinion. If we carefully study the response to instruction CPUID with EAX = 1, we obtain the following values:

Athlon 64 Simple Core - CPUID (EAX = 1)
Hex (EDX) : 0x078bfbff
Bin (EDX) : 0b00000111100010111111101111111111
Hex (EBX) : 0x00000800

Athlon 64 Dual Core - CPUID (EAX = 1)
Hex (EDX) : 0x178bfbff
Bin (EDX) : 0b00010111100010111111101111111111
Hex (EBX) : 0x00020800

The bit 28 in register EDX (which is emphasized in red here) corresponds to the support of HyperThreading. However, we can see clearly that this bit is now set to 1 whereas it was to 0 for a standard, Single Core, Athlon 64. In the same way, the bits [23:16] of register EBX, which indicate the number of logicals CPU supported on Intel CPUs with Hyperthreading enabled, are also set to "2" in the case of a DC Athlon 64.

So, It seems that AMD chose to activate the "HyperThreading" bit on those Athlon 64 Desktop CPUs in order to profit from optimizations already done by many programmers for HyperThreading technology. This will make possible for those upcoming Athlon 64 Dual Core to also benefit from work already carried out. For now, we do not know yet if the Dual Core Opterons will also have this bit active.

_________________
Zalman LQ1000 liquid cooled case + dampening material + PVC tubes + MCP350 with EK top (acetal) and decoupling kit + Nexus 120mm + Xigmatek 200mm + HDD cage removed | Asus Maximus III Formula (ROG) | Intel Core I7 870 + EK Supreme (acetal) | 8GB Kingston | AMD Radeon HD 5850 1GB O/C + EK full cover block (acetal) | Western Digital Black 1TB + NoVibes III + Nexus 120mm (5V) | Seasonic X-850


Last edited by Slaugh on Fri Apr 15, 2005 4:58 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 15, 2005 3:05 am 
Offline

Joined: Sun Aug 24, 2003 9:52 am
Posts: 530
Maybe I'm just plain dumb, but I don't see the big issue here... isn't it logical that a dual core cpu needs to be able to handle hyperthreading? I mean, if it wasn't it would really be a single core cpu, right?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 15, 2005 5:14 am 
Offline
*Lifetime Patron*

Joined: Wed Jan 12, 2005 10:47 am
Posts: 1494
Location: Bucharest, Romania
The dual-core Athlon 64 will handle two threads each thread using three pipes. The single-core P4 handles two threads using one pipe per thread. The Extreme dual-core P4 will handle four threads with 1 pipe per thread, the other dual-core P4s two threads with two pipes per thread.
As an AMD fan, I suspect that AMD processors will be at a disadvantage, since all existing HT-enabled software is optimized for the P4, so AMD loses 15-20% of its maximum performance.
But that doesn't worry me as much as the 64-bit optimizations, where - to my dismay - the same scenario seems to happen... :-(


Top
 Profile  
 
 Post subject:
PostPosted: Sat Apr 23, 2005 10:24 am 
Offline

Joined: Sat Oct 19, 2002 12:06 am
Posts: 205
Location: Concord, Ca
Tzupy wrote:
The dual-core Athlon 64 will handle two threads each thread using three pipes. The single-core P4 handles two threads using one pipe per thread. The Extreme dual-core P4 will handle four threads with 1 pipe per thread, the other dual-core P4s two threads with two pipes per thread.
As an AMD fan, I suspect that AMD processors will be at a disadvantage, since all existing HT-enabled software is optimized for the P4, so AMD loses 15-20% of its maximum performance.
But that doesn't worry me as much as the 64-bit optimizations, where - to my dismay - the same scenario seems to happen... :-(


I am not sure what you are talking about. Tests I have seen with running 64 bit code indicate that the amd processors beneifit from 64 bit code way more than current Intel "64 bit" P4 processors. In other words if an amd64 processor will see an average 20% gain from going to 64 bit code the Intel "64 bit" P4 might see a 5% to 7% gain. The amd64 processors were designed from the ground up as 64 bit processors were as the "64 bit" P4s are 32 bit processors with 64 bit extensions tacked on. And it shows in how well the amd64s run 64 bit code and how little the P4s benefit from 64 bit code.

In addition the tests that have been done so far on dual core processors indicate that the amd dual core processors are simply blowing away the Intel dual cores even running 32 bit code. Again this seems to fit. AMD designed this processors to be dual and quad core from the ground up. Intel is just tacking together two P4s on a single chip and guess which one is working better in the real world. In fact the tests I have seen indicate that the dual core amd64s will run slightly faster than two Opterons at the same clock speed. Also real world experience with Opteron processors are that they scale better (meaning that adding more processors will result in better performance) than any of the Intel CPUs.

As you rightly point out the amd dual core processors will run 2 processes with 3 pipe lines each. This is six active pipe lines. The Intel dual cores can have a max of four active pipe lines. Again advantage AMD.

_________________
Hal


Top
 Profile  
 
 Post subject:
PostPosted: Sat Apr 23, 2005 11:06 am 
Offline

Joined: Thu Oct 28, 2004 1:33 pm
Posts: 127
Location: Germany
Tzupy wrote:
As an AMD fan, I suspect that AMD processors will be at a disadvantage, since all existing HT-enabled software is optimized for the P4, so AMD loses 15-20% of its maximum performance.

Have you seen the dual core opteron benchmarks? I am an AMD fan too, and I'm not worried with the performance. (I am worried with the price)

Also note that only the extreme edition will be using hyperthreading, the normal dual core pentiums do NOT have hyperthreading, and I think we all know what happens to P4's without hyperthreading...

The hyperthreading on AMD dual cores was discussed around here few days ago. No one came up with a particular reason why it was enabled. I've looked around a few forums and I gather that it has to do with a few old(er) programs that are optimized for hyperthreading but not multiple cpus. They check the hyperthreading capability, if verified use 2 threads, if no hyperthreading is present they don't check the number of actual cpus and use a single thread. It is there to boost performance on these (stupid in my eyes) programs.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Apr 24, 2005 1:25 am 
Offline
*Lifetime Patron*

Joined: Wed Jan 12, 2005 10:47 am
Posts: 1494
Location: Bucharest, Romania
AFAIK the M$ compiler favors the Intel architecture, doesn't use the third pipe of the AMD processors. And from some benchmarks I've seen it seems that the 64-bit Visual C++ is going to do the same (I hope I'm wrong...). In the dual-core competition, the Intel CPUs are limited by the FSB, but I bet in many official benchmarks we'll see that won't show much (the tests that show the FSB limitation will be given a lower significance by the benchmark maker).
And we shouldn't forget that Intel has its own optimizing compiler, a pretty good one, but try to use it to optimize for an AMD64 processor... ;-)


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 26, 2005 11:17 am 
Offline

Joined: Mon Dec 06, 2004 3:12 am
Posts: 206
Location: Gothenburg, Sweden
Tobias wrote:
Maybe I'm just plain dumb, but I don't see the big issue here... isn't it logical that a dual core cpu needs to be able to handle hyperthreading? I mean, if it wasn't it would really be a single core cpu, right?

HyperThreading is used to enable simultaneous execution of two threads on a single core. It accomplishes this by picking instructions from both threads when it's filling it's execution slots. The threads don't really compete for the execution units, since only those that can't be utilised by the first thread are used by the second thread. Well, seeing how there are some performance issues with HyperThreading enabled I would guess that there probably is some competition going on between the threads anyway. Maybe to make sure that both threads get somewhat equal execution speed?

Point is, there's no HyperThreading needed to take advantage of a dual core CPU. :)


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 26, 2005 1:41 pm 
Offline
Patron of SPCR

Joined: Thu Mar 27, 2003 4:00 pm
Posts: 918
Location: Madison, WI, USA
Tobias wrote:
Point is, there's no HyperThreading needed to take advantage of a dual core CPU. :)


Yes, but only since the release of hyperthreading have many software developers really paid attention to multithreading. Because of this, pretending to have hyperthreading will cause some (I have no idea how many) programs to run multi-threaded, in which case dual core CPUs will see a huge benefit.

edit: wow, this is my first post here in a little over a year. I need to start stopping by more often.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 27, 2005 10:36 pm 
Offline
Patron of SPCR

Joined: Wed Mar 26, 2003 3:52 am
Posts: 1105
Location: EU
1. Hyperthreading support or not, multicores bring benefits when running multiple simultaneous apps or properly multi-threaded apps

2. AMD does NOT need or benefit (under most scenarios) from hyperthreading. This has been debated before, use the search. Thus, AMD does NOT need hyperthreading, because the CPU design is different from that of Intel's P4. In fact, it can in fact hurt the performance in some cases (as outlined above)

3. Hyperthreading speed impact and 64-bit speed impact are separate issue. One can have both 32-bit and 64-bit cpus with and without hyperthreading. The benefits are additive (to some degree and can also be negative in some cases). Also, do remember that most 32-bit apps perform poorly under 64bit windows & 64-bit CPU than under 32-bit Windows (check the benchmarks, if you don't believe me, this is particulary true of games).

4. If AMD has not enabled support for hyperthreading in A64 CPUs while having built it in them, I'm sure there's a reason other than just marketing (I'm suspecting the same speed hit issue myself).

In summary: stop waiting for hyperthreading onto the AMD platform like some holy grail. It's basically a forced kludge on Intel P4s (to put it meanly), because the P4 design has such a high clock rate, forcing deep pipes and suffering from huge stalls with misses. It needs dual pipes to feed each core, in order to get anywhere near the max performance out of them, hence hyperthreading. It's not some superinnovation that makes all CPUs go faster. It's born out of necessity and without it P4 CPUs would be so apalling that even Dell would be using AMD CPUs.

If you design the CPU properly, you don't need hyperthreading ;)


regards,
halcyon


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 29, 2005 12:01 am 
Offline

Joined: Fri Jul 23, 2004 11:10 pm
Posts: 657
Location: AB, Canada
halcyon wrote:
<stuff>

Er, no one said anything about AMD needing HT, or confused HT/64 bit speed impacts or anything else about AMD CPUs having some sort of latent, inactivated form of HT. You read the first post? From the sounds of things it's more or less just an interim hack to get better performance out of apps that don't properly use multiple threads/processes (since if they did, HT would be irrelevant). If that's the only reason, then it makes sense; look how long A64s have been around for, and still almost noone is taking advantage of them (aside from the fact that they still generally run 32-bit sw faster and cooler than P4s). I'm probably at least a bit off on that, but if I am it's only because I agree that anything more would be silly. :P


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 29, 2005 11:48 am 
Offline
Patron of SPCR

Joined: Wed Mar 26, 2003 3:52 am
Posts: 1105
Location: EU
Well, then I misunderstood the other posts (wouldn't be the first time) :)

Still, after having seen about a gazillion "hyperthreading for A64" threads, I'm beginning to think I wasn't completely off the base...


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 29, 2005 1:41 pm 
Offline
Patron of SPCR

Joined: Sun Jul 04, 2004 6:07 am
Posts: 2672
Location: Utrecht, The Netherlands, Europe
halcyon wrote:
after having seen about a gazillion "hyperthreading for A64" threads, I'm beginning to think I wasn't completely off the base...

I know what type of threads you refer too. Luckilly most (regular) posters here are to smart to make that mistake. But if I am reading another one of those on e.g. tweakers.net, I get this urge to yell "Wake up (sensored)!"

_________________
3) RS480M2-IL | A64 3000+ | Freezer 64 | SS-301HT | 7200.7 PATA 40GB
4) Eee Box B202 | N270 | Vertex 32GB


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ] 

All times are UTC - 8 hours


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group