AMD mini processor: A giant step into the heterogeneous revolution
Originally published on June 16th 2021
Improve computer responsiveness is crucial in the way of development of a modern multi-threaded computer system. However, when we look at mobile environment where, in many cases, the core complex needs to remain in a low power or powered off state in order to save power or because of thermal constraints, a clear degradation of the overall responsiveness of the system becomes visible. In many cases, certain tasks that generate such interrupts responsible for awakening the cores are usually GPIO or even low IPC tasks which don't need a large computational core to process them. In this sense, in a heterogeneous paradigm, even a tiny core could be enough to resolve this issue, only waking up the big or little cores as needed by the task request.
Seeking a solution to this question, AMD has been working on developing some heterogeneous solutions and, in particular, some recently published patents reveal that the introduction of a tiny x86 processor has the potential to be a giant step toward its heterogeneous revolution.
The AMD x86 mini processor
Earlier this year, a new AMD patent has been published proposing a new task service hierarchy can significantly improve energy savings through gradual engagement in the interrupt service stages, avoiding waking up the more power-hungry cores and other significant circuitry by interrupting tasks that may be handled by an intermediate interrupt service entity. Therefore, the basic idea of this hierarchical interrupt service is to involve more stages into the task service in a finer granular way, dividing them into a series of stages for interrupts/activity service.
The first stage is responsible for serving some of the GPIO/initial service, often resolving so many of this requests at this stage. Once the first stage infers whether a specific task or interrupt service requires access to the main memory or needs a x86 state to run, the second stage is invoked.
About this second stage, which is directly related to the mini processor proposed, a second patent just released a few days ago reveals precisely some functions of this new x86 mini processor. At this stage, the mini processor can service interrupt service routine tasks that require x86 instructions, can perform restore tasks such as restoration of an architecture state associated with device configuration registers, restoration of a micro-architectural state required for a device to summarize its execution, or operating system execution, and can perform general purpose low IPC tasks. The mini processor can also warm up the last level cache and fetches code and data into a shared cache between the mini processor and the big processor so that when execution switches to the big processor, demand misses are avoided. Thus, software, drivers and operating systems may be unaware of any of these transitions making it very efficient in that no additional resources need to be used in the operating system or to execute software to perform the task servicing.
In fact, it is important that the reader is aware of how powerful this new mini processor effectively is. Even though its functions are limited to a very restricted set of operations, it is clear that the proposed mini processor is more powerful than a simple microcontroller, probably being much more similar to the small energy-efficient ARM core. It is also interesting to note that the proposed mini processor implements a restricted version of the x86 ISA, reinforcing my initial hypothesis that AMD would implement composite x86 ISAs, thus increasing flexibility in creating cores that mix and match specific sets of features, further improving overall performance and energy savings. For more details see my article. [Link]
Finally, if the second stage infers the need for greater computational power to complete the task or that it has insufficient capacity for the proper execution of the task (e.g., Need for some specific instruction), the final stage is invoked and finally the core complex is activated. It is important to note that the transfer execution from one stage to the next, interrupts may be routed to a targeted stage, then execution transferred as successive stages are activated, which may occur in parallel or on demand, and that the execution of the task can be transparently passed between different cores.
A tiny processor and a giant step
It was predicted that at some point in this Post Dennard era we would experience a transition from homogeneous to heterogeneous multiprocessing. Among the many steps needed in this great revolution we are about to witness, AMD is showing that, on its way to pursuing its heterogeneous revolution, subtle but powerful steps can be a more reliable and safer path for introducing new technologies to their processors. At that point, the introduction of this mini processor could eventually significantly reduce the power consumption of future Zen generations while at the same time bringing a greater overall responsiveness to the entire system on both their mobile and desktop platforms.
Although these patents still do not show in greater detail what AMD is developing for its future heterogeneous processors, it is possible to state that the implementation of this mini processor will be a giant step towards this heterogeneous revolution that AMD is preparing for more than one decade.
Some references and reading recommendations: