Showing posts with label ARM. Show all posts
Showing posts with label ARM. Show all posts

Thursday, December 2, 2010

Matlab and ARM

 

image image

MatLab products, long dominant in simulations, were extending their usefulness into the evolving electronic design automation (EDA) market. A number of traditional EDA vendors were creating links between their products and MatLab, allowing engineers to use the same language for simulation and implementation.

Saturday, August 16, 2008

ARM 与 MIPS 比较

[前言] 很多人现在都开始关注低功耗架构,众所周知,ARM和MIPS这是这个领域的竞争对手。同样是搞IP开发,对两者的架构有一个透彻的理解则显得越来越重要。

[正文]
1.流水线结构 pipeline - MIPS 是最简单的体系结构之一,所以使大学喜欢选择 MIPS 体系结构来介绍计算体系结构课程。 - ARM has barrel shifter shifter是两面性的,一方面它可以提高数学逻辑运算速度,另一方面它也增加了硬件的复杂性。所以和可以完成同样功能的adder/shift register相比,效率更高,但是也占用更多的芯片面积。 - MIPS have "branch delay slot" and "load delay slot" MIPS使用编译器来解决上面的两个问题。因为MIPS最初的设计思想就是使用简单的RISC硬体,然后靠编译器及其他软体技术,来达成RISC的完整概念。

2.指令结构 instruction
- MIPS have 32bit and 64bit architecture,but ARM only have 32bit architecture ARM11 局部64位
- MIPS是开放式的架构,用户可以在开发的内核中加入自己的指令,
- ARM has 4-bit condition code in every instruction ARM 在这一点很像x86。MIPS在MIPS IV也加入"conditional move"指令,来提高pipeline的效率。
- ARM has pre- and post-increment addressing modes auto-increment/decrement on load/store instructions
- 在节省代码空间方面,MIPS16 很类似ARM Thumb

3.寄存器 register
-由于MIPS内核中有32个注册器(Register),而ARM只有16个,这种结构设计上的先天优势,决定了在同等性能表现下,MIPS的芯片面积和功耗会更小。
- ARM 有一组特殊用途寄存器cp0-cp15,可以使用MCR,MRC等指令控制;相对应的,MIPS也有cp0 0-30,使用mfc0,mtc0 指令控制。
- Register banking in ARM. r8-r12 FIQ mode;r13:SP r14:LR 感觉不出banked register有什么好处。
- MIPS has a hard-wired-to-zero register ,but ARM not MIPS use register $0 for Zero

4.地址空间 address space
- MIPS 起始地址是0xbfc00000,会有4Mbyte的大小限制,但一般MIPS芯片都会采取一些方法解决这个问题。 ARM没有这种问题。 MIPS24K 起始地址改到了0xbf000000,现在有16Mbyte的空间了。
- MIPS don't have to turn paging on to enable the cache. MIPS have the address space for both cache and un-cache but ARM need enable/disable cache

5.功能 function
- Float point: MIPS64 has. ARM's support for FP is limited, and usually not included, and it is a 32 bit architecture
- ARM use JTAG,MIPS use EJTAG。Debug工具一般两种都支持。使用起来感觉差不多。

6.性能 performance
- 具体性能比较,因为差异性太大,所以很难分出谁好谁坏。从个人经验来讲 MIPS4k和ARM9基本上是同一个级别的,但ARM9性能似乎要比MIPS4K好。 同样是32bit的MIPS24K性能上比MIPS4K有很大提升,也应该比ARM9要好些。 因为没有用过ARM11和MIPS34K的芯片,没法比较,但感觉这两个似乎是一个级别的。

7.应用
- 在1000MHz以上的应用,很难找到采用ARM架构的产品。 MIPS架构用在200MHz或者是266MHz以下的应用比较少,而这恰恰是ARM的主攻市场。
- ARM 在手机等便携式领域,MIPS 在住宅网关、线缆调制解调器、线缆机顶盒等
- ARM 采用硬核授权;MIPS 采用软核授权,用户可以自己配置,做自己的产品。

8.未来发展
- ARM的下一代走向多内核结构,而MIPS公司的下一代核心则转向硬件多线程功能(multithreading) MIPS 的multithreading 很类似Intel 的 HyperThreading技术。从现在的发展来看,多内核占上风。

9.总结
自己感觉ARM和MIPS在一开始的RISC的设计上有很多不同,但随着技术的发展,各自扬长避短,好的技术大家都会使用。比如ARM11和MIPS R1000就使用了很多一样的技术。感觉RISC做到了极至就都一样了。

另外补充一点,ARM这种硬核授权意味着别人无法自己设计硬件,如果使用了ARM的指令集,那么基本上就不能在开发硬件了,这点上MIPS有优势,比如计算所的龙芯就是这么来的.感觉未来发展是低功耗,手机毕竟不是服务器,搞多核没什么价值,显示方面加个Nvidia的芯片就够了,关键是处理器效能,这点只有硬件的进步才能有所提高,也是我们国产处理器的发展机会.所以搞MIPS的开发,应该更有助于国产芯片的发展.