IEEE754-2008을 위한 고속 부동소수점 연산기 설계

Floating Point Unit Design for the IEEE754-2008

  • 황진하 (연세대학교 전기전자공학과) ;
  • 김현필 (연세대학교 전기전자공학과) ;
  • 박상수 (연세대학교 전기전자공학과) ;
  • 이용석 (연세대학교 전기전자공학과)
  • Hwang, Jin-Ha (Department of Electrical and Electronic Engineering, Yonsei University) ;
  • Kim, Hyun-Pil (Department of Electrical and Electronic Engineering, Yonsei University) ;
  • Park, Sang-Su (Department of Electrical and Electronic Engineering, Yonsei University) ;
  • Lee, Yong-Surk (Department of Electrical and Electronic Engineering, Yonsei University)
  • 투고 : 2011.05.12
  • 심사 : 2011.10.02
  • 발행 : 2011.10.25

초록

스마트폰을 비롯한 각종 매체가 발전함에 따라 우수한 성능의 부동소수점 연산기 필요성이 점차 증가하고 있다. 이러한 요구에 따라 이 논문에서는 기본이 되는 덧셈/뺄셈 뿐 아니라 기존보다 향상된 곱셈과 비교, 변환 연산을 수행하는 고속의 단정도/배정도 부동소수점 연산기의 설계를 제안한다. 가장 많이 사용하는 덧셈/뺄셈 연산기는 반올림 연산 시에 병렬화 작업을 수행함으로서 최적화를 구현하였다. 그래픽 연산 등에서 복잡한 수의 행렬연산이 많이 사용되는데, 이를 빠르게 계산하기 위해서 곱셈기 대신에 곱셈 후 덧셈을 수행하는 단일 곱셈-누산기(MAF)를 설계하였다. 분기 명령은 프로그램에서 자주 사용하는 명령으로 비교 연산에 의해 분기 조건이 결정되는데 이 논문에서는 파이프라인이 완료되기 전에 수행된 비교연산의 결과값을 바이패싱함으로서 연산의 수행시간을 감소시켰다. 또한 IEEE754-2008 표준에 추가된 변환연산을 포함하여 설계하였다. RTL 설계를 검증하기 위하여 연산기마다 40만개의 테스트 벡터를 가중치 무작위 방식으로 선별하여 시뮬레이션을 수행하였다. 검증 후에는 삼성 저전력 45nm 공정에서 합성을 수행하여 600MHz의 동작 주파수를 만족하였다. 또한 개선된 FPU와 기존의 FPU와 비교하여 면적의 감소를 확인하였다.

Because of the development of Smart phone devices, the demands of high performance FPU(Floating-point Unit) becomes increasing. Therefore, we propose the high-speed single-/double-precision FPU design that includes an elementary add/sub unit and improved multiplier and compare and convert units. The most commonly used add/sub unit is optimized by the parallel rounding unit. The matrix operation is used in complex calculation something like a graphic calculation. We designed the Multiply-Add Fused(MAF) instead of multiplier to calculate the matrix more quickly. The branch instruction that is decided by the compare operation is very frequently used in various programs. We bypassed the result of the compare operation before all the pipeline processes ended to decrease the total execution time. And we included additional convert operations that are added in IEEE754-2008 standard. To verify our RTL designs, we chose four hundred thousand test vectors by weighted random method and simulated each unit. The FPU that was synthesized by Samsung's 45-nm low-power process satisfied the 600-MHz operation frequency. And we confirm a reduction in area by comparing the improved FPU with the existing FPU.

키워드

참고문헌

  1. 이영상, 강준우, "다중 칩 수퍼스칼라 마이크로프로세서용 부동소수점 연산기의 설계 (Design of Floating-point Processing Unit for Multi-chip Superscalar Microprocessor).", 대한전자공학회 학술대회 논문집, 제21권, 2호, p1089-1092, 1998.11
  2. "IEEE Standard for Binary Floating-Point Arithmetic," ANSI/IEEE Std 754-1985 , vol., no., pp.0_1, 1985.
  3. "IEEE Standard for Floating-Point Arithmetic," IEEE Std 754-2008 , vol., no., pp.1-58, Aug. 29 2008.
  4. Israel Koren, "Computer Arithmetic Algorithms", 2nd edition, Prentice-Hall, New Jersey, 2001.
  5. Erdem Hokenek, Montoye, R.K., Cook, P.W., "Second-Generation RISC Floating Point with Multiply-Add Fused", IEEE Journal of Solid-State Circuits, vol.25, no.5, pp.1207-1213, Oct 1990. https://doi.org/10.1109/4.62143
  6. Kogge, Peter M., Stone, Harold S., "A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations". Computers, IEEE Transactions on, vol.C-22, no.8, pp.786-793, Aug. 1973. https://doi.org/10.1109/TC.1973.5009159
  7. Suzuki, H., Morinaka, H., Makino, H., Nakase, Y., Mashiko, K., Sumi, T., "Leading-Zero Anticipatory Logic for High-Speed Floating Point Addition", Solid-State Circuits, IEEE Journal of , vol.31, no.8, pp.1157-1164, Aug 1996. https://doi.org/10.1109/4.508263
  8. Goto, G., Inoue, A., Ohe, R., Kashiwakura, S., Mitarai, S., Tsuru, T., Izawa, T., "A 4.1-ns compact $54{\times}54-b$ multiplier utilizing sign-select Booth encoders," Solid-State Circuits, IEEE Journal of, vol.32, no.11, pp.1676-1682, Nov 1997. https://doi.org/10.1109/4.641687
  9. Yong Surk Lee, "A 4 Clock Cycle 64X64 Multiplier with 60 MHz Clock Frequency.", 대한전자공학회 영문논문지 KITE JOURNAL, 61-68, 1991년 12월
  10. Synopsys homepage , http://www.synopsys.com/dw/buildingblock.php, (September 24, 2011), Data path and Building Block IP