Turns out that the Sparc International Sparc Architecture Version 9 was not solely Sun Microsystems Inc’s work, nor rubberstamped by the 12 companies that wrote it (CI No 1,951). The new specification extends the Sparc RISC address space to a full 64 bits while promising upwards binary compatibility with current versions – the first major change to the Sparc architecture since 1987. In the process it has picked up HaL Computer Systems Inc, the most famous of the no-product-yet companies, to stand up and say it was doing its own Version 9 implementation, claiming to be well under way. HaL will be using an Sparc Compliance Definition 2.0-compliant version of Unix System V.4. Meanwhile, Sparc International is developing a V9 application binary interface, enabling both V8 and V9 binaries to run on a V9-compliant machine. Version 9 is the work of 12 executive members, including HaL, which apparently was in the vanguard. Amdahl Corp, Fujitsu Ltd, Hyundai Electronics Co, ICL Plc, LSI Logic Corp, Matsushita Electric Industrial Co, Philips Electronics NV, Ross Technology Inc, Sun Microsystems Labs and Texas Instruments Inc are said to have collaborated on it since March of last year as a team said to be independent of their affiliations. Initially, the group toyed with the idea of developing a new unconstrained, non-compatible architecture but abandoned that notion, claiming the trade-off suffered was relatively minor.

Speculative loads

Some of the technology the group is using, such as speculative loads, has never been used before and as a result the designers believe the specification will stand unmodified for the next 20 years with only a few extensions. Sun’s director of advanced development, Dave Ditzel, says he for one is glad the specification wasn’t disclosed before Digital Equipment Corp launched Alpha and MIPS Computer Systems Inc wheeled out its 64-bit architectures, which he dismisses as pretty traditional technology. He’s positive they would have tried to copy the Sparc design. Other groundbreaking work was reportedly done in the areas of fault tolerance support and compiler optimisation. The V9 spec is now available to all Sparc International members. In the design, all Version 8 integer registers have been extended to 64 bits and all register commands work on the full 64-bit register, with full hardware support for 64-bit arithmetic, including multiplication and division. It provides dual integer condition codes to enable 32-bit and 64-bit code to co-exist. Several new instructions have been added specifically for superscalar Sparc implementations. New conditional move instructions minimise branches and increase performance in both superscalar and superpipeline boxes which will also be able to use any valid order of execution. The floating point changes should allow for increased parallelism. New atomic memory access instructions and a more flexible memory model are meant to make synchronisation in large-scale multi-processors more efficient. V9 is said to simplify development of fast modular client-server or microkernel Unix implementations. The operating system interface has been completely redesigned to support lightweight threads, fast context switching and object-oriented software. The design supports the use of leading-edge wait-free multi-processing algorithms. HaL plans to offer conversion tools to help designers move from 32 bits to 64 bits. It will also provide Sparc International with a V9 simulator that will run on V8 and V7 systems, and test suites to validate V9 Sparc implementations, later this year.