Hardware Processor Cores / Threads

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
7,804
Reaction score
918
Points
188
Location
Toulouse
This is from my system, I wonder why the processor is displayed 8 times. I'd understand 4 times, because it has 4 cores, but 8 ? It has 8 threads, is Windows 10 displaying those ?
 

Attachments

  • Capture d’écran (294).png
    Capture d’écran (294).png
    79.2 KB · Views: 12

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
36,250
Reaction score
746
Points
203
Location
Langendernbach
Its because of Hyperthreading, a feature of all modern CPUs.

Because contemporary CPUs have a very long processing pipelines with many stages and many unique resources in those stages, they can pretend to have one and a half cores - with hyperthreading making use of multiple pipelines using those resources to speed up processing. Of course, its no true full second core, because those processing resources (ALU, FPU, MMU, etc). are still not existing multiple times - or at least less often as there are parallel pipelines.

For example, while pipeline 1 is doing an integer calculation, pipeline 2 could be doing a jump or a floating point calculation at the same time.
 

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
7,804
Reaction score
918
Points
188
Location
Toulouse
Its because of Hyperthreading, a feature of all modern CPUs.

That's it. Virtualization. I knew it at some point, but forgot about it. 🧓

I remember you have to be sure that feature is enabled in the BIOS to play with Virtual Machines, which I don't use currently.
 
Last edited:

Fabri91

Donator
Donator
Joined
Jun 2, 2008
Messages
2,101
Reaction score
88
Points
63
Location
Valmorea
Website
www.fabri91.eu
No, virtualization has nothing to do with it.

As Urwumpe said it's hyperthreading, a feature present on many modern CPUs that helps with parallel workloads (though not as much as having a "real" second core).
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
36,250
Reaction score
746
Points
203
Location
Langendernbach
No, virtualization has nothing to do with it.

As Urwumpe said it's hyperthreading, a feature present on many modern CPUs that helps with parallel workloads (though not as much as having a "real" second core).

Well, strictly speaking it is a kind of virtualization in hardware. The resources of the CPU are shared and multiplied to the execution pipelines.
 

Fabri91

Donator
Donator
Joined
Jun 2, 2008
Messages
2,101
Reaction score
88
Points
63
Location
Valmorea
Website
www.fabri91.eu
Got it. Still, almost any modern system has toggles in its UEFI firmware for both Hyperthreading (from what I've seen always enabled by default if supported by the installed CPU) and for the AMD or Intel "proper" virtualization technology used for VMs and such which on a number of motherboards, including mine, is curiously disabled by default.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
36,250
Reaction score
746
Points
203
Location
Langendernbach
Got it. Still, almost any modern system has toggles in its UEFI firmware for both Hyperthreading (from what I've seen always enabled by default if supported by the installed CPU) and for the AMD or Intel "proper" virtualization technology used for VMs and such which on a number of motherboards, including mine, is curiously disabled by default.

Yes, its different levels and kinds of virtualization. One virtualizes only a processor core. The other a full hardware. You could also do that on the operating system level - that is what containerization like Docker does.
 

hughesjs

New member
Joined
Jul 30, 2021
Messages
11
Reaction score
4
Points
1
Location
UK
Well, strictly speaking it is a kind of virtualization in hardware. The resources of the CPU are shared and multiplied to the execution pipelines.
Sorry, I've got to disagree with you there... Hyperthreading isn't virtualisation, it's a dataflow optimisation technique. There's nothing virtual about it, it just makes heavy use of processor pipelining. By way of credentials, I'm an embedded systems engineer and I've designed CPUs in the past.

That being said, it doesn't really matter... I am arguing over semantics here.
 
Top