System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机领域,具体涉及一种指令执行的方法和装置。
技术介绍
1、目前主流处理器都采用的非结构化指令集架构,这种指令集架构中,每个指令的提交要等待该指令之前的指令提交后才能进行,因此低层级指令可能会堵塞硬件资源,导致后续指令无法提交。
2、结构化指令集架构将程序分为了两个层级:块与块内微指令。单个块是若干条微指令的集合,而程序又是若干个块的集合。结构化指令集架构可以解决低层级指令堵塞硬件资源的问题,但是由于结构化指令集架构不能保证指令的顺序提交,因此对于随时可能到来的精确异常,不能保证对异常前的指令都执行,异常后的指令都没有执行的精确状态,只会在出现内部异常后重头开始执行程序,因此不能应用在处理器中。
3、因此,如何将结构化指令集架构应用在处理器中,避免低层级指令阻塞硬件资源是一个亟待解决的技术问题。
技术实现思路
1、本申请实施例提供一种指令执行的方法和装置,能够解决低层级指令阻塞硬件资源的问题,提高了程序的运行效率。
2、第一方面,提供了一种指令执行的方法,该方法包括:确定队列中第一块的执行状态为完成状态,所述队列包括多个块,所述第一块为所述队列中编号最小的块,所述第一块包括至少一个指令;根据所述第一块中指令的执行结果改变处理器的状态;将所述第一块从所述队列中删除。
3、本申请实施例提供了一种指令执行的方法,通过队列保证结构化指令集中指令的顺序提交,从而可以将结构化指令集应用在处理器中,同时利用结构化指令集特有的分块机
4、应理解,块为一段线性的程序代码,只能从这段代码开始处进入这段程序,并且只能从这段代码最后一行离开这段程序。块是若干条指令的集合,而程序是若干个块的集合。
5、应理解,队列中块的编号和指令的编号可以存放在重排序缓冲区(reorderbuffer,rob)中。指令执行完成后会将执行结果存放在物理寄存器中。提交指的是按照rob里指令编号顺序,按序根据指令执行的结果更改处理器架构状态。第一块为完成状态,意味着第一块中指令的执行结果均已存放在物理寄存器中,由于第一块为队列中编号最小的块,意味着下一次提交的指令应当是第一块中的指令,本申请提供的方法会根据第一块中指令的编号顺序按序根据每个指令的执行结果更改处理器状态,然后将队列中的第一块删除。
6、可选的,第一块可以是队列的队首块,在确定第一块的执行状态为完成状态后,提交第一块中的指令,然后将第一块从队首出队。应理解,提交第一块中的指令指的是按照rob里第一块中指令的顺序,按序根据指令执行的结果更改处理器架构状态。
7、可选的,队列可以包括一个提交指针,指示下一个将被提交的块,即提交块。第一块为提交块,每个时钟周期,从提交指针开始往后查询x个块的执行状态,x大于等于1。应理解,x的个数可以通过硬件时序、实现方式还有性能指标确定。如果x个块均为完成状态,则将这x个块提交,然后将提交指针移到下一个将要提交的块上,即更新提交块为该x个块后的下一个块。可选的,提交块可以是队列的队首块,在确定这x个块的执行状态均为完成状态且提交后,将这x个块从队首出队,更新提交块为新的队首块。
8、应理解,队列中包括多个块,每个块包括至少一条指令。本申请通过利用结构化指令集特有的分块机制来设计结构化rob,由队列保证块与块之间的提交顺序,可以将已经执行完的指令所占用的硬件资源提前释放,能够解决低层级指令阻塞硬件资源的问题。
9、本申请实施例提供了一种指令执行的方法,通过队列保证结构化指令集中指令的顺序提交,从而可以将结构化指令集应用在处理器中,同时利用结构化指令集特有的分块机制,可以将已经执行完的指令所占用的硬件资源提前释放,能够解决低层级指令阻塞硬件资源的问题。
10、结合第一方面,在第一方面的某些实现方式中,所述确定队列中第一块的执行状态为完成状态,包括:确定所述第一块中包括的所有指令的执行状态均为完成状态。
11、应理解,第一块包括至少一个指令,指令的执行状态包括未完成状态、完成状态和异常状态等,当第一块中所有指令均为完成状态时,认为第一块的执行状态为完成状态。
12、本申请实施例提供了一种指令执行的方法,通过队列保证结构化指令集中指令的顺序提交,从而可以将结构化指令集应用在处理器中,同时利用结构化指令集特有的分块机制,可以将已经执行完的指令所占用的硬件资源提前释放,能够解决低层级指令阻塞硬件资源的问题。
13、结合第一方面,在第一方面的某些实现方式中,所述方法还包括:确定第一片为第二块中的提交片且所述第一片中的指令为完成状态,所述第二块为所述队列中除所述第一块以外的任意一个块,所述第一片为所述第二块包括的多个片中的一个,所述第一片包括至少一条指令,所述第二块中的多个片通过尾指针连接,所述提交片为所述第二块中最早开始存指令的片;将所述第一片从所述第二块中删除;若所述第一片不是所述第二块中的最后一个片,更新所述第二块中的所述提交片为所述第一片的尾指针指向的片。
14、应理解,队列包括多个块,每个块包括多个片,每个片包括至少一条指令。多个片之间通过尾指针连接,即上一个片的尾指针指向下一个片。可选的,还可以设置下一个片的头指针指向上一个片,构成链表结构。
15、队列中可以包括每个块的编号、每个片的编号和每个片中指令的执行状态,指令的执行状态可以包括未完成状态、完成状态和异常状态。
16、可选的,在确定第一片为第二块中的提交片且所述第一片中的指令为完成状态后,可以将第一片删除,释放第一片占用的硬件资源。应理解,第一片中的指令执行完成后会将执行结果存放在物理寄存器中,由物理寄存器的重命名单元对片与片之间的提交顺序进行管理。
17、应理解,提交片为所述第二块中最早开始存指令的片,指的是第一片为第二块中最老的片,意味着在第二块包括的所有片中,第一片在第二块中待的时间是最久的,即第一片是最早进入第二块的片。
18、示例性地,可以通过一个记录队列记录每个块中的提交片,若第一片为第二块中的提交片,并且第一片中的所有指令的执行状态均为完成状态,则可以删除第一片中的指令,然后更新记录队列中第二块的提交片。若第一片不是第二块中的最后一个片,该更新后的提交片为第一片的尾指针指向的下一个片。若第一片是第二块中的最后一个片,则将第二块的执行状态设置为完成状态。
19、本申请实施例提供了一种指令执行的方法,可以将结构化指令集应用在处理器中,同时在结构化指令集分块机制的基础上增加了分片机制,可以对指令的提交进行更加有效的管理,解决低层级指令阻塞硬件资源的问题。
20、结合第一方面,在第一方面的某些实现方式中,所述方法还包括:确定所述第二块中所有指令的执行状态均为完成状态;将所述第二块的执行状态设置为完成状态。
21、示例性地,当确定第一片为第二本文档来自技高网...
【技术保护点】
1.一种指令执行的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定队列中第一块的执行状态为完成状态,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
10.一种计算机装置,其特征在于,所述装置应用于处理器,所述装置包括:
11.根据权利要求10所述的装置,其特征在于,所述处理模块,具体用于:
12.根据权利要求10或11所述的装置,其特征在于,所述处理模块,具体用于:
13.根据权利要求1
14.根据权利要求10至13任一项所述的装置,其特征在于,还包括获取模块,用于获取一个或者多个第三块,所述第三块包括至少一条指令;
15.根据权利要求14所述的装置,其特征在于,所述处理模块,还用于将第四块中的指令存到第二片,所述第四块为所述一个或者多个第三块中的一个,所述第二片包括至少一个存放指令的空位。
16.根据权利要求10至15任一项所述的装置,其特征在于,所述获取模块,还用于获取异常信号和异常指令编号;
17.根据权利要求10至16任一项所述的装置,其特征在于,所述获取模块,还用于获取中断信号;
18.根据权利要求10至17任一项所述的装置,其特征在于,所述处理模块,具体用于:
19.一种计算机设备,其特征在于,包括:处理器,所述处理器用于与存储器耦合,读取并执行所述存储器中的指令和/或程序代码,以执行如权利要求1-9中任一项所述的方法。
20.一种芯片系统,其特征在于,包括:逻辑电路,所述逻辑电路用于与输入/输出接口耦合,通过所述输入/输出接口传输数据,以执行如权利要求1-9中任一项所述的方法。
21.一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1-9中任一项所述的方法。
...【技术特征摘要】
1.一种指令执行的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定队列中第一块的执行状态为完成状态,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
10.一种计算机装置,其特征在于,所述装置应用于处理器,所述装置包括:
11.根据权利要求10所述的装置,其特征在于,所述处理模块,具体用于:
12.根据权利要求10或11所述的装置,其特征在于,所述处理模块,具体用于:
13.根据权利要求12所述的装置,其特征在于,所述处理模块,还用于确定所述第二块中所有指令的执行状态均为完成状态;
14.根据权利要求10至13任一...
【专利技术属性】
技术研发人员:朱凡,周若愚,苏放,周昔平,廖恒,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。