New tool should expedite the development of new cores and multi-core processors.
Researchers have developed a tool that makes it faster and easier to develop new cores - also known as central processing units - for computer processors. The new tool could spur the development of processors with many different types of specialized cores.
"We're optimistic that expediting this process will unleash innovation in processor design," says Eric Rotenberg, a computer engineering researcher at NC State.
Manufacturers have been developing multi-core computer chips, or processors, for years. Each core is capable of processing computer code, executing instructions from a wide variety of software programs. Such processors are found in everything from cell phones to laptops.
But not all cores are created equal. Depending on their design specifications, each core has its own strengths and weaknesses. For example, one core may be able to execute many operations in parallel, but not be very efficient at executing operations while retrieving data from memory, or vice versa. Thus, some core designs may be particularly well-suited to running multimedia programs, while others may be better for running database applications.
Most multi-core processors incorporate identical, non-specialized cores, which are designed to be fairly good at any task they might be assigned.
However, with the rise of multi-core chips, there has been a growing sentiment that computer performance could be improved by incorporating a variety of cores with different design specifications into a single processor - and assigning different computing tasks to the cores best-suited to handle those tasks.
But this approach poses its own challenges, because core design is a painstaking process involving the efforts of hundreds of engineers.
The first step in core design is to determine what the dimensions of a core's constituent components should be in order for it to excel at tasks with certain characteristics (such as executing useful operations while retrieving data from memory). This is called a core's "architectural specification."
Once the architectural specification is complete, it then needs to be effectively translated into an implementation design that can be used to physically fabricate the core itself. Moving from the architectural specification to the implementation design can take years.
Now a team of researchers led by Rotenberg has developed a tool that automates this process, allowing core designers to plug in the architectural specifications - and using those specifications to create an implementation design.
Specifically, the tool creates a "synthesizable register-transfer-level design" of the core. This design can be used to create the suite of manufacturing blueprints manufacturers need to actually fabricate the cores.
By automating the process, the tool allows core designers to move from the architectural specification to the factory floor in months, rather than years. "Processor designers will be free to create interesting ensembles of diverse cores because they won't be bogged down by the minutiae of core implementation," Rotenberg says. "In turn this will lead to faster and more capable computing devices that last longer between battery charges."
A paper describing the work is published in the June issue of IEEE Micro. The research was supported by the National Science Foundation, Intel and IBM.