




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、x86与MIPS体系结构的比较计算机科学与技术杜立明200926100406一、x86x86或80 x86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。x86架构于1978年推出的Intel8086中央处理器中首度出现,它是从Intel8008处理器中发展而来的,而8008则是发展自Intel4004的。8086在三年后为IBMPC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最成功的CPU架构。x86架构是重要的可变指令长度的CISC(复杂指令集计算机,ComplexInstruetionSetComputer)。字组(word,4字节)长度的存储器访问允许不对齐存
2、储器地址,字组是以低位字节在前的顺序储存在存储器中。x86架构在设计过程中着重考虑了向前兼容性,保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源。但在较新的微架构中,x86处理器会把x86指令转换为更像RISC的微指令再予执行,从而获得可与RISC比拟的超标量性能,而仍然保持向前兼容。x86架构的处理器一共有四种执行模式,分别是真实模式,保护模式,系统管理模式以及虚拟V86模式。80 x86指令系统,指令按功能可分为以下七个部分:(1)数据传送指令。(2)算术运算指令。(3)逻辑运算指令。(4)串操作指令。控制转移指令。(6)处理器控制指令。(7)保护方式指令。在此基础上,又
3、发展加入了一些专用的扩展指令集:MMX,增加57条特地为视频信号(VideoSignal),音频信号(AudioSignal)以及图像处理(GraphicalManipulation)而设计指令3DNOW!,1997年由AMD推出,增加21条指令,针对MMX指令集没有加强浮点处理能力的弱点,重点提高了CPU对3D图形的处理能力。EES,SSE兼容MMX指令,它可以通过SIMD(单指令多数据技术)和单时钟周期并行处理多个浮点来有效地提高浮点运算速度。EES2,共144条,包括浮点SIMD指令、整形SIMD指令、SIMD浮点和整形数据之间转换、数据在MMX寄存器中转换等几大部分。引入新的数据格式,
4、女口:128位SIMD整数运算和64位双精度浮点运算等。新增加了几条缓存指令,允许程序员控制已经缓存过的数据。EES3,新增加了13条指令,一条用于视频解码,两条用于线程同步,其余用于复杂的数学运算、浮点到整数转换和SIMD浮点运算。SSE4,增加了50条新的增加性能的指令,这些指令有助于编译、媒体、字符/文本处理和程序指向加速。x86的优点:具有功能强大而多样的指令系统,使CPU对一些专业用途的软件表现出强大的性能,如:3D绘图,音频和视频的处理等。为每条指令设计硬件电路,使得指令执行速度快,并有效的减少了程序的指令条数。x86的不足:1、x86指令的长度是不定的,而且有几种不同的格式,结果
5、造成x86CPU的解码工作非常复杂,为了提高CPU的工作频率,不得不延长CPU中的流水线,而过长的流水线在分支预测出错的情况下,又会带来CPU工作停滞时间较长的弊端。2、x86指令集架构只有8个通用寄存器,而且实际只能使用6个。这种情况同现代的超标量CPU极不适应,虽然工程师们采用寄存器重命名的技术来弥补这个缺陷,但造成了CPU过于复杂,流水线过长的局面。3、x86指令可访问内存地址,在目前CPU的速度是内存速度的5倍或5倍以上的情况下,严重降低了CPU的性能。4、x87FPU是目前最慢的FPU,主要的原因之一就在于x87指令使用一个操作数堆栈。如果没有足够多的寄存器进行计算,你就不得不使用堆
6、栈来存放数据,这会浪费大量的时间来使用FXCH指令(即把正确的数据放到堆栈的顶部)。5、所有用于提高x86CPU性能的方法,如寄存器重命名、巨大的缓冲器、乱序执行、分支预测、x86指令转化等等,都使CPU的芯片面积变得更大,也限制了工作频率的进一步提高,而额外集成的这些晶体管都只是为了解决x86指令的问题。二、MIPSMIPS是世界上很流行的一种RISC处理器。MIPS的意思“无内部互锁流水级的微处理器”(Microprocessorwithoutinterlockedpipedstages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford
7、)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。MIPS体系结构的特点(1)所有指令长度都是32位:这意味着没有指令能够仅占用两三个字节的内存空间(因而MIPS的二进制文件比典型80 x86大百分之二十到三十),也没有指令可以超过四个字节。随之而来就是不可能把一个32位常数放进单个指令中。MIPS设计者决定留出26位常数的空间用以编码跳转和调用指令的目标地址:但是仅有给两条指令。其它指令只能有16位空间留给常数。(2)MIPS架构中有32个通用寄存器,其中$0(这个寄存器中保存的数据恒为0)和$31(保存函数调用jal的返
8、回地址)有着特殊的用途,其它的寄存器可作为通用寄存器用于任何一条指令中。如果有FPA(浮点协处理器),将会有32个浮点寄存器,按汇编语言的约定为$f0$f31,MIPS32中只能实用偶数号的浮点寄存器,奇数号的用途是:在做双精度的浮点运算时,存放该奇数号之前的偶数号浮点寄存器的剩余无法放下的32位。(3)三操作数的指令:算数/逻辑指令不需要指定内存地址,所以空出了充足的指令位可以定义两个独立的源操作数和一个目的操作数。编译器喜欢三操作数指令,其给了优化程序更大的空间来处理复杂的表达式的代码。有整数乘法部件,这个部件使用两个特殊的寄存器HI、LO,并且提供相应的指令mfhi/mthi,mthi/
9、mtlo来实现整数乘法结果hi/lo寄存器与通用寄存器之间的数据交换CP0(协处理器0)MIPS处理器控制.用于控制和设置MIPSCPU,里面包含了一些寄存器,同过对这些寄存器的不同的位的操作可以实现对处理器的设置没有条件码及x86中的PC:MIPS的指令集的一个特征就是没有条件标志,MIPS体系结构把所有信息保存到寄存器堆中。比较指令设置通用寄存器,条件分支指令检测通用寄存器。MIPS具有流水线结构的CPU中,程序计数器在同一时刻可以有多个给定的值。访问内存只能通过简单的寄存器加载和存储:对内存变量进行算术运算会打乱流水线,所以不这么做。每次内存访问用一条显式的加载或存储指令。只有一种数据寻
10、址方式:几乎所有的加载和存储都通过单个寄存器基址加上一个16位的常数偏移量寻址内存。字节地址指令:一旦数据存入MIPSCPU的寄存器,所有的操作都是在整个寄存器上操作。load/store必须对齐:内存操作只能从对齐到相应数据类型边界的地址加载荷存储数据。字节可以在任意地址传输,但是半字必须在偶数地址对齐,字在四字节边界对齐。跳转指令:有限的32为指令长度在想要支持很大程序的体系结构上对分支是个问题。MIPS指令的最小操作码域为6位,留出了26位来定义跳转的目标。因为所有指令在内存中都是四字节边界对齐的,低两位地址无需保存,这样可有256MB的地址范围。这个地址不是相对PC的,而是解释成256
11、MB段内的绝对地址。这对大于256MB的单个程序极为不便,到目前按还没有碰到太大的问题。超出段内的分支可以通过使用一个寄存器跳转指令做到,该指令可以跳转任意32位地址。条件分支只有16位的偏移域给出了262144字节的范围,因为指令都是四字节对齐的一一解释成相对PC的带符号的偏移量。如果知道分支目标会在紧跟分支之后的指令的128KB范围内,编译器就能只生成一个简单的条件分支指令。MIPS指令集架构的发展MIPS自从1988年提出后,不断扩展,其ISA大致如下:MIPSI:这是基本的MIPS指令集,早期的R2000和R3000处理器实现了该指令集。MIPSII:R6000处理器引入该指令集,它增
12、加了loadlinked、条件存储和分支等指令。还改进了FPU指令集,支持64位读写。MIPSIII:于1992年R4000处理器引入。增加了64位寄存器和整数指令,以及平方根FP指令。MIPSIV:R8000处理器实现了该指令集,增加了条件move和平方根FPU指令集求倒数指令。MIPSV:MIPSV于1994年提出,是一个规范,但实际上没有任何处理器实现了该指令集。MIPS64指令集是其的超集。MIPS32:是MIPS64指令集的32位子集。MIPS64:是MIPSV的超集。MIPS32V2.0和MIPS64V2.0DSPASE(ApplicationSpecificExtensions)
13、:DSPASE是MIPS32/MIPS64版本2指令集的可选扩展,能用于加速大量的媒体计算,尤其是音频。因为电视分辨率的视频计算不在通用处理器的处理范围内。与大多数MIPS指令集架构不同,他有相当多的不合规则的操作集,这些操作集很多与一些关键算法有关。三、龙芯为何使用MIPS架构首先,如果开发全新的架构,则必须设计硬件电路及指令集,开发难度大,开发周期长。得到产品后不能保证和现在市场上电子产品的兼容性,造成在做出CPU后必须再另外设计芯片组、编译器等配套设备及软件,在投放市场的过程中难度更为巨大。在去除完全自主研发这一途径后,从其他CPU厂商得到授权,在已有架构上研究开发是比较合理的方案。MIPS是最简单的体系结构之一,所以大学喜欢选择MIPS体系结构来介绍计算体系结构课程。MIPS的系统结构及设计理念比较先进,其指令系统经过通用处理器指令体系MIPSI、MIPSII、MIPSIII、MIPSIV到MIPSV,嵌入式指令体系MIPS16、MIPS32到MIPS64的发展已经十分成熟。在设计理念上MIPS强调软硬件协同提高性能,同时简化硬件设计。MIPS是开放式的架构,用户可以在开发的内核中加入自己的指令。和英特尔采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外汇市场的宏观经济分析视角考核试卷
- 产品销售承包合同标准文本
- 养虾项目合作协议合同范例
- 劳务雇佣合同范本6
- skf轴承采购合同范例
- 加工铸造用工合同标准文本
- 兼职英文编辑合同标准文本
- 加工定做鞋子合同范例
- 2025年国网山东省电力公司招聘高校毕业生1300人(第一批)笔试参考题库附带答案详解
- 2025年中州水务控股有限公司公开招聘80人笔试参考题库附带答案详解
- 离心式压缩机设计-离心压缩机气动及结构设计含6张CAD图
- 《纺织材料生产》课件-项目7:短纤工段
- 《医院建筑绿色改造技术规程》
- 小学语文六年级下册第三单元作业设计
- 《HSK标准教程1》第1课课件
- 健身房私教课程预约规则设置
- 信息管理课件
- 医院科室及科室工作人员风险点及防范措施
- 排列组合中的涂色问题课件
- 第11课《上课能专心》课件
- 《皮疹护理》课件
评论
0/150
提交评论