平行处理来自单一程序存储器的单芯片双核心微处理器架构的制作方法

文档序号:6436887阅读:167来源:国知局
专利名称:平行处理来自单一程序存储器的单芯片双核心微处理器架构的制作方法
技术领域
本发明是有关一种单芯片双核心微处理器架构,尤指一种可平行处理来自单一程序存储器的单芯片双核心微处理器架构。
背景技术
随着单芯片多核心微处理器技术的进步,越来越多的系统,例如,嵌入式系统、数字信号处理系统、绘图系统等,皆采用多核心的处理器执行运算以增加效能。如同传统的微处理器,多核心微处理器也可用于实现各种运算架构(architecture),例如,超纯量(superscalar)架构、向量处理(vector processing)架构、超长指令字(VLIW)架构、单指令流多数据流(SIMD)架构、多绪运算(multithreading)架构等。其中超纯量(superscalar)架构通常透过管线式(Pipeline)指令执行方式利用指令层级的平行性(instruction-level parallelism)来增加系统整体效能。所谓的管线式指令执行方式是将执行一个指令的过程切割成一连串的独立步骤,如此一来,各个指令之间的步骤或可平行进行,而控制电路可依其中最慢的步骤来发送指令,而非如传统的方式,亦即,等待前一指令完成执行后再发送下一个指令来执行。一般来说,一个指令被切割成几个独立步骤,即称为几级管线架构。例如,一个指令被切割成三个独立步骤,该管线即称为三级管线架构。图1所示为一个三级管线架构的指令频率示意图。如图1所示,每个指令被切割成三个独立步骤,分别是:取回(fetch)、执行(execution)、与写回(write back),其中指令2的取回步骤与指令I的执行步骤平行进行,而指令3的取回步骤可与指令2的执行步骤即指令I的写回步骤共享一个指令频率(或称指令周期),以此类推。换言之,微处理器中不同的电路部分可平行执行指令处理的步骤,以增加效能。如此一来,当管线完全充分执行时,在理论上最多每个频率可完成一个指令。但是,由于指令的执行往往会遇到需要跳跃(jump)或中断(interrupt)的状况,所以会打乱指令执行的顺序。换言之,跳跃或中断的指令使得管线必须要重置,因此会影响管线的效率。当然,执行一个指令的过程切割还可以更细致的切割。例如,图2所示为一个五级管线架构的指令频率示意图,其中每个指令都被切割成五个独立步骤,分别是:取回、译码(decode)、取还缓存器(access register)、执行、与写回。不管将管线分成三级、五级或其它级数,其运作原理均类似。由于管线式指令执行方式需要较为复杂的控制电路来协调各执行部分的数据传递及共享,因此各个控制电路与执行运算电路必须透过频率(clock)来同步电路的操作。为简化起见,下列说明仅以两级式管线架构来说明指令频率与各级步骤的关系与及其运作情形,其它不同级数的管线架构也适用类似的情形。图3所示为一个二级管线架构的示意图,图4为对应的详细系统频率、指令频率与步骤操作的关系示意图。如图3所示,每个指令的执行可分为两个步骤进行:取回指令步骤、及执行指令步骤,其中每个步骤可在一个指令频率中完成。相对应地,如图4所示,一个指令频率(instruction clock)是包含四个系统频率(system clock)。由于取回指令步骤必须从程序存储器中读取指令数据,因此还包含读取程序存储器数据、及写回指令处理器两个动作;其中,读取程序存储器数据部分需要三个系统频率的时间来完成,而写回指令处理器部分则仅需要一个系统频率来完成。该指令处理器的主要功能包括(I)若无跳跃、中断或读取一间接缓存器时,将该读自程序存储器的数据存入指令缓存器;(2)当执行的是一跳跃指令时,则应将欲跳跃至的指令程序数据插入存至指令缓存器;(3)若微处理器内部发生中断指令时,则应将欲跳跃至的中断程序数据插入存至指令缓存器,且将目前的程序存储器数据暂存;以及(4)若使用间接缓存器来进行数据的读取或写入,将该间接缓存器所指向的地址与程序存储器数据结合,并存至指令缓存器。同样地,图4的执行指令步骤还包括取回及译码、读取功能缓存器及ALU运算、以及写回功能缓存器三个部分,分别需要一个系统频率、两个系统频率、以及一个系统频率来依序完成上述执行指令步骤的三个部分。其中取回与译码是将存于指令缓存器的指令取回并加以译码。读取功能缓存器及ALU运算部分是读取内部的功能缓存器并写入ALU的累加器,再根据译码的结果对累加器进行运算。最后,写回功能缓存器部分是将累加器内的数据写回功能缓存器。值得注意的是,上述所有的缓存器沟通的管道,都需要透过累加器,以利存取。在此架构下,除了跳跃指令需要两个指令频率外,其它的指令都仅需一个指令频率的时间来完成执行。如前所述,随着单芯片多核心技术的普及,管线式指令执行方式也在应用于多核心处理器。图5所示为一个双核心处理器的三级管线架构的指令频率示意图,可视为图1的单核心处理器架构的延伸。如图5所示,双核心处理器的两个核心是以分别以MCU-1和MCU-2来表示。类似的作法已被多项揭露的技术应用。例如,中国台湾专利1317501号揭露的多重微控制器管线式指令执行方法,是利用N个核心、M级管线的执行方式,且在第X个指令周期前完成指令的执行步骤;iN3X时,就可避免取消指令的情形。再如中国台湾专利1284265号所揭露的平行处理的多重微控制器的系统及时序控制方法,是利用在同一频率下,以不同的核心执行模块在相互错开的时序下执行不同程序的指令,如其实施例所示的主程序、产生脉冲宽度调节波形、测量输入信号的脉冲宽度、执行的I2C交握协议等,以达到平行处理增进效能的目的。综合而言,上述的技术应用有若干限制,缺乏弹性。然而就其成效,若MCU-1的指令频率周期为!\、MCU-2指令频率周期为T2,且系统的指令频率周期为Tsys,则三者存在下列关系式:
I I ^ I—+ —^ Tf-,
』1 I! 丄sys换言之,单颗微处理器的整体频率周期,仍大于或等于系统的时脉周期。由于管线式指令执行方式会因实际应用程序的指令内容可能有不同的效应,因此管线式指令执行方式成效,有时会不如预期的操作。因此,一个更具弹性的可平行处理来自单一程序存储器的单芯片双核心微处理器架构也是设计者面临的重要议题。

发明内容
基于上述现有技术的缺失,本发明为之主要目的在于提供一种可平行处理来自单一程序存储器的单芯片双核心微处理器架构,可多任务执行来自单一成式存储器中不同片段的程序,加速整体系统执行的程序。
为达成上述目的,本发明提供一种可平行处理来自单一程序存储器的单芯片双核心微处理器架构,包含一石英震荡器(OSC)、一频率产生器(CLK Generator)、一数据存储器(SRAM)、一开机重置模块(Power On Reset Module)、一程序存储器(Program Memory)、第一处理核心MCU-1、第二处理核心MCU-2、以及一输出/输入垫(I/O Pad)。其中,石英震荡器是用于产生一系统频率以提供给该频率产生器,该频率产生器接收来自该石英震荡器的该系统频率用以产生不同的指令频率来控制第一处理核心与第二处理核心。该数据存储器连接于该第一处理核心与第二处理核心,该数据存储器提供第一处理核心与第二处理核心运算时所需的数据储存空间;而开机重置模块连接于该第一处理核心与第二处理核心,以在开机时重置第一处理核心与第二处理核心。程序存储器是连接于该第一处理核心与第二处理核心,程序存储器存有一连串的指令,以供第一处理核心与第二处理核心的取回及执行。输出/输入垫与第一处理核心与第二处理核心相连,为第一处理核心与第二处理核心的输出与输入数据的连接口。


图1所示为一个三级管线架构的指令频率示意图。图2所示为一个五级管线架构的指令频率示意图。图3所示为一个二级管线架构的示意图。

图4为对应的详细系统频率、指令频率与步骤操作的关系示意图。图5所示为一个双核心处理器的三级管线架构的指令频率示意图,可视为图1的单核心处理器架构的延伸。图6所示为本发明的二级管线架构示意图。图7所示为图6的二级管线架构的执行细部说明。图8所示为本发明的可平行处理来自单一程序存储器的单芯片双核心微处理器架构示意图。图9所示为对应于图8的系统时序图。图10所示为本发明的二级管线架构的令一实施例的示意图。图11所示为本发明的可平行处理来自单一程序存储器的单芯片双核心微处理器的另一实施例的架构示意图。图12所示为对应于图11的系统时序图。主要元件符号说明801石英震荡器802频率产生器
803数据存储器 804开机重置模块805程序存储器806、807处理核心808输出/输入垫1101石英震荡器1102频率产生器1103数据存储器1104开机重置模块
1105程序存储器1106、1107处理核心1108输出/输入垫
具体实施例方式兹配合下列图示、实施例的详细说明及申请专利范围,将上述及本发明的其它目的与优点详述于后。图6所示为本发明的二级管线架构示意图,是适用于一可平行处理来自单一程序存储器的单芯片双核心微处理器架构,可视为图3的现有二级管线架构的示意图的延伸。本发明的单芯片双核心微处理器包含两个处理核心,分别以MCU-1与MCU-2表示,其中处理核心MCU-1是执行指令1A、指令2A、指令3A等,而处理核心MCU-2是执行指令1B、指令2B、指令3B等。如图6所示,MCU-1与MCU-2的指令频率周期相同,但不同相。换言之,处理核心MCU-1与MCU-2的指令频率相差半个周期。因此,当处理核心MCU-1进行指令IA的取回指令步骤的后半个频率周期,处理核心MCU-2开始进行指令IB的取回指令步骤;同样地,当处理核心MCU-1进行指令IA的执行指令步骤的后半个频率周期,处理核心MCU-2开始进行指令IB的执行指令步骤,以此类推。图7所示为图6的二级管线架构的执行细部说明。如图7所示,图6中的取回指令
步骤是从程序存储器中取回指令数据,还包括:读取Ml、写回Ml、读取M2、写回M2等四个动
作;其中,读取Ml、写回Ml是由处理核心MCU-1进行,分别代表从程序存储器中读取处理核
心MCU-1所要求的指令数据,以及将所读取的指令数据写回处理核心MCU-1 ;同样地,读取
M2、写回M2是由处理核心MCU-2进行,分别代表从程序存储器中读取处理核心MCU-2所要
求的指令数据,以及将所读取的指令数据写回处理核心MCU-2。值得注意的是,读取Ml、读
取M2等动作分别需要在一个系统频率的时间来完成,因此,写回Ml、写回M2等动作可利用
该指令频率内所包含的剩余三个系统频率的时间来完成。由此可见,本发明在取回指令步
骤里所用的频率分配方式与图4的现有作法不同,可允许处理核心MCU-1与MCU-2平行处
理来自单一程序存储器的指令数据,增加整体执行效率。另一方面,执行指令步骤还包括:
取回及译码、读取功能缓存器及ALU运算、写回功能缓存器等三个动作,则与现有的方式相
同,在此不再赘述。就其成效而言,若MCU-1的指令频率周期为!\、MCU-2指令频率周期为
T2,且系统的指令频率周期为Tsys,则三者存在下列关系式:
权利要求
1.种可平行处理来自单一程序存储器的单芯片双核心微处理器架构,其特征在于,包含一石英震荡器、一频率产生器、一数据存储器、一开机重置模块、一程序存储器、一第一处理核心、一第二处理核心、以及一输出/输入垫;其中: 该石英震荡器用于产生一系统频率以提供给该频率产生器,该频率产生器接收来自该石英震荡器的该系统频率以产生不同的指令频率来控制该第一处理核心与第二处理核心; 该数据存储器连接于该第一处理核心与第二处理核心,以提供该第一处理核心与第二处理核心运算时所需的数据储存空间; 该开机重置模块连接于该第一处理核心与第二处理核心,以在开机时重置该第一处理核心与第二处理核心; 该程序存储器连接于该第一处理核心与第二处理核心,且存有一连串的指令,以供该第一处理核心与第二处理核心依序取回及执行; 该输出/输入垫与该第一处理核心与第二处理核心相连,为该第一处理核心与第二处理核心的输出与输入数据的连接口。
2.权利要求1所述的可平行处理来自单一程序存储器的单芯片双核心微处理器架构,其特征在于,该频率产生器产生频率序列Tl、T2、T3、T4,并用相同的频率序列Tl、T2、T3、T4来同时控制该第一处理核心与第二处理核心,其中频率序列Tl、T2、T3、T4的周期相同,其高电平时间长度与低电平的时间长度比为1: 3,且其高电平时间不相互重叠,因此,其高电平顺序为T1、T2、T3、T4、T1、T2、T3、T4,且一串Τ1、Τ2、Τ3、Τ4的时间长度则构成一指令频率。
3.权利要求2所述的可平行处理来自单一程序存储器的单芯片双核心微处理器架构,其特征在于,该指令频率进行一个指令的取回指令步骤或执行指令步骤。
4.权利要求3所述的可平行处理来自单一程序存储器的单芯片双核心微处理器架构,其特征在于,该第一处理核心是用进行取回指令步骤的指令频率中的Tl频率读取该程序存储器内的一指令数据,而用Τ2、Τ3、Τ4频率来将所读取的该指令数据写回该第一处理核心,而该第二处理核心是用进行取回指令步骤的指令频率中的Τ3频率读取该程序存储器内的一指令数据,而用Τ4、Τ1、Τ2频率来将所读取的该指令数据写回该第二处理核心。
5.权利要求1所述的可平行处理来自单一程序存储器的单芯片双核心微处理器架构,其特征在于,该频率产生器产生频率序列MCU-1_T1、MCU-1_T2、MCU_1_T3、MCU-1_T4来控制该第一处理核心,并产生频率序列MCU-2_T1、MCU-2_T2、MCU-2_T3、MCU-2_T4来控制该第二处理核心,其中频率序列MCU-1_T1、MCU-1_T2、MCU_1_T3、MCU-1_T4的周期相同,其高电平时间长度与低电平的时间长度比为1: 3,且其高电平时间不相互重叠,因此,其高电平顺序为 MCU-1_T1、MCU-1_T2、MCU-1_T3、MCU-1_T4、MCU-1_Τ1、MCU-1_T2、MCU-1_T3、MCU-1—Τ4,且一串MCU-1_Τ1、MCU-1_Τ2、MCU-1_Τ3、MCU-1_Τ4的时间长度则构成一该第一处理核心的指令频率;频率序列MCU-2_T1、MCU-2_T2、MCU_2_T3、MCU_2_T4的周期相同,其高电平时间长度与低电平的时间长度比为1: 3,且其高电平时间不相互重叠,因此,其高电平顺序为 MCU-2_T1、MCU-2_T2、MCU_2_T3、MCU_2_T4、MCU_2_T1、MCU_2_T2、MCU_2_T3、MCU_2_T4,且一串MCU-2_T1、MCU- 2_T2、MCU_2_T3、MCU_2_T4的时间长度则构成一该第二处理核心的指令频率;并且 MCU-2_T1、MCU-2_T2、MCU_2_T3、MCU_2_T4 的周期为 MCU_1_T1、MCU_1_T2、MCU-1_T3、MCU-1_T4的周期的偶数倍。
6.权利要求5所述的可平行处理来自单一程序存储器的单芯片双核心微处理器架构,其特征在于,该指令频率进行一个指令的取回指令步骤或执行指令步骤。
7.权利要求6所述的可平行处理来自单一程序存储器的单芯片双核心微处理器架构,其特征在于,MCU-2_T1、MCU-2_T2、MCU_2_T3、MCU_2_T4 的周期为 MCU_1_T1、MCU_1_T2、MCU-1_T3、MCU-1_T4的周期的两倍,且该第一处理核心与该第二处理核心读取该程序存储器内的指令数据时序分别为,该第一处理核心读取、该第二处理核心读取、该第一处理核心读取、该第一处理核心读取、该第二处理核心读取、该第一处理核心读取。
8.权利要求6所述的可平行处理来自单一程序存储器的单芯片双核心微处理器架构,其特征在于,MCU-2_T1、MCU-2_T2、MCU_2_T3、MCU_2_T4 的周期为 MCU_1_T1、MCU_1_T2、MCU-1_T3、MCU-1_T4的周期的2N倍,N为整数,且该第一处理核心与该第二处理核心读取该程序存储器内的指令数据时序分别为,该第一处理核心读取、该第二处理核心读取、(2N-1)次X该第一处理核心读取 、该第一处理核心读取、该第二处理核心读取、(2N-1)次X该第一处理核心读取。
全文摘要
本发明提供一种可平行处理来自单一程序存储器的单芯片双核心微处理器架构,包含一石英震荡器、一频率产生器、一数据存储器、一开机重置模块、一程序存储器、两个处理核心、以及一输出/输入垫。其中,石英震荡器用于产生一系统频率以提供给该频率产生器,用以产生不同的指令频率来控制两个处理核心。该数据存储器提供两个处理核心运算时所需的数据储存空间,而开机重置模块连接于该两个处理核心,以在开机时重置两个处理核心。程序存储器存有一连串的指令,以供两个处理核心的取回及执行。输出/输入垫与两个处理核心相连,为两个处理核心的输出与输入数据的连接口。
文档编号G06F9/38GK103092570SQ201110336618
公开日2013年5月8日 申请日期2011年10月31日 优先权日2011年10月31日
发明者林彦华, 张朝霖, 黄伟凯, 陈宏玮, 陈光耀 申请人:佑华微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1