CN106776377B - 一种用于并发读取多个存储单元的地址合并处理电路 - Google Patents

一种用于并发读取多个存储单元的地址合并处理电路 Download PDF

Info

Publication number
CN106776377B
CN106776377B CN201611140117.5A CN201611140117A CN106776377B CN 106776377 B CN106776377 B CN 106776377B CN 201611140117 A CN201611140117 A CN 201611140117A CN 106776377 B CN106776377 B CN 106776377B
Authority
CN
China
Prior art keywords
address
data
crossbar
conflict detection
sent
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
CN201611140117.5A
Other languages
English (en)
Other versions
CN106776377A (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.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
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 Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201611140117.5A priority Critical patent/CN106776377B/zh
Publication of CN106776377A publication Critical patent/CN106776377A/zh
Application granted granted Critical
Publication of CN106776377B publication Critical patent/CN106776377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0884Parallel mode, e.g. in parallel with main memory or CPU

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明属于集成电路技术领域,涉及一种用于并发读取多个存储单元的地址合并处理电路,包括:冲突检测和控制调度单元(1)、地址收集合并单元(2)、地址Crossbar(4)、数据缓存(3)和数据Crossbar(5)。本发明提供的一用于并发读取多个存储单元的地址合并处理电路,用于实现寄存器文件与存储器之间的数据交换,可同时运行n个并行/并发执行的任务,支持地址比较合并,支持非阻塞操作。

Description

一种用于并发读取多个存储单元的地址合并处理电路
技术领域
本发明属于集成电路技术领域,涉及一种用于并发读取多个存储单元的地址合并处理电路。
背景技术
现代处理器设计中,寄存器文件与存储器之间的数据交换频繁发生,数据交换的性能也充分影响着整个处理器运行速率。这就要求处理存储的单元能够同时处理不同存储器的数据交换,以及对存储器进行访问前的请求合并及串并转换功能。
发明内容
本发明的目的是:
本发明提供一种用于并发读取多个存储单元的地址合并处理电路,从而能够实现提高寄存器文件与存储器之间的数据交换效率。
本发明的技术解决方案是:
一种用于并发读取多个存储单元的地址合并处理电路,包括:
冲突检测和控制调度单元(1)、地址收集合并单元(2)、地址Crossbar(4)、数据缓存(3)和数据Crossbar(5);
冲突检测和控制调度单元(1),该单元对外部送来的同一周期多个地址进行监测,判断是否有冲突发生;如果有,产生控制指令并将所有地址信息以及所述控制指令发送给地址收集合并单元(2);此外冲突检测和控制调度单元(1)还将数据缓存(3)发送的写回请求发送给外部进行仲裁,将仲裁结果返回给数据缓存(3);
地址收集合并单元(2),将冲突检测和控制调度单元(1)发送的同一周期的地址根据指令进行缓存、合并,并记录合并结果,产生访问请求发送给地址Crossbar(4);地址收集合并单元(2)还负责将合并结果发送给数据Crossbar(5);将所有缓存、合并后的地址发送给地址Crossbar(4);
地址Crossbar(4),将所有缓存、合并后的地址发送到外部存储;
数据Crossbar(5),根据地址收集合并单元(2)发送的合并结果,将外部存储返回的数据发送给数据缓存(3);
数据缓存(3),将数据Crossbar(5)返回的数据进行缓存,并向冲突检测和控制调度单元(1)发送写回请求,接收冲突检测和控制调度单元(1)的仲裁结果,如果仲裁通过,将返回数据发送给外部,否则一直等待。
所述外部存储包括:Local SRAM、Cache。
本发明的优点是:本发明提供的一用于并发读取多个存储单元的地址合并处理电路,用于实现寄存器文件与存储器之间的数据交换,可同时运行n个并行/并发执行的任务,支持地址比较合并,支持非阻塞操作。
附图说明
图1为本发明的方法模块图;
图2为串并转换方法图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
一种用于并发读取多个存储单元的地址合并处理电路,如图1所示,包括:
冲突检测和控制调度单元(1)、地址收集合并单元(2)、地址Crossbar(4)、数据缓存(3)和数据Crossbar(5);
冲突检测和控制调度单元(1),该单元对外部送来的同一周期多个地址进行监测,判断是否有冲突发生;如果有,产生控制指令并将所有地址信息以及所述控制指令发送给地址收集合并单元(2);此外冲突检测和控制调度单元(1)还将数据缓存(3)发送的写回请求发送给外部进行仲裁,将仲裁结果返回给数据缓存(3);
地址收集合并单元(2),将冲突检测和控制调度单元(1)发送的同一周期的地址根据指令进行缓存、合并,并记录合并结果,产生访问请求发送给地址Crossbar(4);地址收集合并单元(2)还负责将合并结果发送给数据Crossbar(5);将所有缓存、合并后的地址发送给地址Crossbar(4);
地址Crossbar(4),将所有缓存、合并后的地址发送到外部存储;
数据Crossbar(5),将外部存储返回的数据根据地址收集合并单元(2)发送的合并结果将数据发送给数据缓存(3);
数据缓存(3),将数据Crossbar(5)返回的数据进行缓存,并向冲突检测和控制调度单元(1)发送写回请求,接收冲突检测和控制调度单元(1)的仲裁结果,如果仲裁通过,将返回数据发送给外部,否则一直等待。
所述外部存储包括:Local SRAM、Cache。
其中,地址收集合并单元(2),将冲突检测和控制调度单元(1)发送的同一周期的地址根据指令进行合并的方法如下:
1)先将第一个有效地址发送出去,同时将地址两两比较的结果存储下来。
2)第二周期,如果第二个地址和第一个不同,则第二个地址发送;如果第二个地址和第一个相同,则第二个地址不发,同时根据第三个和第一个比较的结果同理进行处理。
由于支持非阻塞,对上层下发的每个请求,如果存储访问不冲突根据请求号周期不同分别在多个单元进行合并地址、一次请求的数据读取完成后请求写回。
由于多个存储不冲突的请求可以同时进行,并且返回数据可能乱序,所以对请求中附加了请求号以及周期信息,返回数据根据请求号周期号不同对应存储。
请求的并串转换如图2所示:n个不同模块同时处理n个请求类型,可能会出现请求冲突。所以根据请求类型不同存在n个fifo中,进行仲裁将请求从fifo中读出发送给存储器,调度采用广度优先。
对同一个请求数据读取完成的写回请求,由内部进行仲裁并发送给写回单元。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (2)

1.一种用于并发读取多个存储单元的地址合并处理电路,其特征在于,包括:
冲突检测和控制调度单元(1)、地址收集合并单元(2)、地址Crossbar(4)、数据缓存(3)和数据Crossbar(5);
冲突检测和控制调度单元(1),该单元对外部送来的同一周期多个地址进行监测,判断是否有冲突发生;如果有,产生控制指令并将所有地址信息以及所述控制指令发送给地址收集合并单元(2);此外冲突检测和控制调度单元(1)还将数据缓存(3)发送的写回请求发送给外部进行仲裁,将仲裁结果返回给数据缓存(3);
地址收集合并单元(2),将冲突检测和控制调度单元(1)发送的同一周期的地址根据指令进行缓存、合并,并记录合并结果,产生访问请求发送给地址Crossbar(4);地址收集合并单元(2)还负责将合并结果发送给数据Crossbar(5);将所有缓存、合并后的地址发送给地址Crossbar(4);
地址Crossbar(4),将所有缓存、合并后的地址发送到外部存储;
数据Crossbar(5),根据地址收集合并单元(2)发送的合并结果将外部存储返回的数据发送给数据缓存(3);
数据缓存(3),将数据Crossbar(5)返回的数据进行缓存,并向冲突检测和控制调度单元(1)发送写回请求,接收冲突检测和控制调度单元(1)的仲裁结果,如果仲裁通过,将返回数据发送给外部,否则一直等待。
2.如权利要求1所述的一种用于并发读取多个存储单元的地址合并处理电路,其特征在于,所述外部存储包括:Local SRAM、Cache。
CN201611140117.5A 2016-12-12 2016-12-12 一种用于并发读取多个存储单元的地址合并处理电路 Active CN106776377B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611140117.5A CN106776377B (zh) 2016-12-12 2016-12-12 一种用于并发读取多个存储单元的地址合并处理电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611140117.5A CN106776377B (zh) 2016-12-12 2016-12-12 一种用于并发读取多个存储单元的地址合并处理电路

Publications (2)

Publication Number Publication Date
CN106776377A CN106776377A (zh) 2017-05-31
CN106776377B true CN106776377B (zh) 2020-04-28

Family

ID=58880203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611140117.5A Active CN106776377B (zh) 2016-12-12 2016-12-12 一种用于并发读取多个存储单元的地址合并处理电路

Country Status (1)

Country Link
CN (1) CN106776377B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114637609B (zh) * 2022-05-20 2022-08-12 沐曦集成电路(上海)有限公司 基于冲突检测的gpu的数据获取系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038571A (zh) * 2007-04-19 2007-09-19 北京理工大学 一种块传输的多端口存储控制器
JP2010152571A (ja) * 2008-12-25 2010-07-08 Kyocera Mita Corp Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
US7984246B1 (en) * 2005-12-20 2011-07-19 Marvell International Ltd. Multicore memory management system
CN102622192A (zh) * 2012-02-27 2012-08-01 北京理工大学 一种弱相关多端口并行存储控制器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984246B1 (en) * 2005-12-20 2011-07-19 Marvell International Ltd. Multicore memory management system
CN101038571A (zh) * 2007-04-19 2007-09-19 北京理工大学 一种块传输的多端口存储控制器
JP2010152571A (ja) * 2008-12-25 2010-07-08 Kyocera Mita Corp Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
CN102622192A (zh) * 2012-02-27 2012-08-01 北京理工大学 一种弱相关多端口并行存储控制器

Also Published As

Publication number Publication date
CN106776377A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
US9361236B2 (en) Handling write requests for a data array
US8015365B2 (en) Reducing back invalidation transactions from a snoop filter
US7281092B2 (en) System and method of managing cache hierarchies with adaptive mechanisms
US7305523B2 (en) Cache memory direct intervention
CN101794271B (zh) 多核内存一致性的实现方法和装置
CN101354682B (zh) 一种用于解决多处理器访问目录冲突的装置和方法
US20060184742A1 (en) Victim cache using direct intervention
US20090106507A1 (en) Memory System and Method for Using a Memory System with Virtual Address Translation Capabilities
US9135177B2 (en) Scheme to escalate requests with address conflicts
CN102446159B (zh) 多核处理器的数据管理方法及装置
CN105518631B (zh) 内存管理方法、装置和系统、以及片上网络
CN111881068A (zh) 多入口的全相联的高速缓冲存储器及数据管理方法
CN112559433B (zh) 一种多核互联总线、核间通信方法及多核处理器
CN117389914B (zh) 缓存系统、缓存写回方法、片上系统及电子设备
CN106776377B (zh) 一种用于并发读取多个存储单元的地址合并处理电路
CN111124954B (zh) 一种两级转换旁路缓冲的管理装置及方法
US7882311B2 (en) Non-snoop read/write operations in a system supporting snooping
JP2015191604A (ja) 制御装置、制御プログラム、および制御方法
CN106651743B (zh) 一种支持聚散功能的统一染色阵列lsu结构
WO2021008552A1 (zh) 数据读取方法和装置、计算机可读存储介质
JP6059360B2 (ja) バッファ処理方法及び装置
CN117851291B (zh) 内存访问系统、电子组件及电子设备
CN112765086B (zh) 固态存储中一种基于cache一致性的软硬件交互方法
US20230229498A1 (en) Systems and methods with integrated memory pooling and direct swap caching
CN117785737A (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
GR01 Patent grant
GR01 Patent grant