存储器访问的仲裁方法、系统和设备技术方案

技术编号:2918459 阅读:217 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种存储器访问仲裁方法,包括:在接收到存储控制单元对存储器的访问请求后,确定提出所述访问请求的存储控制单元的最迟响应时间;在所述存储器空闲且提出访问请求的存储控制单元为至少2个时,将访问权限授予提出访问请求的存储控制单元中最迟响应时间最短者。在所述存储器正在被访问时,确定该存储器的还需服务时间,当判定还需服务的时间是否大于提出访问请求的存储控制单元的最迟响应时间时,中断存储器当前的服务,从提出访问请求的存储控制单元中确定出被授予访问权限的存储控制单元,并授予访问权限。本发明专利技术还公开了存储器访问的仲裁系统和设备以及存储控制设备。使用本发明专利技术能够在避免数据断流的同时,提高存储器的访问效率。

【技术实现步骤摘要】

本专利技术涉及存储技术,具体涉及存储器访问的仲裁方法、仲裁系统、仲 裁设备以及存储控制设备。
技术介绍
在芯片设计中,为了充分利用存储器,通常出现多个存储控制单元需要 访问一个存储器的情况。这时就需要仲裁单元来决定哪个控制单元获得访问 权限。图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个时,将访 问权限授予提出访问请求的存储控制单元中最迟响应时间最短者。较佳地,所述确定提出所述访问请求的存储控制单元的最迟响应时间之 后,进一步包括在所述存储器正在被访问时,确定所述存储器的还需服务 时间,判断所述还需服务时间是否小于或等于提出访问请求的存储控制单元 的最迟响应时间,如果是,则继续该存储器本文档来自技高网
...

【技术保护点】
一种存储器访问仲裁方法,其特征在于,该方法包括:在接收到存储控制单元对存储器的访问请求后,确定提出所述访问请求的存储控制单元的最迟响应时间;在所述存储器空闲且提出访问请求的存储控制单元为至少2个时,将访问权限授予提出访问请求 的存储控制单元中最迟响应时间最短者。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨作兴
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1