What's the hardware difference between hyperthreaded and non-hyperthreaded CPUs?

Phazoner

Distinguished
I can guess that hyperthreaded CPUs will have bigger cache memories because of it's bigger processing capabilities, even when comparing same generation quad core with a quad core + hyperthreading (or SMT) processor.

But if the only difference was the cache, I think that every CPU should be hyperthreaded and use the extra threads for processes where the small cache is enough.
 
Solution
It's cheaper for Intel to build a single chip and disable various parts of it to fill all of the different market niches - Core i5's, (quad) i7's and 1151 Xeons are all the same CPU. i5's have some cache and ECC disabled, i7's have ECC disabled, and the Xeons (usually) have their integrated graphics disabled. All CPUs are capable of being fully unlocked, but only "K" models have that enabled. Intel is also able to "harvest" some dies - that is, a certain number of dies cut from the wafer will have a defective portion in their iGPU, making them trash for use as a desktop CPU, but fine as a Xeon, where that's disabled anyway. Ditto with the cache.

I'm a bit vague on the hardware specifics of SMT, but my excuse is that modern CPUs are...

goldstone77

Distinguished
Aug 22, 2012
2,245
14
19,965


It just allows the CPU to process 2 threads at a time. But the performance increase is very small depending on the application, and the number of threads required. The bigger Cache would offer the close to the similar advantages on CPU's with HT turned off.
 

danielthegreate

Prominent
Apr 4, 2017
113
0
760
Let's say you are gaming on an i5, and all of you 4 cpu cores are utilised by the game. Suddenly windows 10 decides to run some irrelevant bloatware out of the blue, this new software wants some CPU time but all your 4 cores are occupied. What happens is that the CPU starts switching (very fast) between one of your game threads and this new software. This will create the illusion that the game and the bloatware are running at the same time.

All seems to be ok right? In theory, you should just lose a few fps at most especially if the bloat software isn't that CPU intesive. However, what happens in reality is different. Each time the CPU switches between one of the the game threads and the bloatware, it has to copy and keep track of a lot of stuff called "program context". This in turn introduces a latency called context switching cost, which wastes CPU time. One benefit of hyperthreading is that it reduces this cost for a fixed number of thread. The other optimisation is that when two threads want a core, it allows a secod thread to use the part of the core that is not utilised by the first thread (threads of a program do not necessarily use all satges of a core at the same time).

So while the computational power of the CPU should theoretically be the same, hyperthreading makes your CPU more efficient at running programs and increases the utilisation. So in practice, the bloatware is less likely to cause hiccups and stutters when you have more threads. Change the blaotware in this example with any other program you might run while gaming, encoders/recorders/streaming/etc. Or if the game you are running can utilise more than the number of physical cores that you have, threads of the same game can benefit from hyperthreading and allow your game to better utilise the CPU.

This was of course, a very simplistic explanation, but it should give an idea of why hyperthreading is useful. This is why I always suggest Ryzen 5 over i5 especially to gamers. In a real world scenario you rarely run just the game in a clean install of windows, and this will result in performance hiccpus not reflected in online reviews. If you have a couple of more threads(or even better, cores) available, you won't have to worry about other processes running while you game.


 

Phazoner

Distinguished


Thanks, but I know how HT works the question is what's the hardware difference, what makes some Intel's capable of hyperthreading and some others not capable (generally i7 and i5-i3-etc respectively). If physically the CPUs are exactly the same, someone should have reflashed CPUs BIOS or something else to allow quad-cored i5s to hyperthread.

PS: I absolutely agree with you about Ryzen 5 (an 1500X is by far the best option for gaming, 4Ghz boost for IPC demanding games, pretty the same performance in any escenario than a i7-6700-7700, nice cooler, etc). And in my house still there isn't an AMD CPU :lol:
 

nonsleeper

Reputable
Sep 9, 2015
47
0
4,540


Intel unfortunately disables the hyperthreading on chip for i5, they disable it on hardware level on the chip itself so bios flashing and the like doesn't help. Recently they stopped disabling it for some pentium chips and others, but for i5 they still disable it on purpose. This is to purely to make more money, they literally damage the chips they are selling for cheaper to drive the sale of the i7 chips for more expensive.

Fortunately, AMD has caught them with their pants down and took the Ryzen out. This might make intel stop disabling the hyperthreading for i5. Unless people just all buy their 7700k, in that case they still won't do it.

 

Phazoner

Distinguished


Can you give us the source? It's weird that they "kill" hyperthreading components instead of
manufacturing them without this hardware elements. Anyway, I would like to know more about this component.

It really feels like the cost about "upgrading" the hardware to hyperthread si cheap. It's like Intel's joker: iX-8XXX should just allow i5s to hyperthread and bring more cores to i7s, so if the hardware difference to hyperthread is low to none, they'll fight Ryzen's fire easily. But then their corporate image should be damaged because of all these years inflating i7s prices... It will be intersting to see what will do Intel against Ryzen.
 
It's cheaper for Intel to build a single chip and disable various parts of it to fill all of the different market niches - Core i5's, (quad) i7's and 1151 Xeons are all the same CPU. i5's have some cache and ECC disabled, i7's have ECC disabled, and the Xeons (usually) have their integrated graphics disabled. All CPUs are capable of being fully unlocked, but only "K" models have that enabled. Intel is also able to "harvest" some dies - that is, a certain number of dies cut from the wafer will have a defective portion in their iGPU, making them trash for use as a desktop CPU, but fine as a Xeon, where that's disabled anyway. Ditto with the cache.

I'm a bit vague on the hardware specifics of SMT, but my excuse is that modern CPUs are hideously complex. ;)
 
Solution

Phazoner

Distinguished


That's near to what I think about this, maybe not the same about without-iGPU Xeons but close. Anyway, it feels like my curiosity won't be satisfied and will just asume that Intel is selling us all the same chips getting a really big piece of cake selling the hyperthreading... Awful :(
 
Would you prefer Intel only sold fully enabled CPUs, likely for no less than current i7's (because harvested dies save everyone money), and had no options for lower end parts? Or, that all of them were more expensive because Intel had to design a unique hardware configuration for each model, and build a manufacturing line for each?

The cost to build each CPU is actually very small. Most of the costs come from the design of the CPU itself and the development of new process nodes to build them on.

To make a bad car analogy, this is very much like how a Toyota and Lexus are basically the same car underneath. Toyota might retune the engine for slightly higher output or add some extra plastic inside to make it look nicer, maybe slightly better seats or suspension, but mostly they're made of the same parts and the cost to build isn't much different. The fact that they share design makes both of them cheaper, and that a Lexus can be sold at a higher profit margin means you can get a Camry for much less than you could if it were otherwise designed from scratch. This is one of the central pillars of industrial design and manufacturing.
 

Phazoner

Distinguished


Uh, that's definitely not my point, my point is: Doesn't make you feel a bit... Cheated having to pay around one hundred bucks more to have the exactly same hardware with the ideal software?

Example given... You buy a Toyota but it's limited to your country road's max speeds... But you can buy the exactly same car without that limitation, but the price of the car will be about +30/50% more expensive. But Toyota is selling you the car as the "sports" edition, they say to you that the car is much faster, in a first instance hiding that they're selling you the same car in order to make a big bunch of easy bucks. I'm very disappoint with this practice.
 

goldstone77

Distinguished
Aug 22, 2012
2,245
14
19,965
AMD is selling us CPU's without turning everything off at a cheaper price, and with better performance. How about basically keeping the same uArch for the last 8 years, and giving us quad cores with 5% performance increase twice a year with new sockets and motherboards to buy. Hell the last 3 have just been name changes with higher clocks. Intel has had us over a barrel, and been taking advantage of us for a long time! HEDT market ThreadRipper has 64 PCI-E lanes even on the cheapest CPU. Add insult to injury now Intel is going to make you pay for PCI-E lanes now on Skylake-X, and make you pay upward $398 for NVME raid! Oh and you are limited to only Intel NVME SSDs, and make you pay for an expensive motherboard with features you can't use. Server market has been the same way. If we didn't have competition you would still be using quad cores, and paying 1.7k for a 10 core. Now, we have 6 and 8 core parts as main stream, and offer amazing performance.