非对称多处理器的制作方法

文档序号:6609308阅读:229来源:国知局
专利名称:非对称多处理器的制作方法
技术领域
本发明涉及在微处理器以及媒体处理器中,对专用信号处理硬件、DSP(数字信号处理器,Digital Signal Processor)以及可重构的处理器进行控制的非对称多处理器。
背景技术
近年来的搭载在具有因特网连接功能的便携式电话等的处理器,由高性能的媒体处理器引擎(DSP或CPU和硬件加速器的组合)构成,除了语音处理和基带处理之外,还能够进行Java(注册商标)程序处理和web连接控制,音频处理和图像处理、MPEG(动画专家小组,Moving Picture Experts Group)等的影像处理,进一步能够进行数字TV和电子游戏等。在这样的媒体处理器中,作为提高软件开发效率、减小在LSI(大规模集成电路,Large ScaleIntegration)上进行封装的面积、削减动作电流的方法,对分散处理型的处理器寄予着很大的希望。
现有的非对称多处理器搭载有多个处理器,每个处理器的性能(工作频率等)、指令集、以及体系结构(位宽度、存储器大小、高速缓冲大小和管线(pipeline)级数等)部分或全都不同。
而且,多个处理器,比如在搭载有多个CPU的非对称多处理器中,各个CPU的处理分担(任务分担)有时会被预先确定,在这种情况下,根据该任务分担各个CPU具有专用的信号处理硬件电路(硬件加速器)和将DSP从属连接的构成(比如,参照专利文献1日本专利申请特开2004-252900号公报)。
图1是表示现有的非对称多处理器的结构的图。
在图1中,非对称多处理器系统10包括CPU核11a~11c(CPU#1~CPU#3);高速缓冲存储器(以下称为高速缓冲器)12a~12c($1~$3);ROM13;RAM14;CPU核11a(CPU#1)的从属硬件(以下酌情略称为HW)加速器单元15a~15c(HW#1a~#1c);CPU核11b(CPU#2)的从属硬件加速器单元16a、16b(HW#2a、#2b);CPU核11c(CPU#3)的从属硬件加速器单元17a、17b(HW#3a、#3b)等,其中CPU核11a~11c(CPU#1~CPU#3)通过高速缓冲存储器12a~12c($1~$3)以及共用的总线18与ROM13以及RAM14互相连接。另外,CPU核11a(CPU#1)和从属硬件加速器单元15a~15c(HW#1a~#1c)通过局部总线19连接,CPU核11b(CPU#2)和从属硬件加速器单元16a、16b(HW#2a、#2c)通过局部总线20连接,CPU核11c(CPU#3)和从属硬件加速器单元17a、17b(HW#3a、#3b)通过局部总线21连接。
上述从属硬件加速器单元15a~15c、16a、16b、17a、17b的一部分,比如除了DSP之外,通过视频信号处理块、音频信号处理块、控制信号处理块等各种功能块构成。
在上述不同的处理器体系结构之间,如果根据对利用软件程序实行的处理进行分配的技术,则与利用一个处理器而进行处理相比能够得到以下的效果抑制硬件资源;以及作为分配处理分担的结果,通过减低各个处理器的时钟频率来抑制消耗功率。
但是,即使是这样的现有的非对称多处理器,由于对每个单位作业将可预测工作量的多个单位作业分配给多个处理器并使其实行,所以根据预测算法或预测方式的不同,低消耗功率效果较小的情况较多。
另一方面,专利文献1记载的非对称多处理器中,在确定多处理器的整体构成(处理器体系结构设计)时,各个CPU的处理内容在一定程度上被固定的情况较多,因此如图1所示的非对称多处理器那样,采取以下的构成用来辅助加速CPU的处理的从属硬件加速器单元15a~15c、16a、16b、17a、17b通过局部总线19~21专用连接于每个CPU核11a~11c。由此,即使所处理的程序的内容发生变更而处理量增加,也不能容易地在多个CPU核11a~11c之间进行处理量的分担(程序的任务分担),因此负荷分散的自由度较小。
无论是在像前者那样的非对称多处理器中,还是在像后者的专利文献1所记载的非对称多处理器中,而且即便是在兼具双方要素的非对称多处理器中,因为多个CPU、硬件加速器和/或DSP等同时进行动作,所以LSI内部的消耗功率的增加会成为课题。
另外,还有通过分散处理改变工作频率(或者减低)、改变工作频率和电源电压(或者降低),从而实现低功率化的方法。但是,考虑了分散处理的时钟树的设计会变得复杂,利用最大工作频率进行动作的情况下的电源电压的IR下降(电压降或者电压变动)、或者动态的(dynamic)电源噪声会变大,从而导致LSI发生误动作的问题。

发明内容
本发明的目的是提供一种非对称多处理器,能够提高分散处理的自由度,使各个处理器(CPU)的处理负荷成为最小,从而通过降低工作频率或者降低电源电压来实现消耗功率的削减。
根据本发明的一个方案,提供一种非对称多处理器,其多个处理器核与多个硬件加速器通过总线连接,它包括硬件资源仲裁单元,对请求信号进行仲裁,所述请求信号为从各个所述处理器核发出的、请求允许使用任意的硬件加速器的请求信号,接受了通过所述硬件资源仲裁单元所进行的请求信号的仲裁的所述处理器核使用任意的硬件加速器。


图1是表示现有的非对称多处理器的结构的图;图2是表示本发明实施例1的非对称多处理器的构成的方框图;图3是表示上述实施例的非对称多处理器的动态重构型信号处理处理器单元的构成例的图;图4是用来说明上述实施例的非对称多处理器的时钟偏移控制机构的图;图5是表示本发明实施例2的非对称多处理器的构成的方框图;以及图6是表示本发明实施例4的非对称多处理器的构成的方框图。
具体实施例方式
以下参照附图具体地说明本发明的实施例。
(实施例1)图2是表示本发明实施例1的非对称多处理器的构成的方框图。本实施例是适用于包括第一处理器核(CPU核)以及第二处理器核(CPU核)的非对称多处理器,作为具有两个以上的处理器的多核处理器的例子。
在图2中,非对称多处理器100包括第一CPU核101a(CPU#1);第二CPU核101b(CPU#2);第一指令高速缓冲器102a($1);第一数据高速缓冲器103a($2);第二指令高速缓冲器102b($3);第二数据高速缓冲器103b($4);ROM104;RAM105;多个硬件加速器单元106a~106e(HW#1~#5);动态重构型信号处理处理器单元107,是动态可重构的处理器;硬件资源仲裁单元110,对请求信号进行仲裁,所述请求信号是从各个CPU核101a和101b发出的、请求允许使用任意的硬件加速器的请求信号;信号处理内容选择单元111,选择从属(slave)连接的动态重构型信号处理处理器单元107的信号处理内容;时钟偏移仲裁单元112,进行控制来任意地错开各个组之间的时钟的相位关系;以及时钟延迟生成单元113a~113g,基于时钟偏移选择启动(enable)信号114而使时钟信号延迟。其中,动态重构型信号处理处理器单元107由多个处理器部件108a~1081(EL1~EL12)以及配置信息解码器单元109构成。
第一CPU核101a(CPU#1)通过第一指令高速缓冲器102a($1)、第一数据高速缓冲器103a($2)以及总线120与ROM104以及RAM105互相连接;第二CPU核101b(CPU#2)通过第二指令高速缓冲器102b($3)、第二数据高速缓冲器103b($4)以及总线120与ROM104以及RAM105互相连接。
另外,第一CPU核101a(CPU#1)通过总线121与硬件加速器单元106a~106e(HW#1~#5)以及动态重构型信号处理处理器单元107连接;第二CPU核101b(CPU#2)通过总线122与硬件加速器单元106a~106e(HW#1~#5)以及动态重构型信号处理处理器单元107连接。
第一CPU核101a(CPU#1)例如为用于通信控制的CPU;第二CPU核101b(CPU#2)例如为用于媒体处理控制的CPU。第一CPU核101a(CPU#1)和第二CPU核101b(CPU#2)为由多个CPU构成的非对称多处理器,所述多个CPU的指令高速缓冲器102a和102b的容量、或者数据高速缓冲器103a和103b的容量、或者工作频率等的处理器性能、还有包括指令集、位宽度、存储器大小、高速缓冲器的大小和管线级数的体系结构部分或全都不同。图2虽然表示了包括第一CPU核101a(CPU#1)和第二CPU核101b(CPU#2)的两个处理器的多核处理器,还可以为进一步包括其它的处理器核的多处理器。
ROM104为指令ROM;RAM105为数据RAM。
硬件加速器单元106a~106e(HW#1~#5)比如为密码引擎、等效处理引擎、信道编解码引擎、三维图像引擎、以及MEPG4编码器引擎。在本实施例中,第一CPU核101a(CPU#1)以及第二CPU核101b(CPU#2)分别共有各个硬件加速器单元106a~106e(HW#1~#5)。另外,在图1所示的现有例中,没有像本实施例这样采取第一CPU核101a(CPU#1)以及第二CPU核101b(CPU#2)共有各个硬件加速器单元106a~106e(HW#1~#5)的结构,而是比如图1的硬件加速器单元15a~15c(HW#1a~#1c)通过局部总线19从属连接于CPU#1,硬件加速器单元16a、16b通过局部总线20从属连接于CPU#2。
返回图2进行说明,硬件资源仲裁单元110、信号处理内容选择单元111、时钟偏移仲裁单元112以及时钟延迟生成单元113a~113g根据以下的观点来设置。
硬件资源仲裁单元110对请求信号进行仲裁,所述请求信号是从各个CPU发出的、请求允许使用任意的硬件加速器的请求信号。通过对该请求信号的仲裁,任意的处理器核能够使用任意的硬件加速器,从而能够实现处理器的负荷分散。
信号处理内容选择单元111用来选择从属连接的动态重构型信号处理处理器单元107的信号处理内容,由RAM和选择电路(都省略了图示)构成。在该RAM中预先保存着连接处理器部件的顺序等的配置信息。通过更新RAM所保存的配置信息,能够追加、修改必需的硬件引擎。
时钟偏移仲裁单元112在各个组间进行控制,任意地错开各个组之间的时钟的相位关系,所述各个组为第一信号处理组,由第一CPU核101a(CPU#1)和被所述第一CPU核101a(CPU#1)请求实行信号处理的硬件加速器构成;第二信号处理组,由第二CPU核101b(CPU#2)和被所述第二CPU核101b(CPU#2)请求实行信号处理的硬件加速器构成;第三信号处理以后的组,由未经图示的第三以后的CPU核和被所述第三以后的CPU核请求实行信号处理的硬件加速器构成。
时钟延迟生成单元113a~113g包括多个延迟缓冲器和选择该延迟缓冲器的选择器(都省略图示),并设置于上述各个组的时钟输入单元,基于来自时钟偏移仲裁单元112的时钟偏移选择启动信号114来延迟时钟信号,从而任意地错开各个组之间的时钟相位。
图3是表示动态重构型信号处理处理器单元107的构成例的图。
动态重构型信号处理处理器单元107是动态可重构的处理器,如图2所示由多个处理器部件108a~1081(EL1~EL12)以及配置信息解码器单元109构成。
动态重构型信号处理处理器单元107的构成例如图3所示,其构成包括输入缓冲器201a,接收来自总线121(从动态重构型信号处理处理器单元107来看为外部总线)的输入数据;输入缓冲器201b,接收来自总线122的输入数据;输出缓冲器202a,将来自动态重构型信号处理处理器单元107的数据输出到总线121;输出缓冲器202b,将来自动态重构型信号处理处理器单元107的数据输出到总线122;内部总线203,配置成矩阵(matrix)状;总线选择器开关204,设置在配置成矩阵状的内部总线203的各个节点以及节点间;处理器部件205a~205c(处理器部件A);处理器部件206a~206c(处理器部件B);处理器部件207a~207f(处理器部件C);以及配置信息解码器单元109。
处理器部件205a~205c、206a~206c和207a~207f由几种处理器部件(EL)构成。比如,处理器部件205a~205c(处理器部件A)中预备移位运算器211和ALU212;处理器部件206a~206c(处理器部件B)中预备乘法器213;处理器部件207a~207f(处理器部件C)中预备ALU214和桶形移位器215。
下面,对如上述构成的非对称多处理器100的动作进行说明。
首先,说明硬件加速器单元106a~106e(HW#1~#5)的选择动作。硬件加速器单元106a~106e(HW#1~#5)的选择动作,通过硬件资源仲裁单元110对从CPU核101a和101b发出的、请求允许使用任意的硬件加速器的请求信号进行仲裁来实现。
这时,当第一CPU核101a(以下记载为CPU#1)为了进行数据的加密而指定硬件加速器单元106a(以下记载为HW#1)的地址映射(address map),在第二CPU核101b(以下称为CPU#2)未对HW#1发出请求的情况下,允许其作为CPU#1的从属进行总线连接。另外,当CPU#1和CPU#2的请求发生冲突(conflict)(竞争,compete)的情况下,且为同时请求的情况,进行下面的(1)和(2)的仲裁。
也就是说,(1)对于优先级高的处理,允许硬件加速器的连接,并停止(stall)未被允许的CPU端。或者,(2)如果为以动态重构型信号处理处理器单元107可实现的范围的硬件加速器的情况,则进行仲裁,通过可重构的处理器来分担。
硬件资源仲裁单元110具有用来预先确定优先级的表格模式等,所述优先级根据发出请求的CPU的处理速度或CPU所分担的处理的实时性(处理内容)而确定。但是,来自CPU的请求信号中具有优先级位(priority bit),通过从CPU发行该信号,对强制地发行了优先级位的CPU端优先地连接硬件加速器。是否进行优先级位的发行利用CPU的软件进行控制。另外,类似从多个CPU同时发行优先级位的软件程序,利用编译等而被进行差错处理,在软件编码时被修正。
接下来,通过进行仲裁,进行利用非对称多处理器100的分散处理,所述仲裁为对一方的CPU预先使用着的硬件加速器,即使另一方的CPU在后发出中断请求的情况下,也与发生上述冲突时同样地进行上述(1)和(2)的仲裁;或者(3)中断先行进行的信号处理,在存储中间结果后,插入在后请求的CPU的请求;或者(4)不保存中间结果,而允许在后请求的CPU的处理。
而且,硬件资源仲裁单元110选择作为动态可重构的处理器的动态重构型信号处理处理器单元107的情况下,参照存储在信号处理内容选择单元111中的表格数据,预先监测是否存在必需的硬件加速器,所述信号处理内容选择单元111选择从属连接的动态重构型信号处理处理器单元107的信号处理内容。当存储在表格数据的硬件引擎与视为必需的硬件引擎相匹配的情况下,硬件资源仲裁单元110将HW选择启动信号传送到信号处理内容选择单元111。
根据该HW选择启动信号,从存储在配备于信号处理内容选择单元111的RAM的内容中,将所选择的硬件引擎的重构信息,传送到作为动态可重构处理器的动态重构型信号处理处理器单元107的配置信息解码器单元109,配置信息解码器单元109重构各个处理器部件108a~1081的连接关系,动态地构筑被视为必需的硬件加速器。硬件资源仲裁单元110酌情地将该可重构的处理器从属连接于CPU,以内部的硬件加速器来应付电路资源不足的情况等。
这里,选择从属连接的动态重构型信号处理处理器单元107的信号处理内容的信号处理内容选择单元111由RAM和选择电路构成,预先准备几种连接处理器部件的顺序等的信息作为配置信息保存在RAM中,在后更新RAM所保存的配置信息,由此在一定程度上能够追加、修改必需的硬件引擎。举一个例子,信号处理内容选择单元111的配置信息存储在ROM104中,在本非对称多处理器100启动时被下载。进一步,在需要追加、修改所配置的电路的结构的情况下,通过RAM105更新配备于信号处理内容选择单元111的RAM的信息,由此在一定程度上可容易地实现伴随信号处理的标准变更、性能提高而追加硬件加速器。
接下来,参照图3说明作为动态可重构的处理器的动态重构型信号处理处理器单元107的动作。
动态重构型信号处理处理器单元107包括几种处理器部件,在此为由移位运算器211和ALU212构成的处理器部件205a~205c(处理器部件A);由乘法器213构成的处理器部件206a~206c(处理器部件B);由ALU214和桶形移位器215构成的处理器部件207a~207f(处理器部件C)。作为可重构信息解码器单元的配置信息解码器单元109对外部所输入的配置信息进行解码。根据该解码结果,总线选择器开关204进行切换。通过总线选择器开关204切换了的内部总线203,从处理器部件205a~205c(处理器部件A)、处理器部件206a~206c(处理器部件B)以及处理器部件207a~207f(处理器部件C)中选择必需的处理器部件。所选择的处理器部件的数据总线以信号处理的顺序重新连接于总线而形成。
根据来自信号处理内容选择单元111的控制信号,酌情对视为必需的CPU通过外部总线121和122,与动态重构型信号处理处理器单元107的数据输入/输出单元进行从属连接,使其可作为硬件加速器来利用。
根据以上叙述的硬件资源仲裁单元110的仲裁动作,能够实现以下的功能。非对称多处理器100是搭载多个适用于音频处理、图像处理、基带处理等信号处理的特征的最合适的处理器(CPU)的非同步处理器,当一方的CPU,比如第一CPU核101a(CPU#1)中CPU资源处于空闲(idle)状态,或者CPU负荷低的情况下,将其他的CPU,比如第二CPU核101b(CPU#2)的处理的一部分任务分配给它,由此进行分散处理,以使CPU#1和CPU#2都能够对最大处理能力降低工作频率而进行处理。而且,不仅能够通过降低此时的动作电压而降低动作功率,而且各个CPU能够自由地选择所搭载的硬件加速器。
由此,比如在MPEG引擎和音频编解码引擎从属连接于CPU#1、三维图像引擎从属连接于CPU#2的媒体处理器中,当进行电视电话的处理的情况下,需要同时进行图像编解码和语音编解码。在该情况下,利用处理量较少的时间段,将音频编解码引擎从属连接于第二CPU,通过CPU#1和图像引擎进行图像处理,通过CPU#2和音频引擎进行音频处理,由此进行分散处理。
另一方面,当进行电子游戏的情况下,通过CPU#2和图像引擎进行三维图像处理、通过第一CPU和音频引擎进行效果声的处理等,能够实现处理负担的最佳化。
另外,在比如CPU#1和CPU#2的工作频率相同的情况下,图2的硬件资源仲裁单元110将作为CPU#2的从属而选择的硬件加速器的信息转送到时钟偏移仲裁单元112。由此,时钟偏移仲裁单元112在由CPU和被该CPU请求实行信号处理的硬件加速器构成的组间,进行控制来任意地错开时钟的相位关系。时钟偏移仲裁单元112通过设置在各个组的时钟输入单元的时钟延迟生成单元113a~113g,任意地错开各个组间的时钟相位。
具体而言,时钟偏移选择启动信号114被传送到从属连接于CPU#2的硬件加速器的各个时钟延迟生成单元113a~113g,以使提供给CPU#2的时钟和提供给从属连接于CPU#2的硬件加速器的时钟的相位,相对于CPU#1的时钟的相位错开比如半个周期。由此,CPU#1端的处理和CPU#2端的处理的时钟边沿(clock edges)交替发生,从而减轻LSI内部的IR下降。由此,通过减轻各个信号或时钟信号的偏移,不仅能够抑制所增加的DC电流而削减消耗电流,而且能够通过抑制峰值电流而实现防止误动作的发生。在该情况下,即使CPU#1和CPU#2具有不同的工作频率也能够通过相同的控制来实现对峰值电流的削减。也就是说,CPU#1和CPU#2虽然以同步设计为基本,但是基于各个处理器的工作频率也能够进行有益(useful)偏移控制。这可以产生能够对某部分的电路有意识地错开时钟偏移而使其进行动作的效果。
图4为说明时钟偏移控制机构的图。以在CPU#1和其从属硬件、以及CPU#2和其从属硬件之间生成任意的时钟偏移的情况为例。
时钟偏移仲裁单元112对硬件加速器和CPU#2进行以下的仲裁,所述硬件加速器是从CPU#2对硬件资源仲裁单元110发出了的请求信号的硬件加速器。时钟偏移仲裁单元112将任意的延迟信息设定给所述硬件加速器以及配置于CPU#2的时钟输入单元的时钟延迟生成单元113a、113b、113d和113e。时钟延迟生成单元113a、113b、113d和113e的内部包括多个延迟缓冲器和选择该延迟缓冲器的选择器(都省略图示),能够通过选择器选择延迟缓冲器而进行微调。图4中,最后级的时钟延迟生成单元113e利用反相器(inverter)反转时钟,或者CPU#2和CPU#2的从属硬件利用反转时钟进行动作。
当在CPU#2端的处理等完成了,并且通过总线与CPU#1端进行通信时,利用未图示的锁存电路(1atch circuit)锁存半个周期的偏差并吸收,由此使CPU的停止时间成为最小。
通过以上叙述的时钟偏移仲裁单元112的仲裁动作进行控制,以使CPU#2和从属连接于其的硬件加速器、DSP、或者动态可重构的处理器的动作时钟的相位,相对于CPU#1和从属连接于其的硬件加速器、DSP、或者动态可重构的处理器的动作时钟错开。由此,能够抑制LSI内部电源电压的IR下降,并且能够通过防止内部信号的偏移变大、抑制DC直通电流(throughcurrent)而实现动作功率的削减。此外,通过避免时钟的重叠,可以削减峰值电流。而且,根据峰值电流的削减效果,无需过度地对外部部件(电源IC)要求容许电流的性能,从而能够抑制电源IC的部件成本。
如上述的详细说明,根据本实施例,非对称多处理器100采取的构成包括硬件资源仲裁单元110,对请求信号进行仲裁,所述请求信号为从各个CPU核101a和101b发出的、请求允许使用任意的硬件加速器的请求信号;以及信号处理内容选择单元111,选择从属连接的动态重构型信号处理处理器单元107的信号处理内容。因此,各个CPU能够共有分别从属连接于它们的硬件加速器或等的处理器,而且任意的处理器能够使用任意的硬件加速器。也就是说,因为在现有的非对称多处理器中,采用各自的CPU不能共有从属连接于它们的硬件加速器的结构,所以即使根据各个CPU的工作量来分配软件程序的任务,也由于硬件加速器的限制而存在分散处理的自由度较小、不能充分发挥低消耗功率的效果的问题。与此相对,本实施例的非对称多处理器100中,各个CPU共有分别从属连接于它们的硬件加速器或DSP等的处理器,从而能够高效率地进行分散处理。由此,能够容易地实现CPU或者硬件加速器、DSP的工作频率的降低和电源电压的降低,从而能够高效率地进行消耗功率的削减。由此,能够容易地实现CPU或者硬件加速器、DSP的工作频率的降低和电源电压的降低,从而能够高效率地进行消耗功率的削减。
另外,因为本实施例的非对称多处理器100包括时钟偏移仲裁单元112,进行任意地错开各个组间的时钟的相位关系的控制;以及时钟延迟生成单元113a~113g,基于时钟偏移选择启动信号114来延迟时钟信号,所以具有调整各个CPU的时钟的相位的构成,能够削减峰值电流并且将IR下降抑制到最小。由此能够防止处理器误动作的发生,而且能够实现消耗功率的削减。也就是说,现有的非对称多处理器中,搭载着的多个处理器同时进行动作,由此时钟边沿的重叠造成LSI内部电源电压的IR下降和峰值电流的增加,因此导致了消耗功率的增加和误动作的问题的发生,但是在本实施例中,能够抑制LSI内部电源电压的IR下降,并且能够防止内部信号的偏移变大、抑制DC直通电流,从而实现动作功率的削减。进一步能够通过避免时钟的重叠来削减峰值电流。根据该峰值电流的削减效果,无需过度地对外部部件(电源IC)要求容许电流的性能,从而能够抑制电源IC的部件成本。
另外,在本实施例中,虽然说明了非对称多处理器100包括硬件资源仲裁单元110以及信号处理内容选择单元111、时钟偏移仲裁单元112以及时钟延迟生成单元113a~113g的结构例子,但是也可以采用包括其中一个的结构。
另外,在本实施例中,虽然时钟偏移仲裁单元112对将时钟偏移选择启动信号114输出到时钟延迟生成单元113a~113g的时钟信号进行延迟,但是无论采用什么样的方法,只要能够进行控制而任意地错开各个组之间的时钟的相位关系即可。
(实施例2)实施例1采取的结构是为达到加快CPU处理的目的而将硬件加速器从属连接于各个CPU,并使各个CPU共有该硬件加速器。而且当CPU所请求的硬件资源发生冲突的情况下,需要停止某个CPU处理,在该情况处理性能会下降。为了避免发生这样的事态,采取了将作为动态可重构的处理器的动态重构型信号处理处理器单元107也从属连接于各个CPU,并且使各个CPU共有其的构成。在实施例2中,说明以CPU的从属来连接DSP,从而能够进一步提高自由度的体系结构。
图5是表示本发明实施例2的非对称多处理器的构成的方框图。在本实施例的说明中,对于与图2相同的构成部分赋予相同标号并省略重复部分的说明。
在图5中,非对称多处理器300的构成包括第一CPU核101a(CPU#1);第二CPU核101b(CPU#2);第一DSP核301a(DSP#1);第二DSP核301b(DSP#2);第一指令高速缓冲器102a($1);第一数据高速缓冲器103a($2);第二指令高速缓冲器102b($3);第二数据高速缓冲器103b($4);第一指令RAM302a(RAM#1);第一数据RAM303a(RAM#2);第二指令RAM302b(RAM#3);第二数据RAM303b(RAM#4);ROM104;RAM105;多个硬件加速器单元106a~106e(HW#1~#5);动态重构型信号处理处理器单元107,是动态可重构的处理器;硬件资源仲裁单元310,仲裁请求信号,所述请求信号为从各个CPU核101a和101b发出的、任意的DSP核使用允许请求信号;配置信号选择单元311,对从各个处理器核(CPU核)对动态可重构的处理器发出的使用允许请求信号进行仲裁,并且将与CPU所请求的信号处理对应的配置信息发行给动态可重构的处理器;拥挤DSP核仲裁单元312,进行当一个处理器核选择拥挤的多个DSP核时的仲裁;时钟偏移仲裁单元112,进行控制来任意地错开各个组之间的时钟的相位关系;以及时钟延迟生成单元113a~113i,基于时钟偏移选择启动信号114来延迟时钟信号。
硬件资源仲裁单元310对从各个CPU发行的、任意的DSP核使用允许请求信号进行仲裁。根据对该请求信号的仲裁,任意的处理器核(CPU核)能够实行使用任意的DSP的信号处理程序。另外,硬件资源仲裁单元310与图2的硬件资源仲裁单元110同样地对从各个CPU核101a和101b发出的、请求允许使用任意的硬件加速器的请求信号进行仲裁。
当一方的处理器核(CPU核)选择了拥挤的多个时,并相对地对一方的DSP核发行相当于程序的开始地址的信号时,拥挤DSP核仲裁单元312进行控制以使其他的DSP核也能同时进行并行处理。
下面,对如上述构成的非对称多处理器300的动作进行说明。
硬件资源仲裁单元310以及时钟偏移仲裁单元112的基本动作与实施例1的非对称多处理器100相同。本实施例所具有特征为硬件资源仲裁单元310进一步对配置信号选择单元311以及拥挤DSP核仲裁单元312发行命令,配置信号选择单元311以及拥挤DSP核仲裁单元312进行以下的动作。
当从CPU发出的、请求进行DSP处理的命令传送到硬件资源仲裁单元310,拥挤DSP核仲裁单元312则将某一方的DSP核连接到总线,并启动DSP程序处理。比如,当希望利用第一DSP核301a(以下记载为DSP#1)进行交织处理的情况下,第一CPU核101a(以下称为CPU#1)将使DSP#1启动的命令发行给硬件资源仲裁单元310,硬件资源仲裁单元310对不是选择硬件加速器而是选择DSP的事实进行识别,将命令转送给拥挤DSP核仲裁单元312,启动DSP而进行所希望的信号处理。此时,所发行的命令为相当于在DSP#1的第一指令RAM302a(RAM#1)中的交织程序开始地址的信息。因此,只要将多个程序下载于DSP,就能够从多个程序中进行选择而实行。
而且,DSP#1和第二DSP核301b(以下记载为DSP#2)的第一指令RAM302a以及第二指令RAM302b为连续地址空间,只要将相当于DSP#2的指令存储器空间的信息作为命令发行,则能够实行DSP#2上所装载的程序。该情况下,使由CPU实行DSP程序的命令成为相对地址信息,由此能够减少CPU与DSP之间进行通信的信号线,而且不一定需要指令存储器的位宽度。
硬件资源仲裁单元310除了将命令转送给上述拥挤DSP核仲裁单元312,还将选择了哪个DSP的信息转送给时钟偏移仲裁单元112。如果是来自CPU#1的请求信号,则进行控制以使偏移相对于CPU的时钟成为0ns,如果是来自CPU#2的请求而且为启动DSP的情况,则时钟偏移仲裁单元112将控制信号(时钟偏移选择启动信号114)传送给时钟延迟生成单元113a、113b,所述控制信号使CPU#2的时钟和所选择的DSP#1的时钟相对于CPU#1的时钟,能错开比如相当于半个周期的偏移。由此,CPU#1和CPU#2或者DSP#2之间,时钟边沿不会发生重叠,即使发生拥挤也具有能够抑制LSI内部的电源电压下降,削减峰值电流的效果。另外,搭载工作频率高、高性能的处理器的情况下,处理器的动作功率较大,因此对电源IC的电流供给能力的要求也非常高。根据本实施例所产生的峰值电流的削减效果,无需过度地对外部部件(电源IC)要求容许电流的性能,从而还能够抑制电源IC的部件成本。
而且,在CPU#1使用DSP#1或DSP#2,也就是使用其中一方的同时,另一方面能够使CPU#2选择DSP#2或DSP#1,也就是选择其中另一方(CPU#1未选择的DSP)并且同时实行(拥挤)。
进一步,对于运算负荷高而并行性(parallelism)也高的信号处理,CPU#1和CPU#2的其中一方使DSP#1和DSP#2作为双DSP核从属连接,分割DSP程序而使其进行并行处理,还能够进行处理能力更高(MIPSMillionInstruction Par Second,每秒百万条指令)的信号处理。此时,比如CPU#1发出将相当于在DSP#1的指令存储器(第一指令RAM302a)下载的程序开始地址的信息、以及表示双模式(dual mode)的比特信息发行的命令。第一指令RAM302a的程序对DSP#1和DSP#2的双方发行指令(取得,fetch),由此无需多余地将相应的程序下载到DSP#2的指令存储器(第二指令RAM302b)。
如上述的详细说明,根据本实施例,非对称多处理器300的构成包括硬件资源仲裁单元310,仲裁请求信号,所述请求信号为从各个CPU核101a和101b发行的、任意的DSP使用允许请求信号;配置信号选择单元311,将与CPU所请求的信号处理对应的配置信息发行给动态重构型信号处理处理器单元107;拥挤DSP核仲裁单元312,当相对地对一方的DSP核发行相当于程序的开始地址的信号时,进行控制以使其他的DSP核能同时进行并行处理。因此不仅能够得到与实施例1相同的效果,还能够对总线121、122上所连接的多个DSP,由任意的处理器核实行使用任意的DSP的信号处理程序,从而能够提高处理器的负荷分散的自由度。而且,当一方的处理器核选择了拥挤的多个DSP时,能够进行控制以使其他的DSP核也能同时地进行并行处理。
而且,在本实施例中,当为了使任意的CPU高效率地实行信号处理而预备的硬件加速器的资源从多个CPU同时接收请求信号的情况下,或者该资源正在被一个CPU使用时,而在后接收来自其它的CPU的请求信号的情况下,作为避免硬件资源的冲突的方法,配置信号选择单元311通过外部总线121和122与作为动态可重构的处理器的动态重构型信号处理处理器单元107形成可连接的构成,将动态重构型信号处理处理器单元107重构成能够进行所希望的信号处理的样式并加以使用。由此,能够削减内部的硬件资源而减小电路的面积。
另外,在本实施例中,虽然说明了非对称多处理器300包括硬件资源仲裁单元310和拥挤DSP核仲裁单元312、时钟偏移仲裁单元112、以及配置信号选择单元311的构成例,但是也可以包括配置信号选择单元311和拥挤DSP核仲裁单元312的其中一个。或者也可以不包括时钟偏移仲裁单元112。
(实施例3)在实施例2中,详细地说明了包括硬件资源仲裁单元310、时钟偏移仲裁单元112、配置信号选择单元311以及拥挤DSP核仲裁单元312的结构,以及通过这些单元共有硬件加速器、DSP和动态可重构的处理器的方法。上述各个单元也能够单独地适用。实施例3提供一种技术要素,在第一CPU和第二CPU以及硬件加速器以外还搭载一个或多个DSP核的情况下,能够高效率地实行信号处理。实施例3能够对于实施例2的非对称多处理器300单独地、或者与其组合地适用。
因为实施例3的非对称多处理器的硬件方面上的结构与图5相同,所以省略其说明。
实施例3中,可以分为两种功能为了提高各个CPU的信号处理性能的[信号处理功能];以及为了实现各个CPU、DSP和动态可重构的处理器等的低功率化的[可变地控制工作频率或者动作电源电压的功能]。
(1)实施例3的非对称多处理器采取多处理结构,在搭载多个DSP的情况下,多个DSP从属连接于一个CPU,并能够将来自CPU的中断信号作为触发信号利用多个DSP对一个任务实行并行信号处理。如图5所示,本实施例的非对称多处理器包括第一DSP核301a(DSP#1)和第二DSP核301b(DSP#2),并将DSP#1和DSP#2通过总线121、122从属连接于第一CPU核101a(CPU#1)或者第二CPU核101b(CPU#2)。硬件资源仲裁单元310将来自一个CPU(比如,CPU#1)的中断信号作为触发信号,利用多个DSP#1和DSP#2对一个任务实行并行信号处理。
(2)在上述(1)中,特别是将相当于存储在DSP的程序中的各个信号处理的起始地址的信息从CPU输入到硬件资源仲裁单元310时,硬件资源仲裁单元310进行控制,以使相应的DSP程序启动,并且接受用于表示进行多DSP处理的控制信号或者控制比特的有效(ON),从第一DSP的指令存储器取得的命令传送到第一DSP核或者第二DSP核等的多个DSP核,由此进行并行信号处理。
(3)实施例3的非对称多处理器,包括多个DSP核,各个DSP核具有能够从其它的DSP核的指令存储器取得指令的机构。当一方的处理器核(CPU核)选择多个DSP核而使其进行并行动作的情况下,相应的CPU指定第一DSP的指令存储器的开始地址时,硬件资源仲裁单元310进行控制,以使多个DSP核同时取得该地址的指令,而使各个DSP进行多处理。
(4)实施例3的非对称多处理器具有利用来自相同的指令RAM的取指令来使多个DSP核进行实行的功能。处于DSP的并行处理模式时,优选是对第一DSP核的选址相对校正第二以后的DSP核的选址。
(5)实施例3的非对称多处理器,当第一处理器核(CPU核)和第二处理器核(CPU核)或者还有第三以后的处理器核同时进行信号处理的情况下,相对提供给所述第一处理器核和从属连接于其的硬件加速器、DSP核或者可重构的处理器的时钟信号的相位,对提供给所述第二CUP核和从属连接于其的硬件加速器、DSP核或者可重配置的处理器的时钟信号的相位,或提供给第三以后的CUP核和从属连接于其的信号处理电路资源的时钟信号的相位附加任意的相位差。比如,第一的CPU核101a(CPU#1)和第二的CPU核101b(CPU#2)同时进行信号处理的情况下,对提供给CPU#1和从属连接于其的硬件加速器、DSP核或者动态重构型信号处理处理器单元107的时钟信号的相位,与提供给CPU#2和从属连接于其的硬件加速器、DSP核或者动态重构型信号处理处理器单元107的时钟信号的相位,附加任意的相位差。由此,CPU#1和CPU#2同时进行信号处理的情况下,使提供给各个CPU和从属连接于它们的硬件加速器、DSP核或者动态重构型信号处理处理器单元107的时钟信号的相位互相错开,由此能够抑制峰值电流的降低。
(6)实施例3的非对称多处理器优选具有功率管理模式,分割信号处理量由多个CPU、或者DSP核、硬件加速器进行多处理,与使用单一的处理器进行信号处理的情况相比,将此时的电源电压、时钟频率、或者电路板的偏置电压,改变成低电源电压、低时钟频率或阈值虚拟地(看上去)提高的电路板电位而进行多处理。与使用单一的处理器进行信号处理的情况相比,根据利用该功率管理模式,功率消耗会变小,能够实现低消耗功率化。
(7)实施例3的非对称多处理器能够具备基于信号处理量来改变时钟频率和电源电压的功能。该信号处理还包含不进行信号处理的情形下的时钟频率和电源电压的变更处理。比如,在利用第一CPU核和从属连接于其的硬件加速器、DSP核、或者可重构的处理器进行信号处理的期间,当无需利用第二CPU核和从属连接于其的硬件加速器、DSP核、或者可重构的处理器进行信号处理的情况下,对未进行信号处理的后者实行切断电源电压,或者使其电源电压降低到存储器和寄存器能够保持保存数据的最小电压的功能(保持功能)。
如上述的详细说明,根据本实施例,在第一CPU和第二CPU以及硬件加速器以外还搭载一个或多个DSP核的情况下,CPU利用DSP软件来处理必需的信号处理,从而能够高效率地实行信号处理。当启动上述硬件加速器时,CPU将相对地表现了DSP的指令存储器的地址附加在与所选择的寄存器图(register map)相同的空间上,并且通过CPU发出请求信号,使相应的DSP的程序能够实行。此时,两个以上的CPU中的任一个CPU能够选择两个以上所搭载的DSP中的任意的DSP,而且具有使多个DSP作为多核进行并行处理的功能,通过并用改变DSP的工作频率和DSP的动作电压的功能,由此能够通过低功率提供高处理性能。这里,虽然DSP#1的指令存储器和DSP#2的指令存储器存储着各自的程序,但是比如在作为多核处理DSP进行动作的情况下,具有只要将程序存储在其中一方的指令存储器,对两方的DSP核取得指令(发行指令),就同时使两个以上的DSP进行动作的结构。并且包括相对地利用一方的DSP用程序翻译成其他的DSP程序以防止地址计算(选址)发生不匹配的机构。
由此,将一个或者多个DSP核连接在非对称的多CPU核处理器的其中一方的从属上来进行信号处理,从而实现信号处理性能的提高,在此情况下,任意的CPU通过可启动任意的DSP而可进行最佳的负荷分散,而且在进行冗余且并行性高的信号处理的情况下,一个CPU核能够使多个DSP核进行并行处理。在该情况下,通过并用改变DSP的工作频率和动作电压的功能,能够进一步实现低功率。
进一步,在实施本发明的多DSP核处理的情况下,因为从其中一个DSP用指令RAM发行指令,所以指令存储器能够高效率地利用指令RAM空间,另一方面还具有能够通过进一步减少指令存储器的硬件资源而削减进行封装的面积的效果。
(实施例4)在实施例1到3中,说明了硬件加速器、或者DSP、动态可重构的处理器的共有方法,以及伴随该共有方法,对每个非对称多处理器的构成变化例,改变各个CPU、DSP和动态可重构的处理器等的工作频率和动作电源电压,从而实现低频率化的方法。进一步,说明了各个变化例的多处理器之间的时钟的相位调整的方法,以及根据该方法的峰值电流的削减和IR下降的降低。实施例4为一个适用例子,具有与上述实施例1到3相同的结构,并进一步具有两个存储器使用模式。
图6是表示本发明实施例4的非对称多处理器的构成的方框图。在说明本实施例时,对于与图2相同的构成部分赋予相同标号并省略重复部分的说明。
在图6中,非对称多处理器400的构成包括第一CPU核101a(CPU#1);第二CPU核101b(CPU#2);第一指令高速缓冲器102a($1);第一数据高速缓冲器103a($2);第二指令高速缓冲器102b($3);第二数据高速缓冲器103b($4);共用存储器(Shared Memory)401($5),当多个CPU作为多处理器进行动作时,存储共通性高的指令和数据;ROM104;RAM105;多个硬件加速器单元106a~106e(HW#1~#5);动态重构型信号处理处理器单元107,是动态可重构的处理器;硬件资源仲裁单元110,对请求信号进行仲裁,所述请求信号为从各个CPU核101a和101b发出的、请求允许使用任意的硬件加速器的请求信号;信号处理内容选择单元111,选择从属连接的动态重构型信号处理处理器单元107的信号处理内容;时钟偏移仲裁单元112,进行任意地错开各个组之间的时钟的相位关系的控制;以及时钟延迟生成单元113a~113g,基于时钟脉冲相位选择启动信号114而使时钟信号延迟。
共用存储器401为一种多个处理器能够同时存取、并在多个处理器之间进行数据共有的共有存储器。
第一CPU核101a(CPU#1)通过第一指令高速缓冲器102a($1)、第一数据高速缓冲器103a($2)以及总线120与ROM104以及RAM105互相连接;第二CPU核101b(CPU#2)通过第二指令高速缓冲器102b($3)、第二数据高速缓冲器103b($4)以及总线120与ROM104以及RAM105互相连接。
而且,第一CPU核101a(CPU#1)以及第二CPU核101b(CPU#2)通过总线410连接到共用存储器401($5),共用存储器401($5)通过总线120连接到ROM104以及RAM105。
另外,第一CPU核101a(CPU#1)通过总线121连接到硬件加速器单元106a~106e(HW#1~#5)以及动态重构型信号处理处理器单元107;第二CPU核101b(CPU#2)通过总线122分别连接到硬件加速器单元106a~106e(HW#1~#5)以及动态重构型信号处理处理器单元107。
下面,对如上述构成的非对称多处理器400的动作进行说明。
一般而言,在非对称多处理器中,虽然也有所搭载的多个CPU全都同样地进行动作的情况,但是与对称多处理器相比,一方的CPU处理暂时处于待机状态等,并非一直在相同的处理负荷下进行并行动作,相反,在工作频率或动作速度上,非对称的部分也较多。
因此,非对称多处理器400包括共用存储器401,当多个CPU作为多处理器进行动作时,存储共通性高的指令和数据,实现对每个将CPU独特性高的指令和数据存储在各个CPU的高速缓冲器中的结构。非对称多处理器400能够交替地对共用存储器401与CPU的高速缓冲存储器进行存取,当高速缓冲发生读取错误(mishit)时,在进行高速缓冲器的回填(refill)的过程中,CPU切换成对共用存储器401进行存取,从而尽可能地避免发生CPU核的待机动作。另外,在存取共用存储器401时发生读取错误的情况下,再次切换进行对高速缓冲器的存储器存取,并以后台方式对共用存储器401进行回填。像这样,通过进行交替存取,分别使用两种模式削减回填动作过程中的空闲时间的动作模式,以及在多核之间共有共通性高的程序的共有存储器模式。
通过以下的两种存储器使用模式来使用共用存储器401[共用存储器模式]和[交替(alternate)存储器模式]。
关于第一存储器模式([共用存储器模式]),在第一CPU核101a(以下记载为CPU#1)和第二CPU核101b(以下记载为CPU#2)作为多处理器进行动作时,各个CPU不仅包括用于取得通常指令的指令高速缓冲器(指令高速缓冲器102a和102b)和在通常动作过程中作为作业领域的数据高速缓冲器(数据高速缓冲器103a和103b),还包括用于存储共有的数据和指令的共用存储器401,当为多处理器模式并为[共用存储器模式]时,将共通性高的程序存储在共用存储器401,由此能够提高存储器空间的效率从而实现削减存储器的封装面积。
另一方面,关于第二存储器模式([交替存储器模式]),设比如多个CPU的其中一个能够利用共用存储器401。比如CPU#1作为指令存储器能够利用第一指令高速缓冲器102a和共用存储器401。处于该指令模式时,CPU#1从指令高速缓冲器(第一指令高速缓冲器102a)得到指令,但是发生高速缓冲器的读取错误时,指令高速缓冲器(第一指令高速缓冲器102a)从ROM104进行回填。其间,如果是现有的多处理器,CPU#1核则处于待机状态,与此相对,处于本实施例的第二存储器模式([交替存储器模式])时,当发生读取错误时,切换存取目的地,以使在指令存储器(第一指令高速缓冲器102a)进行上述的回填动作的同时,CPU#1(第一指令高速缓冲器102a)从共用存储器401取得指令。其后,如果从共用存储器401取得指令时发生了读取错误,则切换存取目的地,以使之后在对共用存储器401进行回填动作的同时,CPU#1从指令高速缓冲器(第一指令高速缓冲器102a)再次取得指令。
如果在指令高速缓冲器(第一指令高速缓冲器102a)发生读取错误时,虽然在进行回填动作过程中切换到共用存储器401进行取得,但是指令高速缓冲器(第一指令高速缓冲器102a)处于回填过程而尚未结束时,共用存储器401端发生读取错误的情况下,CPU#1立刻进入待机状态。如果指令高速缓冲器端的回填动作的回填实行值达到了预先决定的值以上,比如对50%以上的高速缓冲器空间完成了新指令的切换(回填),则进行控制,以使从共用存储器401切换到指令高速缓冲器(第一指令高速缓冲器102a),接着CPU#1进入取得动作,并且以后台方式进行共用存储器401的回填。
在现有的多处理器中,发生高速缓冲器读取错误时,CPU处于待机状态,与此相对,在本实施例中,通过活用共用存储器401,设置交替地从共用存储器401与指令高速缓冲器进行取得的模式,从而能够提高CPU的处理性能。另一方面,作为多核处理器,在核之间通过将共通性高的程序(比如,基本软件或者OS的一部分等)存储在该共用存储器401,能够实现作为多处理器的电路面积的削减。另外,通过预备能够分别使用该两个特性的控制模式,能够实现提高CPU处理性能、消减电路面积以及消耗功率。
虽然在上面以指令存储器为例进行了说明,但是在数据存储器端也是相同的。另外,虽然说明了处于第二存储器模式([交替存储器模式])时,只有一个CPU使用共用存储器的情况,但是也能够采取分割共用存储器的存储器空间,使多个CPU核进行第二存储器模式([交替存储器模式])的构成。
如上述详细说明,根据本实施例,当多个CPU作为多处理器进行动作时,非对称多处理器400包括用于存储共通性高的指令和数据共用存储器401,对每个CPU将独特性高的指令和数据存储在各个CPU的高速缓冲器102a($1)、103a($2)、102b($3)和103b($4)中。在非对称多处理器400中,虽然也有所搭载的多个CPU全都同样地进行动作的情况,但是与对称多处理器相比,一方的CPU处理暂时处于待机状态等,并非一直在相同的处理负荷下进行并行动作,相反,在工作频率或动作速度上,非对称的部分也较多。因此,具有交替地对共用存储器401与CPU的高速缓冲存储器进行存取的构成,当发生高速缓冲器的读取错误时,在进行高速缓冲器的回填的过程中,CPU切换成对共用存储器401进行存取,从而尽可能地避免发生CPU核的待机动作。另外,在存取共用存储器401时发生读取错误的情况下,再次切换对高速缓冲器的存储器存取,并以后台方式对共用存储器401进行回填。像这样,通过进行交替存取,具有能够分别使用两种模式的构成,所述两种模式为削减回填动作过程中的空闲时间的动作模式,以及在多核之间共有共通性高的程序的共有存储器模式。由此,通过预备共有存储器领域,存储在多处理中共通性高的基本软件(OS)等的程序,从而具有削减封装在LSI上的面积的效果。
另外,在实施例中,具有作为CPU的一级高速缓冲器(primary cache)的一部分切换共用存储器领域来使用的模式。由此,发生CPU的高速缓冲器的存取错误时,即使进行回填动作也不发生CPU的空闲时间。因此,具有提高CPU的处理性能的效果。
上述说明是本发明的优选实施方式的例证,本发明的范围不限于此。
另外,虽然在本实施方式中使用非对称多处理器的名称,但这是为了方便说明,不用说也可以是非对称多处理器系统等。
而且,构成所述非对称多处理器的多处理器核、DSP核、硬件加速器、动态可重构的处理器的种类和其数量以及连接方法等,还有硬件资源仲裁单元、时钟偏移仲裁单元、各个选择单元的构成例等并不只限于上述的实施例。
如上述那样,根据本发明,非对称多处理器的各个的CPU能够自由地选择恰当的硬件加速器来进行从属连接,从而能够提高分散处理的自由度,使各个处理器(CPU)的处理负荷成为最小。由此,能够更有效地进行工作频率的降低和电源电压的降低,从而实现更大的消耗功率的削减。
另外,将一个或者多个DSP核连接在非对称的多CPU核处理器的其中一方的从属上来进行信号处理,从而实现信号处理性能的提高,在此情况下,任意的CPU通过可启动任意的DSP使得到最佳的负荷分散成为可能,进一步在冗余且并行性高的信号处理的情况下,一个CPU核能够使多个DSP核进行并行处理,通过并用改变DSP的工作频率和动作电压的功能,从而能够实现更高的低功率化。
另外,在实施这种多DSP核处理的情况下,因为从其中一个DSP用指令RAM发行指令,所以指令存储器能够高效率地利用指令RAM空间,另一方面还具有能够通过进一步减少指令存储器的硬件资源来削减在LSI上所封装的面积的效果。
另外,能够抑制LSI内部电源电压的IR下降,并且能够通过防止内部信号的偏移变大、抑制DC直通电流而实现动作功率的削减。进一步能够通过避免时钟的重叠来削减峰值电流。根据该峰值电流的削减效果,无需过度地对外部部件(电源IC)要求容许电流的性能,从而能够抑制电源IC的部件成本。
另外,能够削减内部的硬件资源而减小电路的面积。
进一步,通过预备共有存储器领域,存储在多处理中的共用性高的基本软件(OS)等的程序,从而具有削减在LSI上所封装的面积的效果。另外,作为CPU的一级高速缓冲器的一部分切换共用存储器领域来使用,在发生CPU的高速缓冲器的存取错误时,即使进行回填动作也不发生CPU的空闲时间,从而具有提高CPU的处理性能的效果。
因此,本发明的非对称多处理器具有在各个CPU之间共有硬件加速器的结构,调整各个CPU的时钟的相位的结构,以及对每个任务分割处理器的工作量并分配来进行分散处理的机构,适用于集中了媒体处理器和基带处理处理器的系统LSI的低功率化和小面积化。另外,利用本发明的非对称多处理器而构成的系统LSI特别能够应用于将“数字电视”、“数字收音机”、“音频重放”、“因特网通信”、“电视电话”、“无线LAN”、“需要高性能图像处理的电子游戏”等,由一台电子装置进行的便携式电话或便携式电子游戏机、便携式电子记事本、便携式摄像机等。
本说明书是根据2006年6月6日申请提交的日本专利申请特愿第2006-157826号。该权利要求书、附图和说明书摘要通过引用全部包括在此作为参考。
权利要求
1.一种非对称多处理器,其多个处理器核与多个硬件加速器通过总线而连接,它包括硬件资源仲裁单元,对请求信号进行仲裁,所述请求信号是从所述各个处理器核发出的、请求允许使用任意的硬件加速器的请求信号,接受了由所述硬件资源仲裁单元所进行的请求信号的仲裁的所述处理器核使用任意的硬件加速器。
2.如权利要求1所述的非对称多处理器,其中,还包括时钟偏移仲裁单元,其在各个组之间进行任意地错开时钟的相位关系的控制,所述各个组为第一信号处理组,由第一处理器核和被所述第一处理器核请求实行信号处理的硬件加速器构成;第二信号处理组,由第二处理器核和被所述第二处理器核请求实行信号处理的硬件加速器构成;第三信号处理组,由第三处理器核和被所述第三处理器核请求实行信号处理的硬件加速器构成。
3.如权利要求2所述的非对称多处理器,其中,在所述各个组的时钟输入单元中还包括时钟延迟生成单元,其延迟所提供的时钟信号,从而任意地错开所述各个组之间的时钟相位。
4.如权利要求1所述的非对称多处理器,其中,所述多个处理器核通过所述总线连接到多个DSP核,所述硬件资源仲裁单元对从所述各个处理器核发行的、任意的DSP核使用允许请求信号进行仲裁,接受了由所述硬件资源仲裁单元所进行的DSP核使用允许请求信号的仲裁的处理器核实行由任意的DSP核进行的信号处理程序。
5.如权利要求1所述的非对称多处理器,其中,多个DSP核从属连接于一个所述处理器核,相应的所述多个DSP核将来自所述处理器核的中断信号作为触发信号,将一个任务进行并行信号处理。
6.如权利要求1所述的非对称多处理器,其中,当从所述处理器核输入相当于存储在DSP核的程序中的各个信号处理的起始地址的信息时,所述硬件资源仲裁单元进行控制,以启动相应的DSP程序。
7.如权利要求1所述的非对称多处理器,其中,还包括多个DSP核,所述硬件资源仲裁单元接受用于表示进行多DSP处理的控制信号或者控制比特的有效,将从第一DSP核的指令存储器所取得的命令传送到包括第一DSP核或者第二DSP核的多个DSP核,接收了所述命令的所述多个DSP核实行并行信号处理。
8.如权利要求1所述的非对称多处理器,其中,还包括多个DSP核,各个DSP核还能够从其它的DSP核的指令存储器取得指令,在一个处理器核选择多个DSP核而使其进行并行动作的情况下,所述处理器核指定某一个DSP核的指令存储器的开始地址时,所述硬件资源仲裁单元进行控制,以使多个DSP核也同时取得该地址的指令,并使各个DSP核进行多处理。
9.如权利要求1所述的非对称多处理器,其中,在利用来自相同的指令RAM的取指令实行由多个DSP核进行的信号处理时,当处于DSP的并行处理模式时,所述硬件资源仲裁单元对第二DSP核的选址进行相对于第一DSP核的选址的相对校对。
10.如权利要求1所述的非对称多处理器,其中,还包括拥挤DSP核仲裁单元,其在一个处理器核选择拥挤的多个核,并对一方的核发行相当于程序的开始地址的信号时,进行控制以使其他的核也同时进行并行处理。
11.如权利要求1所述的非对称多处理器,其中,第一处理器核、第二处理器核、或者其它的处理器核通过所述总线与动态可重构的处理器连接,所述非对称多处理器还包括配置信号选择单元,其仲裁从所述各个处理器核发出的、对所述动态可重构的处理器的使用允许请求信号,同时将与相应的处理器所请求的信号处理对应的配置信息发行给所述动态可重构的处理器,接受了由所述配置信号选择单元发行的配置信息的所述动态可重构的处理器实行所述处理器核所请求的信号处理。
12.如权利要求1所述的非对称多处理器,其中,在第一处理器核和第二处理器核或者第三处理器核同时进行信号处理的情况下,相对于提供给所述第一处理器核和从属连接于其上的硬件加速器、DSP核或者可重构的处理器的时钟信号的相位,在提供给所述第二处理器核和从属连接于其的硬件加速器、DSP核或者可重构的处理器的时钟信号的相位、或者提供给所述第三处理器核和从属连接于其的信号处理电路资源的时钟信号的相位上,附加规定的相位差。
13.如权利要求1所述的非对称多处理器,其中,在分割信号处理量而由多个处理器核、DSP核或者硬件加速器进行多处理的情况下,设定功率管理模式,与使用单一的处理器进行信号处理的情形相比,至少降低电源电压、时钟频率或电路板的偏置电压中的一个。
14.如权利要求1所述的非对称多处理器,其中,在利用第一处理器核和从属连接于其的硬件加速器、DSP核、或者可重构的处理器进行信号处理的期间,当无需利用第二处理器核和从属连接于其的硬件加速器、DSP核、或者可重构的处理器进行信号处理的情况下,实行保持功能切断所述第二处理器核和从属连接于其的硬件加速器、DSP核、或者可重构的处理器的电源电压,或者使电源电压降低至存储器和寄存器能够保持存储数据的最小电压。
15.如权利要求1所述的非对称多处理器,其中,还包括当多个处理器核作为多处理器进行动作时,,存储共通性高的指令或数据的共用存储器,对每个处理器核独特性高的指令或数据存储在各个处理器核的高速缓冲存储器中,所述多个处理器核对所述共用存储器和所述高速缓冲存储器交替地存取。
16.如权利要求1所述的非对称多处理器,其中,所述多个处理器核为多个CPU,所述多个CPU的工作频率等的处理器性能、指令集、以及体系结构部分或全都不同,所述体系结构包括位宽度、存储器大小、高速缓冲存储器大小和管线级数。
全文摘要
本发明公开一种非对称多处理器,能够提高分散处理的自由度,使各个处理器(CPU)的处理负荷成为最小,通过降低工作频率或降低电源电压而实现消耗功率大量的削减。非对称多处理器(100)包括硬件资源仲裁单元(110),对请求信号进行仲裁,该请求信号从各个CPU核(101a)和(101b)发出,请求允许使用任意的硬件加速器的请求信号;信号处理内容选择单元(111),选择从属连接的动态重构型信号处理处理器单元(107)的信号处理内容;时钟偏移仲裁单元(112),进行任意地错开各组之间的时钟的相位关系的控制;时钟延迟生成单元(113a)~(113g),基于时钟偏移选择启动信号(114)而使时钟信号延迟。
文档编号G06F15/16GK101086722SQ200710106599
公开日2007年12月12日 申请日期2007年6月6日 优先权日2006年6月6日
发明者宝积雅浩 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1