一种面向数据密集型应用的动态可重构处理器

文档序号:7485 发布日期:2021-09-17 浏览:66次 >En<

阅读说明:本技术 一种面向数据密集型应用的动态可重构处理器 (Data intensive application oriented dynamic reconfigurable processor ) 是由 刘大江 朱蓉 于 2021-06-24 设计创作,主要内容包括:本发明提出一种面向数据密集型应用的动态可重构处理器,其中,方法包括:一种面向数据密集型应用的动态可重构处理器,动态可重构处理器包括一个处理单元阵列、一个片上多bank便签式存储器和一个配置存储器,处理单元阵列由m x n个处理单元PE以二维阵列的形式组成,m和n为正整数,其中,同一行PE连接到同一条总线上,每条总线通过一个交叉选择矩阵单元访问到便签式存储器中的m个bank。本申请提出的方法使得可重用数据高效的在处理单元阵列中流动,避免了相同存储位置数据的重复访问,从源头上减少数据访问量,使动态可重构处理器的循环流水性能得到很大的提升。(The invention provides a dynamic reconfigurable processor for data intensive application, wherein the method comprises the following steps: a dynamic reconfigurable processor facing data intensive application comprises a processing unit array, an on-chip multi-bank scratchpad memory and a configuration memory, wherein the processing unit array is composed of m x n processing units PE in a two-dimensional array form, m and n are positive integers, the same row of PE is connected to the same bus, and each bus accesses the m banks in the scratchpad memory through a cross selection matrix unit. The method provided by the application enables reusable data to efficiently flow in the processing unit array, avoids repeated access of data in the same storage position, reduces data access amount from the source, and greatly improves circulating water performance of the dynamic reconfigurable processor.)

一种面向数据密集型应用的动态可重构处理器

技术领域

本发明涉及集成电路

技术领域

,尤其涉及一种动态可重构处理器领域。

背景技术

随着云计算、大数据、物联网等技术的发展,各种智能终端设备的普及,数据流量的增速正在不断加快,对高性能芯片的要求也显得日益迫切。动态可重构处理器是一种新型的处理器构架,具有接近专用集成电路(ASIC,Application Specific IntegratedCircuit)的能效,同时没有牺牲太大的编程灵活性,是加速数据密集型应用的理想架构之一。与传统通用处理器(General Purpose Processor,GPP)不同,动态可重构处理器没有取指和译码操作的延时和能耗开销;与ASIC不同,动态可重构处理器可以在运行时动态配置电路的功能,具有更好的灵活性;与现场可编程门阵列(FPGA,Field Programmable GateArray)不同,动态可重构处理器具有粗粒度的配置方式,减少了配置信息代价,具有更高的计算能效。

典型的动态可重构处理器通常由处理单元阵列,数据内存和配置内存组成。处理单元阵列由多个处理单元(PE,Processing Element)构成,通过配置每个PE的连接性和运算模式来定义整个阵列的功能。配置主要来源于特定编译算法的映射。模调度循环软件流水是编译中进行映射优化的最常用的方法之一,它通过最小化循环迭代的启动间隔(II,Initiation Interval)来提升应用并行执行性能。然而,高计算并行性使得大量数据在数据内存和处理单元阵列之间并行访问。为了应对并行数据访存压力问题,现有的可重构处理器一般使用一个片上多bank便签式存储器(SPM,Scratched Pad Memory)为处理单元阵列并行提供数据。一个4×4的处理单元阵列通常配备了一个4-bank的SPM,在该架构中,处理单元阵列的各行可以并行访问SPM的各个bank,但是同一行内部的不同PE因为共享数据总线只能串行的进行数据访存。为进一步提升并行数据访问能力,HReA[L.Liu,Z.Li,C.Yang,C.Deng,S.Yin and S.Wei,"HReA:An Energy-Efficient Embedded DynamicallyReconfigurable Fabric for 13-Dwarfs Processing,"in IEEE Transactions onCircuits and Systems II:Express Briefs,vol.65,no.3,pp.381-385,March 2018.]为一个4×4的处理单元阵列配备了一个16-bank的SPM。该架构中,所有PE都可以并行访问SPM的各个bank,极大地增强了并行数据访存能力。但也增加了管理bank的难度,同时增加了芯片面积和能耗。为了充分利用SPM的有限带宽,文献[S.Yin,X.Yao,T.Lu,D.Liu,J.Gu,L.Liu,and S.Wei,“Conflict-free loop mapping for coarse-grained reconfigurablearchitecture with multibank memory,”IEEE Transactions on Parallel andDistributed Systems,vol.28,no.9,pp.2471–2485,2017.]从编译的角度提出了一种无冲突的循环映射方法。该方法首先将DFG中的访存算子调度到不同的时间步来减少并行数据访问量,然后通过存储划分算法来合理组织数据在SPM中的存放位置,最终减少了数据访存的冲突。但是当循环流水的启动间隔变得越来越小的时候,多个访存算子不得不同时执行,最后只能损失性能来保证无冲突的数据访问。以上工作从架构或者编译的角度让应用中原有的访存算子进行无冲突地操作,但是本质上并没有改变访存算子的数量,从而限制了访存冲突优化的程度。

从数据密集型应用的角度来看,应用的循环内核中有许多数据重用机会,如模板计算。虽然在它的循环内核中有很多内存访问,但其中一些内存访问实际上读取相同的数据。如果相同的数据一次获得并且多次使用,那么访问冲突可通过减少访存算子来减少访存冲突。但是不可避免的问题是如何在PE间路由这些可重用数据。

在传统的处理单元阵列中,处理单元之间是单通道网络,即数据在PE之间的传递只能通过PE的两个多路复用器(MUX)输入端输入数据,再通过输出寄存器输出数据,此时的PE除了进行数据路由操作不能执行任何其他操作,是非常浪费资源的。如果不将数据路由出去,而是将数据多周期保留在PE的局部寄存器堆(LRF,Local Register File)中,此时在编译方面,算子在处理单元阵列上的映射方案就十分限制,算子为了使用某个PE的LRF中的数据,只能映射到此PE上。因此,如何创新的提出一种架构能够高效的在PE间路由数据,充分利用PE资源,又在编译方面使得算子的编译方式灵活,是本领域技术人员迫切解决的一个技术问题。解决了数据的高效路由问题,就可以充分利用可重用数据,从而减少访存算子,减少访存冲突,最终提高动态可重构处理器的执行性能。

发明内容

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种面向数据密集型应用的动态可重构处理器,以实现提升可重构处理器的并行数据访存能力。

本发明的第二个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本发明第一方面实施例提出了一种面向数据密集型应用的动态可重构处理器,所述动态可重构处理器包括一个处理单元阵列、一个片上多bank便签式存储器SPM和一个配置存储器,所述处理单元阵列由m x n个处理单元PE以二维阵列的形式组成,所述m和n为正整数,其中,同一行PE连接到同一条总线上,每条总线通过一个交叉选择矩阵单元访问到便签式存储器中的m个bank。

可选地,在本申请的一个实施例中,每个PE包括一个功能单元FU、一个本地寄存器文件RF、一个输出寄存器和一个配置寄存器,所述功能单元FU用于执行各种定点运算,所述功能单元FU的输入端有两个多路复用器,所述多路复用器用于访问不同来源的数据,所述本地寄存器文件RF分为r个单独的寄存器,其中,r为正整数,每个寄存器选择来源于功能单元FU或前一个寄存器的数据,每个处理单元PE中的配置寄存器的信息来源于配置存储器,所述配置存储器连接处理单元PE内部的各个部件,分发配置流配置每个多路复用器的选择信号、功能单元FU的功能以及寄存器的读写使能。

可选地,在本申请的一个实施例中,所述处理单元PE处于双通道网络,所述双通道网络包括结果网络和数值网络,所述结果网络用于进行功能单元FU的计算结果的传递,所述数值网络用于进行本地寄存器文件RF的数值传递。

可选地,在本申请的一个实施例中,当一个访问算子从存储器获得的数值在短时间内需要多次引用时,将数值通过所述数值网络分发给其它需要引用数值的处理单元PE。

可选地,在本申请的一个实施例中,在所述本地寄存器文件RF的内部寄存器添加串行移位的数据通道。

可选地,在本申请的一个实施例中,包括以下步骤:

步骤1,将应用伪代码转换为原始的数据依赖图,由于数据x[i+2]与一个时钟周期后的数据x[i+1]和两个时钟周期后的数据x[i]是同一数据,去掉L2,L3两个算子,添加两条新的重用依赖边(L1,*),(L1,+),得到新的数据依赖图,(L1,*)代表算子L1取得的数据将通过数值网络传递给乘法算子“*”进行消费,(L1,+)代表访存算子“L1

取得的数据将通过数值网络传递给加法算子“+”进行消费。通过编译工具,获得编译方案,生成配置信息流,得到II=1的布局结果。访存算子L1布局在PE1,乘法算子“*”

布局在PE2,加法算子“+”布局在PE3,访存算子“S1”布局在PE4上;

步骤2,t时刻,在配置流的驱动下,t时刻的L1算子取完数据后,将数据放置在PE1的最后一个寄存器中;

步骤3,t+1时刻,在配置流的驱动下,t时刻的L1数据通过PE1的多路复用选择器Mb传递出去,经过PE2的多路复用选择器Ma和M1,到达PE2的第一个寄存器R1,t+1时刻的L1算子取完数据后,将数据放置在PE1的输出寄存器,同时又放置在PE1的最后一个寄存器R1中;

步骤4,t+2时刻,在配置流的驱动下,t时刻的L1数据通过PE2的多路复用选择器Mb传递出去,经过PE3的多路复用选择器Ma和M1,到达PE3的第一个寄存器R1;与此同时,在配置流的驱动下,t时刻的L1数据还通过PE2的FU前的多路选择器Md和Mf传递到FU的第二个输入端口;与此同时,在配置流的驱动下,PE1的输出寄存器中的数据经PE2的FU前的多路选择器Me到达第一个输入端口,在配置流的驱动下,FU进行乘法“*”操作,结果保存在PE2的输出寄存器;

步骤5,t+3时刻,在配置流的驱动下,t时刻的L1数据通过PE3的第一个寄存器R1的输出端口,经过多路选择器M2,传递到PE3的第二个寄存器R2中,与此同时,PE2的FU进行乘法“*”操作,结果存于PE2的输出寄存器中;

步骤6,t+4时刻,在配置流的驱动下,t时刻的L1数据通过PE3的FU前的多路选择器Md和Mf到达FU的第二个输入端口,与此同时,PE2的输出寄存器中的数据经PE3的FU前的多路选择器Me传递到FU的第一个输入端口,在配置流的驱动下,FU进行加法“+”操作,结果保存在PE3的输出寄存器;

步骤7,t+5时刻,在配置流的驱动下,PE3的输出寄存器中的数据通过多路选择器Me传递到PE4的FU的第一个输入端口,通过总线将数据保存在Bank中。

为达上述目的,本申请第三方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请第一方面实施例所述的传递可重用数据的方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例所提供的面向数据密集型应用的动态可重构处理器示意图;

图2为本发明实施例所提供的架构如何使用的一个实施示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的一种面向数据密集型应用的动态可重构处理器。

图1为本发明实施例所提供的一种面向数据密集型应用的动态可重构处理器的流程示意图。

如图1所示,为达上述目的,本发明第一方面实施例提出了一种面向数据密集型应用的动态可重构处理器,所述动态可重构处理器包括一个处理单元阵列、一个片上多便签式存储器SPM和一个配置存储器,所述处理单元阵列由m x n个处理单元PE以二维阵列的形式组成,所述m和n为正整数,其中,同一行PE连接到同一条总线上,每条总线通过一个交叉选择矩阵单元访问到便签式存储器中的m个bank。

在本申请的一个实施例中,进一步地,每个PE包括一个功能单元FU、一个本地寄存器文件RF、一个输出寄存器和一个配置寄存器,所述功能单元FU用于执行各种定点运算,所述功能单元FU的输入端有两个多路复用器,所述多路复用器用于访问不同来源的数据,所述本地寄存器文件RF分为r个单独的寄存器,其中,r为正整数,每个寄存器选择来源于功能单元FU或前一个寄存器的数据,每个处理单元PE中的配置寄存器的信息来源于配置存储器,所述配置存储器连接处理单元PE内部的各个部件,分发配置流配置每个多路复用器的选择信号、功能单元FU的功能以及寄存器的读写使能。

在本申请的一个实施例中,进一步地,所述处理单元PE处于双通道网络,所述双通道网络包括结果网络和数值网络,所述结果网络用于进行功能单元FU的计算结果的传递,所述数值网络用于进行本地寄存器文件RF的数值传递。

在本申请的一个实施例中,进一步地,当一个访问算子从存储器获得的数值在短时间内需要多次引用时,将数值通过所述数值网络分发给其它需要引用数值的处理单元PE。

在本申请的一个实施例中,进一步地,在所述本地寄存器文件RF的内部寄存器添加串行移位的数据通道。

在本申请的一个实施例中,具体而言,FU可以执行各种定点运算,包括加法,减法,乘法等逻辑操作。FU的输入端有两个多路复用器(6选1的多路选择器Me、Mf),它可以访问不同来源的数据,例如相邻PE的FU,自身寄存器堆RF的各个局部寄存器,以及存储器。FU的输出有三个方向:存储器,输出寄存器,以及寄存器堆RF的各个寄存器。

RF分为r个单独的寄存器(R1,R2…Rr,r为正整数),每个寄存器前都有一个2选1的多路复用器(M1,M2…Mr),可以选择来源于FU或前一个寄存器(第一个寄存器R1的前一个寄存器为相邻RF的某个寄存器)的数据。每个寄存器的输出端口连接其后一个寄存器(最后一个寄存器Rr无寄存器连接),且都连接了三个多路复用器(Mb,Mc,Md),它们都为r选1多路复用器,通过多路复用器Mc或Md,可选择一个寄存器中的数据到本地FU进行计算。通过多路复用器Mb,可选择一个寄存器中的数据到相邻RF的第一个寄存器(R1)中。同时,通过4选1的多路选择器Ma,RF的第一个寄存器R1选择来自一个相邻RF中的数据。

每个PE中的配置寄存器的信息来源于配置存储器,连接PE内部的各个部件,分发配置流配置每个多路复用器的选择信号,FU的功能,寄存器的读写使能。

在本申请的一个实施例中,具体而言,处理单元之间的双通道互连,处理单元之间由原来的单通道网络变成一个双通道网络,一个网络用来进行FU的计算结果的传递(结果网络),另一个用来进行RF的数值传递(数值网络)。结果网络将FU的计算结果通过输出寄存器将数据传递到领居PE或通过总线将数据传递到存储器中。数值网络将RF中的数值通过多路选择器,灵活配置数据的输出方向,将数据传递到相邻RF的第一个寄存器或本地的其他寄存器。

当一个访存算子从存储器获得的数值在短时间内需要多次引用的时候,可以将该数值通过构建的数值网络分发给其他需要引用该数值的PE,增强了可重构计算阵列的数据复用能力。该双通道的互连网络,可以从源头上减少数据流图中访存算子的数量,从而减少了数据存储器的访存冲突。

在本申请的一个实施例中,具体而言,处理单元内的寄存器互连,虽然双通道的PE间互连网络设计增强了数据传递的灵活性,但是在流水执行的模式下只有数据的应该到达时钟周期数(RT,Required Time)和实际到达时钟周期数(AT,Arrival Time)相同的时候才能保证计算功能的正确性。重用数据的AT依赖于数据生产者PE和消费者PE之间的曼哈顿距离,而编译过程中难以保证生产者和消费者之间的曼哈顿距离与RT相匹配。因此,我们为RF内部寄存器添加串行移位的数据通路,即RF内部每个寄存器都是首尾顺序相连的,使得重用数据在流水模式下依然可以在同一个PE的RF内部保持多个时钟周期。

当添加串行移位数据通路之后,由于每个寄存器前都有一个2选1的多路复用选择器,每个寄存器可以选择来自FU的数据,也可以选择来自前一个寄存器的数据。此时RF既可以工作在常规模式,也可以工作在移位寄存模式。当工作在常规模式下时,寄存器可以暂存数据到下一时间周期。当工作在移位寄存模式的时候,所有处理单元的寄存器形成了一条寄存器链,通过多路选择器可以选择寄存器链的长度,也灵活配置了数据流动的时钟周期数。假设数据生产者和消费者之间的曼哈顿距离为M1,单个RF内部寄存器的数量为r,那么数据的AT的可调范围为[M1+1,r×(M1+1)],极大地增强了数据的同步到达能力。因此,该PE内寄存器互连网络结构可以为数据同步提供硬件基础,为后续的编译映射提供灵活性保障。

本申请的技术效果:本申请实施例提供了一种面向数据密集型应用的动态可重构处理器,发明的架构针对传统PE间互连网络只有功能单元(FU,Function Unit)之间通过输出寄存器进行连接,而PE的寄存器堆之间没有直接的互连通道的劣势,增加了处理单元阵列中各个PE的寄存器堆RF的互连功能,使得可重用数据高效的在处理单元阵列中流动,避免了相同存储位置数据的重复访问,从源头上减少数据访问量,使动态可重构处理器的循环流水性能得到很大的提升。

如图2所示,在本申请的一个实施例中,进一步地,包括以下步骤:

步骤1,将应用伪代码转换为原始的数据依赖图,发现数据x[i+2]与一个时钟周期后的数据x[i+1]和两个时钟周期后的数据x[i]是同一数据,去掉L2,L3两个算子,添加两条新的重用依赖边(L1,*),(L1,+),得到新的数据依赖图。(L1,*)代表算子L1取得的数据将通过数值网络传递给乘法算子“*”进行消费,(L1,+)代表访存算子“L1取得的数据将通过数值网络传递给加法算子“+”进行消费。通过编译工具,获得编译方案,生成配置信息流,得到II=1的布局结果。访存算子L1布局在PE1,乘法算子“*”布局在PE2,加法算子“+”布局在PE3,访存算子“S1布局在PE4上;

步骤2,t时刻,在配置流的驱动下,t时刻的L1算子取完数据后,将数据放置在PE1的最后一个寄存器中;

步骤3,t+1时刻,在配置流的驱动下,t时刻L1数据通过PE1的多路复用选择器Mb传递出去,经过PE2的多路复用选择器Ma和M1,到达PE2的第一个寄存器R1,t+1时刻的L1算子取完数据后,将数据放置在PE1的输出寄存器,同时又放置在PE1的最后一个寄存器中;

步骤4,t+2时刻,在配置流的驱动下,t时刻L1数据通过PE2的多路复用选择器Mb传递出去,经过PE3的多路复用选择器Ma和M1,到达PE3的第一个寄存器R1;与此同时,在配置流的驱动下,t时刻L1数据还通过PE2的FU前的多路选择器Md和Mf传递到FU的第二个输入端口;与此同时,在配置流的驱动下,PE1的输出寄存器中的数据经PE2的FU前的多路选择器Me到达第一个输入端口,在配置流的驱动下,FU进行乘法(*)操作,结果保存在PE2的输出寄存器;

步骤5,t+3时刻,在配置流的驱动下,t时刻L1数据通过PE3的第一个寄存器R1的输出端口,经过多路选择器M2,传递到PE3的第二个寄存器R2中,与此同时,PE2的FU进行乘法“*”操作,结果存于PE2的输出寄存器中;

步骤6,t+4时刻,在配置流的驱动下,t时刻L1数据通过PE3的FU前的多路选择器Md和Mf到达FU的第二个输入端口,与此同时,PE2的输出寄存器中的数据经PE3的FU前的多路选择器Me传递到FU的第一个输入端口,在配置流的驱动下,FU进行加法“+”操作,结果保存在PE3的输出寄存器;

步骤7,t+5时刻,在配置流的驱动下,PE3的输出寄存器中的数据通过多路选择器Me传递到PE4的FU的第一个输入端口,通过总线将数据保存在Bank中。

在本申请的一个实施例中,具体而言,经历6个时钟周期后,循环流水中一次完整的迭代已经执行完毕。由于II=1,每个时钟周期的处理单元阵列都按相同的配置信息执行。

在本申请的一个实施例中,具体而言,图2为(a)为一个示例的循环伪代码;(b)由(a)得到的原始DDG图;(c)由(b)得到的数据重用DDG;(d)实例(m=2,n=2,r=2)发明架构;(e)t时刻L1取得的数据在实例发明架构上的传输示意图。

本申请的技术效果:本申请实施例提供了一种面向数据密集型应用的动态可重构处理器,发明的架构针对传统PE间互连网络只有功能单元(FU,Function Unit)之间通过输出寄存器进行连接,而PE的寄存器堆之间没有直接的互连通道的劣势,增加了处理单元阵列中各个PE的寄存器堆RF的互连功能,使得可重用数据高效的在处理单元阵列中流动,避免了相同存储位置数据的重复访问,从源头上减少数据访问量,使动态可重构处理器的循环流水性能得到很大的提升。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请第一方面实施例所述的传递可重用数据的方法。

尽管参考附图详地公开了本申请,但应理解的是,这些描述仅仅是示例性的,并非用来限制本申请的应用。本申请的保护范围由附加权利要求限定,并可包括在不脱离本申请保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在示意图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于FPGA的数组排序方法、系统及数据压缩方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!