CN115509988A - 基于异步机制的Lamoeba芯片架构与运行时重构机制方法 - Google Patents
基于异步机制的Lamoeba芯片架构与运行时重构机制方法 Download PDFInfo
- Publication number
- CN115509988A CN115509988A CN202211214465.8A CN202211214465A CN115509988A CN 115509988 A CN115509988 A CN 115509988A CN 202211214465 A CN202211214465 A CN 202211214465A CN 115509988 A CN115509988 A CN 115509988A
- Authority
- CN
- China
- Prior art keywords
- time
- node
- network
- chip
- routing node
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于异步机制的Lamoeba芯片架构与运行时重构机制方法,该方法以异步可重构Lamoeba芯片与以时间为代价的重构算法机制相结合,异步机制的Lamoeba芯片为可重构计算提供硬件基础,Lamoeba芯片采用片上mesh NoC的通信架构进行网络上数据的传输与通信,网络采用2D‑mesh的拓扑结构,该网络中挂载不同类型的计算模块,结合单片机中的微处理器,进行软件编程、路由地址配置,以完成相应算法的计算;重构算法对网络中不同路径下数据运算时间、路由时间和仲裁时间进行计算,以找到时间最短的分配方式来进行算法的映射,改变对算法中计算模块到硬件资源上的部署。本发明具有通用计算灵活、专用计算高、无时钟低功耗以及能避免同步电路中时钟带来的各种问题的优势。
Description
技术领域
本发明属于计算机信息处理技术、集成电路设计和可重构计算领域,尤其涉及一种基于异步机制的Lamoeba芯片架构与运行时重构机制方法。
背景技术
在可重构计算领域,传统的计算方式有两种:
一种是采用专用集成电路(ASIC)的方式,ASIC是专门为执行给特定的计算而设计的,因此,当执行它们设计的精确计算时,它们是非常快速和高效的。如果电路的任何部分需要修改,这就迫使芯片重新设计和再制造,整个过程消耗很高的代价;
第二种方法是使用软件编程的微处理器,这是一种更灵活的解决方案。处理器通过执行一组指令来进行计算,系统不同功能的实现可以在不改变硬件的情况下改变软件指令的方式。然而,处理器完成一组操作时,一般会有四个指令周期,包括取指令、译码、执行和写回,因此在性能上会受到影响,因而在工作速率上也远低于ASIC。
此外,现有方法中还普遍存在以下问题:
(1)专用芯片单价成本高,周期长,灵活性差
对于专用集成电路的计算方式,即专用芯片,针对特定应用量身定制的IC,对于其他应用场景是无法应用的,因此该方式的灵活度很低。如果修改电路中的某项功能,必须从根本上重新设计,本身芯片制造的单价成本就很高,因此该方式的代价就相对比较高。
(2)微处理器软件编程实现,效率相对低,性能差
微处理器一般有相应的指令集,通过编程的方式实现不同的计算,但是由于存储器访问,指令周期时间长和固定控制体系结构的限制,往往不能达到最高的效率和最快的速度。
(3)同步电路性能受限
在集成电路的设计中,绝大多数设计采用的是同步电路设计。当前的主流CMOS工艺为45nm到14nm,最新工艺可达3nm。随着CMOS工艺的提升,不仅会使得晶体管的集成度增大,导致固定面积上的电路更加复杂,还会使得电路的时延敏感性增强,导致时钟电路设计和实现更为困难。因此同步设计将会面临时钟歪斜、时钟树的电源管理、时钟分布等挑战。
(4)同步设计还存在着功耗过大、电磁辐射等问题
通过调研发现,在同步电路的设计中,时钟树消耗的功耗在整个电路的功耗中占很高的比例,例如:在DEC公司经典0.18um工艺下Alpha21164微处理器[1]电路的功耗占整个电路功耗的40%。在很多高性能处理器中,时钟电路的功耗所占的比例约为35%至40%。
发明内容
为解决现有技术中所存在的缺陷和不足,本发明的目的在于提供一种基于异步机制的Lamoeba芯片架构与运行时重构机制方法。
本发明是这样实现的,一种基于异步机制的Lamoeba芯片架构与运行时重构机制方法,该方法以异步可重构Lamoeba芯片与以时间为代价的重构算法机制相结合,所述异步机制的Lamoeba芯片为可重构计算提供硬件基础;所述Lamoeba芯片架构中,Lamoeba芯片采用片上mesh NoC的通信架构进行网络上数据的传输与通信,所述网络采用2D-mesh的拓扑结构,该网络中挂载不同类型的计算模块,结合单片机中的微处理器,进行软件编程、路由地址配置,以完成相应算法的计算;其中,所述重构算法对网络中不同路径下数据运算时间、路由时间和仲裁时间进行计算,以找到时间最短的分配方式来进行算法的映射,改变对算法中所述计算模块到硬件资源上的部署。
优选地,所述异步机制的Lamoeba芯片架构由芯片软硬件接口、mesh NoC和PE资源组成;其中,mesh NoC提供高性能PE的互连,其配置是由主处理器用软件实现的,软件传递数据包和目标PE的地址坐标信息,然后由Lamoeba芯片进行高速在线可重构计算。
优选地,所述重构算法中时间最短的分配方式的运算过程包括以下步骤:
(1)计算出在下一时间段内路由节点是否存在来自其他方向的数据包对该节点产生的请求;若是,判断该路由节点要进行仲裁并算出仲裁时间,否则该路由节点直接进行输出;
(2)根据以下公式计算不同路径的总时间T:
T=(m+n)tjump+te+Δt
ti,j=ntjump,n∈{0,1,…,4}
其中,T为从进网络到出网络的总时间,网络规模为m行n列,tjump为路由每一跳的时间,te为相应计算单元执行的时间,ti,j为不同坐标下路由节点的仲裁时间,ti,j是tjump的整数倍,Δt为一条完整路径中各个路由中节点仲裁时间之和;
(3)对不同的路径计算相应的T,从中选择时间T最小的路径为目标路径。
优选地,所述步骤(1)的具体过程为:
假设被选择的路径所经过的路由节点坐标为(i,j),t0表示当前的时间点,ts,i,j表示到达路由节点(i,j)的时间点,tf,i,j表示从路由节点(i,j)输出的时间点,当(i,j)未经过计算节点前的路由节点时,α为1,经过计算节点后的路由节点时,α为0;到达(i,j)路由节点的时间点计算公式如下:
ts,i,j=t0+(i+j)tjump+(1-α)(tjump+te),α∈{0,1}
tf,i,j=t0+(i+j+1)tjump+(1-α)(tjump+te),,α∈{0,1}
假设网络中当前时刻所占用的计算节点或者路由节点的坐标为(x,y),接下来要经过(i,j)节点,到达(i,j)节点的时间点为t′s,x,y,从该路由节点输出的时间点为t′f,x,y,当(x,y)为路由节点的坐标时,μ为1,为计算节点的坐标时,μ为0;节点(x,y)到达路由节点(i,j)的时间点计算公式如下:
t′s,x,y=t0+(i-x+j-y)tjump+(1-μ)(te-tr),μ∈{0,1}
t′f,x,y=t0+(i-x+j-y+1)tjump+(1-μ)(te-tr),μ∈{0,1}
在(t′s,x,y,t′f,x,y)的时间段内,该(i,j)路由节点被占用,其他方向再次传来数据包时,无法直接传输出去,要等待第一个数据包传输出去后,才能进行下一个数据包的传输;判断被选择路径到达(i,j)路由节点时,是否仲裁还是直接传输,通过以下公式进行判断:
t′s,x,y<ts,i,j<t′f,x,y
当接下来被选择的路径到达(i,j)的时间点在网络中已占有的节点(x,y)到达(i,j)节点的时间点和结束的时间点之间,且向同一个方向传出数据包,表明该节点会发生仲裁,ti,j=tjump,即当t′s,x,y<ts,i,j<t′f,x,y时,表明(i,j)在当前时间段里是被占用的,该路由节点会发生仲裁,此时Δt=tjump。
优选地,所述部署中,算法通过调度、分配、绑定和路由重构方法部署到硬件资源上。
可重构计算旨在填补硬件和软件之间的空白,这种求算方式是通过对硬件资源进行软件配置,以适应不同算法的处理,故其既具有了软件的灵活性,又具备了ASIC硬件的高速性。可重构系统通常由可重构逻辑和通用微处理器组合而成。处理器执行在可重构逻辑中无法完成的操作,而计算核心被映射到可重构硬件上。可重构计算为提升系统灵活性、适应性和可扩展性提供了新的手段。现有的可重构设备有现场可编程门阵列(FPGA),包含计算元素阵列,其功能是通过多个可编程配置位来确定的。FPGA和可重构计算已经被证明可以加速各种应用。例如,数据加密能够同时利用并行性和细粒度数据操作。可重构硬件中逻辑块之间的路由对可重构硬件的整体区域有重要的贡献。良好的路由结构对于确保设计能够被成功地放置和路由到可重构硬件是至关重要的。
本发明克服现有技术的不足,提供一种基于异步机制的Lamoeba芯片架构与运行时重构机制方法。本发明将异步机制实现的Lamoeba芯片,与以时间为代价的重构算法机制相结合进行研究。本芯片采用事件触发无全局时钟的方式实现,避免了同步电路中全局时钟电路带来的影响。本芯片采用片上网络(network on chip,NoC)的通信架构,完成网络上数据的传输与通信。该网络采用2D-mesh的拓扑结构,将不同的计算模块挂载上面,完成相应算法的计算。该芯片为可重构的计算提供了硬件基础。本专利结合mesh NoC提出一种可重构算法,该算法以时间为代价结合芯片网络中的拥塞状况对整个算法的影响,在运行时改变对算法中计算模块到硬件资源上的部署,主要计算不同路径下的总时间,从而找到时间最短的分配方式来实现算法的映射,提高了算法的整体实现效率。通过可重构算法将不同应用场景中的算法映射到网络中,找到网络中产生冲突概率最小的节点降低代价,使算法在网络上实现的运算效率更高,面积利用率更小。
相比于现有技术的缺点和不足,本发明具有以下有益效果:
(1)本发明采用可重构计算的方式,兼顾通用计算的灵活性,又具有专用计算的高效性。可重构计算填补了硬件和软件之间的空白,这种计算方式是通过对硬件资源进行软件配置,适应不同算法的处理,故其既具有了软件的灵活性,又具备了ASIC硬件的高速性。可重构系统通常由可重构逻辑和通用微处理器组合而成。处理器执行在可重构逻辑中无法完成的操作,而计算核心被映射到可重构硬件上。可重构计算为提升系统灵活性、适应性和可扩展性提供了新的手段。
(2)本发明采用异步机制芯片实现可重构计算方式,避免同步电路中时钟带来的各种问题。通过采用异步控制器来取代同步电路中的时钟电路。与同步时钟方案相比,异步电路不需要庞大的时钟分布网络,而是通过采用异步控制器来实现局部通信,异步控制器之间通过握手协议来完成异步控制,这样可以很好地避免在大规模集成电路设计中同步时钟电路所面临的时钟歪斜、时钟树的电源管理、时钟分布等诸多挑战。
(3)本发明采用的异步电路具有无时钟低功耗的优势。本发明中的可重构芯片采用无时钟事件触发的方式,只有事件到来,才会驱动当前的触发器的使用,其他触发器没有事件驱动时是不会工作的,因此在整体工作的过程中功耗是极低的。这种工作方式对于军工方面和可穿戴设备的使用都具有很好的应用场景,此外异步电路以系统集成复杂性低、运行速度快、电磁干扰性强以及网络接口规范等特点,在低功耗的设计中具有很强的竞争力。而且异步设计中也同时具有高吞吐率、无电磁污染、针对电源、温度和制造参数的健壮性更强、模块化好等优点。
(4)本发明中的异步mesh NoC具有很好的路由性,路由网络中挂载不同类型的计算模块,结合单片机中的微处理器,进行软件编程与路由地址配置,以实现不同的计算,为可重构计算提供了基础,因此研究该芯片的架构与运行时重构机制是十分有意义的。
附图说明
图1是click控制器和BBD协议;
图2是本发明微流水线图;
图3是本发明异步可重构硬件架构;
图4是本发明可重构机制。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
1、异步电路
1.1、BBD握手协议
异步机制是一种无时钟电路,如图1所示,其中,BBD型异步电路是一种局部解决时序问题的方法,它有效地区分了电路的数据模块和控制模块。需要注意的是,控制路径中两个相邻的异步控制器的匹配延迟必须大于相应的数据路径计算所需的时间,否则将导致不正确的行为,输出违规行为。整个设计的控制是由“请求-响应”机制来保证的,相邻的控制器通过握手来实现同步。图1左半部分为Click异步控制器单元的结构图,该电路由一个异或门,一个同或门,一个与门,一个非门,一个锁存器和若干个缓冲单元构成。与CElement不同,Click控制器采用的是2相不归零的“约束捆绑数据”握手协议。该异步控制器有两个输入端(in_R和out_A)和三个输出端(in_A、out_R和Fire),其中控制器左侧的端口(in_R和in_A)用于与前一级时序的Click控制器进行通信,控制器右侧的端口(out_R和out_A)用于与后一级时序的Click控制器进行通信。Fire信号用于数据处理。
1.2、微流水线
微流水线结构由Ivan Sutherland在1988图灵奖颁奖典礼上提出,通常包含两条通路:控制通路和数据通路,如图2所示。控制通路由异步控制器和延迟单元构成;数据通路由数据、寄存器及组合逻辑电路组成。假设在初始化过程中,输入数据与req/ack对的绑定到达,同时,本地控制信号fire产生并翻转寄存器,然后数据路径的当前阶段开始用数据和组合逻辑进行计算。计算结束后,更新的数据绑定了一个新的事件,然后进入下一个阶段。
2、异步可重构芯片
2.1、芯片架构
本发明提出的可重构系统由两部分组成,即微处理器和异步可重构的Laoema芯片,其中芯片主要由软硬件接口、网状NoC和PE资源组成,如图3所示。它们都是通过异步机制实现的,所以芯片的工作是完全异步的。
本发明使用180纳米工艺制造全异步mesh NoC,该芯片已经通过测试,其中芯片的整体电源为3.3V,内核电压为1.8V,引脚为in_data、sfr_rd、in_valid、west_in_R_00、out_data、out_valid、North_click_out_A_33、clk、rst。当in_valid为高电平时,in_data有效,并开始通过串行端口将数据传入芯片中;当out_valid为高电平时,out_data输出数据并完成计算。
NoC提供了高性能PE的互连,它的配置是由主处理器用软件实现的。软件传递数据包和目标PE的地址坐标信息,然后可重构芯片进行高速在线可重构计算。
2.2、片上网络
异步可重构芯片采用片上网络(network on chip,NoC)的通信架构,采用4*4的2D-mesh作为其拓扑结构,通过该网络能完成数据的通信与交互。整个网络包含资源节点和路由节点两类节点,架构图如图3所示。其中网络中路由节点一共有16个,路由节点即为解决各功能模块之间的通信问题而建立的网络中转节点,其主要功能是实现功能模块之间的通信。资源节点是实现系统所需功能的模块,其中包含有16个资源节点。该网络与外部进行数据交互的是一个串并转换接口和一个并串转换接口,对数据的位宽进行处理。通过该网络将片上资源互联,并将数据封装打包传递,实现各模块之间高效的交互。将NoC片上路由机制与Mesh网络结构结合,提高了各资源节点间的通讯效率。整个mesh结构的NoC设计中,采用无时钟的全异步的设计思路,由事件驱动的握手机制绑定数据,具有功耗低、模块性易于集成和安全性高等特点。
网络中每个路由节点具备东、西、南、北和本地五个方向的路由功能,前四路方向用来和邻近的节点相连,以实现与其周围其他路由节点的通信能力,而各节点通过本地的输入输出端口与本节点的处理单元进行通信,以实现数据的运算。网络中的核心主要包括两方面,一个是路由算法,另一个是仲裁机制。其中节点间的路由算法采用的是X-Y路由算法,该算法属于确定性维序路由算法,该路由算法路由的路径只和起点地址和终点地址有关,当路由节点地址和目标路由节点地址确定的情况下,路由的路径是唯一的。X-Y路由算法的路由方式是首先对数据包中的地址数据进行解析,先将X方向的路由数据进行路由处理,指定X方向的路由数据处理完成以后,再对Y方向上的路由进行路由处理,最后找到目标节点后结束,从而完成一次路由过程。为了防止路由网络中两路及两路以上同时请求输入产生冲突,采用仲裁机制来实现请求信号的分配,缓存,等待等功能。仲裁器在整个路由节点中做到了对请求信号的公平分配,保持仲裁结果的公平,维持整个网络的路由健康。网络中每个路由节点都连接一个处理单元,整个网络主要包括定点和浮点两种运算方式,其中包括3个16位异步定点加法器、5个16位异步浮点加法器、4个16位异步定点乘法器和4个16位异步浮点乘法器。处理单元作为处理器结构中重要组成部分,其运算的速度直接影响整个芯片的效率。其中,定点乘法器是基于异步电路设计方法学实现的,它采用微流水线的方式来控制各个模块的时序,采用Booth算法实现16位乘法器,其核心思想是先移位(产生多位部分积)、再压缩,最后求和,减少了各模块间的耦合性,保证了运算的速度。浮点数乘法包括符号位异、指数位相加和尾数相乘三部分运算。网络的路由机制和不同类型的运算单元为算法的可重构性提供了硬件基础。
3、运行时重构
3.1、确定性的时间代价
可重构路由算法的主要思想是找到完成一次计算仲裁次数最少的一条路径,从而提高整个算法的运算效率。通过一种可重构算法将网络中不同路径进行数据运算的时间计算出来,找到计算时间最短的那条路经,进行数据包的传输和操作。
假设网络规模为m行n列,T为从进网络到出网络的总时间,tjump为路由每一跳的时间,te为相应计算单元执行的时间,ti,j为不同坐标下路由节点的仲裁时间,ti,j是tjump的整数倍,一个路由节点最多接收5个方向的数据包,因此路由节点仲裁时间最大可能是4倍的每跳时间,最小情况是不可能发生仲裁即n为0。Δt时间为一条完整路径中各个路由节点仲裁时间之和。通过计算不同路径的总时间T,选择最小的T值来确定要走的路径。
T=(m+n)tjump+te+Δt
ti,j=ntjump,n∈{0,1,…,4}
计算仲裁时间,首先要判断路由节点会不会产生仲裁,因此判断的计算也是非常重要的一步。判断接下来选择的路径所经过的路由节点是否发生仲裁,需要计算出在接下的时间段内路由节点是否有来自其他方向的数据包向同一方向发送数据包,如果有则该路由节点要进行仲裁,算出仲裁时间,没有则该路由节点直接进行输出。
假设被选择的路径所经过的路由节点坐标为(i,j),t0表示当前的时间点,ts,i,j表示到达路由节点(i,j)的时间点,tf,i,j表示从路由节点(i,j)输出的时间点,当(i,j)未经过计算节点前的路由节点时,α为1,经过计算节点后的路由节点时,α为0。到达(i,j)路由节点的时间点计算公式如下:
ts,i,j=t0+(i+j)tjump+(1-α)(tjump+te),α∈{0,1}
tf,i,j=t0+(i+j+1)tjump+(1-α)(tjump+te),α∈{0,1}
假设网络中当前时刻所占用的计算节点或者路由节点的坐标为(x,y),接下来要经过(i,j)节点,到达(i,j)节点的时间点为t′s,x,y,从该路由节点输出的时间点为t′f,x,y,当(x,y)为路由节点的坐标时,μ为1,为计算节点的坐标时,μ为0。节点(x,y)到达路由节点(i,j)的时间点计算公式如下:
t′s,x,y=t0+(i-x+j-y)tjump+(1-μ)(te-tr),μ∈{0,1}
t′f,x,y=t0+(i-x+j-y+1)tjump+(1-μ)(te-tr),μ∈{0,1}
在(t′s,x,y,t’f,x,y)的时间段内,该(i,j)路由节点被占用,其他方向再次传来数据包时,无法直接传输出去,要等待第一个数据包传输出去后,才能进行下一个数据包的传输。当被选择路径到达(i,j)路由节点时,是否仲裁还是直接传输,通过以下公式进行判断:
t′s,x,y<ts,i,j<t′f,x,y
当接下来被选择的路径到达(i,j)的时间点在网络中已占有的节点(x,y)到达(i,j)节点的时间点和结束的时间点之间,且向同一个方向传出数据包,表明该节点会发生仲裁,ti,j=tjump,即当t′s,x,y<ts,i,j<t′f,x,y时,表明(i,j)在当前时间段里是被占用的,该路由节点会发生仲裁,此时Δt=tjump;通过此方法计算出Δt,最终求得总时间T。
3.2、运行时可重构策略
可重构性主要包括算法和资源可重构性。算法是通过调度、分配、绑定和路由重构方法部署到硬件资源上。可重构系统通常由可重构逻辑和通用微处理器的组合组成。相应的软硬件交互处理机制的实现架构是软件处理器和Lamoeba芯片组合。
对于图4所示的可重构系统的整体机制,首先,特定场景的应用通过主CPU被划分为多个任务,其中任务包含相应的操作和调度的数据。调度的策略是根据操作层面的潜在并行性,将任务分配给相应的软件集群或硬件集群。任务被分配到硬件中后,根据时间成本评估方法对芯片进行配置。可重构芯片通过硬件-软件接口接收数据包,并配置其资源,完成软件-硬件的映射,并进行时间计算。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于异步机制的Lamoeba芯片架构与运行时重构机制方法,其特征在于,该方法以异步可重构Lamoeba芯片与以时间为代价的重构算法机制相结合,所述异步机制的Lamoeba芯片为可重构计算提供硬件基础;所述Lamoeba芯片架构中,Lamoeba芯片采用片上mesh NoC的通信架构进行网络上数据的传输与通信,所述网络采用2D-mesh的拓扑结构,该网络中挂载不同类型的计算模块,结合单片机中的微处理器,进行软件编程、路由地址配置,以完成相应算法的计算;其中,所述重构算法对网络中不同路径下数据运算时间、路由时间和仲裁时间进行计算,以找到时间最短的分配方式来进行算法的映射,改变对算法中所述计算模块到硬件资源上的部署。
2.如权利要求1所述的方法,其特征在于,所述异步机制的Lamoeba芯片架构由芯片软硬件接口、mesh NoC和PE资源组成;其中,mesh NoC提供高性能PE的互连,其配置是由主处理器用软件实现的,软件传递数据包和目标PE的地址坐标信息,然后由Lamoeba芯片进行高速在线可重构计算。
3.如权利要求1所述的方法,其特征在于,所述重构算法中时间最短的分配方式的运算过程包括以下步骤:
(1)计算出在下一时间段内路由节点是否存在来自其他方向的数据包对该节点产生的请求;若是,判断该路由节点要进行仲裁并算出仲裁时间,否则该路由节点直接进行输出;
(2)根据以下公式计算不同路径的总时间T:
T=(m+n)tjump+te+Δt
ti,j=ntjump,n∈{0,1,…,4}
其中,T为从进网络到出网络的总时间,网络规模为m行n列,tjump为路由每一跳的时间,te为相应计算单元执行的时间,ti,j为不同坐标下路由节点的仲裁时间,ti,j是tjump的整数倍,Δt为一条完整路径中各个路由中节点仲裁时间之和;
(3)对不同的路径计算相应的T,从中选择时间T最小的路径为目标路径。
4.如权利要求3所述的方法,其特征在于,所述步骤(1)的具体过程为:
假设被选择的路径所经过的路由节点坐标为(i,j),t0表示当前的时间点,ts,i,j表示到达路由节点(i,j)的时间点,tf,i,j表示从路由节点(i,j)输出的时间点,当(i,j)未经过计算节点前的路由节点时,α为1,经过计算节点后的路由节点时,α为0;到达(i,j)路由节点的时间点计算公式如下:
ts,i,j=t0+(i+j)tjump+(1-α)(tjump+te),α∈{0,1}
tf,i,j=t0+(i+j+1)tjump+(1-α)(tjump+te),α∈{0,1}
假设网络中当前时刻所占用的计算节点或者路由节点的坐标为(x,y),接下来要经过(i,j)节点,到达(i,j)节点的时间点为t′s,x,y,从该路由节点输出的时间点为t′f,x,y,当(x,y)为路由节点的坐标时,μ为1,为计算节点的坐标时,μ为0;节点(x,y)到达路由节点(i,j)的时间点计算公式如下:
t′s,x,y=t0+(i-x+j-y)tjump+(1-μ)(te-tr),μ∈{0,1}
t′f,x,y=t0+(i-x+j-y+1)tjump+(1-μ)(te-tr),μ∈{0,1}
在(t′s,x,y,t′f,x,y)的时间段内,该(i,j)路由节点被占用,其他方向再次传输数据包时,无法直接传输出去,要等待第一个数据包传输出去后,才能进行下一个数据包的传输;判断被选择路径到达(i,j)路由节点时,是否仲裁还是直接传输,通过以下公式进行判断:
t′s,x,y<ts,i,j<t′f,x,y
当接下来被选择的路径到达(i,j)的时间点在网络中已占有的节点(x,y)到达(i,j)节点的时间点和结束的时间点之间,且向同一个方向传出数据包,表明该节点会发生仲裁,ti,j=tjump,即当t′s,x,y<ts,i,j<t′f,x,y时,表明(i,j)在当前时间段里是被占用的,该路由节点会发生仲裁,此时Δt=tjump。
5.如权利要求1所述的方法,其特征在于,所述部署中,算法通过调度、分配、绑定和路由重构方法部署到硬件资源上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211214465.8A CN115509988A (zh) | 2022-09-30 | 2022-09-30 | 基于异步机制的Lamoeba芯片架构与运行时重构机制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211214465.8A CN115509988A (zh) | 2022-09-30 | 2022-09-30 | 基于异步机制的Lamoeba芯片架构与运行时重构机制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509988A true CN115509988A (zh) | 2022-12-23 |
Family
ID=84508131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211214465.8A Pending CN115509988A (zh) | 2022-09-30 | 2022-09-30 | 基于异步机制的Lamoeba芯片架构与运行时重构机制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115509988A (zh) |
-
2022
- 2022-09-30 CN CN202211214465.8A patent/CN115509988A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Benini et al. | Network-on-chip architectures and design methods | |
Gratz et al. | On-chip interconnection networks of the TRIPS chip | |
Tatas et al. | Designing 2D and 3D network-on-chip architectures | |
Ajima et al. | Tofu interconnect 2: System-on-chip integration of high-performance interconnect | |
CN107239420B (zh) | 具有散布处理器dma-fifo的处理系统 | |
EP2239667B1 (en) | Multiprocessor with specific pathways creation | |
JP2642039B2 (ja) | アレイ・プロセッサ | |
Gebhardt et al. | Design of an energy-efficient asynchronous NoC and its optimization tools for heterogeneous SoCs | |
Chen et al. | ArSMART: An improved SMART NoC design supporting arbitrary-turn transmission | |
EP4031985A1 (en) | Efficient execution of operation unit graphs on reconfigurable architectures based on user specification | |
Ainsworth et al. | On characterizing performance of the cell broadband engine element interconnect bus | |
Joven et al. | QoS-driven reconfigurable parallel computing for NoC-based clustered MPSoCs | |
Giefers et al. | A triple hybrid interconnect for many-cores: Reconfigurable Mesh, NoC and barrier | |
CN115509988A (zh) | 基于异步机制的Lamoeba芯片架构与运行时重构机制方法 | |
JP7342247B2 (ja) | オンチップ動作の明示的なスケジューリング | |
Salcic et al. | A time predictable heterogeneous multicore processor for hard real-time GALS programs | |
Majumder et al. | Accelerating maximum likelihood based phylogenetic kernels using network-on-chip | |
Akhtar et al. | An Overview of Multi-Core Network-on-Chip System to Enable Task Parallelization Using Intelligent Adaptive Arbitration | |
Gimbitskii | Interconnect design for the edge computing system-on-chip | |
Alimi et al. | Network-on-Chip Topologies: Potentials, Technical Challenges, Recent Advances and Research Direction | |
RU2686017C1 (ru) | Реконфигурируемый вычислительный модуль | |
Giefers et al. | Realizing reconfigurable mesh algorithms on softcore arrays | |
Kim et al. | A Highly-Scalable Deep-Learning Accelerator With a Cost-Effective Chip-to-Chip Adapter and a C2C-Communication-Aware Scheduler | |
Litz | Improving the scalability of high performance computer systems | |
Chen | Hardware-software co-design and optimization for point-to-point network-on-chip based many-core systems |
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 |