从区位格式转换为十进制浮点格式.pdf

上传人:li****8 文档编号:4449334 上传时间:2018-10-02 格式:PDF 页数:47 大小:10.26MB
返回 下载 相关 举报
从区位格式转换为十进制浮点格式.pdf_第1页
第1页 / 共47页
从区位格式转换为十进制浮点格式.pdf_第2页
第2页 / 共47页
从区位格式转换为十进制浮点格式.pdf_第3页
第3页 / 共47页
点击查看更多>>
资源描述

《从区位格式转换为十进制浮点格式.pdf》由会员分享,可在线阅读,更多相关《从区位格式转换为十进制浮点格式.pdf(47页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104025044 A (43)申请公布日 2014.09.03 C N 1 0 4 0 2 5 0 4 4 A (21)申请号 201280065539.4 (22)申请日 2012.11.13 13/339,791 2011.12.29 US G06F 9/30(2006.01) (71)申请人国际商业机器公司 地址美国纽约阿芒克 (72)发明人 S.卡洛 E.M.施瓦兹 T.斯莱格尔 小查尔斯.盖尼 M.米特兰 R.科佩兰德 (74)专利代理机构北京市柳沈律师事务所 11105 代理人张晓明 (54) 发明名称 从区位格式转换为十进制浮点格式 (57) 摘要 提。

2、供本文中被称为长的从区位转换指令 (CDZT)和扩展的从区位转换指令(CXZT)的机 器指令,这些机器指令从存储器读取EBCDIC或 ASCII数据,将其转换为适当的十进制浮点格式, 且将其写入至目标浮点寄存器或浮点寄存器对。 另外,提供本文中被称为长的转换为区位指令 (CZDT)和扩展的转换为区位指令(CZXT)的机器 指令,这些机器指令将源浮点寄存器或浮点寄存 器对中的十进制浮点(DFP)操作数转换为EBCDIC 或ASCII数据,且将其存储至目标存储器位置。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2014.06.30 (86)PCT国际申请的申请数据 PCT/IB20。

3、12/056369 2012.11.13 (87)PCT国际申请的公布数据 WO2013/098669 EN 2013.07.04 (51)Int.Cl. 权利要求书3页 说明书29页 附图14页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书29页 附图14页 (10)申请公布号 CN 104025044 A CN 104025044 A 1/3页 2 1.一种用于在中央处理单元中执行机器指令的计算机程序产品,该计算机程序产品包 含: 计算机可读存储介质,其可由处理电路读取且存储用于由该处理电路执行以用于执行 一种方法的指令,该方法包含: 由处理器获得用于。

4、执行的机器指令,该机器指令根据计算机架构经定义用于计算机执 行,该机器指令包含: 至少一个操作码字段,其用于提供操作码,该操作码识别从区位转换为十进制浮点函 数; 第一寄存器字段,其指定第一操作数位置; 第二寄存器字段和位移字段,其中由该第二寄存器字段指定的第二寄存器的内容与该 位移字段的内容组合,以形成第二操作数的地址;以及 符号控制,用于指示该第二操作数是否具有符号字段;并且 执行该机器指令,该执行包含: 将区位格式的第二操作数转换为十进制浮点格式;以及 将该转换的结果放置在该第一操作数位置中。 2.如权利要求1所述的计算机程序产品,其中该操作码当为第一值时指示区位源和长 的十进制浮点结果。

5、。 3.如权利要求1所述的计算机程序产品,其中该操作码当为第二值时指示区位源和扩 展的十进制浮点结果。 4.如权利要求1所述的计算机程序产品,其中在该机器指令的掩码字段中指定该符号 控制。 5.如权利要求1所述的计算机程序产品,其中该机器指令进一步包括长度字段,其指 定该第二操作数的长度。 6.如权利要求1所述的方法,其中该执行进一步包含从存储器读取该第二操作数,并 且对从存储器读取的该第二操作数执行转换。 7.如权利要求1所述的计算机程序产品,其中该执行进一步包含确定该结果的符号, 并且其中放置包含将确定的符号与该结果包括在该第一操作数位置中。 8.如权利要求7所述的计算机程序产品,其中该确。

6、定基于该符号控制。 9.如权利要求8所述的计算机程序产品,其中基于该符号控制为第一值,该确定包含: 从存储器读取符号字段,该符号字段包括在该第二操作数中;以及 设置来自该符号字段的符号。 10.如权利要求8所述的计算机程序产品,其中基于该符号控制为第二值,该确定包含 对该结果强迫正号。 11.一种用于在中央处理单元中执行机器指令的计算机系统,该计算机系统包含: 存储器;以及 处理器,其与该存储器通信,其中该计算机系统配置为执行一种方法,该方法包含: 获得用于执行的机器指令,该机器指令根据计算机架构定义用于计算机执行,该机器 指令包含: 至少一个操作码字段,其用于提供操作码,该操作码识别从区位转。

7、换为十进制浮点函 权 利 要 求 书CN 104025044 A 2/3页 3 数; 第一寄存器字段,其指定第一操作数位置; 第二寄存器字段和位移字段,其中由该第二寄存器字段指定的第二寄存器的内容与该 位移字段的内容组合以形成第二操作数的地址;以及 符号控制,用于指示该第二操作数是否具有符号字段;并且 执行该机器指令,该执行包含: 将区位格式的第二操作数转换为十进制浮点格式;以及 将该转换的结果放置在该第一操作数位置中。 12.如权利要求11所述的计算机系统,其中该操作码当为第一值时指示区位源和长的 十进制浮点结果,并且该操作码当为第二值时指示区位源和扩展的十进制浮点结果。 13.如权利要求1。

8、1所述的计算机系统,其中该机器指令进一步包括长度字段,其指定 该第二操作数的长度。 14.如权利要求11所述的计算机系统,其中该执行进一步包含从存储器读取该第二操 作数,并且对从存储器读取的该第二操作数执行转换。 15.如权利要求11所述的计算机系统,其中该执行进一步包含确定该结果的符号,并 且其中放置包含将确定的符号与该结果包括在该第一操作数位置中。 16.如权利要求15所述的计算机系统,其中该确定基于该符号控制,并且其中基于该 符号控制为第一值,该确定包含: 从存储器读取符号字段,该符号字段包括在该第二操作数中;以及 设置来自该符号字段的符号。 17.如权利要求15所述的计算机系统,其中该。

9、确定基于该符号控制,并且其中基于该 符号控制为第二值,该确定包含对该结果强迫正号。 18.一种用于在中央处理单元中执行机器指令的方法,该方法包含: 由处理器获得用于执行的机器指令,该机器指令根据计算机架构定义用于计算机执 行,该机器指令包含: 至少一个操作码字段,其用于提供操作码,该操作码识别从区位转换为十进制浮点函 数; 第一寄存器字段,其指定第一操作数位置; 第二寄存器字段和位移字段,其中由该第二寄存器字段指定的第二寄存器的内容与该 位移字段的内容组合,以形成第二操作数的地址;以及 符号控制,用于指示该第二操作数是否具有符号字段;并且 执行该机器指令,该执行包含: 将区位格式的第二操作数转。

10、换为十进制浮点格式;以及 将该转换的结果放置在该第一操作数位置中。 19.如权利要求18的方法,其中该执行进一步包含确定该结果的符号,并且其中放置 包含将确定的符号与该结果包括在该第一操作数位置中。 20.如权利要求19的方法,其中该确定基于该符号控制,并且其中: 基于该符号控制为第一值,该确定包含从存储器读取符号字段,该符号字段包括在该 第二操作数中;以及设置来自该符号字段的符号;并且 权 利 要 求 书CN 104025044 A 3/3页 4 基于该符号控制为第二值,该确定包含对该结果强迫正号。 权 利 要 求 书CN 104025044 A 1/29页 5 从区位格式转换为十进制浮点格。

11、式 技术领域 0001 本发明的一个方面一般是涉及在计算环境内的处理,且具体地,是涉及将数据从 一个格式转换为另一个格式。 背景技术 0002 可按许多不同格式将数据存储在内部计算机存储器或外部存储器中,格式包括扩 展二进制编码十进制交换码(EBCDIC)、美国信息交换标准码(ASCII)及十进制浮点等等。 0003 不同计算机架构支持不同数据格式,并且可能希望对特定格式执行操作。在此情 况下,可能需要将处于一种格式的数据转换为所希望的格式。 0004 另外,传统上,用于处理按EBCDIC或ASCII格式存储在数据库中的数字十进制数 据的运算直接在存储器上操作。被称为存储器至存储器十进制运算的。

12、这些运算及这些运算 的执行受到存储器接口的延时限制。取决于来自先前运算的结果的每一运算在其可开始前 必须等待,直至将结果写出至存储器为止。因为存储器延时与处理器速度之间的间隙继续 增大,所以这些运算的相对执行继续减少。 发明内容 0005 经由提供一种用于在中央处理单元中执行机器指令的计算机程序产品来克服现 有技术的缺点并且提供优势。该计算机程序产品包括计算机可读存储介质,其可由处理电 路读取且存储用于由该处理电路执行以用于执行一方法的指令。该方法包括例如由处理器 获得用于执行的机器指令,该机器指令根据计算机架构经定义用于计算机执行,该机器指 令包括:至少一个操作码字段,其用于提供操作码,该操。

13、作码识别从区位转换为十进制浮点 函数;第一寄存器字段,其指定第一操作数位置;第二寄存器字段及位移字段,其中由该第 二寄存器字段指定的第二寄存器的内容与该位移字段的内容组合以形成第二操作数的地 址;以及符号控制,用于指示该第二操作数是否具有符号字段;及执行该机器指令,该执行 包括:将区位格式的该第二操作数转换为十进制浮点格式;及将该转换的结果放置在第一 操作数位置中。 0006 在此还描述及主张涉及本发明的一个或多个方面的方法和系统。另外,本文中还 描述且可主张涉及本发明的一个或多个方面的服务。 0007 经由本发明的技术,认识到额外特征及优势。本发明的其他实施例和方面在此得 以详细描述且被视为。

14、所主张的本发明的一部分。 附图说明 0008 本发明的一个或多个方面在本说明书的结束处的权利要求中作为示例经特定指 出且清楚地主张。从以下结合附图进行的详细描述,本发明的前述内容及目标、特征及优势 是显而易见的。 0009 图1描绘并入且使用本发明的一个或多个方面的计算环境的一个实施例; 说 明 书CN 104025044 A 2/29页 6 0010 图2A描绘并入且使用本发明的一个或多个方面的计算环境的另一实施例; 0011 图2B描绘根据本发明的一个方面的图2A的存储器的进一步细节; 0012 图3描绘根据本发明的一个方面的从区位格式转换为十进制浮点格式的逻辑的 概述; 0013 图4描。

15、绘根据本发明的一个方面使用的从区位转换指令的格式的一个实施例; 0014 图5描绘根据本发明的一个方面的从区位转换为十进制浮点的逻辑的进一步细 节; 0015 图6描绘根据本发明的一个方面的从十进制浮点格式转换为区位格式的逻辑的 概述; 0016 图7描绘根据本发明的一个方面使用的从十进制浮点转换为区位指令的一个实 施例; 0017 图8描绘根据本发明的一个方面的从十进制浮点转换为区位的逻辑的进一步细 节; 0018 图9描绘并入本发明的一个或多个方面的计算机程序产品的一个实施例; 0019 图10描绘并入且使用本发明的一个或多个方面的主机计算机系统的一个实施 例; 0020 图11描绘并入且。

16、使用本发明的一个或多个方面的计算机系统的又一示例; 0021 图12描绘并入且使用本发明的一个或多个方面的包含计算机网络的计算机系统 的另一示例; 0022 图13描绘并入且使用本发明的一个或多个方面的计算机系统的各种元件的一个 实施例; 0023 图14A描绘并入且使用本发明的一个或多个方面的图13的计算机系统的执行单 元的一个实施例; 0024 图14B描绘并入且使用本发明的一个或多个方面的图13的计算机系统的分支单 元的一个实施例; 0025 图14C描绘并入且使用本发明的一个或多个方面的图13的计算机系统的载入/ 存储单元的一个实施例;及 0026 图15描绘并入且使用本发明的一个或多。

17、个方面的模拟主机计算机系统的一个实 施例。 具体实施方式 0027 不同计算机架构可支持不同数据格式,且所支持的数据格式可随时间改变。举 例而言,由国际商业机器公司提供的机器传统上已支持EBCDIC及ASCII格式。后来, 机器开始支持十进制浮点(DFP)格式及运算,存在针对DFP格式及运算的IEEE标准 (IEEE754-2008)。然而,为了使用DFP运算,要将EBCDIC及ASCII数据转换为DFP。 0028 根据本发明的一个方面,提供在EBCDIC或ASCII与十进制浮点之间转换的有效机 制。在一个示例中,此机制在无其他技术的存储器开销的情况下执行转换。 0029 在本发明的一个方面。

18、中,提供机器指令,机器指令从存储器读取EBCDIC或ASCII 数据(其具有区位格式),将其转换为适当的十进制浮点格式,且将其写入至目标浮点寄存 说 明 书CN 104025044 A 3/29页 7 器或浮点寄存器对。这些指令在本文中被称为长的从区位转换指令(CDZT)及扩展的从区 位转换指令(CXZT)。 0030 在本发明的又一个方面中,提供机器指令,机器指令将源浮点寄存器或浮点寄存 器对中的十进制浮点(DFP)操作数转换为EBCDIC或ASCII数据,且将其存储至目标存储 器位置。这些指令在本文中被称为长的转换为区位指令(CZDT)及扩展的转换为区位指令 (CZXT)。 0031 参看。

19、图1描述并入且使用本发明的一个或多个方面的计算环境的一个实施例。计 算环境100包括(例如)经由(例如)一个或多个总线108和/或其他连接相互耦接的处 理器102(例如,中央处理单元)、存储器104(例如,主存储器)及一个或多个输入/输出 (I/O)设备和/或接口106。 0032 在一个示例中,处理器102为处理器,其为由国际商业机器公 司(纽约Armonk)提供的系统服务器的部分。服务器 实施由国际商业机器公司提供的其指定计算机的逻辑结构及函数运算。 的一个实施例描述于题为“z/Architecture Principles of Operation” 的公开(公开第SA22-7832-0。

20、8号,第九版,2010年8月)中,该公开在此以引 用的方式全部并入本文中。在一个示例中,该服务器运行操作系统,诸如,也由国际商业机 器公司提供的及为国际商业机器公司(美国纽 约Armonk)的注册商标。本文中使用的其他名称可为国际商业机器公司或其他公司的注册 商标、商标或产品名称。 0033 参看图2A描述并入且使用本发明的一个或多个方面的计算环境的另一实施例。 在此示例中,计算环境200包括(例如)经由(例如)一个或多个总线208和/或其他 连接相互耦接的原生中央处理单元202、存储器204及一个或多个输入/输出设备和/或 接口206。作为示例,计算环境200可包括由国际商业机器公司(纽约A。

21、rmonk)提供的 处理器、服务器或服务器;由Hewlett Packard Co.(Palo Alto,California)提供的具有处理器的HP Superdome;和/或基于由 Hewlett Packard、Intel、Sun Microsystems或其他者提供的架构的其他机器。 及为国际商业机器公司(美国纽约Armonk)的注册商 标。及为Intel Corporation(Santa Clara,California)的注册商标。 0034 原生中央处理单元202包括在环境内的处理期间使用的一个或多个原生寄存器 210,诸如,一个或多个通用寄存器和/或一个或多个专用寄存器。这些。

22、寄存器包括表示在 任何特定时间点的环境状态的信息。 0035 此外,原生中央处理单元202执行存储在存储器204中的指令及代码。在一个特定 示例中,中央处理单元执行存储在存储器204中的模拟器(emulator)代码212。此代码使在 一个架构中组态的处理环境能够模拟另一架构。举例而言,模拟器代码212允许基于不同 说 明 书CN 104025044 A 4/29页 8 于的架构的机器(诸如,处理器、服务器、 服务器、HP Superdome服务器或其他)模拟及执行基于 开发的软件及指令。 0036 参看图2B描述关于模拟器代码212的进一步细节。客体指令250包含经开发以 待在不同于原生CP。

23、U202的架构的一个架构中执行的软件指令(例如,机器指令)。举例而 言,客体指令250可已经设计以在处理器102上执行,但实情为,正在原生 CPU202(其可为(例如)处理器)上经模拟。在一个示例中,模拟器代 码212包括指令提取单元252以从存储器204获得一个或多个客体指令250,及可选地提供 用于获得的指令的局部缓冲。其也包括指令转译例程254以判定已获得的客体指令的类型 且将客体指令转译成一个或多个对应的原生指令256。此转译包括(例如)识别要由客体 指令执行的函数及选择原生指令来执行该函数。 0037 另外,模拟器212包括模拟控制例程260以使原生指令被执行。模拟控制例程260 可。

24、使原生CPU202执行模拟一个或多个先前获得的客体指令的原生指令的例程,且在此执 行完结时,将控制返回至指令提取例程以模拟下一个客体指令或一组客体指令的获得。客 体指令250的执行可包括将数据从存储器204载入至寄存器;将数据从寄存器存储回至存 储器;或执行某一类型的算术或逻辑运算(如由转译例程判定)。 0038 每一例程(例如)以软件实施,该软件存储在存储器中且由原生中央处理单元202 执行。在其他示例中,例程或运算中的一个或多个以固件、硬件、软件或其某一组合实施。 可使用原生CPU的寄存器210或通过使用存储器204中的位置来模拟模拟的处理器的寄存 器。在实施例中,客体指令250、原生指令。

25、256及模拟器代码212可常驻于同一存储器中或 可分布在不同存储器设备间。 0039 如本文中使用,固件包括(例如)处理器的微代码、毫代码和/或宏代码。其包括 (例如)在较高层级机器代码的实施中使用的硬件层级指令和/或数据结构。在一个实施 例中,其包括(例如)通常作为微代码递送的专有代码,该微代码包括特定针对基础硬件的 受信任软件或微代码且控制操作系统对系统硬件的存取。 0040 在一个示例中,获得、转译及执行的客体指令250为本文中描述的指令的一。在此 示例中为指令的指令从存储器经提取、转译且表示为被执行的一系列原 生指令256(例如,等)。 0041 在另一实施例中,在另一架构环境中执行指。

26、令中的一个或多个,该另一架构环境 包括(例如)如在以下描述的架构:2006年11月的“ 64and IA-32 Architectures Software Developers Manual Volume 1”(序号253665-022US);2006年11月的 “ 64and IA-32Architecture Software Developers Manual Volume2A”(序号 253666-022US);2006年1月的“ Architecture Software Developers Manual Volume 1”(文件号245317-005);2006年1月的“ Ar。

27、chitecture Software Developers Manual Volume2”(文件号245318-005);和/或2006年1月 说 明 书CN 104025044 A 5/29页 9 的“ Architecture Software Developers Manual Volume3”(文件号 245319-005)。 0042 本文中描述的处理器以及其他执行指令,以执行某些功能(诸如,在EBCDIC或 ASCII与十进制浮点格式之间转换)。在一个示例中,EBCDIC或ASCII数据具有区位格式, 且因此,示例指令包括(例如)如本文中描述的从区位转换为十进制浮点指令以及从十进。

28、 制浮点转换为区位指令。 0043 然而,在描述指令前,描述本文中提及的各种数据格式。举例而言,在区位格式下, 字节的最右边四个位称为数字位(N)且通常包括表示十进制数位(digit)的代码。字节的 最左边四个位称为数字位(Z),除十进制操作数的最右边字节外,在该情况下,可将这些位 作为区位或作为符号(S)来处理。 0044 区位格式的十进制数位可为较大字符集合的部分,其还包括字母及特殊字符。区 位格式因此适合于以人可读形式输入、编辑及输出数字数据。在一个实施例中,十进制算术 指令不直接按区位格式对十进制数运算;这样的数首先经转换为(例如)十进制浮点格式 的一。 0045 可按三个数据格式中的。

29、任一表示十进制浮点数据:短、长或扩展。每一数据格式的 内容表示编码的信息。指派特殊代码以将有限数与NaN(非数)及无限数区分开。 0046 对于有限数,按该格式使用有偏指数(biased exponent)。对于每一个格式,将与 用于左单元视图(LUV)指数的有偏不同的有偏用于右单元视图(RUV)指数。有偏指数为不 带符号的数。通过组合字段中的有效数(signicand)的最左边数位(LMD)来编码有偏指 数。在编码的尾有效数字段中编码有效数的其余数位。 0047 这些数据格式的示例为: 0048 DFP 短格式 0049 0050 当将DFP短格式的操作数载入至浮点寄存器中时,其占据寄存器的。

30、左半边,且右 半边保持不变。 0051 DFP 长格式 0052 0053 当将DFP长格式的操作数载入至浮点寄存器中时,其占据整个寄存器。 0054 DFP 扩展格式 0055 说 明 书CN 104025044 A 6/29页 10 0056 DFP扩展格式的操作数占据浮点寄存器对。最左边的64个位占据该对的全部较低 编号的寄存器,且最右边的64个位占据全部较高编号的寄存器。 0057 符号位在每一个格式的位0中,且(例如)对于正为0且对于负为1。 0058 对于有限数,组合字段包括有偏指数及有效数的最左边数位;对于NaN及无限数, 此字段包括识别其的代码。 0059 当该格式的位1-5处。

31、于00000-11101的范围中时,操作数为有限数。将有偏指数 的两个最左边位及有效数的最左边数位编码于该格式的位1-5中。位6至组合字段的末尾 包括有偏指数的其余。 0060 当格式字段的位1-5为11110时,操作数为无限数。组合字段中在该格式的位5 右边的所有位构成用于无限数的保留字段。在源无限数中接受保留字段中的非零值;在所 得无限数中将保留字段设为0。 0061 当该格式的位1-5为11111时,操作数为NaN,且位6(称为SNaN位)进一步将 QNaN与SNaN区分开。如果位6为0,则其为QNaN;否则,其为SNaN。组合字段中在该格式 的位6右边的所有位构成用于NaN的保留字段。。

32、在源NaN中接受保留字段中的非零值;在 所得NaN中将保留字段设为0。 0062 下表总结组合字段的编码及布局。在该表中,有限数的有偏指数为两个部分的串 联:(1)从该格式的位1-5导出两个最左边位,及(2)组合字段中的其余位。举例而言,如 果DFP短格式的组合字段含有10101010101二进制,则其表示10010101二进制的有偏指数 及最左边有效数数位5。 0063 说 明 书CN 104025044 A 10 7/29页 11 0064 说 明 书CN 104025044 A 11 8/29页 12 0065 编码的尾有效数字段包括编码的十进制数,其表示尾有效数中的数位。尾有效数 包括。

33、所有有效数数位,除最左边的数位外。对于无限数,在源无限数中接受非零尾有效数数 位;将所得无限数中的所有尾有效数数位设为0,除非另有规定。对于NaN,此字段包括称为 说 明 书CN 104025044 A 12 9/29页 13 有效载荷(payload)的诊断信息。 0066 编码的尾有效数字段为大量10位区块(称为三位十进制数(declet)。三位十进 制数的数目取决于格式定。每一三位十进制数表示10位值中的三个十进制数位。 0067 各种格式的有限数的值展示于下表中: 0068 0069 术语有效数用于意味(例如)以下: 0070 1.对于有限数,有效数包括在左边用从组合字段导出的有效数的。

34、最左边位填补的 所有尾有效数数位。 0071 2.对于无限数及NaN,有效数含有在左边用零数位填补的所有尾有效数数位。 0072 对于有限数,DFP有效数位开始于最左边的非零有效数数位,且结束于最右边的有 效数数位。 0073 对于有限数,DFP有效数位的数目为从格式精确度减去前导零的数目的差。前导 零的数目为有效数中在最左边非零数位的左边的零的数目。 0074 除了以上之外,存在密集充填十进制(DPD)格式。3数位十进制数(000-999)至 10位值(称为三位十进制数)的映射的示例展示于下表中。DPD项目按十六进制展示。十 进制数的前两个数位展示于最左边行中,且沿着顶部列展示第三数位。 0。

35、075 0 1 2 3 4 5 6 7 8 9 说 明 书CN 104025044 A 13 10/29页 14 00_ 000 001 002 003 004 005 006 007 008 009 01_ 010 011 012 013 014 015 016 017 018 019 02_ 020 021 022 023 024 025 026 027 028 029 03_ 030 031 032 033 034 035 036 037 038 039 04_ 040 041 042 043 044 045 046 047 048 049 05_ 050 051 052 053 054。

36、 055 056 057 058 059 06_ 060 061 062 063 064 065 066 067 068 069 07_ 070 071 072 073 074 075 076 077 078 079 08_ 00A 00B 02A 02B 04A 04B 06A 06B 04E 04F 09_ 01A 01B 03A 03B 05A 05B 07A 07B 05E 05F 10_ 080 081 082 083 084 085 086 087 088 089 0076 90_ 08C 08D 18C 18D 28C 28D 38C 38D 0AE 0AF 91_ 09C 09。

37、D 19C 19D 29C 29D 39C 39D 0BE 0BF 92_ 0AC 0AD 1AC 1AD 2AC 2AD 3AC 3AD 1AE 1AF 93_ 0BC 0BD 1BC 1BD 2BC 2BD 3BC 3BD 1BE 1BF 94_ 0CC 0CD 1CC 1CD 2CD 2CD 3CC 3CD 2AE 2AF 95_ 0DC 0DD 1DC 1DD 2DC 2DD 3DC 3DD 2BE 2BF 96_ 0EC 0ED 1EC 1ED 2EC 2ED 3EC 3ED 3AE 3AF 97_ 0FC 0FD 1FC 1FD 2FC 2FD 3FC 3FD 3BE 3BF 98。

38、_ 08E 08F 18E 18F 28E 28F 38E 38F 0EE 0EF 99_ 09E 09F 19E 19F 29E 29F 39E 39F 0FE 0FF 0077 10位三位十进制数至3数位十进制数的映射的示例展示于下表中。将10位三位十 进制数值分裂成在左边行中展示的6位索引及沿着顶部行展示的4位索引,两者皆按十六 进制表示。 0078 说 明 书CN 104025044 A 14 11/29页 15 0 1 2 3 4 5 6 7 8 9 A B C D E F 00_ 000 001 002 003 004 005 006 007 008 009 080 081 800。

39、 801 880 881 01_ 010 011 012 013 014 015 016 017 018 019 090 091 810 811 890 891 02_ 020 021 022 023 024 025 026 027 028 029 082 083 820 821 808 809 03_ 030 031 032 033 034 035 036 037 038 039 092 093 830 831 818 819 04_ 040 041 042 043 044 045 046 047 048 049 084 085 840 841 088 089 05_ 050 051 052。

40、 053 054 055 056 057 058 059 094 095 850 851 098 099 0079 06_ 060 061 062 063 064 065 066 067 068 069 086 087 860 861 888 889 07_ 070 071 072 073 074 075 076 077 078 079 096 097 870 871 898 899 08_ 100 101 102 103 104 105 106 107 108 109 180 181 900 901 980 981 09_ 110 111 112 113 114 115 116 117 11。

41、8 119 190 191 910 911 990 991 0A_ 120 121 122 123 124 125 126 127 128 129 182 183 920 921 908 909 0080 0081 根据本发明的一个方面,提供从区位格式转换为十进制浮点的指令。在一个实施 例中,存在两个类型的从区位转换为十进制浮点指令,包括长的从区位转换指令(CDZT)及 扩展的从区位转换指令(CXZT),以下描述其中的每一个。这些指令提供用于将数据从直接 在存储器中的EBCDIC或ASCII转换为寄存器中的十进制浮点格式的有效方式。 0082 举例而言,参看图3,在一个实施例中,每机器指令从存。

42、储器读取EBCDIC或ASCII 数据(步骤300);将其转换为适当的十进制浮点格式(步骤302);且将其写入至目标浮点 寄存器或浮点寄存器对(步骤304)。 0083 长的从区位转换指令CDZT从指定存储器位置读取操作数数据,将其转换为具有 说 明 书CN 104025044 A 15 12/29页 16 零指数的双精确度DFP操作数,且将其写入至指定目标浮点寄存器。扩展的从区位转换指 令CXZT从指定存储器位置读取操作数数据,将其转换为具有零指数的扩展的精确度DFP操 作数,且将其写入至指定目标浮点寄存器对。在源存储器位置中的字节的数目指定于指令 中,且对于CDZT可为1至16个字节,或对。

43、于CXZT可为1至34个字节。针对有效数位码全 部检查源操作数的数位。指令中的符号字段指示源操作数的符号半字节(nibble)待处理。 如果符号字段经设置,则针对有效符号代码检查符号。假定其有效,则将DFP结果的符号设 为同一符号,如由源操作数的符号半字节指示。如果检测到无效数位或符号代码,则认识到 十进制数据例外状况。 0084 在一个实施例中,从区位转换指令中的每一个具有同一个格式(RSL-b格式),其 一示例描绘于图4中。如在一个实施例中所描绘,从区位转换指令的一个格式400包括(例 如)以下字段: 0085 操作码字段402a、402b:操作码字段提供指示正由指令执行的函数的操作码。作。

44、 为示例,一个定义的操作码将函数定义为长的从区位转换指令,且另一预定义的操作码指 示其为扩展的从区位转换指令。 0086 长度字段(L 2 )404:长度字段404指定第二操作数的长度(例如,以字节为单位)。 作为示例,对于扩展的转换为区位指令,长度字段包括0至33的长度码,且对于长的从区位 转换指令,长度字段包括0至15的长度码。 0087 基底寄存器字段(B 2 )406:基底寄存器字段指定通用寄存器,将其内容添加至位移 字段的内容以形成第二操作数地址。 0088 位移字段(D 2 )408:位移字段包括添加至由基底寄存器字段指定的通用寄存器的 内容以形成第二操作数地址的内容。 0089 。

45、寄存器字段(R 1 )410:寄存器字段指定寄存器,其内容为第一操作数。包括第一操 作数的寄存器有时被称为第一操作数位置。 0090 掩码字段(M 3 )412:掩码字段包括(例如)符号(S)控制(例如,位),在一个示例 中,其为M 3 字段的位0。当此位为0时,第二操作数不具有符号字段,且将DFP第一操作数 结果的符号位设为0。当为1时,第二操作数带符号。也就是说,最右边字节的最左边的四 个位为符号。当符号字段指示正值时,将DFP第一操作数结果的符号位设为0;且当符号字 段指示负值时,将其设为1。在一个实施例中,忽略M 3 字段的位1至3。 0091 在从区位转换指令的操作中,将区位格式的第。

46、二操作数转换为DFP格式,且将结 果放置在第一操作数位置处。在一个示例中,量为1,且用该量来表示递送值。放置在第一 操作数位置处的结果为正准的(canonical)。 0092 在一个实施例中,当在第二操作数中检测到无效数位或符号代码时,认识到十进 制操作数数据例外状况。认识到规格例外状况,且当(例如)下列中的任一个为真时抑制 该操作:对于CDZT,L 2 字段大于或等于16;及对于CXZT,R 1 字段指定无效浮点寄存器对,或 L 2 字段大于或等于34。 0093 在一个实施例中,当指定ASCII第二操作数时,M 3 字段的位0为0;否则,认识到十 进制操作数数据例外状况。也就是说,001。

47、1二进制的符号值并非有效的符号。 0094 参看图5描述关于从区位转换指令的执行的进一步细节。在一个示例中,执行执 行此逻辑的从区位转换指令的为处理器。 说 明 书CN 104025044 A 16 13/29页 17 0095 最初,进行关于从区位转换指令的操作码是否指示其为扩展或长的格式(询问 500)。也就是说,正执行的指令为长的从区位转换指令或扩展的从区位转换指令。如果操 作码指示其为长的从区位转换指令,则进行关于在指令中提供的长度字段(L 2 )是否指定大 于15的长度的另一判定(询问502)。如果长度字段指定大于15的长度,则提供指示其为 16个以上数位(0至15)的例外状况(步骤。

48、504)。 0096 返回询问502,如果长度字段未指定大于15的长度,则从存储器读取源区位数位 (第二操作数的至少一部分)(步骤506)。其后,将从存储器读取的源区位数位转换为十进 制浮点格式(步骤508)。在此示例中,将其转换为具有零指数的双精确度DFP操作数。 0097 另外,进行关于在掩码字段(M 3 )中指定的符号控制(S)是否经设为1的判定(询 问510)。如果符号控制不等于一,则强迫DFP数的符号为正(步骤512),且用经转换的值 更新目标浮点寄存器,包括强迫的符号(步骤514)。 0098 返回询问510,如果符号控制等于1,则从存储器读取(第二操作数的)源符号字 段(步骤51。

49、6)。其后,将DFP数的符号设为源的符号(步骤518),且用经转换的值及符号 (例如,DFP格式的位0)更新目标浮点寄存器(步骤514)。 0099 返回询问500,如果操作码指示其为扩展的从区位转换指令,则进行关于指令的长 度字段是否指定大于33的长度的判定(询问530)。如果长度字段指定大于33的长度,则 提供指示34个以上数位(0至33)的例外状况(步骤532)。然而,如果长度字段未指定大 于33的长度,则进行关于指令的R 1 字段是否指定无效浮点寄存器对的判定(询问534)。 如果指示无效浮点寄存器对,则提供例外状况(步骤536)。否则,从存储器读取源区位数位 (第二操作数的至少一部分)(步骤538)。其后,从存储器读取的源区位数位转换为十进制 浮点格式(步骤540)。在此示例中,将数位(第二操作数的至少一部分)转换为具有零指 数的扩展的精确度数据浮点运算。 0100。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1