CN114996915B - 基于归一化算子库的专用处理器指令系统设计方法 - Google Patents
基于归一化算子库的专用处理器指令系统设计方法 Download PDFInfo
- Publication number
- CN114996915B CN114996915B CN202210510490.4A CN202210510490A CN114996915B CN 114996915 B CN114996915 B CN 114996915B CN 202210510490 A CN202210510490 A CN 202210510490A CN 114996915 B CN114996915 B CN 114996915B
- Authority
- CN
- China
- Prior art keywords
- operator
- special
- vector
- operators
- function
- 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
Links
- 238000013461 design Methods 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000010606 normalization Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000013178 mathematical model Methods 0.000 claims abstract description 16
- 238000013507 mapping Methods 0.000 claims abstract description 7
- 230000001939 inductive effect Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 80
- 230000008569 process Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 230000006698 induction Effects 0.000 claims description 3
- 229920006395 saturated elastomer Polymers 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims 1
- 238000003379 elimination reaction Methods 0.000 claims 1
- 238000012163 sequencing technique Methods 0.000 claims 1
- 230000001502 supplementing effect Effects 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于归一化算子库的专用处理器指令系统设计方法,该方法将需求应用的算法处理流程用数学模型表征,采用大、小两种任务颗粒度划分方式得到基本算子与专用算子的运算组合的算法实现形式;归纳整理得到归一化算子库;设计并映射与归一化算子对应的指令,将所有指令归纳得到专用处理器的指令系统。本发明可以面向多种复杂处理器架构方案的指令系统设计工作,具有通用性与高效性;并且可以进行归一化算子库的复用,能够节省设计时间、降低设计成本、提升设计效率,使得处理器指令系统的设计方法更加规范,改善了设计流程,为升级更新专用处理器的指令系统提供了更简化的方式,保证了设计专用处理器的高效性与可靠性。
Description
技术领域
本发明涉及数字信号处理与可重构计算技术领域,尤其涉及一种基于归一化算子库的专用处理器指令系统设计方法。
背景技术
移动通信技术不断更新,多种技术并存,每一次技术的更新,都会大大提高数据传输的速率,同时也带来了巨大的运算量。移动通信技术的快速发展,多种通信协议共存并且各个通信协议不断更新发展,特别是近年来的协议普遍采用的正交频分复用技术(Orthogonal Freq uency Division Multiplexing,OFDM)和多入多出技术(MultipleInput Multiple Output,MIM O)使得当前基带处理运算密度不断增大,对移动终端的处理能力带来了巨大的挑战。一方面运算密度的提高要求终端信号处理效率高,另一方面多种协议的并存和各自演进要求终端信号处理的灵活性好。
传统上的移动终端基带处理采用专用集成电路的方式,通过简单的控制器和硬件加速器完成信号处理。在这种方式中,计算密集型的任务由硬件加速器完成,可以保证吞吐率,同时功耗和成本都较低,但是这种方式的灵活性差,升级更新依靠相关设备全部换新,这无疑大幅增加了设备升级迭代的成本。
在基站端,由于功耗和成本不是首要的关注点,因此可以采用高性能的通用处理器,甚至是处理器集群的方式来完成信号的处理,算法的升级则可以通过更新软件的形式来实现。这种方式的灵活性很高,升级更新也简洁快速,然而在移动终端上,这种方式由于成本和功耗的限制难以实现部署。
由此可见,采用专用集成电路的方式成本低,但是灵活性差;采用通用处理器的方式灵活性好,但是成本高,这两种方案都不适合作为实现移动终端软基带的处理器。为了解决这个矛盾,一种面向应用的专用处理器设计思路应运而生,通过对应用需求中算法流程的特点进行分析,在满足处理器性能的要求下,对硬件实现成本和软件迭代更新灵活性上做出适当的调整与折中,使得最终的实现方案在处理器性能、实现成本和迭代更新灵活性上的权衡之中处于相对平衡的位置。
在设计面向应用的专用处理器的过程中,指令系统的性能关乎处理器的基本功能,因而设计一个满足应用需求的指令系统是完成处理器设计的核心问题,指令系统的设计不仅与处理器的硬件结构相关,也决定了该设计的处理器今后将要使用的应用场景。
一个完善的指令系统应满足完备性、有效性、规整性和兼容性,完备性和有效性表征了处理器能提供的硬件指令是否能足够并高效的完成特定应用的能力;规整性则要求指令和数据的格式具有对称性、均齐性,能够同等对待指令系统中的全部存储器和寄存器资源,并可支持各种数据类型的操作从而为提高程序的可读性和编程效率创造便利条件;兼容性表征底层硬件指令系统对上层软件可移植性的支持能力,一般要求后向兼容性。
设计面向应用的专用处理器指令系统时,首先需要将需求应用的算法处理流程用数学模型的方式进行表征,在对算法数学模型进行分析与拆解后,然后将算法模型转换为处理器可实现的程序形式,并按照算法程序的实现需求完成该专用处理器的指令系统。
在面向不同应用的专用处理器指令系统设计的过程中,不同需求应用之间的算法数学模型往往有较大区别,在没有规范设计方法的情况下,不同需求应用转换得到的处理器可实现程序的差别较大,许多可能相同的设计内容却不能在新的设计工作中重用,导致开发人员需要在设计不同需求应用的处理器指令系统时花费大量时间在重复工作上。
若在对算法数学模型进行分析与拆解后,按照归一化算子的方式将算法数学模型转换为处理器可实现的程序形式,并将面向不同应用的算法数学模型分析得到的归一化算子归纳整合为归一化算子库,在每次面向新应用的算法数学模型分析与拆解过程中,通过对归一化算子库中的归一化算子复用,可以快速设计面向不同应用需求的专用处理器的指令系统,能够有效节省开发人员的设计时间,提升设计效率。
与现有技术相比,王晶波在所著文献“面向可重构处理器的图像处理算子调度技术研究”(《中国优秀硕士学位论文全文数据库信息科技辑》,2018年第05期,2018年5月15日)中,分析了图像拼接算子的并行调度技术,并提供了一种实现图像拼接算法在可重构处理器上高性能、低功耗的最优化算子调度,实现可重构处理器架构对视频处理算子库的支持,其局限性在于,该可重构处理器架构仅支持视频处理算子库,面向不同需求应用时算子库的可重用性较差;杜月在所著文献“面向雷达应用的粗粒度可重构处理器中数据缓存结构设计”(《中国优秀硕士学位论文全文数据库信息科技辑》,2016年第08期,2016年8月15日)中,以使用范围广、性能要求高、计算复杂度大的雷达信号处理核心算子为研究对象,针对面向雷达应用的粗粒度可重构处理器设计了一种片上层次化缓存结构,并提出了基于多存储体的线性步长可变的数据缓存管理机制,其局限在于,所设计的可重构处理器和相关结构也是仅面向雷达信号处理应用,面向不同需求应用时的可重用性仍然较差。
因此,本发明提出一种基于归一化算子库的专用处理器指令系统设计方法,该方法在分析不同需求应用的算法数学模型过程中,通过对归一化算子库的归一化算子复用,可以设计面向不同应用需求的专用处理器的指令系统,能够有效节省设计时间、降低设计成本、提升设计效率,使得处理器指令系统的设计方法更加规范,改善了设计流程,为升级更新专用处理器的指令系统提供了更简化的方式,保证了设计专用处理器的高效性与可靠性。
发明内容
本发明的主要目的在于解决现有技术中存在的问题,提供一种基于归一化算子库的专用处理器指令系统设计方法,具体技术方案如下:
一种基于归一化算子库的专用处理器指令系统设计方法,所述方法应用于面向应用的专用处理器指令系统设计中,所述方法包括步骤:
S1:将需求应用的算法处理流程用数学模型的方式进行表征,然后采用大、小两种任务颗粒度的划分方式对算法进行拆解,得到基本算子与专用算子的运算组合的算法实现形式;
进一步地,根据对需求应用的算法处理流程分析,将应用的算法处理流程用数学模型的方式表征出来,然后分别采用大、小两种任务颗粒度的方式对算法进行划分和表示;算法先采用任务颗粒度较大的划分方式,把算法当作一个整体模块,模块的处理流程用多个函数级联的形式进行描述;此后,针对大任务颗粒度划分方式中得到的函数级联形式,采用任务颗粒度较小的划分方式,将每一个函数拆解为基本算子和专用算子的运算组合的算法实现形式;
S2:按照任务颗粒度较小的划分方式对所有函数完成拆解后,将所有得到的基本算子和专用算子归纳整理为归一化算子库;
进一步地,所述归一化算子库包含函数拆解中得到的所有基本算子和专用算子;基本算子是指由常见的基本运算抽象整理归纳而得到的算子集合,如加减法运算算子、移位运算算子、乘法运算算子、与或非逻辑运算算子等算子;专用算子是指在函数拆解分析过程中,将规律性较强的复杂特殊运算进行整理归纳得到的算子集合,如支持溢出保护的饱和加减法运算算子、支持灵活处理定点数据小数位数的相乘移位运算算子等;归一化算子库中的算子一般在运算过程中具有较高的使用频率,并且能够大量节省处理器运算周期数;
更进一步地,若函数在拆解为基本算子和专用算子的运算组合形式过程中支持矢量算子拆解,那么归一化算子库中可以增添相应的矢量基本算子和矢量专用算子;对于矢量基本算子,可包括如矢量加减法运算算子、矢量移位运算算子、矢量点乘与矢量数乘运算算子、矢量与或非逻辑运算算子等;对于矢量专用算子,可包括如用于完成快速傅立叶变换(Fast Fo urier Transform,FFT)的蝶形运算算子和混洗运算算子、用于实现有限长单位冲激响应滤波(Finite Impulse Response,FIR)运算的矢量拼接运算算子等;
S3:基于整理得到的归一化算子库,设计并映射与归一化算子库中的所有归一化算子相对应功能的具体指令,然后将所有指令归纳得到专用处理器的指令系统,从而得到需求应用在指令级算法程序上的实现形式;
进一步地,通过步骤S1和步骤S2对需求应用进行算法拆解并整理归纳得到归一化算子库后,需求应用可以使用所述归一化算子库中有限个算子的运算组合完成算法实现,与此同时,在专用处理器指令系统中设计并映射与归一化算子库中的所有算子相对应功能的具体指令,当归一化算子库与指令系统满足算子与指令的一一映射关系时,需求应用则可以通过专用处理器指令系统中有限个指令的运算组合来完成指令级程序的算法实现,即实现了基于归一化算子库的专用处理器指令系统设计;
进一步地,若所述归一化算子库中包含矢量算子,那么所归纳形成的专用处理器指令系统也需要设计相应的矢量运算指令,如归一化算子库中包含矢量长度为16元的矢量移位运算算子,那么在归纳形成的专用处理器指令系统中需要设计支持16元的矢量移位运算指令,这表明了基于归一化算子设计的专用处理器支持长度为16的单指令多数据流(Single Instruction Multiple Data,SIMD)技术,同时,当专用处理器支持超长指令集架构(Very Long Instructio n Word,VLIW)时,可以实现归一化算子间的并行执行,即表明了本发明基于归一化算子库的专用处理器指令系统设计方法可以面向多种复杂处理器架构方案的指令系统设计,具有通用性与高效性,利于处理器可重构设计,可以显著提升处理器的设计效率;
进一步地,在设计面向不同需求应用的专用处理器时,可以重复利用已有的归一化算子库;若在之前面向某个需求应用的专用处理器设计工作中,保留了当时的归一化算子库,则在面向新需求应用的专用处理器设计工作,可以重复利用已有的归一化算子库;当已有的归一化算子库不能完全满足当前需求应用的算法实现需求时,可以对当前需求应用按照步骤S1重新进行算法拆解,从而继续向归一化算子库中补充新的运算算子,以满足当前需求应用的实现需求;若对于新的应用需求,已有的归一化算子库中有部分算子不需要被使用,则可以在面向新需求应用的专用处理器指令系统中设计指令的过程中弃用相应的算子,即在当前指令系统中不设计未使用算子对应的指令;这表明了本发明基于归一化算子库的专用处理器指令系统设计方法可以在面向不同应用需求时,可以进行归一化算子库的复用,同时可以不断地补充新的归一化算子,使得归一化算子库满足更多的应用需求,这能够有效节省设计时间、降低设计成本、提升设计效率,使得处理器指令系统的设计方法更加规范,改善了设计流程,为升级更新专用处理器的指令系统提供了更简化的方式,保证了设计专用处理器的高效性与可靠性。
由此可见,本发明基于归一化算子库的专用处理器指令系统设计方法在面向不同应用需求时,可以进行归一化算子库的复用,能够有效节省设计时间,降低设计成本,同时可以面向多种复杂处理器架构方案的指令系统设计,利于处理器可重构设计,可以显著提升处理器的设计效率,本发明使得处理器指令系统的设计方法更加规范,改善了设计流程,为升级更新专用处理器的指令系统提供了更简化的方式,具有通用性、高效性等特点。
综上,本发明基于归一化算子库的专用处理器指令系统设计方法,首先将需求应用的算法处理流程用数学模型的方式进行表征,然后采用大、小两种任务颗粒度的划分方式对算法进行拆解,得到基本算子与专用算子的运算组合实现形式,此后将所有函数拆解得到的基本算子和专用算子归纳整理为归一化算子库,最后基于此归一化算子库,在专用处理器指令系统中设计并映射与归一化算子库中的所有归一化算子相对应功能的具体指令,将所有指令归纳形成专用处理器指令系统,从而得到需求应用在指令级算法程序上的实现形式;与现有技术相比,本发明通过对应用的算法流程分析与拆解,整理归纳得到归一化算子库,在面向应用的专用处理器指令系统设计中,利用归一化算子库完成了具体的指令系统设计,从而得到需求应用在指令级算法程序上的实现形式,同时可以面向多种复杂处理器架构方案的指令系统设计工作,具有通用性与高效性;此外,本发明面向不同应用需求的专用处理器指令系统设计时,可以进行归一化算子库的复用,能够有效节省设计时间,降低设计成本,提升设计效率,使得处理器指令系统的设计方法更加规范,改善了设计流程,为升级更新专用处理器的指令系统提供了更简化的方式,保证了设计专用处理器的高效性与可靠性。
附图说明
图1为本发明所述方法面向MIMO-OFDM基带系统接收机应用时的流程示意图;
图2为本发明所述方法步骤S1中采用大任务颗粒度划分方式对MIMO-OFDM基带系统接收机进行算法拆解的示意图;
图3为本发明所述方法中采用任务颗粒度较小的划分方式,拆解FFT运算为算子运算组合的算法实现形式的示意图;
图4为本发明所述方法步骤S2中面向MIMO-OFDM基带系统接收机的归一化算子库的部分非矢量算子的示意图;
图5为本发明所述方法步骤S2中面向MIMO-OFDM基带系统接收机的归一化算子库的部分矢量算子的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例,附图中给出了本发明的较佳实施例。本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例,相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,在本发明实施例中,提供了一种基于归一化算子库的专用处理器指令系统设计方法,所述方法为应用于面向MIMO-OFDM(多入多出-正交频分复用技术)基带系统接收机的通信专用VLIW(超长指令字)矢量处理器指令系统设计,首先将MIMO-OFDM基带系统接收机的算法处理流程用数学模型的方式进行表征,然后采用大、小两种任务颗粒度的划分方式对算法进行拆解,得到基本算子与专用算子的运算组合实现形式,此后将所有函数拆解得到的基本算子和专用算子归纳整理为归一化算子库,最后基于此归一化算子库,设计并映射与归一化算子库中的所有归一化算子相对应功能的具体指令,将所有指令归纳得到该通信专用VLIW矢量处理器的指令系统,从而得到MIMO-OFDM基带系统接收机指令级算法程序的实现形式;具体方法步骤如下:
S1:将MIMO-OFDM基带系统接收机的算法处理流程用数学模型的方式进行表征,然后采用大、小两种任务颗粒度的划分方式对算法进行拆解,得到基本算子与专用算子的运算组合实现形式;
具体而言,根据对MIMO-OFDM基带系统接收机的算法处理流程分析,将应用的算法处理流程用数学模型的方式表征出来,然后分别采用大、小两种任务颗粒度的方式对算法进行划分和表示;
参阅图2,算法先采用任务颗粒度较大的划分方式,把算法当作一个整体模块,模块的处理流程用多个函数级联的形式进行描述;此后,针对大任务颗粒度划分方式中得到的函数级联形式,采用任务颗粒度较小的划分方式,将每一个函数拆解为基本算子和专用算子的运算组合的算法实现形式;在图2中,MIMO-OFDM基带系统接收机算法采用任务颗粒度较大的方式划分为函数级联形式,其中包括同步函数、OFDM解调函数、信号估计函数、求伪逆函数、排序函数、计算迫零解函数、干扰消除函数、校验节点更新函数和比特节点更新函数;更进一步地,如果函数级联中的函数模块仍然比较复杂,可以再进行一次较大任务颗粒度的方式划分函数,以OFDM解调函数为例,该函数可以进一步划分为串并变换函数、去除保护间隔函数、FFT函数、符号检测函数、并串转换函数等;然后采用任务颗粒度较小的划分方式,将每一个函数拆解为基本算子和专用算子的运算组合的算法实现形式,以OFDM解调函数中的FFT函数为示例,该函数主要包括串并变换、去除保护间隔、FFT、符号检测、并串转换等过程,以拆解FFT运算为示例,采用任务颗粒度较小的划分方式,将其FFT运算拆解为算子运算组合的算法实现形式,如图3所示:
对于N点的FFT运算一共含有级蝶形运算,数据相关性只存在于不同级之间,而同一级的运算数据是不相关的,且每一级由N/2个基2的蝶形运算构成;如图3(a)为基2频率抽取的16点复数FFT算法,采用该算法时,前1级计算可以直接映射到矢量运算上去,而后级需要对矢量元素进行位置重排;通过对FFT运算数据流程的分析,提出一种混洗的数据交换模式,如图3(b)中的混洗运算,通过混洗运算之后数据之间的运算关系不变,解决了FFT元素的位置重排问题,使得可以FFT可以在处理器上并行运算;由此可见,基2频率抽取的16点复数FFT算法可以通过蝶形运算和混洗运算两种运算方式进行实现,从而抽取出了蝶形运算算子和混洗运算算子,因此该FFT函数可以通过以上任务颗粒度较小的划分方式,将其拆解为蝶形运算算子和混洗运算算子的运算组合的算法实现形式;
S2:按照任务颗粒度较小的划分方式对所有函数完成拆解后,将所有得到的基本算子和专用算子归纳整理为归一化算子库;
进一步地,归一化算子库包含函数拆解中得到的所有基本算子和专用算子;基本算子是指由常见的基本运算抽象整理归纳得到的算子集合,如加减法运算算子、移位运算算子、乘法运算算子、与或非逻辑运算算子等算子;专用算子是指在函数拆解分析过程中,将规律性较强的复杂特殊运算进行整理归纳得到的算子集合,如支持溢出保护的饱和加减法运算算子、支持灵活处理定点数据小数位数的相乘移位运算算子等;归一化算子库中的算子一般在运算过程中具有较高的使用频率,并且能够大量节省处理器运算周期数;
更进一步地,若函数在拆解为基本算子和专用算子的运算组合形式过程中支持矢量算子拆解,那么归一化算子库中可以增添相应的矢量基本算子和矢量专用算子;对于矢量基本算子,可包括如矢量加减法运算算子、矢量移位运算算子、矢量点乘与矢量数乘运算算子、矢量与或非逻辑运算算子等;对于矢量专用算子,可包括如用于完成快速傅立叶变换的蝶形运算算子和混洗运算算子、用于实现有限长单位冲激响应滤波运算的矢量拼接运算算子等;
对于该实施例面向MIMO-OFDM基带系统接收机的通信专用VLIW矢量处理器指令系统设计中,因为有部分函数支持矢量算子拆解,如上述提到的FFT算法,因此,在专用处理器指令系统设计中结合了SIMD(单指令多数据流)技术;具体而言,在上述通信专用VLIW矢量处理器指令系统设计中采用单指令处理16个数据流的SIMD技术,即长度为16的矢量操作,以将部分函数拆解为矢量基本算子和矢量专用算子的运算组合形式;将所有算子整理归纳为归一化算子库,更进一步地,归一化算子库可以分类为非矢量算子和矢量算子,如图4为面向MIMO-OFDM基带系统接收机的归一化算子库中的部分非矢量算子,包含非矢量基本算子和非矢量专用算子,具体包括加法运算算子、减法运算算子、逻辑与运算算子、逻辑或运算算子、逻辑非运算算子、按位与运算算子、按位或运算算子、按位取反运算算子、按位异或运算算子、乘法运算算子、乘移位运算算子、乘累加运算算子、左移位运算算子和右移位运算算子,其中如加法运算算子就是非矢量基本算子,可以实现基本的加法运算,如乘移位运算算子就是非矢量专用算子,可以实现专用的乘法移位运算;如图5为面向MIMO-O FDM基带系统接收机的归一化算子库中的部分矢量算子,包含矢量基本算子和矢量专用算子,具体包括矢量加法运算算子、矢量减法运算算子、矢量逻辑与运算算子、矢量逻辑或运算算子、矢量逻辑非运算算子、矢量按位与运算算子、矢量按位或运算算子、矢量按位取反运算算子、矢量按位异或运算算子、矢量求和运算算子、矢量左移位运算算子、矢量右移位运算算子、矢量点乘运算算子、矢量数乘运算算子、矢量乘移位运算算子、矢量乘累加运算算子、矢量拼接运算算子、蝶形运算算子和混洗运算算子,其中如矢量加法运算算子就是矢量基本算子,可以实现基本的矢量加法运算,如蝶形运算算子和矢量混洗算子就是矢量专用算子,可以完成图3(b)所示的FFT运算高效实现;
S3:基于整理得到的归一化算子库,在面向MIMO-OFDM基带系统接收机的通信专用V LIW矢量处理器指令系统中设计并映射与归一化算子库中的所有归一化算子相对应功能的具体指令,将所有指令归纳形成该通信专用VLIW矢量处理器的指令系统,从而得到MIMO-O FDM基带系统接收机指令级算法程序的实现形式;
进一步地,通过步骤S1和步骤S2对MIMO-OFDM基带系统接收机进行算法拆解并整理归纳得到归一化算子库后,应用可以使用归一化算子库中有限个算子的运算组合完成算法实现,与此同时,在专用处理器指令系统中设计并映射与归一化算子库中的所有归一化算子相对应功能的具体指令,当归一化算子库与指令系统满足算子与指令的一一映射关系时,MI MO-OFDM基带系统接收机即可通过该通信专用VLIW矢量处理器指令系统中有限个指令的运算组合来完成指令级程序的算法实现,即实现了基于归一化算子库的专用处理器指令系统设计;
进一步地,若归一化算子库中包含矢量算子,那么所设计的通信专用VLIW矢量处理器指令系统也需要设计相应的矢量运算指令,如归一化算子库中包含矢量长度为16元的矢量移位运算算子,那么在指令系统中需要设计支持16元的矢量移位运算指令,这表明了基于归一化算子设计的专用处理器支持长度为16的SIMD技术,同时,该处理器支持超长指令集架构VLIW时,可以实现归一化算子间的并行执行,即表明了本发明基于归一化算子库的专用处理器指令系统设计方法可以面向多种复杂处理器架构方案的指令系统设计工作,具有通用性与高效性;
更进一步地,在设计面向MIMO-OFDM基带系统接收机的通信专用VLIW矢量处理器指令系统时,可以重复利用已有的归一化算子库;若在之前面向某个应用的专用处理器设计工作中,保留了当时设计的归一化算子库,则在当前处理器指令系统的设计工作中,可以重复利用已有的归一化算子库;当已有的归一化算子库不能完全满足当前MIMO-OFDM基带系统接收机的算法实现需求时,可以对当前应用按照步骤S1进行算法拆解,从而继续向归一化算子库中补充新的运算算子,以满足MIMO-OFDM基带系统接收机的实现需求;若分析当前应用需求时,已有的归一化算子库中部分算子不需要被使用,则可以在当前专用处理器指令系统中设计指令的过程中弃用相应的不需要的归一化算子,即在当前指令集中不设计未使用算子对应的指令;这表明了本发明基于归一化算子库的专用处理器指令系统设计方法可以在面向不同应用需求时,可以进行归一化算子库的设计复用,同时可以不断地补充新的归一化算子,使得归一化算子库可以满足更多的应用需求,能够有效节省设计时间,降低设计成本,提升设计效率,使得处理器指令系统的设计方法更加规范,改善了设计流程,为升级更新专用处理器的指令系统提供了更简化的方式,保证了设计专用处理器的高效性与可靠性。
由此可见,本发明基于归一化算子库的专用处理器指令系统设计方法在面向MIMO-OFDM基带系统接收机应用时,可以进行归一化算子库的复用,能够有效节省设计时间,降低设计成本,同时可以面向多种复杂处理器架构方案的指令系统设计,利于处理器可重构设计,可以显著提升处理器的设计效率,该发明使得处理器指令系统的设计方法更加规范,改善了设计流程,为升级更新专用处理器的指令系统提供了更简化的方式,具有通用性、高效性等特点。
本发明基于归一化算子库的专用处理器指令系统设计方法,将MIMO-OFDM基带系统接收机的算法处理流程用数学模型的方式进行表征,然后采用大、小两种任务颗粒度的划分方式对算法进行拆解,得到基本算子与专用算子的运算组合实现形式,此后将所有函数拆解得到的基本算子和专用算子归纳整理为归一化算子库,最后基于此归一化算子库,在面向MIMO-OFDM基带系统接收机的通信专用VLIW矢量处理器指令系统中设计并映射与归一化算子库中的所有归一化算子相对应功能的具体指令,将所有指令归纳形成该通信专用VLIW矢量处理器的指令系统,从而得到MIMO-OFDM基带系统接收机指令级算法程序的实现形式;与现有技术相比,本发明通过对应用的算法分析与拆解,整理归纳得到归一化算子库,在面向应用的专用处理器指令系统设计中,利用归一化算子库完成了具体的指令设计,从而得到需求应用在指令级算法程序上的实现形式,同时可以面向多种复杂处理器架构方案的指令系统设计工作,具有通用性与高效性;本发明面向不同应用需求的专用处理器指令系统设计时,可以进行归一化算子库的设计复用,能够有效节省设计时间,降低设计成本,提升设计效率,同时改善了设计流程,为升级更新专用处理器提供了更简洁的方式,保证了设计专用处理器时的高效性与可靠性。
以上仅为本发明的较佳实施例,但并不限制本发明的专利范围,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。
Claims (1)
1.一种基于归一化算子库的专用处理器指令系统设计方法,其特征在于,该方法应用于面向应用的专用处理器指令系统设计中,所述方法包括步骤:
S1)将需求应用的算法处理流程用数学模型的方式进行表征,然后采用大、小两种任务颗粒度的划分方式对算法进行拆解,得到基本算子与专用算子的运算组合的算法实现形式;
具体包括:算法先采用大任务颗粒度的划分方式,把算法当作一个整体模块,所述整体模块的处理流程用多个函数级联的形式进行描述;此后,针对大任务颗粒度的划分方式中得到的函数级联形式,采用小任务颗粒度的划分方式,将每一个函数拆解为基本算子和专用算子的运算组合的算法实现形式;
S2)按照小任务颗粒度的划分方式对所有函数完成拆解后,将所有得到的基本算子和专用算子归纳整理为归一化算子库;
所述归一化算子库包含函数拆解中得到的所有基本算子和专用算子;基本算子是指由常见的基本运算抽象整理归纳而得到的算子集合,包括加减法运算算子、移位运算算子、乘法运算算子、与或非逻辑运算算子;专用算子是指在函数拆解分析过程中,将规律性强的复杂特殊运算进行整理归纳得到的算子集合,包括支持溢出保护的饱和加减法运算算子、支持灵活处理定点数据小数位数的相乘移位运算算子;
若函数在拆解为基本算子和专用算子的运算组合形式过程中支持矢量算子拆解,那么归一化算子库中能够增添相应的矢量基本算子和矢量专用算子;所述矢量基本算子包括如矢量加减法运算算子、矢量移位运算算子、矢量点乘与矢量数乘运算算子、矢量与或非逻辑运算算子;所述矢量专用算子包括用于完成快速傅立叶变换FFT的蝶形运算算子和混洗运算算子、用于实现有限长单位冲激响应滤波FIR运算的矢量拼接运算算子;
S3)基于整理得到的归一化算子库,设计并映射与归一化算子库中的每一个归一化算子相对应功能的具体指令,然后将所有指令归纳得到专用处理器的指令系统,从而得到需求应用在指令级算法程序上的实现形式;
通过步骤S1)和步骤S2)对需求应用进行算法拆解并整理归纳得到归一化算子库后,需求应用使用所述归一化算子库中有限个算子的运算组合完成算法实现,与此同时,在专用处理器指令系统中设计并映射与归一化算子库中的每一个归一化算子相对应功能的具体指令,当归一化算子库与专用处理器指令系统满足算子与指令的一一映射关系时,需求应用能够通过专用处理器指令系统中有限个指令的运算组合来完成指令级程序的算法实现,即实现了基于归一化算子库的专用处理器指令系统设计;
若所述归一化算子库中包含矢量算子,那么所归纳形成的专用处理器指令系统也需要设计相应的矢量运算指令;
在设计面向不同需求应用的专用处理器时,能够重复利用已有的归一化算子库;若在之前面向某个需求应用的专用处理器设计工作中,保留了当时的归一化算子库,则在面向新需求应用的专用处理器设计工作,能够重复利用已有的归一化算子库;当已有的归一化算子库不能完全满足当前需求应用的算法实现需求时,对当前需求应用按照步骤S1)重新进行算法拆解,从而继续向归一化算子库中补充新的运算算子,以满足当前需求应用的实现需求;若对于新的应用需求,已有的归一化算子库中有部分算子不需要被使用,则在面向新需求应用的专用处理器指令系统中设计指令的过程中弃用相应的算子,即在当前指令系统中不设计未使用算子对应的指令;
所述基于归一化算子库的专用处理器指令系统设计方法具体应用于面向多入多出-正交频分复用技术MIMO-OFDM基带系统接收机的通信专用超长指令字VLIW矢量处理器指令系统设计中,此时,采用大任务颗粒度的划分方式得到的函数级联形式中的函数包括同步函数、O FDM解调函数、信号估计函数、求伪逆函数、排序函数、计算迫零解函数、干扰消除函数、校验节点更新函数和比特节点更新函数;如果函数级联形式中的函数仍然复杂,需要再进行一次大任务颗粒度的划分方式,该OFDM解调函数被进一步划分为串并变换函数、去除保护间隔函数、FFT函数、符号检测函数、并串转换函数;
采用小任务颗粒度的划分方式,将每一个函数拆解为基本算子和专用算子的运算组合的算法实现形式具体为:对于N点的FFT运算一共含有级蝶形运算,数据相关性只存在于不同级之间,而同一级的运算数据是不相关的,且每一级由N/2个基2的蝶形运算构成,该FFT函数通过小任务颗粒度的划分方式拆解为蝶形运算算子和混洗运算算子的运算组合的算法实现形式;
由于所述面向多入多出-正交频分复用技术MIMO-OFDM基带系统接收机的通信专用超长指令字VLIW矢量处理器指令系统有部分函数支持矢量算子拆解,因此,在基于归一化算子库的专用处理器指令系统设计中结合了单指令多数据流SIMD技术;具体而言,在上述通信专用VLIW矢量处理器指令系统设计中采用单指令处理16个数据流的SIMD技术,即长度为16的矢量操作,以将部分函数拆解为矢量基本算子和矢量专用算子的运算组合形式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210510490.4A CN114996915B (zh) | 2022-05-11 | 2022-05-11 | 基于归一化算子库的专用处理器指令系统设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210510490.4A CN114996915B (zh) | 2022-05-11 | 2022-05-11 | 基于归一化算子库的专用处理器指令系统设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114996915A CN114996915A (zh) | 2022-09-02 |
CN114996915B true CN114996915B (zh) | 2024-05-28 |
Family
ID=83028026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210510490.4A Active CN114996915B (zh) | 2022-05-11 | 2022-05-11 | 基于归一化算子库的专用处理器指令系统设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996915B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876892A (zh) * | 2010-05-20 | 2010-11-03 | 复旦大学 | 面向通信和多媒体应用的单指令多数据处理器电路结构 |
US8713515B1 (en) * | 2013-05-13 | 2014-04-29 | Ted J. Biggerstaff | Automated synchronization of design features in disparate code components using type differencing |
CN110941898A (zh) * | 2019-11-18 | 2020-03-31 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器的设计模型及设计方法 |
CN111428327A (zh) * | 2018-12-24 | 2020-07-17 | 深圳市中兴微电子技术有限公司 | 一种指令硬件架构的构建方法、装置及存储介质 |
CN113131976A (zh) * | 2021-03-11 | 2021-07-16 | 西安电子科技大学 | 一种分米波混合波束赋形方法、系统及应用 |
CN114116557A (zh) * | 2021-11-15 | 2022-03-01 | 同济大学 | 基于硬件加速器与数字信号处理器的信道估计装置及方法 |
CN114461277A (zh) * | 2021-12-29 | 2022-05-10 | 广西电网有限责任公司电力科学研究院 | 一种电力专用dsp指令集的设计及应用方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10924460B2 (en) * | 2019-12-13 | 2021-02-16 | TripleBlind, Inc. | Systems and methods for dividing filters in neural networks for private data computations |
-
2022
- 2022-05-11 CN CN202210510490.4A patent/CN114996915B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876892A (zh) * | 2010-05-20 | 2010-11-03 | 复旦大学 | 面向通信和多媒体应用的单指令多数据处理器电路结构 |
US8713515B1 (en) * | 2013-05-13 | 2014-04-29 | Ted J. Biggerstaff | Automated synchronization of design features in disparate code components using type differencing |
CN111428327A (zh) * | 2018-12-24 | 2020-07-17 | 深圳市中兴微电子技术有限公司 | 一种指令硬件架构的构建方法、装置及存储介质 |
CN110941898A (zh) * | 2019-11-18 | 2020-03-31 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器的设计模型及设计方法 |
CN113131976A (zh) * | 2021-03-11 | 2021-07-16 | 西安电子科技大学 | 一种分米波混合波束赋形方法、系统及应用 |
CN114116557A (zh) * | 2021-11-15 | 2022-03-01 | 同济大学 | 基于硬件加速器与数字信号处理器的信道估计装置及方法 |
CN114461277A (zh) * | 2021-12-29 | 2022-05-10 | 广西电网有限责任公司电力科学研究院 | 一种电力专用dsp指令集的设计及应用方法 |
Non-Patent Citations (5)
Title |
---|
Alex K.Jones等.An FPGA-based VLIW processor with custom hardware execution.《FPGA '05》.2005,107-117. * |
一种FFT并行处理机的设计与实现;张犁;李双飞;石光明;李甫;;西安电子科技大学学报;20100820(第04期);56-61 * |
专用指令分组密码微处理器体系结构研究;于学荣;刘元锋;戴紫彬;;微计算机信息;20070330(第09期);91-92+106 * |
专用指令集在基于FPGA的神经网络加速器中的应用;胡航天;刘凯;马士超;郭子博;;空间控制技术与应用;20200615(第03期);40-45+58 * |
基于专用指令集的椭圆曲线密码协处理器;张军;杨晓辉;赵前进;杨同杰;戴紫彬;;计算机工程;20110205(第03期);117-119 * |
Also Published As
Publication number | Publication date |
---|---|
CN114996915A (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108268278B (zh) | 具有可配置空间加速器的处理器、方法和系统 | |
Karam et al. | Trends in multicore DSP platforms | |
Yang et al. | Power and area minimization of reconfigurable FFT processors: A 3GPP-LTE example | |
US9792118B2 (en) | Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods | |
US9880845B2 (en) | Vector processing engines (VPEs) employing format conversion circuitry in data flow paths between vector data memory and execution units to provide in-flight format-converting of input vector data to execution units for vector processing operations, and related vector processor systems and methods | |
US9977676B2 (en) | Vector processing engines (VPEs) employing reordering circuitry in data flow paths between execution units and vector data memory to provide in-flight reordering of output vector data stored to vector data memory, and related vector processor systems and methods | |
Ebeling et al. | Implementing an OFDM receiver on the RaPiD reconfigurable architecture | |
US20150143077A1 (en) | VECTOR PROCESSING ENGINES (VPEs) EMPLOYING MERGING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT MERGING OF OUTPUT VECTOR DATA STORED TO VECTOR DATA MEMORY, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS | |
US20150143076A1 (en) | VECTOR PROCESSING ENGINES (VPEs) EMPLOYING DESPREADING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT DESPREADING OF SPREAD-SPECTRUM SEQUENCES, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS | |
US20150143079A1 (en) | VECTOR PROCESSING ENGINES (VPEs) EMPLOYING TAPPED-DELAY LINE(S) FOR PROVIDING PRECISION CORRELATION / COVARIANCE VECTOR PROCESSING OPERATIONS WITH REDUCED SAMPLE RE-FETCHING AND POWER CONSUMPTION, AND RELATED VECTOR PROCESSOR SYSTEMS AND METHODS | |
Arioua et al. | VHDL implementation of an optimized 8-point FFT/IFFT processor in pipeline architecture for OFDM systems | |
Patyk et al. | Low-power application-specific FFT processor for LTE applications | |
Jallouli et al. | MIMO-OFDM LTE system based on a parallel IFFT/FFT on NoC-based FPGA | |
CN114996915B (zh) | 基于归一化算子库的专用处理器指令系统设计方法 | |
JP5324568B2 (ja) | ソフトウェア無線端末のためのプログラマブルデバイス | |
Lin et al. | SPEX: A programming language for software defined radio | |
CN113918221A (zh) | 运算模块、流水优化方法及相关产品 | |
KR20230043702A (ko) | 셀룰러 모뎀에서 데이터 프로세싱을 동기화하기 위한 시스템들 및 방법들 | |
Cetin et al. | Real-time fft computation using gpgpu for OFDM-based systems | |
Li et al. | A scalable systolic accelerator for estimation of the spectral correlation density function and its FPGA implementation | |
Vergara et al. | A 195K FFT/s (256-points) high performance FFT/IFFT processor for OFDM applications | |
Gupta et al. | A high-speed single-path delay feedback pipeline FFT processor using vedic-multiplier | |
Zhang et al. | Accelerating the data shuffle operations for FFT algorithms on SIMD DSPs | |
Nouri et al. | HW/SW co-design of an IEEE 802.11 a/g receiver on Xilinx Zynq SoC using high-level synthesis | |
Wang et al. | A faster algorithm for enumerating connected convex subgraphs in acyclic digraphs |
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 |