ARM和MIPS分析与比较.
- 格式:doc
- 大小:16.00 KB
- 文档页数:3
一文讲解单片机、ARM、MUC、DSP、FPGA、嵌入式错综复杂的关系!首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。
但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都只保留需要的部分,而将不需要的部分裁去。
所以嵌入式系统一般都具有便携、低功耗、性能单一等特性。
然后,MCU、DSP、FPGA这些都属于嵌入式系统的范畴,是为了实现某一目的而使用的工具。
MCU俗称”单片机“经过这么多年的发展,早已不单单只有普林斯顿结构的51了,性能也已得到了很大的提升。
因为MCU必须顺序执行程序,所以适于做控制,较多地应用于工业。
而ARM本是一家专门设计MCU的公司,由于技术先进加上策略得当,这两年单片机市场份额占有率巨大。
ARM的单片机有很多种类,从低端M0(小家电)到高端A8、A9(手机、平板电脑)都很吃香,所以也不是ARM的单片机一定要上系统,关键看应用场合。
DSP叫做数字信号处理器,它的结构与MCU不同,加快了运算速度,突出了运算能力。
可以把它看成一个超级快的MCU。
低端的DSP,如C2000系列,主要是用在电机控制上,不过TI公司好像称其为DSC(数字信号控制器)一个介于MCU和DSP之间的东西。
高端的DSP,如C5000/C6000系列,一般都是做视频图像处理和通信设备这些需要大量运算的地方。
FPGA叫做现场可编程逻辑阵列,本身没有什么功能,就像一张白纸,想要它有什么功能完全靠编程人员设计(它的所有过程都是硬件,包括VHDL和Verilog HDL程序设计也是硬件范畴,一般称之为编写“逻辑”。
)。
如果你够NB,你可以把它变成MCU,也可以变成DSP。
由于MCU和DSP的内部结构都是设计好的,所以只能通过软件编程来进行顺序处理,而FPGA则可以并行处理和顺序处理,所以比较而言速度最快。
那么为什么MCU、DSP和FPGA会同时存在呢?那是因为MCU、DSP的内部结构都是由IC设计人员精心设计的,在完成相同功能时功耗和价钱都比FPGA要低的多。
史上最全!常见的嵌⼊式处理器对⽐分析...⽂末还有精彩福利哦!嵌⼊式处理器简介嵌⼊式处理器是嵌⼊式系统的核⼼,是控制、辅助系统运⾏的硬件单元。
范围极其⼴阔,从最初的4位处理器,⽬前仍在⼤规模应⽤的8位单⽚机,到最新的受到⼴泛青睐的32位,64位嵌⼊式CPU。
⾃微处理器的问世以来,嵌⼊式系统得到了飞速的发展,嵌⼊式处理器毫⽆疑问是嵌⼊式系统的核⼼部分,嵌⼊式处理器直接关系到整个嵌⼊式系统的性能。
通常情况下嵌⼊式处理器被认为是对嵌⼊式系统中运算和控制核⼼器件总的称谓。
世界上具有嵌⼊式功能特点的处理器已经超过1000种,流⾏体系结构包括MCU,MPU等30多个系列。
鉴于嵌⼊式系统⼴阔的发展前景,很多半导体制造商都⼤规模⽣产嵌⼊式处理器,并且公司⾃主设计处理器也已经成为了未来嵌⼊式领域的⼀⼤趋势,其中从单⽚机、DSP到FPGA有着各式各样的品种,速度越来越快,性能越来越强,价格也越来越低。
嵌⼊式处理器的寻址空间可以从64kB到16MB,处理速度最快可以达到2000 MIPS,封装从8个引脚到144个引脚不等。
特点嵌⼊式微处理器与普通台式计算机的微处理器设计在基本原理上是相似的,但是⼯作稳定性更⾼,功耗较⼩,对环境(如温度、湿度、电磁场、振动等)的适应能⼒强,体积更⼩,且集成的功能较多。
在桌⾯计算机领域,对处理器进⾏⽐较时的主要指标就是计算速度,从33MHz主频的386计算机到3GHz主频的PenTIum 4处理器,速度的提升是⽤户最主要关⼼的变化,但在嵌⼊式领域,情况则完全不同。
嵌⼊式处理器的选择必须根据设计的需求,在性能、功耗、功能、尺⼨和封装形式、SoC程度、成本、商业考虑等等诸多因素之中进⾏折中,择优选择。
嵌⼊式处理器做为嵌⼊式系统的核⼼,嵌⼊式处理器担负着控制、系统⼯作的重要任务,使宿主设备功能智能化、灵活设计和操作简便。
为合理⾼效的完成这些任务,⼀般说,嵌⼊式处理器具有以下特点:很强的实时多任务⽀持能⼒,存储区保护功能,可扩展的微处理器结构,较强的中断处理能⼒,低功耗。
ARM和MIPS架构ARM体系1、历史1978年12⽉5⽇,物理学家赫尔曼·豪泽(Hermann Hauser)和⼯程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电⼦设备。
1979年,CPU公司改名为Acorn计算机公司。
起初,Acorn公司打算使⽤摩托罗拉公司的16位芯⽚,但是发现这种芯⽚太慢也太贵。
"⼀台售价500英镑的机器,不可能使⽤价格100英镑的CPU!"他们转⽽向Intel公司索要80286芯⽚的设计资料,但是遭到拒绝,于是被迫⾃⾏研发。
(Intel会不会为当年的这个决定后悔万分?)1985年,Roger Wilson和Steve Furber设计了他们⾃⼰的第⼀代32位、6M Hz的处理器,⽤它做出了⼀台RISC指令集的计算机,简称ARM(Acorn RISC Machine)。
这就是ARM这个名字的由来。
RISC的全称是"精简指令集计算机"(reduced instruction set computer),它⽀持的指令⽐较简单,所以功耗⼩、价格便宜,特别合适移动设备。
早期使⽤ARM芯⽚的典型设备,就是苹果公司的⽜顿PDA。
1990年11⽉27⽇,Acorn公司正式改组为ARM计算机公司。
苹果公司出资150万英镑,芯⽚⼚商VLSI出资25万英镑,Acorn本⾝则以150万英镑的知识产权和12名⼯程师⼊股。
公司的办公地点⾮常简陋,就是⼀个⾕仓。
公司成⽴后,业务⼀度很不景⽓,⼯程师们⼈⼼惶惶,担⼼将要失业。
由于缺乏资⾦,ARM做出了⼀个意义深远的决定:⾃⼰不制造芯⽚,只将芯⽚的设计⽅案授权(licensing)给其他公司,由它们来⽣产。
正是这个模式,最终使得ARM芯⽚遍地开花,将封闭设计的Intel公司置于"⼈民战争"的汪洋⼤海。
CPU ⇒MPU ⇒MCU1 CPU(Central Processing Unit,中央处理器) (1)1.1 CPU的组成 (1)1.2 CPU的工作原理 (1)2 MPU(Microprocessor Unit,微处理器) (3)2.1 MPU的组成 (3)2.2 MPU的分类 (3)2.3 MPU的体系结构:冯.诺伊曼结构和哈佛结构 (3)2.4 MPU的典型代表:DSP(Digital Signal Processor,数字信号处理器) (4)3 MCU(Microcontroller Unit,微控制器/单片机) (5)3.1 MCU的概念 (5)3.2 MCU的概述 (5)3.3 MCU的分类 (6)3.4 MCU的架构:CISC架构和RISC架构 (6)3.5 常见的MCU (6)3.6 MCU的典型代表:ARM (9)4 CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件) (10)5 FPGA(Field Programmable Gate Array,现场可编程门阵列) (10)6 DSP,ARM,FPGA的区别 (10)1 CPU(Central Processing Unit,中央处理器)中央处理器(CPU)是电子计算机的主要器件之一,其功能主要是解释计算机指令及处理计算机软件中的数据。
1.1 CPU的组成CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。
运算器:进行算术运算和逻辑运算(部件:算数逻辑单元、累加器、寄存器组、路径转换器、数据总线)。
控制器:控制程序的执行,包括对指令进行译码、寄存,并按指令要求完成所规定的操作,即指令控制、时序控制和操作控制。
复位、使能(部件:计数器、指令暂存器、指令解码器、状态暂存器、时序产生器、微操作信号发生器)。
寄存器:用来存放操作数、中间数据及结果数据。
1.2 CPU的工作原理CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,将指令分解成一系列的微操作,然后发出各种控制命令,执行微操作,从而完成一条指令的执行。
单⽚机计算性能⼤⽐拼(51,AVR,MIPS,ARM)写这篇⽂章纯属偶然,MCU benchmark有很多⽅法,且不同类型MCU benchmark⽅法完全不同,很难说谁好谁快?不过,对电⼦爱好者来说,还是挺想知道“我所⽤的MCU”计算到底多快?本⽂,就从打酱油、⾮专业、⼤⽆畏精神出发,探讨⼊门级单⽚机计算性能到底如何、如何。
单⽚机能⼲的事⼉很多啊,我通常⽤来:1、控制个灯啊、空调啊、电视啊、⼩车啊神马的。
2、⽤传感器采集个温度啊、湿度啊、电压、电流、⽔流、⼈脸啊神马的。
3、显⽰输出:液晶、OLED、数码管;声⾳;电风扇神马的。
4、超低功耗:家⾥的中央控制系统基于树莓派,不到2W功耗。
5、便携。
貌似⾃⼰做成的东西极少具有便携性。
在没有接触Arduino前都是⽤51倒腾,玩了有⼏年,觉得51是最适合电⼦爱好者⽤的芯⽚,简单、便宜、功能⾜够!但接触Arduino后才明⽩,原来还有这么个东东,⽐51先进得多,实在太好⽤了!记得学51从⼆进制地址学起,不太好懂。
后来⽤C开发经常问:“明明 c=a+b; print(c); 就⾏了,我⼲嘛要去学指令、寄存器、寻址?”⾼级语⾔屏蔽底层很多东西,让编程变得简单。
并不是基础知识没⽤,这好⽐⾼等数学这道门槛(俺数学专业),你必须弄懂基础知识体系才能理解数学世界的美妙!但如果是经济学专业,不懂数学基础知识同样可以玩⼉转经济学!你从中获得的乐趣跟你投⼊成正⽐。
所以,我⽤单⽚机并不是科班那种需要弄懂MCU每个功能、每个模块,我⽤单⽚机就接接外设,完成我的想法⽽已。
也许,只⽤到了单⽚机⼗分之⼀。
说实话,极少使⽤单⽚机计算能⼒(话说这也不是单⽚机的强项呀),但如你要做个智能⼩车、四轴飞⾏器、PID控制,那就需要⼀定的计算能⼒了。
开始,只是简单想看看单⽚机运算有多快,偶然机会跟坛友交换了⼀块chipKIT Uno32(MIPS芯⽚),就想横向⽐较⼀下不同MCU的差别,于是就有了本⽂。
Intel和AMD与x86,ARM,MIPS有什么区别?【转】这⼏个名词只能叫相关。
1. Intel是个芯⽚公司,说⽩了,主业是设计并制造CPU的(当然还有别的产品,这⾥不表),架构是x86架构,x86_64架构,和IA64安腾架构。
2. AMD也是个芯⽚公司,主业除了设计CPU(AMD不流⽚,所以没有制造)还有设计显卡(收购的ATI),AMD设计的CPU和intelx86/x86_64系列兼容。
3. x86是Intel的概念,从8086到奔腾4,都是x86架构。
AMD的K5到阿斯龙也是⼀样。
不过x86_64其实是AMD提出来的,所以也叫amd64,⽬前应⽤⼴泛。
Intel对应的64位是IA64,没有民⽤。
4. ARM可以指⼀家嵌⼊式芯⽚设计公司,也可以指该公司的架构,指令集和Intel/amd不兼容。
另外arm还有嵌⼊式的GPU Mali。
5. MIPS是个指令集,应该是由英国的Imagination持有,和ARM架构还有x86架构均不兼容。
===============================================X86 和 ARM 都是CPU设计的⼀个架构。
X86 ⽤的是复杂指令集。
ARM⽤的是精简指令集。
指令集其实就是机器码,机器码上是汇编,汇编之上是C++。
复杂指令集是在硬件层⾯上设计了很多指令,所以编程会简单些。
精简指令集是在硬件层⾯上设计的指令⽐较少,所以编程会复杂些。
除了指令集的区别,X86 和 ARM的设计理念和应⽤场景也不同。
ARM的硬件框架更加耦合,没有’桥‘的存在,所以可扩展性不好,也就是说换个硬件平台就得重新设计,但它的功耗低,所以特别适合在⼿机上⽤。
X86体系庞⼤,设计完整,历史悠久,所以他有很多第三⽅软件可以⽤,⼀个体系可以⽤在各种电脑上,可移植性强。
主机⼀般都⽤它。
Intel是在X86的推动着,他和windows在⼀起,可以说称雄电脑市场。
ARM以前和linux结盟,搞嵌⼊式,但现在因为,ANdroid的异军突起,ARM在移动端焕发新的⽣机。
Arm和mips:
1.向后兼容:MIPS基本上是完全向后兼容的,也就是MIPS32可以在MIPS64上跑,MIPS I
可以在MIPS II上跑。
而ARM指令集事实上不是完全向后兼容的,每隔一两代就要有一些变化
2.目标: MIPS最初是面向高性能科学计算的,所以在指令集设计的时候更注重速度和性能,
而非功耗和面积。
而ARM,低功耗是主旋律。
为了降低功耗、面积以及目标程序的
footprint(RISC的缺点之一就是编译出来的程序比CISC大不少)。
ARM要做很多自己的选择。
MIPS的非常简单,只有三种指令类型,加减乘除逻辑运算逻辑跳转等等都可以框进去。
ARM就非常复杂
MIPS指令很简单,格式很规整,就可以做很快(频率很高)。
这符合RISC的初衷,但是功耗可能会比较大些(和频率有关);ARM指令巨复杂,电路实现起来会比精简的指令相对复杂,当面积和功耗优先级高时,最高运行频率可能不会太高。
MIPS是高效精简指令集计算机(RISC)体系结构中最优雅的一种;即使连MIPS的竞争对手也这样认为,这可以从MIPS对于后来研制的新型体系结构比如DEC的Alpha和HP的Precision产生的强烈影响看出来。
虽然自身的优雅设计并不能保证在充满竞争的市场上长盛不衰,但是MIPS微处理器却经常能在处理器的每个技术发展阶段保持速度最快的同时保持设计的简洁。
相对的简洁对于MIPS来说是一种商业需要,MIPS起源于一个学术研究项目,该项目的设计小组连同几个半导体厂商合伙人希望能制造出芯片并拿到市场上去卖。
结果是该结构得到了工业领域内最大范围的具有影响力的制造商们的支持。
从生产专用集成电路核心(ASIC Cores)的厂家(LSI Logic,Toshiba, Philips, NEC)到生产低成本CPU的厂家(NEC, Toshiba,和IDT),从低端64位处理器生产厂家(IDT, NKK, NEC)到高端64位处理器生产厂家(NEC, Toshiba和IDT). 低端的CPU物理面积只有1.5平方毫米(在SOC系统里面肉眼很难找到).而高端的R10000处理器,第一次投放市场时可能是世界上最快的CPU,它的物理面积几乎有1平方英寸,发热近30瓦特.虽然MIPS看起来没什么优势,但是足够的销售量使其能健康发展:1997年面市的44M的MIPS CPU,绝大多数使用于嵌入式应用领域.MIPS CPU是一种RISC结构的CPU, 它产生于一个特殊的蓬勃发展的学术研究与开发时期.RISC(精简指令集计算机)是一个极有吸引力的缩写名词,与很多这类名次相似,可能遮掩的真实含义超过了它所揭示的.但是它的确对于那些在1986到1989年之间投放市场的新型CPU体系结构提供了一个有用的标识名,这些新型体系结构的非凡的性能主要归功于几年前的几个具有开创性的研究项目所产生的思想。
有人曾说:"任何在1984年以后定义的计算机体系结构都是RISC";虽然这是对于工业领域广泛使用这个缩写名词的嘲讽,但是这个说法也的确是真实的-1984年以后没有任何一款计算机能够忽视RISC先驱者们的工作。
arm mips功耗ARM和MIPS是两种常见的处理器架构,功耗是评估处理器性能和效能的重要指标之一。
本文将从ARM和MIPS处理器的功耗特点、功耗管理技术以及功耗优化方面进行探讨。
一、ARM处理器的功耗特点ARM处理器以其低功耗、高性能和高度集成的特点在移动设备和嵌入式系统中被广泛应用。
ARM处理器的功耗特点主要体现在以下几个方面:1.1 节能设计:ARM处理器采用了低功耗设计,通过降低电压、降低频率、关闭闲置单元等手段来降低功耗。
同时,ARM处理器采用了多层次的电源管理策略,根据不同的工作负载实施动态电压频率调整(DVFS),以进一步降低功耗。
1.2 低功耗核心:ARM处理器的核心部分采用了精简指令集(RISC)架构,指令集简单且精简,执行效率高,功耗相对较低。
此外,ARM 处理器还采用了流水线技术、超标量技术、预测执行技术等,进一步提高了处理器的性能和功耗效率。
1.3 异构计算:ARM处理器支持异构计算,可以通过配置多个不同功能的处理器核心,将不同的任务分配给不同的核心处理,以实现功耗的均衡分配和性能的最优化。
二、MIPS处理器的功耗特点MIPS处理器是一种经典的RISC架构处理器,其功耗特点与ARM处理器有些相似,但也存在一些差异。
2.1 低功耗设计:MIPS处理器采用了类似于ARM处理器的低功耗设计,通过降低电压、降低频率、关闭闲置单元等方式来降低功耗。
MIPS处理器还采用了功耗管理单元(PMGU)来监测和控制处理器的功耗,以实现动态功耗管理。
2.2 高效能设计:MIPS处理器的指令集也是精简且高效能的,指令集结构简单清晰,执行效率高,功耗相对较低。
MIPS处理器还采用了流水线技术和超标量技术等,进一步提高了处理器的性能和功耗效率。
2.3 可配置性强:MIPS处理器具有较高的可配置性,可以根据具体的应用需求进行定制,以实现功耗的优化和性能的最优化。
MIPS处理器还支持多核心设计,可以将不同的任务分配给不同的核心,以实现功耗的均衡分配。
ARM,MIPS,X86三种典型指令集的简介及其特点ARM、MIPS、X86三种典型指令集的特点20122261 梅亮亮1.ARM指令集1.1 ARM指令集的特点:●体积小,低功耗,低成本,高性能;●支持 Thumb ( 16 位) /ARM ( 32 位)双指令集,能很好的兼容 8 位 /16 位器件;●大量使用寄存器,指令执行速度更快;●大多数数据操作都在寄存器中完成;●寻址方式灵活简单,执行效率高;●指令长度固定;●流水线处理方式●Load_store结构:在RISC中,所有的计算都要求在寄存器中完成。
而寄存器和内存的通信则由单独的指令来完成。
而在CSIC中,CPU是可以直接对内存进行操作的。
1.2 Thumb指令及应用Thumb指令集是ARM指令集的一个子集,所有的Thumb指令都有对应的ARM指令。
它舍弃了ARM指令集的一些特性如大多数的Thumb指令是无条件执行的,而几乎所有的ARM指令都是有条件执行的;大多数的Thumb数据处理指令的目的寄存器与其中一个源寄存器相同。
Thumb指令集在保留32代码优势的同时,大大的节省了系统的存储空间。
Thumb指令集中操作数仍然是32位,指令地址也为32位,指令编码16位。
由于Thumb指令的长度为16位,即只用ARM指令一半的位数来实现同样的功能,所以,要实现特定的程序功能,所需的Thumb指令的条数较ARM指令多。
1.2.1 Thumb指令优势与局限性优势:– Thumb代码所需的存储空间约为ARM代码的60%~70%;– Thumb代码使用的指令数比ARM代码多约30%~40%;–若使用32位的存储器,ARM代码比Thumb代码快约40%;–若使用16位的存储器,Thumb代码比ARM代码快约40%~50%;–与ARM代码相比较,使用Thumb代码,存储器的功耗会降低约30%。
局限性:条件跳转限制在256byte 偏移范围内,无条件跳转限制为4K偏移范围内,而ARM为32 Mbytes偏移。
doi:10.3772/j.issn.1002-0470.2021.01.004MIPS安卓平台上ARM二进制翻译系统①赵保华②……杯安宁饪③*…**徐哲冲**杜安利**苏涛“「北京工业大学信息学部北京100124)("全球能源互联网研究院有限公司北京102209)(”"电力系统人工智能(联研院)国家电网公司联合实验室北京102209)(**“龙芯中科技术有限公司北京100095)摘要无内部互锁流水级的微处理器(MIPS)是重要的处理器架构,安卓是目前主流的移动终端操作系统。
在MIPS架构处理器上运行安卓操作系统可以有效拓展使用领域,但存在的问题是调用高级精简指令集处理器(ARM)架构本地库的安卓应用程序不能运行,即存在应用不兼容问题。
本文提出了一种动态库跨平台二进制兼容模型,以及通用的跨平台二进制翻译系统的架构,并在MIPS安卓平台上设计实现了ARM二进制翻译系统。
该系统能够进行ARM动态库的跨平台加载,并采用动态二进制翻译,将ARM动态库中的二进制指令翻译成为MIPS架构的二进制指令,从而能够在MIPS架构处理器上执行。
实验结果表明,该系统可以运行调用ARM本地库的安卓应用程序,解决了MIPS平台安卓应用的兼容性问题。
本文工作对跨平台二进制翻译系统的研究具有重要参考价值。
关键词二进制翻译;无内部互锁流水级的微处理器(MIPS);高级精简指令集处理器(ARM);Android0引言无内部互锁流水级的微处理器(microprocessor without interlocked piped stages,MIPS)架构是1981年由斯坦福大学开发的简洁、具有高度可拓展性的精简指令集计算机(reduced instruction set computer, RISC)架构,MIPS公司的R系列处理器就是在这个架构的基础上研制岀来的微处理器。
MIPS架构处理器被广泛应用于游戏机、机顶盒、网络路由器,以及其他嵌入式设备和通设备中。
体系结构: RISC, CISC, x86, ARM, MIPS硬件体系结构(Architecture)软件操作系统(Operating System)一、RISC与CISC1.CISC(Complex Instruction SetComputer,复杂指令集计算机)复杂指令集(CISC,Complex Instruction Set Computer)是一种微处理器指令集架构(ISA),每个指令可执行若干低阶操作,诸如从内存读取、储存、和计算操作,全部集于单一指令之中。
CISC特点:1.指令系统庞大,指令功能复杂,指令格式、寻址方式多;2.绝大多数指令需多个机器周期完成;3.各种指令都可访问存储器;4.采用微程序控制;5.有专用寄存器,少量;6.难以用优化编译技术生成高效的目标代码程序;在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。
而余下的80%的指令却不经常使用,在程序设计中只占20%。
2.RISC(reduced instruction setcomputer,精简指令集计算机)精简指令集这种设计思路对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。
它能够以更快的速度执行操作。
这种设计思路最早的产生缘自于有人发现,尽管传统处理器设计了许多特性让代码编写更加便捷,但这些复杂特性需要几个指令周期才能实现,并且常常不被运行程序所采用。
此外,处理器和主内存之间运行速度的差别也变得越来越大。
在这些因素促使下,出现了一系列新技术,使处理器的指令得以流水执行,同时降低处理器访问内存的次数。
实际上在后来的发展中,RISC与CISC在竞争的过程中相互学习,现在的RISC指令集也达到数百条,运行周期也不再固定。
虽然如此,RISC设计的根本原则——针对流水线化的处理器优化—0—没有改变,而且还在遵循这种原则的基础上发展出RISC的一个并行化变种VLIW(包括Intel EPIC),就是将简短而长度统一的精简指令组合出超长指令,每次执行一条超长指令,等于并行执行多条短指令。
mips的概念MIPS概念及相关内容什么是MIPS?MIPS(Microprocessor without Interlocked Pipeline Stages)是一种基于RISC(Reduced Instruction Set Computer)架构的微处理器设计。
它是由美国斯坦福大学的约翰·亨尼西(John L. Hennessy)和大卫·帕特森(David A. Patterson)教授在1981年开发的。
MIPS的特点MIPS架构具有以下特点:•简化指令集:MIPS指令集采用精简的指令,每条指令完成的功能相对简单。
这使得MIPS处理器可以通过更少的硬件资源实现更高的执行效率。
•早期流水线:MIPS架构引入了流水线技术,将指令执行过程划分为多个阶段,可以同时执行多条指令。
这提高了处理器的吞吐量和效率。
•延迟槽:MIPS指令集的每条指令后面都有一个延迟槽,延迟槽中的指令会在下一条指令执行之前执行。
这可以最大程度地利用流水线的并行性,提高指令执行效率。
•32位架构:MIPS架构是一个32位的架构,可以处理32位的数据和地址。
这使得MIPS可以支持大量的内存和数据处理需求。
MIPS的应用领域MIPS架构由于其优秀的性能特点,在多个领域得到了广泛的应用:•嵌入式系统:MIPS架构被广泛应用于各类嵌入式系统中,如智能手机、路由器、电视机顶盒等。
其高性能和低能耗的特点使得MIPS成为嵌入式领域中的首选架构。
•计算机体系结构教学:MIPS架构作为一种精简的RISC架构,被广泛用于大学计算机体系结构课程中。
许多计算机体系结构教材和实验都以MIPS为基础进行讲解和实践。
•高性能计算:由于其流水线和并行处理的设计,MIPS架构在高性能计算领域也有着广泛的应用。
例如,MIPS架构的服务器可以提供高吞吐量的计算和数据处理能力。
总结MIPS(Microprocessor without Interlocked Pipeline Stages)是一种基于RISC架构的微处理器设计。
4大主流CPU处理器技术架构分析RISC(精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。
这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
•性能特点一:由于指令集简化后,流水线以及常用指令均可用硬件执行;•性能特点二:采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;•性能特点三:采用缓存—主机—外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因从存储器存取信息而放慢处理速度。
其中ARM/MIPS/PowerPC均是基于精简指令集机器处理器的架构;X86则是基于复杂指令集的架构,Atom是x86或者是x86指令集的精简版。
根据各种新闻,Android在支持各种处理器的现状:•ARM+Android 最早发展、完善的支持,主要在手机市场、上网本、智能等市场;•X86+Android 有比较完善的发展。
有atom+Android的上网本,且支•Atom+Android 和 Atom+Window7双系统;•MIPS+Android 目前在移植、完善过程中;•Powpc+Android 目前在移植、完善过程中。
ARM系列处理器ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。
由于节能的特点,ARM处理器非常适用于行动通讯领域,符合其主要设计目标为低耗电的特性。
在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。
ARM与MIPS分析与比较
2008-04-06 10:37:21 阅读474 评论0 字号:大中小
[前言]
这是一个几年以来我一直想做的“功课”,之所以称之为“功课”,而不能说是“文章”,是因为我觉得自己的知识还远远不够,不管是深度还是广度,也不管是全面性还是透彻性,我都不敢。
但是我实在是很想把我的一些理解写出来,然后能和其他朋友一起探讨,纠正错误,补充完善,最终目的就是要加深对ARM和MIPS 这两种CPU架构的认识。
这里的目前最多只能算个草稿吧,请大家不断的补充。
[正文]
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技术。
从现在的发展来看,多内核占上风。
9.总结
自己感觉ARM和MIPS在一开始的RISC的设计上有很多不同,但随着技术的发展,各自扬长避短,好的技术大家都会使用。
比如ARM11和MIPS R1000就使用了很多一样的技术。
感觉RISC做到了极至就都一样了。