处理数据依赖性的方法及其微处理器以及数据处理系统技术方案

技术编号:30342808 阅读:44 留言:0更新日期:2021-10-12 23:18
本发明专利技术提供一种处理数据依赖性的方法及其微处理器以及数据处理系统。引入一种使用记分板中的计数器的微处理器来处理数据依赖性。微处理器包含具有映射到记分板的条目的多个寄存器的寄存器堆。记分板的每个条目具有跟踪寄存器中的每一个的数据依赖性的计数器。计数器在每个时钟周期递减,直到计数器在其倒计数为0时对自身进行复位为止。经由实施记分板中的计数器,指令管线可根据先前发出的指令存取记录在记分板的计数器中的寄存器所花费的时钟周期数来管理。钟周期数来管理。钟周期数来管理。

【技术实现步骤摘要】
处理数据依赖性的方法及其微处理器以及数据处理系统


[0001]本公开大体上涉及一种微处理器,且更具体地涉及一种处理数据依赖性的方法及用于管理微处理器的操作的数据依赖性的具有自复位寄存器记分板的微处理器以及数据处理系统。

技术介绍

[0002]在微处理器架构中,指令的数据依赖性是一项需要改良以实现指令的有效处理的持续任务。寄存器记分板已用于基于指令的数据依赖性对指令进行排序。举例来说,寄存器堆中的每个寄存器使用一个记分板位。当发出指令时,记分板为目的地寄存器(操作数)设置位,且当指令将数据回写到寄存器堆时,清除所述位。如果设置了指示存在数据依赖性的寄存器位,那么在所述位复位之前,后续指令无法获取数据。
[0003]由于对改良微处理器的性能的需求,因此对可有效防止指令的停滞和互锁的微处理器和控制方法的需要日益增长。

技术实现思路

[0004]如果设置了指示存在数据依赖性的寄存器位,那么在所述位复位之前,后续指令无法获取数据而导致指令的停滞。
[0005]改良处理指令的数据依赖性,本公开提供一种包含寄存器堆和具有映射到寄存器堆中的寄存器的多个条目的记分板的微处理器。记分板条目中的每一个包含在每个时钟周期递减的计数器,其中计数器表示先前发出的指令存取(回写或读取)由当前指令指定的操作数寄存器所花费的时钟周期数。当提取指令时,对所述指令进行解码以存取寄存器记分板中的条目,从而识别数据的位置以及数据依赖性。在本公开中,记分板包含根据微处理器的时钟周期倒计数的计数器。基于计数器的值,可检查指令的数据依赖性,以用于调度指令。
附图说明
[0006]在结合附图阅读时,根据以下详细描述会最好地理解本公开的各个方面。应注意,根据业界中的标准惯例,各种特征未按比例绘制。实际上,为了论述清楚起见,可以任意增大或减小各种特征的尺寸。
[0007]图1是示出根据一些实施例的计算机处理系统的框图;
[0008]图2是示出根据一些实施例的微处理器的指令管线架构的框图;
[0009]图3是示出根据本公开的一些实施例的具有总共N个条目的示例性记分板的附图;
[0010]图4是示出根据本公开的其它实施例的记分板的条目的附图;
[0011]图5是示出根据本公开的一些实施例的发出具有记分板的指令的过程流程的流程图;
[0012]图6是示出根据本公开的实施例中的一个的具有写后读依赖性的指令的流程图;
[0013]图7是示出根据本公开的实施例中的一个的具有写后写依赖性的指令的流程图;
[0014]图8是示出根据本公开的实施例中的一个的具有读后写依赖性的指令的流程图。
[0015]附图标号说明
[0016]10:计算机处理系统;
[0017]100:微处理器;
[0018]101:指令;
[0019]110:指令单元;
[0020]120:发出/解码单元;
[0021]130:记分板;
[0022]130_1到130_N:条目;
[0023]131:未知字段;
[0024]131A:第一未知字段;
[0025]131B:第二未知字段;
[0026]133:计数器字段;
[0027]133A:第一CNT字段;
[0028]133B:第二CNT字段;
[0029]135:功能单元字段;
[0030]137:回写大小字段;
[0031]140:寄存器堆;
[0032]140_1到140_N:寄存器;
[0033]150:执行队列;
[0034]160:功能单元模块;
[0035]200:存储器;
[0036]300:输入/输出接口;
[0037]400:外围装置;
[0038]500:总线;
[0039]FUNIT_A、FUNIT_B、FUNIT_C:功能单元;
[0040]S501、S503、S507、S511、S513、S515、S517、S519、S521、S601、S603、S605、S607、S609、S611、S613、S617、S619、S621、S701、S703、S705、S707、S709、S711、S713、S719、S721、S801、S803、S805、S807、S809、S811、S813、S819、S821:步骤。
具体实施方式
[0041]以下公开内容提供用于实施本公开的不同特征的许多不同实施例或实例。下文描述组件和布置的具体实例是为了简化本公开。当然,这些组件和布置仅仅是实例且并不旨在作为限制性的。举例来说,在以下描述中,在第二特征上方或在第二特征上形成第一特征可包含第一特征与第二特征直接接触地形成的实施例,且还可包含在第一特征与第二特征之间可形成额外特征,使得第一特征与第二特征可不直接接触的实施例。此外,本公开可在各种实例中重复附图标号和/或字母。这种重复是出于简化和清楚的目的,且本身并不规定所论述的各种实施例和/或配置之间的关系。
[0042]当提取指令时,对所述指令进行解码以存取寄存器记分板(下文也称为记分板)中的条目,从而识别数据的位置以及数据依赖性。在本公开中,记分板包含根据微处理器的时钟周期倒计数的计数器。基于计数器的值,可检查指令的数据依赖性,以用于调度指令。
[0043]图1示出根据一些实施例的包含微处理器100、存储器200、输入/输出(I/O)接口300、外围装置400以及总线500的计算机处理系统10。总线500可允许计算机处理系统10的组件间的双向通信。本公开的一些实施例可使用比图1中所示出的组件更多、更少或不同的组件。作为实例,计算机处理系统10可还包含计时器、串行外围接口、数-模转换器、模-数转换器、显示驱动器、多种类型的存储器以及任何其它合适的组件。
[0044]在一些实施例中,微处理器100配置成使用指令管线来执行指令,其中指令的执行可分解成几个阶段,例如指令提取阶段、指令解码阶段、指令执行阶段以及回写阶段。微处理器100可包含具有相对较高的存取率的高速缓冲存储器,例如数据高速缓冲存储器和指令高速缓冲存储器。微处理器100的数据高速缓冲存储器可以是多级数据高速缓冲存储器,所述多级数据高速缓冲存储器可包含L1数据高速缓冲存储器、L2数据高速缓冲存储器以及L3数据高速缓冲存储器。L1数据高速缓冲存储器、L2数据高速缓冲存储器以及L3数据高速缓冲存储器可位于微处理器100内部或外部。在一些实施例中,计算机处理系统10包含多个微处理器。
[0045]存储器200配置成存储指令的程序代码和执行指令所需的数据。存储器200可包含非易失性存储器或易失性存储器或其组合。举例来说,存储器200可包含随机存取存储器(random access memory,RAM)、动态随机存取存储器(dynamic random access memory,DRAM)、静态随机存取存储器(static rand本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微处理器,包括:寄存器堆,具有多个寄存器;记分板,具有映射到所述寄存器的多个条目,每个记分板条目包括计数器,所述计数器在每个时钟周期递减,直到所述计数器达到0为止,其中所述计数器指示用于使先前发出的指令存取所述寄存器的时钟周期数。2.根据权利要求1所述的微处理器,其中所述计数器设置为发出用于写入由所述先前发出的指令所指定的操作数寄存器的回写时间。3.根据权利要求2所述的微处理器,其中所述回写时间是由所述先前发出的指令指定的写入所述操作数寄存器的操作的执行时延时间。4.根据权利要求1所述的微处理器,其中所述计数器设置为发出用于读取由所述先前发出的指令所指定的操作数寄存器的读取时间。5.根据权利要求1所述的微处理器,其中所述记分板的每一个条目中还包括未知字段,所述未知字段指示当设置了所述未知字段时,所述先前发出的指令对与所述先前发出的指令对应的操作数寄存器的存取是未知的。6.根据权利要求5所述的微处理器,还包括:发出和解码单元,接收第一指令,读取与由所述第一指令指定的操作数寄存器对应的所述记分板条目,且当设置了所述未知字段时,停滞所述第一指令。7.根据权利要求6所述的微处理器,其中当所述先前发出的指令对所述操作数寄存器的所述存取是已知的时,所述未知字段由与在所述第一指令之前发出的所述先前发出的指令对应的功能单元复位。8.根据权利要求1所述的微处理器,还包括:发出和解码单元,接收第一指令,读取与由所述第一指令指定的操作数寄存器对应的所述记分板条目,并确定所述操作数寄存器是否对在所述第一指令之前发出的第二指令具有数据依赖性。9.根据权利要求8所述的微处理器,还包括:功能单元模块,具有第一功能单元和第二功能单元,其中所述记分板的每一个条目中包括功能单元字段,所述功能单元字段用于记录由所述第二指令所存取与所述记分板条目对应的所述操作数寄存器的所述第一功能单元。10.根据权利要求9所述的微处理器,其中所述功能单元模块重新配置成当所述计数器等于预定值时,将由所述第一功能单元输出的结果数据转发到所述第一功能单元或第二功能单元。11.根据权利要求10所述的微处理器,其中当所述计数器等于所述预定值时,所述发出和解码单元发出所述第一指令。12.根据权利要求8所述的微处理器,其中所述发出和解码单元发出所述第一指令,且根据所述第一指令的存取时间设置与由所述第一指令指定的所述操作数寄存器对应的所述记分板条目。13.根据权利要求1所述的微处理器,其中所述记分板的每一个条目中还包括配置成记录待存取到对应所述寄存器的数据的大小的数据大小字段。14.根据权利要求1所述的微处理器,其中所述先前发出的指令具有多个操作,且每个
操作具有一组记分板条目和不同存取时间。15.一种用于使微处理器处理数据依赖性的方法,包括:解码指令以获得操作数寄存器;用与所述操作数寄存器对应的计数器读取记分板条目,其中所述计数器指示用于使先前发出的指令存取所述操作数寄存器的时钟周期数;以及根据所述微处理器的时钟周期使所述计数器递减,直到所述计数器达到0为止。16.根据权利要求15所述的用于使微处理器处理数据依赖性的方法,其中所述计数器设置为...

【专利技术属性】
技术研发人员:陈丁明
申请(专利权)人:晶心科技股份有限公司
类型:发明
国别省市:

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

1