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

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

Info

Publication number
CN105022718A
CN105022718A CN201510398960.2A CN201510398960A CN105022718A CN 105022718 A CN105022718 A CN 105022718A CN 201510398960 A CN201510398960 A CN 201510398960A CN 105022718 A CN105022718 A CN 105022718A
Authority
CN
China
Prior art keywords
bus
processor
control module
time slot
fetching
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.)
Granted
Application number
CN201510398960.2A
Other languages
English (en)
Other versions
CN105022718B (zh
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.)
SHANGHAI ARTOSYN MICROELECTRONIC Co.,Ltd.
Original Assignee
University of Shanghai for Science and Technology
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 University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201510398960.2A priority Critical patent/CN105022718B/zh
Publication of CN105022718A publication Critical patent/CN105022718A/zh
Application granted granted Critical
Publication of CN105022718B publication Critical patent/CN105022718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

一种多处理器系统的自适应共享总线启动加速方法
技术领域
本发明涉及一种处理器系统的自适应共享总线启动加速系统及方法,主要涉及一种同构或异构多处理器系统共享总线资源,进行自适应启动加速的系统及方法。
背景技术
同构或异构多处理系统,即多核系统被广泛应用于各种芯片设计中。在服务器领域,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启动需要的时长为T MV01 ,MV02启动需要的时长为T MV02 ,MV03启动需要的时长为T MV03 ,MV04启动需要的时长为T MV04 ,则利用IBCM完成所有处理器安全启动的时长为T all =T MV01 +T MV02 +T MV03 +T MV04 ,并随着系统中集成处理器数量的增加,其T all 随之显著增长。此外,如果这些处理器通过竞争的方式访问同一总线的话,也会大大增加总线冲突的可能性,从而造成系统的不稳定,甚至崩溃,如图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= FIDC min  = Min(FIDC MV01 , FIDC MV02 , FIDC MV03 , FIDC MV04 ,)。例如,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启动需要的时长为T MV01 ,MV02启动需要的时长为T MV02 ,MV03启动需要的时长为T MV03 ,MV04启动需要的时长为T MV04 ,则利用本发明的自适应共享总线启动加速系统及方法完成所有处理器安全启动的时长为T all =Max(T MV01 ,T MV02 ,T MV03 ,T MV04 ) + IBCM总线周期× (TSA-1),和现有的启动方式相比,大大减少了整个芯片的启动时间。从T all 的计算公式可知,该方法尤其适合含有处理器数量多的芯片。运用本发明的机制和算法,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= FIDC min  = Min(FIDC MV01 , FIDC MV02 , FIDC MV03 , FIDC MV04 ,)。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启动需要的时长为T MV01 ,MV02启动需要的时长为T MV02 ,MV03启动需要的时长为T MV03 ,MV04启动需要的时长为T MV04 ,则利用本发明的自适应共享总线启动加速系统及方法完成所有处理器安全启动的时长为T all =Max(T MV01 ,T MV02 ,T MV03 ,T MV04 ) + IBCM总线周期× (TSA-1),和现有的启动方式相比,大大减少了整个芯片的启动时间。从T all 的计算公式可知,该方法尤其适合含有处理器数量多的芯片。运用本发明的机制和算法,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对对应的处理器进行时钟优化,从而优化该处理器至合适的时隙。随后再次使用上述的总线时隙锁定和分配机制确认各个处理器得到正确的时隙,再进行加速安全启动。
本发明实现了如下技术效果:充分利用现有片上的总线硬件资源,基于加入全局系统控制模块、时钟复位控制模块和总线监测模块,使得多个同构或异构的处理器能通过共享总线时隙的方式快速安全地启动,能自适应地计算、寻找、优化合适的启动方案,大大降低了多处理器芯片的启动时间,提高了用户体验,同时也极大地提高了系统可靠性。本发明可广泛应用于多处理器的系统设计中。

Claims (5)

1.一种多核处理器系统的自适应共享总线启动加速方法,其特征是:
    1)、改进现有硬件设计,针对现有的多处理器芯片硬件结构,增加全局系统
       控制模块HSMM、时钟复位控制模块RCCM和总线监测模块BMM;
2)、基于所述的全局系统控制模块HSMM、时钟复位控制模块RCCM和总
   线监测模块BMM,建立一整套全局化系统层面的自适应总线时隙锁
   定、优化和分配机制,其具体步骤为:
       2a.建立自适应共享总线启动时隙锁定和分配机制,
       2b.建立自适应共享总线启动时隙冲突预测、优化和分配机制,
       2c.建立全局系统层面化的自适应共享总线时隙锁定、优化和分配机制。
2.根据权利要求1所述的多核处理器系统的自适应共享总线启动加速方法,其特征在于所述步骤1)的改进现有硬件设计的方法为:
MV14是一款多处理器芯片,其有4个处理器—MV01, MV02, MV03, MV04,连接在同一条总线上,构成异构处理器系统,其中两两互为同构处理器:MV01和MV02为同构,MV03和MV04为同构;该系统的总线系统由指令总线控制模块IBCM和数据总线控制模块DBCM组成,通过IBCM,系统中的多个处理器可以访问片上的存储器管理模块MCS,并最终从外部的ROM来读取指令;
    在现有的MV14系统中加入全局系统控制模块HSMM、时钟复位控制模块RCCM和总线监测模块BMM,通过HSMM、RCCM和BMM这三个硬件模块的协同工作自适应地锁定、优化、分配所有指令总线上的时隙,并把它们分配给各个处理器启动时使用;
总线监测模块BMM,其在系统中与指令总线控制模块IBCM和全局系统控制模块HSMM相连,内部有读指令捕捉模块和读指令返回数据捕捉模块,分别用于监测IBCM上的读指令命令和其对应的读指令返回数据,通过取指总线延迟计算模块得到对应处理器的取指总线延迟数并发送给HSMM处理;
时钟复位控制模块RCMM在系统中与全局系统控制模块及各处理器相连。
3.内部的复位信号释放延迟模块和时钟信号频率调整模块接收从全局系统控制模块发送过来的请求,优化调整对应处理器的复位信号释放时间和时钟信号频率,并控制复位信号驱动模块和时钟信号驱动模块,最终输出到各处理器,使之能精确地利用所被分配的时隙进行启动;
全局系统控制模块HSMM内部是一个用硬件实现的算法控制状态机FSM,在系统中和总线检测模块BMM和时钟复位控制模块RCCM相连,用于全局化的自适应启动总线时隙锁定、优化和分配。
4.根据权利要求1所述的多核处理器系统的自适应共享总线启动加速方法,其特征在于所述步骤2a)的建立自适应共享总线启动时隙锁定和分配机制的方法:
    当MV14多处理器芯片上电后,RCCM模块输出期望默认的时钟信号分别给HSMM、BMM、IBCM、MCS以及各个处理器;待时钟信号稳定后,HSMM模块顺序依次释放每个处理器的复位信号,使其从指令总线上取指启动;确保在同一时间内,只有一个处理器占用IBCM和MCS进行启动取指,HSMM会通过BMM记录各个处理器占用IBCM和MCS从外部ROM取得指令的总线周期,即每一个周期性的读指令会占用多少个IBCM总线周期;
以MV01和MV03为例,MV02和MV04与之类似,HSMM通过RCCM释放MV01的复位信号使其从总线上启动,同时HSMM通过BMM监测并记录MV01对应的IBCM总线周期,通过多次记录并比较的方法,得到MV01取指总线延迟1和MV01取指总线延迟2,并对比这2个数值确认一致即认为监测采集到的数据有效;然后HSMM通过RCCM重新使MV01返回默认复位状态,并开始测量MV03的FIDC,MV01的FIDC是4个IBCM周期,而MV03的FIDC是8个IBCM周期;
    当HSMM使用上述算法分别取得各个处理器所需的取指总线周期延迟,就可以对其进行处理,找出基于现行的时钟频率下,在总线上最多可以含有时隙的数量,并不冲突地分配给每个处理器使用;在此过程中,根据各种不同的情况,HSMM的算法会进行对应的优化;
HSMM取得的最小取指总线周期延迟,即是当前时钟设置下,该系统总能容纳的时隙数量TSA,即TSA= FIDC min = Min(FIDC MV01 , FIDC MV02 , FIDC MV03 , FIDC MV04 ,;MV01的取指总线周期延迟为4个IBCM时钟周期,小于其它各个处理器的FIDC值,则在该多处理器系统在当前时钟设置下所能提供的IBCM时隙总数,即TSA为4个;则该系统运行本发明可以提供至少4个处理器实现安全高速启动;各个处理器所需的取指总线周期如表1中所示,则HSMM会把时隙1分配给MV01,时隙2分配给MV02,时隙3分配给MV03,时隙4分配给MV04;
在硬件实现上,HSMM通过BMM得到每个处理器的FIDC,并计算得出系统的TSA后,得到如表1中所示的时隙分配方案,并把这些信息传送给RCMM。
5. 而RCMM通过精确地计算和控制输出给每个处理器的复位信号的释放时间,使得各个处理器的启动指令和返回指令数据都能精确地嵌入到对应的IBCM时隙中,从而实现了快速安全的共享总线启动;在IBCM总线上MV01占用时隙1,MV02占用时隙2,MV03占用时隙3,MV04占用时隙4;
MV01启动需要的时长为T MV01 ,MV02启动需要的时长为T MV02 ,MV03启动需要的时长为T MV03 ,MV04启动需要的时长为T MV04 ,则利用本发明的自适应共享总线启动加速方法完成所有处理器安全启动的时长为T all =Max(T MV01 ,T MV02 ,T MV03 ,T MV04 ) + IBCM总线周期× (TSA-1),和现有的启动方式相比,大大减少了整个芯片的启动时间;从T all 的计算公式可知,该方法尤其适合含有处理器数量多的芯片;运用本机制和算法,HSMM和RCCM协同工作,控制输出给各处理器的复位信号;
MV14系统中的4个处理器都能够共享IBCM的资源安全快速启动,但是时隙1和时隙2的占用率为100%,而时隙3和时隙4的占用率为50%,这意味着,如果系统中还有更多的处理器并且其所需要的取指总线周期延迟是最小取指总线周期延迟的整数倍,则使用该方法可以提高所有时隙的占用率至100%,提供连接更多处理器的可能性,如表2中所示,可以提高时隙占用率至100%,其中MV03和MV04共享时隙3,MV04和MV05共享时隙4,
根据权利要求1所述的多核处理器系统的自适应共享总线启动加速方法,其特征在于所述步骤2b)的建立自适应共享总线启动时隙冲突预测、优化和分配机制的方法:
基于全局系统控制模块HSMM、时钟复位控制模块RCCM和总线监测模块BMM,建立一整套全局化系统层面的自适应总线时隙锁定、优化和分配机制,当预测到可能的总线时隙冲突时,可以自适应地进行总线时隙的优化,再锁定和分配机制;
如果MV14多处理器系统内的任一处理器所需要的取指总线周期延迟不为最小取指总线周期延迟的整数倍,则意味着他们占用同一条总线进行启动会造成总线冲突,最终造成指令丢失或者长时间等待;MV01和MV02的取指总线周期延迟为4,而MV03和MV04需要的取指总线周期延迟为7,若MV01使用时隙1,而MV03使用时隙3,则经过若干个周期后,MV01和MV03会发生取指总线冲突,硬件上HSMM通过BMM获取以上信息后,可以预测性地发现可能存在的总线冲突;
在这种情况下,HSMM根据取得的系统时隙数量,并把各个处理器所需要的取指总线周期延迟计算优化为系统时隙数量的整数倍,如表3中所示,从而自适应地使整个系统安全快速地启动;HSMM达到优化后的取指总线周期延迟后,对比原始的取指总线周期延迟,并换算成对应时钟频率的差值,发送给RCCM,由RCCM对对应的处理器进行时钟优化,从而优化该处理器至合适的时隙;随后再次使用上述的总线时隙锁定和分配机制确认各个处理器得到正确的时隙,再进行加速安全启动,
根据权利要求1所述的多核处理器系统的自适应共享总线启动加速系统及方法,其特征在于所述步骤2c)的建立全局系统层面化的自适应共享总线时隙锁定、优化和分配机制的方法:
全局系统控制模块,内部是一个用硬件实现的算法控制状态机FSM,在系统中和总线检测模块BMM和时钟复位控制模块RCCM相连,用于全局化的自适应启动总线时隙锁定、优化和分配;
全局系统控制模块内部硬件算法控制状态机步骤如下:
    a). 系统上电,时钟复位控制模块输出默认时钟信号给各模块,
b). 全局系统控制模块协同总线监测模块和时钟复位控制模块取得各处理器
   的总线周期延迟数,
c). 全局系统控制模块通过计算得到最小取指总线延迟周期,即总线能容纳
   的时隙数量,
    d). 全局系统控制模块预测是否会发生总线冲突?
       如果预测不会发生冲突,则跳转到步骤h);如果预测会发生冲突,则跳
       转到步骤e),
e). 全局系统控制模块将各处理器的总线周期延迟优化为最小取指总线周期
   延迟的整数倍,
f). 全局系统控制模块取得原始和优化后的取指总线周期延迟差值,并换算
   为对应处理器的时钟频率差值,
g). 全局系统控制模块协同时钟复位控制模块调整对应处理器的时钟频率,
   并跳转回步骤b),
    h). 全局系统控制模块锁定分配给每个处理器的取指总线时隙,
i). 全局系统控制模块协同时钟复位模块通过精确控制当前时钟频率下输出
  各个处理器的复位信号的释放时间点,使各处理器得到对应的时隙,
    j). 各处理器利用自适应共享总线启动加速方法成功启动;
全局系统控制模块协同总线监测模块和时钟复位控制模块取得各处理器的总线周期延迟数的硬控制状态机步骤如下:
a). 全局系统控制模块协同时钟复位控制模块只释放处理器01复位信号使其
   独享指令总线启动,
b). 全局系统控制模块协同总线监测模块记录第一次处理器01的取指总线周
   期延迟,
c). 全局系统控制模块协同总线监测模块记录第二次处理器01的取指总线周
   期延迟,
d). 判断处理器01的第一次取指总线周期延迟是否等于第二次取指总线周期
   延迟?
   如果判断为不相等,则跳转回步骤b),重新取得处理器01的取值总线周
   期延迟;如果判断为相等,则继续执行步骤e),
e). 全局系统控制模块成功取得处理器01的总线周期延迟数,
f). 全局系统控制模块协同时钟复位控制模块使处理器01恢复到复位状态;
    对系统中的各个处理器重复a)~f)的步骤,从而取得各个处理器的总线周期延迟数。
CN201510398960.2A 2015-07-08 2015-07-08 一种多处理器系统的自适应共享总线启动加速方法 Active CN105022718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510398960.2A CN105022718B (zh) 2015-07-08 2015-07-08 一种多处理器系统的自适应共享总线启动加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510398960.2A CN105022718B (zh) 2015-07-08 2015-07-08 一种多处理器系统的自适应共享总线启动加速方法

Publications (2)

Publication Number Publication Date
CN105022718A true CN105022718A (zh) 2015-11-04
CN105022718B CN105022718B (zh) 2018-07-13

Family

ID=54412703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510398960.2A Active CN105022718B (zh) 2015-07-08 2015-07-08 一种多处理器系统的自适应共享总线启动加速方法

Country Status (1)

Country Link
CN (1) CN105022718B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984468A (zh) * 2017-06-01 2018-12-11 瑞昱半导体股份有限公司 单芯片系统与具有其的集成电路装置
CN111324569A (zh) * 2020-02-24 2020-06-23 宁波拓邦智能控制有限公司 一种多机通信同步系统、多机通信同步方法及电器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4349871A (en) * 1980-01-28 1982-09-14 Digital Equipment Corporation Duplicate tag store for cached multiprocessor system
CN1784325A (zh) * 2003-05-06 2006-06-07 皇家飞利浦电子股份有限公司 在tdma总线中不同周期之上的时隙共享
CN103729333A (zh) * 2014-01-20 2014-04-16 烽火通信科技股份有限公司 多路时隙共享的背板总线结构及其实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4349871A (en) * 1980-01-28 1982-09-14 Digital Equipment Corporation Duplicate tag store for cached multiprocessor system
CN1784325A (zh) * 2003-05-06 2006-06-07 皇家飞利浦电子股份有限公司 在tdma总线中不同周期之上的时隙共享
CN103729333A (zh) * 2014-01-20 2014-04-16 烽火通信科技股份有限公司 多路时隙共享的背板总线结构及其实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐懿等: "一款基于多处理器片上系统的动态自适应仲裁器", 《计算机研究与发展》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984468A (zh) * 2017-06-01 2018-12-11 瑞昱半导体股份有限公司 单芯片系统与具有其的集成电路装置
CN108984468B (zh) * 2017-06-01 2022-01-11 瑞昱半导体股份有限公司 单芯片系统与具有其的集成电路装置
CN111324569A (zh) * 2020-02-24 2020-06-23 宁波拓邦智能控制有限公司 一种多机通信同步系统、多机通信同步方法及电器

Also Published As

Publication number Publication date
CN105022718B (zh) 2018-07-13

Similar Documents

Publication Publication Date Title
CN111427681B (zh) 边缘计算中基于资源监控的实时任务匹配调度系统和方法
CN104991830B (zh) 基于服务等级协议的yarn资源分配和节能调度方法及系统
de Souza Carvalho et al. Dynamic task mapping for MPSoCs
CN107947164B (zh) 考虑多重不确定性及相关性的电力系统日前鲁棒调度方法
CN107977744B (zh) 一种基于传统Benders分解法的电力系统日前鲁棒调度方法
CN106537348A (zh) 用于数据处理系统的功率感知作业调度器和管理器
CN103605567A (zh) 面向实时性需求变化的云计算任务调度方法
US20190080233A1 (en) Synchronization scheduler of distributed neural network training
CN111079921A (zh) 一种基于异构分布式系统的高效神经网络训练调度方法
CN108961017B (zh) 一种区块链共识机制和基于该共识机制的区块链系统
CN110990154B (zh) 一种大数据应用优化方法、装置及存储介质
CN103262001A (zh) 具有自适应高速缓存清除的计算平台
WO2013048943A1 (en) Active state power management (aspm) to reduce power consumption by pci express components
CN105022718A (zh) 一种多处理器系统的自适应共享总线启动加速方法
CN106063304A (zh) 用于基于消息的细粒度片上系统功率门控的系统和方法
CN103995749B (zh) 小区云系统的计算任务分配方法和系统
CN109729013A (zh) 一种流量整形中添加令牌的方法、装置及计算机可读存储介质
KR20150130360A (ko) 네트워크 디바이스들에서의 유연한 전송 및 백-오프 간격들
CN105022333A (zh) 具有多个cpu模块的plc系统及其控制方法
Mirosanlou et al. Duetto: Latency guarantees at minimal performance cost
US20220147097A1 (en) Synchronization signal generating circuit, chip and synchronization method and device, based on multi-core architecture
CN101661406A (zh) 处理单元调度装置和方法
US8489752B2 (en) Method and system for controlling bus access
CN113556242B (zh) 一种基于多处理节点来进行节点间通信的方法和设备
CN113157390A (zh) 一种电力终端中针对电力应用的容器资源管理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20201117

Address after: Room 208, 234 Songhu Road, Yangpu District, Shanghai, 200082

Patentee after: SHANGHAI ARTOSYN MICROELECTRONIC Co.,Ltd.

Address before: 200444, Shanghai, Baoshan District, Shanghai Baoshan District on the road No. 99

Patentee before: Shanghai University

TR01 Transfer of patent right
CP02 Change in the address of a patent holder

Address after: Room 501, No.308 Songhu Road, Yangpu District, Shanghai 200082

Patentee after: SHANGHAI ARTOSYN MICROELECTRONIC Co.,Ltd.

Address before: Room 208, 234 Songhu Road, Yangpu District, Shanghai, 200082

Patentee before: SHANGHAI ARTOSYN MICROELECTRONIC Co.,Ltd.

CP02 Change in the address of a patent holder