访存调度方法、装置和系统制造方法及图纸

技术编号:9642365 阅读:85 留言:0更新日期:2014-02-07 00:51
本发明专利技术提供一种访存调度方法、装置和系统,包括:接收与各访存模块对应的各访存窗口信息;根据各访存窗口信息,确定各访存窗口在调度周期内的启闭时间,并在对应的启闭时间内开启各访存窗口;接收访存模块发送的访存请求,所述访存请求中携带所述访存模块的标识;根据所述访存模块的标识,确定与所述访存模块的标识对应的访存窗口是否处于开启状态;若所述访存模块的标识对应的访存窗口处于开启状态,则对所述访存请求进行访存调度。通过在调度周期对应的启闭时间内打开访存窗口,并仅对访存窗口开启的访存模块的访存请求进行访存调度,降低了多个访存模块同时进行访存请求,访存带宽发生冲突的概率,同时提高了访存性能和访存服务质量。

【技术实现步骤摘要】
访存调度方法、装置和系统
本专利技术涉及集成电路逻辑设计领域,尤其涉及一种访存调度方法、装置和系统。
技术介绍
随着半导体技术的发展,越来越多的功能模块被集成到同一块芯片中。芯片内功能模块的增加使芯片的功能越来越强大,这就导致了芯片的访存压力越来越大。通常,访存调度器用来处理访存模块的访存调度请求。访存调度器将访存模块分为带宽敏感型和延迟敏感型,对带宽敏感型的访存模块采用配置足够带宽的调度策略,对延迟敏感型的访存模块采用配置高优先级的调度策略,来保证各模块的访存服务质量。上述访存调度方法中,随着访存压力的增大,多个访存模块同时发送访存请求,为各访存模块分配的访存带宽发生冲突的概率逐渐增加,访存的性能会逐渐降低,从而也就降低了访存的服务质量。
技术实现思路
本专利技术提供一种访存调度方法、装置和系统,用于解决访存压力较大时,访存带宽发生冲突的概率增加,访存性能和访存服务质量会降低的问题。本专利技术提供一种访存调度方法,包括:接收与各访存模块对应的各访存窗口信息,所述各访存窗口信息包括:各访存窗口的长度,所述各访存窗口的长度代表对应的各访存模块占用访存总线的时长;根据所述各访存窗口信息,确定各访存窗口在调度周期内的启闭时间,并在对应的启闭时间内开启所述各访存窗口,所述调度周期指所有访存窗口各执行一次访存调度所需的时间;接收访存模块发送的访存请求,所述访存请求中携带所述访存模块标识;根据所述访存模块标识,确定与所述访存模块标识对应的访存窗口是否开启;若所述访存模块标识对应的访存窗口已开启,则对所述访存请求进行访存调度。本专利技术提供一种访存调度装置,包括:第一接收单元,接收与各访存模块对应的各访存窗口信息,所述各访存窗口信息包括各访存窗口的长度,所述各访存窗口的长度代表对应的各访存模块占用访存总线的时长;第一确定单元,根据所述各访存窗口信息,确定各访存窗口在调度周期内的启闭时间,并在对应的启闭时间内开启所述各访存窗口,所述调度周期指所有访存窗口各执行一次访存调度所需的时间;第二接收单元,用于接收访存模块发送的访存请求,所述访存请求中携带所述访存模块标识;第二确定单元,用于根据所述访存模块标识,确定与所述访存模块标识对应的访存窗口是否开启;处理单元,用于若所述访存模块标识对应的访存窗口已开启,则对所述访存请求进行访存调度。本专利技术提供一种访存调度系统,包括:访存模块和如上所述的访存调度装置。本专利技术提供的访存调度方法、装置和系统,通过根据各访存模块对应的各访存窗口信息,在调度周期对应的启闭时间内打开访存窗口,并仅对访存窗口开启的访存模块的访存请求进行访存调度,降低了多个访存模块同时进行访存请求,访存带宽发生冲突的概率,优化了访存压力较大情况下的访存性能和服务质量。附图说明图1为本专利技术实施例提供的访存调度方法实施例一的流程示意图;图2为本专利技术实施例提供的访存调度方法实施例二的流程示意图;图3为本专利技术提供的访存调度装置实施例一结构示意图;图4为本专利技术提供的访存调度装置实施例二结构示意图;图5为本专利技术提供的访存调度装置实施例三结构示意图;图6为本专利技术提供的访存调度系统实施例结构示意图。具体实施方式本专利技术中,为尽量减少访存调度占用的资源,根据访存模块的实际功能,为各访存模块配置对应的访存窗口,对属于同一访存模块的访存请求集中在该访存模块对应的访存窗口开启时处理,降低了多个访存模块同时进行访存请求,带宽发生冲突的概率,优化了访存压力较大情况下的访存性能和服务质量。图1为本专利技术提供的一种访存调度方法流程示意图。如图1所示,该方法包括:S100,接收与各访存模块对应的各访存窗口信息,所述各访存窗口信息包括各访存窗口的长度,所述各访存窗口的长度代表对应的各访存模块占用访存总线的时长。本实施例访存调度方法是由本专利技术提供的访存调度装置中的仲裁模块执行的。其中,接收的与各访存模块对应的各访存窗口信息可以初始化配置时由中央处理器(CentralProcessingUnit,CPU)通过通信端口发送给该仲裁模块的,也可以是该访存调度装置中自适应模块返回给仲裁模块的各访存窗口信息,本实施例对此不做限定。具体的,在访存调度装置初始化时,由CPU根据待处理的访存模块的访存需求,结合系统可提供的访存总线带宽为各访存模块配置对应的访存窗口,各访存模块在对应的访存窗口长度内可占用访存总线,对内存进行读出或写入操作。其中,访存窗口信息还包括:访存模块标识、访存窗口标识。访存模块标识用来表示不同的访存模块,访存窗口标识用来表示不同的访存窗口,访存模块标识与访存窗口标识间一一对应,举例来说,若某系统中共有10个访存模块,则与各访存模块对应的访存窗口分别可用数字1~10进行标识,或者可以用不同的字母表示不同的访存窗口,或者可以根据对应的各访存模块的特征为各访存窗口进行个性化的标识。访存窗口的长度可以用时间长度标识,也可以利用系统的时钟周期标识,本实施例对此不做限定。访存模块标识、访存窗口标识与访存窗口长度一一对应,不同的访存窗口的访存窗口长度可能相同。S110,根据所述访存窗口信息,确定各访存窗口在调度周期内的启闭时间,并在对应的启闭时间内开启各访存窗口,所述调度周期指所有访存窗口各执行一次访存调度所需的时间。具体地,所述确定各访存窗口在调度周期内的启闭时间,包括:根据所述各访存模块的优先级,确定各访存窗口在调度周期内的启闭时间。各访存模块间有一定的优先级顺序,初始化时,CPU将各访存模块对应的访存窗口信息发给仲裁模块时,可以将各访存模块的优先级顺序同时发给仲裁模块,由仲裁模块依据各访存模块的优先级顺序确定各访存窗口的启闭时间,或者,CPU直接按各访存模块的优先级顺序将对应的各访存窗口信息依次发送给仲裁模块,使仲裁模块根据收到的访存窗口的先后顺序,依次确定各访存窗口在调度周期内的启闭时间。其中,调度周期反映了访存调度的粒度。由于每个访存模块在一个调度周期内的访存请求集中于一个较短的窗口时间内,该访存模块的缓存(片内缓存或内存)大小需要保证其在调度周期内不产生数据饥饿。由于调度周期对所有访存模块都相同,所以调度周期确定时,必须满足缓存忍耐程度最低的访存模块的访存需求。在片上系统(SystemonaChip,简称SoC)设计中,设计者可以对各访存模块的缓存大小进行调整,使其在最坏状况下的忍耐程序接近,这样可以最大程度利用缓存空间。通常,若调度周期以Soc内的时钟周期为单位进行划分,各访存窗口的长度也以时钟周期为单位,对应的,可用与Soc的时钟周期相同周期的第一计数器对各访存窗口的开启时间进行计数,假设某访存窗口的长度为100个时钟周期,则第一计数器对开启的访存窗口的开启时间进行计数,并在第一计数器计数为100时,关闭该访存窗口,本实施例中的第一计数器可以是加法计数器,也可以是减法计数器,本实施例对此不做限定。或者调度周期以时间为单位,则访存窗口的长度也以时间为单位表示。对应的,用计时器对各访存窗口的开启时间进行计时,假设某访存窗口的长度为100s,则计时器对开启的访存窗口的开启时间进行计时,并在计时器计时为100s时,关闭该访存窗口。S120,接收访存模块发送的访存请求,所述访存请求中携带所述访存模块标识。其中,访存模块发送的访存请求,可以是写入请求,也可以是读取请求本文档来自技高网...
访存调度方法、装置和系统

【技术保护点】
一种访存调度方法,其特征在于,包括:接收与各访存模块对应的各访存窗口信息,所述各访存窗口信息包括各访存窗口的长度,所述各访存窗口的长度代表对应的各访存模块占用访存总线的时长;根据所述各访存窗口信息,确定各访存窗口在调度周期内的启闭时间,并在对应的启闭时间内开启所述各访存窗口,所述调度周期指所有访存窗口各执行一次访存调度所需的时间;接收访存模块发送的访存请求,所述访存请求中携带访存模块标识;根据所述访存模块标识,确定与所述访存模块标识对应的访存窗口是否开启;若所述访存模块标识对应的访存窗口已开启,则对所述访存请求进行访存调度。

【技术特征摘要】
1.一种访存调度方法,其特征在于,包括:接收与各访存模块对应的各访存窗口信息,所述各访存窗口信息包括各访存窗口的长度,所述各访存窗口的长度代表对应的各访存模块占用访存总线的时长;根据所述各访存窗口信息中所包括的各访存窗口的长度,确定各访存窗口在调度周期内的启闭时间,并在对应的启闭时间内开启所述各访存窗口,所述调度周期指所有访存窗口各执行一次访存调度所需的时间;接收访存模块发送的访存请求,所述访存请求中携带访存模块标识;根据所述访存模块标识,确定与所述访存模块标识对应的访存窗口是否开启;若所述访存模块标识对应的访存窗口已开启,则对所述访存请求进行访存调度;所述接收与各访存模块对应的各访存窗口信息之前,还包括:接收访存窗口的调整信息;根据所述访存窗口的调整信息调整所述访存窗口,确定所述访存窗口信息;其中,所述接收访存窗口的调整信息,包括:接收数据请求,所述数据请求中携带访存模块标识;所述根据所述访存窗口的调整信息调整所述访存窗口,包括:根据所述访存模块标识,确定与所述访存模块标识对应的访存窗口;查询本地存储的所述访存窗口所在访存总线的信息;确定所述访存总线的空闲时间;根据预设的第一规则从所述访存总线的空闲时间中为所述访存窗口分配占用访存总线的时长。2.根据权利要求1所述的方法,其特征在于,所述确定与所述访存模块标识对应的访存窗口是否开启之后,还包括:若所述访存模块标识对应的访存窗口关闭,则阻塞所述访存请求,直至确定所述访存模块标识对应的访存窗口开启,再对所述访存请求进行访存调度。3.根据权利要求1所述的方法,其特征在于,还包括:接收数据请求,所述数据请求中携带访存模块标识;判断所述数据请求的状态,若所述数据请求为有效状态,则开启与所述访存模块标识对应的访存窗口,且在所述数据请求变为无效状态时,关闭与所述访存模块标识对应的访存窗口。4.根据权利要求1所述的方法,其特征在于,所述访存模块为带宽敏感型访存模块,所述根据所述各访存窗口信息,确定各访存窗口在调度周期内的启闭时间,包括:根据所述访存窗口信息,确定与所述访存模块对应的访存窗口在调度周期内独占的启闭时间;或者,所述访存模块为延迟敏感型访存模块,所述根据所述访存窗口信息,确定各访存窗口在调度周期内的启闭时间,包括:在调度周期内一直开启与所述访存模块对应的访存窗口。5.根据权利要求1~4任一所述的方法,其特征在于,所述确定各访存窗口在调度周期内的启闭时间,包括:根据所述各访存模块的优先级,确定各访存窗口在调度周期内的启闭时间。6.根据权利要求1所述的方法,其特征在于,所述接收访存窗口的调整信息,包括:接收检测出的访存总线上各访存窗口的状态;所述根据所述访存窗口的调整信息调整所述访存窗口,包括:根据所述各访存窗口的状态确定包括空闲时间的访存窗口;根据预设的第二规则缩小所述包括空闲时间的访存窗口的长度。7.一种访存调度装置,其特征在于,包括:第一接收单元,用于接收与各访存模块对应的各访存窗口信息,所述各访...

【专利技术属性】
技术研发人员:刘苏苏孟豪吴龙
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:

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

1