AMD is announcing plans to extend its CPU instruction set to make it easier for software developers to exploit the power of multi-core processors when building applications.
The company's Hardware Extensions for Software Parallelism initiative represents an effort to help hardware and software become better integrated, said Margaret Lewis, vice president of software engineering at AMD.
AMD stressed that converting single-threaded software to be multi-threaded is a highly specialized skill and a challenge for developers. The extensions initially focus on performance analysis via the company's new "Light-Weight Profiling" specification accessible on AMD's site. This technology will enable real-time feedback for performance optimization that can be directly used by software, said Earl Stahl, vice president of software engineering at AMD.
"Developers will incorporate [the technology] into the software, and the software can utilize it to at runtime to discover, for example, cache contention with their memory allocator and reallocate that memory," Stahl said.
Over time, other hardware extensions could be added in such areas as software transactional memory, high-performance message-passing, and fast context-switching for lightweight parallelism. AMD plans to offer the full gamut of specifications released under the plan up for public review.
Software that would leverage the extensions could be applications based on platforms like Microsoft's Common Language Runtime or the Java runtime, Stahl said. Access to the extensions by developers could be done either through compilers or via a small API layer.
The extensions, however, will not be in AMD chips for an estimated three to four years. They will not be in the upcoming AMD Barcelona and Bulldozer chips.
Such a long lead time is not uncommon, according to AMD officials. The company detailed its 64-bit CPU extensions in 1999, but they did not appear in processors until 2003. The purpose of Tuesday's release is to get discussion going on software optimization, Lewis said.
Intel, whose chip technologies are leveraged by AMD, theoretically could use the extensions also if it put them in its own chips, Lewis said. Intel could not be reached for a response on Monday.
AMD and Intel have approached the processor parallelism issue differently, said analyst Nathan Brookwood, research fellow at Insight64. Intel has focused on software tools to help with multithreaded development, while AMD is offering support in hardware itself, he said.
"The AMD extensions will make it easier for multiple threads to cooperate on a single task. Intel is doing that through software, and AMD is saying, hey, with a little bit of help from the hardware, they can make it even better,' " Brookwood said.
AMD's plan could result in better-performing applications, he said.
The only issue Brookwood could raise with the extensions is that they could simply take up space on the chip when the choice is made not to use them and that this space might be used more wisely for other tasks. But the extensions will not create chaos or disorder or force any changes in what people are doing, he said.
AMD's extensions are not specific to multi-core chips, which are becoming more of the dominant processor technology. "While not limited to multi-core, [the technology] certainly will find its sweet spot there," Stahl said.
By publishing its specifications, AMD can get parties like or Microsoft to look at them and have open dialog on implementation, according to AMD. The company would submit the specifications to a standards body, but none currently exists in this area, Stahl said.