我的一位朋友长期从事嵌入式开发工具和调试 工具的开发,对ARM、MIPS、PowerPC等32位以上RISC CPU内核或平台颇有研究。他曾经对我说,ARM芯片平台之所以在中国的32位嵌入式领域这么受欢迎,最主要就是它授权模式开展得比较早,此外获得ARM 授权的芯片厂商基本统一采用JTAG接口进行仿真调试,开放性和通用性好,开发板和仿真器的开发简便,因而第三方支持广泛,对最终用户来说也易于使用。
我很赞同他的观点,尽管如今嵌入式内核的提供商都纷纷推出更低功耗、更低成本、更高性能的版本,这家宣称超标量架构强大,那家标榜多线程技术更佳,但很多 内核平台的开放性并不太好,例如MIPS只支持增强型JTAG(EJTAG)仿真接口,但被授权的芯片厂商常常会修改一部分EJTAG协议,并且只对少数 指定的第三方公开修改的部分,因而造成目前MIPS开发工具支持不够广泛的局面;IBM的Power架构采用了绝缘硅(SOI)工艺技术,与ARM及 MIPS等通用性架构相比,一般公司难以采用;另外,新锐Tencilica的可配置内核也遭到非议,即它们被用作主CPU内核的时候,由于用户形成的指 令集和软件库太多,不同指令集的兼容性问题难以解决,势必造成第三方工具支持不好、调试起来很复杂的情况。
而要想得到用户特别是中国工程师的认可,形成完整的设计链至关重要,因为这样才能达到内核开发平台性能和价格的最佳平衡,符合用户的需求(有业内人士称, 普遍来说,嵌入式开发工具若超过万元人民币在中国就很难卖得动);另外,在消费电子产品迅速窜红的今天,帮助开发者缩短设计周期和上市时间无疑是在这一领 域寻找更多商机的内核供应商们的竞争利器。实现这两点,开放性以及开发工具的广泛性和易用性就是成功的关键。
如今,ARM公司除了自身推出的硬件开发工具(Multi-ICE/RealView ICE)和软件开发环境(ADS1.2/RDS、ARMCC),在全球和中国已凝聚了众多第三方或代理商争相推出性价比出色但用法统一的评估板和仿真器, 而支持ARM内核的集成开发环境(IDE)、编译器、RTOS、软件仿真器、启动/驱动代码产品也是层出不穷,可以说一条完整的设计链已经形成,进入一种 良性循环。r
就RTOS支持方面举例,Windows CE可支持多种嵌入式CPU,但基于Windows CE的Pocket PC则只支持ARM一种。据称,微软在对SH3、MIPS、ARM等嵌入式处理器做了评估后认为,ARM是一种性价比较好的选择。微软的考虑是有道理的, 由于ARM在手持设备芯片平台中占有绝对的份额(用户可以在多家芯片厂商中进行选择),只支持ARM可以有效地缩短应用程序开发与测试的时间,也降低了研 发费用。
一向以性能著称的Power和MIPS阵营似乎看到了自己的不足,已开始做出一系列努力。IBM推动成立了Power架构促进组织 (Power.org),成员包括索尼、美国Novell、Linux供应商红帽子、EDA供应商新思科技,以及新加坡特许半导体等15家从开发到生产的 各环节企业。Power.org欲以一种开发姿态建立起以Power架构为中心的技术合作系统,“联盟成员共同决定未来的技术发展方向和路线”。
MIPS(比如君正的芯片)价格有绝对的竞争力
聚芯的SOC,一片顶两片ARM
在低端的芯片ARM有绝对的占有率
PowerPC比mips更适合高端处理器
但MIPS的在市场上卖的芯片,低端少,中高端多,品种没ARM多
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 R
感觉不出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技术。从现在的发展来看,多内核占上风。
分享到:
相关推荐
本文将深入探讨三种常见的处理器架构——ARM、PowerPC和MIPS,以及与它们相关的反汇编工具。这些工具对于理解和调试针对不同架构编译的二进制代码至关重要。 首先,ARM(Advanced RISC Machines)架构是一种广泛...
### ARM、MIPS、PowerPC 的比较及其在嵌入式领域的应用 #### 一、ARM、MIPS、PowerPC 概述 **ARM (Advanced RISC Machines):** - **定位:** 主要面向低端消费类市场,如智能手机、平板电脑、各种物联网设备等。 - ...
反汇编Linux/Windows OS运行的32位/64位程序/动态库文件,CPU类型:ARM PowerPC MIPS X86 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有CORE文件解调用栈、文本比较等功能。V2.0.2相对上一版本,完善ARM64、...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.24.00相对上一版本,进一步完善COREDUMP文件解析与应用,提供堆栈...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。相对上一版本,菜单调整,完善64位ELF文件解析,解析调试信息;另部分...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.24.01相对上一版本,进一步完善COREDUMP文件解析与应用,提供部分...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.23.02相对上一版本,提供源代码行查询指令地址,OBJ/COREDUMP文件...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.22相对上一版本,修复MIPS小端字节序反汇编错误,网上最新版本提示...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.23.03相对上一版本,提供32位X86反汇编;V1.23.02相对上一版本,...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS X86 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.25.07相对上一版本,增加二进制反汇编、IQ数据解析功能,完善...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.25.00相对上一版本,相关功能支持动态库文件,查询代码支持无符号...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。 相对上一版本,菜单调整,完善64位ELF文件解析; 另部分增强功能的...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.23.00相对上一版本,提供程序地址对应源代码行查询,修复MIPS调试...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.23.01相对上一版本,提供ELF文件指令修改,修复ARM MLS指令反汇编...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.24.02相对上一版本,针对进程主动捕捉异常的信息定制处理进一步...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS X86 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.26.00相对上一版本,增强EXE反汇编,增加dbx老邮件解析、...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.25.02相对上一版本,COREDUMP统计、匹配目标文件等相关功能优化,...
反汇编Linux/Windows OS运行的32位/64位程序/动态库文件,CPU类型:ARM PowerPC MIPS X86 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有CORE文件解调用栈、文本比较等功能。V2.0.3相对上一版本,完善ARM64、...
本篇文章主要讨论四种常见的32位嵌入式微处理器架构:ARM、MIPS、PowerPC和DSP。 首先,ARM处理器是目前市场上最广泛使用的嵌入式处理器之一,由英国ARM公司设计。ARM采用精简指令集计算(RISC)架构,以其高效、低...
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS X86 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.26.01相对上一版本,增加ARM64反汇编、64位core文件解析;V...