새로운 제산/제곱근기를 내장한 고성능 부동 소수점 유닛의 설계

Design of a high-performance floating-point unit adopting a new divide/square root implementation

  • 이태영 (現代電子 시스템 IC 디지털미디어 AV팀) ;
  • 이성연 (亞南半導體 FAB硏究所 디자인팀) ;
  • 홍인표 (延世大學校 機械電子工學部) ;
  • 이용석 (延世大學校 機械電子工學部)
  • Lee, Tae-Young (AV Team, Digital Media, System IC Division, Hyunai Electronics Industries Co., Ltd.) ;
  • Lee, Sung-Youn (Design Team, FAB Laboratory, Anam Semiconductor) ;
  • Hong, In-Pyo (School of Electrical and Mechanical Engineering, Yonsei University) ;
  • Lee, Yong-Surk (School of Electrical and Mechanical Engineering, Yonsei University)
  • 발행 : 2000.12.01

초록

본 논문에서는 고성능 수퍼스칼라 마이크로프로세서에 적합하고, IEEE 754 표준을 준수하는 고성능 부동 소수점 유닛의 구조를 설계한다. 부동 소수점 AU에서는 비정규화 수 처리를 모두 하드웨어적으로 지원하면서 추가적인 지연 시간이 생기지 않도록 점진적 언더플로우 예측 기법을 제안 구현한다. 부동 소수점 제산/제곱근기는 기존의 고정적인 길이의 몫을 구하는 방식과 달리 매 사이클마다 가변적인 길이의 몫을 구하는 구조를 채택하여 성능과 설계 복잡도 면에서 SRT 알고리즘에 의한 구현 보다 우수하도록 설계한다. 또한, 수퍼스칼라 마이크로프로세서에 이식이 용이하도록 익셉션 예측 기법을 세분화하여 적용하며, 제산 연산에서의 익셉션 예측에 필요한 스톨사이클을 제거하도록 한다. 설계된 부동 소수점 AU와 제산/제곱근기는 부동 소수점 유닛의 구성요소인 명령어 디코더, 레지스터 파일, 메모리 모델, 승산기 등과 통합되어 기능과 성능을 검증하였다.

In this paper, a high-performance floating point unit, which is suitable for high-performance superscalar microprocessors and supports IEEE 754 standard, is designed. Floating-point arithmetic unit (AU) supports all denormalized number processing through hardware, while eliminating the additional delay time due to the denormalized number processing by proposing the proposed gradual underflow prediction (GUP) scheme. Contrary to the existing fixed-radix implementations, floating-point divide/square root unit adopts a new architecture which determines variable length quotient bits per cycle. The new architecture is superior to the SRT implementations in terms of performance and design complexity. Moreover, sophisticated exception prediction scheme enables precise exception to be implemented with ease on various superscalar microprocessors, and removes the stall cycles in division. Designed floating-point AU and divide/square root unit are integrated with and instruction decoder, register file, memory model and multiplier to form a floating-point unit, and its function and performance is verified.

키워드

참고문헌

  1. Keith Diefendorff, 'Pentium III = Pentium II + SSE', Microprocessor Report, pp. 6-11, March 8, 1999
  2. An American National Standard, 'IEEE Standard for Binary Floating-Point Arithmetic', ANSI/IEEE Std 754, 1985
  3. 이원, 권호경, 이용환, 이용석, 'Radix-4 SRT 알고리즘을 사용한 나눗셈/제곱근 연산기에 관한 연구', 전자공학회논문지, 제 33 권, A 편, 제 9호, 1996년 9월
  4. Peter Soderquist and Miriam Leeser, 'Division and Square Root: choosing the right implementation', IEEE Micro, Vol. 17, No. 4, pp. 833-854, August 1997 https://doi.org/10.1109/40.612224
  5. 송인호, 문중석, 정덕균, '미정규화수의 하드웨어 처리 가능한 부동 소수점 곱셈기와 나눗셈기', 대한전자공학회 추계종합학술대회 논문집(B), 제 19 권, 제 2 호, pp. 1570-1573, 1996년 11월
  6. Robert K. Yu and Gregory B. Zyner, '167MHz Radix-4 Floating Point Multiplier', Proceedings of 12th Symposium on Computer Arithmetic, pp. 149-154, 1995 https://doi.org/10.1109/ARITH.1995.465364
  7. 이태영, 새로운 제산/제곱근기를 내장한 고성능 부동 소수점 유닛의 VLSI 설계, 연세대학교 전기컴퓨터 공학과, 공학박사학위논문, 1999년 12월
  8. Nobuhiro Ide, et al, 'A 320-MFLOPS CMOS Floating-Point Processing Unit for Superscalar Processors,' IEEE Journal of Solid-State Circuits, vol. 28, no. 3, March 1993 https://doi.org/10.1109/4.210003
  9. 이성연, 부분 나머지의 비트열 분석을 이용한 새로운 Variable Quotient Bit 제산/제곱근 연산기의 설계, 연세대학교 전기컴퓨터공학과, 공학석사학위논문, 1999년 12월
  10. O. L. MacSorley, 'High-Speed Arithmetic in Binary Computers', Proceedings of the Institute of Radio Engineers, 49:67-91, 1961 https://doi.org/10.1109/JRPROC.1961.287779
  11. IEEE 754 Test Suite, Computer Science Division, University of California, Berkeley, 1983
  12. John H. Edmondson, et al, 'Internal Organization of the Alpha 21164', Digital Technical Journal, Vol. 7, No. 1, pp. 119-135, January 1995
  13. Guenter Gerwig and Michael Kroener, 'Floating-Point Unit in standard cell design with 116 bit wide dataflow', Proceedings of 14th Symposium on Computer Arithmetic, April 1999 https://doi.org/10.1109/ARITH.1999.762853
  14. Alberto Nannarelli and Tomas Lang, 'Low-Power Divider', IEEE Trans. Computers, Vol. 48, No. 1, January 1999 https://doi.org/10.1109/12.743407