CN2869994Y - 用于可重构计算阵列的数据耦合器 - Google Patents
用于可重构计算阵列的数据耦合器 Download PDFInfo
- Publication number
- CN2869994Y CN2869994Y CN 200520116900 CN200520116900U CN2869994Y CN 2869994 Y CN2869994 Y CN 2869994Y CN 200520116900 CN200520116900 CN 200520116900 CN 200520116900 U CN200520116900 U CN 200520116900U CN 2869994 Y CN2869994 Y CN 2869994Y
- Authority
- CN
- China
- Prior art keywords
- data
- port
- input
- address
- data coupler
- 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.)
- Expired - Fee Related
Links
- 238000003491 array Methods 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 17
- 230000008878 coupling Effects 0.000 claims description 15
- 238000010168 coupling process Methods 0.000 claims description 15
- 238000005859 coupling reaction Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 13
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 230000001360 synchronised effect Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 abstract description 4
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本实用新型公开的用于可重构计算阵列的数据耦合器包括:用于设置和输出数据耦合器工作状态的数据耦合器控制单元,按照寻址模式产生地址的地址生成器,用于存储计算过程中的输入输出数据的计算高速缓存,总线接口单元,控制寄存器,输入端口,输出端口和内部总线。该数据耦合器可根据控制信息,按照一定的寻址模式产生高速缓存的地址,通过输入/输出端口协调与可重构计算阵列之间的数据传输,支持同步和异步两种通讯方式,应用方式灵活。
Description
技术领域
本实用新型涉及一种用于可重构计算阵列的数据耦合器。
背景技术
目前的通用处理器,DSP等多采用指令驱动,处理器工作时一般要经过取指令,译码,执行,返回结果等阶段。对于计算密集型任务,数据吞吐量一般都很大,因此采用数据流驱动计算部件完成计算任务是一种比较合适的方法。数据通过一定的组织,以一定的模式通过处理器的数据通路即可以被处理,而指令集处理器要执行多条指令才能从存储器取得相应数据并进行处理,相比之下,数据驱动方式在计算密集型任务方面,具有一定优势,可以大大提高吞吐率。
数据驱动方式以前多出现在专用集成电路中。但是,专用集成电路灵活性不足,一个电路一般只能实现固定几种算法,对于数据处理也就只有几种有限的模式。对于可重构硬件电路,由于电路实现功能可变,因此需要对数据组织模式也进行相应改变,通过不同寻址模式的支持,能够快速从存储器取得数据提供给可重构硬件处理,从而既达到很高的数据吞吐率,又能保证硬件的灵活性。基于可重构计算硬件的特点,传统的固定数据产生模式缺乏灵活性。
发明内容
本实用新型的目的是提供一种适用于数据驱动的计算密集型且具有较高灵活性的可重构计算阵列的数据耦合器。
本实用新型的用于可重构计算阵列的数据耦合器包括:用于设置和输出数据耦合器工作状态的数据耦合器控制单元,按照寻址模式产生地址的地址生成器,用于存储计算过程中的输入输出数据的计算高速缓存,总线接口单元,控制寄存器,输入端口,输出端口和内部总线,总线接口单元的一端与外部总线相连接,另一端与内部总线相连,数据耦合器控制单元的一端与外部总线连接,另一端与控制寄存器连接,地址生成器与内部总线以及计算高速缓存的一个输入端相连接,计算高速缓存与内部总线连接,并有两组传输端口,其中一组传输端口与内部总线相连接,另一组传输端口的输入端与输入端口的输出端相连,输出端与输出端口的输入端相连接,输入端口和输出端口分别和内部总线连接,输入端口的输入端和可重构阵列的输出端相连接,输出端口的输出端和可重构阵列的输入端相连接。
本实用新型的用于可重构计算阵列的数据耦合器工作流程如下:
外部控制器根据本次计算的特点选择相应的数据寻址模式,对地址生成器进行参数配置,并将要处理的数据按照一定规则写入到耦合器的计算高速缓存中。地址生成器和计算高速缓存的配置数据都是经过总线接口单元传输到数据耦合器内部总线,根据地址线的地址,将数据分别送至地址参数缓存和计算数据缓存。启动后,地址生成器开始按照预定的模式产生访问计算高速缓存的地址,根据产生的地址和读写控制信号,数据耦合器可以通过输入和输出端口同可重构阵列进行数据传输。当前工作结束后,数据耦合器会向外部控制器发送相应的通知信号,外部控制器接收到数据耦合器的信号后,会通过设置在数据耦合器的控制单元来停止它的工作或者开始新一轮的工作。
本实用新型具有以下有益技术效果:
1.支持多种数据寻址模式。地址生成器支持线性寻址模式和复杂非线性寻址模式,再辅以位反转机构和循环控制机构,既保证了通用性灵活性也兼顾特定应用的专用性能。该地址生成器在具备高性能的同时也为可重构阵列的应用扩展提供了余地。
2.能够良好的协调可重构阵列和其它外围单元之间的数据传输,同时支持同步和异步传输模式。在异步通信模式下,耦合器设置有专门的通信接口,通过数据扩展单元,以双轨编码方式实现与异步可重构阵列的通信,保证了传输的可靠性。
3.这个部件的逻辑并不复杂,整个逻辑面积很小。
4.良好的扩展性能,可伸缩性强。耦合器地址空间中留有足够的扩展资源,使得一个阵列最多可以支持拥有16个数据耦合器。
5.良好的通用性。所述数据耦合器不仅仅适用于可重构阵列处理器,还可以用于其它的专用数据处理电路。
附图说明
图1是本实用新型的构成示意框图;
图2是地址生成器的构成图;
图3是数据耦合器输入端口构成图;
图4是数据耦合器输出端口构成图;
图5是本实用新型的数据耦合器接口信号图;
图6是本实用新型的数据耦合器工作流程图。
具体实施方式
下面结合附图详细说明本实用新型。
参照图1,本实用新型的用于可重构计算阵列的数据耦合器包括:用于设置和输出数据耦合器工作状态的数据耦合器控制单元1,按照寻址模式产生地址的地址生成器2,用于存储计算过程中的输入输出数据的计算高速缓存3,总线接口单元4,控制寄存器5,输入端口6,输出端口7和内部总线8,总线接口单元4的一端与外部总线相连接,另一端与内部总线8相连,数据耦合器控制单元1的一端与外部总线连接,另一端与控制寄存器5连接,地址生成器2与内部总线8以及计算高速缓存3的一个输入端相连接,根据内部总线传入的地址参数,地址生成器2会生成一系列的地址来访问计算高速缓存3,计算高速缓存3与内部总线8连接,并有两组传输端口,其中一组传输端口与内部总线8相连接,另一组传输端口的输入端与输入端口6的输出端相连,输出端与输出端口7的输入端相连接,输入端口6和输出端口7分别和内部总线8连接,输入端口6的输入端和可重构阵列的输出端相连接,输出端口7的输出端和可重构阵列的输入端相连接。
图2所示是地址生成器。地址生成器由地址参数高速缓存9、地址计算单元10、协处理单元11、计数器12和计数允许信号产生逻辑13组成。图中,RST是协处理单元11对地址计算单元10的重置信号;AE是地址计算单元10的计算允许信号,同时也作为数据耦合器输入/输出端口重置信号;CE是地址计算单元10计算完一个地址参数后发出的指示信号;PWE是错误地址参数指示信号,当地址计算单元10遇到的地址参数是结束参数时,那么会发出EOP信号。当计数器12越界时会发出OF有效信号,计数器12存放的是地址参数缓存9的指针,通过这个指针获得地址计算单元10的下一次计算所需要的地址参数,根据计数器12从地址计算缓存9中取出的地址参数将送往地址计算单元10。
图3所示是数据耦合器输入端口。输入端口由64位有效位寄存器14,64位有效位备份寄存器15,定时器16,有效位检查单元17和比较逻辑18组成。输入端口负责将计算数据从可重构阵列中读出,输往计算高速缓存。输入端口同时支持同步和异步工作模式,在异步工作模式下,要将阵列按双轨编码方式扩展的2位数据还原为1位有效数据,然后根据地址生成器生成的地址,将计算结果写回计算数据缓存中。如果同步模式,则不进行数据格式转换。
同步工作模式下,输入数据直接输入到计算高速缓存;在异步工作模式下,输入数据需要按照双轨编码方式处理。其中有效位寄存器14和有效位备份寄存器15用于标记每次输出数据中有效的位,该位为1表示数据中相同位序位数据有效。有效位检查单元17根据来自阵列的数据检查每对数据是否两两互补,是否符合双轨编码格式,从而按位判断当前输入数据是否有效,并将判断结果写入有效位寄存器14。这里,有效位检查单元17由异或门组成。定时器16用于防止工作超时。
图4所示是数据耦合器输出端口。输出端口负责将数据输出到可重构阵列中。输出端口同时支持同步和异步工作模式,在异步工作模式下数据要通过其内部的数据扩展单元将数据(这里原数据宽度为64位)按照双轨编码互补格式扩充原来两倍(这里是128位),再输出给可重构阵列做计算。如果是同步模式,则不作扩充,输出的数据和从缓存读出的数据宽度相同(仍为64位)。
输出端口主要由64位数据寄存器19、64位有效位寄存器20、64位有效位备份寄存器21、64位回应寄存器22、定时器23、比较逻辑24、数据扩展单元25和数据输出逻辑26组成。
数据寄存器19存放的是要输出的计算数据。输出端口同时支持同步和异步工作模式。同步工作模式下,数据寄存器19中的数据直接输出给可重构阵列。异步模式下,数据要按照双轨编码方式进行处理。其中,有效位寄存器20和有效位备份寄存器21功能与输入端口相应寄存器相同。回应答寄存器22负责实现与阵列异步通信时的应答信号接收,若检测到阵列边缘单元“获得数据确认”信号则置相应位为1。在进行每一字传输时,由计数器23对过去的时钟数进行计数,当计数值减到0时若还未完成字传输则认为输出端口或阵列发生错误。比较逻辑24将回应寄存器22和有效位备份寄存器21中相对应的每位数据进行比较,判断当前数据寄存器中的各位数据是否已被阵列接受。若该位被接受,则相应位输出为1,有效位寄存器中相应位被清。如果所有数据都被阵列接收,则输出端口继续传送下一个计算数据,如果还有某些位没有被接收,则保持数据寄存器中数据直到阵列接收。数据扩展单元25将数据寄存器和有效位寄存器20中相对应的每位数据相互作用,把原来计算数据按位扩展(即原1位数据扩充成为互补两位)。数据输出逻辑26根据当前输出端口数据准备情况和阵列数据接收情况,确定是否需要继续向阵列输出数据。如果没有这个逻辑的控制,阵列可能会重复接收同样的数据,从而导致计算结果的错误。
图5所示是耦合器的接口信号。在和控制器连接方向,有DS_RST信号,用于重置耦合器工作状态;NREQ信号用于耦合器通知控制器计算任务完成;EREQ信号用于耦合器通知控制器计算出错。在和阵列连接方向,分别有两组数据线DATO_O、DATO_I负责数据的输入输出和两组传输确认信号线ACK。
参照图6是数据耦合器的工作流程。工作流程分为以下步骤:
第一步,由外部控制器对数据耦合器进行配置。配置内容包括选择地址生成器地址产生模式,写入地址参数,配置输入/输出端口的工作模式。特殊地址产生模式的配置通过写数据耦合器控制寄存器完成。该寄存器各位定义如表1所示。
表1
位名称 | 位序 | 描述 | 复位值 | |
工作起停开关 | 0 | 0:数据耦合器停止当前工作;1:数据耦合器继续当前工作 | 0 | |
寻址模式 | 比特位反转寻址 | 1 | 0:普通寻址;1:比特位反转寻址 | 0 |
循环寻址 | 2 | 0:非循环寻址;1:循环寻址 | 0 | |
寻址维数 | 3 | 0:一维寻址;1:二维寻址 | 0 | |
保留 | 15-4 | 0 |
第二步,外部控制器通过总线控制逻辑向数据耦合器内部的计算高速缓存写入数据。
第三步,外部控制器通过控制引脚,发出DS_RST信号,重置整个数据耦合器状态。
第四步,外部控制器通过设置数据耦合器控制寄存器(表1)向数据耦合器控制单元发出开始工作信号,启动整个耦合器的工作。
第五步,数据耦合器开始工作,地址生成器开始按照预定模式产生访问计算高速缓存的地址。根据这个地址和读写信号控制,数据耦合器通过输入和输出端口与可重构阵列之间进行数据传输。地址生成器产生地址时,从地址参数高速缓存中取得地址参数,然后将参数送入地址计算单元进行计算,同时,还要将参数字的读写控制位输入到协调工作单元,协调工作单元负责查询输入/输出端口的工作状态,从而进行数据的输入/输出。在一次地址生成之后,生成的结果还要输入到计数允许信号产生逻辑,根据产生结果判断是否需要读出下一个地址。
第六步,完成地址计算过程,结束数据传输。如果需要下一次传输,则数据耦合器令NREQ信号有效,表明下一次传输请求;如果出错,则数据耦合器令NERR信号有效,表明传输出错,出错时,外部控制器可以通过查询数据耦合器状态寄存器来得知出现哪种错误。状态寄存器各位定义见表2。
表2
位名称 | 位序 | 描述 | 复位值 |
数据耦合器-可重构阵列流向 | 0 | 0:输入,即数据耦合器-可重构阵列;1:输出,即可重构阵列-数据耦合器 | 0 |
数据耦合器阻塞 | 1 | 0:数据耦合器工作正常;1:数据耦合器工作暂停/阻塞 | 0 |
数据耦合器工作中 | 2 | 0:数据耦合器空闲;1:数据耦合器正在计算 | 0 |
输出端口出错 | 3 | 0:工作正常;1:输出端口出错 | 0 |
输入端口出错 | 4 | 0:工作正常;1:输入端口出错 | 0 |
地址参数出错 | 5 | 0:工作正常;1:地址参数出错 | 0 |
保留 | 15-6 | 0 |
第七步,外部控制器接收到数据耦合器的通知信号。接收到信号后,控制器通过向数据耦合器控制寄存器发送停止工作信号来中止数据耦合器当前工作。然后根据数据耦合器的通知信号类型来做相应处理。如果结束当前计算,则退出。如果需要对新数据进行处理,则转向第二步。如果对原有数据进行新一轮循环处理,则转向第三步。
综上所述,采用本实用新型的设计方法可以满足可重构阵列对于数据流模式灵活多变的需求,同时还可以根据需求扩展到其他专用数据处理器上。
上述实施例用来解释说明本实用新型,而不是对本实用新型进行限制,在本实用新型的精神和权利要求的保护范围内,对本实用新型作出的任何修改和改变,都落入本实用新型的保护范围。
Claims (1)
1.用于可重构计算阵列的数据耦合器,其特征是包括用于设置和输出数据耦合器工作状态的数据耦合器控制单元(1),按照寻址模式产生地址的地址生成器(2),用于存储计算过程中的输入输出数据的计算高速缓存(3),总线接口单元(4),控制寄存器(5),输入端口(6),输出端口(7)和内部总线(8),总线接口单元(4)的一端与外部总线相连接,另一端与内部总线(8)相连,数据耦合器控制单元(1)的一端与外部总线连接,另一端与控制寄存器(5)连接,地址生成器(2)与内部总线(8)以及计算高速缓存(3)的一个输入端相连接,计算高速缓存(3)与内部总线(8)连接,并有两组传输端口,其中一组传输端口与内部总线(8)相连接,另一组传输端口的输入端与输入端口(6)的输出端相连,输出端与输出端口(7)的输入端相连接,输入端口(6)和输出端口(7)分别和内部总线(8)连接,输入端口(6)的输入端和可重构阵列的输出端相连接,输出端口(7)的输出端和可重构阵列的输入端相连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200520116900 CN2869994Y (zh) | 2005-12-02 | 2005-12-02 | 用于可重构计算阵列的数据耦合器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200520116900 CN2869994Y (zh) | 2005-12-02 | 2005-12-02 | 用于可重构计算阵列的数据耦合器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN2869994Y true CN2869994Y (zh) | 2007-02-14 |
Family
ID=37724933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200520116900 Expired - Fee Related CN2869994Y (zh) | 2005-12-02 | 2005-12-02 | 用于可重构计算阵列的数据耦合器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN2869994Y (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200961A (zh) * | 2011-05-27 | 2011-09-28 | 清华大学 | 一种动态可重构处理器内子单元的扩展方法 |
CN102281054A (zh) * | 2011-04-25 | 2011-12-14 | 浙江大学 | 一种用于数据驱动的可重构计算阵列数据耦合器 |
CN108399281A (zh) * | 2018-01-31 | 2018-08-14 | 西安邮电大学 | 双缓冲数据驱动邻接互连接口电路 |
-
2005
- 2005-12-02 CN CN 200520116900 patent/CN2869994Y/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281054A (zh) * | 2011-04-25 | 2011-12-14 | 浙江大学 | 一种用于数据驱动的可重构计算阵列数据耦合器 |
CN102200961A (zh) * | 2011-05-27 | 2011-09-28 | 清华大学 | 一种动态可重构处理器内子单元的扩展方法 |
CN102200961B (zh) * | 2011-05-27 | 2013-05-22 | 清华大学 | 一种动态可重构处理器内子单元的扩展方法 |
CN108399281A (zh) * | 2018-01-31 | 2018-08-14 | 西安邮电大学 | 双缓冲数据驱动邻接互连接口电路 |
CN108399281B (zh) * | 2018-01-31 | 2023-05-12 | 西安邮电大学 | 双缓冲数据驱动邻接互连接口电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107257960A (zh) | 两级存储器全行写入 | |
CN101655821B (zh) | 一种解决地址空间映射哈希地址冲突的方法及装置 | |
CN1959686A (zh) | 模拟异步接口的行为的方法和系统 | |
US11599417B2 (en) | Error correction system | |
CN102880567B (zh) | 数据读写系统 | |
CN2869994Y (zh) | 用于可重构计算阵列的数据耦合器 | |
CN115345285B (zh) | 基于gpu的时序图神经网络训练方法、系统及电子设备 | |
CN1892528A (zh) | 产生数字信号处理器和存储器的时钟信号的电路和方法 | |
WO2022047390A1 (en) | Memory processing unit core architectures | |
CN1776660A (zh) | 一种用于可重构计算阵列的数据耦合器 | |
CN115952846A (zh) | Ai算法架构的实现装置、稀疏卷积运算方法及相关设备 | |
CN101364215B (zh) | 一种用于节省存储空间的数据处理装置及方法 | |
CN117271953A (zh) | 一种用于优化快速傅里叶变换的存内计算加速电路及方法 | |
CN111600731A (zh) | 一种期货行情档位快速处理系统和方法 | |
CN108920097B (zh) | 一种基于交织存储的三维数据处理方法 | |
US20140089370A1 (en) | Parallel bit reversal devices and methods | |
CN102281054A (zh) | 一种用于数据驱动的可重构计算阵列数据耦合器 | |
CN112632465B (zh) | 基于fpga的实对称矩阵特征值分解的数据存储方法 | |
CN102622318B (zh) | 一种存储器控制电路及其控制的向量数据寻址方法 | |
WO2022238759A1 (en) | System and method for processing between a plurality of quantum controllers | |
CN111368250B (zh) | 基于傅里叶变换/逆变换的数据处理系统、方法及设备 | |
CN110705701A (zh) | 一种高并行度的卷积运算方法和电路 | |
US12112043B2 (en) | Data flow control device in streaming architecture chip | |
CN100375065C (zh) | 产生预测地址值的电路和方法 | |
CN117194281B (zh) | 一种用于asic中不定长数据的非对称存取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |