CN104035896B - 一种适用于2.5d多核***的融合存储器的片外加速器 - Google Patents
一种适用于2.5d多核***的融合存储器的片外加速器 Download PDFInfo
- Publication number
- CN104035896B CN104035896B CN201410254412.8A CN201410254412A CN104035896B CN 104035896 B CN104035896 B CN 104035896B CN 201410254412 A CN201410254412 A CN 201410254412A CN 104035896 B CN104035896 B CN 104035896B
- Authority
- CN
- China
- Prior art keywords
- accelerator
- memorizer
- chip
- data
- processor
- 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
Landscapes
- Advance Control (AREA)
Abstract
本发明属于多核处理器设计技术领域,具体为一种适用于2.5D多核***的融合存储器的片外加速器。该片外加速器包括:逻辑控制电路(包括指令译码器、状态寄存器)、存储器(以阵列方式组织)、加速器、可配置互连网络。逻辑控制电路从处理器端接收配置包,经过解析,对相应的链路进行配置,决定存储器的输出数据是否经过加速逻辑返回处理器。本发明结构适用于面向特定应用的2.5D多核处理***,可以降低由于片间访存延时较大而引起的性能损失,存储器输出数据可以选择经过不同的加速单元进行计算和输出,具有一定的灵活性。
Description
技术领域
本发明属于多核处理器技术领域,具体涉及面向特定应用的融合存储器的片外加速器结构。
背景技术
近年来,为了解决单芯片设计越来越复杂的问题,人们逐渐把目光转移到2.5D和3D电路的设计实现上,常见的一种形式就是把处理器、存储器和加速器分别在不同的芯片上实现。但是对于多媒体这种具有存储密集和重复计算性质的应用来说,从存储器到处理器和加速器的数据通信需要经过芯片的I/O口、芯片间的互连通道才能到达目的芯片,然后沿着相同的路径返回至存储器,有时甚至会出现跨越多个芯片的数据通信。这种情况下,在实现过程中,会出现两个主要的影响性能瓶颈。
第一,通过层次化的存储器进行通信,会有一个比较明显的延时,主要是由于处理器和存储器间日益扩大的“存储墙”造成的。第二,连接处理器和存储器的总线带宽受到芯片和板级互连的限制。这两个因素极大的影响了芯片间的通信效率,尤其是对于多媒体、通信这种数据密集型的应用,影响尤其明显。
发明内容
本发明的目的在于,针对2.5D多核***中存在的芯片间通信延时大、通信效率低的问题,提出一种适用于2.5D多核***的融合存储器的片外加速器的实现方案,以降低功耗、提高性能。
本发明提出的适用于2.5D多核***的融合存储器的片外加速器结构,通过高度集成的方式实现在一块芯片上。通过互连方式将存储器和加速器以一定的耦合方式连接在一起,处理器发送配置包来配置存储器和加速器之间的数据通路,存储器中的数据可以直接选择不经过任何处理返回处理器,也可以直接进入某种加速器,实现特定功能的计算后返回给处理器,避免了芯片之间因为多次通信来实现加速所造成的性能和功耗损失。
本发明提出的一种适用于2.5D多核***的融合存储器的片外加速器,具体包括:逻辑控制电路(包括指令译码器、状态寄存器)、存储器(以阵列方式组织)、加速器、可配置互连网络。其中:
所述逻辑控制电路是整个片外芯片的控制中心,逻辑控制电路接收处理器发送的配置包,配置存储器和加速器以及加速器和加速器之间的网络接口,选择存储器的输出数据是否要经过加速器的计算再返回处理器。逻辑控制电路接收到处理器发送的配置包后,首先从配置包中解析出相应的信息,利用该信息控制相应的状态寄存器,此状态寄存器的状态能够控制切换存储器和加速器的接口。
具体来说,当多核***的处理器发送一条控制指令时,该指令首先进入该逻辑控制电路,经过逻辑控制电路中指令译码器的译码,得到配置字,该配置字被写进状态寄存器中得以保持,直至下一个指令字到达、解码和重新写入。状态寄存器中的配置字被传到互连网络中,控制互连网络中各个多路选择器的状态。
当路径配置成功后,处理器端发送有效的访存数据,包括地址和数据进入存储器,整个片外存储器具有比较大的容量,是一种阵列的方式的组织的,由不同的bank组成,整个存储器是放在片外的,对于多核处理器来说,它是共享的,每个处理器都可以访问存储器,这同时也使得和存储器互连的加速器同样可以被多个核所共享,这种实现方式在保证了一定的灵活性时,同时保证了资源的共享性。
所述存储器的输出通过互连网络连接到加速器,存储器完成数据的读取后,根据前面的路径配置,数据可以直接返回处理器作为lw的结果,也可以经过另一条路径进入加速器完成特定功能的加速目的。在加速器中,可以选择面对特定应用的加速器,选择合理的粒度大小,包含数据缓存和逻辑计算等模块,根据配置字从存储器中接收数据,进行相应的计算后,返回输出结果。例如,加速器可选择多媒体中的dct、zigzag等,也可以选择一些常用的加速模块,例如复数乘法。此外,为了保证整个***的性能,在有限的芯片面积上充分利用计算的并行性是至关重要的,因此,计算逻辑还可以引入SIMD计算单元。存储器的输出通过互连网络连接到加速器,但是访存速度并不会太明显的受到影响,数据进入加速器之前,会在输入口进入数据缓存级,这是由寄存器组成的,并不会增加访存的关键路径。加速器的设计面向特定应用,选择合理的粒度大小,包含数据缓存和逻辑计算等模块,根据配置字从存储器中接收数据,进行相应的计算后,返回输出结果。
任务被划分在不同的加速器上是通过一个可编程的可配置的互连网络实现,整个互连网络是由一系列的多路选择器级联组成的,而多路选择器的开关由状态寄存器中的配置字决定,从而引导数据的流向。这些互连网络在存储器和加速器之间共享,从而实现加速器能够对任何从存储器输出的数据进行加速,由于加速器是面向特定应用的固定模式,并不会出现数据在加速器之间的传递(这种情况下会要求更复杂的控制模式),因此避免了复杂的片上网络的设计,对于对性能有极大影响的存储器来说,简化设计是有必要的。对于比较复杂的加速器来说,可以单独放在一块独立的芯片上,这也是2.5D的一个优势,减少单芯片的设计复杂度。
本发明中,根据处理器的配置指令,整个片外逻辑既可以作为单独的存储器使用,也可以将存储器中的数据加速之后再返回,而根据配置字又可以选择不同加速器来使用,避免了多次跨芯片级的通信,提高了性能。
本发明提出了一种面向特定应用的加速器和存储器融合的方案,将计算单元和存储单元集成在一块芯片上,使得具有明显加速比的加速单元直接在存储器内执行,避免了存储器和处理器、加速器之间由于数据通信造成的性能和功耗损失。为了充分利用这种结构的优势,加速器和存储器并不只是简单的分别实现在同一块芯片上,而是要高度的集成在一起,最大限度的开发计算的并行性和资源的共享性,这体现在内部逻辑的互连网络实现方式上。总之,本发明为2.5D的多核***中硬件资源的高利用率和共享性、低功耗、实时运行和计算的并行性提供了实现的可能。
附图说明
图1是融合存储器的片外加速器的结构图。
图2是逻辑控制电路结构图。
图3是面向多媒体的一种加速单元(dct|dht)结构图。
图4是一种实现调用多种加速器的复数乘法结构图。
图5是可编程的互连网络的结构图。
图6一维反变换算法图示。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不限于本发明。
根据发明中的方案,如图1-图5所示,提供了一种适用于2.5D多核***的融合存储器的片外加速器设计架构,考虑到芯片间互连的延时,如果加速器的粒度太小,则会在芯片间的通信上浪费掉大量的时间,所以单独的片外加速器要有合适的粒度,大粒度的加速器可以放在一块芯片上,小粒度的加速器则可以和存储器合并在一起,本方案提出的目的即基于此,都是一些加速效果明显,但粒度又不是很大的模块。本方案提供的加速器既有部分是面向的针对多媒体的关键模块的硬件实现,例如dct、zigzag扫描等,又有部分是面向的各种应用中的通用加速模块,例如加法器、乘法器,二者又可以通过资源复用组成针对复数乘法等一些复杂的计算功能,还有其它的一些4点的fft单元和cordic运算单元。
下面结合结构图进一步说明本设计的具体实施方式:
如图1所示,本发明提出的融合加速器和存储器的结构,通过高度集成的方式实现在一块芯片上。通过互连方式将存储器和加速器以一定的耦合方式连接在一起,处理器发送数据、地址和配置包经过芯片间的互连通道到达控制逻辑,控制逻辑根据指令中的信息解码出配置字,配置字会立即被写入状态寄存器中进行保存,在整个计算周期得以保持,直至下一个配置字的到来,状态寄存器的输出直接连接在互连网络上,通过控制互连网络来配置存储器和加速器之间的数据通路,存储器中的数据沿着配置的互连网络流动,可以直接选择不经过任何处理返回处理器,也可以选择进入某种加速器,实现特定功能的计算后返回给处理器,也就是说整块芯片既可以作为一块片外存储器来使用,也可以根据作为一块融合存储器的加速器来使用。
下面对关键模块的实现进行描述。
如图2所示是整个架构中逻辑控制电路的结构图,该模块接收从处理器发过来的打包的数据,包含有效的地址信号、数据信号和互联网络的控制信号,地址信号进入地址译码器,得到层次化存储器的真实地址,从而可以从由多个bank组成的存储器阵列中得到相应的数据。
处理器发过来的指令信号则会进入指令译码器,通过译码器的译码得到一系列的配置字,每种配置字代表互连网络的一种配置模式,如图2所中的表格所示,指令译码器的输出端口直接连接在状态寄存器上,使得配置字在计算周期内保持不变 ,而状态寄存器的输出则连接在互连网络的配置端口,直接将配置字写入多路选择器,实现路径配置。此外,存储器的输出数据除了根据配置路径进入到单独一个加速器后,也可以根据相应的路径在多个加速器之间进行流动,从而将小的加速器模块组合起来形成大的加速器,功能上也更复杂,例如可以将乘法器和加法器组合起来形成一个复数乘法的计算单元,当然这种实现方式要严格控制数据的到达时间,使得加速硬件在不同的时钟周期接收到不同的数据进行计算,最后再将这些数据整个起来进入下一级的计算。
图3展示了一种面向多媒体的加速单元的设计,代表的是利用一个的加速器实现计算的功能映射。正如前面所述,融合于存储器的加速器的复杂度不需要太大,图6展示的一种加速器就是H.264中的dct&dht的硬件实现。根据算法,一维整数DCT可以采用蝶形快速算法实现,节省计算时间。
对于H.264来说,一个16bit的数据足以表示参与计算的数据的大小,因此硬件实现上参与运算的4个数据均是以16bit表示,这样可以尽量减小芯片面积。
对输入操作数的4个16bit完成idct 或iht 操作。输入为2个32bit,输出为2个32bit数据。sel为选择idct 或iht 操作,1为iht,0为idct。
数据从存储器中取得后,先进入输入级寄存器,同时有一个计数器对输入的数据进行统计,如果数据个数达到要求,则开始对数据进行划分和统计,每一个32比特数据分成2个16bit数据,代表参与计算的两个数,计算完成后,结果进入输出级进行重排序后就可以输出了。
图4代表的是数据在多个加速单元进行传递,调用多个加速单元实现更复杂的应用映射的的结构图,本图中以复数乘法为例进行讲解。
复数乘法的公式为:
可以看出,完成一次复数乘法,需要4次乘法,两次加法。因此,整个运算分成两级执行,第一级执行4个乘法操作,第二级执行两个加法操作。考虑到加速单元中仅有两个乘法器,因此在实现时要充分利用乘法器的分时复用,在a、b、c、d四个数据输入时,先计算a*c和a*d的乘法结果,计算完后,保存数据在数据缓存模块中,等待b*c和b*d的计算结果,当4个乘法结果都计算完成后,就可以根据配置的互连网络,将乘法结果送入到下一级的加法器中,充分利用两个加法器的资源,计算ac-bd和ad+bc的结果。
要保证这种多级的加速应用的实现,要增加相应的互连网络的连接方式。首先互连网络要保证存储器的输出接口能够和多个加速器进行连接,其次,多个加速器之间也要有一种互连方式,保证加速器之间可以传递数据。
图5展示了互连网络的结构图,任务被划分在不同的加速器上来实现就是通过这些可编程的、层次化的互连线完成的,这些互连网络的实现并没有采用传统的路由器的复杂的构造来实现,而是由大量的路由开关组成的,在存储器和加速器、加速器和加速器之间都是共享的,而路由开关 实际上是由几个多路选择器来实现的,通过处理器发送的指令,控制这些多路选择器的开关,从而可以控制路由开关的状态,对于层次化的互连网络,从上一层传输的数据既可以进入路由开关后,既可以从左边、也可以从右边输出到下一级路由开关,直至到达最终加速器,而加速器之间也是由一种类似的互连网络来连接,从而实现数据在不同的加速单元之间的传递。
综上所述,本发明上述的适用于2.5D多核***的融合存储器的片外加速器设计案例可以比较显著的避免因为芯片间的互连延时造成的性能下降,属于2.5D多核处理器领域。该架构基于传统的多核处理器中的加速器和存储器设计,由处理器发送指令来配置存储器和加速器之间的数据通路,可以将本文设计电路配置成片外存储器使用,也可以当做融合存储器的加速器来使用 ,在保证2.D多核***的性能上有很大的优势。
Claims (2)
1.一种适用于2.5D多核***的融合存储器的片外加速器,其特征在于具体包括:逻辑控制电路、存储器、加速器、可配置互连网络;逻辑控制电路包括指令译码器、状态寄存器;
所述逻辑控制电路是整个片外芯片的控制中心,当多核***的处理器发送一条控制指令时,该指令首先进入逻辑控制电路,经过逻辑控制电路中指令译码器的译码,得到配置字,该配置字被写进状态寄存器中得以保持,直至下一个指令字到达、解码和重新写入;状态寄存器中的配置字被传到互连网络中,控制互连网络中各个多路选择器的状态;
所述存储器以阵列方式组织,由不同的bank组成,整个存储器放在片外;当路径配置成功后,处理器端发送有效的访存数据,进入存储器;对于多核处理器来说,存储器是共享的,每个处理器都可以访问存储器,同时,和存储器互连的加速器同样可以被多个核所共享;
存储器的输出通过互连网络连接到所述加速器,当存储器完成数据的读取后,根据前面的路径配置,数据直接返回处理器作为“加载字”指令的结果,或者经过另一条路径进入加速器完成特定功能的加速;
任务被划分在不同的加速器上通过可编程、可配置的互连网路实现,整个互连网络由一系列的多路选择器级联组成,而多路选择器的开关由状态寄存器中的配置字决定,从而引导数据的流向;这些互连网络在存储器和加速器之间共享,实现加速器能够对任何从存储器输出的数据进行加速。
2.根据权利要求1所述的适用于2.5D多核***的融合存储器的片外加速器,其特征在于:根据处理器的配置指令,整个片外逻辑既可以作为单独的存储器使用,也可以将存储器中的数据加速之后再返回,而根据配置字又可以选择不同加速器来使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410254412.8A CN104035896B (zh) | 2014-06-10 | 2014-06-10 | 一种适用于2.5d多核***的融合存储器的片外加速器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410254412.8A CN104035896B (zh) | 2014-06-10 | 2014-06-10 | 一种适用于2.5d多核***的融合存储器的片外加速器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104035896A CN104035896A (zh) | 2014-09-10 |
CN104035896B true CN104035896B (zh) | 2017-01-11 |
Family
ID=51466667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410254412.8A Expired - Fee Related CN104035896B (zh) | 2014-06-10 | 2014-06-10 | 一种适用于2.5d多核***的融合存储器的片外加速器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104035896B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294274A (zh) * | 2016-08-01 | 2017-01-04 | 严媚 | 一种基于2.5d先进封装技术的多核处理器 |
CN110058884B (zh) * | 2019-03-15 | 2021-06-01 | 佛山市顺德区中山大学研究院 | 用于计算型存储指令集运算的优化方法、***及存储介质 |
CN110245096B (zh) * | 2019-06-24 | 2023-07-25 | 苏州暴雪电子科技有限公司 | 一种实现处理器直接连接扩展计算模块的方法 |
CN115827256B (zh) * | 2023-02-17 | 2023-05-16 | 上海亿铸智能科技有限公司 | 用于多核存算一体加速器网络的任务传输调度管理*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10177493A (ja) * | 1996-12-16 | 1998-06-30 | Nec Corp | 図形処理システム |
CN1462387A (zh) * | 2001-02-20 | 2003-12-17 | 皇家菲利浦电子有限公司 | 用于arm处理器的存储器加速器 |
CN101203846A (zh) * | 2005-05-24 | 2008-06-18 | 科莱索尼克公司 | 具有可编程网络的数字信号处理器 |
CN102929812A (zh) * | 2012-09-28 | 2013-02-13 | 无锡江南计算技术研究所 | 基于存储接口的可重构加速器映射方法 |
-
2014
- 2014-06-10 CN CN201410254412.8A patent/CN104035896B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10177493A (ja) * | 1996-12-16 | 1998-06-30 | Nec Corp | 図形処理システム |
CN1462387A (zh) * | 2001-02-20 | 2003-12-17 | 皇家菲利浦电子有限公司 | 用于arm处理器的存储器加速器 |
CN101203846A (zh) * | 2005-05-24 | 2008-06-18 | 科莱索尼克公司 | 具有可编程网络的数字信号处理器 |
CN102929812A (zh) * | 2012-09-28 | 2013-02-13 | 无锡江南计算技术研究所 | 基于存储接口的可重构加速器映射方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104035896A (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11677662B2 (en) | FPGA-efficient directional two-dimensional router | |
EP3400688B1 (en) | Massively parallel computer, accelerated computing clusters, and two dimensional router and interconnection network for field programmable gate arrays, and applications | |
Horak et al. | A low-overhead asynchronous interconnection network for GALS chip multiprocessors | |
Pellauer et al. | Buffets: An efficient and composable storage idiom for explicit decoupled data orchestration | |
US9787612B2 (en) | Packet processing in a parallel processing environment | |
US10140124B2 (en) | Reconfigurable microprocessor hardware architecture | |
CN112463719A (zh) | 一种基于粗粒度可重构阵列实现的存内计算方法 | |
CN104699631A (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
CN104035896B (zh) | 一种适用于2.5d多核***的融合存储器的片外加速器 | |
Huang et al. | Active-routing: Compute on the way for near-data processing | |
Xin et al. | A low-latency NoC router with lookahead bypass | |
CN107562549A (zh) | 基于片上总线和共享内存的异构众核asip架构 | |
CN104699641A (zh) | 一种多核dsp***中edma控制器并行控制的方法 | |
CN103761072A (zh) | 一种粗粒度可重构层次化的阵列寄存器文件结构 | |
CN103902505A (zh) | 一种基于开关网络的可配置fft处理器电路结构 | |
Agyeman et al. | An efficient 2d router architecture for extending the performance of inhomogeneous 3d noc-based multi-core architectures | |
Qian et al. | Fsnoc: A flit-level speedup scheme for network on-chips using self-reconfigurable bidirectional channels | |
Su et al. | A highly efficient dynamic router for application-oriented network on chip | |
US10445099B2 (en) | Reconfigurable microprocessor hardware architecture | |
Pande et al. | Performance optimization for system-on-chip using network-on-chip and data compression | |
Zhu et al. | BiLink: A high performance NoC router architecture using bi-directional link with double data rate | |
CN203706196U (zh) | 一种粗粒度可重构层次化的阵列寄存器文件结构 | |
CN111078624B (zh) | 片上网络处理***和片上网络数据处理方法 | |
CN111078625B (zh) | 片上网络处理***和片上网络数据处理方法 | |
Fischer et al. | FlooNoC: A Multi-Tbps Wide NoC for Heterogeneous AXI4 Traffic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170111 Termination date: 20190610 |
|
CF01 | Termination of patent right due to non-payment of annual fee |