Windows 10 and current versions of Linux do not, for the moment, have a kernel suitable for a new task scheduler from the blue giant named Thread Director, which we have already discussed in depth in its corresponding article, but which does. the same time is totally related to the protagonist of this.
So if only Windows 11 is Alder Lake ready, what about the other operating system? Well, as they say, they are not optimized and need a big change if we want to take advantage of the new advantages of these CPUs. The problem lies with the operating system programmer, because he is the one who decides which of all the free logical processors can work with the software thread that is to be assigned.
The options in this case are only two:
- The OS decides that the free logical processor will be the one with the maximum performance because it is the least time it will take with this kind of thread because the system is very efficient.
- The operating system decides that the free logical processor should be a high efficiency processor because for this type of thread it is more optimal because the system is programmed to be as efficient as possible.
And here is Intel’s explanation for the simple calculation of a task, since when there is this position of choice by the programmer of the operating system between two logical processors of the CPU, the two are variable by way of i, j, k1 and k2.
The performance ratio would be calculated according to Intel as follows: Perfection = Perfection / Perfection, while the efficiency ratio of this problem would be calculated as Energyijkx = Energyikx / Energyjkx. Therefore, the operating system has a lot to say here since by following the example above, the programmer could determine in the hypothetical case that Perfijk1> Perfijk2.
Thus, software thread k1 would go to logical processor j, while K2 would go to logical processor j. What happens if two software threads belong to the same ID? Well, very simple, since the operating system programmer can choose several performance or efficiency logical processors to perform the missions.
This is how the loading and balancing of software threads is properly distributed by the Windows 11 operating system.
So what is EHFI?
EHFI is the abbreviation of Enhanced Hardware Feedback Interface or translated into our language would be Enhanced Hardware Feedback Interface and it is precisely the set of instructions that manages to guide the kernel programmer (Windows 11 for the moment exclusively) on the The location of the workloads which determines the operating system between the logical processors of the system, that is, between the cores and the threads.
These instructions are loaded when the operating system boots and are hosted as non-paged memory. These instructions are stored as a table assigned to write-back memory so that after loading is complete and they are activated by the operating system and Intel Task Scheduler (Wire Director
It should be added that logically there is a key element to this and it is nothing more than the limitation that the thermal and power restrictions impose for EHFI and TD in the SKU tables of each processor. Intel’s microcode corrects the mapping availability in these tables for EHFI and TD, so that if a value exceeds the threshold of either of the two values, it gives way to the processor security systems for those tasks.
But how do EHFI and TD know where to look in memory? According to the disclosed patent of the system, there is a notification log indicator that sits inside Thread Director, which detects when there has been a change in the information and when it has been written to memory, from so that the operating system will not request or write again to this region until TD gives the green light to remove the relevant flag.
The control to which EHFI is subject
As we mentioned above, it’s all about temperature and efficiency, and it is not in vain that this is one of the fundamental aspects of Alder Lake. Current sensors that implement both types of cores are essential for telling the power controller the current consumption of each core or thread.
Según las patentes, el nivel de energía total que encuentra registrado el controlador es el equiparable al TDP de procesador y no podrá ser superado, donde además ahora sabemos que Intel ha igualado el PL1 al PL2 y el valor de dicho TDP es la suma de ambos the same time.
Understanding this, the actions of the controller should be divided into four sections for consideration by the controller:
- Area of Cores
- Area of graphic
- Domino of interconnection
- Domain of uncore
Therefore, their sum can never exceed the PL1 = PL2, but it can be managed independently so that the controller can allocate more power to some than to others based on the behavior of the load. It should be added to this that logically the EHFI has an allotted time which fixes the rate of update of the table and the register of the controllers, so that there is a balance in the assignments.
Therefore and at this point EHFI only needs to communicate with TD to discern the type of kernel, its performance and the performance and efficiency measure it displays, where in this last step the Windows programmer is already informed 11 where the software thread has to send.