一种扩展同步内存总线功能的方法和装置的制造方法_4

文档序号:9375526阅读:来源:国知局
数器的当前值j,加到令牌计数器的当前值i上,得到新结果i+j,更新令牌计数器,执行步骤809 ;
[0126]步骤809,辅助访存模块结束对令牌计数器的处理。
[0127]图9是扩展内存控制器在收到读请求或写请求两种场景下对于令牌释放计数器的处理过程,如图9所示,所述方法,包括下列步骤:
[0128]步骤901,扩展内存控制器从处理器收到了访问扩展内存空间的请求;
[0129]步骤902,判断请求是否为访问令牌释放计数器的请求,如果是,则执行步骤903,否则执行步骤906 ;
[0130]步骤903,将令牌释放计数器的值返回给内存控制器,执行步骤905 ;
[0131]步骤904,将令牌释放计数器的数据与例外标记数据合并,返回给内存控制器;
[0132]步骤905,将令牌释放计数器设成0,操作结束;
[0133]步骤906,判断请求是否为写请求,如果是,则执行步骤909,否则执行步骤907 ;
[0134]步骤907,判断读请求所需数据是否在数据缓冲器内,如果是,则执行步骤908,否则执行步骤904 ;
[0135]步骤908,从数据缓冲器取走数据返回给内存控制器,操作结束;
[0136]步骤909,将请求数据写入数据缓冲器;
[0137]步骤910,判断扩展内存当前是否可写,如果是,则执行步骤912,否则执行步骤911 ;
[0138]步骤911,等待预先设定好的时间,准备再次访问扩展内存,执行步骤910;
[0139]步骤912,将请求数据从数据缓冲器读出,写入扩展内存;
[0140]步骤913,将令牌释放计数器加1,操作结束。
[0141]fence请求是当前处理器针对本地系统内存已经支持了的一种同步请求,可以保证fence之前的写访存请求都处理完了后再执行fence之后的写访存请求,本发明利用令牌计数器实现了一种面向扩展内存的fence请求,图10是辅助访存模块从处理器接收到fence请求的处理过程,如图10所示,所述方法,包括下列步骤:
[0142]步骤1010,辅助访存模块从处理器收到fence请求;
[0143]步骤1020,辅助访存模块将fence之前收到的还未处理的请求全部发给内存控制器;
[0144]步骤1030,辅助访存模块将之后从处理器收到的请求缓存起来,暂时不发给内存控制器;
[0145]步骤1040,判断令牌计数器的值i是否为max,如果是,则执行步骤1050,否则执行步骤1070 ;
[0146]步骤1050,辅助访存模块读取扩展内存控制器的令牌释放计数器;
[0147]步骤1060,辅助访存模块读取扩展内存控制器的令牌释放计数器,得到j,令i =i+j,更新令牌计数器的值为i,执行步骤1040 ;
[0148]步骤1070,辅助访存模块结束sfence的处理,将缓存的请求发给内存控制器,操作结束。
[0149]本发明的设备实施例,如下所示:
[0150]本发明还提供了辅助访存模块的设备实施例,参看图11,应用于计算机的处理器对扩展内存的访问,所述辅助访存模块通过片上总线连接到所述处理器以及内存控制器,该辅助访存模块包括:
[0151]判断模块1110,用于接收处理器发过来的所有访存请求,根据访存请求的地址判断是访问的系统内存还是扩展内存,如果是扩展内存,就将请求转发给扩展内存请求生成模块做进一步处理,如果是系统内存,则直接转发给内存控制器。同时还要将所有未完成的请求ID发给请求响应处理模块。
[0152]扩展内存请求生成模块1120,用于处理所有接收到的访问扩展内存的访存请求,主要有三个功能:一是生成访问扩展内存的请求;二是接收访问扩展内存请求的响应结果,并根据结果做进一步处理;三是监测处理器访问扩展内存的序列规律,适当产生一些预取请求发给扩展内存控制器。
[0153]请求响应处理模块1130,用于接收内存控制器返回的访存请求的响应数据。模块内维护了所有没收到响应信息的访存请求ID,如果内存控制器返回了一个系统内存访问请求的请求响应,就将其直接传给处理器;如果内存控制器返回了一个扩展内存访问请求的请求响应,就将其转发给扩展内存请求生成模块。
【主权项】
1.一种扩展同步内存总线功能的装置,其特征在于,包括: 处理器、辅助访存模块、扩展内存控制器; 其中,处理器用于生成内存访问请求,并将所述内存访问请求发送给辅助访存模块; 所述辅助访存模块,用于根据所述内存访问请求中所包含的地址属性信息,判断所述内存访问请求为访问系统内存或是扩展内存,若为访问所述系统内存,则将所述内存访问请求发送给内存控制器,若为访问扩展内存,则生成目标地址为扩展内存控制器的访存请求; 所述扩展内存控制器,用于接收所述目标地址为扩展内存控制器的访存请求,并将所述访问请求发给扩展内存。2.如权利要求1所述的扩展同步内存总线功能的装置,其特征在于,所述辅助访存模块,还用于根据所述扩展内存控制器的返回结果判断访问扩展内存是否结束,如果所述返回结果为除例外标记数据之外的数据,则将所述返回结果发给处理器,否则再生成一条新的目标地址为所述扩展内存控制器的访存请求。3.如权利要求1所述的扩展同步内存总线功能的装置,其特征在于,所述辅助访存模块还包括令牌计数器,所述令牌计数器的初始值设为扩展内存控制器可缓存的最大写请求数目,每当所述辅助访存模块发出一个写请求后,所述令牌计数器的值减1,当所述令牌计数器的值降为O后,所述辅助访存模块就停止接收处理器访问扩展内存的写请求;令牌释放计数器,在扩展内存控制器,所述扩展内存控制器将缓存的写请求数据写到扩展内存中后,所述令牌释放计数器的值加1,所述辅助访存模块定时访问所述令牌释放计数器,并恢复所述令牌计数器的值。4.如权利要求1所述的扩展同步内存总线功能的装置,其特征在于,所述内存控制器用于根据所述内存访问请求中所包含的地址属性信息,判断所述内存访问请求访问系统内存或是扩展内存,当确定为访问系统内存,将所述内存访问请求发送给所述系统内存,当确定为访问所述扩展内存时,将所述内存访问请求发送给所述扩展内存控制器。5.如权利要求1所述的扩展同步内存总线功能的装置,其特征在于,扩展内存控制器至少包括执行模块,用于执行对所述扩展内存中待访问数据的读取操作;数据缓冲器,用于暂存所述执行模块从所述扩展内存中读取待访问数据; 其中执行模块每收到一个访问所述扩展内存的请求,优先检查所述数据缓冲器中是否保存了需要的数据,如果有,则在内存总线上直接返回所述需要的数据,否则返回一个例外标记数据,并访问所述扩展内存,将获取到的数据存入所述数据缓冲器。6.如权利要求1所述的扩展同步内存总线功能的装置,其特征在于,还包括片上总线,所述片上总线支持请求乱序返回,请求发起者的每一个读请求都附带一个请求标记,当请求接收方返回数据的时候同时返回数据所属请求的请求标记。7.一种实施于如权利要求1装置的扩展同步内存总线功能的方法,其特征在于,包括: 步骤1,生成内存访问请求,并将所述内存访问请求发送给辅助访存模块; 步骤2,根据所述内存访问请求中所包含的地址属性信息,判断所述内存访问请求为访问系统内存或是扩展内存,若为访问所述系统内存,则将所述内存访问请求发送给内存控制器,若为访问扩展内存,则生成目标地址为扩展内存控制器的访存请求; 步骤3,扩展内存控制器接收所述目标地址为扩展内存控制器的访存请求,并将所述访问请求发给扩展内存。8.如权利要求7所述的扩展同步内存总线功能的方法,其特征在于,所述步骤2还包括根据所述扩展内存控制器的返回结果判断访问扩展内存是否结束,如果所述返回结果为除例外标记数据之外的数据,则将所述返回结果发给处理器,否则再生成一条新的目标地址为所述扩展内存控制器的访存请求。9.如权利要求7所述的扩展同步内存总线功能的方法,其特征在于,还包括存储所述处理器执行过程中的运算数据。10.如权利要求7所述的扩展同步内存总线功能的方法,其特征在于,还包括:每收到一个访问所述扩展内存的请求,优先检查所述数据缓冲器中是否保存了需要的数据,如果有,则在内存总线上直接返回所述需要的数据,否则返回一个例外标记数据,并访问所述扩展内存,将获取到的数据存入所述数据缓冲器。
【专利摘要】本发明涉及计算机领域,本发明提出一种扩展同步内存总线功能的方法和装置,该装置包括处理器、辅助访存模块和扩展内存控制器;其中,处理器用于生成内存访问请求,并将所述内存访问请求发送给辅助访存模块;所述辅助访存模块,用于根据所述内存访问请求中所包含的地址属性信息,判断所述内存访问请求为访问系统内存或是扩展内存,若为访问所述系统内存,则将所述内存访问请求发送给内存控制器,若为访问扩展内存,则生成目标地址为扩展内存控制器的访存请求;所述扩展内存控制器用于辅助访存模块生成的访问扩展内存请求,将其发给内存扩展芯片。本发明能识别出属于访问扩展内存的请求并代替处理器与扩展内存控制器交互,提高访问效率。
【IPC分类】G06F13/38
【公开号】CN105095138
【申请号】CN201510369681
【发明人】阮元, 陈明宇, 崔则汉, 卢天越
【申请人】中国科学院计算技术研究所
【公开日】2015年11月25日
【申请日】2015年6月29日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1