存储器访问的仲裁方法、系统、设备以及存储控制设备的制作方法

文档序号:6610262阅读:167来源:国知局
专利名称:存储器访问的仲裁方法、系统、设备以及存储控制设备的制作方法
技术领域
本发明涉及存储技术,具体涉及存储器访问的仲裁方法、仲裁系统、仲 裁设备以及存储控制设备。
背景技术
在芯片设计中,为了充分利用存储器,通常出现多个存储控制单元需要 访问一个存储器的情况。这时就需要仲裁单元来决定哪个控制单元获得访问 权限。图1为现有的存储器访问仲裁系统的结构示意图,如图l所示,该系
统包括4个存储控制单元110、 1个仲裁单元120和3个存储器130。其中, 4个存储控制单元110可以访问3个存储器130中的任何一个。当多个存储 控制单元110申请访问一个存储器130时,向仲裁单元120发送访问请求, 仲裁单元120根据自身保存的仲裁策略决定能够获得访问权限的存储控制 单元120,并将仲裁结果通知给被请求的存储器130。
目前,仲裁策略种类繁多,常用的仲裁策略包括以下两种
仲裁策略一
该仲裁策略根据优先级决定访问顺序且不支持中断。仲裁单元120在接 收到存储控制单元IIO对存储器发起的访问请求后,根据以下仲裁策略决定 被授予访问权限的存储控制单元
1) 如果被请求的存储器空闲,即没有正在被访问,且当前只有一个存 储控制单元对该存储器提出访问请求,将访问权限授予提出访问请求的存储 控制单元,即响应该访问请求;
2) 如果被请求的存储器空闲,且当前有至少2个存储控制单元对该存 储器提出访问请求,则将访问权限授予提出访问请求的存储控制单元中优先
级最高的存储控制单元;
3)如果被请求的存储器正在被访问,则访问请求不能被响应,等到存 储器空闲后,再根据上述第1)和2)条策略确定被授予访问权限的存储控 制单元。
这种仲裁策略的缺点在于某存储控制单元一旦获得访问权限,其他存 储控制单元只能等到该存储器再次空闲后,才能获得对该存储器的访问权 限。
对于从存储器130读数据的情况,如果存储控制单元IIO等待的时间过 长,与存储控制单元IIO连接的应用侧设备将无法按时获取数据,那么存储 控制单元IIO与应用侧设备之间将出现数据断流。其中,应用侧设备是指需 要从存储器130读取数据和/或需要向存储器130写入数据的设备,例如液 晶显示器(LCD, Liquid Crystal Display)。图2为采用图1示出的存储器 访问仲裁系统为LCD提供显示数据的系统结构示意图。如图2所示,该系 统包括存储控制单元110、仲裁单元120、存储器130以及LCD140。其中, 存储控制单元110与作为应用侧设备的LCD140相连,向LCD140提供显示 数据。存储控制单元110包括控制模块111和先进先出(FIFO, First In First Out)援存模块112,简称FIF0112。控制模块111将请求访问存储器130 的访问请求发送给仲裁单元120。当访问请求:故响应后,在控制才莫块lll的 控制下,通过存储控制单元110与存储器130之间的总线1 (BUSl)将读取 的数据緩存到FIF0112中。在FIF0112中有数据时,LCD140通过总线2 (BUS2)不断从FIF0112中读取数据,并进行显示,当FIF0112中没有数 据时,BUS2上出现数据断流,LCD140读取不到数据,其现象是LCD140 闪烁或图像停滞。通常,BUS1的带宽大于BUS2的带宽,例如,BUS1与 BUS2带宽之比为4:1。那么,在相同时间内,BUS1上传输的数据量是BUS2 的4倍。如果存储控制单元IICM人存储器130中一次读取16个Clk(Clk为 BUS1的时钟周期)的数据并緩存在FIF0112中,那么LCD140需要64个 Clk才能读取完FIF0112中緩存的数据。因此存储控制单元110只能等待64
个Clk, 64个Clk后,FIF0112中的数据被读完,如果此时向存储器130发 起的访问请求还没有得到响应,那么BUS2上产生断流,并造成LCD140的 闪烁或图像停滞。 仲裁策略二
该仲裁策略根据优先级决定访问顺序且支持中断。由于可以中断当前服 务,转向为其他存储控制单元服务,令存储控制单元不必等待太长的时间, 因此能够避免仲裁策略一可能导致的数据断流。具体而言,仲裁单元120在 接收到存储控制单元IIO存储器130发起的访问请求后,根据以下仲裁策略 决定被授予访问权限的存储控制单元
1) 如果被请求的存储器空闲,且当前只有一个存储控制单元对该存储 器提出访问请求,则将访问权限授予提出访问请求的存储控制单元;
2) 如果被请求的存储器空闲,且当前有至少2个存储控制单元对该存 储器提出访问请求,则首先将访问权限授予提出访问请求的存储控制单元中 优先级最高的存储控制单元;然后在以后的服务时间中,多个提出访问请求 的存储控制单元按优先级顺序被轮流服务,每个存储控制单元被服务的时间 由仲裁单元根据预设的服务时间确定。当前被服务的存储控制单元的被服务 时长达到仲裁单元120的服务时间时,仲裁单元将访问权限分配给下一个存 储控制单元110。
例如,设置一种访问场景l,存储控制单元A、 B和C的优先级顺序为 A>B>C,需要传输的数据分别需要20、 15和10个Clk完成,且仲裁单元的 服务时间为10Clk。当A、 B和C同时提出访问请求时,在仲裁策略二下, 各存储控制单元被服务的时间为A ( 10Clk) — B ( 10Clk) — C ( 10Clk) —A ( 10Clk) — B ( 5Clk)。
3) 如果被请求的存储器正在被访问,则等待本次服务时间超时后,再 根据本策略中的第1)和2)条策略确定被授予访问权限的存储控制单元。
仲裁策略二提供了 一种中断原服务的可能,令提出访问请求的存储控制 单元110能够被及时响应,避免了因无法按时获取数据而造成的数据断流。
但是其缺点在于,在没有传输完数据的情况下,原服务会被频繁中断。存储
器的结构多釆用如图3示出的行(ROW)结构,每个ROW都对应一个存储 控制单元。如图3所示,在上述访问场景l中,将存储控制单元A、 B和C 的数据分别保存在ROW1 、 ROW2和ROW3中。在获得存储器的访问权限 进入服务时,需要占用长度为3个Clk的打开时间打开相应的ROW,当退 出服务时,还需要占用长度为3个Clk的关闭时间关闭相应的ROW,那么, 一次服务的切换将占用6个Clk的时间。可见,频繁的中断服务会额外增加 很多退出和进入服务的时间,这些额外增加的时间并非用于存储器的访问, 因此是额外时间开销。可见,额外的时间开销降低了存储器的访问效率。
综上所述,现有的存储器访问仲裁方案不能在避免数据断流的同时,提 高存储器的访问效率。

发明内容
有鉴于此,本发明提供了一种存储器访问的仲裁方法,能够在避免数据 断流的同时,提高存储器的访问效率。 该方法包括
在接收到存储控制单元对存储器的访问请求后,确定提出所述访问请求的 存储控制单元的最迟响应时间;
在所述存储器空闲且提出访问请求的存储控制单元为至少2个时,将访 问权限授予提出访问请求的存储控制单元中最迟响应时间最短者。
较佳地,所述确定提出所述访问请求的存储控制单元的最迟响应时间之 后,进一步包括在所述存储器正在被访问时,确定所述存储器的还需服务 时间,判断所述还需服务时间是否小于或等于提出访问请求的存储控制单元 的最迟响应时间,如果是,则继续该存储器当前的服务;否则,中断该存储 器当前的服务,从提出访问请求的存储控制单元中确定出被授予访问权限的 存储控制单元,并授予访问权限。
其中,所述确定存储器的还需服务时间为确定当前拥有访问权限的存储
控制单元中的待传输剩余数据量,将传输该剩余数据量的时间确定为所述存储 器的还需服务时间。
其中,所述从提出访问请求的存储控制单元中确定出被授予访问权限的存
储控制单元包括判断是否只有1个存储控制单元提出所述访问请求,如杲是, 则将提出访问请求的存储控制单元确定为被授予访问权限的存储控制单元;否
则,将提出访问请求的存储控制单元中最迟响应时间最短者确定为被授予访问 权限的存储控制单元。
较佳地,该方法进一步包括预先为每个存+者控制单元设置用于计算最迟 响应时间的计数器;
所述中断存储器当前服务之后,进一步包括重新确定被中断服务的存储 控制单元的最迟响应时间初始值,将重新确定的最迟响应时间初始值赋值给被 中断服务的存储控制单元对应的计数器,并令4皮赋值计数器递减计数。
较佳地,该方法进一步包括预先为每个存储控制单元设置用于计算最迟 响应时间的计数器;在存储控制单元提出访问请求的同时,确定提出访问请求 的存储控制单元的最迟响应时间初始值,赋值给与提出访问请求的存储控制单 元对应的计数器,并令纟皮赋值的计数器递减计数;
确定提出访问请求的存储控制单元的最迟响应时间为将提出访问请求的 存储控制单元对应的计数器当前的计数值作为存储控制单元的最迟响应时间。
其中,所述为每个存储控制单元设置的用于计算最迟响应时间的计数器设 置于对应的存储控制单元中,或者设置于仲裁单元中。
较佳地,预先为每个存储控制单元设置至少2个最迟响应时间初始值;所 述确定存储控制单元的最迟响应时间初始值为才艮据需确定最迟响应时间的存 储控制单元中的剩余緩存数据量,从预先设置的至少2个最迟响应时间初始值 中选择与当前剩余緩存数据量对应的一个,作为赋值给计数器的最迟响应时间
其中,所述在接收到存储控制单元对存储器的访问请求后,进一步包括 在判定被请求的存储器空闲且只有1个存储控制单元提出所述访问请求时,将
访问权限授予该提出访问请求的存储控制单元。
其中,所述将访问权限授予提出访问请求的存储控制单元中最迟响应时间
最短者为当判定有至少2个访问请求的最迟响应时间为最短,确定响应最迟
响应时间最短的存储控制单元所需的时间,将访问权限授予所需时间最短的存 储控制单元。
较佳地,所述将访问权限授予提出访问请求的存储控制单元中最迟响应
时间最短者之后,进一步包括存储器当前服务结束之后,在判定当前存在 等待响应的存储控制单元时,将访问权限授予等待响应的存储控制单元中最 迟响应时间最短者。
本发明还提供了 一种存储器访问的仲裁方法,在避免数据断流的同时, 能够提高存储器的访问效率。
该方法包括
在接收到对存储器的访问请求后,确定提出访问请求的存储控制单元的最 迟响应时间;
在所述存储器正在被访问时,确定所述存储器的还需服务时间,判断所 述还需服务的时间是否小于或等于提出访问请求的存储控制单元的最迟响 应时间,如果是,则继续该存储器当前的服务;否则,中断该存储器当前的 服务,从提出访问请求的存储控制单元中确定出被授予访问权限的存储控制 单元,并授予访问权限。
本发明还提供了一种存储器访问的仲裁设备,能够在避免数据断流的同 时,提高存储器的访问效率。
该设备包括最迟响应时间确定模块和仲裁模块;其中,
所述最迟响应时间确定模块,用于接收对存储器的访问请求,确定提出所 述访问请求的存储控制单元的最迟响应时间,将所确定的最迟响应时间和所接 收的访问请求发送给仲裁模块;
所述仲裁模块,用于接收所述最迟响应时间和访问请求,在被请求的存 储器空闲且提出访问请求的存储控制单元为至少2个时,将访问权限授予提
出访问请求的存储控制单元中最迟响应时间最短者。
本发明还提供了 一种存储器访问的仲裁设备,能够在避免数据断流的同 时,提高存储器的访问效率。
该设备包括最迟响应时间确定模块和仲裁模块;其中, 所述最迟响应时间确定模块,用于接收对存储器的访问请求,确定提出所
述访问请求的存储控制单元的最迟响应时间,将所确定的最迟响应时间发送给
仲裁模块;
所述仲裁模块,用于接收所述最迟响应时间,所述存储器正在被访问时, 确定所述存储器的还需服务时间,判断所述还需服务时间是否小于或等于提 出访问请求的存储控制单元的最迟响应时间,如果是,则继续该存储器当前 的服务;否则,中断该存储器当前的服务,从提出访问请求的存储控制单元 中确定出被授予访问权限的存储控制单元,并授予访问权限。
本发明还提供了一种存储控制设备,能够在避免数据断流的同时,提高 存储器的访问效率。
该存储控制设备包括控制模块和緩存模块,其中,緩存单元用于緩存待处 理数据;其特征在于,该设备还包括最迟响应时间提供模块;
所述控制模块,用于在向仲裁单元发送访问请求时,通知最迟响应时间提 供模块;
所述最迟响应时间提供模块,用于在接收来自控制模块的通知后,确定 最迟响应时间,将所确定的最迟响应时间发送给仲裁单元。
本发明提供了 一种存储器访问的仲裁系统,能够在避免数据断流的同 时,提高存储器的访问效率。
该系统包括至少2个存储控制单元和仲裁单元;
所述存储控制单元,用于在向仲裁单元发送访问请求时,确定最迟响应时 间,将所确定的最迟响应时间发送给仲裁单元;
所述仲裁单元,接收各存储控制单元发送的访问请求和各存储控制单元 的最迟响应时间,在被请求的存储器空闲且提出访问请求的存储控制单元为
至少2个时,将访问权限授予提出访问请求的存储控制单元中最迟响应时间 最短者。
本发明又提供了 一种存储器访问的仲裁系统,能够在避免数据断流的同 时,提高存储器的访问效率。
该系统包括至少2个存储控制单元和仲裁单元;
所述存储控制单元,用于在向仲裁单元发送访问请求时,确定最迟响应时 间,将所确定的最迟响应时间发送给仲裁单元;
所述仲裁单元,接收各存储控制单元发送的访问请求和各存储控制单元 的最迟响应时间,在被请求的存储器正在被访问时,确定所述存储器的还需 服务时间,判断所述还需服务时间是否小于或等于各存储控制单元的最迟响 应时间,如果是,则继续存储器当前的服务;否则,中断存储器当前的服务, 从提出访问请求的存储控制单元中确定出被授予访问权限的存储控制单元, 并授予访问权限。
根据以上技术方案可见,应用本发明能够在避免数据断流的同时,提高 存储器的访问效率。具体来说,具有如下有益效果
1、 当多个存储控制单元向同一存储器发出访问请求后,根据各存储控 制单元的最迟响应时间决定应该被授予访问权限的存储控制单元。由于最迟 响应时间为存储控制单元在无数据断流的情况下还能够等待的最长时间,因 此,在存储控制单元的最迟响应时间到达之前授予该存储控制单元访问权 限,可以保证该存储控制单元不出现数据断流。同时,由于没有在仲裁单元 中设置服务时间,因此在没有新访问请求的情况下,获得访问权限的存储控 制单元可以将数据传输完,避免了现有的每隔一个服务时间被服务的存储控 制单元被中断而造成的服务被频繁中断的缺陷,因此提高了存储器的访问效
率。 .
2、 该方案允许原服务被中断,但是在中断之前,根据存储器的还需服 务时间以及发起新访问请求的存储控制单元的最迟响应时间确定是否要执 行中断,在新访问请求能够等待一段时间的情况下,不会中断存储器当前的
服务,极大程度的降低了中断频率,减少了服务退出和进入的时间,从而进 一步提高了对存储器的访问效率。
其次,本发明通过设置对应于存储控制单元的计数器,在提出访问请求 或服务被中断时,将计数器赋值为最迟响应时间的初始值,并在被授予访问 权限之前的等待期间,令计数器递减计数。那么,该可以方便的提供存储控 制单元在不出现数据断流的情况下还能够等待的最长时间,使得本方案实现 简单。而且,计数器可以设置在各存储控制单元中,或统一设置在仲裁单元 中,因此提高了提供最迟响应时间的灵活性。
另外,本发明根据存储控制单元中的剩余緩存数据量来确定最迟响应时 间的初始值,提高了所确定最迟响应时间的准确程度,进一步保证了不出现 数据断流的情况。


图1为现有的存储器访问的仲裁系统的结构示意图。
图2为采用图1示出的存储器访问仲裁系统为LCD提供显示数据的系
统结构示意图。
图3为现有存储器的结构示意图。
图4为本发明实施例中存储器访问仲裁方法的流程图。
图5为本发明另一实施例中存储器访问的仲裁方法流程图。
图6为在访问场景1中应用本发明存储器访问仲裁方法的访问过程示意图。
图7为在访问场景2中应用本发明存储器访问仲裁方法的访问过程示意图。
图8为在访问场景3中应用本发明存储器访问仲裁方法的访问过程示意图。
图9为本发明实施例中存储器访问的仲裁系统的结构示意图。 图IO为图9中仲裁单元920的结构示意图。
图11为图9中仲裁单元920的另一种结构示意图。 图12为图9中存储控制单元910的结构示意图。
具体实施例方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明为一种存储器访问仲裁方案,其基本思想为在接收到对存储器 的访问请求后,确定提出该访问请求的存储控制单元的最迟响应时间,在被 请求的存储器空闲且提出访问请求的存储控制单元为至少2个时,将访问权 限授予提出访问请求的存储控制单元中最迟响应时间最短者。采用本发明能 够在避免数据断流的情况下,提高存储器的访问效率。
此外,如果仲裁单元判定存储器正在被访问,则确定所述存储器的还需 服务时间,判断该还需服务时间是否小于或等于提出访问请求的各存储控制 单元的最迟响应时间,如果是,则继续当前服务;否则,中断当前服务,将 访问权限授予提出访问请求的存储控制单元中的一个。可见,本发明存储器 访问仲裁方案提供了中断服务的可能,但在中断之前根据还需服务时间以及 提出新访问请求的存储控制单元的最迟响应时间确定是否要执行中断,在新 访问请求能够等待一段时间的情况下,不会中断存储器当前的服务,极大程 度的降低了中断频率,减少了服务退出和进入的时间,从而进一步提高了对 存储器的访问效率。
图4为本发明实施例中存储器访问仲裁方法的流程图,如图4所示,该 方法包括以下步骤
步骤401:仲裁单元在接收到对存储器的访问请求后,确定提出所述访 问请求的存储控制单元的最迟响应时间。
步骤402:判断被请求的存储器是否正在被访问,如果是,则执行步骤 403;否则执行步骤407。
步骤403:确定被请求的存储器的还需服务时间。
步骤404:判断所确定的还需服务时间是否小于或等于提出访问请求的
存储控制单元的最迟响应时间,如果是,则执行步骤406;否则,执行步骤 405。
步骤405:中断存储器当前的服务,从提出访问请求的存储控制单元中 确定出被授予访问权限的存储控制单元,并授予访问权限,本流程结束。
本步骤中,如果只有一个存储控制单元提出访问请求,那么将访问权限 授予提出访问请求的存储控制单元;如果有至少2个存储控制单元同时提出 了访问请求,那么确定这些存储控制单元中最迟响应时间最小的一个,并授 予访问权限。
步骤406:继续存储器当前的服务,本流程结束。
步骤407:将访问权限授予提出访问请求的存储控制单元中最迟响应时 间最短的一个。
本步骤中,如果只有一个存储控制单元提出访问请求,那么直接将访问 权限授予该存储控制单元即可。
以上流程中,最迟响应时间是指提出访问请求的存储控制单元在无数据 断流的情况下还能够等待的最长时间,该最长时间与存储控制单元和存储器 之间总线BUS 1的带宽以及存储控制单元和其所连接的应用侧设备之间的总 线BUS2的带宽有关,还与存储控制单元中FIFO的剩余緩存数据量有关。 如图2所示的典型应用,假设BUS1的带宽与BUS2的带宽之比为8:1,那 么存储控制单元110在16个Clk内从存储器130中读取的数据可以供 LCD140使用128个Clk,那么,存储控制单元110即使每隔64个Clk读取 一次,也不会造成数据断流。因此,可以设置64Clk作为该存储控制单元110 的最迟响应时间。但是,如果在发送访问请求时,存储控制FIF0112中的数 据量已经不够供LCD140使用64个Clk,那么为了准确的计算出最迟响应时 间,可以根据FIF0112中的剩余数据量来调整当前最迟响应时间。例如,此 时FIF0112中的剩余緩存数据量为32个字(WORD),对于BUS1来说, 每个字的传输时间为1个Clk,那么对于BUS2来说每个字的传输时间为8 个Clk。那么,FIFOl 12中的32个字可以供LCD140读取32 x 8 = 256个Clk,
则将最迟响应时间设为256Clk。为了确保在从存储器荻取数据的时间内不发 生断流,给存储控制单元留出一段从存储器读取数据的时间,可以适当减少 最迟响应时间,例如对于8:1的带宽之比,选择32x (8-1) ^224Clk作 为最迟响应时间。当然,也可以根据实际情况或其他需要采用预先设置其他 数值作为最迟响应时间,只要保证在该最迟响应时间到达之前,应用侧设备 不会产生数据断流即可。
本流程结束后,如果当前服务结束,且判定还存在正在等待响应的存储 控制单元,那么将访问权限授予等待响应的存储控制单元中最迟响应时间最 短的存储控制单元。
根据上述流程,采用图4的仲裁方法,当存储控制单元向同一存储器发 出访问请求后,根据各存储控制单元的最迟响应时间决定应该被授予访问权 限的存储控制单元。由于最迟响应时间为存储控制单元在无数据断流的情况 下还能够等待的最长时间,因此,在存储控制单元的最迟响应时间到达之前 授予该存储控制单元访问权限,可以保证该存储控制单元不出现数据断流。 同时,该方案允许原服务被中断,但是在中断之前,根据还需服务时间以及 发起新访问请求的存储控制单元的最迟响应时间确定是否要执行中断,在新 访问请求能够等待一段时间的情况下,不会中断存储器当前的服务,极大程 度的降低了中断频率,减少了服务退出和进入的时间,从而提高了对存储器 的i方问j丈率。
图5为本发明另 一实施例中存储器访问仲裁方法的流程图。如图5所示, 该方法包括以下步骤
步骤500:仲裁单元接收存储控制单元发起访问请求。 步骤501:确定提出访问请求的各存储控制单元的最迟响应时间。 本步骤中,最迟响应时间可以由存储控制单元提供。各存储控制单元在 发起访问请求时,确定最迟响应时间并提供给仲裁单元。在发起访问请求时 提供的最迟响应时间并不是固定不变的,如果访问请求在一段时间内没有被 响应,那么最迟响应时间也随时间减少。为了保i正最迟响应时间的准确性,
在提出的访问请求没有被响应的等待期间,存储控制单元按等待时间递减最 迟响应时间,并实时提供给仲裁单元。因此,在发起访问请求时确定的最迟 响应时间为最迟响应时间的初始值。
实际中,也可以由仲裁单元提供各存储控制单元的最迟响应时间。在存 储控制单元提出访问请求后,仲裁单元从自身获取提出访问请求的存储控制 单元的最迟响应时间的初始值,并在该存储控制单元提出的访问请求没有被 响应的等待期间,按等待时间递减最迟响应时间。
步骤502:仲裁单元判断被请求的存储器是否正在被访问,如果是,则 执行步骤503,否则,执行步骤510。
步骤503:确定该存储器的还需服务时间。
本步骤中,首先确定当前获得访问权限的存储控制单元中的待传输剩余 数据量,将传输该剩余数据量的时间确定为所述存储器的还需服务时间。例 如,存储器当前服务的对象是存储控制单元N,该存储控制单元N还有16 个Clk的数据还未传输,那么该存储器的还需服务时间为16Clk。
步骤504:判断步骤503确定的还需服务时间是否小于或等于各存储控 制单元的最迟响应时间;如果是,则执行步骤511;否则,执行步骤505。
步骤505:中断存储器当前服务,从提出访问请求的存储控制单元中确 定出被授予访问权限的存储控制单元,并授予访问权限,然后开始当前服务。
本步骤中,从提出访问请求的存储控制单元中确定出被授予访问权限的 存储控制单元的步骤具体为判断当前提出访问请求的存储控制单元是否为 一个,如果是,则直接将该存储控制单元确定为被授予访问权限的存储控制 单元;否则,将当前提出访问请求的存储控制单元中最迟响应时间最小的一 个确定为被授予访问权限的存储控制单元。
本步骤中,如果有至少两个最迟响应时间相同且均为最小的存储控制单 元,那么确定最迟响应时间为最小的各存储控制单元所需服务时间,并将访 问权限授予所需服务时间最小的存储控制单元。这里,所需服务时间是根据 存储控制单元所需处理的待传输数据量而定。待传输数据量小,则所需服务
时间少;反之,所需服务时间多。
对于被中断的服务,将其访问请求转入等待响应的状态。此时,重新确 定该存储控制单元的最迟响应时间,并在后续等待响应期间按时间递减该最
迟响应时间。本步骤中最迟响应时间的确定方式与步骤501相同。在由存储
控制单元提供最迟响应时间的情况下,中断存储器当前服务后,仲裁单元将 中断事件通知给被中断服务的存储控制单元,并接收被中断服务的存储控制 单元重新确定的最迟响应时间。
步骤506:递減等待响应的各存储控制单元的最迟响应时间。
步骤507:判断当前服务是否结束;如果是,则执行步骤508;否则, 继续当前服务,并执行步骤506。
步骤508:在仍存在等待响应的存储控制单元的情况下,将访问权限授 予等待响应的各存储控制单元中最迟响应时间最小的一个,返回步骤506。 如果不存在等待响应的存储控制单元,那么结束本流程,存储器空闲。
步骤510:根据步骤501所确定的最迟响应时间,从提出访问请求的存 储控制单元中确定出被授予访问权限的存储控制单元,授予访问权限,并开 始服务,执行步骤506。
本步骤510中,首先判断是否只有一个存储控制单元提出访问请求,如 果是,则将访问权限授予该存储控制单元,否则,将访问权限授予提出访问 请求的最迟响应时间最小的存储控制单元。如果有至少两个最迟响应时间相 同且均为最小的存储控制单元,与前述步骤505相同,将访问权限授予具有 最小最迟响应时间的存储控制单元中所需服务时间最小的 一个。
步骤511:继续当前服务,并执行步骤506。
至此,本流程结束。
在实际中,也可以在步骤501之前就判断是否只有一个存储控制单元提 出访问请求并且被请求的存储器为空闲,如果判断为是,则直接将访问权限 授予该访问控制单元,然后转向执行步骤507;否则,执行步骤501。
在以上两个实施例中,各存储控制单元的最迟响应时间都可以由存储控
制单元或仲裁单元提供。采用存储控制单元提供最迟响应时间的方式实现比 较简单,只需要在每个存储控制单元中设置一个用于计算最迟响应时间的递 减计数器,并将递减计数器的值实时发送给仲裁单元即可,减轻了仲裁单元 的负担。在这种方式下,当存储控制单元提出新的访问请求时,将该存储控 制单元中的递减计数器赋值为最迟响应时间的初始值并随访问请求发送给 仲裁单元。在等待被响应期间,存储控制单元令递减计数器递减计数同时实 时的发送给仲裁单元。等待时间越长,递减计数器的值越小,表明最迟响应 时间越短。当某个存储控制单元的服务被中断,被中断服务的存储控制单元 也会重新确定最迟响应时间的初始值,然后赋值给递减计数器,并开始向仲 裁单元提供递减计数器的值。在等待响应期间,令递减计数器递减计数。当 访问请求被响应后,存储控制单元停止计数器的计数并停止发送计数器的 值。
最迟响应时间的初始值是预先设置并保存在存储控制单元中的,在确定 最迟响应时间的初始值时可以直接使用预先设置好的数值。存储控制单元能 够等待的最长时间还与存储控制单元中的剩余緩存有关,剩余緩存越少,最
迟响应时间越短。例如,最迟响应时间的初始值是64Clk , FIFO中可以緩存 64个Clk的数据,如果FIFO已满,那么可以等待64Clk,如果FIFO半满, 当等待32Clk之后就会出现数据断流。那么,在确定最迟响应时间的初始值 时,还需要根据FIFO中的剩余緩存数据量确定最迟响应时间的初始值。在 这种情况下,可以针对FIFO中剩余緩存数据量的不同,预先设置多个最迟 响应时间的初始值,在需要确定最迟响应时间的初始值时,乂人多个初始值中 选择与当前剩余緩存数据量对应的一个,作为最迟响应时间的初始值,并赋
值给递减计数器。其中,剩余緩存数据量可以采用剩余緩存数据量占总緩存 数据量的比例表示。
下面举一个存储控制单元确定最迟响应时间的实例。设最迟响应时间为 do,剩余緩存数据量长度为Fifo.denth, Fifo.denth采用剩余緩存数据量占緩 存总数据量的比例表示,当FIFO为全满时dc = 60Clk。
当存储控制单元发起一个新的访问请求时,需要确定do,如果
Fifo.denth>0.75,则d0 = 60Clk;如果0.5^Fifo.denth>0.75,则d。 = 40Clk;如 果0.25^Fifo.denth>0.5,则d0 = 20Clk;如果0.25^Fifo.denth〉0,则d0-0Clk。 当存储控制单元等待被响应期间,令d(^d()-l。
当存储控制单元已经获得的服务被中断,重新根据Fifo.denth以及上述 策略重新确定do,并在等待被响应期间,令do-d。-l。
存储控制单元会实时的将其确定的d。发送给仲裁单元。
以上所描述的是存储控制单元确定最迟响应时间并提供给仲裁单元的 方式。在采用仲裁单元提供最迟响应时间时,需要预先在仲裁单元中保存每 个存储控制单元的最迟响应时间初始值,并为每个存储控制单元设置一个递 减计数器。这种方式下,当仲裁单元接收到某个存储控制单元提出的访问请 求时,由仲裁单元从自身获取预设的该存储控制单元的最迟响应时间初始值 并赋值给对应的递减计数器,并在该存储控制单元被授予访问权限之前,令 递减计数器递减计数。当某个存储控制单元的服务被中断,此时仲裁单元也 会重新确定被中断服务的存储控制单元的最迟响应时间的初始值,为递减计 数器赋值,并在等待响应期间内令递减计数器递减计数。当访问请求被响应 后,仲裁单元停止被响应的存储控制单元中递减计数器计数。
该仲裁单元确定最迟响应时间初始值的方式与前述存储控制单元确定 最迟响应时间初始值的方式相同。如果在确定最迟响应时间时考虑到存储控 制单元的FIFO剩余緩存数据量,那么还需要从相应的存储控制单元中获取 其FIFO的剩余援存数据量。
这种仲裁单元提供最迟响应时间的方式,不用修改现有的存储控制单 元,因此可以利用现有的存储控制单元实现本发明的存储器访问仲裁方案。
基于以上两个实施例所描述的技术方案,以下举多个实例来说明使用本 发明存储器访问仲裁方法的效果。
首先仍以背景技术中的访问场景1为例,对采用本发明的存储器访问仲 裁方法进行说明。在访问场景1中,存储控制单元A、 B和C需要传输的数
据分别需要20、 15和10个Clk完成,存储控制单元A、 B和C的最迟响应 时间分别为d0A = 60Clk、 d0B = 50Clk和doc = 20Clk。图6为在访问场景1中 应用本发明存储器访问仲裁方法的访问过程示意图。如图6所示,当A、 B 和C同时提出访问请求时,采用本发明的仲裁方案,首先将访问权限授予最 迟响应时间最短的存储控制单元C,并开始服务。在服务C的时间段内,存 储控制单元A和B等待响应,其各自的最迟响应时间随等待时间的增加而 减少。当存储控制单元C的10个Clk的数据传输完成后,doA-60- 10 = 50Clk、 d0B = 50- 10 = 40Clk;此时,将访问权限授予最迟响应时间较短的存 储控制单元B,并开始服务。在服务B的时间段内,存储控制单元A等待 响应,其各自的最迟响应时间随等待时间的增加而减少。当存储控制单元B 的15个Clk的数据传输完成后,doA = 50 - 15 = 35Clk,此时将访问权限授予 存储控制单元A,并开始服务,直到数据传输完毕。可见,在场景l中,各 存储控制单元被服务的时间为C (10Clk) — B (15Clk) — A (20Clk), 没有出现数据断流且服务没有被中断。在相同访问场景下,如果采用背景技 术中的仲裁策略二,各存储控制单元被服务的时间为A( 10Clk) —B( 10Clk) —C(10Clk) —A(10Clk) —B(5Clk)。可见,采用本发明实施例的存储 器访问仲裁方法,能够有效地减少服务被中断的次数,从而提高了存储器的 访问效率。如果采用背景技术中的仲裁策略一,在A的优先级为最高的情 况下,会先服务A,那么当A退出服务时开始服务B,此时C已经发生了 数据断流。可见,采用本发明实施例的存储器访问仲裁方法,由于各访问请 求被响应的时刻都没有超过最迟响应时间,因此不会造成应用侧设备的数据 断流。
下面以访问场景2为例,对采用本发明的存储器访问仲裁方法进行说 明。假设,在访问场景2中,存储控制单元A、 B和C需要传输的数据分别 需要20、 15和10个Clk完成,存储控制单元A、 B和C的最迟响应时间分 别为d。A = 60Clk、 d。B = 50Clk和doc = 20Clk。图7为在访问场景2中应用本 发明存储器访问仲裁方法的访问过程示意图。如图7所示,当A和B同时
向空闲的存储器提出访问请求时,将访问权限授予最迟响应时间较小的存储
控制单元B,并开始服务。10个Clk后,存储控制单元C提出访问请求, 此时,d。A= 60- 10= 50Clk, dQC = 20Clk,存储器还需服务存储控制单元B 的时间为5Clk,那么根据本发明的仲裁方法,继续当前服务,存储控制单元 A和C等待。当存储控制单元B的剩余5个Clk的数据传输完成后,d0A = 50- 5 = 45Clk, d0C = 20-5-15Clk;此时,将访问权限授予最迟响应时间较 短的存储控制单元C,并开始服务。在服务C的时间段内,存储控制单元A 等待响应,其最迟响应时间随等待时间的增加而减少。当存储控制单元C 的10个Clk的数据传输完成后,doA = 45 - 10 = 35Clk,此时将访问权限授予 存储控制单元A,并开始服务,直到数据传输完毕。可见,在访问场景2中, 各存储控制单元被服务的时间为B ( 15Clk) — C ( 10Clk) — A (20Clk), 没有出现数据断流且服务没有被中断。在相同访问场景下,如果采用背景技 术中的仲裁策略二,各存储控制单元被服务的时间为B( 10Clk) —A( 10Clk) —B(5Clk) —C(10Clk) — A(10Clk) , A和B的服务都被中断。可见采 用本发明实施例的存储器访问仲裁方法,能够有效地减少服务被中断的次 数,从而提高了存储器的访问效率。如果采用背景技术中的仲裁策略一,在 A的优先级为最高的情况下,各存储控制单元被服务的时间为B(15Clk) —A(20Clk) —C(10Clk) , C会发生数据断流。可见,采用本发明实施例 的存储器访问仲裁方法,由于各访问请求被响应的时刻都没有超过最迟响应 时间,因此不会造成应用側设备的数据断流。
下面以访问场景3为例,对采用本发明的存储器访问仲裁方法进行说 明。假设,在访问场景3中,存储控制单元A、 B和C需要传输的数据分别 需要35、 15和10个Clk完成,存储控制单元A、 B和C的最迟响应时间分 别为d。A = 60Clk、 d。B = 50Clk和doc = 20Clk。图8为在访问场景3中应用本 发明存储器访问仲裁方法的访问过程示意图。如图8所示,当A向空闲的 存储器提出访问请求时,获得访问权限并开始传输数据。10个Clk后,存储 控制单元B和C同时提出访问请求,且d0B = 50Clk, doc = 20Clk,存储器还
需服务存储控制单元A的时间为35 - 10 = 25Clk,那么根据本发明的仲裁方 法,中断当前服务,授予存储控制单元C访问权限并开始服务。在服务C 的时间段内,存储控制单元A和B等待响应,存储控制单元A的最迟响应 时间从重新确定的初始值开始并随等待时间的增加而减少,例如根据前述最 迟响应时间的初始值确定方法确定出doA= 60Clk,则/人60开始递减,存储 控制单元B的最迟响应时间从doB- 50Clk开始并随等待时间的增加而减少。 当存储控制单元C的10个Clk的数据传输完成后,d。A = 60 - 10 = 50Clk, d0B = 50 - 10 = 40Clk,则将访问权限授予最迟响应时间较短的存储控制单元 B,并开始服务。在服务B的时间段内,存储控制单元A等待响应,其最迟 响应时间从d0A=50开始随等待时间的增加而减少。当存储控制单元B的 15个Clk的数据传输完成后,doA= 50- 15 = 35Clk,此时将访问4又限授予存 储控制单元A,并开始服务,直到数据传输完毕。可见,在访问场景3中, 各存储控制单元被服务的时间为A(10Clk) —C(10Clk) —B(15Clk) —A(25Clk)。在相同访问场景下,如果采用背景技术中的仲裁策略二,各 存储控制单元被服务的时间为A ( lOClk) —B ( lOClk) —C ( lOClk) —A (lOClk) — B(5Clk) — A(15Clk) , A的服务被中断2次,B的服务被中 断1次。可见,采用本发明实施例的存储器访问仲裁方法,虽然A的服务 被中断了一次,但相较于采用现有技术服务被频繁中断的情况来说,釆用本 发明方案依然能够有效的减少服务被中断的次数,从而提高存储器被访问的 效率。如果采用背景技术中的仲裁策略一,在A的优先级为最高的情况下, 各存储控制单元被服务的时间为A (35Clk) — B ( 15Clk) — C ( 10Clk), C会发生数据断流。可见,采用本发明实施例的存储器访问仲裁方法,由于 各访问请求被响应的时刻都没有超过最迟响应时间,因此不会造成应用侧设 备的数据断流。
从以上3个实例可见,本发明的存储器访问仲裁方法确实能够在避免数 据断流的同时,有效的提高存储器的访问效率。
为实现本发明的存储器访问仲裁方法,本发明还提供了 一种存储器访问
仲裁系统。图9为本发明实施例中存储器访问仲裁系统的结构示意图。如图
9所示,该系统包括仲裁单元920和至少2个存储控制单元910;其中,
各存储控制单元910,将请求访问存储器的访问请求发送给仲裁单元
920。
仲裁单元920,接收来自各存储控制单元910的访问请求,确定发起访 问请求的存储控制单元910的最迟响应时间,在被请求的存储器空闲且提出 访问请求的存储控制单元为至少2个时,将访问权限授予提出访问请求的存 储控制单元910中最迟响应时间最短的存储控制单元910。如果被请求的存 储器正在被访问,确定该存储器的还需服务时间,判断所确定的还需服务时 间是否小于或等于提出访问请求的各存储控制单元910的最迟响应时间,如 果是,则继续存储器当前的服务;否则,中断存储器当前的服务,从提出访 问请求的存储控制单元910中确定出被授予访问权限的存储控制单元,并授 权访问权限。
该仲裁单元920可以从自身获取预设的各存储控制单元910的最迟响应 时间;也可以根据从各存储控制单元910获取其提供的最迟响应时间。采用 后者方式,各存储控制单元910需要在发起的访问请求的同时向仲裁单元 920发送其最迟响应时间,并在访问请求被响应之前持续发送。
图10为图9中仲裁单元920的结构示意图。如图IO所示,该仲裁单元 920包括最迟响应时间确定模块921、仲裁模块922和执行模块923。其中,
最迟响应时间确定模块921,用于接收来自各存储控制单元910的对存 储器的访问请求,确定提出访问请求的各存储控制单元910的最迟响应时 间,将所确定的最迟响应时间发送给仲裁模块922。
该最迟响应时间确定模块921具体包括接收子模块9211和确定子模块 9212。其中,接收子模块9211用于接收来自各存储控制单元910访问请求 以及各存储控制控制单元910提供的最迟响应时间,将接收的最迟响应时间 发送给确定子模块9212;确定子模块9212将接收到的最迟响应时间确定为 存储控制单元的最迟响应时间。
仲裁模块922,用于接收来自确定子模块9212的最迟响应时间,根据 提出访问请求的存储控制单元的最迟响应时间,判断授予哪个存储控制单元 访问权限,并将仲裁结果发送给执行模块923。该仲裁模块922具体包括判 断子模块9221和授权子模块9222。其中,判断子模块9221判断被请求的 存储器是否空闲,如果判定被请求的存储器正在被访问,还需要进一步确定 当前提出访问的存储控制单元的个数,将判断结果发送给授权子模块9222。
授权子模块9222根据所接收的判断结果进行相应的授权操作。具体而 言,当判断结果指示被请求的存储器空闲且当前提出访问请求的存储控制单 元910的个数为l个时,将访问权限授予该提出访问的存储控制单元910; 当判断结果指示被请求的存储器空闲且当前提出访问的存储控制单元910 的个数为至少2个时,将访问权限授予提出访问请求的存储控制单元910中 最迟响应时间最短者;当判断结果指示被请求的存储器正在被访问时,确定 被请求的存储器的还需服务时间,判断该还需服务时间是否小于或等于各存 储控制单元910的最迟响应时间,如果是,则继续存储器当前的服务;否则, 中断存储器当前的服务,从提出访问请求的存储控制单元中确定出被授予访 问权限的存储控制单元910,并授予访问权限。该授权子模块9222还将以 上仲裁结果发送给执行模块923。
执行模块923,用于根据接收到的仲裁结果执行相应操作。具体而言, 当某个存储控制单元910被授予访问权限时,该执行模块923将被授予权限 的存储控制单元910通知给相应的存储器;当当前服务被中断并将访问权限 授予某个存储控制单元910时,该执行模块923将中断事件通知给被中断服 务的存储控制单元910,那么,被中断服务的存储控制单元910可以根据中 断事件通知,重新确定最迟响应时间,并提供给仲裁单元920中的最迟响应 时间确定模块921。
如前所述,仲裁单元920还可以从自身获取预设的最迟响应时间的初始 值。在这种方式下,采用图11示出的仲裁单元920的结构示意图。如图11 所示,该仲裁单元920仍然包括最迟响应时间确定才莫块921、仲裁模块922
和执行模块923。与图0示出的仲裁单元不同之处在于,图ll示出的仲裁 单元920中的最迟响应时间确定模块921包括存储子模块1101和确定子模 块1102。其中,存储子模块1101用于保存各存储控制单元的最迟响应时间 初始值;确定子模块1102用于接收各存储控制单元提供的访问请求,从存 储子模块iioi中获取提出访问请求的存储控制单元的最迟响应时间初始 值,并将确定的最迟响应时间初始值提供给仲裁模块922。在提出访问请求 的存储控制单元等待响应期间,将该存储控制单元的最迟响应时间从其初始 值开始递减,并实时提供给仲裁模块922。
在这种情况下,仲裁模块922与图10中仲裁模块922的功能和组成相 同。执行模块923与图10中执行模块923的功能相似,不同之处在于,当 接收的仲裁结果指示中断存储器当前的服务时,将中断事件通知给确定子模 块1102,使得确定子模块1102重新确定最迟响应时间的初始值,并在被中 断服务的存储控制单元等待响应期间,从初始值开始递减。
当最迟响应时间由仲裁单元920提供时,图9中的存储控制单元910可 以采用现有的设备。当最迟响应时间由存储控制单元910提供时,需要采用 本发明提出的存储控制单元。以下对本发明提出的存储控制单元进行详细描 述。
图12为图9中存储控制单元910的结构示意图。如图12所示,该存储 控制单元910包括控制模块911和緩存模块912,还包括最迟响应时间提供 模块913。其中,
控制模块911,用于在向仲裁单元920发送访问请求的同时,将发起访 问请求事件通知给最迟响应时间提供模块913。在接收到仲裁单元920发送 的中断事件后,将中断事件通知给最迟响应时间提供模块913。
緩存模块912用于緩存数据。
最迟响应时间提供模块913,在控制模块911的通知下,确定最迟响应 时间,并发送给仲裁单元920。
最迟响应时间提供模块913具体包括设置子模块9131和递减计数器
9132。
设置子模块9131在接收到来自控制模块911的发起访问请求的通知后, 从所述緩存模块912中获取剩余緩存数据量,根据所获取的剩余緩存it据量 从预先设置的至少2个最迟响应时间初始值中选择与当前剩余緩存数据量 对应的一个,将所选择的初始值赋值给递减计凄t器9132,并启动该递减计 数器9132。在访问请求被响应之前,不断将递减计数器9132的值发送给仲 裁单元920。在接收到来自控制模块911的中断事件通知后,重新确定最迟 响应时间的初始值,并赋值给递减计数器9132,然后启动该递减计数器 9132,在访问请求被再次响应之前,不断将递减计数器9132的值发送给仲 裁单元920。
由以上所述可以看出,本发明所提供的存储器访问仲裁方案,能够在不 造成数据断流的情况下,提高存储器的访问效率。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改 进等,均应包含在本发明的保护范围之内。
权利要求
1、一种存储器访问仲裁方法,其特征在于,该方法包括在接收到存储控制单元对存储器的访问请求后,确定提出所述访问请求的存储控制单元的最迟响应时间;在所述存储器空闲且提出访问请求的存储控制单元为至少2个时,将访问权限授予提出访问请求的存储控制单元中最迟响应时间最短者。
2、 如权利要求l所述的方法,其特征在于,所述确定提出所述访问请求的 存储控制单元的最迟响应时间之后,进一步包括在所述存储器正在被访问时, 确定所述存储器的还需服务时间,判断所述还需服务时间是否小于或等于提出 访问请求的存储控制单元的最迟响应时间,如果是,则继续该存储器当前的服 务;否则,中断该存储器当前的服务,从提出访问请求的存储控制单元中确定 出被授予访问权限的存储控制单元,并授予访问权限。
3、 如权利要求2所述的方法,其特征在于,所述确定存储器的还需服务时 间为确定当前拥有访问权限的存储控制单元中的待传输剩余数据量,将传输 该剩余数据量的时间确定为所述存储器的还需服务时间。
4、 如权利要求2所述的方法,其特征在于,所述从提出访问请求的存储控 制单元中确定出被授予访问权限的存储控制单元包括判断是否只有一个存储 控制单元提出所述访问请求,如果是,则将提出访问请求的存储控制单元确定 为被授予访问权限的存储控制单元;否则,将提出访问请求的存储控制单元中 最迟响应时间最短者确定为被授予访问权限的存储控制单元。
5、 如权利要求2所述的方法,其特征在于,该方法进一步包括预先为每 个存储控制单元设置用于计算最迟响应时间的计数器;所述中断存储器当前服务之后,进一步包括重新确定被中断服务的存储 控制单元的最迟响应时间初始值,将重新确定的最迟响应时间初始值赋值给祐: 中断服务的存储控制单元对应的计数器,并令被赋值计数器递减计数。
6、 如权利要求l所述的方法,其特征在于,该方法进一步包括预先为每 个存储控制单元设置用于计算最迟响应时间的计数器;在存储控制单元提出访问请求的同时,确定提出访问请求的存储控制单元的最迟响应时间初始值,赋 值给与提出访问请求的存储控制单元对应的计数器,并令被赋值的计数器递减计数;确定提出访问请求的存储控制单元的最迟响应时间为将提出访问请求的 存储控制单元对应的计数器当前的计数值作为存储控制单元的最迟响应时间。
7、 如权利要求5或6所述的方法,其特征在于,所述为每个存储控制单元 设置的用于计算最迟响应时间的计数器设置于对应的存储控制单元中,或者设 置于仲裁单元中。
8、 如权利要求5或6所述的方法,其特征在于,预先为每个存储控制单元 设置至少2个最迟响应时间初始值;所述确定存储控制单元的最迟响应时间初 始值为根据需确定最迟响应时间的存储控制单元中的剩余緩存数据量,从预 先设置的至少2个最迟响应时间初始值中选择与当前剩余緩存数据量对应的一 个,作为赋值给计数器的最迟响应时间初始值。
9、 如权利要求l所述的方法,其特征在于,所述在接收到存储控制单元对 存储器的访问请求后,进一步包括在判定被请求的存储器空闲且只有1个存 储控制单元提出所述访问请求时,将访问权PMt予该提出访问请求的存储控制 单元。
10、 如权利要求1所述的方法,其特征在于,所述将访问权限授予提出访 问请求的存储控制单元中最迟响应时间最短者为当判定有至少2个访问请求 的最迟响应时间为最短,确定响应最迟响应时间最短的存储控制单元所需的时 间,将访问权限授予所需时间最短的存储控制单元。
11、 如权利要求1所述的方法,其特征在于,所述将访问权限授予提出访 问请求的存储控制单元中最迟响应时间最短者之后,进一步包括存储器当前 服务结束之后,在判定当前存在等待响应的存储控制单元时,将访问权限授予 等待响应的存储控制单元中最迟响应时间最短者。
12、 一种存储器访问仲裁方法,其特征在于,该方法包括 在接收到对存储器的访问请求后,确定提出访问请求的存储控制单元的最迟响应时间;在所述存储器正在被访问时,确定所述存储器的还需服务时间,判断所述 还需服务的时间是否小于或等于提出访问请求的存储控制单元的最迟响应时 间,如果是,则继续该存储器当前的服务;否则,中断该存储器当前的服务, 从提出访问请求的存储控制单元中确定出被授予访问权限的存储控制单元,并 授予访问权限。
13、 如权利要求12所述的方法,其特征在于,所述从提出访问请求的存储 控制单元中确定出被授予访问权限的存储控制单元包括判断是否只有1个存 储控制单元提出所述访问请求,如果是,则将提出访问请求的存储控制单元确 定为被授予访问权限的存储控制单元;否则,将提出访问请求的存储控制单元 中最迟响应时间最短者确定为被授予访问权限的存储控制单元。
14、 如权利要求12所述的方法,其特征在于,所述确定提出访问请求的存 储控制单元的最迟响应时间之后,进一步包括在所述存储器空闲且至少有2 个存储控制单元提出访问请求时,将访问权限授予提出访问请求的最迟响应时 间最短的存储控制单元。
15、 一种存储器访问仲裁设备,其特征在于,该设备包括最迟响应时间 确定模块和仲裁模块;其中,所述最迟响应时间确定模块,用于接收对存储器的访问请求,确定提出所 述访问请求的存储控制单元的最迟响应时间,将所确定的最迟响应时间和所接 收的访问请求发送给仲裁模块;所述仲裁模块,用于接收所述最迟响应时间和访问请求,在被请求的存储 器空闲且提出访问请求的存储控制单元为至少2个时,将访问权限授予提出访 问请求的存储控制单元中最迟响应时间最短者。
16、 如权利要求15所述的设备,其特征在于,所述仲裁模块包括判断子模 块和授权子模块;所述判断子模块,用于接收所述最迟响应时间和访问请求,判断被请求的 存储器是否空闲,确定当前提出访问请求的存储控制单元的个数,将空闲与否以及所确定的个数作为判断结果发送给授权子模块;所述授权子模块,用于在所接收的判断结果指示被请求的存储器空闲且当 前提出访问请求的存储控制单元的个数为1个时,将访问权限授予该提出访问 的存储控制单元;在所述判断结果指示被请求的存储器空闲且当前提出访问的 存储控制单元的个数为至少2个时,将所述访问权限授予提出访问请求的存储 控制单元中最迟响应时间最短者;在所述判断结果指示被请求的存储器正在被 访问时,确定所述存储器的还需服务时间,判断所述还需服务时间是否小于或 等于各存储控制单元的最迟响应时间,如果是,则继续该存储器当前的服务, 否则,中断该存储器当前的服务,从提出访问请求的存储控制单元中确定出被 授予访问权限的存储控制单元,并授予访问权限。
17、 如权利要求15所述的设备,其特征在于,所述最迟响应时间确定模块 包括接收子模块和确定子模块;所述接收子模块,用于接收来自存储控制单元的最迟响应时间,并发送给 所述确定子模块;确定子模块,用于将接收自接收子模块的最迟响应时间确定为所述存储控 制单元的最迟响应时间。
18、 如权利要求17所述的设备,其特征在于,该设备进一步包括执行模块, 用于接收仲裁模块发送的仲裁结果,当所述仲裁结果指示中断存储器当前的服 务时,将中断事件通知给被中断服务的存储控制单元;所述仲裁模块将其仲裁结果发送给所述执行模块。
19、 如权利要求15所述的设备,其特征在于,所述最迟响应时间确定模块 包括存储子模块和确定子模块;所述存储子模块,用于保存各存储控制单元的最迟响应时间的初始值; 确定子模块,用于接收来自存储控制单元的访问请求,从所述存储子模块 中获取提出所述访问请求的存储控制单元的最迟响应时间的初始值,根据该最 迟响应时间的初始值以及等待响应的时间,确定发起访问请求的存储控制单元 的最迟响应时间。
20、 如权利要求19所述的设备,其特征在于,该设备进一步包括执行模块,用于接收仲裁模块发送的仲裁结果,当所述仲裁结果指示中断存储器当前的服务时,将中断事件通知给所述确定子模块;所述确定子^t块在接收到中断事件通知后,重新确定#1中断服务的存储控 制单元的最迟响应时间的初始值,并在所述4皮中断的存储控制单元重新被授予 访问权限之前,令其最迟响应时间从初始值递减;所述仲裁模块将其仲裁结果发送给所述执行模块。
21、 一种存储器访问仲裁设备,其特征在于,该设备包括最迟响应时间 确定模块和仲裁模块;其中,所述最迟响应时间确定模块,用于接收对存储器的访问请求,确定提出所 述访问请求的存储控制单元的最迟响应时间,将所确定的最迟响应时间发送给 仲裁模块;所述仲裁模块,用于接收所述最迟响应时间,所述存储器正在被访问时, 确定所述存储器的还需服务时间,判断所述还需服务时间是否小于或等于提出 访问请求的存储控制单元的最迟响应时间,如果是,则继续该存储器当前的服 务;否则,中断该存储器当前的服务,从提出访问请求的存储控制单元中确定 出被授予访问权限的存储控制单元,并授予访问权限。
22、 一种存储控制设备,包括控制模块和緩存模块,其中,緩存单元用于 緩存待处理数据;其特征在于,该设备还包括最迟响应时间提供模块;所述控制模块,用于在向仲裁单元发送访问请求时,通知最迟响应时间提 供模块;所述最迟响应时间提供模块,用于在接收来自控制模块的通知后,确定最 迟响应时间,将所确定的最迟响应时间发送给仲裁单元。
23、 如权利要求22所述的设备,其特征在于,所述控制模块进一步在接收 到通知其所在存储控制设备的当前服务^f皮中断时,通知所述最迟响应时间提供 模块重新确定最迟响应时间。
24、 如权利要求22或23所述的设备,其特征在于,所述最迟响应时间提 供模块包括设置子模块和计数器;设置子模块,用于在接收到通知后,将预设的最迟响应时间的初始值赋值 给所述计数器,并在所在存储控制单元被授予访问权限之前令所述计数器递減 计数。
25、 如权利要求24所述的设备,其特征在于,所述设置子模块在将预设的 最迟响应时间的初始值赋值给所述计数器之前,进一步从所述緩存模块中获取 剩余緩存数据量,根据所获取的剩余緩存数据量从预先设置的至少2个最迟响 应时间初始值中选择与当前剩余緩存数据量对应的一个,并作为赋值给计数器 的最迟响应时间的初始值。
26、 一种存储器访问仲裁系统,其特征在于,该系统包括至少2个存储控 制单元和仲裁单元;所述存储控制单元,用于在向仲裁单元发送访问请求时,确定最迟响应时 间,将所确定的最迟响应时间发送给仲裁单元;所述仲裁单元,接收各存储控制单元发送的访问请求和各存储控制单元的 最迟响应时间,在被请求的存储器空闲且提出访问请求的存储控制单元为至少 2个时,将访问权限授予提出访问请求的存储控制单元中最迟响应时间最短者。
27、 一种存储器访问仲裁系统,其特征在于,该系统包括至少2个存储控 制单元和仲裁单元;所述存储控制单元,用于在向仲裁单元发送访问请求时,确定最迟响应时 间,将所确定的最迟响应时间发送给仲裁单元;所述仲裁单元,接收各存储控制单元发送的访问请求和各存储控制单元的 最迟响应时间,在被请求的存储器正在被访问时,确定所述存储器的还需服务 时间,判断所述还需服务时间是否小于或等于各存储控制单元的最迟响应时间, 如果是,则继续存储器当前的服务;否则,中断存储器当前的服务,从提出访 问请求的存储控制单元中确定出被授予访问权限的存储控制单元,并授予访问 权限。
全文摘要
本发明公开了一种存储器访问仲裁方法,包括在接收到存储控制单元对存储器的访问请求后,确定提出所述访问请求的存储控制单元的最迟响应时间;在所述存储器空闲且提出访问请求的存储控制单元为至少2个时,将访问权限授予提出访问请求的存储控制单元中最迟响应时间最短者。在所述存储器正在被访问时,确定该存储器的还需服务时间,当判定还需服务的时间是否大于提出访问请求的存储控制单元的最迟响应时间时,中断存储器当前的服务,从提出访问请求的存储控制单元中确定出被授予访问权限的存储控制单元,并授予访问权限。本发明还公开了存储器访问的仲裁系统和设备以及存储控制设备。使用本发明能够在避免数据断流的同时,提高存储器的访问效率。
文档编号G06F13/16GK101110063SQ200710121338
公开日2008年1月23日 申请日期2007年9月4日 优先权日2007年9月4日
发明者杨作兴 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1