CN110516329A - 一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法 - Google Patents

一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法 Download PDF

Info

Publication number
CN110516329A
CN110516329A CN201910752072.4A CN201910752072A CN110516329A CN 110516329 A CN110516329 A CN 110516329A CN 201910752072 A CN201910752072 A CN 201910752072A CN 110516329 A CN110516329 A CN 110516329A
Authority
CN
China
Prior art keywords
storage unit
reservation
cluster
request
conflict
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910752072.4A
Other languages
English (en)
Other versions
CN110516329B (zh
Inventor
王俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zhirui Electronic Technology Co ltd
Original Assignee
Nanjing Tian Zhi Zhi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Tian Zhi Zhi Technology Co Ltd filed Critical Nanjing Tian Zhi Zhi Technology Co Ltd
Priority to CN201910752072.4A priority Critical patent/CN110516329B/zh
Publication of CN110516329A publication Critical patent/CN110516329A/zh
Application granted granted Critical
Publication of CN110516329B publication Critical patent/CN110516329B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,涉及数字电路设计技术领域,包括如下步骤:S1:将存储单元簇的单元抽象为不同预约目标,建立预约表机制;S2:多路请求查看预约表来产生预约请求;S3:预约仲裁器对预约请求进行预约冲突判断和发射预约请求;S4:预约控制器从预约仲裁器收到所有发射的预约请求,并根据预约表信息代理访问、控制存储单元簇的各个存储单元,并更新预约表;S5:存储单元簇数据路径由预约控制器控制选通。达到了高效安排存储单元簇访问请求的完成,在满足多路访问的各种需求的同时对应不同请求类型,存储类型,提高特定需求的处理效率的效果。

Description

一种预约机制解决多路访问存储单元簇冲突的数字电路设计 方法
技术领域
本发明涉及数字电路设计技术领域,特别涉及一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法。
背景技术
数字电路设计中对于多路请求访问存储单元一般采用仲裁的方法,根据请求突发读写,请求优先级等需要,会通过改变仲裁的算法、添加QOS等改变仲裁权重、固定优先级等方法实现仲裁。对于不同存储单元的组合访问,一般采用由状态机控制,联合仲裁或依次仲裁多个需访问的存储单元等方法分步完成。对于访问存储单元的控制逻辑设计由于存储单元的端口数量大小、延时特性、请求特殊需求等原因没有统一的方法。整体而言请求的数量和存储单元的数量及控制需求的复杂程度都会产生更复杂的存储单元仲裁和控制逻辑,当时序无法满足数字设计的要求时,一般通过额外增加寄存器,打断仲裁通路,增加时延来解决。
发明内容
本发明的目的是提供一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其利用预约机制来避免多路访问时的访问冲突,高效安排存储单元簇访问请求的完成,在满足多路访问的各种需求的同时对应不同请求类型,存储类型,控制要求规划了一种统一的方法,并可以提高特定需求的处理效率。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,包括如下步骤:
S1:将存储单元簇的单元抽象为不同预约目标,建立预约表机制;
S2:多路请求查看预约表来决定、调整对各个预约目标访问的时间和时间长度,产生预约请求;
S3:预约仲裁器对预约请求进行预约冲突判断和发射预约请求;
S4:预约控制器从预约仲裁器收到所有发射的预约请求,并根据预约表信息代理访问、控制存储单元簇的各个存储单元;此外预约控制器根据预约仲裁器的结果及预约单元访问情况更新预约表;
S5:存储单元簇数据路径预先根据需求设计连接,并由预约控制器控制选通。
更进一步的,步骤S1中,预约表机制制定了每个预约目标在接下来一段时间T内的访问分配情况,即预约表信息。
更进一步的,步骤S3中,若存在预约目标的冲突,预约仲裁器从冲突预约请求中仲裁出一个成功的预约请求,和其他没有冲突的预约请求一并发射。
更进一步的,存储单元簇中存储单元之间存在有组合访问。
更进一步的,若请求希望突发读存储单元簇时,连续从三个存储单元A、B、C中连续返回数据送出处理,并在N个周期后将处理后的数据写入存储单元D、E中;
即在存储单元A的T0时刻,B的T1时刻,C的T2时刻返回数据,其中,T0、T1、T2为连续三个时钟周期;存储单元A、B、C的读时延分别为t0、t1、t2;
则分别预约T0-t0,T1-t1,T2-t2时刻访问存储单元A、B、C,再预约T2+N和T2+N+1的时间连续写入存储单元D、E中。
更进一步的,在预约表D中T2+N或E预约表中T2+N+1已经被预约的情况下,可以找到D、E皆未被预约的M和M+1时刻预约,并为延期写入的数据准备必要的BUFFER暂存和读写控制。
更进一步的,步骤S4中,预约仲裁器在比较各路预约请求及发生冲突时,根据预约仲裁优先级选出成功预约的请求;当预约请求发生冲突且权重相同时,预约仲裁器可以使用包括随机仲裁或round-robin仲裁在内的方式决定预约成功的请求发射;
预约失败或者查看预约表后发现无法预约的请求进入重试队列并提高其预约仲裁优先级,若干周期后重试。
更进一步的,对若干次重试仍然无法满足预约条件的请求获得最高权限,它获得所需预约目标的独占权限直到完成。
更进一步的,步骤S5中,预约控制器根据预约表信息来实现请求的代理访问及存储单元簇数据路径的控制,控制信息由预约表给出。
更进一步的,步骤S5中,存储单元簇数据路径建立于存储单元簇存在的通路和分支中,并提供控制逻辑。
综上所述,本发明具有以下有益效果:
1.本发明方法,可以通过只改变预约表信息、存储单元簇路径的逻辑就适应不同请求数量,请求类型,存储单元数量,存储单元类型等的要求;设计有更好的统一性,通用性和扩展性。
2. 本发明方法,有隔离复杂的控制逻辑和仲裁逻辑的作用,对于较复杂的存储单元簇访问设计来说,与未经优化的传统仲裁方法:为了满足复杂逻辑的时序而添加额外寄存器满足时序相比,本发明的方法设计划分更加明确清晰,更利于针对性的逻辑优化。
3. 本发明方法,相比纯粹未经优化的仲裁访问机制、对于一些特定的组合访问有更好的性能表现,例如,突发读写不会被打断,可一次性就完成从A存储单元突发读出,处理后,突发写回的过程,无需额外寄存器组(BUFFER)来暂存上述操作因为传统仲裁方法,仲裁失败等原因而被阻挡的等待读出或者写入的数据。
附图说明
图1是一般访问存储单元方法的数字逻辑示意图;
图2是本发明访问存储单元方法的数字逻辑示意图;
图3是预约仲裁器的工作流程图;
图4是本发明的整体原理示意图;
图5是本发明的具体架构连接示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明,本实施例不构成对本发明的限制。
本发明揭示了一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,如图1和图2所示,相比于现有技术,本发明方法的仲裁逻辑和控制逻辑更加明确,其包括如下步骤:
S1:将存储单元簇的单元抽象为不同预约目标(若某存储单元支持多口同时读写,则可将该存储单元抽象为多个预约目标),建立预约表机制;
步骤S1中,预约表机制制定了每个预约目标在接下来一段时间T内的访问分配情况,即预约表信息。
S2:多路请求查看预约表来决定、调整对各个预约目标访问的时间和时间长度,产生预约请求;
S3: 预约仲裁器判断当前时刻所有预约请求并将无预约冲突的预约请求一并发射;若存在预约目标的冲突,预约仲裁器从冲突预约请求中只仲裁出一个成功的预约请求,和其他没有冲突的预约请求一并发射。
S4:预约控制器从预约仲裁器收到所有发射的预约请求,并根据预约表信息发射的预约请求来代理访问、存储单元簇的各个存储单元,及对存储单元簇数据路径进行控制;此外每个时刻,预约控制器根据预约仲裁器的结果及预约单元访问情况更新预约表;
如图2和3所示,步骤S4中,预约仲裁器在比较各路预约请求及发生冲突时,根据预约仲裁优先级选出成功预约的请求;当预约请求发生冲突且权重相同时,预约仲裁器可以使用包括随机仲裁或round-robin仲裁的方式决定预约成功的请求发射;
预约失败或者查看预约表后发现无法预约的请求进入重试队列并提高其预约仲裁优先级,若干周期后重试。
对若干次重试仍然无法满足预约条件的请求获得最高权限,它获得所需预约目标的独占权限直到完成。
S5:存储单元簇数据路径预先根据需求设计连接,并由预约控制器控制选通。
如图4所示,预约控制器根据预约表信息来实现请求的代理访问及存储单元簇数据路径的控制,控制信息由预约表给出。
存储单元簇数据路径建立于存储单元簇可能存在的通路和分支中,并提供控制逻辑,该通路和分支包括存储单元之间、单元簇入口、单元簇出口等。
存储单元簇中存储单元之间存在有组合访问。举例来讲,如图4和图5所示,若请求希望突发读存储单元簇时,连续从三个存储单元A、B、C(读时延可能不一致)中连续返回数据送出处理,并在N个周期后将处理后的数据写入存储单元D、E中;
即在存储单元A的T0时刻,B的T1时刻,C的T2时刻返回数据,其中,T0、T1、T2为连续三个时钟周期;存储单元A、B、C的读时延分别为t0、t1、t2;
则分别预约T0-t0,T1-t1,T2-t2时刻访问存储单元A、B、C,再预约T2+N和T2+N+1的时间连续写入存储单元D、E中。
在预约表D中T2+N或E预约表中T2+N+1已经被预约的情况下,可以找到D、E皆未被预约的M和M+1时刻预约,并为延期写入的数据准备必要的BUFFER暂存和读写控制。
如图4和图5所示,具体的,该设计有两路输入请求,三个存储单元,存储单元的读数据延时都为一个时钟周期。三路存储单元簇外部输出,两路存储单元簇外部输入。通过预约表机制,请求可以查询存储单元A、B、C的预约表信息,所需时刻若相应存储单元资源未被占用则可发射预约请求,通过预约仲裁,预约控制器会根据预约表信息来控制当前时刻存储单元A、B、C的读写访问,及它们的输入写数据及输出读数据的路径选择。然后根据最新的预约情况更新A、B、C存储单元预约表信息。
下面举一个访问实例:
初始,请求0的需求如下:
在T0时刻读存储单元A,将读出数据在T1时刻写入存储单元C,同时输出存储单元簇处理,在T2时刻处理数据从外部输入0返回再写入存储单元A;
在T1时刻读取存储单元B,将读出数据在T2时刻写入存储单元C同时输出存储单元簇处理,在T3时刻处理数据从外部输入0返回再写入存储单元B。
则请求0预约内容如下表所示:
T0 T1 T2 T3 T5 T6 T7
MemoryA req0rd out0wr
MemoryB req0rd out0wr
MemoryC memAwr memBwr
同一时刻请求1的需求如下:
在T0时刻读存储单元B,将读出数据在T1时刻输出存储单元簇处理,在T2时刻处理数据从外部输入1返回再写入存储单元B中。
则请求1预约内容如下表所示:
T0 T1 T2 T3 T5 T6 T7
MemoryA
MemoryB req1rd out1wr
MemoryC
当请求0和请求1的预约请求同时刻发往预约仲裁器,预约仲裁器判断不存在预约请求冲突,则预约仲裁器可以将预约请求0和预约请求1都交给预约控制器,预约控制器更新预约表信息如下:
T0 T1 T2 T3 T5 T6 T7
MemoryA req0rd out0wr
MemoryB req1rd req0rd out1wr out0wr
MemoryC memAwr memBwr
到了T0时刻,则根据预约表信息,预约控制器会选择请求0的读请求发往存储单元A,请求1的读请求发往存储单元B。
假设在T0时刻有一个新的请求1希望T1时刻访问存储单元C,查询预约表发现T1、T2时刻存储单元C已经被占用。则该请求可以选择空闲的T3时刻访问存储单元C。根据新的预约仲裁器信息,预约控制器更新预约表信息如下:
T1 T2 T3 T5 T6 T7
MemoryA out0wr
MemoryB req0rd out1wr out0wr
MemoryC memAwr memBwr req1rd
到了T1时刻,根据预约表信息,预约控制器会选择请求0的读请求发往存储单元A,写请求发往存储单元C,如图1控制选择信号,让存储单元C的写数据来自存储单元A的读出数据。
到了T2时刻,根据预约表信息,预约控制器会将写请求发往存储单元A,如图1控制选择信号,选择写数据来自存储单元簇外部输入0。会将写请求发往存储单元B,选择写数据来自存储单元簇外部输入1。会将写请求发往存储单元C,选择写数据来自存储单元B的读出数据。
假设在T2时刻同时有两个新的请求0和请求1都想在T3时刻访问存储单元A,请求0和请求1当前预约表都发现存储单元A在T3时刻没有被占用,则都发射了预约请求,预约仲裁器发现预约冲突,仲裁成功了预约请求0发射,则请求1进入重试队列,最后预约控制器更新预约表信息如下:
T3 T4 T5
MemoryA req0rd
MemoryB out0wr
MemoryC req1rd
到了T3时刻,根据预约表信息,预约控制器会选择请求0的读请求发往存储单元A,写请求发往存储单元B,选择写数据来自存储单元簇外部输入0。选择请求1的读请求发往存储单元C。
以上所述,仅是本发明的较佳实施例而已,不用于限制本发明,本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明技术方案的保护范围内。

Claims (10)

1.一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于,包括如下步骤:
S1:将存储单元簇的单元抽象为不同预约目标,建立预约表机制;
S2:多路请求查看预约表来决定、调整对各个预约目标访问的时间和时间长度,产生预约请求;
S3:预约仲裁器对预约请求进行预约冲突判断和发射预约请求;
S4:预约控制器从预约仲裁器收到所有发射的预约请求,并根据预约表信息代理访问、控制存储单元簇的各个存储单元;此外预约控制器根据预约仲裁器的结果及预约单元访问情况更新预约表;
S5:存储单元簇数据路径预先根据需求设计连接,并由预约控制器控制选通。
2.根据权利要求1所述的一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于:
步骤S1中,预约表机制制定了每个预约目标在接下来一段时间T内的访问分配情况,即预约表信息。
3.根据权利要求1所述的一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于:
步骤S3中,若存在预约目标的冲突,预约仲裁器从冲突预约请求中仲裁出一个成功的预约请求,和其他没有冲突的预约请求一并发射。
4.根据权利要求1所述的一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于:
存储单元簇中存储单元之间存在有组合访问。
5.根据权利要求4所述的一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于:
若请求希望突发读存储单元簇时,连续从三个存储单元A、B、C中连续返回数据送出处理,并在N个周期后将处理后的数据写入存储单元D、E中;
即在存储单元A的T0时刻,B的T1时刻,C的T2时刻返回数据,其中,T0、T1、T2为连续三个时钟周期;存储单元A、B、C的读时延分别为t0、t1、t2;
则分别预约T0-t0,T1-t1,T2-t2时刻访问存储单元A、B、C,再预约T2+N和T2+N+1的时间连续写入存储单元D、E中。
6.根据权利要求5所述的一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于:
在预约表D中T2+N或E预约表中T2+N+1已经被预约的情况下,可以找到D、E皆未被预约的M和M+1时刻预约,并为延期写入的数据准备必要的BUFFER暂存和读写控制。
7.根据权利要求1所述的一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于:
步骤S4中,预约仲裁器在比较各路预约请求及发生冲突时,根据预约仲裁优先级选出成功预约的请求;当预约请求发生冲突且权重相同时,预约仲裁器可以使用包括随机仲裁或round-robin仲裁在内的方式决定预约成功的请求发射;
预约失败或者查看预约表后发现无法预约的请求进入重试队列并提高其预约仲裁优先级,若干周期后重试。
8.根据权利要求7所述的一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于:对若干次重试仍然无法满足预约条件的请求获得最高权限,它获得所需预约目标的独占权限直到完成。
9.根据权利要求1所述的一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于:步骤S5中,预约控制器根据预约表信息来实现请求的代理访问及存储单元簇数据路径的控制,控制信息由预约表给出。
10.根据权利要求1或9所述的一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法,其特征在于:步骤S5中,存储单元簇数据路径建立于存储单元簇存在的通路和分支中,并提供控制逻辑。
CN201910752072.4A 2019-08-15 2019-08-15 一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法 Active CN110516329B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910752072.4A CN110516329B (zh) 2019-08-15 2019-08-15 一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910752072.4A CN110516329B (zh) 2019-08-15 2019-08-15 一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法

Publications (2)

Publication Number Publication Date
CN110516329A true CN110516329A (zh) 2019-11-29
CN110516329B CN110516329B (zh) 2022-02-18

Family

ID=68625971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910752072.4A Active CN110516329B (zh) 2019-08-15 2019-08-15 一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法

Country Status (1)

Country Link
CN (1) CN110516329B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132146A1 (en) * 2003-12-13 2005-06-16 Samsung Electronics Co., Ltd. Arbiter capable of improving access efficiency of multi-bank memory device, memory access arbitration system including the same, and arbitration method thereof
CN1633121A (zh) * 2004-12-20 2005-06-29 华中科技大学 网络存储系统的流水处理方法
CN107589958A (zh) * 2016-07-07 2018-01-16 福州瑞芯微电子股份有限公司 一种多控制器间多存储器共享并行数据读写系统及其写入、读取方法
CN109446125A (zh) * 2018-10-09 2019-03-08 武汉正维电子技术有限公司 Ddr读写仲裁器及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132146A1 (en) * 2003-12-13 2005-06-16 Samsung Electronics Co., Ltd. Arbiter capable of improving access efficiency of multi-bank memory device, memory access arbitration system including the same, and arbitration method thereof
CN1633121A (zh) * 2004-12-20 2005-06-29 华中科技大学 网络存储系统的流水处理方法
CN107589958A (zh) * 2016-07-07 2018-01-16 福州瑞芯微电子股份有限公司 一种多控制器间多存储器共享并行数据读写系统及其写入、读取方法
CN109446125A (zh) * 2018-10-09 2019-03-08 武汉正维电子技术有限公司 Ddr读写仲裁器及方法

Also Published As

Publication number Publication date
CN110516329B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN102834816B (zh) 用以减少存取等待时间的总线仲裁方法及处理系统
US4158235A (en) Multi port time-shared associative buffer storage pool
US5659687A (en) Device for controlling memory data path in parallel processing computer system
US7802040B2 (en) Arbitration method reordering transactions to ensure quality of service specified by each transaction
US5301283A (en) Dynamic arbitration for system bus control in multiprocessor data processing system
US5487170A (en) Data processing system having dynamic priority task scheduling capabilities
CN1327370C (zh) 资源管理装置
US4672536A (en) Arbitration method and device for allocating a shared resource in a data processing system
AU598857B2 (en) Move-out queue buffer
US20090106468A1 (en) Hierarchical Bus Structure and Memory Access Protocol for Multiprocessor Systems
US20060206645A1 (en) Performing arbitration in a data processing apparatus
CN110109847A (zh) Apb总线多个主设备的仲裁方法、系统及存储介质
JPS61109164A (ja) バス制御方法
CN101013407A (zh) 支持多总线多类型存储器的内存仲裁实现系统和方法
CN101669096B (zh) 存储器访问控制装置
JP2002510079A (ja) メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置
US6314484B1 (en) Computer system with a bus having a segmented structure
US20040024943A1 (en) Generic bridge core
US8213461B2 (en) Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units
CN105468546B (zh) 互连电路的数据处理装置和方法
US20080244133A1 (en) Data processing apparatus and method for arbitrating access to a shared resource
US6681270B1 (en) Effective channel priority processing for transfer controller with hub and ports
US8619554B2 (en) Interconnecting initiator devices and recipient devices
US5581732A (en) Multiprocessor system with reflective memory data transfer device
JP2001216279A (ja) リアルタイム・システム用時分割多重メモリーを用いた、複数のプロセッサーのインターフェース及び、同期化及びアービトレーション方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 201100 no.1628, sushao Road, Minhang District, Shanghai

Applicant after: Shanghai Tiantian smart core semiconductor Co.,Ltd.

Address before: 210000 4 floor of No. 180, No. 180, Yuhuatai District, Yuhuatai District, Jiangsu

Applicant before: Nanjing Tianshu Zhixin Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221213

Address after: No. 1628, Suzhao Road, Minhang District, Shanghai 200100

Patentee after: SHANGHAI ZHIRUI ELECTRONIC TECHNOLOGY Co.,Ltd.

Address before: 1628 suzhao Road, Minhang District, Shanghai 201100

Patentee before: Shanghai Tiantian smart core semiconductor Co.,Ltd.