一种指令提取装置、处理器、板卡和指令提取方法与流程

文档序号:28206958发布日期:2021-12-28 18:57阅读:109来源:国知局
一种指令提取装置、处理器、板卡和指令提取方法与流程

1.本披露一般地涉及计算领域。更具体地,本披露涉及一种指令提取装置、处理器、集成电路芯片、板卡、电子设备和用于提取指令的方法。


背景技术:

2.传统的中央处理器(“cpu”)在发生缓存未命中事件时,需要从动态随机存取存储器(“dram”)中将指令回填至缓存器后,才能继续从缓存器中提取指令进行例如译码等操作。在一些场景中,为了提升提取指令(简称“取指”)的效率,cpu往往会在回填时执行硬件预取操作,即除了回填当前未命中的指令(简称“回填指令”)以外,还会将该回填指令后面的若干条指令也一并回填至缓存器中,而这将影响到取指的效率。


技术实现要素:

3.为了至少解决上述现有技术中存在的问题,本披露提供一种高效地提取指令的方案。通过利用本披露公开的方案,可以在回填指令的回填操作期间将已接收到的指令向外发送(例如向译码器发送),从而显著提升取指的效率。由于取指效率的改进,本披露的方案也可以在增强硬件例如处理器的处理性能、减小功耗和提高计算操作的执行效率等多个方面获得技术优势。
4.在第一方面中,本披露提供一种指令提取装置,包括:缓存器,其配置成缓存从外部存储器获取的多个指令;取指电路,其配置成获取传递自所述缓存器的多个待向外发送的指令;回填请求电路,其配置成:检测在所述指令提取装置向外发送指令期间是否发生缓存未命中事件;以及响应于检测到所述缓存未命中事件发生,向所述外部存储器发送回填请求;所述取指电路还配置成:从所述外部存储器分批接收作为回填请求响应的回填指令;以及在分批接收所述回填指令的间隔期间,将已接收到的回填指令向外发送。
5.在第二方面中,本披露提供一种处理器,包括:如上所述并且将在下面多个实施例中描述的指令提取装置;译码器,其配置用于接收来自于所述指令提取装置的指令并且对其进行译码,以获得多个微指令和/或控制信号;以及处理电路,其配置用于根据所述多个微指令和/或控制信号来执行操作。
6.在第三方面中,本披露提供一种集成电路芯片,其包括如上所述并且将在下面多个实施例中描述的指令提取装置或处理器。
7.在第四方面中,本披露提供一种板卡,其包括如上所述并且将在下面多个实施例中描述的集成电路芯片。
8.在第五方面中,本披露提供一种电子设备,其包括如上所述并且将在下面多个实施例中描述的集成电路芯片。
9.在第六方面中,本披露提供一种用于提取指令的方法,所述方法包括:在从缓存器获取待向外发送的多个指令期间,检测是否发生缓存未命中事件;响应于检测到发生所述缓存未命中事件,向外部存储器发送回填请求;从所述外部存储器分批接收作为所述回填
请求响应的回填指令;以及在分批接收所述回填指令的间隔期间,将接收到的回填指令向外发送。
10.通过利用本披露的指令提取装置、集成电路芯片、板卡、电子设备和方法,可以在回填操作的间隔期间将接收到的回填指令向外发送,从而显著提升取指的效率。由于取指效率的改善,本披露的方案进一步提升与指令相关操作的运算速度,从而提升硬件的整体性能并减小计算开销。
附图说明
11.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
12.图1是示例性示出根据本披露实施例的指令提取装置的框图;
13.图2是示例性示出根据本披露实施例的处理器的框图;
14.图3是示性性示出根据本披露实施例的用于提取指令的方法的流程图;
15.图4是示出根据本披露实施例的一种组合处理装置的结构图;以及
16.图5是示出根据本披露实施例的一种板卡的结构示意图。
具体实施方式
17.本披露的方案提供一种加速指令提取的硬件架构。当该硬件架构实现于提令提取装置中时,该指令提取装置包括回填请求电路,其配置成在指令提取装置向外发送指令期间检测是否发生缓存未命中事件,并且在发生该缓存未命中事件时,向外部存储器发送回填请求。在一个实施例中,本披露的指令提取装置还包括取指电路,其配置成从所述外部存储器分批接收作为回填请求响应的回填指令,并且在分批接收的间隔期间,将已接收到的回填指令向外发送,例如向译码器发送。借助于本披露的指令提取方案,可以高效地执行取指操作,从而加速指令的执行。当本披露的指令提取装置应用于计算装置中时,则可以显著提升计算装置的处理性能和计算效率,继而也减小了计算开销。
18.下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
19.图1是示例性示出根据本披露实施例的指令提取装置100的框图。为了便于理解,图1中还示出了与指令提取装置100进行交互的外部存储器104。
20.如图1中所示,本披露的指令提取装置100可以包括缓存器102,其配置成缓存通过总线106从外部存储器104获取的多个指令。通过将多个指令从外部存储器(例如内存)预先缓存于缓存器中,可以避免指令执行主体(例如内核处理器)与外部存储器之间频繁地存取操作,从而减小了指令传递造成的i/o吞吐量。
21.在向例如译码器的外部发送指令的过程中,缓存器可以向取指电路108传递多个待向外发送的指令,例如图中所示出的指令110、112和114以及位于它们之间的待回填的指令,即本披露简称的回填指令116、118和120。在一个实施例中,取指电路可以配置成将所述
多个待发送的指令按发送顺序排队以形成取指流水线,以按顺序向外发送。当确定缓存器中并未缓存计算操作或者说代码执行所需的指令时,则会发生本披露所称的缓存未命中事件。该事件的发生也即意味着当前的缓存器和取指流水线中并不存在所需的一个或多个指令,例如图1中以虚框示意性示出的缺失且等待回填的回填指令116、118和120。需要理解的是图1中仅以示例性的方式示出三个回填指令,在不同的场景中,根据缓存未命中事件发生的频繁程度,可能需要从外部存储器回填更多的回填指令,并且回填指令的顺序也并非如图1中所示出的与其他指令相邻间隔的布置,而是可能出现于取指流水线的任意位置。
22.为了判断是否发生如上所述的缓存未命中事件,本披露的指令提取装置还可以包括回填请求电路122,其可以配置成检测在所述指令提取装置向外发送指令期间是否发生缓存未命中事件。当检测到发生缓存未命中事件,例如缓存器中并未缓存而导致取指流水线并没有相关指令时,则回填请求电路可以向外部存储器发送针对于这些缺失指令(即回填指令)的回填请求。响应于接收到回填请求,外部存储器(例如dram)执行针对于缓存器的回填操作,即将触发缓存未命中事件的回填指令回填至缓存器中。
23.在实际的应用场景中,由于回填请求的数量往往比较大,外部存储器返回的回填指令需要多次分批地传送。鉴于此种情况,本披露提出在将触发缓存未命中事件的回填指令回填至缓存器的同时,也利用取指电路将其回填至取指流水线的合适位置处,例如图1中虚框116、118和120所指示的位置,以便进行排队等待和向外发送。由于外部存储器是分批来执行回填指令的传送中,因此本披露的取指电路可以配置成在分批接收所述回填指令的间隔期间,将已接收到的回填指令向外发送。通过这种方式,本披露的取指操作的效率得到显著提升,从而加速取指和后续的指令执行操作。
24.在一个实施例中,在检测到所述缓存未命中事件发生时,所述缓存器配置成暂停向所述取指电路传递待向外发送的指令,以及分批从所述外部存储器接收所述回填指令。在一个场景中,在所述取指电路向外发送接收到的回填指令后,缓存器可以配置成从外部存储器接收下一批回填的回填指令。在另一个实施例中,本披露的指令提取装置还包括缓冲器124,其可以配置成分批地接收来自于所述外部存储器的回填指令,并且在取指电路完成向外发送分批接收到的回填指令后,将分批接收到的回填指令一并回填入所述缓存器。通过这种方式,可以确保取指电路将取指流水线中的所有回填指令都发送完成后,再执行对缓存器的回填操作,从而也减小了缓存器和外部存储器之间频繁的指令存取操作。
25.在一个实施例中,回填请求电路可以进一步配置成响应于检测到相同回填指令所触发的多次缓存未命中事件发生,仅向所述外部存储器发送一次针对于所述相同回填指令的回填请求。根据本披露的方案,由于取指电路并没有等到回填指令都回填至缓存器后,再执行通过取指流水线向外发送指令的操作,因此可能出现回填请求电路检测到相同回填指令触发的多个缓存未命中事件。为了避免向外部存储器重复发送针对于相同回填指令的回填请求,本披露的回填请求电路对于相同的回填指令将仅向外部存储器发送一次回填请求。由此,可以减小发送回填请求的数量以及回填请求电路和外部存储器之间的通信开销。相比而言,当在分批接收回填指令的间隔期间检测到新回填指令所触发的新缓存未命中事件时,则回填请求电路可以配置成向外部存储器发送针对于新回填指令的新回填请求。
26.以上结合图1对本披露的指令提取装置及其多个实施例进行了详细地描述。通过使用本披露的指令提取装置,可以加速指令提取操作,从而实现高效的取指。进一步,在发
生缓存未命中事件时,本披露的指令提取装置也可以减小不必要的回填请求,节省针对于指令传递的i/o吞吐量。当本披露的提令提取装置向译码器发送指令时,也有助于译码器的高效解码,从而提升指令执行的效率。
27.图2是示例性示出根据本披露实施例的处理器200的框图。如图2中所示,处理器200包括前文结合图1所描述的指令提取装置100,其操作于从缓存器中获取已缓存的指令并且在发生缓存未命中事件时,从外部存储器获得回填指令,并且在回填间隔期间,通过内部的取指流水线继续向外发送指令。由于前文已经结合图1对指令提取装置100进行了详细地描述,此处将不再赘述。
28.在一个实施例中,本披露的处理器还包括译码器204,其配置成接收来自于所述指令提取装置的指令并且对其进行译码,以获得例如可以在处理器或处理电路内部执行的多个微指令和/或控制信号。在本披露的上下文中,前述的多个微指令和/或控制信号也可以统称为运算指令,其可以包括(或者说指示)一个或多个需处理器执行的运算操作。根据不同的运算场景,运算操作可以包括但不限于加法操作、乘法操作、卷积运算操作、池化操作等各种操作。针对于前述的各种操作,本披露的处理器还包括用于执行各种操作的处理电路206,其在一个或多个实施例中可以包括一个或多个处理子电路。在多个处理子电路的情况下,这些处理子电路可以以规则的结构来连接,例如以多维阵列的形式来连接,以执行例如并行操作或多级流水运算的操作。根据不同的实现方式和计算场景,处理电路可以包括但不限于随机数处理电路、加减电路、减法电路、查表电路、参数配置电路、乘法器、池化器、比较器、求绝对值电路、逻辑运算器、位置索引电路或过滤器等各种运算器或运算电路。
29.上述结合图2对本披露的包括指令提取装置的处理器进行了描述,但需要指出的是这里的描述仅仅是示例性的而非限制性的,本领域技术人员根据本文的教导也可以想到多种变形或替代方案。例如,尽管在处理器中以三个分离的实体描述了指令提取装置、译码器和处理电路,但依实施场景的不同,指令提取装置和译码器也可以合并于或同时布置于对处理电路起控制作用的控制电路内。又例如,在一些场景中,可以将译码器作为译码功能的实体或单元布置于处理电路中,从而使得处理电路也支持对提取的指令的解码功能。
30.图3是示性性示出根据本披露实施例的用于提取指令的方法300的流程图。通过前述结合图1和图2的描述,本领域技术人员可以理解图3所示的方法300可以通过结合图1的指令提取装置100或图2的处理器200来实现
31.如图3中所示,在步骤302处,方法300在从缓存器获取待向外发送的多个指令期间,检测是否发生缓存未命中事件。如前所述,该缓存未命中事件的发生也即意味着缓存器中并没有缓存所需提取的提令,并且需要向外部存储器例如dram请求回填操作。因此,在步骤304处,方法300响应于检测到发生所述缓存未命中事件,向外部存储器发送回填请求,例如图1中所示的利用回填请求电路来发送回填请求。接着,在步骤306处,方法300从所述外部存储器分批接收作为所述回填请求响应的回填指令。最后,在步骤308处,方法300在分批接收到所述回填指令的间隔期间,将接收到的回填指令向外发送。如前所述,此处的发送可以是通过图1中所示出的取指电路,利用顺序排队的取指流水线来执行的指令发送操作。进一步,这里的发送可以是向图2中所示出的译码器进行的发送操作,以便由译码器对指令进行译码或解析,从而获得例如执行运算操作所需的微指令和/或控制信号。
32.在一个实施例中,响应于检测到相同回填指令所触发的多次缓存未命中事件发
生,所述方法300仅向所述外部存储器发送一次针对于所述相同回填指令的回填请求。在另一个实施例中,响应于在分批接收回填指令的间隔期间检测到新回填指令所触发的新缓存未命中事件,所述方法300向所述外部存储器发送针对于所述新回填指令的新回填请求。
33.以上为了简明的目的,结合图3中所示出的步骤描述了本披露的用于提取指令的方法。本领域技术人员根据本披露的公开内容也可以想到本方法可以包括更多的步骤,并且这些步骤的执行可以实现前文结合图1和图2所描述的本披露的各类操作,此处不再赘述。
34.图4是示出根据本披露实施例的一种组合处理装置400的结构图。如图所示,该组合处理装置400包括计算装置402,该计算装置可以包括本披露结合附图所描述的指令提取装置或处理器。在一个或多个实施例中,该计算装置也可以实现为包括本披露的指令提取装置的一种集成电路芯片、板卡或电子设备。另外,该组合处理装置还包括通用互联接口404和其他处理装置406。本披露方案的计算装置402可以通过通用互联接口404与其他处理装置406进行交互,共同完成用户指定的操作,包括例如本披露的指令提取操作、后续的解码和/或执行操作。
35.根据本披露的方案,该其他处理装置可以包括中央处理器(“cpu”)、图形处理器(“gpu”)、人工智能处理器等通用和/或专用处理器中的一种或多种类型的处理器,其数目可以不做限制而是根据实际需要来确定。在一个或多个实施例中,该其他处理装置可以作为本披露的计算装置与外部数据和控制的接口,执行包括但不限于数据搬运,完成对本计算装置的开启、停止等的基本控制;其他处理装置也可以和计算装置协作以共同完成运算任务。在一个实现场景中,根据本披露方案的计算装置可以实施为机器学习运算装置。
36.根据本披露的方案,该通用互联接口可以用于在计算装置与其他处理装置间传输数据和控制指令,例如本披露的计算指令。例如,该计算装置可以经由所述通用互联接口从其他处理装置中获取所需的输入数据,写入该计算装置的片上存储装置,例如本披露的外部存储器如dram。进一步,该计算装置可以经由所述通用互联接口从其他处理装置中获取控制指令,写入计算装置的片上控制缓存,例如本披露的缓存器。替代地或可选地,通用互联接口也可以读取计算装置的存储装置中的数据并传输给其他处理装置。
37.可选的,该组合处理装置还可以包括存储装置408,其可以分别与所述计算装置和所述其他处理装置连接。在一个或多个实施例中,存储装置可以用于保存所述计算装置和所述其他处理装置的数据,尤其那些在计算装置或其他处理装置的内部或片上存储装置中无法全部保存的数据。
38.根据应用场景的不同,本披露的组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的soc片上系统,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。在此情况下,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件例如摄像头、显示器、鼠标、键盘、网卡或wifi接口。
39.在一些实施例里,本披露还公开了一种芯片或集成电路芯片,其包括了上述计算装置或组合处理装置。在另一些实施例里,本披露还公开了一种芯片封装结构,其包括了上述芯片。
40.在一些实施例里,本披露还公开了一种板卡,其包括了上述芯片封装结构。参阅图5,其提供了前述的示例性板卡,上述板卡除了包括上述芯片502以外,还可以包括其他的配
套部件,该配套部件包括但不限于:存储器件504、接口装置506和控制器件508。
41.所述存储器件与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元510。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是ddr sdram(“double data rate sdram,双倍速率同步动态随机存储器”)。
42.ddr不需要提高时钟频率就能加倍提高sdram的速度。ddr允许在时钟脉冲的上升沿和下降沿读出数据。ddr的速度是标准sdram的两倍。在一个实施例中,所述存储器件可以包括4组所述存储单元。每一组所述存储单元可以包括多个ddr4颗粒(芯片)。在一个实施例中,所述芯片内部可以包括4个72位ddr4控制器,上述72位ddr4控制器中64bit用于传输数据,8bit用于ecc校验。
43.在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。ddr在一个时钟周期内可以传输两次数据。在所述芯片中设置控制ddr的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
44.所述接口装置与所述芯片封装结构内的芯片电连接。所述接口装置用于实现所述芯片与外部设备512(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准pcie接口。比如,待处理的数据由服务器通过标准pcie接口传递至所述芯片,实现数据转移。在另一个实施例中,所述接口装置还可以是其他的接口,本披露并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
45.所述控制器件与所述芯片电连接。所述控制器件用于对所述芯片的状态进行监控。具体地,所述芯片与所述控制器件可以通过spi接口电连接。所述控制器件可以包括单片机(micro controller unit,mcu)。在一个或多个实施例中,所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和/或多个处理电路的工作状态的调控。
46.在一些实施例里,本披露还公开了一种电子设备或装置,其包括了上述板卡。根据不同的应用场景,电子设备或装置可以包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、b超仪和/或心电图仪。
47.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。
48.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
49.在本披露所提供的几个实施例中,应该理解到,所披露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、光学、声学、磁性或其它的形式。
50.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
51.另外,在本披露各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
52.所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,当本披露的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
53.在本披露的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
54.依据以下条款可更好地理解前述内容:
55.条款1、一种指令提取装置,包括:
56.缓存器,其配置成缓存从外部存储器获取的多个指令;
57.取指电路,其配置成获取传递自所述缓存器的多个待向外发送的指令;
58.回填请求电路,其配置成:
59.检测在所述指令提取装置向外发送指令期间是否发生缓存未命中事件;以及
60.响应于检测到所述缓存未命中事件发生,向所述外部存储器发送回填请求;
61.所述取指电路还配置成:
62.从所述外部存储器分批接收作为回填请求响应的回填指令;以及
63.在分批接收所述回填指令的间隔期间,将已接收到的回填指令向外发送。
64.条款2、根据条款1所述的指令提取装置,其中所述取指电路还配置用于:
65.将所述多个待发送的指令按发送顺序排队以形成取指流水线;以及
66.将接收到的所述回填指令按对应顺序排队,以便通过所述取指流水线向外发送。
67.条款3、根据条款1所述的指令提取装置,其中在检测到所述缓存未命中事件发生时,所述缓存器配置成:
68.暂停向所述取指电路传递待向外发送的指令;以及
69.分批从所述外部存储器接收所述回填指令。
70.条款4、根据条款3所述的指令提取装置,其中所述取指电路配置成在所述缓存器分批接收所述回填指令的间隔期间,将已接收到的回填指令向外发送,并且所述缓存器配置成在所述取指电路向外发送接收到的所述回填指令后,从所述外部存储器接收下一批回填的回填指令。
71.条款5、根据条款1所述的指令提取装置,进一步包括缓冲器,其配置成:
72.分批接收来自于所述外部存储器的所述回填指令;以及
73.在所述取指电路完成向外发送分批接收到的所述回填指令后,将分批接收到的所述回填指令一并回填入所述缓存器。
74.条款6、根据条款1-5的任意一项所述的指令提取装置,其中所述回填请求电路进一步配置成:
75.响应于检测到相同回填指令所触发的多次缓存未命中事件发生,仅向所述外部存储器发送一次针对于所述相同回填指令的回填请求。
76.条款7、根据条款1-5的任意一项所述的指令提取装置,其中所述回填请求电路进一步配置成:
77.响应于在分批接收回填指令的间隔期间检测到新回填指令所触发的新缓存未命中事件,向所述外部存储器发送针对于所述新回填指令的新回填请求。
78.条款8、一种处理器,包括:
79.根据条款1-7的任意一项所述的指令提取装置;
80.译码器,其配置用于接收来自于所述指令提取装置的指令并且对其进行译码,以获得多个微指令和/或控制信号;以及
81.处理电路,其配置用于根据所述多个微指令和/或控制信号来执行操作。
82.条款9、一种集成电路芯片,包括根据条款1-7的任意一项所述的指令提取装置或根据权利要求8所述的处理器。
83.条款10、一种板卡,包括根据条款9所述的集成电路芯片。
84.条款11、一种电子设备,包括根据条款9所述的集成电路芯片。
85.条款12、一种用于提取指令的方法,包括:
86.在从缓存器获取待向外发送的多个指令期间,检测是否发生缓存未命中事件;
87.响应于检测到发生所述缓存未命中事件,向外部存储器发送回填请求;
88.从所述外部存储器分批接收作为所述回填请求响应的回填指令;以及
89.在分批接收所述回填指令的间隔期间,将接收到的回填指令向外发送。
90.条款13、根据条款12所述的方法,其中向外发送指令包括:
91.将所述多个待发送的指令按发送顺序排队以形成取指流水线;以及
92.将接收到的所述回填指令按对应顺序排队,以便通过所述取指流水线向外发送。
93.条款14、根据条款12所述的方法,进一步包括在检测到所述缓存未命中事件发生时,令所述缓存器暂停传递待向外发送的指令,并且分批从所述外部分存储器接收所述回填指令。
94.条款15、根据条款14所述的方法,其中在所述缓存器分批接收所述回填指令的间
隔期间,所述方法包括将已接收到的回填指令向外发送,并且在向外发送后,令所述缓存器从所述外部存储器接收下一批回填的回填指令。
95.条款16、根据条款12所述的方法,进一步包括对分批从所述外部存储器接收到的回填指令进行缓冲保存,并且在完成将分批接收到的回填指令向外发送后,将分批接收到的所述回填指令一并填入所述缓存器。
96.条款17、根据条款12-16的任意一项所述的方法,其中向所述外部存储器发送所述回填请求包括:
97.响应于检测到相同回填指令所触发的多次缓存未命中事件发生,仅向所述外部存储器发送一次针对于所述相同回填指令的回填请求。
98.条款18、根据条款12-16的任意一项所述的方法,其中向所述外部存储器发送所述回填请求包括:
99.响应于在分批接收回填指令的间隔期间检测到新回填指令所触发的新缓存未命中事件,向所述外部存储器发送针对于所述新回填指令的新回填请求。
100.以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本披露的方法及其核心思想;同时,对于本领域的一般技术人员,依据本披露的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本披露的限制。
101.应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
102.还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
103.如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0104]
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1