《接口装置及存储器总线系统.pdf》由会员分享,可在线阅读,更多相关《接口装置及存储器总线系统.pdf(36页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104137083A43申请公布日20141105CN104137083A21申请号201380010815122申请日20131119201228701620121228JPG06F12/00200601G06F13/16200601G06F13/3620060171申请人松下电器产业株式会社地址日本大阪府72发明人石井友规山口孝雄吉田笃得津觉曾我祐纪74专利代理机构中科专利商标代理有限责任公司11021代理人李逸雪54发明名称接口装置及存储器总线系统57摘要本发明提供一种在片上网络NOC上相互连接的存储器访问系统中即使存储器访问请求的顺序被变更的情况下也能够正确地生成响应。
2、数据包的技术。接口装置连接与NOC上的存储器相连的存储器控制器、和在集成电路上形成的总线网络。存储器控制器调解多个请求数据的处理顺序。接口装置具备报头生成存储部,以第1顺序接受从多个请求数据包中提取出的多个请求报头,以按第1顺序读出与各请求报头对应的各响应报头的方式进行存储;和报头顺序控制部,在以第2顺序向存储器发送了多个请求数据时,以按第2顺序读出各响应报头的方式控制报头生成存储部。30优先权数据85PCT国际申请进入国家阶段日2014082586PCT国际申请的申请数据PCT/JP2013/0067862013111987PCT国际申请的公布数据WO2014/103144JA2014070。
3、351INTCL权利要求书2页说明书14页附图19页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书14页附图19页10申请公布号CN104137083ACN104137083A1/2页21一种接口装置,用于对与集成电路上的存储器相连的存储器控制器和形成在所述集成电路上的总线网络进行连接,其中,所述存储器控制器具有调解部,调解多个请求数据的处理顺序;和发送部,响应于各请求数据而向所述接口装置发送从所述存储器输出的各响应数据,所述接口装置具备脱数据包化处理部,对从所述总线网络接收到的多个请求数据包分别进行脱数据包化处理,从各请求数据包提取请求报头及请求数据来进行输出;报头生成。
4、存储部,以第1顺序接受所述脱数据包化处理部输出的多个请求报头,按顺序生成与各请求报头对应的响应报头,以按所述第1顺序读出各响应报头的方式进行存储;数据包化处理部,利用响应于所述请求数据而从所述存储器输出的所述响应数据、及存储在所述报头生成存储部中的所述响应报头,生成响应数据包并发送给所述总线网络;和报头顺序控制部,在所述调解部以不同于所述第1顺序的第2顺序向所述存储器发送了所述多个请求数据时,以按所述第2顺序读出各响应报头的方式控制所述报头生成存储部。2根据权利要求1所述的接口装置,其中,所述报头顺序控制部从所述调解部获得表示以所述第2顺序发送了所述多个请求数据的请求顺序信息。3根据权利要求1。
5、所述的接口装置,其中,所述调解部输出表示以所述第2顺序发送了所述多个请求数据的请求顺序信息,所述报头生成存储部具有根据存储位置决定读出顺序的存储区域,所述报头顺序控制部根据所述请求顺序信息来变更存储在所述报头生成存储部中的各响应报头的存储位置。4根据权利要求1所述的接口装置,其中,所述调解部输出表示以所述第2顺序发送了所述多个请求数据的请求顺序信息,所述报头生成存储部将各响应报头和各响应报头的读出顺序建立对应后存储,所述报头顺序控制部根据所述请求顺序信息变更存储在所述第2存储区域中的读出顺序。5根据权利要求2所述的接口装置,其中,在所述数据包化处理部获得响应于被调解的所述请求数据而得到的所述响。
6、应数据之前,所述报头顺序控制部获得所述请求顺序信息,以按所述第2顺序读出各响应报头的方式控制所述报头生成存储部。6根据权利要求1所述的接口装置,其中,所述接口装置能够向与所述总线网络相连的路由器发送所述响应数据包,在所述数据包化处理部获得响应于被调解的所述请求数据而得到的所述响应数据之前,所述报头顺序控制部以按所述第2顺序读出各响应报头的方式控制所述报头生成存储部,所述数据包化处理部预先保持所述路由器对所述响应报头及所述响应数据进行的处权利要求书CN104137083A2/2页3理的延迟量的信息、或与所述路由器的流水线处理的结构的信息相关的路由器信息,所述数据包化处理部先向所述路由器发送所述响。
7、应报头,之后相隔基于所述路由器信息决定的时间间隔来发送所述响应数据。7一种接口装置,用于对与集成电路上的存储器相连的存储器控制器和形成在所述集成电路上的总线网络进行连接,该接口装置具备脱数据包化处理部,对从所述总线网络接收到的多个请求数据包分别进行脱数据包化处理,从各请求数据包提取请求报头及请求数据来进行输出;报头生成存储部,以第1顺序接受所述脱数据包化处理部输出的多个请求报头,按顺序生成与各请求报头对应的响应报头,以按所述第1顺序读出各响应报头的方式进行存储;分析部,监控从所述存储器控制器发送给所述存储器的信号的状态,分析是否以不同于所述第1顺序的第2顺序发送了多个请求数据;数据包化处理部,。
8、利用响应于所述请求数据而从所述存储器输出的所述响应数据、及存储在所述报头生成存储部中的所述响应报头,生成响应数据包并发送给所述总线网络;和报头顺序控制部,在所述分析部进行分析的结果是以不同于所述第1顺序的第2顺序向所述存储器发送了所述多个请求数据时,以按所述第2顺序读出各响应报头的方式控制所述报头生成存储部。8根据权利要求7所述的接口装置,其中,在检测到以所述第2顺序向所述存储器发送了所述多个请求数据的情况时,所述分析部获得所述请求顺序信息。9一种存储器总线系统,具备总线网络,形成在集成电路上;存储器,被设置在集成电路上;存储器控制器,被设置在所述集成电路上,且与所述存储器相连;和接口装置,是。
9、权利要求1至8中任一项所述的接口装置,连接所述存储器控制器及所述总线网络。10根据权利要求9所述的存储器总线系统,所述存储器总线系统还具备与所述总线网络相连的引发器,所述引发器发送请求对所述存储器访问的请求数据,接收所述存储器中的所述访问的结果、即响应数据。权利要求书CN104137083A1/14页4接口装置及存储器总线系统技术领域0001本申请涉及在具备网络化的通信总线的半导体芯片中进行通信总线的控制的装置、方法及程序。背景技术0002近几年,在利用SOCSYSTEMONCHIP的组装设备领域或通用处理器领域中,提高了对半导体芯片的高性能化的要求。伴随着半导体芯片的高性能化,经由芯片上的通。
10、信总线而传输的数据的要求带宽增加,有必要实现通信总线的宽带化。由于在较低的总线工作频率下实现通信总线的宽带化,因此关注了在处理器之间共用总线布线且可提高资源利用效率的片上网络NETWORKONCHIP;NOC。0003专利文献1公开了如下的方法在经由NOC互相连接多个引发器或存储器控制器的一般的SOC结构中,在混合存在在规定期间内需要保证恒定比率的访问的比率保证型的引发器和对存储器的访问请求的频度不定期而很难预测的比率非保证型的引发器时,可提高存储器访问的应对性。0004图1表示专利文献1记载的SOC的结构。检测到来自比率保证型引发器201的访问请求的存储器控制器206的访问管理部203检查访。
11、问次数,从而判断是否未规定比率以内的访问,记录其结果并进行管理。访问调解部205仅在不存在来自其他引发器202的访问请求时,允许来自规定比率以上的比率保证型引发器201的访问请求。在对来自比率保证型引发器201的访问请求进行调解之前检测到来自比率非保证型引发器202的访问请求的情况下,访问调解部205推迟与来自比率保证型引发器201的访问请求相关的调解顺序,先调解来自引发器202的访问请求。推迟调解顺序的理由是因为引发器201已经进行了规定比率以上的访问。通过上述的处理,实现了对引发器202的访问请求提高应对性。0005【在先技术文献】0006【专利文献】0007【专利文献1】专利第44855。
12、74号说明书发明内容0008【发明要解决的课题】0009要求进一步提高存储器控制器内的访问顺序变更引起的存储器访问效率。0010【用于解决课题的手段】0011为了解决上述课题,本发明的一方式包括用于对与集成电路上的存储器连接的存储器控制器、和在所述集成电路上形成的总线网络进行连接的接口装置。所述存储器控制器具备调解多个请求数据的处理顺序的调解部、及响应各请求数据而向所述接口装置发送从所述存储器输出的各响应数据的发送部。所述接口装置具备脱数据包化处理部,对从所述总线网络接收到的多个请求数据包分别进行脱数据包化处理,从各请求数据包提取请求报头及请求数据来进行输出;报头生成存储部,以第1顺序接受所述。
13、脱数据包化处理部输说明书CN104137083A2/14页5出的多个请求报头,按顺序生成与各请求报头对应的响应报头,以按所述第1顺序读出各响应报头的方式进行存储;数据包化处理部,利用响应于所述请求数据而从所述存储器输出的所述响应数据、及存储在所述报头生成存储部中的所述响应报头,生成响应数据包并发送给所述总线网络;和报头顺序控制部,在所述调解部以不同于所述第1顺序的第2顺序向所述存储器发送了所述多个请求数据时,以按所述第2顺序读出各响应报头的方式控制所述报头生成存储部。0012上述的一般性且特定的方式使用系统、方法及计算机程序来进行安装,或者可利用系统、方法及计算机程序的组合来实现。0013【发。
14、明效果】0014根据本发明的一方式的接口装置,即使在存储器内存在请求顺序的变更的情况下,也能够正确地确保响应报头与响应数据的对应关系,且能够保证系统的动作。此外,无须提高工作频率且也无须扩展总线位宽,能够提高存储器控制器内的访问顺序变更引起的存储器访问效率。此外,在存储器访问结束之前从存储器控制器接受请求顺序的通知,与对存储器的访问处理并行地进行响应报头的检索处理及响应报头在路由器中的处理,从而能够隐藏响应报头的检索处理的延迟,可提高引发器的应对性。附图说明0015图1是表示现有技术中的SOC结构的图。0016图2是表示网络接口301的内部结构及网络接口301、存储器控制器302与存储器303。
15、的连接关系的图。0017图3是表示SOC400的结构的图。0018图4AD是表示在NOC上被收发的数据包的种类与其结构例的图。0019图5是表示数据包的报头51的结构例的图。0020图6AD是表示图3所示的比率保证型的引发器401A和比率非保证型的引发器401B对存储器402A进行访问时进行的数据处理的流程的图。0021图7是表示图3的存储器侧的NIC404A的结构例的图。0022图8是表示提供给存储器控制器406A的信号的种类的图。0023图9是表示报头生成存储部102所应用的响应数据包的报头生成规则的例的图。0024图10是表示在图6所示的时序图的时刻T3报头生成存储部102所存储的顺序目。
16、录的例的图。0025图11是表示发送对应于请求数据包401A1的响应数据包之后的、响应报头的顺序目录的图。0026图12AD是表示图3所示的引发器401A及401B访问存储器402A时的存储器的动作的图。0027图13是表示在时刻T2图12由存储器控制器406A接收到的请求数据包的管理结构例的图。0028图14是表示请求顺序信息的例的图。0029图15A及B是表示与数据包401A2对应的报头及与数据包401B1对应的报头的保存例的图。说明书CN104137083A3/14页60030图16是表示通过NIC404A执行的请求数据包接收时的处理流程的图。0031图17是表示通过NIC404A执行的。
17、响应数据接收时的处理流程的图。0032图18是表示通过NIC404A执行的伴随存储器访问顺序的变更的处理顺序的流程图。0033图19是表示报头生成存储部102中的响应数据包的报头保存区域的数据结构的图。0034图20A是与存储器访问结束后接收请求顺序信息的通知的例相关的、存储器控制器406A及NIC404A的动作时刻的图,B是与在存储器访问执行之间接收请求顺序信息的通知的例相关的存储器控制器406A及NIC404A的动作时刻的图。0035图21是表示NIC的输出时刻、与NIC连接的路由器405的输出时刻、及路由器405内的处理的过渡的图。0036图22是表示对响应数据包的报头和响应数据分开进行。
18、收发时的处理的图。0037图23是表示流水线结构为路径选择处理、虚拟通道的分配和输出开关的分配、开关动作的3阶段结构的3周期路由器中的最佳的响应报头的输出时刻的图。0038图24是表示实施方式2的NIC414的结构例的图。0039图25是表示用于存储请求顺序的数据结构的例的图。0040图26是表示用于对地址进行逆变换的数据结构的例的图。0041图27是表示存储区域的状态例的图。具体实施方式0042本申请的发明人研究了上述现有结构中存在的问题。想要将AXI、OCP、AHB等通过片上总线协议接口的引发器或目标相互连接到作为数据包交换网络的NOC,需要进行数据包化或脱数据包化处理的接口装置。这种接口。
19、装置一般被称为NICNETWORKINTERFACECONTROLLER。0043图2表示网络接口301的内部结构、及网络接口301、存储器控制器302与存储器303的连接关系。存储器控制器302经由网络接口301而与作为数据包交换网络的NOC连接。此外,存储器控制器302与存储器303连接。0044NOC上的数据的收发都是以数据包为单位进行,读取数据或来自写入响应这样的存储器的响应数据也称作响应信息在NIC301中被数据包化之后在NOC上被发送。此外,写入数据或读取指令这样的对存储器的请求数据也称作请求信息在被数据包化的状态下被NIC301接收,脱数据包化之后被发送到存储器控制器302。00。
20、45数据包304A、304B是对存储器进行读取或写入的请求数据包。数据包304A由数据包报头H1和请求数据R1构成。此外,数据包304B由数据包报头H2和请求数据R2构成。数据包304A、304B按照该顺序到达NIC301。数据包报头保存了发送源或目的地的NIC的ID或数据包的优先度等、NOC路由器进行数据包的中继时所需的信息等。0046NIC301进行请求数据包的脱数据包化处理,提取请求数据R1后变换为规定的片上总线协议,将变换后的请求数据R1发送给存储器控制器302。接着,NIC301还提取请求数据R2来进行协议变换,并发送给存储器控制器302。存储器控制器302进行与从多个引发器发送的请。
21、求相关的比率控制,从而将对存储器303执行的请求逆转为请求数据306B、说明书CN104137083A4/14页7306A的顺序来进行发送。此时,存储器303根据到达的请求数据的顺序读出数据。其结果,与请求数据306B对应的数据D2307B先被读出,之后读出与请求数据306A对应的数据D1307A。由此,响应数据308B、308A按照该顺序到达NIC301。也就是说,请求数据的发送顺序和响应数据的接收顺序被调换。0047NIC301将响应数据数据包化之后依次完成响应数据包309B、309A,发送给附近的路由器未图示。在生成响应数据包309B、309A时需要对响应数据308B、308A附加数据包。
22、报头H1、H2。NIC301在NIC301内与附加到请求数据包的数据包报头H1、H2一起存储向存储器发行了请求数据的顺序。NIC301对经由存储器控制器302从存储器303受理的响应数据308B、308A按顺序附加所存储的数据包报头H1、H2。由此,NIC301能够完成响应数据包并发送给附近的路由器未图示。图2表示通过NIC301生成且从NIC301发送的响应数据包309B、309A。0048在此应留意的是,在响应数据包309A及309B中并未适当保存报头与有效载荷的关系。本来需要由响应数据包309B中的报头H1和响应数据包309A中的响应数据D1构成响应数据包。同样地,需要由响应数据包309。
23、A中的报头H2和响应数据包309B中的响应数据D2构成响应数据包。0049产生这种不良状况的原因在于,因在存储器控制器302的内部产生的请求顺序的变更,在NIC301内存储的响应报头的顺序和从存储器接收的响应数据的对应关系被破坏。未对响应数据附加适当的响应报头,不仅会破坏读出报头内的信息来进行数据包的中继处理的NOC路由器的处理而无法保证性能外,还会根据情况而发生系统瘫痪。这在对存储器的读取和写入时都会同样产生。0050本申请的发明人认识到上述问题,为了解决该问题而完成了本发明。0051本发明的一方式的概要如下。0052本发明的一方式的接口装置是用于连接与集成电路上的存储器相连的存储器控制器、。
24、和在所述集成电路上形成的总线网络的接口装置,所述存储器控制器具有调解部,调解多个请求数据的处理顺序;和发送部,响应于各请求数据而向所述接口装置发送从所述存储器输出的各响应数据,所述接口装置具备脱数据包化处理部,对从所述总线网络接收到的多个请求数据包分别进行脱数据包化处理,从各请求数据包提取请求报头及请求数据来进行输出;报头生成存储部,以第1顺序接受所述脱数据包化处理部输出的多个请求报头,按顺序生成与各请求报头对应的响应报头,以按所述第1顺序读出各响应报头的方式进行存储;数据包化处理部,利用响应于所述请求数据而从所述存储器输出的所述响应数据、及存储在所述报头生成存储部中的所述响应报头,生成响应数。
25、据包并发送给所述总线网络;和报头顺序控制部,在所述调解部以不同于所述第1顺序的第2顺序向所述存储器发送了所述多个请求数据时,以按所述第2顺序读出各响应报头的方式控制所述报头生成存储部。0053在某一实施方式中,所述报头顺序控制部从所述调解部获得表示以所述第2顺序发送了所述多个请求数据的请求顺序信息0054在某一实施方式中,所述调解部输出表示以所述第2顺序发送了所述多个请求数据的请求顺序信息,所述报头生成存储部具有根据存储位置决定读出顺序的存储区域,所述报头顺序控制部根据所述请求顺序信息来变更存储在所述报头生成存储部中的各响应说明书CN104137083A5/14页8报头的存储位置。0055在某。
26、一实施方式中,所述调解部输出表示以所述第2顺序发送了所述多个请求数据的请求顺序信息,所述报头生成存储部将各响应报头和各响应报头的读出顺序建立对应来存储,所述报头顺序控制部根据所述请求顺序信息变更存储在所述第2存储区域中的读出顺序。0056在某一实施方式中,在所述数据包化处理部获得响应于被调解的所述请求数据而得到的所述响应数据之前,所述报头顺序控制部获得所述请求顺序信息,以按所述第2顺序读出各响应报头的方式控制所述报头生成存储部。0057在某一实施方式中,所述接口装置能够向与所述总线网络相连的路由器发送所述响应数据包,在所述数据包化处理部获得响应于被调解的所述请求数据而得到的所述响应数据之前,所。
27、述报头顺序控制部以按所述第2顺序读出各响应报头的方式控制所述报头生成存储部,所述数据包化处理部预先保持所述路由器对所述响应报头及所述响应数据进行的处理的延迟量的信息、或与所述路由器的流水线处理的结构的信息相关的路由器信息,所述数据包化处理部先向所述路由器发送所述响应报头,之后相隔基于所述路由器信息决定的时间间隔来发送所述响应数据。0058本发明的另一方式的接口装置是用于连接与集成电路上的存储器相连的存储器控制器、和在所述集成电路上形成的总线网络的接口装置,该接口装置具备脱数据包化处理部,对从所述总线网络接收到的多个请求数据包分别进行脱数据包化处理,从各请求数据包提取请求报头及请求数据来进行输出。
28、;报头生成存储部,以所述第1顺序接受所述脱数据包化处理部输出的多个请求报头,按顺序生成与各请求报头对应的响应报头,以按所述第1顺序读出各响应报头的方式进行存储;分析部,监控从所述存储器控制器发送给所述存储器的信号的状态,分析是否以不同于所述第1顺序的第2顺序发送了多个请求数据;数据包化处理部,利用响应于所述请求数据而从所述存储器输出的所述响应数据、及存储在所述报头生成存储部中的所述响应报头,生成响应数据包并发送给所述总线网络;和报头顺序控制部,在所述分析部进行分析的结果是以不同于所述第1顺序的第2顺序向所述存储器发送了所述多个请求数据时,以按所述第2顺序读出各响应报头的方式控制所述报头生成存储。
29、部。0059在某一实施方式中,在检测到以所述第2顺序向所述存储器发送了所述多个请求数据的情况时,所述分析部获得所述请求顺序信息。0060本发明的又一方式的存储器总线系统具备总线网络,形成在集成电路上;0061存储器,被设置在集成电路上;存储器控制器,被设置在所述集成电路上,且与所述存储器相连;和接口装置,上述的任一个接口装置,连接所述存储器控制器及所述总线网络。0062在某一实施方式中,存储器总线系统还具备与所述总线网络相连的引发器,所述引发器发送对所述存储器请求访问的请求数据,接收所述存储器中的所述访问的结果、即响应数据。0063以下,参照附图来说明本发明的传送装置及传送方法的实施方式。00。
30、64实施方式10065图3表示SOC400的结构。SOC400是具备数据包交换方式的总线网络分散型总说明书CN104137083A6/14页9线网络450的半导体集成电路芯片。在SOC400中,通过在芯片上构筑的网络450,连接多个引发器401A401E和多个存储器402A、402B。对应于存储器402A、402B,还设置了存储器控制器406A及406B。0066引发器401A401E是处理器、DSPDIGITALSIGNALPROCESSOR、GPGRAPHICPROCESSOR、IOINPUT/OUTPUT设备等。0067图示的NIC及存储器控制器分别可以是在芯片SOC400上构筑的电路,。
31、也可以是与构成SOC400的至少一部分的规定芯片组相结合的芯片。NIC可使用特定的物理层和/或数据链层来进行通信。0068存储器402A、402B是从引发器401A401E分别进行访问的存储装置。存储器例如包括DRAM、SRAM、EEPROM等。在通过系统地组合了多个功能而构成的SOC中,混合存在用于使产品功能差别化的单独开发的引发器、通过来自其他系统的占用或定制而组装的引发器、市场上销售的通用引发器等。因此,随着引发器不同而被接合的总线协议不同是一般现象。对于存储器控制器也是一样的。因此,在SOC400上,以单独协议为首,产生AXI、AHB、APB、OCP、PIF等的任意协议的混合。各引发器。
32、或存储器经由引发器侧的NIC403A403E、存储器侧的NIC404A、404B、及存储器控制器406A及406B而与由路由器构成的数据包交换网络450连接。各NIC进行对数据包交换网络450的总线协议交换处理,将在引发器存储器间收发的存储器访问数据数据包化/脱数据包化之后与NOC总线接合。0069此外,要求带宽变动的情况等可通过引发器的变动,使存储器也随着用途而变动。也就是说,预先准备除了引发器401A401E以外的SOC400的构成、具体而言是包括NIC的数据包交换网络450、存储器控制器406A及406B、具有存储器402A、402B的系统存储器总线系统,根据用途适当连接引发器即可。能够。
33、提供SOC400的模块,并且能够提供通用性高的环境。0070图4AD表示在NOC上收发的数据包的种类及其结构例。0071图4A及B表示写入及读取的各请求数据包的结构例。图4A所示的写入请求数据包包括报头51A及请求数据52A。图4B所示的读取请求数据包包括报头51B及请求数据读取地址52B。另外,请求数据包也可以包括报头及地址的一部分。例如,也可以将图4A所示的报头51A和请求数据52A所包含的写入地址统一设置为1个报头。换言之,写入地址也可以被包含在图4A及B所示的报头51A或51B中。0072图4C及D表示写入及读取的各响应数据包的结构例。响应数据包保存表示响应请求数据包而执行的结果的数据。
34、。写入响应数据包包括报头51C及响应数据写入状态52C。读取响应数据包包括报头51D及请求数据52D。另外,响应数据包的写入状态或读取状态也可以包含读取地址或写入地址。在包括地址的情况下,将地址场也作为响应报头的一部分而存储在后述的图15所述的存储区域中。0073图5表示数据包的报头51的结构例。报头51具有例如数据包ID场511、数据包类别场512、发送源场513、目的地场514、传送优先度场515和数据尺寸场516。0074数据包ID场511是在NIC中对与所发送的请求数据包对应的响应数据包的对应关系进行管理的每个引发器唯一的识别码。数据包类别场512是表示该数据包是读取请求还是读取响应还。
35、是写入请求还是写入响应的信息。发送源场513或目的地场514是NOC路由器对数据包的配送路径进行安排时所需的在系统中成为唯一目的地的引发器或存说明书CN104137083A7/14页10储器的ID。传送优先度场515是将要求更高访问品质的引发器的访问请求用在比其他引发器优先进行等品质保证中的优先度信息。数据尺寸场516是要读取的数据的尺寸或要写入的数据的尺寸的信息。除此之外的信息也可被包含在报头中。0075在将AV设备或对便携式终端的组装作为目标的大规模SOC中,连接多种特性的引发器的方式比较普遍。例如,进行实时系统的信号处理的引发器被称为需要在规定期间内保证恒定比率的访问的比率保证型的引发器。
36、。此外,例如进行WEB访问的引发器因对存储器的访问请求的频度不定期而被称为很难预测的比率非保证型的引发器。0076假设图3所示的引发器401A是比率保证型的引发器,图3所示的引发器401B是比率非保证型的引发器。0077图6AD表示图3所示的比率保证型的引发器401A和比率非保证型的引发器401B对存储器402A进行访问时所执行的数据的处理流程。0078图6A表示为了在比率保证型的引发器401A中保证规定比率而所需的周期。根据图6A,为了在引发器401A中保证规定比率,存储器控制器406A需要平均以R周期执行1次存储器访问。0079图6B表示从引发器401A输出的存储器访问的请求数据包到达与存。
37、储器控制器406A连接的NIC404A图3的时刻。接收了请求数据包401A1的NIC404A进行请求数据包的脱数据包化,并且根据请求数据包的报头生成用于赋予给响应数据包的报头并将其存储,向存储器控制器406A发送请求数据。由此,开始存储器访问。此外,图6B还表示了引发器401A的下一请求数据包401A2到达NIC404A的情况。0080图6C表示与在时刻T0图6A接收到的请求数据包401A1对应的存储器访问处理在时刻T3结束的情况。由此,存储器控制器406A处于能够在时刻T3执行下一次存储器访问的状态。图6B所示的下一个请求数据包401A2在比时刻T3早的时刻到达NIC404A。NIC404A。
38、进行请求数据包401A2的脱数据包化,并且根据请求数据包的报头生成并存储用于赋予给响应数据包的报头,并向存储器控制器406A发送请求数据。0081图6D表示来自引发器401B的请求数据包401B1在比时刻T3早的时刻时刻T2到达NIC404A的情况。NIC404A进行请求数据包401B1的脱数据包化,并且根据请求数据包的报头生成并存储用于赋予给响应数据包的报头,并向存储器控制器406A发送请求数据。0082如上所述,可在时刻T3进行下一次存储器访问。但是,存储器控制器406A已经接收了从2个请求数据包401A2、401B1提取出的请求数据,因此进行决定下一次应执行哪一个请求数据的处理调解处理。。
39、0083若在时刻T0R的期间内执行引发器401A的下一次存储器访问,则能够保证对于引发器401A的规定比率。也就是说,即使不使关于引发器401A的请求数据的处理优先,时间上也还有富余。因此,在时刻T3,存储器控制器406A将从来自引发器401B的请求数据包401B1中提取出的请求数据作为下一次要执行的数据来选择。NIC404A向存储器控制器406A发送了请求数据的顺序是与请求数据包401A1、401A2、401B1对应的顺序。0084但是,如参照图2所说明的那样,存储器控制器406A进行调解的结果,访问执行顺序被变更。具体而言,以请求数据包401A1、401B1、401A2的顺序执行处理。存储。
40、器控制器406A向NIC404A通知在基于请求数据包401A2的请求数据和基于请求数据包401B1的请求说明书CN104137083A108/14页11数据之间访问执行顺序被变更的情况。0085接受该通知后,NIC404A调整正在存储的响应报头的输出顺序。从存储器402A经由存储器控制器406A向NIC404A发送响应数据的顺序对应于请求数据包401A1、401B1、401A2的顺序。NIC404A针对各响应数据以正确的顺序读出响应报头来完成响应数据包。所生成的响应数据包被发送至与NIC404A连接的NOC路由器,经由NOC总线而被发送至引发器。0086图7表示图3的存储器侧的NIC404A的。
41、结构例。图7还表示路由器405、存储器控制器406A、存储器402A的连接关系。另外,NIC404A对应于图3中的NIC404A。但是,NIC404B的结构也与NIC404A相同。在本实施方式中,列举NIC404A来说明在与存储器控制器406A等之间进行的动作。0087NIC404A具备脱数据包化处理部101、报头生成存储部102、数据包化处理部103和报头顺序控制部104。0088脱数据包化处理部1010089脱数据包化处理部101经由路由器405接收请求数据包。请求数据包包括引发器发送的存储器访问的请求。例如,请求数据包的结构例如图4A或图4B所示的那样。若以向存储器写入数据写入的情况为例。
42、,则脱数据包化处理部101从接收到的请求数据包中分离报头。0090图8表示赋予给存储器控制器406A的信号的种类。脱数据包化处理部101向存储器控制器的数据总线信号线提示写入数据,向地址总线信号线提示地址。此外,脱数据包化处理部101分析报头内部,提取所需的信息,提示给控制信号线。例如,在图5的报头51的结构例中,脱数据包化处理部101从数据尺寸场516提取写入数据的尺寸,计算出分频传输时的频率,作为控制信号进行提示。此外,脱数据包化处理部101向报头生成存储部102发送分离后的请求数据包的报头51A。0091报头生成存储部1020092图7所示的报头生成存储部102根据从脱数据包化处理部10。
43、1输入的请求数据包的报头51A、51B,生成新的报头51并加以存储。为了提供给与该请求的存储器操作对应的响应数据包而利用新的报头51。0093图9表示报头生成存储部102所应用的响应数据包的报头的生成规则的例。数据包ID场是用于进行请求数据和响应数据的配对的信息,因此将请求数据包的数据包ID复制到响应数据包的报头响应报头51C或响应报头51D。数据包类别场为读取请求的情况下,变换为表示读取响应的值,数据包类别场为写入请求的情况下,变换为表示写入响应的值,分别保存在响应报头51C或响应报头51D中。0094关于发送源场,若是请求,则保存发行了存储器访问的引发器侧的NIC的ID。另一方面,若是响应。
44、,则该引发器成为目的地。因此,报头生成存储部102在响应报头的目的地场中保存请求数据包的报头请求报头的发送源场的信息。另一方面,若是请求,则请求报头的目的地场保存存储器侧的NIC的ID,而若是响应响应,则该存储器成为发送源。因此,报头生成存储部102在响应报头发送源场中保存请求报头的目的地场的信息。对于其他场也是根据需要来进行变换处理,生成响应报头。0095报头生成存储部102按照NIC接收了请求数据包的顺序存储所生成的响应数据包说明书CN104137083A119/14页12的报头。存储方法也可以使用带顺序的目录结构。0096图10表示在图6所示的时序图的时刻T3报头生成存储部102进行存储。
45、的顺序目录的例。在时刻T2,正在执行对应于请求数据包401A1的存储器操作。将基于该请求数据包401A1进行的对存储器402A的访问结果作为来自存储器402A的响应数据来接收。NIC404A处于与请求数据包401A1的访问对应的响应数据包的报头被赋予到NIC404A下一次从存储器控制器406A接收的响应数据的状态。0097数据包化处理部1030098再次参照图7。0099数据包化处理部103对从存储器侧接收到的响应数据进行赋予报头的处理等,完成响应数据包,发送给NOC总线侧的路由器405。赋予给响应数据的报头是从报头生成存储部102获得的。0100在时刻T3,完成基于请求数据包401A1的存储。
46、器操作,若返还响应数据,则数据包化处理部103从报头生成存储部102读出响应报头。如上所述,时刻T3的响应报头的存储状况顺序目录如图10所示。数据包化处理部103获取与请求数据包401A1对应的用于响应数据包的报头,完成响应数据包,发送给路由器405。数据包化处理部103更新在发送与请求数据包401A1对应的响应数据包之后被更新的响应报头的存储状况顺序目录。图11表示发送与请求数据包401A1对应的响应数据包之后的响应报头的顺序目录示。0101报头顺序控制部1040102图7所示的报头顺序控制部104根据在存储器控制器406A及存储器402A中执行过度存储器操作的顺序,读出存储在报头生成存储部。
47、102中的响应数据包的报头并控制顺序。0103图12AD表示根据来自图3所示的引发器401A及401B的请求而产生对存储器402A的访问时的存储器402A的动作。尤其是图12C表示时刻T3以后的请求数据包401B1及401A2。0104图12C表示存储器402A在时刻T3执行基于引发器401B的存储器访问的请求数据包401B1的处理且在时刻T5完成了该存储器访问的情况。另外,图12C表示接着执行基于引发器401A的存储器访问的请求数据包401A2的处理并在时刻T6完成了该存储器访问的情况。0105如图7所示,存储器控制器406A具有访问调解部416A及发送部416B。0106访问调解部416A。
48、将多个请求数据作为对象而进行调解处理。调解处理的结果,基于存储器访问的请求数据包401A2和401B1的请求的执行顺序被变更。此时,访问调解部416A输出表示如何变更了执行顺序的请求顺序信息。报头顺序控制部104从访问调解部416A获得该请求顺序信息。0107例如,也可以是存储器控制器406A的访问调解部416A存储从NIC404A接收的请求数据的顺序,将表示通过调解处理在第几次接收到的请求数据在第几次被执行的情况的信息作为请求顺序信息,提供给NIC404的报头顺序控制部104。0108发送部416B将根据请求数据从存储器输出的数据输出给NIC404A的数据包化处理部103。0109图13是时。
49、刻T2的由存储器控制器406A接收到的请求数据包的管理结构的例。在说明书CN104137083A1210/14页13该管理结构中,保持从NIC404A已经受理的与请求数据包401A2、401B1对应的受理顺序的信息。0110在时刻T3,若请求数据包401B1的存储器操作在请求数据包401A2之前被执行,则存储器402A向报头顺序控制部104提供表示请求的执行顺序被变更的情况的请求顺序信息。0111图14表示请求顺序信息的例。获得了请求顺序信息的报头顺序控制部104参照请求顺序信息,变更时刻T3的报头生成存储部102内的响应报头的、对数据包化处理部103的输出顺序。具体的处理如下。另外,以下,报头生成存储部102具有根据存储位置决定读出顺序存储区域。0112首先,在图15A所示的状态下,按顺序保存与数据包401A2对应的报头及与数据包401B1对应的报头。在该状态下,先读出在头部位置保存的与数据包401A2对应的报头,之后读出在下一个位置保存的与数据包401B1对应的报头。0113报头顺序控制部104将请求顺序信息顺序目录从图15A的状态变更为图15B的状态。该处理通过报头顺序控制部104从顺序目录的所存储的响应报头的头部读出第2个报头并变更为头部的位置来实现。由此,先读出保存在头部位置的与数据包401B1对应的报头,滞后读出在下一个位置保存的与数据包401A。