|
|
1.流水线结构 pipeline; s, ?! W" k; ~; w
- MIPS 是最简单的体系结构之一,所以使大学喜欢选择 MIPS 体系结构来介绍计算体系结构课程。/ }3 ?2 E1 Z& K. ~1 {6 X! t
- ARM has barrel shifter
3 B o' V1 z3 @shifter是两面性的,一方面它可以提高数学逻辑运算速度,另一方面它也增加了硬件的复杂性。所以和可以完成同样功能的adder/shift register相比,效率更高,但是也占用更多的芯片面积。
' n5 Y' O/ J. v7 v4 \0 G p
6 Y! l2 k& @! ~0 g4 L, g5 @! D- MIPS have "branch delay slot" and "load delay slot". I; c+ X1 }9 w. Y4 ]' r# u
MIPS使用编译器来解决上面的两个问题。因为MIPS最初的设计思想就是使用简单的RISC硬体,然后靠编译器及其他软体技术,来达成RISC的完整概念。
( l) |0 K4 D# `( N5 ~
# U; s+ w/ M! G/ D8 `4 e2.指令结构 instruction
/ N' T, Z: O j+ W, K- MIPS have 32bit and 64bit architecture,but ARM only have 32bit architecture; b+ A6 }+ \5 y6 O1 C7 l
ARM11 局部64位9 ]. U2 i S" u
- MIPS是开放式的架构,用户可以在开发的内核中加入自己的指令,
: A M* j2 k& T' M! C0 c, q9 N- ARM has 4-bit condition code in every instruction W+ x+ A1 R V( \8 S8 s; b6 x# Y
ARM 在这一点很像x86。MIPS在MIPS IV也加入"conditional move"指令,来提高pipeline的效率。
! z& L' G8 j; {" L/ K5 U- ARM has pre- and post-increment addressing modes
+ }1 P9 o1 h9 D: g% Uauto-increment/decrement on load/store instructions
L' y. z; G& a! v5 r- 在节省代码空间方面,MIPS16 很类似ARM Thumb- `/ Z2 Q9 g3 ~1 t
& I& x7 E# p2 j* d+ r3.寄存器 register0 e2 m& _4 L( g& Z3 D1 o
-由于MIPS内核中有32个注册器(Register),而ARM只有16个,这种结构设计上的先天优势,决定了在同等性能表现下,MIPS的芯片面积和功耗会更小。
- o$ N8 \2 ^; N/ Q/ ^0 D9 o- ARM 有一组特殊用途寄存器cp0-cp15,可以使用MCR,MRC等指令控制;相对应的,MIPS也有cp0 0-30,使用mfc0,mtc0 指令控制。7 ~- P# ^- l1 F2 S( m1 B% T
/ H2 J. U( R* v2 Y- Register banking in ARM. r8-r12 FIQ mode;r13:SP r14 R& M% ^* ?0 ~0 n) W/ `
感觉不出banked register有什么好处。% k# q* q9 q7 O8 i
- B# K! u* a& h+ _6 Q8 m& o% y5 r: y
- MIPS has a hard-wired-to-zero register ,but ARM not$ N* B3 p( U* R8 Y* A6 y, G
MIPS use register $0 for Zero6 B0 J- H/ U8 ^3 _. n
5 B( @: b8 A8 x! B, D9 x" G
4.地址空间 address space
7 s1 L0 Q" G0 d- MIPS 起始地址是0xbfc00000,会有4Mbyte的大小限制,但一般MIPS芯片都会采取一些方法解决这个问题。
( W+ @. F. ]" W' `8 w7 ~9 WARM没有这种问题。
$ N* \: ~; P K3 t: y. PMIPS24K 起始地址改到了0xbf000000,现在有16Mbyte的空间了。- X6 j! ~8 [% J6 U$ F
" L1 e2 q5 M/ R6 d, k- MIPS don''''''''''''''''t have to turn paging on to enable the cache.# n5 p2 ?& i c `# x4 W0 g, P6 P
MIPS have the address space for both cache and un-cache* {( k- j: N, D/ x9 M
but ARM need enable/disable cache
, N4 n% [/ l! I4 h# K2 ?6 U2 A+ w, W5 t9 J
5.功能 function0 o1 N% D$ v2 z. N
- Float point: MIPS64 has.
* \5 y/ p( p6 A3 }- `ARM''''''''''''''''s support for FP is limited, and usually not included, and it is a 32 bit architecture i/ x& l4 r3 X2 j+ c
- ARM use JTAG,MIPS use EJTAG。Debug工具一般两种都支持。使用起来感觉差不多。
F& x" R; t3 @) B; e1 D2 ?2 M" S! h7 |$ w
6.性能 performance* t( O% q) ~5 C) Y9 G
- 具体性能比较,因为差异性太大,所以很难分出谁好谁坏。从个人经验来讲 MIPS4k和ARM9基本上是同一个级别的,但ARM9性能似乎要比MIPS4K好。
/ ~1 C) i- {0 w! T同样是32bit的MIPS24K性能上比MIPS4K有很大提升,也应该比ARM9要好些。5 L3 ^+ S3 K: t) n$ z3 g8 L
因为没有用过ARM11和MIPS34K的芯片,没法比较,但感觉这两个似乎是一个级别的。
( T* t. k" h: e
8 u' u8 }; ^4 L1 {9 N1 _6 d0 i# u7.应用
9 `5 u3 t) r7 d6 l& w- 在1000MHz以上的应用,很难找到采用ARM架构的产品。5 H" [7 z: d; {% Q
MIPS架构用在200MHz或者是266MHz以下的应用比较少,而这恰恰是ARM的主攻市场。3 B. D. ~3 O* B( i
- ARM 在手机等便携式领域,MIPS 在住宅网关、线缆调制解调器、线缆机顶盒等: I4 h$ o: p! _1 G+ F7 ^
- ARM 采用硬核授权;MIPS 采用软核授权,用户可以自己配置,做自己的产品。
; x- W- F1 p9 q$ T% J0 Y |
|