طراحی ضربکنندههای ممیز- شناور با قابلیت کار در مدهای عادی و تحملپذیر اِشکال با استفاده از کاهش دقت محاسبات
محورهای موضوعی : مهندسی برق و کامپیوترمریم مهاجر 1 , مجتبی ولینتاج 2
1 - دانشگاه صنعتی نوشیروانی بابل
2 - مهندسی برق و کامپیوتر
کلید واژه: دقت کاهشیافتهتحملپذیری اشکالتشخیص خطاتصحیح خطاضربکننده ممیز- شناور,
چکیده مقاله :
عملیات ضرب یکی از مهمترین محاسبات مورد استفاده در انواع پردازشهای سیگنال خصوصاً صوت و تصویر محسوب میشود. با این حال، ضربکنندهها به عنوان مدارهای دیجیتالی به خاطر وجود عوامل محیطی گوناگون مانند انواع نویزها مستعد تولید خروجیهای نادرست هستند. در این مقاله، روشی جدید برای طراحی ضربکننده ممیز- شناور 32بیتی ارائه میشود که میتواند با توجه به شرایط محیطی که در آن استفاده میشود، در دو مد کاری عادی یا تحملپذیر اشکال عمل کند. در مد تحملپذیر اشکال، با کاهش دقت محاسبات و قبول مقدار ناچیزی خطای محاسباتی در خروجی، بخشی از مدار اولیه آزاد شده و برای فراهمکردن محاسبات افزونه به منظور تشخیص یا تصحیح خطاهای ناشی از اشکالها استفاده میشود. بدین روش، دو معماری ضربکننده با قابلیت تشخیص یا تصحیح خطا پیشنهاد میشوند که در مد کاری تحملپذیر اشکال، دارای قابلیت اطمینان مناسبی در برابر انواع اشکالهای دائمی و گذرا هستند. نتایج پیادهسازی نشان میدهد که در مد تحملپذیر اشکال به جای 23 بیت مانتیس اولیه، حفظ 13 بیت برای دستیافتن به ضربکننده با قابلیت تشخیص خطا و حفظ 11 بیت برای دستیافتن به ضربکننده با قابلیت تصحیح خطا، با سربار مساحت و توان قابل قبول که از 12% تا 26% خواهد بود و همچنین حفظ دقت مورد نیاز برای اکثر کاربردها، مناسب است.
Multiplication is one of the important computations required for different signal processing applications especially regarding voice and image. However, the multipliers as digital circuits are susceptible to different environmental effects such as noises. In this paper, a new approach is proposed for designing a 32-bit floating-point multiplier which can operate in two operational modes, normal and fault-tolerant, dependent to the environmental conditions. In the fault-tolerant mode, by reducing the normal precision and accepting a negligible error in the output, a portion of preliminary circuit is released which is used for redundant computations in order to detect or correct errors. This way, two multiplier architectures with error detection or correction capability are proposed that have a beneficial reliability against different types of permanent and transient faults. The implementation results show that in the fault-tolerant mode, maintaining 13 bits instead of 23 bits for the mantissa will be enough to achieve an error detecting multiplier, and maintaining 11 bits will be enough to achieve an error correcting multiplier with acceptable area and power overheads (from 12% to 26%) while their precisions are enough for most applications.
[1] C. H. Yu, K. Chung, D. Kim, and L. S. Kim, "An energy-efficient mobile vertex processor with multithread expanded VLIW architecture and vertex caches," IEEE J. of Solid-State Circuits, vol. 42, no. 10, pp. 2257-2269, Oct. 2007.
[2] B. Nicolescu, N. Lgnat, Y. Savaria, and G. Nicolescu, "Analysis of real-time systems sensitivity to transient faults using MicroC kernel," IEEE Trans. Nuclear Science, vol. 53, no. 4, pp. 1902-1909, Aug. 2006.
[3] A. B. Kahng and S. Kang, "Accuracy-configurable adder for approximate arithmetic designs," in Proc. 49th Annual Design Automation Conf., DAC'12, pp. 820-825, San Francisco, CA, USA, 3-7 Jun. 2012.
[4] S. Venkataramani, S. T. Chakradhar, K. Roy, and A. Raghunathan, "Computing approximately, and efficiently," in Proc. Design, Automation & Test in Europe Conf., DATE'15, pp. 748-751, Grenoble, France, 9-13 Mar. 2015.
[5] IEEE Computer Society (2008), IEEE standard for floating-point arithmetic, IEEE Standard 754-2008.
[6] J. Ying, F. Tong, D. Nagle, and R. A. Rutenbar, "Reducing power by optimizing the necessary precision/range of floating-point arithmetic," IEEE Trans. VLSI Systems, vol. 8, no. 3, pp. 273-286, Jun. 2000.
[7] I. Z. Milovanovic, E. I. Milovanovic, M. K. Stojcev, and M. P. Bekakos, "Orthogonal fault-tolerant systolic arrays for matrix multiplication," Microelectronics Reliability, vol. 51, no. 3, pp. 711-725, Mar. 2011.
[8] M. Fazeli, A. Namazi, S. G. Miremadi, and A. Haghdoost, "Operand width aware hardware reuse: a low cost fault-tolerant approach to ALU design in embedded processors," Microelectronics Reliability, vol. 51, no. 12, pp. 2374-2387, Dec. 2011.
[9] P. Reviriego, S. Z. Can, C. Eryılmaz, J. A. Maestro, and O. Ergin, "Exploiting processor features to implement error detection in reduced precision matrix multiplications," Microprocessors and Microsystems, vol. 38, no. 6, pp. 581-584, Aug. 2014.
[10] A. Mukherjee and A. S. Dhar, "Real-time fault-tolerance with hot-standby topology for conditional sum adder," Microelectronics Reliability, vol. 55, no. 3-4, pp. 704-712, Feb./Mar. 2015.
[11] M. Valinataj, "Fault-tolerant carry look-ahead adder architectures robust to multiple simultaneous errors," Microelectronics Reliability, vol. 55, no. 12, pp. 2845-2857, Dec. 2015.
[12] D. Lipetz and E. Schwarz, "Self checking in current floating-point units," in Proc. 20th IEEE Symp. Computer Arithmetic, pp. 73-76, Tubingen, Germany, 25-27 Jul. 2011.
[13] M. Maniatakos, Y. Makris, P. Kudva, and B. Fleischer, "Exponent monitoring for low-cost concurrent error detection in FPU control logic," in Proc. 29th IEEE VLSI Test Symp., pp. 235-240, Dana Point, CA, USA, 1-5 May 2011.
[14] A. Gupta, et al., "Low power probabilistic floating point multiplier design," in Proc. IEEE Computer Society Annual Symp. VLSI, ISVLSI'11, pp. 182-187, Chennai, India, 4-6 Jul. 2011.
[15] H. Zhang, W. Zhang, and J. Lach, "A low-power accuracy-configurable floating point multiplier," in Proc. 32nd IEEE Intl. Conf. Computer Design, ICCD'14, pp. 48-54, Seoul, South Korea, 19-22 Oct. 2014.
[16] S. Hashemi, R. Iris Bahar, and S. Reda., "DRUM: a dynamic range unbiased multiplier for approximate applications," in Proc. IEEE Int. Conf. on Comp. Aided Design, ICCAD'15, pp. 418-425, Austin, TX, USA, 2-6 Nov. 2015.
[17] S. Narayanamoorthy, H. Asghari Moghaddam, Z. Liu, T. Park, and N. Sung Kim, "Energy-efficient approximate multiplication for digital signal processing and classification applications," IEEE Trans. on VLSI, vol. 23, no. 6, pp. 1180-1184, Jun. 2015.
[18] V. Camus, J. Schlachter, C. Enz, M. Gautschi, and F. K. Gurkaynak, "Approximate 32-bit floating-point unit design with 53% power-area product reduction," in Proc. 42nd European Solid-State Circuits Conf., ESSCIRC'16, pp. 465-468, Lausanne, Switzerland, 12-15 Sept. 2016.
[19] M. Imani, D. Peroni, and T. Rosing, "CFPU: configurable floating point multiplier for energy-efficient computing," in Proc. 54th ACM/EDAC/IEEE Design Automation Conf., DAC'17, 6 pp., Austin, TX, USA, 18-22 Jun. 2017.
[20] P. Yin, C. Wang, W. Liu, and F. Lombardi, "Design and performance evaluation of approximate floating-point multipliers," in Proc. IEEE Computer Society Annual Symp. VLSI, ISVLSI'16, pp. 296-301, Pittsburgh, PA, USA, 11-13 Jul. 2016.
[21] A. Sunny, B. K. Mathew, and P. B. Dhanusha, "Area efficient high speed approximate multiplier with carry predictor," Procedia Technology, vol. 24, pp. 1170-1177, 2016.
[22] M. Fathi and H. Nikmehr, "Improving accuracy, area and speed of approximate floating point multiplication using carry prediction," J. of Information Systems and Telecommunication, vol. 5, no. 2, pp. 120-127, Apr./Jun. 2017.
[23] C. Liu, J. Han, and F. Lombardi, "A low-power, high-performance approximate multiplier with configurable partial error recovery," in Proc. Design, Automation & Test in Europe Conf., DATE'14, 4 pp. , Dresden, Germany, 24-28 Mar. 2014.
[24] P. Yin, C. Wang, W. Liu, E. E. Swartzlander Jr., and F. Lombardi, "Designs of approximate floating-point multipliers with variable accuracy for error-tolerant applications," J. of Signal Processing Systems, vol. 90, no. 4, pp. 641-654, Apr. 2018.
[25] P. J. Eibl, A. D. Cook, and D. J. Sorin, "Reduced precision checking for a floating point adder," in Proc. 24th IEEE Int. Symp. Defect and Fault Tolerance in VLSI Systems, pp. 145-152, Chicago, IL, USA, 7-9 Oct. 2009.
[26] K. Seetharam, L. C. T. Keh, R. Nathan, and D. J. Sorin, "Applying reduced precision arithmetic to detect errors in floating point multiplication," in Proc. IEEE Pacific Rim Intl. Symp. Dependable Computing, PRDC'13, pp. 232-235, Vancouver, BC, Canada, 2-4 Dec. 2013.
[27] M. Mohajer and M. Valinataj, "A novel reduced-precision fault-tolerant floating-point multiplier," Int. J. of Modern Education and Computer Science, vol. 9, no. 6, pp. 17-24, Jun. 2017.
[28] B. Parhami, Computer Arithmetic, Algorithms and Hardware Designs, 2nd Ed., Oxford University Press, 2009.