SAADI EC: A Quality Configurable Approximate Divider for Energy Efficiency
Energy efficiency is one of the most crucial constraints that dictate performance, lifetime, form factor, and cost in modern computing system design. However, the energy efficiency improvement driven by semiconductor technology scaling is coming to an end with the prediction of the end of Moore's law in the near future. Approximate computing is a new paradigm to accomplish energy efficient computing in this twilight of Moore's law by relaxing exactness requirement of computation results for intrinsically error resilient applications, such as some machine learning and signal processing. In this paper, we propose an approximate binary divider design that features dynamic configurability of accuracy and energy consumption. Conventional approximate binary dividers lack runtime energy quality scalability, which is the key to maximizing energy efficiency while meeting the dynamically varying accuracy requirements of the application. Our divider, named Scalable Accuracy Approximate Divider with Error Compensation (SAADI EC) supports dynamic energy quality scalability by the incremental approximation of the reciprocal of the divisor using Taylor series expansion. As a result, the speed and energy efficiency of division can be dynamically traded for accuracy by controlling the number of iterations for the approximation. In addition, SAADI EC corrects the approximation error using simple, yet effective error compensation hardware to greatly improve the accuracy compared to the base implementation, SAADI. For the 8 bit approximation of 32 bit/16 bit division, the average accuracy of SAADI EC can be adjusted from 94.2% to 99.6% by varying latency and energy $7\times In terms of \text {energy}\times \text {delay} cost, our design costs up to 87% less than other approximate binary dividers for the same accuracy level. We evaluate the accuracy and energy consumption of SAADI EC for various design parameters and demonstrate its efficacy for low power signal processing applications including {k} means color quantization, JPEG image compression, and image division for video sequences.
IEEE Transactions on Very Large Scale Integration (VLSI) Systems