RISC中文.docx
- 文档编号:26381939
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:8
- 大小:20.58KB
RISC中文.docx
《RISC中文.docx》由会员分享,可在线阅读,更多相关《RISC中文.docx(8页珍藏版)》请在冰豆网上搜索。
RISC中文
RISC架构综述对于台式机,服务器,以及嵌入式计算机
RISC架构的台式机,服务器和嵌入式计算机附录CA调查
我们覆盖两组精简指令集计算机中(RISC)架构
本附录。
第一组是在桌面和服务器位RISC:
■数字Alpha
■惠普的PA-RISC
■IBM和摩托罗拉的PowerPC
■SiliconGraphics的MIPS
■Sun公司的SPARC
第二组是嵌入式位RISC:
■高级RISC机的ARM
■高级RISC机器拇指
■日立的SuperH
■三菱M32R
■SiliconGraphics公司MIPS16
从未有过其他类的电脑非常相似的。
这种相似性允许10架构的约50页的报告。
特点在台式机和服务器位RISC被发现在图C.1和嵌入式位RISC图C.2。
注意,嵌入的位RISC往往有8至16个通用寄存器,而台式机/服务器位RISC有32,并且指令的长度是16到32位的嵌入式位RISC但总是32位的台式机/服务器位RISC。
尽管显示为独立的嵌入式指令集架构,拇指和MIPS16是ARM真正可选模式和MIPS通过调用来调用说明。
在这种模式下,他们执行机体系结构的一个子集采用16位长的指令。
这些16位指令集不旨在是全面的架构,但他们有足够的编码大多数程序。
这两款机器期望程序是均匀的,与在任一16位模式的所有指令或32位模式。
方案将包括对密度为16位模式过程或在32位模式性能。
本说明书中的一个复杂因素是某些较旧的位RISC的有一直延续了多年。
我们决定描述的最新版本。
结构:
Alpha版本3,MIPS64,PA-RISC2.0和SPARC版本9
台式机/服务器;ARM版本4,Thumb版本1,日立的SuperH的SH-3,
M32R版本1,和MIPS16版本1为嵌入式的。
其余部分进行如下操作。
在讨论后处理我们的RISC架构模式和指令格式,我们目前的调查:
在五个步骤的指令
图的近五年架构台式机和服务器的第一个版本C.1总结。
除了数据的地址模式的数量和部分指令集的细节,这些架构的整数指令集非常相似。
与图C.34对比这一点。
这些架构的更高版本都支持一台,64位地址空间。
对近五年架构图C.2摘要为嵌入式应用。
除了数据地址的数模式和一些指令集的细节,这些架构的整数指令集是相似的。
对比这与图C.34。
■在MIPS内核,这是在的第2章中定义的说明
正文
■台式机/服务器位RISC多媒体扩展
■RISC架构的附录CA调查的台式机,服务器和嵌入式计算机
■数字信号处理的嵌入式位RISC的延伸
■在MIPS内核没有找到,但在两个或两个以上的架构中说明
■各10体系结构的独特指令和特征
我们给的指令集的演化进入最后一节,并得出结论:
与
关于对位RISC未来发展方向的猜测。
C.2寻址方式和指令格式
图C.3给出解决了台式机架构支持的模式中的数据。
既然都有一个寄存器地址,使用时的值总是0模式中,绝对地址模式具有有限范围可以使用合成零为基准在位移寻址。
(该寄存器可以通过改变ALU操作中的PowerPC;它始终是0,在其他机器。
)同理,寄存器间接寻址是通过置换处理与合成0简化的寻址模式偏移是RISC的一个显着特点架构。
图C.4给出解决由嵌入式支持模式的数据架构。
不同于台式机位RISC,这些嵌入式计算机都没有保留寄存器包含0。
尽管大多数有两到三个简单的解决模式,ARM和的SuperH有几个,包括相当复杂的计算。
臂具有一个寻址模式,可以通过任何数量的转移一个寄存器,将其添加到其它寄存器,以形成地址,然后用这个新更新一个寄存器地址。
引用代码通常是PC相关,虽然跳寄存器间接支持从过程中返回,对case语句,并为指针函数调用。
一种变体是,PC相关分支地址被向左移位2被添加到PC为桌面位RISC,由此增加了前位分支的距离。
这个工程的所有指令,因为长度为桌面位RISC是32位,并指示必须在32位字中存储器排列。
嵌入式架构,16位长的指令通常由1移PCrelative地址出于同样的原因。
数据处理由桌面架构支持的模式图C.3总结。
PA-RISC也有短
偏移编址方式的版本。
MIPS64已经变址寻址浮点加载和存储。
(这些寻址模式,如图2.698页所述)
数据处理由嵌入式架构支持的模式图C.4总结。
的SuperH和M32R有独立的寄存器间接和寄存器+偏移量的寻址方式,而不是仅仅把0的偏移后一种模式。
这增加了M32R的使用16位指令,它给一组的地址模式中的SuperH不同数据传输指令更宽。
为了获得更大的寻址范围,ARM和Thumb移向左偏移1或2比特如果数据大小为半字或字。
(这些寻址模式,如图2.698页所述)
图C.5示出的桌面RISC指令的格式,其中包括中的指示的地址的大小。
每个指令集架构使用这四个主指令格式。
图C.6所示的六个格式的嵌入式RISC机器。
的愿望,通过16位具有较小的代码大小说明会导致更多的指令格式。
图C.7和C.8显示在不断扩大领域的变化全宽度的寄存器。
在这种微妙的一点,该位RISC相似但不相同的。
C.3说明:
MIPS内核子集
每个体系结构的相似性允许同时说明,在开始用相当于MIPS内核的操作。
MIPS内核指令
几乎每一个指令的MIPS内核发现在其他体系结构中,通过C.13秀图C.9。
(作为参考,MIPS的定义指令被发现在第2.12节,并在里面的书封面的背面。
)
说明中列出了四大类:
数据传输(图C.9);算术,逻辑(图C.10);控制(图C.11);和浮点(图C.12)。
第五类(图C.13)显示约定寄存器使用和伪指令上的每个架构。
如果一个MIPS内核指令要求在其他体系结构的指令短序列,这些指令都是由分号图C.9通过C.13分开。
(为了避免混淆,目的寄存器将永远是这个附录中的最左边的操作数,独立通常使用每种架构)符号的图C.14至C.17显示了嵌入式位RISC相当于上市。
需要注意的是浮点一般不限定为嵌入式位RISC。
每个体系都必须有一个方案比较和条件转移,但是,尽管所有的相似之处,这些架构已经找到了不同的的方式来执行该操作。
图C.5指令格式为台式机/服务器RISCarchitectures.These四种格式被发现在所有五个架构。
(该图中的上标符号指字段的比特宽度。
)尽管寄存器字段是位于类似件的指令,要知道目的地和两个源字段扰频。
OP=主要的操作码,斜方辉石=操作码延伸,路=目标寄存器,RS1=源寄存器1,=的Rs2源寄存器2,和const=常数(用作直接或地址)。
不同于其他位RISC,阿尔法先后为格式的立即在算术和逻辑运算是从这里所示的数据传送格式不同。
它提供了一个8位立即以位20至13在RR格式,用位12〜5其余为一个操作码扩展。
图C.6指令格式嵌入式RISC架构。
这六个格式被发现在所有五个硬件架构。
所用的符号相同。
图C.5。
注意分公司的相似,跳,并调用格式和多样性在寄存器-寄存器,寄存器立即,和数据传输格式。
的差异会导致从结构是否具有8个或16个寄存器,它是否是一个2-或3-操作数的格式,以及该指令长度是否16或32位。
恒拓图C.7摘要中的跳转和调用指令桌面RISCs.The常数MIPS不是符号扩展,因为它们只能更换PC的低28位,剩下的高4位不变。
PA-RISC没有逻辑立即作出指示。
不断扩展的嵌入式位RISC图C.8总结。
16位长度的指令有多少短的立即比桌面位RISC的,通常只有5至8位。
大多数嵌入式位RISC,然而,有一种方式来获得很长的地址,程序由两个连续的半字要求。
在跳跃和呼叫的常数的MIPS指令未符号扩展,因为它们只取代PC的低28位,而使上部4位不变。
8位立即数在ARM可以右键旋转偶数位2和30之间,产生大范围的即时值。
例如,2一切权力都在ARM立即数。
比较和条件转移
SPARC使用存储在程序状态的传统的四大条件码一句话:
负,零,进位和溢出。
它们可以在任何算术或逻辑指令来设置;不像早期的架构,这个设置是可选的每个指令。
一个明确的选择导致了流水线执行较少的问题。
虽然条件代码可以被设置为一个操作的一个副作用,明确的进行比较合成使用r0上的目的地的减法。
SPARC条件分支测试条件代码,以确定所有可能的签名和签署关系。
浮点使用单独的条件码到IEEE754条件编码,需要一个浮点比较指令。
第9版扩大四种方式SPARC分支:
一组独立的64位操作条件码;一个分支,它测试一个寄存器和分支的内容,如果该值为=,不是=,<,<=,>=,或<=0(见下文MIPS);三个组的浮点条件码;和编码静态转移预测分支指令。
PowerPC也使用四个条件代码:
小于,大于,等于,和总之溢出,但它有8份人。
这种冗余允许PowerPC的指示来使用不同的条件码没有冲突,从根本上使PowerPC的八个额外的4位寄存器。
任何这八个状态代码可以是一个比较指令的目标,以及任何可以是一个源有条件的分支。
该整数指令有一个选项位,其行为就好像的整数运算之后是比较为零,设置第一个条件“寄存器”。
的PowerPC也让第二“寄存器”可以任选由浮点设置说明。
的PowerPC提供了这八个4位条件代码寄存器(CRAND,CROR,CRXOR,CRNAND,CRNOR,CREQV)之间的逻辑运算,可以让更多复合物的条件由单个分支进行测试。
图C.9桌面RISC数据传输指令等同于MIPS内核。
指令序列合成一个MIPS指令显示用分号隔开。
如果有相当于指令几种选择MIPS内核,它们之间用逗号隔开。
对于该图中,半字为16比特和字为32位。
需要注意的是在阿尔法,LDS转换成单精度浮点双精度和加载整个64位寄存器。
图C.10桌面RISC运算/等同于MIPS内核逻辑指令。
破折号指的是操作不可用在建筑,或者无法在几个指令合成。
的指令,例如一个序列示用分号隔开。
如果有指令几种选择相当于MIPS内核,它们由分隔逗号。
需要注意的是,在“算术/逻辑”类别中的所有机器,但SPARC使用不同的指令助记符以表示立即数;SPARC提供这些指令立即版本,但使用一个单一的记忆。
(当然,这些都是独立的操作码!
)
MIPS使用寄存器的内容来评估条件分支。
任何两个寄存器可以比较相等(BEQ)或不等于(BNE),然后分支,如果条件成立。
在设定上低于指令(SLT,的LTⅠ,SLTU,SLTIU)比较两个操作数,然后将目标寄存器1,如果少,否则为0。
这些指令都足以合成全设置关系。
因为比较为0的普及,MIPS包括所有这些比较特殊的比较和分支指令:
大于或等于零(BGEZ),大于零(BGTZ),小于或等于零(BLEZ),和小于零(BLTZ)。
当然,等于和不等于零可以使用r0来BEQ和BNE来合成。
与SPARC,MIPS我使用了一个条件码浮点有独立的浮点比较和分支指令;MIPSIV扩大这一八个浮点条件码,与浮点比较和分支指令,指定要设置或测试的条件。
阿尔法比较(CMPEQ,CMPLT,CMPLE,CMPULT,CMPULE)测试两个寄存器并设置第三个为1,如果条件为真,否则为0。
浮点比较(CMTEQ,CMTLT,CMTLE,CMTUN)中设定的结果2.0,如果条件成立,并否则为0。
该分支指令比较两个寄存器0(BEQ,BGE,BGT,BLE,BLT,BNE)或其最低显著位为0(BLBC,BLBS),然后如果分支条件成立。
PA-RISC有许多分支选项,我们将在第C.8看到。
最多简单的是一个比较和分支指令(梳),其中比较两个寄存器,分支取决于标准关系,然后测试比较的结果的。
相当于MIPScore.If图C.11桌面RISC控制指令有指令几种选择相当于MIPS内核,它们之间用逗号隔开。
图相当于MIPS内核C.12桌面的RISC浮点指令。
破折号意味着操作不是在建筑用,或者无法在几个指令合成。
如果有指令的几种选择相当于MIPS内核,它们之间用逗号隔开。
桌面RISC等同于MIPS处理器架构图C.13公约。
图C.14嵌入式相当于MIPS内核的RISC数据传输指令。
的指令序列合成MIPS指令显示用分号隔开。
需要注意的是浮点通常没有定义嵌入式位RISC。
拇指和MIPS16是ARM和MIPS架构只有16位指令的子集,所以机器可以切换模式并执行完整的指令集。
我们使用-1,表明在现有的序列32位模式,但在Thumb和MIPS16不是16位模式。
图C.15嵌入式相当于MIPS内核的RISC运算/逻辑指令。
破折号指的是操作是不是适用于这些建筑,或者在一些指令不能合成。
的指令,例如一个序列示用分号隔开。
如果有指令几种选择相当于MIPS内核,它们由分隔逗号。
拇指和MIPS16是ARM和MIPS架构只有16位指令的子集,这样的机器就可以切换模式并执行完整的指令集。
我们使用-1显示,在32位模式下可用序列但在拇指或MIPS16不是16位模式。
上标2仅示出了在16位模式中找到新的指令拇指或MIPS16,例如CMP/I2。
ARM包括转变为每一个数据操作指令的一部分,因此与转移标3仅仅是变形例的移动指令的,诸如LSR3。
图C.16嵌入式相当于MIPS内核的RISC控制指令。
拇指和MIPS16只是16位ARM和MIPS架构的指令子集,使机器可以切换模式并执行完整的指令集。
我们使用-1,表明是在32位模式提供序列,但在拇指或MIPS16不是16位模式。
上标2表示只在拇指或MIPS16,如BTEQZ2的16位模式的新指令。
嵌入式RISC指令等同于MIPS内核图C.17公约。
五个桌面RISC图C.18摘要接近条件分支。
在PARISC浮点分支通过复制FP状态寄存器到整数寄存器,然后利用对位的分支来实现指令测试FP比较一下。
整数比较基于SPARC的合成与算术指令它设置使用r0的作为目标的条件代码。
五嵌入式RISC图C.19摘要接近条件分支。
ARM是类似的SPARC,因为它提供fourtraditional条件码被有选择地设置。
CMP中减去从其他的一个操作数,该差设定条件码。
比较负(CMN)增加了一个操作数的其他,与和设定条件码。
TST执行逻辑和两个操作数设置的所有条件码,但溢出,而TEQ使用异或设置前三个条件码。
与SPARC,的条件版本ARM分支指令的测试条件代码,以确定所有可能的符号并签署了关系。
正如我们将在第C.9看到,ARM的一个不同寻常的特点是,每一个指令具有执行有条件地取决于该选项条件码。
(这证明相似之处PA-RISC的被取消的选项,看到第C.8。
)毫不奇怪,拇指遵循ARM。
不同之处在于设定条件码不可选的,TEQ指令被丢弃,并且没有条件执行指令。
日立的SuperH使用由设置比较单一的T字位条件说明。
两个分支指令决定分支如果任T位为1(BT)或T位为0(BF)。
分支的两种形式允许较少的比较说明。
三菱M32R还提供了一个单一的条件码位(C)用于签约和无符号比较(CMP,CMPI,CMPU,CMPUI),看看是否一个寄存器较少比其他与否,类似于设置上小于指令的MIPS。
两分支指令测试一下,看看如果C位为1或0:
BC和BNC。
在M32R还包括指令分支平等寄存器(BEQandBNE)和寄存器为0(BGEZ,BGTZ,BLEZ,BLTZ,BEQZ,BNEZ)所有关系或不平等。
与BC和BNC,这最后的指令都是32位的。
MIPS16不断设置上小于指令(SLT,的SLTⅠ,SLTU,SLTIU),但
而不是把结果中的八个寄存器之一,它被放置在一个特殊的注册一个名为T.MIPS16的机器,也有始终实施完整的32位MIPS指令和寄存器;因此,寄存器T是真的寄存器24在充分MIPS架构。
的MIPS16分支指令测试,看看一个寄存器是或不是等于零(BEQZ和BNEZ)。
也有指令分支如果寄存器T是或不是等于零(BTEQZ和BTNEZ)。
为了测试两个寄存器是平等的,MIPS加入比较指令(CMP,CMPI)的计算独家两个寄存器或并将结果寄存器T.比较是自从加入MIPS16冷落指令可比较和分支,如果寄存器等于或不(BEQ和BNE)。
图C.18和C.19总结用于条件分支的计划。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RISC 中文