首页 / 专利库 / 资料储存系统 / 高速缓冲存储器 / 多晶粒的多核计算机平台及其开机方法

多晶粒的多核计算机平台及其开机方法

阅读:425发布:2020-05-08

专利汇可以提供多晶粒的多核计算机平台及其开机方法专利检索,专利查询,专利分析的服务。并且多晶粒共享一储存器储存 固件 码的一多晶粒多核计算机平台。一从属晶粒经一总线自该储存器载下一编号1固件码后,释出该总线的使用权,并输出一编号0致能 信号 至一主晶粒,由该主晶粒获得该总线的使用权。经该总线,该主晶粒自该储存器载下该编号0固件码。该从属晶粒执行该编号1固件码并且该主晶粒执行该编号0固件码,以初始化彼此之间的一连结。,下面是多晶粒的多核计算机平台及其开机方法专利的具体信息内容。

1.一种多晶粒多核计算机平台,包括:
第一储存器,储存编号0固件码以及编号1固件码;
主晶粒,经第一总线耦接该第一储存器;以及
第一从属晶粒,经该第一总线耦接该第一储存器,并且经由连结耦接该主晶粒,其中:
该第一从属晶粒经该第一总线自该第一储存器载下该编号1固件码后,释出该第一总线的使用权,并输出编号0致能信号至该主晶粒,由该主晶粒获得该第一总线的使用权;
经该第一总线,该主晶粒自该第一储存器载下该编号0固件码;且
该第一从属晶粒执行该编号1固件码并且该主晶粒执行该编号0固件码以初始化该连结。
2.如权利要求1所述的多晶粒多核计算机平台,其中:
该主晶粒更包括编号0处理单元以及编号0芯片组,该第一从属晶粒更包括编号1处理单元以及编号1芯片组,该编号0处理单元为启动绑处理器,该编号1处理单元为应用处理器。
3.如权利要求2所述的多晶粒多核计算机平台,其中:
该编号1芯片组及该编号0芯片组分别获得该第一总线的使用权后分别自该第一储存器载下该编号1固件码及该编号0固件码,以分别供该编号1处理单元及该编号0处理单元执行,其中该编号1处理单元对该编号1固件码的执行,不受限于该编号1芯片组是否拥有该第一总线的使用权。
4.如权利要求1所述的多晶粒多核计算机平台,其中:
该第一从属晶粒更包括编号1总线控制器,操作该第一从属晶粒耦接该第一总线的一脚位为高阻抗,使该第一总线的使用权释出。
5.如权利要求1所述的多晶粒多核计算机平台,其中:
该第一从属晶粒更包括高速缓冲存储器:且
该第一从属晶粒将该编号1固件码高速缓存于该高速缓冲存储器,使该第一从属晶粒对该编号1固件码的执行,不受限于该第一从属晶粒是否拥有该第一总线的使用权。
6.如权利要求1所述的多晶粒多核计算机平台,其中:
该主晶粒更包括编号0芯片组,该编号0芯片组是在接收到该编号0致能信号后方启动。
7.如权利要求1所述的多晶粒多核计算机平台,其中:
该主晶粒更包括编号0芯片组,该编号0芯片组包括编号0总线控制器以及编号0寄存器;
已启动的该编号0总线控制器是根据该编号0寄存器的设定而获得该第一总线的使用权;且
该编号0寄存器是随该编号0致能信号设定。
8.如权利要求1所述的多晶粒多核计算机平台,更包括:
第二从属晶粒,经该第一总线耦接该第一储存器;以及
第三从属晶粒,经该第一总线耦接该第一储存器,
其中:
该第一储存器更储存编号2固件码以及编号3固件码;
该第三从属晶粒经该第一总线自该第一储存器载下该编号3固件码后,释出该第一总线的使用权,并输出编号2致能信号至该第二从属晶粒,由该第二从属晶粒获得该第一总线的使用权;
该第二从属晶粒经该第一总线自该第一储存器载下该编号2固件码后,释出该第一总线的使用权,并输出编号1致能信号至该第一从属晶粒,由该第一从属晶粒获得该第一总线的使用权。
9.如权利要求8所述的多晶粒多核计算机平台,其中:
该第三从属晶粒执行该编号3固件码、该第二从属晶粒执行该编号2固件码、该第一从属晶粒执行该编号1固件码、且该主晶粒执行该编号0固件码,以初始化该第三从属晶粒、该第二从属晶粒、该第一从属晶粒以及该主晶粒两两之间的连结;且
所述连结初始化完成后,该主晶粒更执行该编号0固件码主导该多晶粒多核计算机平台的初始化,并加载操作系统
10.如权利要求8所述的多晶粒多核计算机平台,其中:
该第三从属晶粒更包括编号3芯片组;
该第二从属晶粒更包括编号2芯片组,该编号2芯片组是在接收到该编号2致能信号后方启动;
该第一从属晶粒更包括编号1芯片组,该编号1芯片组是在接收到该编号1致能信号后方启动;且
该主晶粒更包括编号0芯片组,该编号0芯片组是在接收到该编号0致能信号后方启动。
11.如权利要求10所述的多晶粒多核计算机平台,其中:
该编号0芯片组包括编号0逻辑与以及编号0总线控制器;
该编号1芯片组包括编号1逻辑与门以及编号1总线控制器;
该编号2芯片组包括编号2逻辑与门以及编号2总线控制器;
该编号3芯片组包括编号3逻辑与门以及编号3总线控制器;
该编号3逻辑与门接收该主晶粒的主重置信号以及该第三从属晶粒的第三原始重置信号,以输出该编号3芯片组的编号3重置信号,启动该编号3总线控制器,经该第一总线自该第一储存器载下该编号3固件码;
该编号2逻辑与门接收该主晶粒的该主重置信号、该第二从属晶粒的第二原始重置信号、以及该编号2致能信号,以输出该编号2芯片组的编号2重置信号,启动该编号2总线控制器,经该第一总线自该第一储存器载下该编号2固件码;
该编号1逻辑与门接收该主晶粒的该主重置信号、该第一从属晶粒的第一原始重置信号、以及该编号1致能信号,以输出该编号1芯片组的编号1重置信号,启动该编号1总线控制器,经该第一总线自该第一储存器载下该编号1固件码;且
该编号0逻辑与门接收该主晶粒的该主重置信号以及该编号0致能信号,以输出该编号
0芯片组的编号0重置信号,启动该编号0总线控制器,经该第一总线自该第一储存器载下该编号0固件码。
12.如权利要求8所述的多晶粒多核计算机平台,其中:
该主晶粒更包括编号0芯片组,该编号0芯片组包括编号0总线控制器以及编号0寄存器;
该第一从属晶粒更包括编号1芯片组,该编号1芯片组包括编号1总线控制器以及编号1寄存器;
该第二从属晶粒更包括编号2芯片组,该编号2芯片组包括编号2总线控制器以及编号2寄存器;
该第三从属晶粒更包括编号3芯片组,该编号3芯片组包括编号3总线控制器以及编号3寄存器;
已启动的该编号3总线控制器芯片组是根据该编号3寄存器的设定而获得该第一总线的使用权;
该编号3寄存器是随输入该第三从属晶粒的电源信号设定;
已启动的该编号2总线控制器芯片组是根据该编号2寄存器的设定而获得该第一总线的使用权;
该编号2寄存器是随该编号2致能信号设定;
已启动的该编号1总线控制器芯片组是根据该编号1寄存器的设定而获得该第一总线的使用权;
该编号1寄存器是随该编号1致能信号设定;
已启动的该编号0总线控制器芯片组是根据该编号0寄存器的设定而获得该第一总线的使用权;且
该编号0寄存器是随该编号0致能信号设定。
13.如权利要求12所述的多晶粒多核计算机平台,其中:
该编号1芯片组更包括编号1逻辑与门;
该编号2芯片组更包括编号2逻辑与门;
该编号3芯片组更包括编号3逻辑与门;
该编号3逻辑与门接收该主晶粒的主重置信号以及该第三从属晶粒的第三原始重置信号,以输出该编号3芯片组的编号3重置信号,启动该编号3总线控制器;
该编号2逻辑与门接收该主晶粒的该主重置信号以及该第二从属晶粒的第二原始重置信号,以输出该编号2芯片组的编号2重置信号,启动该编号2总线控制器;
该编号1逻辑与门接收该主晶粒的该主重置信号以及该第一从属晶粒的第一原始重置信号,以输出该编号1芯片组的编号1重置信号,启动该编号1总线控制器;
该主晶粒的该主重置信号作为该编号0芯片组的编号0重置信号,启动该编号0总线控制器;
该多晶粒多核计算机平台的电源键操作反应于该主晶粒的上述主重置信号、该第一从属晶粒的上述第一原始重置信号、该第二从属晶粒的上述第二原始重置信号以及该第三从属晶粒的上述第三原始重置信号;且
该多晶粒多核计算机平台的操作系统重置反应于该主晶粒的该主重置信号。
14.如权利要求8所述的多晶粒多核计算机平台,
包括:
第一板卡,具有该主晶粒、该第一从属晶粒、该第二从属晶粒以及该第三从属晶粒;以及
第二板卡,具有第四从属晶粒、第五从属晶粒、第六从属晶粒以及第七从属晶粒,经该第一总线耦接该第一储存器;
其中:
该第一储存器更储存编号4固件码、编号5固件码、编号6固件码以及编号7固件码;
该第七从属晶粒经该第一总线自该第一储存器载下该编号7固件码后,释出该第一总线的使用权,并输出编号6致能信号至该第六从属晶粒,由该第六从属晶粒获得该第一总线的使用权;
该第六从属晶粒经该第一总线自该第一储存器载下该编号6固件码后,释出该第一总线的使用权,并输出编号5致能信号至该第五从属晶粒,由该第五从属晶粒获得该第一总线的使用权;
该第五从属晶粒经该第一总线自该第一储存器载下该编号5固件码后,释出该第一总线的使用权,并输出编号4致能信号至该第四从属晶粒,由该第四从属晶粒获得该第一总线的使用权;且
该第四从属晶粒经该第一总线自该第一储存器载下该编号4固件码后,释出该第一总线的使用权,并输出编号3致能信号至该第三从属晶粒,由该第三从属晶粒获得该第一总线的使用权。
15.如权利要求8所述的多晶粒多核计算机平台,
包括:
第二储存器,储存编号4固件码、编号5固件码、编号6固件码以及编号7固件码;
第一板卡,具有该主晶粒、该第一从属晶粒、该第二从属晶粒以及该第三从属晶粒;以及
第二板卡,具有第四从属晶粒、第五从属晶粒、第六从属晶粒以及第七从属晶粒,经第二总线耦接该第二储存器;
其中:
该第七从属晶粒、该第六从属晶粒、该第五从属晶粒、以及该第四从属晶粒循序经该第二总线访问该第二储存器,分别载下该编号7固件码、该编号6固件码、该编号5固件码以及该编号4固件码;
该第七从属晶粒执行该编号7固件码、该第六从属晶粒执行该编号6固件码、该第五从属晶粒执行该编号5固件码、且该第四从属晶粒执行该编号4固件码,以初始化该第七从属晶粒、该第六从属晶粒、该第五从属晶粒以及该第四从属晶粒两两之间的连结;且该第四从属晶粒更执行该编号4固件码主导该第二板卡的初始化,待该主晶粒执行该编号0固件码要求协商,初始化该第一板卡以及该第二板卡之间的连结。
16.一种多晶粒多核计算机平台开机方法,其中该多晶粒多核计算机平台包括主晶粒及从属晶粒,该主晶粒与该从属晶粒经由连结耦接,其中该开机方法包括:
令该从属晶粒经总线自储存器载下编号1固件码;且
载下该编号1固件码后,令该从属晶粒释出该总线的使用权,并输出编号0致能信号至该主晶粒,由该主晶粒获得该总线的使用权,
其中:
经该总线,该主晶粒自该储存器载下编号0固件码;且
该从属晶粒执行该编号1固件码并且该主晶粒执行该编号0固件码以初始化该连结。
17.如权利要求16所述的多晶粒多核计算机平台开机方法,其中:
该主晶粒更包括编号0处理单元以及编号0芯片组,该从属晶粒更包括编号1处理单元以及编号1芯片组,该编号1芯片组及该编号0芯片组分别获得该总线的使用权后分别自该储存器载下该编号1固件码及该编号0固件码,以分别供该编号1处理单元及该编号0处理单元执行,其中该编号1处理单元对该编号1固件码的执行,不受限于该编号1芯片组是否拥有该总线的使用权。
18.如权利要求16所述的多晶粒多核计算机平台开机方法,包括:
操作该从属晶粒耦接该总线的一脚位为高阻抗,使该总线的使用权释出。
19.如权利要求16所述的多晶粒多核计算机平台开机方法,其中:
该主晶粒更包括编号0芯片组,该编号0芯片组在接收到该编号0致能信号后方启动。
20.如权利要求16所述的多晶粒多核计算机平台开机方法,其中:
该主晶粒更包括编号0芯片组,该编号0芯片组包括编号0总线控制器以及编号0寄存器;
已启动的该编号0总线控制器是根据该编号0寄存器的设定而获得该总线的使用权;且该编号0寄存器是随该编号0致能信号设定。

说明书全文

多晶粒的多核计算机平台及其开机方法

技术领域

[0001] 本发明涉及多晶粒实现的多核计算机平台。

背景技术

[0002] 计算机平台(computing platform)可能包括多个晶粒(dies)。各晶粒可能提供一个甚至多个运算核心(cores)。一主晶粒(master die)主导多晶粒计算机平台开机时,不同晶粒之间的连结(link)必须已初始化完毕。如何有效率地建立晶粒之间的连结,为本技术领域一项重要课题。

发明内容

[0003] 本申请使各晶粒对应一段固件码,储存在同一个储存器上,实现多晶粒共享该储存器储存固件码,相较于以各晶粒专属的储存器分开储存不同晶粒的固件码的先前技术,大幅降低固件码储存成本,也降低了布线复杂度。该等晶粒轮番访问该储存器,取得固件码并且执行之。从属晶粒先于主晶粒载下固件码执行,为初始化晶粒间的连结做准备。主晶粒收回该储存器访问权后亦载下自身对应之固件码,主晶粒和从晶粒各自执行对应之固件码以初始化晶粒之间的连结,此外,主晶粒执行对应之固件码更主导后续开机程序,并加载操作系统。特别是,从属晶粒载下固件码,无须执行完成就可以通知下一级晶粒存取储存器,以缩短开机时间,使得开机程序优化。
[0004] 根据本发明一种实施方式实现的一多晶粒多核计算机平台,包括:一第一储存器;一主晶粒;及一第一从属晶粒。该第一储存器储存编号0固件码以及编号1固件码。该主晶粒经一第一总线耦接该第一储存器。该第一从属晶粒经该第一总线耦接该第一储存器,并且经由一连结耦接该主晶粒。该第一从属晶粒经该第一总线自该第一储存器载下该编号1固件码后,释出该第一总线的使用权,并输出一编号0致能信号至该主晶粒,由该主晶粒获得该第一总线的使用权。经该第一总线,该主晶粒自该第一储存器载下该编号0固件码。该第一从属晶粒执行该编号1固件码并且该主晶粒执行该编号0固件码以初始化该连结。
[0005] 一种实施方式中,该主晶粒更包括编号0处理单元以及编号0芯片组,该第一从属晶粒更包括编号1处理单元以及编号1芯片组,该编号0处理单元为一启动绑处理器,该编号1处理单元为一应用处理器。该编号1芯片组及该编号0芯片组分别获得该第一总线的使用权后分别自该第一储存器载下该编号1固件码及该编号0固件码,以分别供该编号1处理单元及该编号0处理单元执行,其中该编号1处理单元对该编号1固件码的执行,不受限于该编号1芯片组是否拥有该第一总线的使用权。
[0006] 一种实施方式中,该第一从属晶粒更包括编号1总线控制器,操作该第一从属晶粒耦接该第一总线的一脚位为高阻抗,使该第一总线的使用权释出。
[0007] 一种实施方式中,该第一从属晶粒更包括高速缓冲存储器。该第一从属晶粒系将该编号1固件码高速缓存于该高速缓冲存储器,使该第一从属晶粒对该编号1固件码的执行,不受限于该第一从属晶粒是否拥有该第一总线的使用权。权。
[0008] 一种实施方式中,该主晶粒的该编号0芯片组是在接收到该编号0致能信号后方启动。编号0芯片组是在编号1芯片组释出总线使用权后才启动,不干扰编号1固件码之存取。
[0009] 另一种实施方式中,该主晶粒的该编号0芯片组包括编号0总线控制器以及编号0寄存器。已启动的该编号0总线控制器是根据该编号0寄存器的设定而获得该第一总线的使用权。该编号0寄存器是随该编号0致能信号设定。
[0010] 一种实施方式中,该第一储存器对应一第一板卡,另外有一第二储存器对应一第二板卡。第二板卡上同样也具有多个晶粒。两个板卡各自进行初步开机程序后,第一板卡上的主晶粒将会确认两个板卡之间的连结,主导后续开机程序,并加载操作系统。
[0011] 根据本发明一种实施方式实现的一种多晶粒多核计算机平台开机方法,其中该多晶粒多核计算机平台包括主晶粒及一从属晶粒,该主晶粒与该从属晶粒经由一连结耦接,其中该开机方法包括:令该从属晶粒经一总线自一储存器载下一编号1固件码;且载下该编号1固件码后,令该从属晶粒释出该总线的使用权,并输出一编号0致能信号至该主晶粒,由该主晶粒获得该总线的使用权。经该总线,该主晶粒自该储存器载下一编号0固件码。该从属晶粒执行该编号1固件码并且该主晶粒执行该编号0固件码以初始化该连结。
[0012] 下文列举实施例,并配合所附图示,详细说明本发明内容。

附图说明

[0013] 图1图解根据本发明一种实施方式实现的一多晶粒多核计算机平台(multi-die and multi-core computing platform)100;
[0014] 图2以流程图举例说明图1架构运行概念;
[0015] 图3根据本发明一种实施方式图解一多晶粒多核计算机平台300,以芯片组Chipset#3~Chipset#0错开重置(或理解为启动)的方式,使总线104使用权轮番交予晶粒Die#3~Die#0;
[0016] 图4根据本发明另一种实施方式图解一多晶粒多核计算机平台400;
[0017] 图5为时序图,说明图4多晶粒多核计算机平台400的开机程序;
[0018] 图6图解一板卡(socket)600。各晶粒上可能包括多运算核心;
[0019] 图7图解两个板卡Socket#0以及Socket#1实现一多晶粒多核计算机平台700;
[0020] 图8A根据本发明一种实施方式图解储存器102的一种空间规划,以固定方式使用储存器102空间;且
[0021] 图8B根据本发明另一种实施方式图解储存器102的一种空间规划。
[0022] 附图标记列表
[0023] 100~多晶粒多核计算机平台
[0024] 102~储存器
[0025] 104~总线
[0026] 300、400~多晶粒多核计算机平台
[0027] 600~板卡
[0028] 700~多晶粒多核计算机平台
[0029] 802~数据结构
[0030] AND#3…AND#0~逻辑与
[0031] BusCon#3…BusCon#0~总线控制器
[0032] BD#3、BD#2~晶粒脚位
[0033] BE#3、BE#2~晶粒脚位
[0034] CDC~运算核心间连结界面
[0035] Chipset#3…Chipset#0~芯片组
[0036] Processor#3…Processor#0~处理单元
[0037] D#3RST…D#0RST~晶粒Die#3…Die#0的重置信号
[0038] Die#0~(主)晶粒
[0039] Die#3…Die#1~(从属)晶粒
[0040] En2…En0~致能信号
[0041] FW#3…FW#0~固件码
[0042] Node0…Node7~运算核心
[0043] OE#3…OE#0~寄存器
[0044] OPI~晶粒间连结界面
[0045] PCIE~高速序列计算机总线
[0046] RST#3…RST#0~芯片组Chipset#3…Chipset#0的重置信号
[0047] S202…S214~步骤
[0048] Socket#1、Socket#0~板卡
[0049] T0…T5~时间点(区间)
[0050] VDD~电源
[0051] ZPI~板卡通信界面

具体实施方式

[0052] 以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围界定之。
[0053] 图1图解根据本发明一种实施方式实现的一多晶粒多核计算机平台(multi-die and multi-core computing platform)100,其中包括四个晶粒Die#3、Die#2、Die#1以及Die#0。各晶粒提供至少一核心。例如:晶粒Die#3提供处理单元Processor#3以及芯片组Chipset#3;晶粒Die#2提供处理单元Processor#2以及芯片组Chipset#2;晶粒Die#1提供处理单元Processor#1以及芯片组Chipset#1;晶粒Die#0提供处理单元Processor#0以及芯片组Chipset#0。晶粒Die#3~Die#0分别对应固件码FW#3~FW#0。特别是,本申请将固件码FW#3~FW#0储存在同一储存器102。相较于以各晶粒专属的储存器分开储存不同晶粒的固件码,本发明大幅降低固件码储存成本,也降低了布线复杂度。
[0054] 如图所示,存取储存器102的总线104耦接所有晶粒Die#3~Die#0。晶粒Die#3~Die#0系轮番使用总线104自储存器102取得固件码FW#3~FW#0。芯片组Chipset#3经总线104自储存器102取得固件码FW#3后,即释出总线104使用权,并输出致能信号En2至晶粒Die#2,由芯片组Chipset#2获得总线104使用权。芯片组Chipset#2经总线104自储存器102取得固件码FW#2后,即释出总线104使用权,并输出致能信号En1至晶粒Die#1,由芯片组Chipset#1获得总线104使用权。芯片组Chipset#1经总线104自储存器102取得固件码FW#1后,即释出总线104使用权,并输出致能信号En0至晶粒Die#0,由芯片组Chipset#0获得总线
104使用权。经该总线104,该芯片组Chipset#0自该储存器102载下固件码FW#0,由处理单元Processor#0执行。特别是,从属晶粒Die#3/Die#2/Die#1中,处理单元Processor#3/Processor#2/Processor#1对固件码FW#3/FW#2/FW#1之执行,不受限于芯片组Chipset#3/Chipset#2/Chipset#1是否拥有该总线104之使用权。因此,晶粒Die#3~Die#0以较佳方式并行开机。
[0055] 并行执行的固件码FW#3~FW#0使得晶粒Die#3~Die#0间连结快速建立。运行建立连结后,芯片组Chipset#0继续自储存器102载入固件码FW#0其他部分,由该处理单元Processor#0执行,主导该多晶粒多核计算机平台100剩余的开机程序,包括加载操作系统(OS)操作该多晶粒多核计算机平台100。
[0056] 值得注意的是,本发明之多晶粒多核计算机平台100之各晶粒并不一定包含芯片组,且本发明亦不限制从属晶粒个数,即图1所示从属晶粒包括3个(Die#3~Die#1)仅为举例,本发明并不局限于此。整理之,本发明之多晶粒多核计算机平台100包括储存器102,储存多个晶粒对应之固件码;主晶粒(Die#0)和从属晶粒(Die#3~Die#1)均经总线104耦接储存器102,且从属晶粒(Die#3~Die#1)经由一连结(link,图未绘示)耦接主晶粒(Die#0)。本发明令从属晶粒(以Die#1为例)经总线104自储存器102将自身固件码(FW#1)载入后,即释放总线104使用权,并输出致能信号En0至主晶粒(Die#0),由主晶粒(Die#0)获得总线104的使用权。至于主晶粒Die#0,其自从属晶粒(Die#3~Die#1)取回总线104使用权后,无需立即再释出。储存器102此时专门供应固件码FW#0给主晶粒Die#0。从属晶粒(Die#3~Die#1)执行各自的固件码(FW#3~FW#1)并且主晶粒Die#0执行固件码FW#0以初始化该连结(link)。
[0057] 一种实施方式中,该储存器102为串行外围接口存储器(SPI ROM),该总线104为串行外围接口总线(SPI bus)。
[0058] 一种实施方式中,晶粒Die#3、Die#2、Die#1以及Die#0布置在单一板卡(socket)上。一种实施方式中,晶粒Die#3、Die#2、Die#1以及Die#0制作为单一芯片。
[0059] 图2以流程图举例说明图1架构运行概念。
[0060] 多晶粒多核计算机平台100上电后,最大编号之晶粒Die#3取得总线104之使用权(步骤S202)。步骤S204,获得总线104使用权的晶粒Die#3自储存器102载入并高速缓存固件码FW#3。由于晶粒Die#3非主晶粒(S206之判断),流程进入步骤S208:晶粒Die#3释出总线104使用权,并送出致能信号En2给晶粒Die#2,总线104使用权转移给晶粒Die#2。接着,流程回到步骤S204,获得总线104使用权的晶粒Die#2自储存器102载入并高速缓存固件码FW#2。
接着,步骤S208以及S204反复执行,直至获得总线104使用权进行固件码载入的为主晶粒Die#0。期间固件码FW#3…FW#0以优化方式并行执行。步骤S210确定载入各晶粒的固件码经执行以完成晶粒间连结的初始化后,流程进行步骤S212:主晶粒Die#0更自储存器102取得固件码FW#0其他部分,主导该多晶粒多核计算机平台100的开机,例如,硬件初始化。步骤S214,主晶粒Die#0加载操作系统(OS),运行该多晶粒多核计算机平台100。值得注意的是,本发明一实施例的多晶粒多核计算机平台中只有主晶粒Die#0的固件码FW#0包括完整的引导系统(例如BIOS或UEFI)来进行所有晶粒的系统引导和载入,其上的处理单元可以为一启动捆绑处理器(Boot Strap Processor,BSP);从属晶粒(Die#3~Die#1)的固件码(FW#3~FW#1)只需能够完成连结的初始化功能即可,其上的处理单元为应用处理器(Application Processor,AP),从属晶粒(Die#3~Die#1)上的处理单元是由主晶粒Die#0的固件码FW#0来进行初始化和管理的。关机操作亦是如此。本发明的重点在于在主晶粒Die#0运行其固件码FW#0进行该多晶粒多核计算机平台100的开机之前,实现各晶粒(Die#3~Die#0)依序经由总线104自共享的储存器102载入各自对应的固件码(FW#3~FW#0)以初始化各晶粒(Die#3~Die#0)两两之间的连结(link),以供主晶粒Die#0对整个平台100实现开机操作时使用。
[0061] 图3根据本发明一种实施方式图解一多晶粒多核计算机平台300,以芯片组Chipset#3~Chipset#0错开重置(以下也可理解为启动)的方式,使总线104使用权轮番交予晶粒Die#3~Die#0。
[0062] 芯片组Chipset#3~Chipset#0各自具有一逻辑与门AND#3~AND#0以及一总线控制器BusCon#3~BusCon#0。本申请以逻辑与门AND#3~AND#0对晶粒Die#3~Die#0的重置信号D#3RST~D#0RST加工,使本实施例中芯片组Chipset#3~Chipset#0的重置系根据重置信号RST#3~RST#0(以下理解为芯片组的重置信号),而非晶粒Die#3~Die#0的重置信号D#3RST~D#0RST。
[0063] 一种实施方式中,重置信号D#3RST~D#0RST会相应该多晶粒多核计算机平台300的电源键操作(开机下压、或重置长按)而反应。主晶粒Die#0的重置信号D#0RST则更随该多晶粒多核计算机平台300的操作系统(OS)重置反应。因此,如图所示,主晶粒Die#0的重置信号D#0RST拉入从属晶粒Die#3~Die#1,使本发明之特殊开机程序不只应付电源键操作,也可应付操作系统(OS)下要求的重置(reset)。
[0064] 首先被重置的是晶粒Die#3的芯片组Chipset#3。逻辑与门AND#3根据晶粒Die#3的重置信号D#3RST以及主晶粒Die#0的重置信号D#0RST输出重置信号RST#3。芯片组Chipset#3启动。芯片组Chipset#3中之北桥(未绘示)启动后发出读取请求(例如ROMSIP)至总线控制器BusCon#3,使得总线控制器BusCon#3经过总线104存取储存器102,将固件码FW#3载入;例如,由处理单元Processor#3的高速缓存空间(L2cache)高速缓存。固件码FW#3确实高速缓存后,总线控制器BusCon#3释出总线104使用权(例如,令晶粒Die#3连结该总线104的脚位为高阻抗),芯片组Chipset#3发出致能信号En2,使总线104使用权转移给晶粒Die#2。
[0065] 晶粒Die#2的芯片组Chipset#2中,逻辑与门AND#2根据晶粒Die#2的重置信号D#2RST、主晶粒Die#0的重置信号D#0RST、以及致能信号En2输出重置信号RST#2。芯片组Chipset#2启动。芯片组Chipset#2中之北桥(未绘示)启动后发出读取请求(例如ROMSIP)至总线控制器BusCon#2,使得总线控制器BusCon#2经过总线104存取储存器102,将固件码FW#
2载入,由处理单元Processor#2的高速缓存空间(L2cache)高速缓存。固件码FW#2确实高速缓存后,总线控制器BusCon#2释放其对总线104的使用权,且芯片组Chipset#2发出致能信号En1,使总线104使用权转移给晶粒Die#1。
[0066] 晶粒Die#1的芯片组Chipset#1中,逻辑与门AND#1根据晶粒Die#1的重置信号D#1RST、主晶粒Die#0的重置信号D#0RST、以及致能信号En1输出重置信号RST#1。芯片组Chipset#1启动。芯片组Chipset#1中之北桥(未绘示)启动后发出读取请求(例如ROMSIP)至总线控制器BusCon#1,使得总线控制器BusCon#1经过总线104存取储存器102,将固件码FW#
1载入,由处理单元Processor#1的高速缓存空间(L2cache)高速缓存。固件码FW#1确实高速缓存后,总线控制器BusCon#1释放其对总线104的使用权,且芯片组Chipset#1发出致能信号En0,使总线104使用权转移给主晶粒Die#0。
[0067] 主晶粒Die#0的芯片组Chipset#0中,逻辑与门AND#0根据主晶粒Die#0的重置信号D#0RST以及致能信号En0输出重置信号RST#0。芯片组Chipset#0重置。芯片组Chipset#0中之北桥(未绘示)启动后发出读取请求(例如ROMSIP)至总线控制器BusCon#0,使得总线控制器BusCon#0经过总线104存取储存器102,将固件码FW#0载入。此时,从属晶粒Die#3~Die#1各自执行固件码FW#3~FW#1,并且主晶粒Die#0执行固件码FW#0以初始化各个晶粒两两之间的连结,且主晶粒Die#0主导该多晶粒多核计算机平台300的开机,加载操作系统(OS),并运行该多晶粒多核计算机平台300。
[0068] 总线控制器BusCon#3~BusCon#0可控制晶粒Die#3~Die#0耦接总线104的脚位阻抗,使确实释放总线104的使用权。
[0069] 晶粒Die#3~Die#0可几乎并行执行自身固件码。
[0070] 图4根据本发明另一种实施方式图解一多晶粒多核计算机平台400。不同于多晶粒多核计算机平台300错开重置晶粒Die#3~Die#0,多晶粒多核计算机平台400错开已重置(启动)的总线控制器BusCon#3~BusCon#0准予使用总线104的时间点。
[0071] 从属晶粒Die#3~Die#1的芯片组Chipset#3~Chipset#1各自具有一逻辑与门AND#3~AND#1,将自身重置信号D#3RST~D#1RST与主晶粒Die#0重置信号D#0RST以逻辑及运算,产生芯片组Chipste#3~Chipset#1的重置信号RST#3~RST#1。如此一来,电源键触发的启动(或重置)、或操作系统(OS)下要求的重置,都可使得多晶粒多核计算机平台400开进行开机程序。此实施例中,各个晶粒Die#3~Die#1的芯片组Chipset#3~Chipset#1直接随主晶粒Die#0重置信号D#0RST重置,通常重置信号D#3RST~D#0RST会相应该多晶粒多核计算机平台300的电源键操作而同时有效,因此各个晶粒Die#3~Die#1的芯片组Chipset#3~Chipset#1可同时重置,而其中的总线控制器BusCon#3~BusCon#0亦随之同时启动。至于皆启动的各个核心之总线控制器BusCon#3~BusCon#0如何轮番存取储存器102,则详述于以下段落。
[0072] 芯片组Chipset#3~Chipset#0各自具有一寄存器OE#3~OE#0,决定是否限制(gate)总线控制器BusCon#3~BusCon#0对该总线104的使用权。
[0073] 晶粒Die#3脚位BE#3接收电源VDD。寄存器OE#3直接经由脚位BE#3信号设定。根据寄存器OE#3内容而驱动的总线控制器BusCon#3因而为最早准予使用总线104者,存取储存器102将固件码FW#3载入,由处理单元Processor#3的高速缓存空间(L2cache)高速缓存。高速缓存固件码FW#3后,芯片组Chipset#3将寄存器OE#3清除,令总线控制器BusCon#3释出总线104使用权。芯片组Chipset#3输出(经晶粒Die#3一脚位BD#3,未标示在图中)致能信号En2填写下一级晶粒Die#2(由晶粒Die#2以脚位BE#2接收,未标示在图中)寄存器OE#2,使总线104使用权转移给晶粒Die#2。
[0074] 芯片组Chipset#2根据致能信号En2设定寄存器OE#2。总线控制器BusCon#2因而准予使用总线104,存取储存器102将固件码FW2载入,由处理单元Processor#2的高速缓存空间(L2cache)高速缓存。高速缓存固件码FW#2后,芯片组Chipset#2将寄存器OE#2清除,令总线控制器BusCon#2释出总线104使用权。芯片组Chipset#2输出(经晶粒Die#2一脚位BD#2,未标示在图中)致能信号En1填写下一级晶粒Die#1(由晶粒Die#1以脚位BE#1接收,未标示在图中)寄存器OE#1,使总线104使用权转移给晶粒Die#1。
[0075] 芯片组Chipset#1根据致能信号En1设定寄存器OE#1。总线控制器BusCon#1因而准予使用总线104,存取储存器102将固件码FW1载入,由处理单元Processor#1的高速缓存空间(L2cache)高速缓存。高速缓存固件码FW#1后,芯片组Chipset#1将寄存器OE#1清除,令总线控制器BusCon#1释出总线104使用权。芯片组Chipset#1输出(经晶粒Die#1一脚位BD#1,未标示在图中)致能信号En0填写下一级晶粒Die#0(由晶粒Die#0以脚位BE#0接收,未标示在图中)寄存器OE#0,使总线104使用权转移给晶粒Die#0。
[0076] 芯片组Chipset#0根据致能信号En0设定寄存器OE#0。总线控制器BusCon#0因而准予使用总线104,存取储存器102将固件码FW0载入,由处理单元Processor#0的高速缓存空间(L2cache)高速缓存。此时,主晶粒Die#0执行固件码FW#0,并且从属晶粒Die#3~Die#1各自执行固件码FW#3~FW#1,以初始化各个晶粒两两之间的连结,并完成多晶粒多核计算机平台400的开机。值得注意的是,与图3之实施例之不同之处在于,在图4之实施例中,各个核心之总线控制器BusCon#3~BusCon#0系同时启动(而图3各个核心之总线控制器BusCon#3~BusCon#0是依序启动的)以经过总线104存取储存器102,但是由于各核心之寄存器OE#3~OE#0限制(gate)总线控制器BusCon#3~BusCon#0对该总线104的使用权,因此其读取请求并不能立即取得对应之固件码。
[0077] 图5为时序图,说明图4多晶粒多核计算机平台400的开机程序。
[0078] 时间点T0,电源VDD给电。晶粒Die#3脚位BE#3信号拉起。寄存器OE#3设定为1。
[0079] 时间区间T1,各晶粒之重置信号(D#3RST~D#0RST)纷纷拉起。逻辑与门AND#3上拉芯片组Chipset#3的重置信号RST#3。芯片组Chipset#3重置,其中的总线控制器BusCon#3亦随之重置,并因寄存器OE#3之高值,获得总线104使用权,其依据芯片组Chipset#3中之北桥(未示出)所发出之读取请求(例如ROMSIP)以经过总线104存取储存器102载入并高速缓存固件码FW#3。
[0080] 时间点T2,芯片组Chipset#3确定固件码FW#3高速缓存完成,设定寄存器OE#3为零,总线控制器BusCon#3释出总线104使用权。
[0081] 时间点T3,晶粒Die#3脚位BD#3信号拉起。致能信号En2传递至晶粒Die#2,反映在脚位BE#2上,寄存器OE#2因而设定为1。早已启动(早在时间区间T1启动)的总线控制器BusCon#2因寄存器OE#2之高值,获得总线104使用权,其依据芯片组Chipset#2中之北桥(未示出)所发出的读取请求(例如ROMSIP)经过总线104存取储存器102载入并高速缓存固件码FW#2。
[0082] 时间点T4,芯片组Chipset#2确定固件码FW#2高速缓存完成,设定寄存器OE#2为零,总线控制器BusCon#2释出总线104使用权。
[0083] 时间点T5,晶粒Die#2脚位BD#2信号拉起。致能信号EN1传递至下一级晶粒。
[0084] 图5说明各级晶粒陆续作用的时间序。特别是,芯片组及其总线控制器BusCon#3~BusCon#0都早已启动。下一级晶粒接收到致能信号无须再耗时在等待硬件启动后才能发出读取请求(例如ROMSIP),进一步提升效率,此外,由于同时只有一个总线控制器耦接至总线104的脚位为有效,因此避免了信号干扰。
[0085] 图6图解一板卡(socket)600。各晶粒上可能包括多运算核心。各运算核心以Node#标号,各自具有高速序列计算机总线PCIE。利用本发明前述实施例所揭示之技术,各晶粒随自身载入的固件码运作后,除了完成与其他晶粒之间的连结(例如为OPI)的初始化,也完成与同晶粒上其他运算核心Node#的连结(例如为CDC)的初始化。受惠于本申请开机设计,连结CDC的初始化也相当快速且单纯。
[0086] 图7图解两个板卡Socket#0以及Socket#1实现一多晶粒多核计算机平台700。
[0087] 两个板卡Socket#0以及Socket#1可共享一个储存器储存固件码。晶粒Die#7~Die#1为从属晶粒。晶粒Die#0为主晶粒。利用本发明前述实施例所揭示之技术,该些晶粒自储存器取得固件码的顺序为:Die#7→Die#6→Die#5→Die#4→Die#3→Die#2→Die#1→Die#0。
[0088] 两个板卡Socket#0以及Socket#1可各自以一个储存器储存固件码。板卡Socket#0为主板卡。板卡Socket#1为从属板卡。
[0089] 从属板卡Socket#1上,该些晶粒自储存器取得固件码的顺序为:Die#7→Die#6→Die#5→Die#4。晶粒Die#4完成板卡Socket#1上各个晶粒之间的相互耦接的连结(link)的初始化后,初始化板卡Socket#1,其中包括初始化板卡通信接口(例如为ZPI)。板卡通信接口ZPI初始化后,从属板卡Socket#1等待主板卡Socket#0互连请求。
[0090] 并行之,主板卡Socket#0也进行开机程序。
[0091] 主板卡Socket#0上,该些晶粒自储存器取得固件码的顺序为:Die#3→Die#2→Die#1→Die#0。主晶粒Die#0完成板卡Socket#0上各个晶粒之间的相互耦接的连结(link)的初始化后,初始化板卡Socket#0,其中包括初始化板卡通信接口ZPI,与从属板卡Socket#1友好协商。
[0092] 两个板卡Socket#0以及Socket#1连结初始化完成后,主板卡Socket#0的主晶粒Die#0主导后续开机程序,加载操作系统(OS)。
[0093] 图8A根据本发明一种实施方式图解储存器102的一种空间规划,以固定方式使用储存器102空间。举例而言,储存器102的储存空间总计为16M:头8M固定配置储存主晶粒Die#0的固件码FW#0。接着6M分三段(各2M),固定配置储存固件码FW#3~FW#1。
[0094] 图8B根据本发明另一种实施方式图解储存器102的一种空间规划。数据结构802储存固件码FW#3~FW#0的储存地址。储存器102空间利用更弹性。
[0095] 值得注意的是,本发明之前述实施例中所述的“初始化连结”的工作是由于晶粒间的连结(例如前述OPI或ZPI)需进行连结训练(link training)以协商确定数据传输率(data rate)、链路宽度(bandwidth)等。前述各固件码被执行时会先设置对应晶粒之物理层硬件,再触发硬件进行连结训练,由硬件填写寄存器通知各固件码训练结果。从属晶粒固件码的执行即是进行如此初始化连结工作。主晶粒固件码除了进行初始化连结工作,更负责整个平台的系统引导(system boot)以及操作系统的加载。
[0096] 本发明无须使用仲裁电路,即实现固件码储存器之共享。
[0097] 各级晶粒之间的致能信号传递可以一般输入输出脚位(GPIO)实现。
[0098] 固件码的高速缓存除了以处理单元内的高速缓冲存储器实现,也可另外配置RAM空间。
[0099] 较长固件码可逐段高速缓存、执行。直到最后一段固件码高速缓存,才释出总线使用权。
[0100] 根据本发明一种实施方式实现的一种多晶粒多核计算机平台开机方法适用于一多晶粒多核计算机平台,其中该多晶粒多核计算机平台包括主晶粒及至少一从属晶粒,该主晶粒与该从属晶粒经由至少一连结耦接,其中该开机方法包括下列步骤:令从属晶粒经一总线自一储存器载下一编号1固件码;且,载下该编号1固件码后,令该从属晶粒释出该总线的使用权,并输出一编号0致能信号至主晶粒,由该主晶粒获得该总线的使用权。经该总线,该主晶粒自该储存器载下一编号0固件码。该从属晶粒执行该编号1固件码并且该主晶粒执行该编号0固件码以初始化该连结。特别是,该从属晶粒对该编号1固件码的执行,不受限于该从属晶粒是否拥有该总线的使用权。此开机方法可根据前述内容有多种变形
[0101] 虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明之精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当以权利要求所保护的范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈