Processor missing threads

FreeTeK -  
Terdef Posted messages 1034 Status Security Contributor -
Hello,
I really am not used to posting on forums, but I'm in trouble and this has been going on for too long.
For a while now, I've noticed that I have 4 missing threads on my processor (I7-6700K) in my task manager, so I looked at several topics on different forums including this one and did everything that was suggested by others, that is to say: going into msconfig, unchecking the number of processors, trying to enable/disable hyper-threading, but nothing works, I still only have 4 physical cores and 4 logical cores when I should normally have 8 logical ones.

I am therefore out of ideas and I don't know what else to do, I hope I'm not bothering you with my problem :P

Thank you in advance to all the people who will help me.

Best regards, FreeTeK.

7 answers

Terdef Posted messages 1034 Status Security Contributor 133
 
Hello,

Well no! 4 physics and 4 logics, which makes eight.

That's all good.

And, for the record:
How to activate all processor cores at startup

Best regards,

--
Pierre (aka Terdef)
Asap Admin - SWI Ambassador - MalwareBytes Expert
0
FreeTeK
 
I may not have expressed myself clearly, but there should normally be 4 physical and 8 logical cores, whereas right now I only have 4 logical cores recognized.
https://ark.intel.com/content/www/en/fr/ark/products/88195/intel-core-i7-6700k-processor-8m-cache-up-to-4-20-ghz.html
0
fabul Posted messages 42108 Registration date   Status Moderator Last intervention   6 059
 
Hello,

Please take a screenshot of where you see 8 Logics, because I can't see it.
0
epango Posted messages 37195 Registration date   Status Member Last intervention   Ambassadeur 4 270
 
Indeed, the i7 6700K has 4 cores and 8 threads;

https://www.ldlc.com/fiche/PB00192586.html

--
Misnaming things adds to the misery of the world (Albert Camus)
0
Terdef Posted messages 1034 Status Security Contributor 133
 
Re, and I insist:

The I7 has 4 cores and each core is capable of executing 1 "physical" thread (normal, using physical registers) and an hyperthread (a virtual thread - speculative execution - thanks to microcode that uses the idle times of the "normal" thread to exploit them and advance the following instructions that are most likely to be executed, actually introducing serious security flaws, because these hyperthreads do not take into account user privileges at all - SECURITY ALERTS from INTEL: http://assiste.forum.free.fr/viewtopic.php?f=173&t=33459 )

So, there are 4 threads and 4 hyperthreads, making 8 THREADS IN TOTAL!

Intel documentation:
English: https://ark.intel.com/content/www/fr/fr/ark/products/88195/intel-core-i7-6700k-processor-8m-cache-up-to-4-20-ghz.html
French: https://www.intel.fr/content/www/fr/fr/products/processors/core/i7-processors/i7-6700k.html

The corrections from INTEL to this monstrous bug (a similar thing with AMD) have significantly slowed down all devices.

Reminder: the use of User Account Control (UAC) should be mandatory.

Best regards,

Pierre (aka Terdef)
Asap Admin - SWI Ambassador - MalwareBytes Expert
0
epango Posted messages 37195 Registration date   Status Member Last intervention   4 270
 
"So, there are 4 threads and 4 hyperthreads for a total of 8 THREADS!"

Let those who can understand, understand!

Not all CPUs are designed to create 2 threads per core, for example the i7 9700K (8 cores, 8 threads). But in his case (i7 6700K), there are 4 cores and 8 threads. If it indeed only has 4 threads, then it's an anomaly.

As for your last link, it falls flat and is irrelevant to his problem.
0
a
 
I must admit that we are straying from the subject. I know how many threads my processor should currently have; I'm missing 4, there is an anomaly somewhere.
0
Terdef Posted messages 1034 Status Security Contributor 133
 
Re,

It's not easy to explain. If I talk to you about context switching, scheduler, etc., you're going to jump on me.

A thread is a component, elementary and independent, of a process. In simple terms (well, I'm trying), a thread is the execution of a very small sequence of a few instructions of an application (program, DLL, etc.) that makes millions of instructions. And the operating system ensures that it can run many programs, seemingly simultaneously.

A thread is just a sequence of one to a few instructions and the data on which they execute something in a very brief given time cycle.

The core has pointers to the beginning of the instructions to be executed and pointers to the data being operated on.

Since the core may be put on hold, because it runs faster than the "context switching" (which sometimes allocates too much time), the pointers are doubled and it executes a second set of instructions on a second set of data (the pointers are saved/switched) and a mechanism tries to guess what the next instructions will be executed.

So each core executes two threads almost simultaneously and, since there are 4 cores, there are 8 threads.

There you go.

Just in case, a bit of reading (don't pull):

Process

Thread

Execution Thread (“Thread”)

Process - Context Switching

Process - Scheduler

Round Robin Algorithm

Process Priority and Affinity - Priority Concept

Process Priority and Affinity - Affinity Concept

Process Priority and Affinity - How to Adjust/Modify

Sorry, we don't have long winter evenings right now.

Best regards,

--
Pierre (aka Terdef)
Asap Admin - SWI Ambassador - MalwareBytes Expert
0
Judge_DT Posted messages 27651 Registration date   Status Moderator Last intervention   10 013
 
Hi,

Great... so how does this solve the issue of the system not detecting the threads that the processor is equipped with?

He is not asking to know how threads and HT work, but why they are not all detected when they should be.
0
Terdef Posted messages 1034 Status Security Contributor 133
 
Sorry: I have been holding onto the idea that you wanted to see/have 4 cores and 8 hyperthreads, which totals 12 threads.

First, hyperthreading must be enabled in the BIOS. This is normally done by default.

To enable it (or see if it is enabled), enter your BIOS according to your manufacturer's procedure.
Once in the BIOS, do the following (this may vary depending on the brand of the BIOS, which has nothing to do with the computer brand – there are only two or three BIOS manufacturers in the world):

In the BIOS menu, select Processor
Click on Properties in the new menu that opens.
Enable hyperthreading.
Exit by saving the changes made.

Not all processors allow hyperthreading, but when they do, they are normally hyperthreaded by default, so you shouldn't have to worry about it unless you have manually disabled hyperthreading after "tweaking" the BIOS settings.

To check if hyperthreading is now enabled, here are 3 solutions:

1 Launch the task manager.
Click on the "Performance" tab
At the bottom, you should see:
Cores: 4
Logical processors: 8
Virtualization: Enabled

2 Use Speccy
Click on processor,
The first two lines show the number of cores and total threads.

3 Open a command prompt by typing CMD in the search field (the magnifying glass) at the bottom left of the taskbar (next to the "Start" button).
In the command prompt proposals that appear, click "Run as administrator."
Accept the privilege elevation confirmation request.
A command prompt window opens.
Type wmic and press Enter.
Type (copy and paste)
CPU Get NumberOfCores, NumberOfLogicalProcessors / Format: List
Press Enter.
Two lines will appear:
NumberOfCores = followed by a number
NumberOfLogicalProcessors = followed by a number

Whichever method is used:
If the total number of logical processors is equal to the number of cores, hyperthreading is not enabled.
If the total number of logical processors is twice the number of cores, hyperthreading is enabled.

Best regards,

--
Pierre (aka Terdef)
Asap Admin - SWI Ambassador - MalwareBytes Expert
0