一种并行指令打包方法

文档序号:6367905阅读:149来源:国知局
专利名称:一种并行指令打包方法
技术领域
本发明涉及微处理器和计算机系统领域,具体地说,涉及面向处理器系统体系结构。
背景技术
处理器系统体系结构是用来处理最终目标指令代码的,最终目标指令代码存放在存储装置中,被读取出来后经过分析,分解成多个指令,再经过译码和执行,完成指定的操作。最终目标指令代码是由汇编及链接器生成的,最终目标指令代码的生成和处理器系统体系结构如图8所示,整个工作过程如下
首先,并行汇编指令送入汇编器,汇编器应用并行指令打包方法将并行汇编指令打包成指令包,并汇编成为多个中间目标代码,然后送入链接器;其次,链接器将多个中间目标代码链接在一起,生成最终目标代码,然后存放在处理器系统体系结构装置的存储装置中;最后,处理器系统体系结构装置对最终目标指令代码进行处理。其中,在分发装置中,会根据并行指令打包方法,反向分解指令包。传统的并行指令打包方法过程如下步骤I :将一个或多个单独的指令,组合在一起;步骤2 :将步骤I得到的组合前,附加一个固定长度的信息字段。在传统的并行指令打包方法中,信息字段的长度是固定的,如图4所示,由于不同数量的单个指令组合时所需的信息量是不同的,如果固定长度的信息字段要满足所有可能的组合情况下的需求,其长度必须是在信息量最大的情况下所需的长度,但是这样,在所需信息量比较小的情况下,固定长度的信息字段中就会有部分的浪费,并且使整个指令包比较长,降低了存取的效率。随着处理器的速度不断提高,同时处理器并行指令执行的发展,使得计算的效率不断增强,同时,也对并行指令的分发速度要求越来越高。由于并行指令的分发速度对处理器性能影响很大,因此提高计算机的并行指令的分发速度尤其重要。

发明内容
为了克服上述缺陷,构建更加高效的处理器系统体系,本发明提出一种并行指令打包方法,包括步骤I :将一个或多个单独的指令,组合在一起,形成并行指令组合;步骤2 :根据步骤I所得并行指令组合的各种信息,写入到一个长度可变的信息字段中;步骤3 :将步骤I所得并行指令组合,以及步骤2所得的信息字段,组成一个指令包。其中,在所述步骤I中,进一步包含以下步骤步骤I. I :计算出所得并行指令组合的长度信息;
步骤I. 2 :计算出所得并行指令组合中单个指令的长度信息、类型信息和其他信
肩、O其中 ,在所述步骤2中,进一步包含以下步骤步骤2. I :根据所述步骤I所得并行指令组合的各种信息,确定所需要的信息字段的长度;步骤2. 2 :将所确定的信息字段的长度写入信息字段;步骤2. 3 :将所确定的信息字段的长度,加上步骤I所得并行指令组合的长度,得到指令包长度,并将指令包长度写入信息字段;步骤2. 4 :将需要的其他信息写入信息字段。通过对信息字段的分析,在处理器结构体系装置的分发装置中,将所述指令包分解成单独的指令。所述处理器结构体系装置包括存储装置、取指装置、分发装置、译码装置、执行装置。所述存储装置,用来存储并行指令包代码和数据。所述取指装置,该装置从存储装置中读取并行指令包代码。所述分发装置,该装置对并行指令包代码进行分析,然后分解成多个指令,并将它们送到不同的译码装置中。所述译码装置,该装置对单个指令进行译码操作。所述执行装置,该装置根据译码结果执行对应的操作。


参照如下附图将更加易于理解本发明图I所示为本发明所用于的处理器结构体系装置的结构框图;图2所示为本发明的操作过程示意图;图3所示为信息字段的结构框图;图4所示为传统并行指令打包方法得到的指令包结构;图5所示为本发明的并行指令打包方法得到的指令包结构;图6所示为本发明的方法流程图;图7所示为本发明的具体示例;图8所示为最终目标指令代码的生成和处理器系统体系结构。
具体实施例方式本发明提供一种新型的并行指令打包方法,根据不同数量的单个指令组合时所需信息量的不同,采用可变长度的信息字段,如图2、图6和图7所示,实施举例如下通过对信息字段的分析,在处理器结构体系装置的分发装置中,将所述指令包分解成单独的指令。所述处理器结构体系装置,如图I所示,包括存储装置、取指装置、分发装置、译码装置、执行装置。所述存储装置,用来存储并行指令包代码和数据。所述取指装置,该装置从存储装置中读取并行指令包代码。所述分发装置,该装置对并行指令包代码进行分析,然后分解成多个指令,并将它们送到不同的译码装置中。所述译码装置,该装置对单个指令进行译码操作。所述执行装置,该装置根据译码结果执行对应的操作。假定有16个单独指令Al A16需要进行打包,每个指令长度为4字节(即I个字节为8位),通过以下方式来实施步骤I :将指令Al A16组合在一起,形成并行指令组合;其中,步骤I. I :计算出并行指令组合的长度为64字节;步骤I. 2 :计算出并行指令组合中单个指令的类型信息长度为2位。步骤2 :根据步骤I所得并行指令组合的各种信息,写入到一个6字节长的信息字段中,如图7所示;其中,步骤2. I :根据所述步骤I所得并行指令组合的各种信息,确定所需要的信息字段的长度为6字节; 步骤2. 2 :将所确定的信息字段的长度写入信息字段;步骤2. 3 :将所确定的信息字段的长度,加上步骤I所得并行指令组合的长度,得到指令包长度为70字节,并将指令包长度写入信息字段;步骤2. 4 :将每个单独指令的类型信息写入信息字段。步骤3 :将步骤I所得并行指令组合,以及步骤2所得的信息字段,组成一个指令包,如图7所示。
权利要求
1.一种并行指令打包方法,其特征在于包括 步骤I:将一个或多个单独的指令,组合在一起,形成并行指令组合; 步骤2 :根据步骤I所得并行指令组合的各种信息,写入到一个长度可变的信息字段中; 步骤3 :将步骤I所得并行指令组合,以及步骤2所得的信息字段,组成一个指令包。
2.根据权利要求I所述的并行指令打包方法,其特征在于,其中,在所述步骤I中,进一步包含以下步骤 步骤I. I :计算出所得并行指令组合的长度信息; 步骤I. 2 :计算出所得并行指令组合中单个指令的长度信息、类型信息和其他信息。
3.根据权利要求I所述的并行指令打包方法,其特征在于,其中,在所述步骤2中,进一步包含以下步骤 步骤2. I :根据所述步骤I所得并行指令组合的各种信息,确定所需要的信息字段的长度; 步骤2. 2 :将所确定的信息字段的长度写入信息字段; 步骤2. 3 :将所确定的信息字段的长度,加上步骤I所得并行指令组合的长度,得到指令包长度,并将指令包长度写入信息字段; 步骤2. 4 :将需要的其他信息写入信息字段。
4.根据权利要求I、2或3所述的并行指令打包方法,其特征在于,通过对信息字段的分析,在处理器结构体系装置的分发装置中,将所述指令包分解成单独的指令。
5.根据权利要求4所述的并行指令打包方法,其特征在于,所述处理器结构体系装置包括存储装置、取指装置、分发装置、译码装置、执行装置。
6.根据权利要求5所述的并行指令打包方法,其特征在于,所述存储装置,用来存储并行指令包代码和数据。
7.根据权利要求5所述的并行指令打包方法,其特征在于,所述取指装置,该装置从存储装置中读取并行指令包代码。
8.根据权利要求5所述的并行指令打包方法,其特征在于,所述分发装置,该装置对并行指令包代码进行分析,然后分解成多个指令,并将它们送到不同的译码装置中。
9.根据权利要求5所述的并行指令打包方法,其特征在于,所述译码装置,该装置对单个指令进行译码操作。
10.根据权利要求5所述的并行指令打包方法,其特征在于,所述执行装置,该装置根据译码结果执行对应的操作。
全文摘要
并行指令打包方法,应用于处理器结构体系装置中的分发装置部分,在处理器体系的运行过程中,能够加快指令的分发操作。所述处理器结构体系装置包括存储装置,用来存储并行指令包代码和数据;取指装置,该装置从主存储装置中读取并行指令包代码;指令分发装置,该装置对并行指令包代码进行分析,然后分解成多个指令,并将它们送到不同的译码装置中;译码装置,该装置对单个指令进行译码操作;执行装置,该装置根据译码结果执行对应的操作。
文档编号G06F9/38GK102707929SQ20121010492
公开日2012年10月3日 申请日期2012年4月12日 优先权日2012年4月12日
发明者孙瑞琛 申请人:江苏中科芯核电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1