CN202110526U - 高性能通用信号处理器指令分配装置 - Google Patents

高性能通用信号处理器指令分配装置 Download PDF

Info

Publication number
CN202110526U
CN202110526U CN2011200542045U CN201120054204U CN202110526U CN 202110526 U CN202110526 U CN 202110526U CN 2011200542045 U CN2011200542045 U CN 2011200542045U CN 201120054204 U CN201120054204 U CN 201120054204U CN 202110526 U CN202110526 U CN 202110526U
Authority
CN
China
Prior art keywords
instruction
module
distribution
output
assignment
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
Application number
CN2011200542045U
Other languages
English (en)
Inventor
孙立宏
洪一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 38 Research Institute
Original Assignee
CETC 38 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 38 Research Institute filed Critical CETC 38 Research Institute
Priority to CN2011200542045U priority Critical patent/CN202110526U/zh
Application granted granted Critical
Publication of CN202110526U publication Critical patent/CN202110526U/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本实用新型涉及高性能通用信号处理器指令分配装置,根据高性能通用信号处理器芯片存在多条指令对应多个执行单元或者通道的“多对多”情况,采用指令分核模块、指令分类模块、指令分配模块和多核指令分配集成模块的组合,实现了多对多的自动化分配及优先级的指定分配,有效的解决了指定执行单元或者传输通道以及多条指令同时抢占同一个执行单元的分配难题,完成了BWDSP100芯片所有指令高效、快速、合理的分配任务,实现了可编程超大规模DSP集成电路芯片运算执行资源占用及传输通道调度的完整功能。

Description

高性能通用信号处理器指令分配装置
技术领域
本实用新型涉及一种高性能通用信号处理器指令分配装置。 
背景技术
目前数字信号处理芯片已经成为高速自动控制、图像处理、通信技术、雷达及各种信号处理中的核心部件。 
国内可编程超大规模DSP集成电路芯片的研制还处在初步尝试阶段,而针对具有复杂指令集的超大规模集成电路芯片内部指令分配,以及执行单元和总线通道占用调度的电路设计还是个尚待解决的难题。 
国际上目前应用最广泛的是美国TI公司的TMS系列和ADI公司的TS系列DSP芯片。ADI公司的两款高性能数字信号处理芯片ADSP TS101S、ADSP TS20XS更具有代表性。以下针对ADSP TS20XS芯片和本实用新型所涉及的我国第一款从指令集、体系结构到设计都实现完全自主的高性能通用信号处理器BWDSP100芯片内部的运算执行单元情况进行比较: 
ADSP TS20XS:其核内有双运算模块,每个运算模块包含1个算数逻辑单元(ALU)、1个乘法器、1个移位器、1个寄存器组和1个通信逻辑运算单元(CLU)。1个指令行中最多有4条运算块指令。
BWDSP100:包括4个运算执行核(X、Y、Z、T),每一个运算执行核包含4个乘法器、8个ALU运算单元、2个移位器、一个特定运算单元和一组64字的寄存器组。1个指令行中最多有16条运算块指令。 
根据比较可以得出,由于ADSP TS20XS芯片在每个运算核内的各类运算单元只有一个,不存在单条运算指令对应多个可执行运算单元的情况。例如ALU指令,MULT指令、Shif指令、SPU指令、块浮点指令等等,不同类指令所占用的运算单元是不同的,例如不存在ALU指令(加减法)占用MULT(乘法)运算单元的情况,因此当一个指令行中仅有1条ALU指令和1条MULT指令时,是不存在两者之间执行资源抢占的,因此也不存在不同类指令之间的分配难题。 
而BWDSP100芯片却存在多条指令对应多个执行单元的多对多的情况,并且包含指定1个或者多个执行单元的分配难题。其中指定执行的情况又存在多条ALU指令抢占同一个执行单元的难题。例如针对ALU指令而言,一个指令行有16个指令槽,相应的可以有1 到16条指令。在1到16条指令中可能存在1到8条ALU指令,并且随机分布在16个指令槽中。其中的每条ALU指令都对应着4个执行核(X核、Y核、Z核、T核),每个执行核内又有8个ALU运算单元。每条ALU指令既可以“指定”四个核中的1个或者多个ALU来执行,也可以允许由四个核中的“任意”空闲的1个或者多个ALU来执行。其指定的情况可以具体指定到某个核的某个ALU执行单元。尽管在其他应用领域也有一些分配方法,比如游戏机平台内部的指令分配电路等。但这些方法相对于高数据吞吐量且高运算复杂度及并行性的多核可编程DSP芯片来说还是不能适用。因此,对BWDSP100芯片内部高度集成的指令分配实用电路设计是一个急于解决的问题。 
发明内容
本实用新型的目的在于根据高性能通用信号处理器芯片存在多条指令对应多个执行单元或者通道的“多对多”情况,提供一种能够将接收到的各种不同的指令高效、快速、合理地分配到相应的运算处理单元,或者将指令需要传输的数据分配到数据传输通道上的高性能通用信号处理器指令分配装置。 
其技术方案是:一种高性能通用信号处理器指令分配装置,包括依次连接的指令分核模块、指令分类模块、指令分配模块和多核指令分配集成模块;其中: 
指令分核模块——用于将接收的指令分成4个512位针对不同运算执行核的指令行;
指令分类模块——用于根据指令分核模块的分类情况,将指令行并行分类,并输出类别标志位;
指令分配模块——用于将指令合理分配到相应的运算执行单元,或者将数据分配至相应的数据传输通道;
多核指令分配集成模块——用于将不同运算核的分配电路设计集成为一个整体模块,输出最终分配结果。
上述的指令分配模块,包括: 
自动分配模块-用于对未特别指明具体运算执行单元标号的指令,自动查找该类空运算执行单元并自动选择分配,或者将传输数据自动分配到数据传输通道;
指定分配模块——用于对特别指定具体运算执行单元编号的指令,查找指定冲突的情况,对其指定编号的运算单元进行保留并输出该指令的对应分配编号及优先顺序;
优先级选择模块——用于在同类指令的不同微操作之间,根据优先级定义的顺序,依次按照优先选择权进行分配编号输出;
组合选择模块——用于综合指定分配和自动分配模块的输出情况,快速将指令分配所对应的 运算单元编号选择输出,同时输出传输数据所对应的分配通道编号,对可以并行占用运算单元的指令优先输出,不能并行占用运算单元的指令进入重新调度选择器,选择后输出;
分配指令控制输出模块——按照分配编号的情况,用于将分配指令与执行单元或者数据通道一一对应,输出分配指令执行需要的所有控制信号;
分配指令数据输出模块——用于在分配指令与执行单元或者数据通道一一对应的情况下,输出分配指令执行需要的所有数据信号。
寄存器堆资源占用输出模块——根据指令与数据通道对应的分配结果,用于输出指令占用寄存器堆资源的标志选择信号。 
其技术效果是:本实用新型根据高性能通用信号处理器芯片存在多条指令对应多个执行单元或者通道的“多对多”情况,采用指令分核模块、指令分类模块、指令分配模块和多核指令分配集成模块的组合,实现了多对多的自动化分配及优先级的指定分配,有效的解决了指定执行单元或者传输通道以及多条指令同时抢占同一个执行单元的分配难题,完成了BWDSP100芯片所有指令高效、快速、合理的分配任务,实现了可编程超大规模DSP集成电路芯片运算执行资源占用及传输通道调度的完整功能。 
附图说明
图1是指令分配结构图。 
图2是X运算核指令分配结构图。 
图3是访存指令分配结构图。 
图4是多核指令分配集成框图。 
具体实施方式
如图4所示,一种高性能通用信号处理器指令分配装置,包括: 
1、指令分核模块:每个时钟周期接收到512位指令行,其中单字指令32位,双字指令64位,一条指令行可以含有1到16条指令。每条指令可以占用x、y、z、t中的任意1个到4个运算执行核的各种组合情况。指令分核模块的功能是将接收的指令分成4个512位针对不同运算执行核的指令行。
2、指令分类模块:指令分类模块的输入即是指令分核模块的输出,其功能是根据指令集的分类情况,将指令行并行分类,输出类别标志位。在BWDSP100芯片中,指令分类模块又包括核外指令分类模块和核内指令分类模块。其中核外指令分类主要针对访存指令的读、写及立即数指令进行操作;核内指令的分类模块所分类的指令主要有算数逻辑单元(ALU)、乘法器(MULT)、移位器(SHIF)、特殊运算单元(SPU)、控制寄存器、核间传 输指令和块浮点运算指令等。 
3、指令分配模块:按照指令行内各种指令的执行要求,将指令合理分配到相应的运算执行单元,或者将数据分配至相应的数据传输通道。 
4、多核指令分配集成:将不同运算核的分配电路设计集成为一个整体模块,输出最终分配结果。 
其中指令分配模块又包括以下模块: 
1)自动分配模块:对于未特别指肯具体运算执行单元标号的指令,自动查找该类空运算执行单元并自动选择分配,或者将传输数据自动分配到数据传输通道。
2)指定分配模块:对于特别指定具体运算执行单元编号的指令,查找指定冲突的情况,对其指定编号的运算单元进行保留并输出该指令对应的分配编号。 
3)优先级选择模块:由于指定分配的情况存在优先顺序,这类情况主要发生在同类指令的不同微操作之间。在这种情况下,优先级选择模块就根据优先级定义的顺序,依次按照优先选择权进行分配编号输出。 
4)组合选择模块:综合“指定分配”和“自动分配”模块的输出情况,设计一个高速选择器,首先输出可以并行占用运算单元的指令,不能并行占用运算单元的指令进入重新调度选择器。快速将指令分配对应的运算单元编号选择输出,同时输出传输数据所对应的分配通道编号。 
5)分配指令控制输出模块:按照分配编号的情况,将分配指令与执行单元或者数据通道一一对应,输出分配指令执行需要的所有控制信号。 
6)分配指令数据输出模块:在分配指令与执行单元或者数据通道一一对应的情况下,输出分配指令执行需要的所有数据信号。 
7)寄存器堆资源占用输出模块:根据指令与数据通道对应的分配结果,输出指令占用寄存器堆资源的标志选择信号。 
高性能通用信号处理器指令分配主要包括以下四类: 
一、指令分配
指令分配模块主要解决多条同类型指令对应多个执行单元的分配问题,同时存在指令指定占用1个或者多个执行单元的情况,并包括多条指令抢占同一个运算执行单元的问题。该指令分配模块可适用于各种不同种类指令的分配,其内部的分配电路结构类似,如图1所示。指令分配主要包括以下步骤:
步骤一:将分类后的指令及对应的类别编码分别输入到指定分配和自动分配模块。
步骤二:自动分配模块根据指令类别和指令特征码填写该类指令自动分配标识。根据指令占用运算单元的数量情况,经过自动选择分配单元模块,输出自动分配对应的运算单元编码。其中运算单元占用的数目可以是1个到8个不等,根据具体指令类型而定。 
步骤三:指定分配模块根据指令类别和指令指定分配特征码填写指令指定分配标识。根据指令指定的运算单元编号,输出该类指令指定分配对应的运算单元编码。其中指定运算单元的数目可以是1个到8个不等,并且可以指定相邻2个或者相邻多个运算单元,由指令集的对应指令及相应的标志位确定。 
步骤四:指定分配模块输出的结果通过优先级选择模块按照指定优先级排序输出。具有优先指定权的指令经过该选择模块后会优先抢占其指定的运算单元。 
步骤五:将指定分配和自动分配的结果输入到组合选择器。指定输出具有对运算单元的优先选择权,在指定分配确定的情况下,选择空闲运算单元的编码按照自动分配模块的分配要求对其余指令自动分配。 
步骤六:经过组合选择模块的分配编码输入至寄存器堆资源占用输出模块、分配指令控制输出模块和分配指令数据输出模块,得到指令行中该类指令的分配执行结果。 
二、单核运算指令分配集成 
通过指令分配模块得到的是单类指令的分配输出。将运算执行核内所有类型的运算指令分配模块综合集成为一个单核分配模块,如图2为X运算核指令分配集成,主要包括:ALU(加/减法)指令分配器、MULT(乘法)指令分配器、SHIFT(移位)指令分配器、SPU(特殊运算)指令分配器、控制寄存器指令分配器、核间传输指令分配器、块浮点指令分配器以及所有分配输出的时钟寄存器。
三、访存指令(数据通道)分配集成 
访存指令分配的内部实施步骤与上述情况类似,所不同的是数据通道分配需要按照读、写、立即数操作三种情况进行通道分配,以避免读写冲突。因此数据通道分配相应以上三种类别分别设置了三种不同的通道分配模块(如图3所示):
1、读访存指令分配:主要实现读访存指令由数据存储器到寄存器堆之间“读”数据通道的占用分配。
2、写访存指令分配:主要实现写访存指令由数据存储器到寄存器堆之间“写”数据通道的占用分配。 
3、立即数访存指令分配:主要实现立即数访存指令对数据存储器的立即数操作通道占用分配。 
四、多核指令分配 
如图4所示,多核指令分配主要包括以下几个步骤:
步骤一:BWDSP100处理器的指令位宽为512位,主要包括执行核外指令和执行核内指令。执行核内指令首先经过指令分核模块,该模块接收到512位指令流,通过对指令核标志位的判断,将指令分成4个512位宽的单核指令,其中4个执行核分别命名为X核、Y核、Z核和T核。
步骤二:指令经过指令分核模块即进入到指令分类模块。并通过对指令特征位的辨识,将指令所属类别进行编码。输出一个与指令行指令逐条对应的类别码。如果指令行某条指令为空,则对应的类别码约定为0。指令分类模块又包括核外指令分类和核内指令分类。其中核外指令分类主要针对访存指令的读、写及立即数指令进行操作;核内指令的分类模块所分类的指令主要有算数逻辑单元(ALU)、乘法器(MULT)、移位器(SHIF)、特殊运算单元(SPU)、控制寄存器、核间传输指令和块浮点运算指令等。 
步骤三:经过上述处理后的指令进入到指令分配阶段,相应地将经过步骤二处理后的两路分支——执行核内的单核指令分类结果和执行核外的访存指令分类结果,分别输入到X/Y/Z/T单核指令分配模块或者执行核外的访存指令分配模块,从而得到指令分配的输出结果,包括控制输出、数据输出和寄存器堆资源占用标志输出。 
步骤四:每个执行核内设置一个选择器,将所有单核指令分配集成模块、核外指令分配模块、数据通道(访存指令)分配模块的输出经过相应的时钟寄存器并综合输入核间分配选择器,实现核间传输通道交叉占用以及核内外的寄存器堆资源占用的标志选择输出。 
步骤五:最后将选择器的输出结果与指令分配输出结果经过多核指令分配集成模块输出整个高性能通用信号处理器芯片的综合分配输出结果。 

Claims (2)

1.高性能通用信号处理器指令分配装置,其特征包括:依次连接的指令分核模块、指令分类模块、指令分配模块和多核指令分配集成模块;其中
指令分核模块——用于将接收的指令分成4个512位针对不同运算执行核的指令行;
指令分类模块——用于根据指令分核模块的分类情况,将指令行并行分类,并输出类别标志位;
指令分配模块——用于将指令合理分配到相应的运算执行单元,或者将数据分配至相应的数据传输通道;
多核指令分配集成模块——用于将不同运算核的分配电路设计集成为一个整体模块,输出最终分配结果。
2.根据权利要求1所述的高性能通用信号处理器指令分配装置,其特征在于:所述的指令分配模块包括:
自动分配模块——用于对未特别指明具体运算执行单元标号的指令,自动查找该类空运算执行单元并自动选择分配,或者将传输数据自动分配到数据传输通道;
指定分配模块——用于对特别指定具体运算执行单元编号的指令,查找指定冲突的情况,对其指定编号的运算单元进行保留并输出该指令的对应分配编号及优先顺序;
优先级选择模块——用于在同类指令的不同微操作之间,根据优先级定义的顺序,依次按照优先选择权进行分配编号输出;
组合选择模块——用于综合指定分配和自动分配模块的输出情况,快速将指令分配所对应的运算单元编号选择输出,同时输出传输数据所对应的分配通道编号,对可以并行占用运算单元的指令优先输出,不能并行占用运算单元的指令进入重新调度选择器,选择后输出;
分配指令控制输出模块——按照分配编号的情况,用于将分配指令与执行单元或者数据通道一一对应,输出分配指令执行需要的所有控制信号;
分配指令数据输出模块——用于在分配指令与执行单元或者数据通道一一对应的情况下,输出分配指令执行需要的所有数据信号;
寄存器堆资源占用输出模块——根据指令与数据通道对应的分配结果,用于输出指令占用寄存器堆资源的标志选择信号。 
CN2011200542045U 2011-03-04 2011-03-04 高性能通用信号处理器指令分配装置 Expired - Fee Related CN202110526U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011200542045U CN202110526U (zh) 2011-03-04 2011-03-04 高性能通用信号处理器指令分配装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011200542045U CN202110526U (zh) 2011-03-04 2011-03-04 高性能通用信号处理器指令分配装置

Publications (1)

Publication Number Publication Date
CN202110526U true CN202110526U (zh) 2012-01-11

Family

ID=45435971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011200542045U Expired - Fee Related CN202110526U (zh) 2011-03-04 2011-03-04 高性能通用信号处理器指令分配装置

Country Status (1)

Country Link
CN (1) CN202110526U (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868003A (zh) * 2016-03-25 2016-08-17 浙江大学 一种基于tms320c6747的任务上下文切换优化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868003A (zh) * 2016-03-25 2016-08-17 浙江大学 一种基于tms320c6747的任务上下文切换优化方法
CN105868003B (zh) * 2016-03-25 2019-08-13 浙江大学 一种基于tms320c6747的任务上下文切换优化方法

Similar Documents

Publication Publication Date Title
CN102117197B (zh) 高性能通用信号处理器指令分配装置
US11868163B2 (en) Efficient loop execution for a multi-threaded, self-scheduling reconfigurable computing fabric
US20230153163A1 (en) Computational Partition for a Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric
CN100570594C (zh) 在并行计算机上执行全收集操作的方法和系统
US11237880B1 (en) Dataflow all-reduce for reconfigurable processor systems
US20230153258A1 (en) Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric
CN102981807B (zh) 一种基于cuda并行环境的gpu程序优化方法
CN107704922A (zh) 人工神经网络处理装置
US11847395B2 (en) Executing a neural network graph using a non-homogenous set of reconfigurable processors
CN105512179A (zh) 硬件实现的数据排序装置、方法及数据处理芯片
CN101366004A (zh) 用于带有专用线程管理的多核处理的方法和设备
CN103226463A (zh) 用于使用预解码数据调度指令的方法和装置
CN103345461A (zh) 基于fpga的带有加速器的多核处理器片上网络系统
CN101673343B (zh) 在dsp+fpga架构中提高信号实时模式识别处理速度的系统及方法
US8775685B1 (en) Parallel processing of network packets
CN101763247B (zh) 利用可编程转移表快速转移的系统和方法
CN105874436A (zh) 用于自主存储器的方法及系统
CN112084139A (zh) 一种基于数据流驱动的多发射混合粒度可重构阵列处理器
CN104778025A (zh) 基于随机访问存储器的先入先出存储器的电路结构
US20080320240A1 (en) Method and arrangements for memory access
CN116627892B (zh) 一种数据近存储计算方法、装置和存储介质
CN104731561A (zh) 在simd处理单元中的任务执行
CN108874730A (zh) 一种数据处理器及数据处理方法
US9753769B2 (en) Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof
CN202110526U (zh) 高性能通用信号处理器指令分配装置

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120111

Termination date: 20130304