指令处理电路、方法及追踪编码器技术

技术编号:37778624 阅读:24 留言:0更新日期:2023-06-09 09:09
本公开提供了一种指令处理电路、方法及追踪编码器,该指令处理电路包括:移位槽子电路,配置为在当前处理周期,根据当前指令序列P

【技术实现步骤摘要】
指令处理电路、方法及追踪编码器


[0001]本公开涉及追踪编码器
,更具体地,涉及一种指令处理电路、方法及追踪编码器。

技术介绍

[0002]在中央处理器(Central Processing Unit,CPU)设计系统中,对程序执行流的设计较为复杂。一般可以通过利用分支追踪器(Branch Trace,BT)来实现对指令计数器(Program Counter,PC)激励流的跟踪,具体通过跟踪执行PC指令的起始地址,并且通过发送PC指令实现对指令地址的跟踪,从而更好的实现对程序执行流进行设计。
[0003]相关技术中,实现指令的追踪编码(Trace)需要判断多条指令中,哪些指令是当前指令(Current Instruction)、在后指令(Next Instruction)和在前指令(Previous Instruction),通过判断各指令彼此之间的前后关系来选择生成相应的编码数据包。而在Trace中如何对各指令进行存储是Trace系统的设计难点。
[0004]对于高性能CPU而言,每个处理周期可以退休多条PC指令,对指令存储槽结构和数量的设计,将会直接影响整个系统的功耗和面积。

技术实现思路

[0005]本公开提出了一种指令处理电路、方法及追踪编码器。
[0006]根据本公开的第一方面,提出了一种指令处理电路,包括:移位槽子电路,配置为在当前处理周期,根据当前指令序列P
11
...P
1K
的各指令的有效执行标志位,确定当前指令序列P
11
...P
1K
的当前有效指令序列P
11
...P
1k
;以及根据在前指令序列P
21
...P
2M
的存储位置,存储当前有效指令序列P
11
...P
1k
,其中,在前指令序列P
21
...P
2M
为当前处理周期的在前处理周期从处理器获取的已执行指令;当前指令序列P
11
...P
1K
为当前处理周期从处理器获取的已执行指令;1≤K≤N,0≤k≤K,1≤M≤N,K、k、M、N均为整数,N表示在当前处理周期,从处理器可接收到的最大指令数量;以及指令处理子电路,配置为确定在前指令序列P
21
...P
2M
和所述当前指令序列P
11
...P
1K
中满足指令生包条件的指令,并对满足指令生包条件的指令序列执行处理。
[0007]例如,移位槽子电路包括当前指令存储单元和在后指令存储单元;移位槽子电路还配置为根据在前指令序列P
21
...P
2M
在当前指令存储单元和在后指令存储单元中的至少一个存储单元的存储位置,将当前有效指令序列P
11
...P
1k
依次存储至当前指令存储单元和在后指令存储单元中的至少一个存储单元。
[0008]例如,移位槽子电路还配置为将在前指令序列P
21
...P
2M
前移k个存储区,得到k个空闲存储区;以及将当前有效指令序列P
11
...P
1k
依次存储至所述k个空闲存储区中。
[0009]例如,在后指令存储单元包括存储区R1,当前指令存储单元包括存储区R2...R
N+1
;其中,移位槽子电路还配置为在k=1的情况下,将在前指令序列P
21
...P
2M
前移1个存储区,得到空闲的存储区R1;以及将当前有效指令序列P
11
...P
1k
存储至空闲的存储区R1。
[0010]例如,移位槽子电路还配置为:在k>1的情况下,将所述在前指令序列P
21
...P
2M
前移k个存储区,得到k个空闲存储区;以及将当前有效指令序列P
11
...P
1k
存储至k个空闲存储区;其中,k个空闲存储区包括存储区R1和存储区R2...R
k

[0011]例如,指令处理子电路还配置为:在所述在前指令序列P
21
...P
2M
中最后一个指令P
2M
和当前指令序列P
11
...P
1K
中各指令均满足指令生包条件的情况下,根据在前指令序列P
21
...P
2M
中最后一个指令P
2M
的指令类型和当前指令序列P
11
...P
1K
中各指令类型,对最后一个指令P
2M
和当前指令序列P
11
...P
1K
中各指令依次执行追踪编码处理,生成与最后一个指令P
2M
和当前指令序列P
11
...P
1K
各自对应的编码数据包。
[0012]例如,指令生包条件指示所述在前指令序列P
21
...P
2M
中最后一个指令P
2M
是否存在在前指令和在后指令,以及指示当前指令序列P
11
...P
1K
中各指令是否存在在前指令和在后指令;其中,在当前处理周期,针对所述在前指令序列P
21
...P
2M
中最后一个指令P
2M
以及当前指令序列P
11
...P
1K
中的目标指令,在前指令表示位于目标指令之前且与目标指令相邻存储的指令,在后指令表示位于目标指令之后且与目标指令相邻存储的指令。
[0013]例如,在前指令序列P
21
...P
2M
的各指令类型和当前指令序列P
11
...P
1K
的各指令类型包括不可推断跳转指令、异常指令、分支指令或非异常指令。
[0014]根据本公开实施例的第二方面,提供了一种指令处理方法,该方法应用于指令处理电路,包括:根据当前指令序列P
11
...P
1K
的各指令的有效执行标志位,确定当前指令序列P
11
...P
1K
的当前有效指令序列P
11
...P
1k
;根据在前指令序列P
21
...P
2M
的存储位置,存储当前指令序列P
11
...P
1K
,其中,在前指令序列P
21
...P
2M
为当前处理周期的在前处理周期从处理器获取的已执行指令;1≤K≤N,0≤k≤K本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令处理电路,包括:移位槽子电路,配置为在当前处理周期,根据当前指令序列P
11
...P
1K
的各指令的有效执行标志位,确定所述当前指令序列P
11
...P
1K
的当前有效指令序列P
11
...P
1k
;以及根据在前指令序列P
21
...P
2M
的存储位置,存储所述当前有效指令序列P
11
...P
1k
,其中,所述在前指令序列P
21
...P
2M
为所述当前处理周期的在前处理周期从处理器获取的已执行指令;所述当前指令序列P
11
...P
1K
为所述当前处理周期从处理器获取的已执行指令;1≤K≤N,0≤k≤K,1≤M≤N,K、k、M、N均为整数,N表示在所述当前处理周期,从处理器可接收到的最大指令数量;以及指令处理子电路,配置为确定所述在前指令序列P
21
...P
2M
和所述当前指令序列P
11
...P
1K
中满足指令生包条件的指令,并对满足指令生包条件的指令序列执行处理。2.根据权利要求1所述的电路,其中,所述移位槽子电路包括当前指令存储单元和在后指令存储单元;所述移位槽子电路还配置为:根据所述在前指令序列P
21
...P
2M
在所述当前指令存储单元和所述在后指令存储单元中的至少一个存储单元的存储位置,将所述当前有效指令序列P
11
...P
1k
依次存储至所述当前指令存储单元和所述在后指令存储单元中的至少一个存储单元。3.根据权利要求2所述的电路,其中,所述移位槽子电路还配置为:将所述在前指令序列P
21
...P
2M
前移k个存储区,得到k个空闲存储区;以及将所述当前有效指令序列P
11
...P
1k
依次存储至所述k个空闲存储区中。4.根据权利要求3所述的电路,其中,所述在后指令存储单元包括存储区R1,所述当前指令存储单元包括存储区R2...R
N+1
;其中,所述移位槽子电路还配置为:在k=1的情况下,将所述在前指令序列P
21
...P
2M
前移1个存储区,得到空闲的存储区R1;以及将所述当前有效指令序列P
11
...P
1k
存储至所述空闲的存储区R1。5.根据权利要求3所述的电路,其中,所述移位槽子电路还配置为:在k>1的情况下,将所述在前指令序列P
21
...P
2M
前移k个存储区,得到k个空闲存储区;以及将所述当前有效指令序列P
11
...P
1k
存储至所述k个空闲存储区;其中,所述k个空闲存储区包括存储区R1和存储区R2...R
k
。6.根据权利要求1所述的电路,其中,所述指令处理子电路还配置为:在所述在前指令序列P
21
...P...

【专利技术属性】
技术研发人员:李煜吴悟惠君龙沈泽越
申请(专利权)人:北京奕斯伟计算技术股份有限公司
类型:发明
国别省市:

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

1