|
|
1.流水线结构 pipeline7 T$ Y4 \& w) O* `1 f
- MIPS 是最简单的体系结构之一,所以使大学喜欢选择 MIPS 体系结构来介绍计算体系结构课程。2 X# y o! R& k2 f9 U* U
- ARM has barrel shifter0 V+ A* p5 {6 _+ r0 B9 A
shifter是两面性的,一方面它可以提高数学逻辑运算速度,另一方面它也增加了硬件的复杂性。所以和可以完成同样功能的adder/shift register相比,效率更高,但是也占用更多的芯片面积。" \/ B/ U+ [% V6 Z
" A8 l4 V/ F1 i, b3 y- MIPS have "branch delay slot" and "load delay slot"
9 _0 X. L! s) T6 B I. o0 c& wMIPS使用编译器来解决上面的两个问题。因为MIPS最初的设计思想就是使用简单的RISC硬体,然后靠编译器及其他软体技术,来达成RISC的完整概念。
- I2 o6 n6 Q, Z: H/ D: {" Q
- A* J9 M! {) _, i, r- J+ i6 U3 n2.指令结构 instruction8 S& i2 \ O; s" @7 @- A0 ^& c
- MIPS have 32bit and 64bit architecture,but ARM only have 32bit architecture
! p( c1 i: e1 D" `1 o& z+ o1 xARM11 局部64位
" F3 G I/ O$ [# z; ]0 d$ y* B- MIPS是开放式的架构,用户可以在开发的内核中加入自己的指令,
! h0 l* X A' ~3 H! }- ARM has 4-bit condition code in every instruction: ?% t7 I* p' Q* ^
ARM 在这一点很像x86。MIPS在MIPS IV也加入"conditional move"指令,来提高pipeline的效率。
9 r6 ~+ r3 |- l- O- ARM has pre- and post-increment addressing modes- A: b0 {$ ]0 p* r1 o+ w: ~
auto-increment/decrement on load/store instructions: O, F# }% t4 ~$ Y A
- 在节省代码空间方面,MIPS16 很类似ARM Thumb- }* _5 j! h- ^' V& c3 M! l/ X5 {
: ]& o7 U2 S2 y& Z! G; Q" G1 |3.寄存器 register
4 _4 W, g4 G( `6 m) J-由于MIPS内核中有32个注册器(Register),而ARM只有16个,这种结构设计上的先天优势,决定了在同等性能表现下,MIPS的芯片面积和功耗会更小。$ A2 Q5 `0 A, `6 H+ `1 ^1 [
- ARM 有一组特殊用途寄存器cp0-cp15,可以使用MCR,MRC等指令控制;相对应的,MIPS也有cp0 0-30,使用mfc0,mtc0 指令控制。
0 Y2 u* I |$ t$ N8 {4 [# N
8 W! i j/ t# X0 u6 \: P4 ]- Register banking in ARM. r8-r12 FIQ mode;r13:SP r14 R8 j' A" L! E8 ~/ V. ~1 ?: @
感觉不出banked register有什么好处。8 M' D- l) X2 }
k6 v5 ?+ o4 G4 ?2 @% c6 X4 m- MIPS has a hard-wired-to-zero register ,but ARM not$ v6 R; [) c1 X. R. f0 C" [2 S" T& A' }
MIPS use register $0 for Zero- G( R+ d9 M/ J* I# l! s/ ~$ @' u6 P
+ P9 p* A8 |6 C) n
4.地址空间 address space& x3 ?' M! [- j9 o- x
- MIPS 起始地址是0xbfc00000,会有4Mbyte的大小限制,但一般MIPS芯片都会采取一些方法解决这个问题。
1 Y1 X/ f3 S+ F7 J. j2 a2 KARM没有这种问题。
4 v, e4 r' L# ^" p4 s# l: D5 VMIPS24K 起始地址改到了0xbf000000,现在有16Mbyte的空间了。/ m1 i% W9 l1 p, v6 K
' |2 ^' z' N. K% k+ T; Z- MIPS don''''''''''''''''t have to turn paging on to enable the cache.! G2 ^( n0 i! E$ o3 h- x
MIPS have the address space for both cache and un-cache) [' M/ b; U8 l* {4 c
but ARM need enable/disable cache! H6 z$ y- p: g4 v5 k
* g6 u- S" W1 {1 i8 ^
5.功能 function4 \# W9 k+ _" ^' ^, Z
- Float point: MIPS64 has.
) N) e( u: S2 w- h& ?2 e( U# @ARM''''''''''''''''s support for FP is limited, and usually not included, and it is a 32 bit architecture
- a$ V4 S* F, Q8 y# e- ARM use JTAG,MIPS use EJTAG。Debug工具一般两种都支持。使用起来感觉差不多。
& ~$ K4 ~- B6 q8 e# U) R# \4 I! X: N! S5 M; y. M% x# ?0 _0 E
6.性能 performance
7 g' y C( Z5 r$ y0 q- 具体性能比较,因为差异性太大,所以很难分出谁好谁坏。从个人经验来讲 MIPS4k和ARM9基本上是同一个级别的,但ARM9性能似乎要比MIPS4K好。
$ q/ e5 _. n# J1 U同样是32bit的MIPS24K性能上比MIPS4K有很大提升,也应该比ARM9要好些。
/ k; l; i+ K6 ?: b9 ~; \因为没有用过ARM11和MIPS34K的芯片,没法比较,但感觉这两个似乎是一个级别的。
2 Q5 m1 {/ _5 D4 ?$ m0 r% p
" w+ I. ^2 {' ~' M! W4 I7.应用: g$ T8 x5 Q$ j
- 在1000MHz以上的应用,很难找到采用ARM架构的产品。
- O& b0 K9 d" t, f9 Q( C; WMIPS架构用在200MHz或者是266MHz以下的应用比较少,而这恰恰是ARM的主攻市场。
9 d2 Y! G2 }$ E# f) y- ARM 在手机等便携式领域,MIPS 在住宅网关、线缆调制解调器、线缆机顶盒等
; g- l; J# D% t$ r( E, [9 R. B- ARM 采用硬核授权;MIPS 采用软核授权,用户可以自己配置,做自己的产品。: _* [# ^- x+ A- ?! k' ?
|
|