SIMD MAC Unit Design for Multimedia Data Processing

멀티미디어 데이터 처리에 적합한 SIMD MAC 연산기의 설계

  • Hong, In-Pyo (Processor Laboratory, Dept. of Electrical and Electronic Eng. Yonsei University) ;
  • Jeong, Woo-Kyong (Processor Laboratory, Dept. of Electrical and Electronic Eng. Yonsei University) ;
  • Jeong Jae-Won (Processor Laboratory, Dept. of Electrical and Electronic Eng. Yonsei University) ;
  • Lee Yong-Surk (Processor Laboratory, Dept. of Electrical and Electronic Eng. Yonsei University)
  • 홍인표 (延世大學校 電氣電子工學科 프로세서 硏究室) ;
  • 정우경 (延世大學校 電氣電子工學科 프로세서 硏究室) ;
  • 정재원 (延世大學校 電氣電子工學科 프로세서 硏究室) ;
  • 이용석 (延世大學校 電氣電子工學科 프로세서 硏究室)
  • Published : 2001.12.01

Abstract

MAC(Multiply and ACcumulate) is the core operation of multimedia data processing. Because MAC units implemented on traditional DSP units or embedded processors have latency of three cycles and cannot operate on multiple data simultaneously, then, performances are seriously limited. Many high end general purpose microprocessors have SIMD MAC unit as a functional unit. But these high end MAC units must support pipeline structure for various operation modes and high clock frequency, which makes control logic complex and increases chip area. In this paper, a 64bit SIMD MAC unit for embedded processors is designed. It is implemented to have a latency of one clock cycle to remove pipeline control logics and a minimal area overhead for SIMD support is added to existing Booth multipliers.

MAC(Multiply and ACcumulate) 연산은 DSP와 멀티미디어 데이터 처리의 핵심이 되는 연산이다. 기존의 DSP 혹은 내장형 프로세서의 MAC 연산기들은 주로 3사이클의 latency를 가지며, 한번에 하나씩의 데이터를 처리하므로 성능에 한계를 보인다. 따라서 고성능의 범용 프로세서들은 SIMD(Single Instruction Multiple Data) 연산을 지원하는 MAC 연산기를 실행 유닛으로 내장하는 추세이다. 하지만 이러한 고성능의 연산기는 고성능 범용 프로세서의 특성상 다양한 동작 모드를 지원해야 하고 clock 주파수가 높아야 하므로 파이프라인 기법을 사용하고 이에 따른 컨트롤이 복잡하여 하드웨어 설계가 까다롭고 면적이 큰 문제가 있다. 본 논문에서는 내장형 프로세서에 적합한 64비트 폭을 갖는 SIMD MAC 연산기를 설계하였다. 한 사이클에 누적연산까지 모두 완료하도록 하여 파이프라인 제어의 필요성을 없앴고, 기존의 Booth 곱셈기 구조에 기반하여 약간의 회로 추가로 SIMD 연산이 가능하도록 하였다.

Keywords

References

  1. Israel Koren, Computer Arithmetic Algorithms, Prentice-Hall, pp. 73-71, 86-91, 99-123, 1993
  2. Martin S. Schmookler, Michael Putrino, Charles Roth, Mukesh Sharma, Anh Mather, Jon Tyler, Huy Van Nguyen, Mydung N. Pharm, and Jeff Lent, 'A Low-power, High-speed Implementation of a $PowerP^{CTM}$ Microprocessor Vector Extension', Computer Arithmetic, 1999. Proceedings. 14th IEEE Symposium on, 1999 https://doi.org/10.1109/ARITH.1999.762823
  3. 이용석, '고성능 마이크로프로세서 곱셈기 구조', 정보통신학술지원국 비디오 강좌시리즈, http://mpu.yonsei.ac.kr/Lecture/정통부_video_lect.htm, 1998
  4. Gensuke Goto, Atsuki Inoue, Ryoichi Ohe, Shoichiro Kashiwakura, Shin Mitarai, Takayuki Tsuru, and Tetsuo Izawa, 'A 4.1-ns Compact $54{\times}54$-b Multiplier Utilizing Sign-Select Booth Encoders', IEEE Journal of Solid-State Circuits, Vol. 32, No. 11, November, 1997 https://doi.org/10.1109/4.641687
  5. Mark R. Santoro, 'SPIM : A Pipelined $64{\times}64$-bit Iterative Multiplier', IEEE Journal of Solid-State Circuits, Vol. 24, No. 2, April, 1989 https://doi.org/10.1109/4.18614
  6. 이용석, '60MHz Clock 주파수의 IEEE 표준 Floating Point ALU', 전자공학회 논문지, 제28권, A편, 제11호, 1991년 11월
  7. Buyer's Guide to DSP Processors, Berkeley Design Technology Inc. pp. 351-361, 449-472, 1994
  8. Bum-Sik Kim, Dae-Hyoo Chung, and Lee-Sup Kim, 'A New 4-2 Adder and Booth Selectorfor Low Power MAC unit', Proceeding of International Symposium on Low Power Electronics and Design, Monterey, pp. 100-103, 1997