A Study on 16/32 bit Bi-length Instruction Set Computer 32 bit Micro Processor

16/32비트 길이 명령어를 갖는 32비트 마이크로 프로세서에 관한 연구

  • 조경연 (부경대학교 컴퓨터멀티미디어공학부)
  • Published : 2000.02.01

Abstract

he speed of microprocessor getting faster, the data transfer width between the microprocessor and the memory becomes a critical part to limit the system performance. So the study of the computer architecture with the high code density is cmerged. In this paper, a tentative Bi-Length Instruction Set Computer(BISC) that consists of 16 bit and 32 bit length instructions is proposed as the high code density 32 bit microprocessor architecture. The 32 bit BISC has 16 general purpose registers and two kinds of instructions due to the length of offset and the size of immediate operand. The proposed 32 bit BISC is implemented by FPGA, and all of its functions are tested and verified at 1.8432MHz. And the cross assembler, the cross C/C++ compiler and the instruction simulator of the 32 bit BISC are designed and verified. This paper also proves that the code density of 32 bit BISC is much higher than the one of traditional architecture, it accounts for 130~220% of RISC and 130~140% of CISC. As a consequence, the BISC is suitable for the next generation computer architecture because it needs less data transfer width. And its small memory requirement offers that it could be useful for the embedded microprocessor.

마이크로 프로세서의 동작 속도가 빨라지면서 메모리의 데이터 전송 폭이 시스템 성능을 제한하는 중요 인자로 대두되면서 코드 밀도가 높은 컴퓨터 구조에 대한 연구의 필요성이 증대되고 있다. 본 논문에서는 코드 밀도가 높은 32비트 마이크로 프로세서 구조로 16비트와 32비트 2종류 길이의 명령어를 가지는 가칭 2가지 길이 명령어 세트 컴퓨터(Bi-length Instruction Set Computer : BISC)를 제안한다. 32비트 BISC는 16개의 범용 레지스타를 가지며, 오프셋과 상수 오퍼랜드의 길이에 따라서 2종류의 명령어를 가진다. 제안한 32비트 BISC는 FPGA로 구현하여 1.8432MHz에서 모든 기능이 정상적으로 동작하는 것을 확인하였고, 크로스 어셈블러와 크로스 C/C++ 컴파일러 및 명령어 시뮬레이터를 설계하고 동작을 검증하였다. BISC의 코드 밀도는 기존 RISC의 130~220%, 기존 CISC의 130~140%로 높은 장점을 가진다. 따라서 데이터 전송 폭을 적게 요구하므로 차세대 컴퓨터 구조로 적합하고, 프로그램 메모리 크기가 작아지므로 실장 제어용 마이크로 프로세서에 적합하기 때문에 폭 넓은 활용이 기대된다.

Keywords

References

  1. D. Patterson, 'Reduced Instruction Set Computer,' Comm. ACM, Vol.28, No.1, pp.8-21, Jan. 1985 https://doi.org/10.1145/2465.214917
  2. Dezso Sima et aI., 'Superscalar Instruction Issue,' IEEE Micro, pp.28-39, Oct. 1987 https://doi.org/10.1109/40.621211
  3. B. Gieseke et al., 'A 600MHz Superscalar RISC Microprocessor with out-of-order execution,' ISSCC Digest Tech. Papers, pp.176-177, Feb. 1997
  4. C. A. Maier et aI., 'A 533MHz BiCMOS Superscalar RISC Microprocessor,' IEEE Journal of Solid-State Circuits, Vol.32, No.11, pp.1625-1634, Nov. 1997 https://doi.org/10.1109/4.641683
  5. Charles F. Webb et aI., 'A 400MHz S/390 Microprocessor,' IEEE Journal of Solid-State Circuits, Vol.32, No.11, pp.1665-1675, Nov, 1997 https://doi.org/10.1109/4.641686
  6. Paul E. Gronowski et aI., 'High-Performance Microprocessor Design,' IEEE Journal of Solid-State Circuits, Vol.33, No.5, pp.676-686, May 1998
  7. Doug Burger, 'Limited Bandwidth to Affect Processor Design,' IEEE Micro, pp.55-62, Dec. 1997 https://doi.org/10.1109/40.641597
  8. Manfred Schlett, 'Trends in Embedded-Microprocessor Design,' IEEE Computer, pp.44-50, Aug. 1998 https://doi.org/10.1109/2.707616
  9. S. Segars et aI., 'Embedded Control Problems, Thumb, and the ARM7TDMI,' IEEE Micro, pp.22-30, Oct. 1995 https://doi.org/10.1109/40.464580
  10. ftp://cair-archive.kaist.ac.kr/pub/gnu/egcs/releases/egcs-1.1b/egcs-1.1b.tar.gz
  11. ftp://ftp.cygnus.com/pub/newlib/newlib-1.8.1.tar.gz
  12. ftp://cair-archive.kaist.ac.kr/pub/gnu/released/libstdc++-2.8.1.tar.gz
  13. ftp://cair-archive.kaist.ac.kr/pub/gnu/released/gdb-4.17.tar.gz