hyper threading does it increase my cpu's performance.

Jul 24, 2017
108
0
10,680
Does an intel processor having 2 cores and 8 threads can it perform better than a simple quard core processor ?

i konw that it is in real or not i want to know about it . please !
 
Solution




Probably not. In fact, you'd probably see the performance drop back into Core 2 territory. It's not an exact comparison, but here's what you would need to consider:
-- Core i3/i5/i7/i9 CPUs have 2 sets of cache memory on the CPU: L2 & L3. Each physical core gets 256kB of L2 cache; HyperThreading splits this L2 cache so that each thread/logical core gets a proportional...
Being a hypothetical question about a CPU that doesnt exist is kind of hard to answer. Just looking at intel

i3 2 core 4 thread
i5 4 core 4 thread
i7 4 core 8 thread

Each one progressively gets better, so a true 4 core 4 thread cpu is better then a 2 core 4 thread.

keeping everything equal between a 2c 4t and a 2c 8t spec wise, i think you would be handicapping the 8 threads since you are now having to split resources even more. Just taking a guess at this but i would say a 2c 8t cpu would be lagging just behind a true 4c 4t cpu but would do a little better then a 2c 4t.
 

spdragoo

Splendid
Ambassador




Probably not. In fact, you'd probably see the performance drop back into Core 2 territory. It's not an exact comparison, but here's what you would need to consider:
-- Core i3/i5/i7/i9 CPUs have 2 sets of cache memory on the CPU: L2 & L3. Each physical core gets 256kB of L2 cache; HyperThreading splits this L2 cache so that each thread/logical core gets a proportional piece. Normal HyperThreading splits each core into 2 threads, so each thread would get 256kB / 2 = 128kB of L2 available. L3 cache is an open spot available to all cores/threads, & would be used as needed; in theory, however, assuming that each core is working at roughly the same level you would expect them to share the resources equally. In our case, we'll look at the i3-7350K, which has 4MB of L3 cache; that works out to 2MB/2,048kB per core, or 1MB/1,024kB per thread. Total cache then ends up being 2.25MB/2,304kB per core or 1.125MB/1,152kB per thread.
-- Most Core i5 CPUs (in particular their desktop models) don't use HyperThreading, but some of their mobile models (like the i5-7287U) are 2C/4T CPUs: dual-cores using HyperThreading. Unlike the Core i3 models, they have more L3 cache (4MB total, or 4,096kB), which translates to 2MB/2,048kB per core or 1MB/1,024kB per thread; their L2 cache, however is still limited to 256kB per core/128kB per thread. That pushes up their total cache to 2.25MB/2,304kB per core or 1.125MB/1,152kB per thread.
-- Since we're probably looking more at desktop-based CPUs, I would allow for using matching L3 cache. Most of the desktop Core i5 CPUs (like the i5-7600k) have 6MB/6,144kB of L3 cache (averaging 1.5MB/1,536kB per core).
-- In the case of your theoretical CPU, you're talking about each core handling four logical threads instead of the original two. This reduces the available L2 cache per thread to 256kB / 4 = 64kB; the average L3 cache per thread also drops. If you're basing it off of a Core i3 CPU, that would be 4,096kB / 8 = 512kB per thread; for a hybrid desktop/mobile Core i5-based CPU, that would be 6,144kB / 8 = 768kB per thread. Total cache per thread ends up being 576kB (Core i3-based) or 832kB (Core i5-based).
-- Now, we already have plenty of 8-threaded CPUs available in the Core i7 line (the i7-7700K, for example). It still has 256kB of L2 cache per physical core (giving it 128kB per thread), & the CPU has 8MB/8,192KB of shared L3 cache (giving us an average of 2MB/2,048kB per core or 1MB/1,024kB per thread). Total cache then ends up being 2.25MB/2,304kB per core, 1.125MB/1,152kB per thread.

Clock-wise, the CPUs all tend to run fairly close; in our case, the i3-7350K & i7-7700K stock clocks are both at 4.2GHz; the same-generation i5-7600K is just slightly slower (3.8GHz base). So, we'll assume that our hypothetical 2C/8T CPU runs as fast as the comparable 4C/8T CPU, & 10% faster than the 4C/4T CPU.
-- Any way you look at it, the 2C/8T CPU is going to underperform compared to the 4C/8T CPU. The biggest bottleneck is due to the L2 cache, as each thread on the 2C/8T CPU can only access half as much as the 4C/8T CPU. And when all threads are equally sharing the L3 cache, they can only access ~75% as much as the 4C/8T CPU. So you'll see measurable performance drop.
-- Even against the 4C/4T CPU, the 2C/8T CPU is going to suffer. It's only going to have a slight speed advantage in terms of clock cycles, but again the cores/threads are starved for memory

The only way for a 2C/8T CPU, at least based on this kind of design, to be able to see any significant improvement is if the physical cores get more cache -- at a minimum, you'd want to double the L2 cache per core to 512kB, so that each thread can still get the 128kB that the Core i3/i7 CPUs get. And you'd want to consider upping the L3 cache to 8MB so that, if every thread is drawing on it, they can average the 1MB/thread that a Core i7 does. I think the tradeoff with that, though, would be that you'd have to devote more of the silicone to the cache circuits, leaving less available for actual processing, which would mean a) a completely new architecture, & b) probably a drop in core speeds.
 
Solution