System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于存储微指令的方法和系统、用于执行微指令的方法和系统、计算机装置、存储介质和程序产品制造方法及图纸_技高网

用于存储微指令的方法和系统、用于执行微指令的方法和系统、计算机装置、存储介质和程序产品制造方法及图纸

技术编号:41392023 阅读:3 留言:0更新日期:2024-05-20 19:14
本公开提供了一种用于存储微指令的方法和系统、用于执行微指令的方法和系统、计算机装置、存储介质和程序产品。用于存储微指令的方法包括:获取待连续存储的一组微指令和对应于该组微指令的序列字,其中,该序列字包括用于该组微指令的控制信息;基于该序列字包括的控制信息得到用于至少部分替代该序列字的指示信息;存储该指示信息和该组微指令。通过本公开实施例提供的方法,可以在存储微指令时节省存储空间。

【技术实现步骤摘要】

本公开的实施例涉及用于存储微指令的方法和系统、用于执行微指令的方法和系统、计算机装置、存储介质和程序产品


技术介绍

1、在cisc(complex instruction set computer,复杂指令集计算机)结构下,当运行一些功能复杂的指令时,这些功能复杂的指令可以被分解成一系列cpu硬件支持的微指令。微指令也可以被称为微码(microcode)或微程序。微指令的组合(微程序)可以用于实现一些复杂功能,例如复位、异常处理、虚拟机以及其他一些复杂指令的功能。微指令可以被存储在片上内存,例如可以存放在只读内存(rom,read-only-memory)中。使用微程序实现的机器指令对应于相应的rom入口地址,解码模块可以读取rom中已预先编译好的微指令(也可以称为微操作指令(micro operation),下文也简称为uop)信息,进一步解析后分发(dispatch)给执行单元。

2、随着对cpu安全性和运算力的要求越来越高,微指令可以实现越来越多的功能,从而存放微指令的rom所占用的芯片面积也变得越来越大;然而,随着cpu运行频率越来越高,存储微指令的rom所占用的芯片面积增大导致布局布线变得越来越困难,因此节省存储微指令的rom所占用的空间变得非常有必要。


技术实现思路

1、根据本公开的至少一实施例提供了一种用于存储微指令的方法,所述方法包括:获取待连续存储的一组微指令和对应于该组微指令的序列字,其中,该序列字包括用于该组微指令的控制信息;基于该序列字包括的控制信息得到用于至少部分替代该序列字的指示信息;存储该指示信息和该组微指令。

2、例如,在本公开的至少一实施例提供的方法中,该指示信息完全替代该序列字且在存储该指示信息和该组微指令时不保留该序列字。

3、例如,本公开的至少一实施例提供的方法还包括:基于该序列字包括的控制信息得到处理后序列字信息,其中,该处理后序列字信息对应于该指示信息;将该处理后序列字信息以该组微指令的地址信息作为关键字存入至少一个查找表。

4、例如,在本公开的至少一实施例提供的方法中,该处理后序列字信息包括该控制信息中的执行控制信息和跳转信息中的至少一种。本公开的至少一实施例提供的方法还包括:将该执行控制信息以该组微指令的地址信息作为关键字存入第二查找表,将该跳转信息以该组微指令的地址信息作为关键字存入第三查找表。

5、例如,在本公开的至少一实施例提供的方法中,该存储该指示信息和该组微指令,包括:将该指示信息与该组微指令合并存储在一起,或者将该指示信息以该组微指令的地址信息作为关键字存储在第一查找表中,将该组微指令存储在具有规定数据宽度的存储单元中。

6、例如,在本公开的至少一实施例提供的方法中,将该指示信息与该组微指令合并存储在一起,包括:将从该组微指令中选择的第一微指令增加由该指示信息得到的至少一个指示信息比特以得到第一处理后微指令,将该第一处理后微指令压缩为具有规定数据宽度的第一压缩后微指令,使用该第一压缩后微指令取代该第一微指令以存储该组微指令;或者,将从该组微指令中选择的第二微指令压缩后得到第二压缩后微指令,将该第二压缩后微指令增加由该指示信息得到的至少一个指示信息比特以得到具有该规定数据宽度的第二处理后微指令,使用该第二处理微指令取代该第二微指令以存储该组微指令。

7、例如,在本公开的至少一实施例提供的方法中,该指示信息包括指示该序列字包括的控制信息的至少一个比特,该至少一个比特用于指示以下各项中的至少一个:该序列字是否包括执行控制信息、该序列字是否包括跳转信息、该序列字是否为空或是否顺序执行下一组微指令、微指令是否结束。

8、例如,在本公开的至少一实施例提供的方法中,该至少一个比特中的第一比特用于指示该序列字是否为空或是否顺序执行下一组微指令,该至少一个比特中的第二比特用于指示微指令是否结束。

9、根据本公开的至少一实施例提供了一种用于执行微指令的方法,包括:根据取指地址获取一组微指令;获取与该组微指令对应的指示信息,其中,该指示信息是基于对应于该组微指令的序列字包括的控制信息得到以用于至少部分替代该序列字;至少部分地基于该指示信息执行该组微指令。

10、例如,在本公开的至少一实施例提供的方法中,该至少部分地基于该指示信息执行该组微指令,包括:基于该指示信息确定是否存在执行控制信息;如果确定存在执行控制信息,则以该组微指令的地址信息作为关键字、通过第二查找表获取该执行控制信息并基于该执行控制信息执行该组微指令。

11、例如,本公开的至少一实施例提供的方法还包括:基于该指示信息确定微指令是否结束;如果确定微指令未结束,则还基于该指示信息确定是否存在跳转信息:如果确定存在跳转信息,则以该组微指令的地址信息作为关键字、通过第三查找表获取该跳转信息,并基于该跳转信息读取下一组微指令。

12、例如,在本公开的至少一实施例提供的方法中,该获取该组微指令对应的序列字的指示信息,包括:以该组微指令的地址信息作为关键字、通过第一查找表获取该指示信息,或通过读取的该组微指令中的至少一个信息比特获取该指示信息,或通过对读取的该组微指令进行解压缩获取该指示信息。

13、根据本公开的至少一实施例提供了一种用于存储微指令的系统,所述系统包括:读取模块,被配置为获取待连续存储的一组微指令和对应于该组微指令的序列字,其中,该序列字包括用于该组微指令的控制信息;处理模块,被配置为基于该序列字包括的控制信息得到用于至少部分替代该序列字的指示信息;存储模块,被配置为存储该指示信息和该组微指令。

14、例如,在本公开的至少一实施例提供的系统中,该读取模块获取的指示信息完全替代该序列字且在该存储模块存储该指示信息和该组微指令时不保留该序列字。

15、例如,在本公开的至少一实施例提供的系统中,该处理模块还用于基于该序列字包括的控制信息得到处理后序列字信息,其中,该处理后序列字信息对应于该指示信息;该存储模块还用于将该处理后序列字信息以该组微指令的地址信息作为关键字存入至少一个查找表。

16、例如,在本公开的至少一实施例提供的系统中,该处理模块处理得到的处理后序列字信息包括该控制信息中的执行控制信息和跳转信息中的至少一种。在本公开的至少一实施例提供的系统中,该存储模块还用于将该执行控制信息以该组微指令的地址信息作为关键字存入第二查找表,将该跳转信息以该组微指令的地址信息作为关键字存入第三查找表。

17、例如,在本公开的至少一实施例提供的系统中,该存储模块用于将该指示信息与该组微指令合并存储在一起,或者将该指示信息以该组微指令的地址信息作为关键字存储在第一查找表中,将该组微指令存储在具有规定数据宽度的存储单元中。

18、例如,在本公开的至少一实施例提供的系统中,该存储模块用于将从该组微指令中选择的第一微指令增加由该指示信息得到的至少一个指示信息比特以得到第一处理后微指令,将该第一处理后微指令压缩为具本文档来自技高网...

【技术保护点】

1.一种用于存储微指令的方法,包括:

2.根据权利要求1所述的方法,其中,所述指示信息完全替代所述序列字且在存储所述指示信息和所述一组微指令时不保留所述序列字。

3.根据权利要求1所述的方法,还包括:

4.根据权利要求3所述的方法,其中,所述处理后序列字信息包括所述控制信息中的执行控制信息和跳转信息中的至少一种,

5.根据权利要求1-4中任一项所述的方法,其中,所述存储所述指示信息和所述一组微指令,包括:

6.根据权利要求5所述的方法,其中,将所述指示信息与所述一组微指令合并存储在一起,包括:

7.根据权利要求1所述的方法,其中,所述指示信息包括指示所述序列字包括的控制信息的至少一个比特,所述至少一个比特用于指示以下各项中的至少一个:

8.根据权利要求7所述的方法,其中,所述至少一个比特中的第一比特用于指示所述序列字是否为空或是否顺序执行下一组微指令,所述至少一个比特中的第二比特用于指示微指令是否结束。

9.一种用于执行微指令的方法,包括:

10.根据权利要求9所述的方法,其中,所述至少部分地基于所述指示信息执行所述一组微指令,包括:

11.根据权利要求9所述的方法,还包括:

12.根据权利要求9所述的方法,其中,所述获取所述一组微指令对应的序列字的指示信息,包括:

13.一种用于存储微指令的系统,包括:

14.一种用于执行微指令的系统,包括:

15.一种计算机装置,包括处理器及存储器,所述存储器上存储有计算机程序,所述计算机程序当被处理器执行时实现根据权利要求1-8中任一项或权利要求9-12中任一项所述的方法。

16.一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序当被处理器执行时实现根据权利要求1-8中任一项或权利要求9-12中任一项所述的方法。

17.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现根据权利要求1-8中任一项或权利要求9-12中任一项所述的方法。

...

【技术特征摘要】

1.一种用于存储微指令的方法,包括:

2.根据权利要求1所述的方法,其中,所述指示信息完全替代所述序列字且在存储所述指示信息和所述一组微指令时不保留所述序列字。

3.根据权利要求1所述的方法,还包括:

4.根据权利要求3所述的方法,其中,所述处理后序列字信息包括所述控制信息中的执行控制信息和跳转信息中的至少一种,

5.根据权利要求1-4中任一项所述的方法,其中,所述存储所述指示信息和所述一组微指令,包括:

6.根据权利要求5所述的方法,其中,将所述指示信息与所述一组微指令合并存储在一起,包括:

7.根据权利要求1所述的方法,其中,所述指示信息包括指示所述序列字包括的控制信息的至少一个比特,所述至少一个比特用于指示以下各项中的至少一个:

8.根据权利要求7所述的方法,其中,所述至少一个比特中的第一比特用于指示所述序列字是否为空或是否顺序执行下一组微指令,所述至少一个比特中的第二比特用于指示微指令是否结束。

9....

【专利技术属性】
技术研发人员:曹亚桃孙宏瑞
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1