首页> 中国专利> 一种多处理器系统的自适应共享总线启动加速方法

一种多处理器系统的自适应共享总线启动加速方法

摘要

本发明涉及一种多处理器系统的自适应共享总线启动加速方法。本方法为:改进现有硬件设计,针对现有的多处理器芯片硬件结构,增加全局系统控制模块HSMM、时钟复位控制模块RCCM和总线监测模块BMM,并基于这些功能模块建立了一整套全局化系统层面的自适应总线时隙锁定、优化和分配机制,从而使得多处理器芯片能够自适应地找到快速安全的多处理器启动方案,利用有限的片上总线资源,实现多处理器的安全启动加速,显著地降低了多处理器芯片的启动时间,并提高了可靠性,可广泛应用于多处理器的系统设计中。

著录项

  • 公开/公告号CN105022718A

    专利类型发明专利

  • 公开/公告日2015-11-04

    原文格式PDF

  • 申请/专利权人 上海大学;

    申请/专利号CN201510398960.2

  • 发明设计人 胡越黎;周俊;王伟平;权利;

    申请日2015-07-08

  • 分类号G06F15/80(20060101);G06F15/17(20060101);

  • 代理机构上海上大专利事务所(普通合伙);

  • 代理人陆聪明

  • 地址 200444 上海市宝山区上大路99号

  • 入库时间 2023-12-18 11:38:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-13

    授权

    授权

  • 2015-12-02

    实质审查的生效 IPC(主分类):G06F15/80 申请日:20150708

    实质审查的生效

  • 2015-11-04

    公开

    公开

说明书

技术领域

本发明涉及一种处理器系统的自适应共享总线启动加速系统及方法,主要涉及一种同构或异构多处理器系统共享总线资源,进行自适应启动加速的系统及方法。

背景技术

同构或异构多处理系统,即多核系统被广泛应用于各种芯片设计中。在服务器领域,AMD(超威半导体)已经推出了拥有12颗核的CPU(处理器),即AMD皓龙6000系列;而INTEL(英特尔)的E5至强处理器系列也含有12颗核。同时,AMD和INTEL都已经成功地把CPU和GPU(图形处理器)进行整合,放在同一颗芯片上进行设计,并互相共享计算和存储资源,AMD APU Fusion和INTEL Ivy Bridge系列都是成功的典范。而出于性能和功耗的不同需求,所搭建的同构或异构多处理器系统芯片更是比比皆是,让拥有各种不同的性能/功耗比的处理器在同一个系统中工作,已经成为当今设计的主流。

然而,发明人发现当系统中集成的处理器数量越来越多时,现有的主流启动方法却存在明显的缺陷,包括:

    1、系统启动时间越来越长,造成用户体验极具下降;

    2、各处理器启动互相竞争并导致冲突的风险大为提高,极易造成系统崩溃;

    3、缺少一种从系统层面对各处理器启动进行管理的有效机制等。

    如何找到一种方法,利用有限的总线资源,实现多处理器的快速安全启动,是发明人关注的重点。

发明内容

本发明主要针对当前主流多处理器芯片启动技术存在的缺陷和不足,提出一种多处理器系统的自适应共享总线启动加速方法,从使得多处理器芯片能够自适应地找到快速安全的多处理器启动方案,利用有限的片上总线资源,实现多处理器的安全启动加速。

为达到上述目的,本发明的构思是:

    针对上文背景中提及的这些缺陷和当今主流的多处理器芯片硬件结构:

    1、针对系统启动时间过长,提出一种自适应的共享总线启动加速的系统及

       方法;

2、针对各处理器启动互相竞争冲突的高风险,建立一种自适应的锁定、优

   化和分配时隙的方法,从而实现处理器启动冲突零风险;

3、针对缺少系统层面对各处理器启动进行管理的现状,提出了一整套从全

   局系统层面对各处理器启动进行优化和管理的机制。

根据上述构思,本发明采用下述技术方案:

    一种多核处理器系统的自适应共享总线启动加速系统及方法,其特征是:

    1、改进现有硬件设计,针对现有的多处理器芯片硬件结构,增加全局系统

       控制模块(High Level System Management Module, HSMM)、时钟复位

       控制模块(Reset and Clock Control Module, RCCM)和总线监测模块(Bus

       Monitor Module, BMM)。

2、基于上述的全局系统控制模块HSMM、时钟复位控制模块RCCM和总

   线监测模块BMM,建立了一整套全局化系统层面的自适应总线时隙锁

   定、优化和分配机制,其具体步骤为:

       2a.建立自适应共享总线启动时隙锁定和分配机制。

       2b.建立自适应共享总线启动时隙冲突预测、优化和分配机制。

       2c.建立全局系统层面化的自适应共享总线时隙锁定、优化和分配机制。

上述提及的硬件设计改进,具体方法为:

如图1所示,MV14是一款多处理器芯片,其有4个处理器(MV01, MV02, MV03, MV04)连接在同一条总线上,构成异构处理器系统,其中两两互为同构处理器(MV01和MV02为同构,MV03和MV04为同构)。该系统的总线系统由指令总线控制模块(Instruction Bus Control Module, IBCM)和数据总线控制模块(Data Bus Control Module, DBCM)组成。通过IBCM,系统中的多个处理器可以访问片上的存储器管理模块(Memory Control System,MCS),并最终从外部的ROM来读取指令。

    MV14采用的当今主流的多处理器硬件架构,现有的启动方式是使所有的处理器按照一定的顺序和优先级设定来占用指令总线控制模块IBCM,从而从总线上读取外部ROM里的指令来完成启动。通常处理器会把外部指令读入其内部的缓存或者其本地的RAM中进行存储。这种方法的优点是最大限度地节省了片内硬件和片外ROM资源,缺陷是后启动处理器要等待前启动处理器完成启动后才能执行自己的启动过程,当系统中集成的处理器越来越多的时,整个系统的启动时间非常长。如图2中所示,IBCM、MCS、MV01核、MV02核运行在一个较快的时钟上,MV03核和MV04核运行在一个较慢的时钟上。所有处理器核都通过在指令总线上发出读指令请求(如图2波形中标示为“读”),经过IBCM和存储器管理模块MCS后去访问外部的指令ROM,并通过在IBCM上返回指令数据(如图2波形中标示为“数”)给各处理器。由图2中可见,每个处理器都有自己启动的时序,并且假设MV01启动需要的时长为TMV01,MV02启动需要的时长为TMV02,MV03启动需要的时长为TMV03,MV04启动需要的时长为TMV04,则利用IBCM完成所有处理器安全启动的时长为Tall=TMV01+TMV02+TMV03+TMV04,并随着系统中集成处理器数量的增加,其Tall随之显著增长。此外,如果这些处理器通过竞争的方式访问同一总线的话,也会大大增加总线冲突的可能性,从而造成系统的不稳定,甚至崩溃,如图3中所示。

如图1所示,本发明的硬件改进设计,在MV14系统中包含全局系统控制模块HSMM、时钟复位控制模块RCCM和总线监测模块BMM。整个MV14芯片工作在3个同源的时钟上,其中IBCM和MCS工作在时钟1上,MV01和MV02工作在时钟2上,MV03和MV04工作在时钟3上。通过HSMM、RCCM和BMM这三个硬件模块的协同工作自适应地锁定、优化、分配所有指令总线上的时隙,并把它们分配给各个处理器启动时使用。

上述提及的建立自适应启动总线时隙锁定和分配机制,具体方法为:

当MV14多处理器芯片上电后,如图1所示,RCCM模块输出期望默认的时钟信号分别给HSMM、BMM、IBCM、MCS以及各个处理器。待时钟信号稳定后,HSMM模块顺序依次释放每个处理器的复位信号,使其从指令总线上取指启动。确保在同一时间内,只有一个处理器占用IBCM和MCS进行启动取指,HSMM会通过BMM记录各个处理器占用IBCM和MCS从外部ROM取得指令的总线周期,即每一个周期性的读指令会占用多少个IBCM总线周期。实际上,这个取指总线周期延迟,是涵盖了处理器发出指令延迟、IBCM指令发送延迟、MCS指令发送延迟、ROM取指延迟、MCS指令读回延迟、IBCM指令读回延迟和处理器指令处理延迟。

以MV01和MV03为例(MV02和MV04与之类似),如图4中所示, HSMM通过RCCM释放MV01的复位信号使其从总线上启动,同时HSMM通过BMM监测并记录MV01对应的IBCM总线周期,通过多次记录并比较的方法,得到MV01取指总线延迟1(Fetch Instruction Delay Cycle, FIDC)和MV01取指总线延迟2,并对比这2个数值确认一致即认为监测采集到的数据有效;然后HSMM通过RCCM重新使MV01返回默认复位状态,并开始测量MV03的FIDC。从图4中可知,MV01的FIDC是4个IBCM周期,而MV03的FIDC是8个IBCM周期。

    当HSMM使用上述算法分别取得各个处理器所需的取指总线周期延迟,就可以对其进行处理,找出基于现行的时钟频率下,在总线上最多可以含有时隙的数量,并不冲突地分配给每个处理器使用。在此过程中,根据各种不同的情况,HSMM的算法会进行对应的优化。

通常HSMM取得的最小取指总线周期延迟,即是当前时钟设置下,该系统所能容纳的时隙数量(Time Slot Amount, TSA),即TSA= FIDCmin = Min(FIDCMV01, FIDCMV02, FIDCMV03, FIDCMV04,)。例如,MV01的取指总线周期延迟为4个IBCM时钟周期,小于其它各个处理器的FIDC值,则在该多处理器系统在当前时钟设置下所能提供的IBCM时隙总数,即TSA为4个。则该系统运行本发明可以提供至少4个处理器实现安全高速启动,如图5所示。

    如果系统内的各个处理器所需要的取指总线周期延迟均为最小取指总线周期延迟的整数倍,即1倍、2倍、3倍……,则HSMM可以直接把对应的IBCM时隙分配给对应的处理器。例如,当各个处理器所需的取指总线周期如表1中所示,则HSMM会把时隙1分配给MV01,时隙2分配给MV02,时隙3分配给MV03,时隙4分配给MV04。

在硬件实现上,HSMM通过BMM得到每个处理器的FIDC,并计算得出系统的TSA后,得到如表1中所示的时隙分配方案,并把这些信息传送给RCMM。 而RCMM通过精确计算和控制输出给每个处理器的复位信号的释放时间,使得各个处理器的启动指令和返回指令数据都能精确地嵌入到对应的IBCM时隙中,从而实现了快速安全的共享总线启动。其对应的MV14总线时序,如图6中所示,在IBCM总线上MV01占用时隙1,MV02占用时隙2,MV03占用时隙3,MV04占用时隙4。

MV01启动需要的时长为TMV01,MV02启动需要的时长为TMV02,MV03启动需要的时长为TMV03,MV04启动需要的时长为TMV04,则利用本发明的自适应共享总线启动加速系统及方法完成所有处理器安全启动的时长为Tall=Max(TMV01,TMV02,TMV03,TMV04) + IBCM总线周期× (TSA-1),和现有的启动方式相比,大大减少了整个芯片的启动时间。从Tall的计算公式可知,该方法尤其适合含有处理器数量多的芯片。运用本发明的机制和算法,HSMM和RCCM协同工作,输出给各处理器的复位信号时序,如图7所示。

至此,整个MV14系统中的4个处理器都能够共享IBCM的资源安全快速启动,但是时隙1和时隙2的占用率为100%,而时隙3和时隙4的占用率为50%,如图8所示。这意味着,如果系统中还有更多的处理器并且其所需要的取指总线周期延迟是最小取指总线周期延迟的整数倍,则使用该方法可以提高所有时隙的占用率至100%,提供连接更多处理器的可能性,如表2所示,可以提高时隙占用率至100%。其中MV03和MV04共享时隙3,MV04和MV05共享时隙4。

上述建立自适应启动总线时隙冲突预测、优化和分配机制具体方法为:

     如果MV14系统内的任一处理器所需要的取指总线周期延迟不为最小取指总线周期延迟的整数倍,则意味着它们占用同一条总线进行启动会造成总线竞争冲突,最终造成指令丢失或者长时间等待。如图9所示, MV01和MV02的取指总线周期延迟为4,而MV03和MV04需要的取指总线周期延迟为7,图9中以MV01和MV03为例,MV01使用时隙1,而MV03使用时隙3。经过若干个周期后,MV01和MV03会发生取指总线冲突。 硬件上HSMM通过BMM获取以上信息后,可以预测性地发现可能存在的总线冲突。

在这种情况下,HSMM根据取得的系统时隙数量,并把各个处理器所需要的取指总线周期延迟计算优化为系统时隙数量的整数倍,如表3中所示,从而自适应地使整个系统安全快速地启动。HSMM达到优化后的取指总线周期延迟后,对比原始的取指总线周期延迟,并换算成对应时钟频率的差值,发送给RCCM,由RCCM对对应的处理器进行时钟频率优化,从而优化该处理器至合适的时隙。随后再次使用上述的总线时隙锁定和分配机制确认各个处理器得到正确的时隙,再进行加速安全启动。

上述建立全局化的自适应启动总线时隙锁定、优化和分配机制,具体方法为:

基于上述的自适应启动总线时隙锁定、优化、分配机制和总线冲突预测机制,形成了一整套全局化系统层面的自适应共享总线时隙锁定、优化和分配机制流程和硬件设计。

总线监测模块BMM,硬件结构如图10所示,其在系统中与指令总线控制模块IBCM和全局系统控制模块HSMM相连,内部有读指令捕捉模块和读指令返回数据捕捉模块,分别用于监测IBCM上的读指令命令和其对应的读指令返回数据,通过取指总线延迟计算模块得到对应处理器的取指总线延迟数并发送给HSMM处理。

时钟复位控制模块RCMM,硬件结构如图11所示,其在系统中与全局系统控制模块及各处理器相连。内部的复位信号释放延迟模块和时钟信号频率调整模块接收从全局系统控制模块发送过来的请求,优化调整对应处理器的复位信号释放时间和时钟信号频率,并控制复位信号驱动模块和时钟信号驱动模块,最终输出到各处理器,使之能精确地利用所被分配的时隙进行启动。

全局系统控制模块,内部是一个用硬件实现的算法控制状态机(FSM),在系统中和总线检测模块BMM和时钟复位控制模块RCCM相连,如图12所示,用于全局化的自适应启动总线时隙锁定、优化和分配,其内部算法控制状态机流程图如图13和图14所示。

本发明与现有技术相比较,具有如下显而易见的实质性特点和显著优点:本发明充分利用现有片上的总线硬件资源,基于加入全局系统控制模块、时钟复位控制模块和总线监测模块,使得多个同构或异构的处理器能通过共享总线时隙的方式快速安全地启动,能自适应地计算、优化、锁定合适的启动方案,大大降低了多处理器芯片的启动时间,提高了用户体验,同时也极大地提高了系统可靠性。本发明可广泛应用于多处理器的系统设计中。

附图说明

图1 MV14多核处理器系统自适应共享总线启动加速系统及方法硬件构架

图2 MV14以现有传统启动方式的时序图

图3 MV14通过竞争总线方式启动造成总线冲突

图4 MV01和MV03的取指总线延迟测量

图5 MV14所能提供的IBCM时隙数量

图6 MV14运用共享总线启动加速系统及方法时序图

图7 MV14 各处理器自适应复位信号释放时序

图8 MV14 总线时隙利用效率

图9 MV01和MV03发生取指总线冲突

图10 MV14总线监测模块硬件结构图

图11 MV14时钟复位控制模块硬件结构图

图12 MV14全局系统控制模块硬件结构图

图13 MV14全局化的自适应启动总线时隙锁定、优化和分配机制流程

图14 MV14全局系统控制模块协同总线监测模块和时钟复位控制模块取得各   

     处理器的总线周期延迟数流程。

具体实施方式

本发明的优选实施例结合附图详述如下:

实施例一:

    参见图1~图14,本多核处理器系统自适应共享总线启动加速方法,其特征是:

    1、改进现有硬件设计,针对现有的多处理器芯片硬件结构,增加全局系统

       控制模块(High Level System Management Module, HSMM)、时钟复位

       控制模块(Reset and Clock Control Module, RCCM)和总线监测模块(Bus

       Monitor Module, BMM)。

2、基于上述的全局系统控制模块HSMM、时钟复位控制模块RCCM和总

   线监测模块BMM,建立了一整套全局化系统层面的自适应总线时隙锁

   定、优化和分配机制,其具体步骤为:

       2a.建立自适应共享总线启动时隙锁定和分配机制。

       2b.建立自适应共享总线启动时隙冲突预测、优化和分配机制。

       2c.建立全局系统层面化的自适应共享总线时隙锁定、优化和分配机制。

实施例二:

本实施例与实施例一基本相同,特别之处如下:

上述提及的硬件设计改进,具体方法为:

    在MV14系统中包含全局系统控制模块、时钟复位控制模块和总线监测模块。通过HSMM、RCCM和BMM这三个硬件模块的协同工作自适应分割并锁定在指令总线上的时隙,并把它们分配给各个处理器启动使用。

上述提及的建立自适应启动总线时隙锁定和分配机制,具体方法为:

    当MV14多处理器芯片上电后,如图1所示,RCCM模块输出期望默认的时钟信号分别给HSMM、BMM、IBCM、MCS以及各个处理器。待时钟信号稳定后,HSMM模块顺序依次释放每个处理器的复位信号,使其从指令总线上取指启动。确保在同一时间内,只有一个处理器占用IBCM和MCS进行启动取指,HSMM会通过BMM记录各个处理器占用IBCM和MCS从外部ROM取得指令的总线周期,即每一个周期性的读指令会占用多少个IBCM总线周期。

以MV01和MV03为例(MV02和MV04与之类似),如图4中所示, HSMM通过RCCM释放MV01的复位信号使其从总线上启动,同时HSMM通过BMM监测并记录MV01对应的IBCM总线周期,通过多次记录并比较的方法,得到MV01取指总线延迟1(Fetch Instruction Delay Cycle, FIDC)和MV01取指总线延迟2,并对比这2个数值确认一致即认为监测采集到的数据有效;然后HSMM通过RCCM重新使MV01返回默认复位状态,并开始测量MV03的FIDC。从图4中可知,MV01的FIDC是4个IBCM周期,而MV03的FIDC是8个IBCM周期。

    当HSMM使用上述算法分别取得各个处理器所需的取指总线周期延迟,就可以对其进行处理,找出基于现行的时钟频率下,在总线上最多可以含有时隙的数量,并不冲突地分配给每个处理器使用。在此过程中,根据各种不同的情况,HSMM的算法会进行对应的优化。

通常HSMM取得的最小取指总线周期延迟,即是当前时钟设置下,该系统总能容纳的时隙数量(Time Slot Amount, TSA),即TSA= FIDCmin = Min(FIDCMV01, FIDCMV02, FIDCMV03, FIDCMV04,)。MV01的取指总线周期延迟为4个IBCM时钟周期,小于其它各个处理器的FIDC值,则在该多处理器系统在当前时钟设置下所能提供的IBCM时隙总数,即TSA为4个。则该系统运行本发明可以提供至少4个处理器实现安全高速启动,如图5所示。各个处理器所需的取指总线周期如表1中所示,则HSMM会把时隙1分配给MV01,时隙2分配给MV02,时隙3分配给MV03,时隙4分配给MV04。

在硬件实现上,HSMM通过BMM得到每个处理器的FIDC,并计算得出系统的TSA后,得到如表1中所示的时隙分配方案,并把这些信息传送给RCMM。 而RCMM通过精确地计算和控制输出给每个处理器的复位信号的释放时间,使得各个处理器的启动指令和返回指令数据都能精确地嵌入到对应的IBCM时隙中,从而实现了快速安全的共享总线启动,其对应的MV14总线时序,如图6中所示,在IBCM总线上MV01占用时隙1,MV02占用时隙2,MV03占用时隙3,MV04占用时隙4。

MV01启动需要的时长为TMV01,MV02启动需要的时长为TMV02,MV03启动需要的时长为TMV03,MV04启动需要的时长为TMV04,则利用本发明的自适应共享总线启动加速系统及方法完成所有处理器安全启动的时长为Tall=Max(TMV01,TMV02,TMV03,TMV04) + IBCM总线周期× (TSA-1),和现有的启动方式相比,大大减少了整个芯片的启动时间。从Tall的计算公式可知,该方法尤其适合含有处理器数量多的芯片。运用本发明的机制和算法,HSMM和RCCM协同工作,输出给各处理器的复位信号时序,如图7所示。

上述建立全局化的自适应启动总线时隙锁定、优化和分配机制,具体方法为:

基于上述的自适应启动总线时隙锁定、优化、分配机制和总线冲突预测机制,形成了一整套全局化系统层面的自适应共享总线时隙锁定、优化和分配机制流程和硬件设计。

总线监测模块BMM,硬件结构如图10所示,其在系统中与指令总线控制模块IBCM和全局系统控制模块HSMM相连,内部有读指令捕捉模块和读指令返回数据捕捉模块,分别用于监测IBCM上的读指令命令和其对应的读指令返回数据,通过取指总线延迟计算模块得到对应处理器的取指总线延迟数并发送给HSMM处理。

时钟复位控制模块RCMM,硬件结构如图11所示,其在系统中与全局系统控制模块及各处理器相连。内部的复位信号释放延迟模块和时钟信号频率调整模块接收从全局系统控制模块发送过来的请求,优化调整对应处理器的复位信号释放时间和时钟信号频率,并控制复位信号驱动模块和时钟信号驱动模块,最终输出到各处理器,使之能精确地利用所被分配的时隙进行启动。

全局系统控制模块,内部是一个用硬件实现的算法控制状态机(FSM),在系统中和总线检测模块BMM和时钟复位控制模块RCCM相连,如图12所示,用于全局化的自适应启动总线时隙锁定、优化和分配,其内部算法控制状态机流程图如图13和图14所示。

实施例三:

    参见图1~图14,本实施例于实施例一基本相同,特别之处如下:

    如图1所示的MV14系统中的4个处理器都能够共享IBCM的资源安全快速启动,但是时隙1和时隙2的占用率为100%,而时隙3和时隙4的占用率为50%,如图8所示。这意味着,如果系统中还有更多的处理器并且其所需要的取指总线周期延迟是最小取指总线周期延迟的整数倍,则使用该方法可以提高所有时隙的占用率至100%,提供连接更多处理器的可能性,如表2所示,可以提高时隙占用率至100%。其中MV03和MV04共享时隙3,MV04和MV05共享时隙4。

实施例四:

    参见图1~图14,本实施例于实施例一基本相同,特别之处如下:

基于全局系统控制模块、时钟复位控制模块和总线监测模块,建立一整套全局化系统层面的自适应总线时隙锁定、优化和分配机制,当预测到可能的总线时隙冲突时,可以自适应地进行总线时隙的优化,再锁定和分配机制。

建立自适应启动总线时隙冲突预测、优化和分配机制,其具体方法为:

如果MV14系统内的任一处理器所需要的取指总线周期延迟不为最小取指总线周期延迟的整数倍,则意味着他们占用同一条总线进行启动会造成总线冲突,最终造成指令丢失或者长时间等待,如图9所示, MV01和MV02的取指总线周期延迟为4,而MV03和MV04需要的取指总线周期延迟为7,图9中以MV01和MV03为例,MV01使用时隙1,而MV03使用时隙3。经过若干个周期后,MV01和MV03会发生取指总线冲突。 硬件上HSMM通过BMM获取以上信息后,可以预测性地发现可能存在的总线冲突。

在这种情况下,HSMM根据取得的系统时隙数量,并把各个处理器所需要的取指总线周期延迟计算优化为系统时隙数量的整数倍,如表3中所示,从而自适应地使整个系统安全快速地启动。HSMM达到优化后的取指总线周期延迟后,对比原始的取指总线周期延迟,并换算成对应时钟频率的差值,发送给RCCM,由RCCM对对应的处理器进行时钟优化,从而优化该处理器至合适的时隙。随后再次使用上述的总线时隙锁定和分配机制确认各个处理器得到正确的时隙,再进行加速安全启动。

本发明实现了如下技术效果:充分利用现有片上的总线硬件资源,基于加入全局系统控制模块、时钟复位控制模块和总线监测模块,使得多个同构或异构的处理器能通过共享总线时隙的方式快速安全地启动,能自适应地计算、寻找、优化合适的启动方案,大大降低了多处理器芯片的启动时间,提高了用户体验,同时也极大地提高了系统可靠性。本发明可广泛应用于多处理器的系统设计中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号