|
1.流水线结构 pipeline
[2 V8 R2 ]1 R9 m: m8 v- MIPS 是最简单的体系结构之一,所以使大学喜欢选择 MIPS 体系结构来介绍计算体系结构课程。
7 b* D- e6 X8 G5 \- ARM has barrel shifter
+ m6 N. a5 U) F5 J/ ushifter是两面性的,一方面它可以提高数学逻辑运算速度,另一方面它也增加了硬件的复杂性。所以和可以完成同样功能的adder/shift register相比,效率更高,但是也占用更多的芯片面积。7 F# S6 [7 S% r! W1 N3 E% k
$ m. Q- ~1 E5 v! N# U- MIPS have "branch delay slot" and "load delay slot"2 w0 o4 p3 h" f+ y( |2 d
MIPS使用编译器来解决上面的两个问题。因为MIPS最初的设计思想就是使用简单的RISC硬体,然后靠编译器及其他软体技术,来达成RISC的完整概念。
/ p3 Z2 h' Z j+ b
0 |& m' P4 C$ E$ v7 m2.指令结构 instruction
( B6 g) M: U+ ?1 [7 x4 r- MIPS have 32bit and 64bit architecture,but ARM only have 32bit architecture% x4 V* x, z5 H9 |- D( N
ARM11 局部64位
( a9 V3 \ [( G: L1 S% R& O' w- MIPS是开放式的架构,用户可以在开发的内核中加入自己的指令,
& f1 |: M3 ^. p( j! a7 p! p/ [- ARM has 4-bit condition code in every instruction
4 O, v7 d g* a0 D& cARM 在这一点很像x86。MIPS在MIPS IV也加入"conditional move"指令,来提高pipeline的效率。3 H) x4 Z3 G+ Q/ k2 L+ q6 L
- ARM has pre- and post-increment addressing modes
- Z1 n# P- h1 ]2 M7 @, S+ tauto-increment/decrement on load/store instructions; u; B/ U; A3 V3 x
- 在节省代码空间方面,MIPS16 很类似ARM Thumb/ r: A! X. h6 B; d& I$ E
1 x; y R( ] ?2 h+ e
3.寄存器 register
* k3 o; a# v/ b5 ^9 K" B-由于MIPS内核中有32个注册器(Register),而ARM只有16个,这种结构设计上的先天优势,决定了在同等性能表现下,MIPS的芯片面积和功耗会更小。
& H: o1 }$ ~0 }" ?% E1 P- ARM 有一组特殊用途寄存器cp0-cp15,可以使用MCR,MRC等指令控制;相对应的,MIPS也有cp0 0-30,使用mfc0,mtc0 指令控制。. `7 u. ^6 H/ `7 i& B$ {
4 i0 ]4 m7 y6 B8 d4 Y- Register banking in ARM. r8-r12 FIQ mode;r13:SP r14 R7 v3 \$ W g% D) I) A- S
感觉不出banked register有什么好处。! H7 @% j" _0 p0 ^$ B
# A+ b* b& n0 T9 `
- MIPS has a hard-wired-to-zero register ,but ARM not9 R6 O2 z% W% D7 O5 G- X+ `
MIPS use register $0 for Zero* ~3 m% t' } {
' Y8 w$ `, k$ I# ]4 q
4.地址空间 address space+ d3 e# U1 h) m. a! E5 C
- MIPS 起始地址是0xbfc00000,会有4Mbyte的大小限制,但一般MIPS芯片都会采取一些方法解决这个问题。
* d$ g/ g- k& a) b4 y" YARM没有这种问题。
: `6 P1 T- v' s; E+ H& D# \% L" EMIPS24K 起始地址改到了0xbf000000,现在有16Mbyte的空间了。
5 a, j0 c- g/ f$ B+ g
; U( _) }3 x2 e9 ?7 G' ]7 u. T# A3 l- MIPS don''''''''''''''''t have to turn paging on to enable the cache.
* K# E. {1 d+ Y- E# q ]MIPS have the address space for both cache and un-cache& @ ]" R8 T- y' [0 F, Y, Q2 d
but ARM need enable/disable cache
) L% b+ X( l4 u8 f
8 z& u* ~6 Q4 E/ F9 M% j5.功能 function
* Z& ?: j" @5 i# y' I- Float point: MIPS64 has.
" y% X1 U- f$ h8 y2 E" tARM''''''''''''''''s support for FP is limited, and usually not included, and it is a 32 bit architecture( H( ~0 ?6 S# S: x+ Z
- ARM use JTAG,MIPS use EJTAG。Debug工具一般两种都支持。使用起来感觉差不多。6 |% m; v* \* F" s
) O- q5 l3 p/ d7 M5 w6.性能 performance
) h" M8 |3 O1 T9 `% L8 r; ~- 具体性能比较,因为差异性太大,所以很难分出谁好谁坏。从个人经验来讲 MIPS4k和ARM9基本上是同一个级别的,但ARM9性能似乎要比MIPS4K好。. G3 A9 q. f( X. E1 Y! [$ S* G4 G3 J
同样是32bit的MIPS24K性能上比MIPS4K有很大提升,也应该比ARM9要好些。
8 N/ ^: \) G# q因为没有用过ARM11和MIPS34K的芯片,没法比较,但感觉这两个似乎是一个级别的。
" H5 F( @4 L& R9 i
" p, z. M7 K$ A+ _) p; j7.应用2 P" V. j2 B8 T/ c8 o2 _
- 在1000MHz以上的应用,很难找到采用ARM架构的产品。
% t. C# l. J7 t" g1 _3 e+ eMIPS架构用在200MHz或者是266MHz以下的应用比较少,而这恰恰是ARM的主攻市场。
( a) p$ l! a2 f3 O- ARM 在手机等便携式领域,MIPS 在住宅网关、线缆调制解调器、线缆机顶盒等
$ Q1 O& J9 w$ D$ w' a9 M/ n- ARM 采用硬核授权;MIPS 采用软核授权,用户可以自己配置,做自己的产品。4 k- U0 D" |6 A5 s" O
|
|