CN112307431B - 一种vdsp、数据处理方法及通讯设备 - Google Patents
一种vdsp、数据处理方法及通讯设备 Download PDFInfo
- Publication number
- CN112307431B CN112307431B CN202011241464.3A CN202011241464A CN112307431B CN 112307431 B CN112307431 B CN 112307431B CN 202011241464 A CN202011241464 A CN 202011241464A CN 112307431 B CN112307431 B CN 112307431B
- Authority
- CN
- China
- Prior art keywords
- different
- vdsp
- register
- data
- area
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 21
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000013500 data storage Methods 0.000 claims abstract description 101
- 238000012545 processing Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 5
- 239000002699 waste material Substances 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 7
- 101100534231 Xenopus laevis src-b gene Proteins 0.000 description 5
- 230000004913 activation Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 101100058681 Drosophila melanogaster Btk29A gene Proteins 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 101150071746 Pbsn gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Sources (AREA)
Abstract
本申请实施例公开了一种VDSP、数据处理方法及通讯设备,属于芯片技术领域。该VDSP包括VR、VALU、DM和LSU;VR被划分为至少两个寄存器区域,DM被划分为至少两个数据存储区,位于不同电源域;VALU被划分为至少两个矢量运算区域,不同寄存器区域、不同数据存储区和不同矢量运算区域位于不同电源域,VDSP包括至少两种工作模式,不同工作模式下,VR、DM和VALU中电源域的开关状态不同;LSU用于访问处于激活状态的VR或DM,VALU用于通过处于激活状态的矢量运算区域对VR中的数据进行运算。实现同一VDSP可以处于不同工作模式,避免在不同场景下VDSP处于同一工作模式对VDSP处理资源的浪费。
Description
技术领域
本申请实施例涉及芯片技术领域,特别涉及一种矢量信号处理器(VectorDigital Signal Processor,VDSP)、数据处理方法及通讯设备。
背景技术
VDSP是通讯设备中用于信号处理的组件,其在无线通讯领域具有重要作用。
在现代通信系统中,物理层的VDSP需要兼顾不同的解调场景,比如,4G场景、2G场景、3G场景等,在不同解调场景下,终端对VDSP的数据处理能力要求不同。相关技术中,VDSP通常基于最复杂的解调场景而设计。
显然,采用相关技术中的方案,对于不同的解调场景,VDSP均处于同一工作模式下(即最复杂的解调场景对应的工作模式),显然会造成对VDSP运算能力的浪费。
发明内容
本申请实施例提供了一种VDSP、数据处理方法及通讯设备。所述技术方案如下:
一方面,本申请实施例提供了一种VDSP,所述VDSP包括矢量寄存器VR、矢量运算单元VALU、数据存储器DM和存取单元LSU;
所述VR被划分为至少两个寄存器区域,不同寄存器区域位于不同电源域,电源域用于通过开关控制寄存器区域处于激活状态或未激活状态,且不同电源域支持独立开关;
所述DM被划分为至少两个数据存储区,不同数据存储区位于不同电源域,电源域用于通过开关控制数据存储区处于激活状态或未激活状态,且不同电源域支持独立开关;
所述VALU被划分为至少两个矢量运算区域,不同矢量运算区域位于不同电源域,电源域用于通过开关控制矢量运算区域处于激活状态或未激活状态,且不同电源域支持独立开关;
所述VDSP包括至少两种工作模式,不同工作模式下,所述VR、所述DM和所述VALU中电源域的开关状态不同;
工作状态下,所述LSU用于访问处于激活状态的所述VR或所述DM,所述VALU用于通过处于激活状态的所述矢量运算区域对所述VR中的数据进行运算。
另一方面,本申请实施例提供了一种数据处理方法,所述方法应用于上述实施例所述的VDSP中,所述方法包括:
接收目标工作模式配置指令;
根据所述目标工作模式配置指令,控制VR中的目标寄存器区域、DM中的目标数据存储区以及VALU中的目标矢量运算区域上电;
通过所述LSU从所述目标数据存储区读取数据,并将所述数据写入所述目标寄存器区域;
通过所述目标矢量运算区域对所述目标寄存器区域中存储的所述数据进行运算。
另一方面,本申请实施例提供了一种通讯设备,所述通讯设备中配置有如上述实施例所述的VDSP。
本申请实施例提供的技术方案至少包括如下有益效果:
本申请实施例提供的VDSP中,VR、DM和VALU均被划分为不同区域,且不同区域位于不同电源域上,通过控制电源域的开关使得各个功能单元的不同区域处于激活状态,实现了同一VDSP可以处于不同工作模式,避免在不同解调场景下,VDSP均处于同一工作模式(各个功能单元均处于激活状态)对VDSP处理资源的浪费,进而可以降低VDSP的功耗。
附图说明
图1示出了本申请一个示例性实施例示出的VDSP的架构图;
图2示出了本申请一个示例性实施例示出的VDSP的结构框图;
图3示出了本申请一个示例性实施例示出的LSU在不同工作模式下访问VR和DM的过程示意图;
图4示出了本申请一个示例性实施例示出的VALU在不同工作模式下处理数据的过程示意图;
图5示出了本申请另一个示例性实施例示出的VDSP的结构框图;
图6示出了本申请一个示例性实施例示出的PCU中译码器的划分示意图;
图7示出了本申请一个示例性实施例示出的工作模式的确定方法的流程图;
图8示出了本申请另一个示例性实施例示出的工作模式的确定方法的流程图;
图9示出了本申请一个示例性实施例示出的数据处理方法的流程图;
图10示出了本申请一个示例性实施例示出的通讯设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
相关技术中,由于VDSP在设计时需要满足不同信号处理场景的需求,即VDSP在设计时需要满足最复杂的信号处理场景,而对于简单的信号处理场景,比如终端待机场景下,相比于复杂场景,待机场景所需要的运算能力较少,而此时VDSP若仍运行于处理复杂场景的工作模式下,显然会造成对VDSP处理资源的浪费。
针对相关技术中的问题,本申请实施例提供了一种VDSP,通过划分电源域的方式使得同一VDSP在不同工作模式下具有不同的数据处理能力和不同的功耗,以便在简单场景下,可以占用较少的处理资源,而在复杂场景下,占用较多的处理资源,满足不同场景下数据处理能力的同时,兼顾对VDSP中处理资源的合理分配。如图1所示,其示出了本申请一个示例性实施例示出的VDSP的架构图。该VDSP100至少包括:矢量寄存器(Vector Register,VR)101、矢量运算单元(Vector Arithmetic Logical Unit,VALU)102、数据存储器(DataMemory,DM)103、存取单元(Load Store Unit,LSU)104、程序内存(Program memory,PM)105和程序控制单元(Program Control Unit,PCU)106。
VR101是VDSP100中用于存储数据的组件。本申请实施例中,VR101包括512个寄存器单元,即VR0~VR511,每个寄存器单元的数据长度为2048bit(64单元×32bit)。可选的,本申请实施例中,VR101可以被划分为不同的寄存器区域,不同寄存器区域位于不同电源域,使得可以通过开关控制不同寄存器区域处于激活状态或未激活状态。
VALU102是VDSP100中对VR101中数据进行运算操作的组件。VALU102可以包括VALU内部寄存器区域和VALU矢量运算区域,其中,VALU内部寄存器用于存储从VR101中读取的数据,VALU矢量运算单元用于对从VR101中读取的数据进行运算操作。本实施例中,VALU102单次能处理64个整型数据的算数操作,比如:乘法操作、加法操作、减法操作和移位操作等。可选的,VALU102可以被划分为不同矢量运算区域,不同矢量运算区域位于不同电源域,使得可以通过开关控制不同矢量运算区域处于激活状态或未激活状态。
DM103是VDSP100和计算机设备中的其他组件进行数据交互的数据存储组件,其相当于VDSP100上的系统级缓存,用于存储来自其他组件发送的待处理数据,以及存储VDSP100处理后的数据。本申请实施例中,DM103可以被划分为不同数据存储区,不同数据存储区位于不同电源域,使得可以通过开关控制不同数据存储区处于激活状态或未激活状态。
LSU104是VDSP100中用于DM103和VR101中数据交换的组件。本申请实施例中,当VDSP100处于工作状态时,一方面,LSU104可以从DM103中读取数据,并存入VR101中,以供VALU102进行数据运算处理,一方面,LSU104可以将经过VALU102处理后的数据从VR101中读取后存入DM103中;比如,LSU104单次从DM104中对2个2048bit宽度数据进行读取操作,并对1个2048bit宽度数据进行存储操作。本申请实施例中,LSU104仅可以访问处于激活状态的DM103和处于激活状态的VR101。
PM105是VDSP100中用于存储程序指令的组件。本申请实施例中,PM105为多个宽度为16bit的存储器的集合,不同工作模式下,PM105中不同指令存储区处于激活状态。
PCU106是VDSP100中用于对程序指令进行解码的组件。本申请实施例中,PCU106最大支持4个48bit编码的指令同时解码,即2个加载(load)指令,1个存储(store)指令,1个算数操作(alu)指令,超长指令字(Very Long Instruction Word,VLIW)为192bit宽度。
本申请实施例中,通过将VR101划分为不同寄存器区域,将VALU102划分为不同矢量运算区域,以及将DM103划分为不同数据存储区,且不同区域均位于不同电源域上,使得可以通过开关电源域来控制不同区域处于激活状态或未激活状态,从而使得VDSP可以工作在不同工作模式,避免在不同解调场景下,VDSP均处于同一工作模式(各个功能单元均处于激活状态)对VDSP处理资源的浪费,进而可以降低VDSP的功耗。
请参考图2,其示出了本申请一个示例性实施例示出的VDSP的结构框图,该VDSP200中包括VR210、VALU220、DM230和LSU240,其中,VR210被划分为两个寄存器区域:第一寄存器区域211和第二寄存器区域212,VALU220被划分为两个矢量运算区域:第一矢量运算区域221和第二矢量运算区域222,DM230被划分为两个数据存储区:第一数据存储区231和第二数据存储区232。
VR210被划分为至少两个寄存器区域,不同寄存器区域位于不同电源域,电源域用于通过开关控制寄存器区域处于激活状态或未激活状态,且不同电源域支持独立开关。
由于VR是用于存储VDSP进行处理的数据的,若VR中同时存储较多的数据,则VALU就需要同时处理较多的数据,显然会增加VALU的处理功耗,从而增加VDSP的处理功耗,因此,为了使得VDSP可以被划分出不同的工作模式,首先基于数据处理需求将VR划分为不同寄存器区域,使得在不同工作模式下,VR只需要激活相应的部分寄存器区域,优先使用激活的部分VR存储数据,从而实现对不同工作模式的划分。
在一种可能的实施方式中,为了实现对不同寄存器区域的激活状态或未激活状态的控制,通过将VR例化到多块实体存储区来实现VR存储区的多电源域切分,即将不同寄存器区域设置在不同电源域中,通过控制不同电源域的开关,来控制VR中不同寄存器区域的激活状态。
在一个示例性的例子中,如图2所示,以将VR划分为两个不同寄存器区域为例进行示例性说明,其中,VR210被划分为第一寄存器区域211和第二寄存器区域212,且第一寄存器区域211对应第一电源域,第二寄存器区域212对应第二电源域,VDSP200可以通过控制任意电源域的开关来控制VR210中处于激活状态的寄存器区域,比如,当VDSP200处于某一工作模式下,通过控制第一电源域开启,即控制第一寄存区域211处于激活状态;或通过控制第一电源域和第二电源域开启,则控制第一寄存区域211和第二寄存器区域212处于激活状态。
DM230被划分为至少两个数据存储区,不同数据存储区位于不同电源域,电源域用于通过开关控制数据存储区处于激活状态或未激活状态,且不同电源域支持独立开关。
由于VR中数据的来源部分为DM,DM中存储数据的部分来源为VR,因此,若对VR进行划分,则相应的,也可以基于相同的划分思想对DM进行划分,使得在不同工作模式下,DM中不同的数据存储区处于激活状态,既可以满足VR从中获取数据以及将数据写入DM的需求,也可以避免在各个工作模式下,激活所有的DM对功耗的浪费。
在一种可能的实施方式中,为了更方便的控制不同数据存储区的激活状态或不激活状态,采用与VR类似的方式,通过将不同数据存储区设置在不同电源域上,以便通过控制电源域的开关,即可实现对不同数据存储区是否处于激活状态的控制。
在一个示例性的例子中,如图2所示,以DM被划分为两个数据存储区为例进行示例性说明,其中,DM230被划分为第一数据存储区231和第二数据存储区232,且第一数据存储区231位于第一电源域,第二数据存储区232位于第二电源域,VDSP200在不同工作模式下可以通过控制不同电源域的开关来控制不同数据存储区的激活状态。比如,当VDSP200处于某一工作模式下,通过控制第一电源域开启,即控制第一数据存储区231处于激活状态;或通过控制第一电源域和第二电源域开启,即控制第一数据存储区231和第二数据存储区232处于激活状态。
VALU220被划分为至少两个矢量运算区域,不同矢量运算区域位于不同电源域,电源域用于通过开关控制矢量运算区域处于激活状态或未激活状态,且不同电源域支持独立开关。
VALU是用于处理VR中存储的数据的,在VR被划分为不同寄存器区域时,且不同寄存区域的激活状态会随工作模式改变时,则对应的VALU在对VR中存储的数据进行处理时,可能无需使用全部的矢量运算区域,因此,相应的,可以基于VR的划分原则,将VALU划分出至少两个矢量运算区域,使得可以满足对激活状态的VR中存储的数据进行运算处理的同时,兼顾VALU功耗情况。
以数据处理场景为例,若当前数据处理场景中,所需要处理的数据量较少时,仍激活全部的VALU,造成大部分VALU并未被使用,显然会对VALU中矢量运算资源的浪费,且会进一步增加VDSP的功耗,因此,在一种可能的实施方式中,将VALU划分为至少两个矢量运算区域,且将不同矢量运算区域设置在不同电源域上,通过电源域控制不同矢量运算区域的激活状态,使得在不同数据场景下(不同工作模式下),可以激活不同矢量运算区域提供数据运算支持,比如,在数据量较少的数据处理场景中,可以仅开启一个电源域,即控制部分矢量运算区域激活,使得既可以满足该数据处理场景的数据运算区域的情况下,兼顾VALU的功耗情况,实现对VALU矢量运算资源的合理利用。
在一个示例性的例子中,如图2所示,以将VALU划分为两个矢量运算区域为例进行示例性说明。其中,VALU220包括第一矢量运算区域221和第二矢量运算区域222,其中,第一矢量运算区域221位于第一电源域,第二矢量运算区域222位于第二电源域,通过控制不同电源域的开关,可以实现对不同矢量运算区域的激活或去激活,比如,当VDSP200处于某一工作模式下,通过控制第一电源域开启,即控制第一矢量运算区域221处于激活状态;或通过控制第一电源域和第二电源域开启,则控制第一矢量运算区域221和第二矢量运算区域222处于激活状态。
VDSP包括至少两种工作模式,不同工作模式下,VR、DM和VALU中电源域的开关状态不同。
上文实施例中示出了VR、DM和VALU均可以被划分为两个子区域,且不同子区域均位于不同电源域上,由于VR、DM和VALU的功能具有关联性,比如,VR存储数据的多少决定了VALU同时处理数据的多少,DM中存储数据的多少决定了可以向VR中写入的数据的多少,或VR中存储数据的多少决定了向DM中写入数据的多少,因此,当VR、DM和VALU在不同工作模式下,电源域的开关状态决定了其不同区域的激活状态,可以使得VDSP处于不同工作模式,比如,若VR、DM和VALU分别被划分为两个区域,则对应的VDSP可以实现两种工作模式。
工作状态下,LSU用于访问处于激活状态的VR或DM,VALU用于通过处于激活状态的矢量运算区域对VR中的数据进行运算。
在一种可能的实施方式中,当VDSP处于某一工作模式时,通过控制电源域的开关,使得VR中的目标寄存区域、DM中的目标数据存储区和VALU中的目标矢量运算区域处于激活状态后,此时,LSU仅可以访问处于激活状态的VR和激活状态的DM,比如,LSU从处于激活状态的DM中读取数据,并存入处于激活状态的VR中,或从处于激活状态的VR中读取数据,并存入处于激活状态的DM中,对于LSU访问场景中,在不同工作模式下,LSU可以仅访问处于激活状态的DM或VR,使得在数据处理需求较低的场景下,可以减少LSU的访问资源;对于VALU数据处理场景中,在不同工作模式下,VALU仅需要通过处于激活状态的矢量运算区域对VR中的数据进行处理,在满足对VR中数据处理需求的同时,可以兼顾VALU的运算功耗。
综上所述,本申请实施例中,通过将VR、DM和VALU划分为不同区域,且不同区域位于不同电源域上,通过控制电源域的开关使得各个功能单元的不同区域处于激活状态,实现了同一VDSP可以处于不同工作模式,避免在不同解调场景下,VDSP均处于同一工作模式(各个功能单元均处于激活状态)对VDSP处理资源的浪费,进而可以降低VDSP的功耗。
在一种可能的应用场景中,开发人员基于VDSP中各种功能单元的最大化划分限度和不同解调场景对数据处理能力的需求,将VDSP划分为四种工作模式,即功耗优先模式、功耗平衡模式、性能平衡模式和性能优先模式,且这四种工作模式下,VDSP中VR、DM和VALU中处于激活状态的电源域不同。
其中,VDSP在性能优先模式下对应的数据处理能力高于VDSP在性能平衡模式下对应的数据处理能力,VDSP在性能平衡模式下对应的数据处理能力高于VDSP在功耗平衡模式下对应的数据处理能力,VDSP在功耗平衡模式下对应的数据处理能力高于VDSP在功耗优先模式下对应的数据处理能力。
参考上述不同工作模式下对数据处理能力的需求,为不同工作模式分配不同的寄存器区域、矢量运算区域和数据存储区,具体的划分方式可以如下所示:
(1)功耗优先模式下,电源域通过开关控制VR的第一寄存器区域、DM的第一数据存储区和VALU的第一矢量运算区域处于激活状态。
(2)功耗平衡模式下,电源域通过开关控制VR的第一寄存区域和第二寄存区域、DM的第一数据存储区和第二数据存储区以及VALU的第一矢量运算区域和第二矢量运算区域处于激活状态。
(3)性能平衡模式下,电源域通过开关控制VR的第一寄存区域、第二寄存区域和第三寄存区域、DM的第一数据存储区、第二数据存储区和第三数据存储区、VALU的第一矢量运算区域、第二矢量运算区域和第三矢量运算区域处于激活状态。
(4)性能优先模式下,电源域通过开关控制VR第一寄存区域、第二寄存区域、第三寄存区域和第四寄存区域、DM的第一数据存储区、第二数据存储区、第三数据存储区和第四数据存储区、VALU的第一矢量运算区域、第二矢量运算区域、第三矢量运算区域和第四矢量运算区域处于激活状态。
从不同工作模式下,VR、DM和VALU中处于激活状态的区域可以明显看出,当处于功耗优先模式下,VR、DM和VALU中大部分区域处于未激活状态,显然可以降低VDSP的静态功耗。
下文实施例主要针对上述四种工作模式,来详细描述VDSP中各种功能单元的划分方式。
为了应对不同工作模式下对数据处理能力的需求,在对VR和DM进行划分时,需要考虑到处于激活状态的VR或DM是否可以满足当前数据的存取需求,即需要考虑到不同工作模式下处于激活状态VR和DM所能存储的数据量,而数据量与存储单元的数量和存储单元的数据长度有关。
在一种可能的实施方式中,设定在不同工作模式下,VR中处于激活状态的寄存器单元的数量不同,DM中处于激活状态的数据存储单元的数量不同。
在对VR进行划分时,基于VR的最小单位寄存器单元进行划分,即将多个寄存器单元划分为同一寄存器区域,使得不同工作模式下,处于激活状态的寄存器单元的数量不同,比如,对于数据处理能力需求较低的场景,设置处于激活状态的寄存器单元的数量较少,对于数据处理能力需求较高的场景,设置处于激活状态的寄存器单元的数量较多。
由于在基于工作模式来控制不同电源域的开关时,针对上述四种工作模式,一般采用,当处于功耗优先模式下,仅开启第一电源域,当功耗平衡模式下,可以开启两个电源域(即保持第一电源域开启,再开启第二电源域),在性能平衡模式下,可以开启三个电源域(即保持第一电源域和第二电源域的开启状态,再开启第三电源域),在性能优先模式下,可以开启四个电源域(即所有电源域处于开启状态),因此,在根据不同工作模式下划分VR、DM和VALU时,需要以上述原则进行划分,比如,通过开启第一电源域满足功耗优先模式下的数据处理需求,开启第一电源域和第二电源域来共同满足功耗平衡模式下的数据处理需求,依次类推。
在一种可能的实施方式中,在对VR进行划分时,由于不同数据处理能力的需求则需要VR提供不同大小的数据存储空间,对应的,可以为不同工作模式下分配不同数量激活状态的寄存器单元来实现,比如,性能优先模式下处于激活状态的寄存器单元数量可以远多于功耗优先模式下处于激活状态的寄存器单元的数量。
在一个示例性的例子中,若VR中一共包含有512个寄存器单元,即VR0~VR512,则对应的在对VR进行划分时,可以针对不同工作模式下数据处理能力的需求来分配不同电源域中寄存器单元的数量,比如,由于性能优先模式下对数据处理能力要求最高,因此,性能优先模式下,允许访问VR中全部的寄存器单元,即性能优先模式下VR中全部的寄存器单元处于激活状态;性能平衡模式下对数据处理能力要求低于性能优先模式下,因此,允许访问部分寄存器单元,即部分寄存器单元处于激活状态。
其中,工作模式下和VR中处于激活状态的寄存器单元数量之间的关系可以如表一所示(以工作模式为上文中的四种为例进行示例性说明)。
表一
工作模式 | 处于激活状态的寄存器单元 |
性能优先模式 | VR0~VR511 |
性能平衡模式 | VR0~VR127 |
功耗平衡模式 | VR0~VR63 |
功耗优先模式 | VR0~VR15 |
可见,若VDSP被配置为功耗优先模式时,仅允许访问VR中16个寄存器单元,即VR上绝大部分的寄存器区域处于关断状态,可以极大地节省在功耗优先模式下VDSP的静态功耗。
由于DM和VR中存在数据交换过程,即LSU会将VR中存储的数据写入DM中,或将DM中存储的数据写入VR中,因为,为了便于DM和VR中数据的读写过程,可以按照VR对应的划分方式对DM进行划分,即不同工作模式下,处于激活状态的DM中的数据存储单元的数量与处于激活状态的VR中数据存储单元的数量需要保持一致,比如,性能优先模式下,VR中全部寄存器单元处于激活状态,则对应的DM中全部数据存储单元处于激活状态;功耗优先模式下,VR中仅16个寄存器单元处于激活状态,则DM中也仅16个数据存储单元处于激活状态。
在一个示例性的例子中,DM中处于激活状态的数据存储单元与工作模式之间的关系可以如表二所示。
表二
工作模式 | 处于激活状态的数据存储单元 |
性能优先模式 | DM0~DM511 |
性能平衡模式 | DM0~DM127 |
功耗平衡模式 | DM0~DM63 |
功耗优先模式 | DM0~DM15 |
可见,当VDSP被配置为功耗优先模式时,DM上的绝大部分数据存储单元处于未激活状态,从而节省了在功耗优先模式下VDSP的静态功耗。
不同工作模式下,LSU访问VR时所需的地址线宽度不同,且LSU访问DM时所需的地址线宽度不同,LSU访问VR时所需的地址线宽度由VR中处于激活状态的寄存器单元的数量确定,LSU访问DM时所需的地址线宽度由DM中处于激活状态的数据存储单元的数量确定。
由于不同工作模式下,DM和VR中被允许访问的数据存储单元和寄存器单元的范围不同,则对应的LSU在访问处于激活状态的DM和VR时,所需要的地址线宽度也不相同,比如,功耗优先模式下,VR仅被允许访问VR0~VR15,则对应的LSU在访问VR0~VR15时所需的地址线宽度为4bit,地址范围为0x0~0xf;而性能优先模式下,VR被允许访问VR0~VR511,则LSU在访问VR0~VR511时所需要的地址线宽度为9bit,地址范围为0x0000~0x01ff。
在一个示例性的例子中,不同工作模式和LSU访问的地址线宽度以及地址范围之间的关系可以如表三所示。
表三
工作模式 | 地址线宽度 | 地址范围 |
性能优先模式 | 9bit | 0x0000~0x01ff |
性能平衡模式 | 7bit | 0x0~0x7f |
功耗平衡模式 | 6bit | 0x0~0x3f |
功耗优先模式 | 4bit | 0x0~0xf |
由表三可以直观的看出,功耗优先模式和性能优先模式相比,在功耗优先模式下LSU在访问VR和DM时所需要的地址线宽明显少于性能优先模式,可以节约在功耗优先模式下的访问资源。
在一个示例性的例子中,如图3所示,其示出了本申请一个示例性实施例示出的LSU在不同工作模式下访问VR和DM的过程示意图。其中,VR330被划分为第一寄存器区域331、第二寄存器区域332、第三寄存器区域333和第四寄存器区域334,DM320被划分为第一数据存储区321、第二数据存储区322、第三数据存储区323和第四数据存储区324,且第一寄存器区域331和第一数据存储区321位于第一电源域,第二寄存器区域332和第二数据存储区322位于第二电源域,第三寄存器区域333和第三数据存储区323位于第三电源域,第四寄存器区域334和第四数据存储区324位于第四电源域。当VDSP处于功耗优先模式,控制第一电源域开启,LSU310仅可以访问第一寄存器区域331和第一数据存储区321,当VDSP处于功耗平衡模式,控制第一电源域和第二电源域开启,LSU310可以访问第一寄存器区域331、第二寄存器区域332、第一数据存储区321和第二数据存储区322;当VDSP处于性能平衡模式,控制第一电源域、第二电源域和第三电源域开启,LSU310可以访问第一寄存器区域331、第二寄存器区域332、第三寄存器区域333、第一数据存储区321、第二数据存储区322以及第三数据存储区323;当VDSP处于性能优先模式,电源域全部开启,LSU310可以访问第一寄存器区域331、第二寄存器区域332、第三寄存器区域333、第四寄存器区域334、第一数据存储区321、第二数据存储区322、第三数据存储区323以及第四数据存储区324。
本实施例中,基于不同工作模式对应的数据处理能力的需求对VR和DM进行划分时,使得在不同工作模式下,VR和DM具有不同数量的激活状态的寄存单元和数据存储单元,使得在功耗优先模式下,VR和DM中处于激活状态的寄存单元数目和数据存储单元数目较少,从而使得在功耗优先模式下,VR和DM中绝大部分存储区均处于未激活状态,极大地节省了功耗优先模式下VDSP的功耗。
上文实施例描述了在不同工作模式下,通过使得VR和DM中寄存器单元和数据存储单元的数量不同来实现不同工作模式下数据处理能力的不同,从而实现在不同工作模式下功耗的不同,在另一种可能的实施方式中,为了进一步降低VDSP的功耗,通过对VALU进行划分来实现,而VALU的划分涉及到同时处理的VR中数据的数据量,而数据量不仅与寄存器单元的数目有关,还与寄存器单元的数据长度有关,因此,在一种可能的实施方式中,对于不同工作模式下,在区分处于激活状态的寄存器单元的数量的基础上,还对寄存器单元的数据长度进行限制,即不同工作模式下,VR中处于激活状态的寄存器单元的数据长度不同。
在一种可能的实施方式中,VR中单个寄存器单元的数据长度为2048bit,可以用于同时存储64个32bit宽度的整型数据,对于性能优先模式,则设定处于激活状态的各个寄存器单元整个长度均可以用于存储数据;则对于数据处理能力低于性能优先模式的其他工作模式下,会依次限制缩小每个寄存器单元所能存储的数据长度,来限制其他工作模式下可以使用的VR资源。
在一个示例性的例子中,不同工作模式和VR中寄存器单元的数据长度关系可以如表四所示。
表四
由表四可知,在功耗优先模式下,VR中寄存器单元的长度被限制为性能优先模式下的1/16。
由于VALU在进行数据处理时,单次处理一般都会从单个寄存器单元中读取数据,并对单个寄存器中存储的数据进行同时处理,因此,单个寄存器单元中存储的数据长度决定了VALU中矢量运算区域中需要同时处理的数据长度,从而决定了VALU的数据处理功耗(可知,同时处理的数据长度越多,对应的功耗越大)。
在对VALU中的矢量运算区域进行划分时,所依据的原则可以为:不同工作模式下,VALU中处于激活状态的矢量运算区域同时处理的数据量与寄存器单元的数据长度相同。
在一种可能的实施方式中,当处于性能优先模式下,由于VR中处于激活状态下单个寄存器单元可以存储64个32bit的整型数据,因此,对应的,性能优先模式下,VALU中处于激活状态的矢量运算区域需要可以同时处理64个32bit宽度的整型数据或者64个(16r+16i)复数数据;当VDSP处于性能平衡模式下,由于VR中处于激活状态的单个寄存器单元可以存储16个32bit的整型数据,因此,性能优先模式下,VALU中处于激活状态的矢量运算区域可以同时处理16个32bit宽度的整型数据或者16个(16r+16i)复数数据;当VDSP处于功耗平衡模式下,由于VR中处于激活状态的单个寄存器单元可以存储8个32bit宽度的整型数据,因此,对应的,功耗平衡模式下,VALU中处于激活状态的矢量运算区域可以同时处理8个32bit宽度的整型数据或者8个(16r+16i)复数数据;当VDSP处于功耗优先模式下,由于VR中处于激活状态的单个寄存器单元可以存储4个32bit宽度的整型数据,因此,对应的,功耗平衡模式下,VALU中处于激活状态的矢量运算区域可以同时处理4个32bit宽度的整型数据或者4个(16r+16i)复数数据。
由上文可知,在功耗优先模式下,VALU数据并行度降低为性能优先模式下的1/16,其中,数据并行度即为同时处理的数据长度。
在一个示例性的例子中,如图4所示,其示出了本申请一个示例性实施例示出的VALU在不同工作模式下处理数据的过程示意图。其中,VR410被划分为第一寄存器区域411、第二寄存器区域412、第三寄存器区域413和第四寄存器区域414,VALU内部包含VALU内部寄存器430和VALU矢量运算区420,其中,VALU内部寄存器430被划分为第一内部寄存器区域431、第二内部寄存器区域432、第三内部寄存器区域433和第四内部寄存器区域434,VALU矢量运算区420被划分为第一矢量运算区域421、第二矢量运算区域422、第三矢量运算区域423和第四矢量运算区域424,不同区域位于不同电源域上,当VDSP处于功耗优先模式,第一寄存器区域411、第一矢量运算区域421、第一内部寄存器区域431处于激活状态,且第一寄存器区域411中的寄存器单元的长度为第一数据长度415;当VDSP处于功耗平衡模式,第一寄存器区域411、第二寄存器区域412、第一矢量运算区域421、第二矢量运算区域422、第一内部寄存器区域431以及第二内部寄存器区域432处于激活状态,且第一寄存器区域411和第二寄存器区域412中的寄存器单元的长度为第二数据长度416;当VDSP处于性能平衡模式,第一寄存器区域411、第二寄存器区域412、第三寄存器区域413、第一矢量运算区域421、第二矢量运算区域422、第三矢量运算区域423、第一内部寄存器区域431、第二内部寄存器区域432以及第三内部寄存器区域433处于激活状态,且第一寄存器区域411、第二寄存器区域412和第三寄存器区域413中寄存器单元的长度为第三数据长度417;当VDSP处于性能优先模式,VR410、VALU内部寄存器430和VALU矢量运算区420的全部区域处于激活状态,且VR410中寄存单元的长度为第四数据长度418。
本实施例中,通过限定不同工作模式下VR中处于激活状态的寄存器单元的数据长度,进一步降低在功耗优先模式下VR的静态功耗,而且,可以进一步降低在功耗优先模式下,VALU同时处理的数据长度,即数据并行度,从而进一步降低了功耗优先模式下VDSP的数据处理功耗。
在一种可能的实施方式中,在VALU对VR中的数据进行运算时,需要由向量遮罩寄存器来确定是否需要对VR中的数据进行算法操作,即VALU可以进行带向量遮罩控制的算法操作,在处理VR中存储的数据过程中,处理不同数据量的数据时,所需要的向量遮罩控制单元的数量不同,因此,可以依据不同工作模式下,处于激活状态的VR中寄存器单元的数量和数据长度,来确定VALU需要访问的向量遮罩控制单元的数量。
在一种可能的实施方式中,也可以针对不同工作模式,将向量遮罩寄存器划分出至少两个向量遮罩控制区域,不同向量遮罩控制区域位于不同电源域,电源域通过开关控制向量遮罩控制区域处于激活状态或未激活状态,且不同电源域支持独立开关,不同工作模式下,向量遮罩寄存器中电源域的开关状态不同。
由于向量遮罩寄存器是用于控制VALU对VR中的数据进行数据运算的,因此,在划分向量遮罩寄存器时,需要根据不同工作模式下VR中处于激活状态的寄存器单元的数量以及数据长度来确定。
在一种可能的实施方式中,以性能优先模式为例,处于激活状态的VR中寄存器单元的数量为512个,每个寄存器单元的数据长度我2048bit,可以容纳64个32bit的整型数据,每个32bit宽度的整型数据需要1bit的向量遮罩寄存器控制,一个向量遮罩控制单元中包含32bit的数据长度,则一个寄存器单元中存储的数据需要有2个向量遮罩控制单元控制,因此,512个寄存器单元就需要1024个向量遮罩控制单元控制,则对应的,在性能优先模式下,VALU可以访问1024个向量遮罩控制单元,即prd0~prd1023。
按照相同的方式,可以分别计算得到:性能平衡模式下,处于激活状态的VR实际需要64个向量遮罩控制单元控制,即prd0~prd63;功耗平衡模式下,处于激活状态的VR实际需要16个向量遮罩控制单元控制,功耗优先模式下,处于激活状态的VR实际需要4个向量遮罩控制单元控制。
考虑到向量遮罩控制单元在划分时的复杂性,在功耗允许的情况下,对于功耗平衡模式和功耗优先模式下,可以为每一个VR均分配一个向量遮罩控制单元,即优化后的功耗平衡模式下,处于激活状态的向量遮罩控制单元数量与处于激活状态的寄存器单元的数量一致,即prd0~prd63,优化后的功耗优先模式下,处于激活状态的向量遮罩控制单元的数量与处于激活状态的寄存器单元的数量一致,即prd0~prd15。
VALU220用于访问处于激活状态的向量遮罩寄存器,并由向量遮罩寄存器控制VALU对VR中的数据进行运算。
在一种可能的实施方式中,VALU通过访问处于激活状态的向量遮罩寄存器,由向量遮罩寄存器控制VALU对VR中的数据进行运算,即VALU进行带向量遮罩控制的算法操作。
本实施例中,通过基于不同工作模式下VR中处于激活状态的寄存器单元的数量和数据长度,来确定处理处于激活状态的VR所需要的向量遮罩控制单元的数量,从而基于该向量遮罩控制单元的数量来划分向量遮罩寄存器,通过降低向量遮罩寄存器的功耗来实现对VDSP功耗的降低。
VDSP在进行数据处理过程中,首先需要获取程序指令存储在程序内存PM中,并由程序控制单元PCU对程序指令进行译码后,从而控制VALU处理数据,以及LSU访问VR或DM,由于程序指令中需要指出数据源(即存储在VR中哪一个寄存器单元中)和数据目的(即处理后的数据需要存储在VR中的哪一个寄存器单元中),则对应的数据源和数据目的的编码数就需要与不同工作模式下VR中处于激活状态的寄存器单元的数目有关,即激活状态的寄存器单元的数量越多,则对应的指令长度越多,因此,在一种可能的实施方式中,为了进一步降低VDSP的功耗,在不同工作模式下,将PM划分为不同指令存储区,用于存储不同工作模式对应的程序指令。
请参考图5,其示出了本申请另一个示例性实施例示出的VDSP的结构框图,VDSP500包括VR210、VALU220、DM230、LSU240、PM510和PCU520,其中,VR210被划分为两个寄存器区域:第一寄存器区域211和第二寄存器区域212,VALU220被划分为两个矢量运算区域:第一矢量运算区域221和第二矢量运算区域222,DM230被划分为两个数据存储区:第一数据存储区231和第二数据存储区232,PM510被划分为两个指令存储区:第一指令存储区511和第二指令存储区512。
PM510被划分为至少两个指令存储区,不同指令存储区位于不同电源域,电源域用于通过开关控制指令存储区处于激活状态或未激活状态,且不同电源域支持独立开关,不同工作模式下,PM中电源域的开关状态不同。
其中,指令存储区为16bit宽度的存储器,当不同工作模式下,可以控制不同数量的指令存储区处于激活状态。
在一种可能的实施方式中,功耗优先模式下,可以仅控制一个指令存储区上电,功耗平衡模式下,可以控制两个指令存储区域上电,性能平衡模式下,可以控制三个指令存储区域上电,在性能优先模式下,可以控制四个指令存储区域上电。
在一个示例性的例子中,如图5所示,以PM510被划分为两个指令存储区为例进行示例性说明,PM510被划分为第一指令存储区511和第二指令存储区512,其中,第一指令存储区511位于第一电源域,第二指令存储区512位于第二电源域,当VDSP500位于某一工作模式下,可以通过开启第一电源域控制第一指令存储区511处于激活状态,或通过开启第一电源域和第二电源域控制第一指令存储区511和第二指令存储区512处于激活状态。
工作状态下,PCU520用于从PM510中处于激活状态的指令存储区读取程序指令。
在一种可能的实施方式中,由于不同工作模式下,PM中处于激活状态的指令存储区域不同,VDSP仅可以将程序指令存储在处于激活状态的指令存储区中,对应的,PCU仅可以访问处于激活状态的指令存储区,并从中读取程序指令。
由于程序指令中需要指出本次数据处理操作需要处理VR中存储的哪些数据,即需要指出VALU从哪一个寄存器单元中读取数据,以及将处理后的数据存储在哪一个寄存器单元中,因此,程序指令的指令编码中需要存储有两个数据源和一个数据目的,而且,由于VALU还需要进行带向量遮罩控制的数据运算操作,因此,程序指令中还需要存储有运算操作对应的向量遮罩控制单元,此外,程序指令中还需要存储本次数据处理操作对应的运算操作;因此,不同工作模式系按程序指令的指令长度至少会受到处于激活状态的寄存器单元的数量的影响。
程序指令采用至少两种指令编码方式,不同工作模式下程序指令采用不同指令编码方式,且不同指令编码方式下程序指令的指令长度与处于激活状态的寄存器单元的数量相关。
其中,程序指令中需要包含运算操作数编码、两个数据源操作数编码、一个数据目的操作数编码和一个向量遮罩控制操作数编码。
不同操作数编码与其可以访问的目标范围有关,比如,由于数据源操作编码指示需要访问VR中的数据,则不同工作模式下,VR中处于激活状态的寄存器单元的数目会影响数据源编码数,比如,VR中寄存器单元的访问范围为VR0~VR511,即可以访问512个寄存器单元,则若需要访问这512个寄存器单元中的某一寄存器,比如,VR4,则采用二进制方式来表示第4个寄存器单元,就需要9bit的操作数编码。
在一个示例性的例子中,以三操作数为例,分别描述上文中的四种工作模式对应的ISA指令集合(即程序指令)。
(1)性能优先模式下对应的程序指令可以为:
Padding(3bit) | Pred(10bit) | Dst(9bit) | Src2(9bit) | Src1(9bit) | OP(8bit) |
其中,OP(8bit)表示性能优先模式下可以进行2^8种运算操作,Dst(9bit)、Src2(9bit)和Src1(9bit)表示访问512个寄存器单元需要9bit的操作数编码,且Src2(9bit)和Src1(9bit)表示本次数据运算操作的数据来源,Dst(9bit)表示本次数据运算操作的数据目的(即将运算处理后的数据存储的位置),Pred(10bit)表示访问1024个向量遮罩控制单元需要10bit的向量遮罩控制操作数编码,Padding(3bit)为填充操作数编码,无意义。
(2)性能平衡模式下对应的程序指令可以为:
Pred(6bit) | Dst(7bit) | Src2(7bit) | Src1(7bit) | OP(5bit) |
其中,OP(5bit)表示性能平衡模式下可以进行2^5种运算操作,Dst(7bit)、Src2(7bit)和Src1(7bit)表示访问128个寄存器单元需要7bit的操作数编码,Pred(6bit)表示访问64个向量遮罩控制单元需要6bit的向量遮罩控制操作数编码。
(3)功耗平衡模式下对应的程序指令可以为:
Padding(3bit) | Pred(6bit) | Dst(6bit) | Src2(6bit) | Src1(6bit) | OP(5bit) |
其中,OP(5bit)表示功耗平衡模式下可以进行2^5种运算操作,Dst(6bit)、Src2(6bit)和Src1(6bit)表示访问64个寄存器单元需要6bit的操作数编码,Pred(6bit)表示访问64个向量遮罩控制单元需要6bit的向量遮罩控制操作数编码,Padding(3bit)为填充操作数编码,无意义。
(4)功耗优先模式下对应的程序指令可以为:
Dst(4bit) | Src2(4bit) | Src1(4bit) | OP(4bit) |
其中,OP(4bit)表示功耗平衡模式下可以进行2^4种运算操作,Dst(4bit)、Src2(4bit)和Src1(4bit)表示访问16个寄存器单元需要6bit的操作数编码。
在功耗优先模式下,为了进一步节约程序指令的操作数编码,将向量遮罩控制单元与数据源操作数scr1中的寄存器单元序号绑定,则功耗优先模式下对应的程序指令中无需存储向量遮罩控制操作数编码,可以进一步节约操作数编码。
由于功耗优先模式下,VALU可以访问的寄存器单元的数目与向量遮罩控制单元的数目相同,因此,直接将寄存器单元与向量遮罩控制单元绑定,即限定功耗优先模式下,若VALU访问地5个寄存器单元(VR5),则默认需要访问第5个向量遮罩控制单元(prd5)。
由于PCU需要对读取的程序指令进行译码后,才可以控制LSU或VALU执行相应操作,而不同的程序指令需要由不同的译码器执行译码操作,因此,PCU中包含至少两个译码器,不同译码器用于处理采用不同指令编码方式的程序指令,即针对采用不同指令编码方式地程序指令,PCU中设置有专门的译码器对其进行译码处理。
在一种可能的实施方式中,如上文实施例中所示的四种程序指令,则对应的PCU中所采用的译码器可以包括:16bit译码器、32bit译码器A、32bit译码器B、48bit译码器。
由上文实施例中所示的各种工作模式对应的程序指令,则对应的,在功耗优先模式下,由于程序指令的指令长度为16bit,则采用16bit译码器;功耗平衡模式和性能平衡模式下,由于程序指令的指令长度为32bit,则采用32bit译码器,由于功耗平衡模式和性能平衡模式下对应的程序指令的指令长度虽然都是32bit,但是内部包含的操作数编码不同(功耗平衡模式下存在填充操作编码数),因此,设置有32bit译码器A和B,功耗平衡模式下,采用32bit译码器A来处于程序指令,功耗优先模式下,采用32bit译码器B来处理程序指令;性能优先模式下,由于程序指令的指令长度为48bit,则采用48bit译码器处理程序指令。
在一个示例性的例子中,如图6所示,其示出了本申请一个示例性实施例示出的PCU中译码器的划分示意图。其中,PCU中包含16bit译码器、32bit译码器A、32bit译码器B和48bit译码器,当VDSP处于功耗优先模式,使用16bit译码器,当VDSP处于功耗平衡模式,使用32bit译码器A,当VDSP处于性能平衡模式,使用32bit译码器B,当VDSP处于性能优先模式,使用48bit译码器,在不同工作模式下,当PCU使用不同的译码器对不同指令编码方式的程序指令进行译码后,得到该程序指令指示的操作信号,并将该操作信号通过各个功能单元的端口传输至VDSP中的各个功能单元,比如传输至LSU或VALU,实现根据程序指令控制LSU和VALU执行数据处理操作。
PCU520根据程序指令控制LSU访问VR或DM,或,根据程序指令控制VALU通过处于激活状态的矢量运算区域对VR中的数据进行运算。
其中,在不同工作模式下,PCU支持4条程序指令的同时解码,即2个load指令,一个store指令,一个alu指令(即数据处理指令)。
由于不同工作模式下,程序指令所采用的指令编码方式不同,且不同指令编码方式下程序指令的指令长度不同,因此,不同工作模式下,PCU同时处理VLIW的宽度不同,其中,VLIW为四条程序指令的集合。
在一个示例性的例子中,不同工作模式下PCU处理程序指令的情况如下文所示:
(1)性能优先模式下
PCU支持4个48bit编码的程序指令同时解码(2个load指令,1个store指令,1个alu指令),VLIW即为4乘以48bit(192bit)宽度。
由于PM中每个指令存储单元的宽度为16bit,因此,一个48bit的程序指令需要占用3个指令存储单元,4个48bit编码的程序指令就需要占用12个程序指令单原,因此,当PCU从PM中读取程序指令时,每次最多读取12个16bit,PC指针跳转+12。
(2)性能平衡模式和功耗平衡模式下
PCU均支持4个32bit编码的程序指令同时解码,VLIW即为4乘以32bit(128bit)宽度,PCU从PM中每次读取8个16bit,PC指针跳转+8。
(3)功耗优先模式下
PCU支持4个16bit编码的指令同时解码,VLIW为4乘以16bit(64bit)宽度,PCU从PM中每次最多读取4个16bit,指针跳转+4。
在一种可能的实施方式中,PCU从PM中同时读取4条指令后,并对4条指令同时进行译码,得到与数据处理相关的信息,并根据该信息控制LSU和VALU工作。
其中,根据2个load指令控制LSU从DM中的2个数据存储单元读取两组数据,并写入VR中2个寄存器单元中,根据1个store指令控制LSU从VR中的1个寄存器单元中读取数据,并写入DM中的1个数据存储单元中,根据1个alu算数操作指令控制VALU从VR中的2个寄存器单元中读取两组数据,并对该两组数据进行与运算操作,并将运算操作后的数据存储在VR中的1个寄存器单元中。
在一种可能的实施方式中,与上文中不同工作模式下处于激活状态的VR中寄存器单元的数据长度对应,则在不同工作模式下,PCU可以控制LSU从DM中读取不同宽度的数据写入VR中,并从VR中读取不同宽度的数据写入DM中。
其中,性能优先模式下,所有的寄存器单元均可以被访问,且每个寄存器单元的数据长度为2048bit,则对应的LSU可以同时从DM中读取2个2048bit宽度的数据写入VR中的2个寄存器单元中,并读取VR中1个寄存器单元存储的2048bit宽度的数据写入到DM中。
性能平衡模式下,VR中仅128个寄存器单元可以被访问,且每个寄存器单元的数据长度为512bit,则对应的LSU可以同时从DM中读取2个512bit宽度的数据写入VR中的2个寄存器单元中,并读取VR中1个寄存器单元存储的512bit宽度的数据写入到DM中。
功耗平衡模式下,VR中仅64个寄存器单元可以被访问,且每个寄存器单元的数据长度为256bit,则对应的LSU可以同时从DM中读取2个256bit宽度的数据写入VR中的2个寄存器单元中,并读取VR中1个寄存器单元存储的256bit宽度的数据写入到DM中。
功耗优先模式下,VR中仅16个寄存器单元可以被访问,且每个寄存器单元的数据长度为128bit,则对应的LSU可以同时从DM中读取2个128bit宽度的数据写入VR中的2个寄存器单元中,并读取VR中1个寄存器单元存储的128bit宽度的数据写入到DM中。
本实施例中,通过将PM划分为不同程序指令存储区,可以实现在不同工作模式下,不同指令存储区处于激活状态,从而使得在功耗优先模式下,仅激活部分指令存储区域,从而降低PM的静态功耗,进一步降低VDSP的运行功耗;此外,针对不同工作模式,采用不同指令编码方式对程序指令进行编码,使得功耗优先模式与性能优先模式下节省了2/3的编码比特。
上文着重描述了如何通过划分VDSP中的各种功能单元,使得可以通过开关电源域配置VDSP工作在不同工作模式下,由于VDSP的功能就是实现对信号的解调工作,因此,下文着重描述如何根据当前解调场景来配置VDSP处于不同工作模式下。
在一种可能的实施方式中,如图7所示,其示出了本申请一个示例性实施例示出的工作模式的确定方法的流程图,该方法包括:
步骤701,主控CPU根据当前网络制式和当前工作状态中的至少一种确定VDSP所处的目标工作模式。
其中,通过设置主控中央处理器(Central Processing Unit,CPU)来配置VDSP的工作模式,主控CPU可以是一级控制(L1 control)的DSP,也可以是运行在处理器,比如ARM上的协议栈程序,本实施例对此不够成限定。
在一种可能的实施方式中,主控CPU获取当前终端所处的当前网络制式或当前工作状态,来确定当前的解调场景,并根据当前解调场景来确定VDSP对应的目标工作模式,比如,若当前网络制式或当前工作状态指示的当前解调场景所需的数据处理能力较低,则考虑将功耗优先模式确定为目标工作模式,若当前网络制式或当前工作状态指示的当前解调场景所需的数据处理能力较高,则考虑将功耗平衡模式或性能平衡模式确定为目标工作模式。
其中,根据当前网络制式和当前工作状态中的至少一种确定目标工作模式的方式可以包括如下至少一种:
一、响应于当前网络制式为第一网络制式,且当前工作状态为小区搜索状态或峰值传输状态,VDSP被配置为处于性能优先模式。
其中,第一网络制式指第四代通讯技术(the 4Generation mobilecommunication technology,4G)或第五代移动通信技术(5th generation mobilenetworks,5G)。
当终端的当前网络制式为4G或5G时,且处于复杂解调场景中,比如,工作状态为峰值传输状态或小区搜索状态,此时,将VDSP配置为性能优先模式,即VDSP中的各个功能单元均处于激活状态,满足4G或5G复杂解调场景的数据处理能力需求。
二、响应于当前网络制式为第一网络制式,且处于空闲态,VDSP被配置为处于功耗优先模式。
当终端处于待机状态(空闲态),虽然终端对应的当前网络制式仍为4G或5G,但是此时由于并不需要终端与基站进行数据传输,仅需要解调部分物理下行控制信道(Physical Downlink Control Channel,PDCCH)与系统信息块(System InformationBlocks,SIB),解调运算需求很小,因此,可以将VDSP配置为功耗优先模式,既可以满足当前的数据处理需求,同时可以降低终端在4G或5G模式下待机功耗,从而延长终端在4G或5G模式下的待机时长,解决终端在4G或5G模式下待机时间下降较快的问题。
三、响应于当前网络制式第一网络制式,且当前工作状态为网络语音电话场景,VDSP被配置为处于性能平衡模式或功耗平衡模式。
当终端处于4G或5G模式下的网络电话(Voice Over Internet Protocol,VOIP)场景(网络语音电话)时,由于占用较少的物理资源块(Physical Resource Block,PRB),基本为10个PRB以内,可以优先将VDSP配置为性能平衡模式或功耗平衡模式,既可以满足语音场景的数据处理需求,可以降低终端进行语音通话时的功耗,避免终端长时间进行语音通话影响终端续航。
四、响应于当前网络制式为第二网络制式,VDSP被配置为处于功耗平衡模式或性能平衡模式,第二网络制式对应的峰值传输速率低于第一网络制式对应的峰值传输速率。
其中,第二网络制式可以为:高速分组接入(High-Speed Packet Access,HSPA)与增强型高速分组接入技术(High-Speed Packet Access+,HSPA+)。
当终端当前的网络制式为HSPA与HSPA+时,由于第二网络制式的峰值传输速率低于第一网络制式,则采用功耗平衡模式或性能平衡模式即可以满足该解调场景下的数据处理需求。
五、响应于当前网络制式为第三网络制式,VDSP被配置为处于功耗优先模式,第三网络制式对应的峰值传输速率低于第二网络制式对应的峰值传输速率。
其中,第三网络制式可以为第二代手机通信技术(2-Generation wirelesstelephone technology,2G)或第三代移动通信技术(The 3rd GenerationTelecommunication,3G)模式。
当终端当前的网络制式为2G或3G时,由于第三网络制式的峰值传输速率低于第二网络制式,则采用功耗优先模式即可满足该解调场景下的数据处理需求。
其中,终端对应的网络制式的演进顺序为由第三网络制式演进为第二网络制式,再由第二网络制式演进为第一网络制式。
步骤702,主控CPU配置VDSP在目标工作模式下运行。
在一种可能的实施方式中,主控CPU中存储有当前网络制式或当前工作状态与目标工作模式的对应关系,当主控CPU获取到当前网络制式或当前工作状态,即可以根据预先存储的对应关系,确定出VDSP需要被配置的目标工作模式,对应的VDSP接收到主控CPU发送的目标工作模式配置指令,则VDSP通过控制不同电源域的开关,使得VDSP处于该目标工作模式下运行。
步骤703,主控CPU监测当前网络制式或当前工作状态是否发生改变。
在一种可能的实施方式中,主控CPU时刻监控当前网络制式或当前工作状态是否发生改变,若发生改变,则需要重新确定VDSP对应的目标工作模式。比如,当终端由4G模式下的峰值传输状态切换为4G模式下的小区搜索状态,也需要重现确定目标工作模式。
本实施例中,通过主控CPU配置VDSP处于不同工作模式下,使得VDSP兼顾4G、5G峰值解调场景、4G、5G小区搜索场景、4G、5GVOIP语音场景、3GHSPA+、3G WCDMA、2G GSM等多模式多场景的应用,实现单一硬件平台同时支持多场景多模式的解调任务,同时,在功耗方面,当VDSP处于功耗优先模式时,可以具有与单模解调芯片同水平的功耗,尤其在4G、5G待机模式下,可以提供较好的功耗能力,增加4G、5G模式下的终端续航能力。
如图8所示,其示出了本申请另一个示例性实施例示出的工作模式的确定方法的流程图。该方法包括:
步骤801,主控CPU配置VDSP处于目标工作模式下工作。
步骤802,是否运行在4G或5G模式。
步骤803,是否为小区搜索状态或峰值传输状态。
步骤804,是否处于空闲态。
步骤805,VDSP被配置为性能优先模式。
步骤806,VDSP被配置为功耗优先模式。
步骤807,VDSP被配置为功耗平衡模式或性能平衡模式。
步骤808,是否为2G或3G模式。
步骤809,VDSP被配置为功耗优先模式。
步骤810,VDSP被配置为功耗平衡模式或性能平衡模式。
步骤811,网络制式或工作状态是否发生改变。
上文实施例着重描述了如何根据不同工作模式划分VDSP中各种功能单元的过程,以及各种解调场景(不同网络制式或不同工作状态)与工作模式的对应关系,下文实施例中着重描述VDSP如何实现在不同工作模式下工作的过程。
请参考图9,其示出了本申请一个示例性实施例示出的数据处理方法的流程图,本申请实施例以该方法应用于上文实施例所示的VDSP为例进行说明,该方法包括:
步骤901,接收目标工作模式配置指令。
在一种可能的实施方式中,VDSP可以接收来自主控CPU发送的目标工作模式配置指令,该目标工作模式配置指令中至少包括VDSP需要被配置的目标工作模式。
其中,目标工作模式的确定方式可以参考上文实施例,本实施例在此不做赘述。
在其他可能的实施方式中,由于主控CPU在配置VDSP的工作模式时,需要向VDSP中载入程序指令,该程序指令用于指示VDSP执行相关数据处理工作,因此,目标工作模式配置指令中还可能包含程序指令。
步骤902,根据目标工作模式配置指令,控制VR中的目标寄存器区域、DM中的目标数据存储区以及VALU中的目标矢量运算区域上电。
按照上文实施例所示的VDSP中各种功能单元在不同工作模式下的上电区域不同,因此,在一种可能的实施方式中,VDSP在接收到目标工作模式配置指令后,确定出自身当前应该处于的工作模式,即根据该工作模式确定各个电源域的开关状态,以便控制VR中的目标寄存区域、DM中的目标数据存储区以及VALU中的目标矢量运算区上电,使得VDSP可以处于该工作模式下。
在一个示例性的例子中,若目标工作模式为功耗优先模式,则VDSP仅配置各个功能单元的第一电源域上电,即控制VR中的第一寄存器区域、DM中的第一数据存储区以及VALU中的第一矢量运算区域上电。
步骤903,通过LSU从目标数据存储区读取数据,并将数据写入目标寄存器区域。
在一种可能的实施方式中,当VDSP被配置在目标工作模式下,即VR、DM和VALU中仅上电的部分处于激活状态,则对应的数据仅可以存储在激活的区域,因此,LSU仅可以从DM中的目标数据存储区读取数据,并将数据写入VR中的目标寄存器区域;或从VR中的目标寄存器区域读取数据,并写入DM中的目标数据存储区。
在一个示例性的例子中,若VR中仅第一寄存器区域处于激活状态(即第一电源域上电),DM中仅第一数据存储区处于激活状态,则LSU仅可以访问VR中的第一寄存器区域和DM中的第一数据存储区,即LSU仅可以从DM中的第一数据存储区读取数据,并将数据写入VR中的第一寄存器区域,或仅可以从VR中的第一寄存器区域读取数据,并将数据写入DM中的第一数据存储区。
步骤904,通过目标矢量运算区域对目标寄存器区域中存储的数据进行运算。
在一种可能的实施方式中,由于VALU中仅目标矢量运算区域处于激活状态(即目标矢量运算区域对应的电源域上电),则VALU仅能通过目标矢量运算区域对VR中的数据进行运算,而且,由于VR中也仅目标寄存器区域处于激活状态,即仅目标寄存器区域可以用于存储数据,因此,VALU仅能从目标寄存器区域读取数据,并通过目标矢量运算区域对该数据进行运算,且运算后得到的数据也只能存储在VR中的目标寄存器区域中。
在一个示例性的例子中,若VALU中仅第一矢量运算区域处于激活状态,则VALU从VR中的第一寄存器区域读取数据后,通过第一矢量运算区域对该数据进行处理,并将处理后的数据存入VR中的第一寄存器区域。
综上所述,本申请实施例中,通过VDSP在接收到目标工作模式配置指令后,控制VDSP中VR的目标寄存器区域、DM中的目标数据存储区和VALU中的矢量运算区域上电,可以实现VDSP处于该目标工作模式,在该目标工作模式下,VDSP通过LSU从目标数据存储区读取数据,写入目标寄存器区域,并通过目标矢量运算区域对目标寄存器区域中存储的数据进行运算,可以实现在功耗优先模式下,仅控制VR、DM和VALU中的少部分区域上电,在满足功耗优先模式下的数据处理能力的同时,兼顾对VDSP运算能力的合理分配,从而降低了VDSP在功耗优先模式下的功耗。
由于在LSU读取数据或写入数据时,或VALU在处理数据时,均需要由程序指令进行控制,比如,程序指令可以携带数据的来源(存储位置),方便LSU从该存储位置处读取数据,而不同工作模式下存储位置的访问范围存在差异,则对应的不同工作模式下,程序指令的指令长度存在差异,比如,功耗优先模式下,程序指令的指令长度为16bit,而性能优先模式下,程序指令的指令长度为48bit,因此,为了进一步降低功耗优先模式下VDSP的功耗,在一种可能的实施方式中,将PM划分为不同指令存储区,功耗优先模式下仅少部分PM处于激活状态,用于存储程序指令。
在一种可能的实施方式中,当VDSP接收到目标工作模式配置指令后,数据处理方法还包括以下步骤:
一、根据目标工作模式配置指令,控制PM中的目标指令存储区上电。
在一种可能的实施方式中,当VDSP接收到目标工作模式配置指令后,即根据该指令指示的目标工作模式,确定PM中需要进行上电的电源域,通过开关电源域控制目标程序指令区域处于激活状态。
在一个示例性的例子中,若目标工作模式配置指令指示将VDSP配置在功耗优先模式,仅需要控制PM中的第一指令存储区上电,其他指令存储区处于非激活状态,则对应的程序指令仅能存储在第一指令存储区。
二、通过PCU从目标指令存储区读取程序指令。
由于PM中仅目标指令存储区上电,程序指令也仅存储在目标指令存储区,因此,PCU也仅能从目标指令存储区读取程序指令。
本实施例中,通过将PM划分为多个指令存储区,并在目标工作模式下仅将目标指令存储区上电,用于存储程序指令,且PCU仅可以从目标指令存储区读取指令,可以实现在功耗优先模式下小部分指令存储区处于激活状态,可以进一步降低功耗优先模式下的VDSP的功耗。
请参考图10,其示出了本申请一个示例性实施例示出的通讯设备的结构框图。该通讯设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等具有通讯功能的终端设备,也可以是接入网设备或网络侧设备,比如,基站。
通讯设备1000包括VDSP1001和主控CPU1002,所述VDSP1001和主控CPU1002相连。其中,VDSP1001可以为上述各个实施例任一所述的VDSP,该VDSP1001和主控CPU1002运行时实现如上各个实施例所示的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种矢量信号处理器VDSP,其特征在于,所述VDSP包括矢量寄存器VR、矢量运算单元VALU、数据存储器DM、存取单元LSU和向量遮罩寄存器;
所述VR被划分为至少两个寄存器区域,不同寄存器区域位于不同电源域,电源域用于通过开关控制寄存器区域处于激活状态或未激活状态,且不同电源域支持独立开关;
所述DM被划分为至少两个数据存储区,不同数据存储区位于不同电源域,电源域用于通过开关控制数据存储区处于激活状态或未激活状态,且不同电源域支持独立开关;
所述VALU被划分为至少两个矢量运算区域,不同矢量运算区域位于不同电源域,电源域用于通过开关控制矢量运算区域处于激活状态或未激活状态,且不同电源域支持独立开关;
所述VDSP包括至少两种工作模式,不同工作模式下,所述VR、所述DM和所述VALU中电源域的开关状态不同;
所述向量遮罩寄存器被划分为至少两个向量遮罩控制区域,不同向量遮罩控制区域位于不同电源域,电源域通过开关控制向量遮罩控制区域处于激活状态或未激活状态,且不同电源域支持独立开关,不同工作模式下,所述向量遮罩寄存器中电源域的开关状态不同;
工作状态下,所述LSU用于访问处于激活状态的所述VR或所述DM,所述VALU用于访问处于激活状态的所述向量遮罩寄存器,并由所述向量遮罩寄存器控制处于激活状态的所述矢量运算区域对所述VR中的数据进行运算。
2.根据权利要求1所述的VDSP,其特征在于,
不同工作模式下,所述VR中处于激活状态的寄存器单元的数量不同;
不同工作模式下,所述DM中处于激活状态的数据存储单元的数量不同;
不同工作模式下,所述LSU访问所述VR时所需的地址线宽度不同,且所述LSU访问所述DM时所需的地址线宽度不同,所述LSU访问所述VR时所需的地址线宽度由所述VR中处于激活状态的所述寄存器单元的数量确定,所述LSU访问所述DM时所需的地址线宽度由所述DM中处于激活状态的所述数据存储单元的数量确定。
3.根据权利要求2所述的VDSP,其特征在于,
不同工作模式下,所述VR中处于激活状态的寄存器单元的数据长度不同;
不同工作模式下,所述VALU中处于激活状态的所述矢量运算区域同时处理的数据量与所述寄存器单元的数据长度相同。
4.根据权利要求1至3任一所述的VDSP,其特征在于,所述VDSP还包括程序内存PM和程序控制单元PCU;
所述PM被划分为至少两个指令存储区,不同指令存储区位于不同电源域,电源域用于通过开关控制指令存储区处于激活状态或未激活状态,且不同电源域支持独立开关,不同工作模式下,所述PM中电源域的开关状态不同;
工作状态下,所述PCU用于从所述PM中处于激活状态的指令存储区读取程序指令;根据所述程序指令控制所述LSU访问所述VR或所述DM,或,根据所述程序指令控制所述VALU通过处于激活状态的所述矢量运算区域对所述VR中的数据进行运算。
5.根据权利要求4所述的VDSP,其特征在于,
所述程序指令采用至少两种指令编码方式,不同工作模式下程序指令采用不同指令编码方式,且不同指令编码方式下程序指令的指令长度与处于激活状态的寄存器单元的数量相关;
所述PCU中包含至少两个译码器,不同译码器用于处理采用不同指令编码方式的所述程序指令。
6.根据权利要求1所述的VDSP,其特征在于,
不同工作模式下,所述向量遮罩寄存器中处于激活状态的向量遮罩控制单元的数量不同,所述向量遮罩控制单元的数量由所述VR中处于激活状态的寄存器单元的数量和数据长度确定。
7.根据权利要求1至3任一所述的VDSP,其特征在于,所述VDSP包括功耗优先模式、功耗平衡模式、性能平衡模式和性能优先模式;
所述功耗优先模式下,电源域通过开关控制所述VR的第一寄存器区域、所述DM的第一数据存储区和所述VALU的第一矢量运算区域处于激活状态;
所述功耗平衡模式下,电源域通过开关控制所述VR的所述第一寄存器区域和第二寄存器区域、所述DM的所述第一数据存储区和第二数据存储区以及所述VALU的所述第一矢量运算区域和第二矢量运算区域处于激活状态;
所述性能平衡模式下,电源域通过开关控制所述VR的所述第一寄存器区域、所述第二寄存器区域和第三寄存器区域、所述DM的所述第一数据存储区、所述第二数据存储区和第三数据存储区、所述VALU的所述第一矢量运算区域、所述第二矢量运算区域和第三矢量运算区域处于激活状态;
所述性能优先模式下,电源域通过开关控制所述VR的所述第一寄存器区域、所述第二寄存器区域、所述第三寄存器区域和第四寄存器区域、所述DM的所述第一数据存储区、所述第二数据存储区、所述第三数据存储区和第四数据存储区、所述VALU的所述第一矢量运算区域、所述第二矢量运算区域、所述第三矢量运算区域和第四矢量运算区域处于激活状态;
其中,所述VDSP在所述性能优先模式下对应的数据处理能力高于所述VDSP在所述性能平衡模式下对应的数据处理能力,所述VDSP在所述性能平衡模式下对应的数据处理能力高于所述VDSP在所述功耗平衡模式下对应的数据处理能力,所述VDSP在所述功耗平衡模式下对应的数据处理能力高于所述VDSP在所述功耗优先模式下对应的数据处理能力。
8.根据权利要求7所述的VDSP,其特征在于,
所述VDSP所处的工作模式由当前网络制式和当前工作状态中的至少一种来确定。
9.根据权利要求8所述的VDSP,其特征在于,
响应于所述当前网络制式为第一网络制式,且所述当前工作状态为小区搜索状态或峰值传输状态,所述VDSP被配置为处于所述性能优先模式;
响应于所述当前网络制式为第一网络制式,且处于空闲态,所述VDSP被配置为处于所述功耗优先模式;
响应于所述当前网络制式为所述第一网络制式,且所述当前工作状态为网络语音电话场景,所述VDSP被配置为处于所述性能平衡模式或所述功耗平衡模式;
响应于所述当前网络制式为第二网络制式,所述VDSP被配置为处于所述功耗平衡模式或所述性能平衡模式,所述第二网络制式对应的峰值传输速率低于所述第一网络制式对应的峰值传输速率;
响应于所述当前网络制式为第三网络制式,所述VDSP被配置为处于所述功耗优先模式,所述第三网络制式对应的峰值传输速率低于所述第二网络制式对应的峰值传输速率。
10.一种数据处理方法,其特征在于,所述方法应用于权利要求1至9任一所述的VDSP中,所述方法包括:
接收目标工作模式配置指令;
根据所述目标工作模式配置指令,控制VR中的目标寄存器区域、DM中的目标数据存储区、VALU中的目标矢量运算区域以及向量遮罩寄存器中的目标向量遮罩控制区域上电;
通过所述LSU从所述目标数据存储区读取数据,并将所述数据写入所述目标寄存器区域;
通过所述目标向量遮罩控制区域,控制所述目标矢量运算区域对所述目标寄存器区域中存储的数据进行运算。
11.根据权利要求10所述的数据处理方法,其特征在于,所述接收目标工作模式配置指令之后,所述方法还包括:
根据所述目标工作模式配置指令,控制PM中的目标指令存储区上电;
通过PCU从所述目标指令存储区读取程序指令。
12.一种通讯设备,其特征在于,所述通讯设备中配置有如权利要求1至9任一所述的VDSP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011241464.3A CN112307431B (zh) | 2020-11-09 | 2020-11-09 | 一种vdsp、数据处理方法及通讯设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011241464.3A CN112307431B (zh) | 2020-11-09 | 2020-11-09 | 一种vdsp、数据处理方法及通讯设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112307431A CN112307431A (zh) | 2021-02-02 |
CN112307431B true CN112307431B (zh) | 2023-10-27 |
Family
ID=74325365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011241464.3A Active CN112307431B (zh) | 2020-11-09 | 2020-11-09 | 一种vdsp、数据处理方法及通讯设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307431B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579083B (zh) * | 2022-05-09 | 2022-08-05 | 上海擎昆信息科技有限公司 | 一种基于矢量处理器的数据处理装置和方法 |
CN116360859B (zh) * | 2023-03-31 | 2024-01-26 | 摩尔线程智能科技(北京)有限责任公司 | 电源域的访问方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132499A (ja) * | 2000-10-27 | 2002-05-10 | Hitachi Ltd | データ処理装置及び記録媒体 |
JP2012226486A (ja) * | 2011-04-18 | 2012-11-15 | Fujitsu Ltd | ベクトル処理装置、システムおよびベクトル処理装置の動作方法 |
WO2016091164A1 (zh) * | 2014-12-12 | 2016-06-16 | 上海芯豪微电子有限公司 | 一种多车道/多核系统和方法 |
CN107544658A (zh) * | 2016-06-29 | 2018-01-05 | Arm 有限公司 | 用于控制电源域的电源控制电路 |
CN111552365A (zh) * | 2020-04-02 | 2020-08-18 | 北京新忆科技有限公司 | 存储器芯片及其控制方法 |
CN111782270A (zh) * | 2020-06-09 | 2020-10-16 | Oppo广东移动通信有限公司 | 一种数据处理方法及装置、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW525091B (en) * | 2000-10-05 | 2003-03-21 | Koninkl Philips Electronics Nv | Retargetable compiling system and method |
-
2020
- 2020-11-09 CN CN202011241464.3A patent/CN112307431B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132499A (ja) * | 2000-10-27 | 2002-05-10 | Hitachi Ltd | データ処理装置及び記録媒体 |
JP2012226486A (ja) * | 2011-04-18 | 2012-11-15 | Fujitsu Ltd | ベクトル処理装置、システムおよびベクトル処理装置の動作方法 |
WO2016091164A1 (zh) * | 2014-12-12 | 2016-06-16 | 上海芯豪微电子有限公司 | 一种多车道/多核系统和方法 |
CN107544658A (zh) * | 2016-06-29 | 2018-01-05 | Arm 有限公司 | 用于控制电源域的电源控制电路 |
CN111552365A (zh) * | 2020-04-02 | 2020-08-18 | 北京新忆科技有限公司 | 存储器芯片及其控制方法 |
CN111782270A (zh) * | 2020-06-09 | 2020-10-16 | Oppo广东移动通信有限公司 | 一种数据处理方法及装置、存储介质 |
Non-Patent Citations (1)
Title |
---|
黄泽林 ; 乔树山 ; 袁甲 ; .物联网节点SoC的功耗管理器设计.微电子学与计算机.2017,(10),1-4+10. * |
Also Published As
Publication number | Publication date |
---|---|
CN112307431A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103207773B (zh) | 使用标量/向量指令处理数据的系统和方法 | |
KR101056322B1 (ko) | 전력 인디케이터 기반 동적 프로그램 쓰로틀링을 이용하는 컨버전스 장치 | |
KR101132484B1 (ko) | 다중-스테이지 데이터 프로세싱 파이프라인에서 명령들을 실행하는 시스템 및 방법 | |
CN112307431B (zh) | 一种vdsp、数据处理方法及通讯设备 | |
US20140189297A1 (en) | Hetergeneous processor apparatus and method | |
US20140189377A1 (en) | Apparatus and method for intelligently powering hetergeneou processor components | |
WO2014105145A1 (en) | Heterogeneous processor apparatus and method | |
US8379032B2 (en) | System and method of mapping shader variables into physical registers | |
US20240248521A1 (en) | Controlling the number of powered vector lanes via a register field | |
US20150177821A1 (en) | Multiple Execution Unit Processor Core | |
CN101341456A (zh) | 基于调度的高速缓冲存储器/存储器功率最小化技术 | |
CN111984391A (zh) | 任务调度方法、装置、芯片、终端及存储介质 | |
US20050066150A1 (en) | Processing block with integrated light weight multi-threading support | |
CN101303651B (zh) | 业务处理方法及采用该方法的用户设备 | |
US20020091911A1 (en) | Signal processing device and method for supplying a signal processing result to a plurality of registers | |
CN102629238A (zh) | 支持向量条件访存的方法和装置 | |
US20100161943A1 (en) | Processor capable of power consumption scaling | |
US11144322B2 (en) | Code and data sharing among multiple independent processors | |
US11561792B2 (en) | System, apparatus, and method for a transient load instruction within a VLIW operation | |
KR100416858B1 (ko) | 명령어 처리장치 | |
WO2004088528A1 (ja) | 半導体装置 | |
CN116097213A (zh) | 一种图指令处理方法及装置 | |
JPWO2004023291A1 (ja) | 情報処理装置 | |
KR20050123087A (ko) | 반도체 장치 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20241014 Address after: 6th Floor, No.1 Chongqing Road, Banqiao District, Xinbei City, Taiwan, China, China Patentee after: Weiguang Co.,Ltd. Country or region after: Samoa Address before: Room 01, 8th floor, No.1 Lane 61, shengxia Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120 Patentee before: Zheku Technology (Shanghai) Co.,Ltd. Country or region before: China |