MUNICH, Germany -- Infineon Technologies AG is planning to apply so-called 'multi-threading' technology to embedded processors and microcontrollers to achieve up to a tenfold improvement in performance without moving to higher clock frequencies, or to smaller geometries to achieve those higher clock frequencies.
Infineon's first implementation of the technology will be in a 32-bit microcontroller that the company said it plans to introduce in mid-2003. Infineon also said it wants to to license the technology to other chip designers to promote use of the technology. The company indicated that the technology is suitable for automotive and mobile phone applications amongst others.
Infineon gave out few details but according to Sonke Mehrgardt, chief technology officer of Infineon, "the technology can be implemented using just a tiny fraction of a microchip's area." Infineon also claims that it is bringing multithreaded execution to embedded applica tions.
It is not clear whether Infineon's version of multithreading can be retrofitted to established processor or microcontroller architectures, or the maximum number of threads that can be supported.
But Infineon is certainly not the first to apply multithreading to embedded applications. A UK company, Imagination Technologies Ltd. has been developing a multithreading DSP processor called Meta since 1995. The Meta core has been used within Imagination's graphics accelerator cores since 1996 and it has been offered for license by Imagination's Metagence division since 2001 (see May 4, 2001, story).
Infineon said its variant of multithreading is based on a series of innovations that would allows its use in embedded applications while maintaining or improving the real-time determinism required for embedded systems.
"Constant increases in clock rates are one effect of Moore's Law, an d clock speed, or megahertz, has become popular as a general gauge of performance. But a processor runs no faster than memory, so speeding up the processor has no benefit when the fast chip is using program memory that runs at one-tenth its speed," said Robert Ober, director of microprocessor architecture at Infineon Technologies, in a statement. "Multi-threaded operation helps to solve a performance problem that keeps getting worse over time, and creates a solution to the high cost of complex memory subsystems. Radically more performance and lower cost."
The theory of multi-threading is relatively straightforward but the implementation requires that the context of each thread can be efficiently stored and recalled by a uniprocessor so that it can keep working continuously as data is presented to the processor pipeline. If the overhead of storing and recalling the context of multiple threads is too great the advantage of multi-threading evaporates. The overhead tends to increase as the number of 'threads ' supported increases.
In essence support for multithreading allows multiple virtual processors to reside on uniprocessor hardware and to operate on a fine-grained temporal basis in response to available data. So, rather than data being fetched simply in response to a uniprocessor's needs, the uniprocessor also changes what it is working on in response to the availability of the data.