London -- The latest company trying to deploy a multiprocessing architecture is fabless semiconductor startup Xmos Semiconductor Ltd. (Bristol, England). But if pedigree is anything to go by, the company has more chance of success than many others.
The company is the route to market for the ideas of its chief technology officer, David May. In the 1980s, May was the architect of the transputer--a processor designed specifically for parallel processing--and the author of its accompanying Occam programming language. Before founding Xmos in July 2005, May was the head of computer science at Bristol University, spending a number of years in academia after 16 years in the semiconductor industry with STMicroelectronics and Inmos. He did his transputer work at Inmos.
Not surprisingly, the Xmos architecture has similarities to the transputer, but recast in an approach designed to make use of what 20 years of Moore's Law have made possible: multicore single-chip implementation.
Other approaches to monolithic parallelism have been many and varied, but not always successful. They have included superscalar and multithreading uniprocessors, very long-instruction-word (VLIW) processors, multiple processors on a die linked in an FPGA-like fashion, and the concept of marrying a housekeeping processor with a reconfigurable FPGA-like fabric.
Xmos has chosen an event-driven, multithreaded processor that will be deployed in two-dimensional arrays in a family of chips due for introduction in the first quarter of 2008. The processor, the 32-bit XCore, has a fixed instruction set developed for fast real-time re- sponse and low silicon cost. The integration of pin control within XCore, coupled with an intercore communication link named XLink, allows complete systems, including interfaces, to be implemented in software. Product de- velopment uses a unified embedded software flow founded on C-based programming languages.
Any success achieved by previous monolithic parallel processors has usually required the tailoring of the hardware to a narrow set of applications. Attempts to produce general-purpose architectures have been thwarted by problems inherent when programming parallel resources with the popular but concurrency-lacking C language.
May and Xmos, possibly learning from experience with the elegant but underused Occam, have tried to come up with the best of both worlds with an architecture that can be programmed from C or C++ but with an additional language, called XC, that can be used for greater control of multithreading capability and I/O ports.
By harnessing the appropriate compilers for C++, C and XC and a linker that brings the compiled code together, the architecture looks much like a conventional processor from a development point of view, said Noel Hurley, vice president of marketing. Arrays of processor devices will allow system functions that would normally be implemented in hardware to be defined in software, unifying the design flow for software and hardware, the company said in its documentation.
No more waiting
In fact, no register-transfer-level or lower-level hardware design skill is necessary to work with the XCore. It just re- quires an embedded software approach using C-based languages to implement interfaces, algorithms and general software. As a result, companies will be able to innovate and differentiate their silicon without waiting for ASIC developments or application-specific standard product (ASSP) spins, according to Xmos.