SMT 프로세서에 최적화된 명령어 페치 전략에 관한 연구

An Optimal Instruction Fetch Strategy for SMT Processors

  • 홍인표 (연세대학교 전기전자공학과 프로세서연구실) ;
  • 문병인 (연세대학교 전기전자공학과 프로세서연구실) ;
  • 김문경 (연세대학교 전기전자공학과 프로세서연구실) ;
  • 이용석 (연세대학교 전기전자공학과 프로세서연구실)
  • 발행 : 2002.05.01

초록

최근에 성능의 한계를 드러내고 있는 수퍼스칼라 RISC를 대체할 새로운 프로세서 구조로서 SMT(Simultaneous Multi-Threading)이 활발히 연구되고 있다. SMT는 하나의 프로세서에 여러 개의 스레드가 하드웨어 자원을 동적으로 공유하며 동시에 수행되는 구조이다. 이러한 환경에서는 프로세서 안에 존재하는 여러 스레드로부터 명령어를 원활하게 공급하여 주는 것이 중요하다. SMT 프로세서는 기존의 프로세서에 비하여 사이클 당 실제 처리되는 명령어 수가 월등히 많기 때문에, 사이클 당 명령어 페치량과 페치된 명령어를 임시 저장하는 페치 큐의 엔트리수가 신중하게 결정되어야 한다. 또한 사이클마다 페치할 스레드와 각 스레드의 페치량을 결정하는 것이 성능에 큰 영향을 미친다. 따라서 본 논문에서는 이러한 요소들이 프로세서 전체의 성능에 미치는 영향을 분석하고 그 결과를 바탕으로 SMT 프로세서에 최적화된 명령어 페치 전략에 대하여 논한다.

Recently, conventional superscalar RISC processors arrive their performance limit, and many researches on the next-generation architecture are concentrated on SMT(Simultaneous Multi-Threading). In SMT processors, multiple threads are executed simultaneously and share hardware resources dynamically. In this case, it is more important to supply instructions from multiple threads to processor core efficiently than ever. Because SMT architecture shows higher IPC(Instructions per cycle) than superscalar architecture, performance is influenced by fetch bandwidth and the size of fetch queue. Moreover, to use TLP(Thread Level Parallelism) efficiently, fetch thread selection algorithm and fetch bandwidth for each selected threads must be carefully designed. Thus, in this paper, the performance values influenced by these factors are analyzed. Based on the results, an optimal instruction fetch strategy for SMT processors is proposed.

키워드

참고문헌

  1. ARM, ARM Architecture Reference Manual, Part A CPU Architecture, 1996
  2. Susan J. Eggers, Joel S. Emer, Henry M. Levy, Jack L. Lo, Rebecca L. Stamm, Dean M. Tullsen, 'SIMULTANEOUS MULTITHREADING: A Platform for Next-Generation Processors', September/October 1997 IEEE Micro, p.p. 12-19
  3. D.M. Tullsen, S.J. Eggers, J.S. Emer, H.M. Levy, J.L. Lo, and R.L. Stannn, 'Exploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading Processor,' Proc. 23rd Annual International Symposium on Computer Architecture, pp. 191-202, May 1996
  4. H. Hirata, K. Kimura, S. Nagamme, Y. Mochizuki, A. Nishimura, Y. Nakase, and T. Nishizawa, 'An Elementary Processor Architecture with Simultaneous Instruction Issuing from Multiple Threads,' Proc. 19th Annual International Symposium on Computer Architecture, pp. 136-145, May 1992
  5. Clearwater Networks, Inc. 'Introducing the CNP810 Farnily of Network Services Processors', http://www.clearwaternetworks.con/c1earwater_overview.pdf, June 2001
  6. Mike Johnson, Superscalar Microprocessor Design, pp. 107-108, Prentice-Hall, Inc. 1991
  7. ARM, ARM Developer Suit version 1.1, Compiler, Linker and Utilities Guide, 1999