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

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

Info

Publication number
CN110516329B
CN110516329B CN201910752072.4A CN201910752072A CN110516329B CN 110516329 B CN110516329 B CN 110516329B CN 201910752072 A CN201910752072 A CN 201910752072A CN 110516329 B CN110516329 B CN 110516329B
Authority
CN
China
Prior art keywords
reservation
memory cell
request
storage unit
cluster
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.)
Active
Application number
CN201910752072.4A
Other languages
English (en)
Other versions
CN110516329A (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
Shanghai Tiantian Smart Core Semiconductor 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 Shanghai Tiantian Smart Core Semiconductor Co ltd filed Critical Shanghai Tiantian Smart Core Semiconductor 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

Images

Landscapes

  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

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 CN110516329A (zh) 2019-11-29
CN110516329B true 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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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读写仲裁器及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585116B1 (ko) * 2003-12-13 2006-06-01 삼성전자주식회사 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN110516329A (zh) 2019-11-29

Similar Documents

Publication Publication Date Title
US7085866B1 (en) Hierarchical bus structure and memory access protocol for multiprocessor systems
KR100716950B1 (ko) 버스 시스템
US7120743B2 (en) Arbitration system and method for memory responses in a hub-based memory system
US5581734A (en) Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity
KR100524575B1 (ko) 데이타 처리시스템에서 복수개의 메모리 억세스 리퀘스트신호를리오더링하는 방법
US7802040B2 (en) Arbitration method reordering transactions to ensure quality of service specified by each transaction
JP4524310B2 (ja) ハブベースのメモリシステムにおける書込みコマンドを終了させる方法とシステム
US7290075B2 (en) Performing arbitration in a data processing apparatus
CN100472494C (zh) 支持多总线多类型存储器的内存仲裁实现系统和方法
US7353310B2 (en) Hierarchical memory access via pipelining with deferred arbitration
KR100932359B1 (ko) 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템
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
JP3919765B2 (ja) アービトレーションを管理する方法およびプロセッサ
US20060221980A1 (en) Method and apparatus for a high efficiency two-stage rotating priority arbiter with predictable arbitration latency
CN111684430A (zh) 支持同一信道上对不统一等待时间的存储器类型的响应
US20030217224A1 (en) Reordering requests for access to subdivided resource
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
US20230102680A1 (en) Stacked command queue
CN110516329B (zh) 一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法
US8930641B1 (en) Systems and methods for providing memory controllers with scheduler bypassing capabilities
JP3260456B2 (ja) コンピュータシステムおよびそれに適した集積回路並びに要求選択回路
JP2004500608A (ja) ユニバーサルリソースアクセスコントローラ
US20040243770A1 (en) Data transfer system
CN117785289B (zh) 保留站电路的控制方法、装置、保留站电路及存储介质

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

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.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
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.

TR01 Transfer of patent right