MIPS Core군 정리


md00082-2b-mips32int-afp-02.00-spring79y.pdf


architecture_presentation-spring79y.pdf


업무 특성으로 인해 수많은 processor들을 만나게 되는데 특히 MIPS core가 탑재된 processor를 만나면 그 종류가 너무 많아 항상 헷갈리고 정리가 되지 않는다. 그래서 이번 기회에 MIPS core에 대해 한번 정리 해보고자 한다.

 

MIPS Cores

MIPS Technology는 저전력, 고성능 임베디드 마이크로프로세서로써 다양한 임베디드 제품을 디자인하기 위해 널리 사용되는 architecture이다.

일반적으로 MIPS32, MIPS64로 불리는 것은 License를 말하는 것이며 개별적인 core를 나타내는 것은 아니다. (마치 ARM7, ARM9으로 이야기 하듯이..) license architecture의 특징은 아래와 같다. 

MIPS32 Architecture

MIPS64 Architecture

l  MIPS I, MIPS II ISA

l  32 bit 길이의 32개 범용레지스터 사용

l  Floating-point 지원(32 single precision 32 bit 또는 16 double precision 64 bit floating point registers)

l  MIPS IV, MIPS V ISA

l  64 bit 길이의 32개 범용 레지스터 사용

Floating-point 지원(32 double precision 64 bit floating point registers)

 

MIPS32 license를 활용한 Core로는 아래와 같이 MIPS32-4K, MIPS32-24K, MIPS32- 34K, MIPS32-74K, MIPS32-1004K가 있고 MIPS64 license를 활용한 Core로는 MIPS64- 5K, MIPS64-20K가 있다.


 

 

MIPS Core Family



MIPS32 MIPS32-4K, MIPS32-24K, MIPS32-34K가 널리 사용되고 있는데 각 Core별로 아래와 같은 특징을 지닌다.  

MIPS32-4K

MIPS32-24K

MIPS32-34K

l  상대적으로 개발이 쉽고 time to market에 가장 적합함

l  현존하는 MIPS Core 중 가장 많이 사용되고 있음

l  주로 PMP, NAVI등으로 제품화

l  5-stage pipeline

l  Tailored SOC로 개발되며 주로 set-top box, DVD player, router등 다양한 형태로 제품화 되고 있음.

l  8-stage pipeline

l  Real time이 요구되는 target에 적합.

l  Multi-threading이 지원되며 가장 뛰어난 성능을 보장한다.

l  9-stage pipeline

 

 MIPS32-4K는 아래와 같이 세 개의 core 군으로 나뉜다.

l        MIPS32-4Kp : MIPS32-4K의 가장 기본이 되는 Core로써 반복곱셈기(iterative multiply) small FMT(Fixed Map Translation) MMU를 지원한다. 저전력이며 가장 작은 size를 가진다.

l        MIPS32-4Km : 4Kp를 포함하며 추가로 fast Multiply/Divide Unit을 지원한다.

l        MIPS32-4Kc : 4Km을 포함하여 추가로 TLB MMU를 지원한다.

 

MIPS32-4K 24K에서 더욱 향상된 성능을 가지는(Enhanced) core군으로는 MIPS32-4KE MIPS32-24KE가 있다.

MIPS32-4KE(MIPS32-24KE) MIPS32-4K(MIPS32-24K)에서 code compression(16 bit instruction set), 32 bit 레지스터의 multiple set, 확장된(최대 64Kbyte) write-back cache memory, extensive clock gating(Enhanced feature)이 추가로 지원된다.

MIPS32-4KE 또한 세 개의 core군으로 나뉘는데 아래와 같다.

l         MIPS32-4KEp : Enhanced feature가 추가되었으며 그 외 MIPS32 4Kp와 동일

l         MIPS32-4KEm : Enhanced feature가 추가되었으며 그 외 MIPS32 4Km과 동일

l         MIPS32-4KEc : Enhanced feature가 추가되었으며 그 외 MIPS32 4Kc와 동일. Linux, WinCE를 탑재할 경우에는 대부분 MIPS32 4KEc가 사용된다.

 

MIPS32-24K 또한 아래와 같이 세 개의 core 군으로 나뉜다.

l        MIPS32-24Kc : 고성능 32x32 multiply/divide unit TLB MMU가 지원되는 MIPS32-24K base core.

l        MIPS32-24Kf : MIPS32-24Kc에서 Hardware floating point가 추가 지원 된다.

l        MIPS32-24K Pro : 24Kc 24Kf의 특징을 모두 포함하며 CorExtend가 탑재 되었다.

 MIPS32-24K MIPS32-4K처럼 Enhanced feature가 추가된 Core가 존재하며, MIS32-24KEc, MIPS32-24KEf, MIPS32-24KE pro의 세 core 군으로 나뉜다. Linux, WinCE를 탑재 할 경우 MIPS32-24KEc 또는 MIPS32-24KE pro가 많이 사용된다.

 

MIPS32-34KEnhanced feature가 추가된 Core가 따로 없다. 하지만 역시 34Kc, 34Kf, 34K pro 3가지 core군이 존재하며 MIPS32-34Kc MIPS MT MIPS ASEs가 구현된 MIPS32-34K base core이다. 34Kf 34K pro 24Kf/24K pro와 동일한 특징을 가진다.


위로 스크롤