本发明专利技术提供一种数据处理器。在标志生成指令数量较多的情况
下,通过增加1条指令生成的标志数量,而使标志生成指令数量的
减少超过标志使用指令数量的增加,由此实现指令数量的削减,根
据以上观点,定义生成与操作数的数据尺寸对应的多个标志的指令。
例如,在缩小指令集计算机型的数据处理器中,在指令集中添加可
对多个数据尺寸的操作数进行运算处理的、不拘泥于如下操作数的
数据尺寸而生成与各个数据尺寸对应的标志(newU、newT)的指令,
其中,该如下操作数为对较大数据尺寸的操作数的低位一侧进行与
对较小数据尺寸的操作数的运算处理相等的处理而被进行运算处理
的操作数。
【技术实现步骤摘要】
本专利技术涉及微型处理器、微型计算机等数据处理器,涉及能够 实现对指令的有效代码分配的技术。
技术介绍
微型处理器在1984年由摩托罗拉公司开发出来的68020以来, 长时间占据主流的是32位处理器。这是由于能够由32位指定的 232B=4GB在大约20年间是足够大的地址空间。但是,由于伴随系 统性能提高的所需存储器容量的增大以及存储器单价的降低,近年 来,PC/服务器领域中处理超过4GB空间的64位处理器逐渐普及。 而且,在嵌入式处理器中,也预测到会以追随PC/服务器领域的形式 在几年、或最迟十年内变成64位。嵌入式处理器与性能最优先的PC/服务器用处理器不同,要谋求 兼顾高效率和高性能。其结果,可实现高代码效率的16位固定长度 指令集的RISC ( Reduced Instruction Set Computer)型嵌入式处理器 正在普及。高代码效率即使在片外存储器的大容量化发展的现在, 也是在片内高速緩存、RAM、 ROM的有效应用中所不可缺少的。但 是,使这样的处理器变为64位,必须有效应用16位固定长度指令 代码空间。另外,32位处理器时代长期持续的结果一般是,运算基本上为 32位,8位、16位的数据在处理器的寄存器中扩展为32位来处理; 或者,取4个8位数据或2个16位数据而以32位单位来处理。而 且,即使在64位处理器中,在64位运算体系的基础上也需要支持 这样的以32位为基本的运算体系。因此,在现有的64位处理器中, 根据需要而对同一运算定义32位和64位这两种运算指令。其结果,在64位处理器中,运算指令数量增多,为了定义它们而需要的代码 空间也增大。: PowerPC User Instruction Set Architecture B ook I Version 2.02、 Internet URL<http:〃www.ibm.com/developerwor ks/power/library/pa-archguidev2>、 平成20年1月23日检索:日本特开平06 - 337783号公报: SH-4A扩展功能软件指南、Internet URL<http: "documentation.renesas.com/jpn/products/mpumcu/rjj09b0235_sh4asm. pdf>、平成20年1月23日检索: AMD64 Architecture Programmer's Manual V olumel: Application Programming, Revision 3.11 、 Internet URL<h ttp:〃www.amd.com/us-en/assets/content—type/white__papers—and—tech—d ocs/24592.pdf>、平成20年1月23日检索
技术实现思路
如上所述,为了使16位固定长度指令代码的RISC型嵌入式处 理器变为64位而必须有效应用指令的代码空间(简称为指令代码空 间)。尤其是32位处理器仅支持32位运算体系即可,与此不同, 在64位处理器中需要支持32位和64位这两种运算体系。并且,为 此情况而如现有的64位处理器那样对同一运算定义32位和64位这 两种运算指令时,则在16位固定长度指令集中,难以压缩指令代码 空间,难以构筑与现有的32位运算体系并列的64位运算体系。例 如,具有32位运算体系的指令集的指令操作代码具有能够以8位加 以表示的256种时,当要仅追加多个64位运算指令时,需要使操作 代码的位数至少增加l位,指令代码空间变大,无法维持现有的32 位运算指令体系。特别是,即使在作为64位运算的运算结果的低32位与32位运 算的32位相同时,也需要在根据运算结果而生成的标志在32位与 64位的运算中不同的情况下定义不同的指令。当仅是生成的标志不同时,通过增加由1条指令生成的标志数量,能够削减生成标志的指令数量。例如,在文献1的PowerPC中,由1条指令生成正、负、 零、溢出、进位这样的多种标志。而且在文献2中,生成多种用于 多个容量的标志。即,生成"种类数量"x "尺寸数量"的标志。 在文献2中为"4种"x "2尺寸"="8标志"。但是,当增加由1条指令生成的标志数量时,需要增加使用标 志的指令数量。例如,条件分支指令的分支条件一般为由"使用哪 个标志"与"设置还是清除使用的标志"的组合来决定的方式。在 文献2的条件分支指令中,指定标志使用方式的字段取5位,可以 指定32种。因此,条件分支指令数量为32 x "标志以外的变化数量"。 作为标志以外的变化而考虑延迟槽(Delay slot)的有无、分支目标 地址指定方法等。这样,"标志数量的增加"有利于"生成标志的指令(标志生 成指令)数量的削减",但却导致"使用标志的指令(标志使用指 令)数量的增多"。因此,如文献2那样,当增加标志数量时,并 不一定能够削减指令数量。文献2以CISC( Complicated Instruction Set Computer)为前提,作为主要标志生成指令的运算指令由于还能够 指定存储器操作数,因此其数量较多。而且,若能增加标志数量来 进行数量较多的"标志生成指令数量的削减",则能够削减指令数 量。而一般的RISC为32位固定长度指令集,指令代码空间具有富 余,因此指令数量削减需求较小。因此在RISC中,并没有调整标志 数量而实现了指令数量的最小化的实例。但是,在作为16位固定长 度的指令集RISC的处理器64位化中,指令代码空间没有富余。另 外,RISC的标志生成指令数量少于CISC。因此,仅增加标志数量 并未发现最佳点。并且,做成为标志生成指令数量与标志使用指令 数量的平衡变得良好的方式是重要的。本专利技术要解决的第 一课题在于在标志生成指令数量少的指令 集中调整标志数量来削减指令数量,谋求对它们进行定义所需的代 码空间的最小化,如作为16位固定长度指令集的RISC那样,能实现指令代码空间没有富余的处理器的64位化。另外, 一般即使增加标志数量,使用由1条指令生成的多个标 志的例子也较少,多为仅使用1个的情况。而当组合使用由多条指 令生成的标志时,存在能够进行有效编程的情况。但是,每当执行 指令而更新多个标志时,后续指令会重写在先指令生成的标志,因 此难以组合使用标志。因此,需要将生成的标志逐次传送至寄存器, 在寄存器中进行逻辑运算后立刻返回给标志,判断在寄存器中进行逻辑运算后的结果作为数值而生成标志;或者,每当生成标志时进 行条件分支或条件执行。这些方式的执行指令数量将会变多或者分 支频率增加,因此效率恶化,性能降低。特别是,在将某数据作为运算对象观察时,其尺寸并不是为两 种,因此,即使生成对于多种尺寸的标志,其一方也是不需要的。 通过合适的符号扩展或零扩展,虽然有可能对于多种尺寸的标志变 为相同的值,从而无论是哪一方都能使用,但不存在改变成一方为 不需要的情况。因此,在定义了多个标志的情况下,与同时更新相 比,仅更新所需的标志,保留想要保留的标志,能够实现标志间的 运算也是有效的。但是,为了实现上述效果,需要指定标志生成指 令更新的标志与标志使用指本文档来自技高网...
【技术保护点】
一种数据处理器,其为缩小指令集计算机型的数据处理器,其特征在于:在指令集中具有第一指令,该第一指令能对多个数据尺寸的操作数进行运算处理,对较大数据尺寸的操作数的低位一侧进行与对较小数据尺寸的操作数的运算处理相等的处理,且无论被进行运算处理的操作数的数据尺寸大小,都生成与各个数据尺寸对应的标志。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:荒川文男,
申请(专利权)人:株式会社瑞萨科技,
类型:发明
国别省市:JP
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。