Dual core vs hyperthreading

Solution


Not really. As far as the program is concerned, a hypderthreaded core is still an extra processing unit. It basically comes down to the OS scheduler more then anything.

Basically, a hyperthreaded core basically has a seperate instruction pipeline, so if one thread is blocked for whatever reason (IO reads are a perfect example), a second thread can continue to operate. However, not everything is duplicated (ALU for instance), so in situations where one thread is not blocked, you get much less throughput, as...
Dual core = a CPU which has 2 cores
HyperThreading = a technology that makes Device manager see double cores of the original processors.
There are some dual core CPUs with HT and some without HT.
You can't decide which is better because they are completely different things
 

xaira

Distinguished
with a dual core, the cpu actually has 2 physical cores, in a hyper threaded single core, the pc has 1 core that is divided into 2 virtual thread pipelines, this allows for 1 thread to continue accepting data on the same core even if the other thread is waiting for data or something, but if the other thread is working, its like the processes have to hopscotch, with a dualcore however, the power to use the two threads is constantly there

imagine a highway that is split in 2, if there is an accident on one side, the cars behind can use the other route to get to the end point faster
 

But the OP didn't talke about a single core CPU with HT vs a dual core one(without HT).
We need more info
 

randomkid

Distinguished
http://en.wikipedia.org/wiki/Hyper-threading

It is hard to answer the question because there is no criteria specified by the OP.

But if we limit the comparison to two CPU's both with dual core running at almost same clockspeed but one with hyperthreading, then we can compare an E8400 vs an i3 540:
http://www.anandtech.com/bench/Product/56?vs=143
The E8400 cost $168 from newegg:
http://www.newegg.com/Product/Product.aspx?Item=N82E16819115037
The i3 540 cost 140 from newegg:
http://www.newegg.com/Product/Product.aspx?Item=N82E16819115221
Thus with this, a dual core with HT perform slightly better than a dual core without.
But this is not the only possible comparison and may not be the best because the
two CPUs operate in different sockets which may have a factor.

So another possible comparison is between the i3 540 vs i5 750 http://www.anandtech.com/bench/Product/109?vs=143
In this case, the i5 750 have 4 true cores without HT and running at slower clockspeed outperforms the i3 540 with HT (virtually 4 cores).

So therefore, there is no general answer to the question. A CPU has to be compared to another CPU before conclusion can be made which one is better.
 

jonpaul37

Distinguished
May 29, 2008
2,481
0
19,960
Here's another thing to consider, most programs out there can be utilized by 2 or more physical cores (dual core), but only a small number of programs can be utilized by hyperthreading. (single physical core acting as two)
 


LOL - somehow I don't think my mother-in-law is worth 99 cents, let alone $999 :p...
 

MarkG

Distinguished
Oct 13, 2004
841
0
19,010


Hyperthreading is transparent to application software, it's handled by the operating system when deciding where to assign threads... the application just sees two threads running at the same time regardless of that configuration.

 


Not really. As far as the program is concerned, a hypderthreaded core is still an extra processing unit. It basically comes down to the OS scheduler more then anything.

Basically, a hyperthreaded core basically has a seperate instruction pipeline, so if one thread is blocked for whatever reason (IO reads are a perfect example), a second thread can continue to operate. However, not everything is duplicated (ALU for instance), so in situations where one thread is not blocked, you get much less throughput, as the devices on the CPU that are not duplicated have up to twice the work to accomplish, which can sometimes slow both threads down in the process.

By comparision, a seperate core duplicates everything; seperate cache, seperate ALU, etc. So you can run in perfect parrellel (in a perfectly optimized situation at least).
 
Solution

MarkG

Distinguished
Oct 13, 2004
841
0
19,010


That was true on the P4, you'd get maybe a 20% boost on a good workload. On the newer Intel CPUs it seems to be equivalent to about 30-50% of a core for CPU-intensive tasks.
 

Zubair Rao

Distinguished
Apr 11, 2010
3
0
18,510

It mean that if two threads are ready to execute that a heperthreading processor gives an illusion to one thread and execute the other while a dual core can actually run both threads simultaneusly (paralllel on same time) , am i right ??
 

Luke Cool

Honorable
Nov 22, 2013
9
1
10,510
There is no illusion.

Intel said it best; ”Hyper-Threading Technology is a form of simultaneous multithreading technology(SMT) introduced by Intel. Architecturally, a processor with Hyper-Threading Technology consists of two logical processors, each of which has its own processor architectural state. After power-up and initialization, each logical processor can be individually halted, interrupted or directed to execute a specified thread, independently from the other logical processor on the chip. Unlike a traditional dual processor (DP) configuration that uses two separate physical processors, the logical processors in a processor with Hyper-Threading Technology share the execution resources of the processor core. These resources include the execution engine, the caches, the system-bus interface and the firmware.” These shared resources allow the two logical processors to work with each other more efficiently and lets one barrow resources from the other one when it is stalled (is waiting for a requested file to arrive so it can finish processing the thread).

A hyper-threaded or dual core CPU each can simultaneously run two threads, but they are not the same: each has its own unique set of advantages. A dual core 3.2 gigahurtz processor will easily out perform a singal core 3.2 gigahurtz hyper-threaded processor.

***A hyper-threaded processor's cores each contain an execution engine that manages, and shares its resources between, two logical processors. On a hyper-threaded core, you have two thread paths through this core, each path is able to use only about half of the cores processing power. With hyper-threading inabled, a 30% performance improvement is possible, but more than 10% is likely.
***A regular processor's cores each contain an execution engine that manages a single physical processor. On a dual core processor, you have one thread path through each core, each path is able to use 100% of the cores processing power. With use a a second core, an 80% performance improvement is possible, but more than 40% is likely.

Most programs are simple and are only written to use one core. But some programs and games are very complex and demanding, and are written to fully utilize hyper-threading and/or any number of cores they have excess to. Windows 7 and 8 are very hyper-threading and multi core processor friendly, Vista XP 2000 and 98 support and manage this extra resource poorly. For Windows 7 and 8, I recommend the use of at least a 2 core processor. These operating systems manage 2 cores well; they free up one core by running background programs in the second core. If you have Windows 7 and 8 and run mostly simple programs, you will see little to no difference between a 2 core 3.2 gigahertz CPU, and an 8 core 3.2 gigahertz CPU. If you are a gamer or power user, you most likely will make good use of the extra cores/processors. The degree of benefit you see in a hyper-threaded or multi core processor depends on how well your software and the operating system are written to efficiently manage that specific extra resource. Hyper-threading has been around longer, so there is more hyper-threading friendly software out there than multi core , but there is no subsitute for a second core.
 

pabhi

Reputable
Feb 20, 2014
22
0
4,520


This is partially true. But you need to know how a processor works to understand Logical cores. There is actually only one physical core and it will not be utilizing all of its resources (I know what some of you might be thinking now and No I am not talking about the processor clock, that concept is multitasking). Intel's hyperthreading identifies these resources (like internal registers, cache etc) and task it to a simultaneously running thread. Basically it is splitting one processor into two. So one can say it comes close to an illusion but it is not.