ELM1A Prototype Evaluation Board

**What is the novel idea?**

The European Logarithmic Microprocessor performs the basic mathematical operations - add, subtract, multiply, divide and square-root - in a way which is radically different from that of conventional microprocessors. These use the 'floating-point' system, in which a number is represented more-or-less as the direct binary equvalent of its real value. Processing these floating-point numbers takes a lot of time, and also does not deliver a completely accurate result. The error in any one operation is minuscule, but in a complex programme with billions of operations the errors build up. Using the logarithmic number system (LNS), which represents numbers as logarithms instead of floating-point values, dramatically improves the speed and accuracy of the multiply, divide and square-root operations. In fact the circuits to perform these operations logarithmically are almost trivial. What has always been difficult, and had not so far been done in a practical microprocessor, is designing the circuits for logarithmic addition and subtraction. The first challenge was therefore to develop techniques for performing these operations at least as well as the standard floating-point methods. Together with the ready-made advantages of the multiplies, divides and square-roots, the average performance in a typical calculation involving both multiplications and additions was then substantially improved.

The ELM project originated in Dr Nick Coleman's research at Newcastle University, and was then undertaken with around 1m Euros funding from the Long-Term Research sector of the European Stategic Programme for Research in Information Technology (EPSRIT). Partners in the project were the Institute of Information Theory and Automation at the Czech Academy of Sciences, Philips Research, Eindhoven, University College Dublin, and Massana Ltd, Dublin. Chips were fabricated at Philips Semiconductors, Nijmegen.

Following the original development work, a suite of industrial-scale programmes was developed to prove that the device actually worked in practice. It was also essential to show that, by using the logarithmic arithmetic system, the device could outperform a conventional microprocessor based on floating-point arithmetic. The same programmes were therefore deployed on a state-of-the-art industry-standard floating-point device, the Texas Instruments TMS320C67, and a direct comparison made between the two. The ELM delivered significantly faster execution and more accurate results. Some highlights are presented below; for full details please see 'IEEE Transactions on Computers', April 2008.

Although the LNS arithmetic circuits were faster and more accurate than the equivalent floating-point versions, one remaining problem was that they were physically larger. Continuing theoretical work has demonstrated that the transform algebra can be applied recursively. Whereas the first-order application, as described above, yielded a dramatic reduction in circuit size from a purely interpolated solution, this second-order application delivers a further large reduction in that. As we show in 'IEEE Transactions on Computers', January 2016, an LNS arithmetic unit may now be constructed with a silicon footprint similar to that of a floating-point unit. Furthermore, the lookup tables are now small enough to allow their implementation in synthesised logic, rather than, as previously, as read-only memories. This results in further gains in speed.