|
|
1.流水线结构 pipeline
# H. ]: S: c1 i0 s: D, K1 k& {- MIPS 是最简单的体系结构之一,所以使大学喜欢选择 MIPS 体系结构来介绍计算体系结构课程。
& I! e& z# _( H) ~% B& N) [- ARM has barrel shifter6 r9 G3 F% U9 E$ o
shifter是两面性的,一方面它可以提高数学逻辑运算速度,另一方面它也增加了硬件的复杂性。所以和可以完成同样功能的adder/shift register相比,效率更高,但是也占用更多的芯片面积。3 a- A; P$ D; o# A, {" d
8 S a) `$ A/ \7 ~- MIPS have "branch delay slot" and "load delay slot"
$ E1 {7 h) }& k6 c zMIPS使用编译器来解决上面的两个问题。因为MIPS最初的设计思想就是使用简单的RISC硬体,然后靠编译器及其他软体技术,来达成RISC的完整概念。
* t2 t* g6 T5 k- S& W V
& c* {2 Y' r/ |. u* ?$ ?7 l2.指令结构 instruction
5 J% ]( i! w. d- M6 w) i- MIPS have 32bit and 64bit architecture,but ARM only have 32bit architecture! G, t0 A( v8 I0 {! m
ARM11 局部64位' b0 @5 g M- s5 m9 N
- MIPS是开放式的架构,用户可以在开发的内核中加入自己的指令,5 M: t* b+ D( g* t' u& t8 F! |; |/ ^
- ARM has 4-bit condition code in every instruction9 P* f- q" r# `! N" L# X$ p
ARM 在这一点很像x86。MIPS在MIPS IV也加入"conditional move"指令,来提高pipeline的效率。
( ]) f; l) \, P# V( y* i4 D" ` Y- ARM has pre- and post-increment addressing modes
6 \" ?3 @" w4 L/ \9 }2 fauto-increment/decrement on load/store instructions3 F- h$ ~3 U( Y9 B; r Z
- 在节省代码空间方面,MIPS16 很类似ARM Thumb
6 W6 J. c& S% g& ^7 V9 f
/ N! j( ~2 c& h; k2 r' {3.寄存器 register8 _" {* P2 \9 r0 G% [
-由于MIPS内核中有32个注册器(Register),而ARM只有16个,这种结构设计上的先天优势,决定了在同等性能表现下,MIPS的芯片面积和功耗会更小。9 O( t; T* w( W& R
- ARM 有一组特殊用途寄存器cp0-cp15,可以使用MCR,MRC等指令控制;相对应的,MIPS也有cp0 0-30,使用mfc0,mtc0 指令控制。' L: H& B* j. ~
: {8 h1 ?$ ?5 O8 s- f1 v! i% P+ O) o- Register banking in ARM. r8-r12 FIQ mode;r13:SP r14 R* _) K. ~7 T* Y! u
感觉不出banked register有什么好处。
" X8 ~( X6 T& ~) ^3 b
2 a0 I* q2 s. S3 v. G- p# Y: u- MIPS has a hard-wired-to-zero register ,but ARM not# Q# S% v2 S M U6 Y1 P
MIPS use register $0 for Zero/ J7 k, Q# B3 g G# S, g2 C |
1 v) H/ D M- f
4.地址空间 address space
1 v3 N+ {+ w6 N& y: A2 ]& X0 C- MIPS 起始地址是0xbfc00000,会有4Mbyte的大小限制,但一般MIPS芯片都会采取一些方法解决这个问题。7 r8 O1 U8 M1 A. d* j* l( N9 i
ARM没有这种问题。
E! f& A0 @+ Q3 B. UMIPS24K 起始地址改到了0xbf000000,现在有16Mbyte的空间了。8 ~( |5 p! X/ L1 {; L
- W8 N: O( Z3 h! p- MIPS don''''''''''''''''t have to turn paging on to enable the cache.; D6 }3 D0 m6 b2 M0 V* E$ @1 l: L, k
MIPS have the address space for both cache and un-cache( q" e2 U# s; @) j. t$ W2 j
but ARM need enable/disable cache. R6 I" ]+ x# ?& g( w& q+ D
3 k/ i" i# ~/ l5.功能 function7 \& e, ^1 z$ E. w( G6 _
- Float point: MIPS64 has.$ Q! Z& a, l6 ~1 n; N3 J9 l% N
ARM''''''''''''''''s support for FP is limited, and usually not included, and it is a 32 bit architecture2 k# B- X3 L4 ]% C
- ARM use JTAG,MIPS use EJTAG。Debug工具一般两种都支持。使用起来感觉差不多。6 b* m1 o& ^/ Q
3 W- U/ K. L2 E) \2 P: h4 l$ g
6.性能 performance ?- s, t5 s' O5 a: M% ~
- 具体性能比较,因为差异性太大,所以很难分出谁好谁坏。从个人经验来讲 MIPS4k和ARM9基本上是同一个级别的,但ARM9性能似乎要比MIPS4K好。
2 e: P8 y3 A) c, ~同样是32bit的MIPS24K性能上比MIPS4K有很大提升,也应该比ARM9要好些。
; x- V! }- t! @6 S6 r+ B b因为没有用过ARM11和MIPS34K的芯片,没法比较,但感觉这两个似乎是一个级别的。
+ V6 |" K$ \) R' P, N/ ~+ C5 c, ~0 \% [
7.应用' p5 }! g- ^/ l; I
- 在1000MHz以上的应用,很难找到采用ARM架构的产品。4 E& C; ^0 e' j5 @- X2 S
MIPS架构用在200MHz或者是266MHz以下的应用比较少,而这恰恰是ARM的主攻市场。
0 W! H5 r7 l( E! S% S- x# ^- ARM 在手机等便携式领域,MIPS 在住宅网关、线缆调制解调器、线缆机顶盒等+ H o( O& u4 P/ y! s4 t3 K
- ARM 采用硬核授权;MIPS 采用软核授权,用户可以自己配置,做自己的产品。
- h/ h; w" t7 H) g/ @ |
|