发明内容
本发明的目的是提供一种芯片,实现了芯片的无感升级,提升了用户体验以及产品竞争力;本发明的另一目的是提供一种包括上述芯片的主板及其芯片升级方法,实现了芯片的无感升级,提升了用户体验以及产品竞争力。
为解决上述技术问题,本发明提供了一种芯片,包括:
代码自加载存储区域CFM,用于在上电时将自身存储的主控代码加载至第一静态随机存取存储器SRAM中,还用于在接收到待更新主控代码时将其加载至所述第一SRAM中;
所述第一SRAM,用于在上电时,将第一代码存储区域UFM中的管脚控制代码加载至第二SRAM中,以便所述第二SRAM对所述复杂可编程逻辑器件芯片的管脚进行控制;
所述第一UFM;
所述第二SRAM。
优选地,该芯片还包括:
第二UFM以及第三SRAM;
则所述第一SRAM还用于:
在上电时,将所述第二UFM中的寄存器控制代码加载至所述第三SRAM,以便所述第三SRAM对所述芯片内部的寄存器进行控制。
优选地,所述将第一代码存储区域UFM中的管脚控制代码加载至第二SRAM中具体为:
通过第一数据传输总线读取代码存储区域第一UFM中的管脚控制代码;
将所述管脚控制代码通过第二数据传输总线发送至第二SRAM。
优选地,所述第一数据传输总线以及所述第二数据传输总线类型相同。
优选地,所述第一数据传输总线以及所述第二数据传输总线均为串行外设接口SPI总线。
优选地,所述在接收到待更新主控代码时将其加载至所述第一静态随机存取存储器SRAM中具体为:
在接收到基板管理控制器BMC或者烧录器发送的待更新主控代码时将其加载至所述第一静态随机存取存储器SRAM中。
为解决上述技术问题,本发明还提供了一种芯片升级方法,包括:
代码自加载存储区域CFM在接收到待更新主控代码时将其加载至第一SRAM中;
所述第一SRAM在上电时,将第一UFM中的管脚控制代码加载至第二SRAM中,以便所述第二SRAM对所述复杂可编程逻辑器件芯片的管脚进行控制;
其中,CFM在上电时将自身存储的主控代码加载至所述第一SRAM中。
优选地,该芯片升级方法还包括:
所述第一SRAM在上电时,将第二UFM中的寄存器控制代码加载至第三SRAM,以便所述第三SRAM对所述芯片内部的寄存器进行控制。
为解决上述技术问题,本发明还提供了一种主板,包括如上所述的芯片,还包括:
与所述芯片中的所述CFM连接的BMC,用于将从人机交互装置接收到的待更新主控代码发送至所述CFM;
与所述BMC连接的所述人机交互装置,用于通过其发送所述待更新主控代码。
优选地,该主板还包括:
与所述BMC连接的提示器;
则所述BMC还用于在将所述待更新主控代码发送至所述CFM时,控制所述提示器提示芯片处于更新状态。
本发明提供了一种芯片,考虑到芯片的所有代码中,通常需要升级的代码为其中的主控代码,而管脚控制代码通常是无需升级的,因此本申请中将主控代码以及管脚控制代码分别存储在不同的SRAM中,在对芯片进行程序升级的时候,CFM会将待更新主控代码加载至主控代码所在的第一SRAM中以完成对于主控代码的升级,并且由于在第一SRAM进行主控代码的升级时,第二SRAM依然能够根据自身的管脚控制代码对于芯片的管脚进行控制,因此可以保证VR芯片的使能信号不消失,从而保证服务器不关机,实现了芯片的无感升级,提升了用户体验以及产品竞争力。
本发明还提供了一种主板及其芯片升级方法,具有如上芯片相同的有益效果。
具体实施方式
本发明的核心是提供一种芯片,实现了芯片的无感升级,提升了用户体验以及产品竞争力;本发明的另一核心是提供一种包括上述芯片的主板及其芯片升级方法,实现了芯片的无感升级,提升了用户体验以及产品竞争力。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明提供的一种芯片的结构示意图,该芯片包括:
代码自加载存储区域CFM 1,用于在上电时将自身存储的主控代码加载至第一SRAM 2中,还用于在接收到待更新主控代码时将其加载至第一静态随机存取存储器SRAM中;
第一SRAM 2,用于在上电时,将第一代码存储区域UFM 3中的管脚控制代码加载至第二SRAM 4中,以便第二SRAM 4对复杂可编程逻辑器件芯片的管脚进行控制;
第一UFM 3;
第二SRAM 4。
具体的,在芯片的所有代码中,其中有一部分代码为管脚控制代码,管脚控制代码可以用于对芯片的管脚进行控制,且该部分代码通常是无需升级的,需要升级的仅仅为除管脚代码之外的主控代码,因此本申请为了能在升级时仅对芯片所有代码中的主控代码进行升级,并且保证管脚控制代码依然能够实现对于管脚的控制,本发明实施例设置了两个SRAM分别用于执行主控代码以及管脚控制代码,如此一来,在进行第一SRAM 2中的主控代码的升级时,第二SRAM 4依然能够通过执行自身的管脚控制代码以对芯片的各个管脚进行控制,从而通过保证VR芯片使能来维持服务器不掉电停机,实现了芯片的无感升级,提升了用户体验以及产品竞争力。
具体的,可以将主控代码以及管脚控制代码进行flash地址的区分,主控代码对应CFM 1地址,管脚控制代码对应第一UFM 3地址。
其中,无感升级指的是芯片升级过程中,服务器可以正常运行,升级完毕后服务器无需断电,芯片中的固件FW自动更新为最新版,不对服务器运行有任何影响。
具体的,考虑到芯片中闪存flash的自加载存储区域CFM 1可以将自身的代码自动加载到SARM中进行执行,因此可以将CFM 1直接与第一SRAM 2连接,而不能将CFM 1与第二SRAM 4连接,但是存在“如何将管脚控制代码加载至第二SRAM 4中以进行管脚控制”的问题,本发明实施例中首先可以将管脚控制代码烧录在代码存储区域第一UFM 3中,第一UFM3仅可以正常地存储代码而无法将其自动加载至所连接的SRAM中,因此第一SRAM 2可以以读取数据的形式将第一UFM 3中的管脚控制代码读取过来,然后将管脚控制代码加载至第二SRAM 4中从而实现“将管脚控制代码加载至第二SRAM 4中以进行管脚控制”。
其中,无论是哪个SRAM,其都具有下电后丢失自身代码的特点,因此在芯片每次上电的过程中,都需要由CFM 1以及第一UFM 3将自身的代码加载至对应的SRAM中以保证芯片的正常工作。
具体的,值得一提的是,管脚控制代码用于控制的管脚可以为GPIO(General-purpose input/output,通用输入输出口)等,本发明实施例在此不做限定。
其中,本发明实施例中的芯片可以为多种类型,例如可以为CPLD(ComplexProgramming logic device,复杂可编程逻辑器件)或者FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)等,本发明实施例在此不做限定。
本发明提供了一种芯片,考虑到芯片的所有代码中,通常需要升级的代码为其中的主控代码,而管脚控制代码通常是无需升级的,因此本申请中将主控代码以及管脚控制代码分别存储在不同的SRAM中,在对芯片进行程序升级的时候,CFM会将待更新主控代码加载至主控代码所在的第一SRAM中以完成对于主控代码的升级,并且由于在第一SRAM进行主控代码的升级时,第二SRAM依然能够根据自身的管脚控制代码对于芯片的管脚进行控制,因此可以保证VR芯片的使能信号不消失,从而保证服务器不关机,实现了芯片的无感升级,提升了用户体验以及产品竞争力。
为了更好地对本发明实施例进行说明,请参考图2,图2为本发明提供的另一种芯片的结构示意图,在上述实施例的基础上:
作为一种优选的实施例,该芯片还包括:
第二UFM 5以及第三SRAM 6;
则第一SRAM还用于:
在上电时,将第二UFM 5中的寄存器控制代码加载至第三SRAM 6,以便第三SRAM 6对芯片内部的寄存器进行控制。
具体的,考虑到芯片中的有一部分代码为寄存器控制代码,寄存器控制代码可以用于对芯片中寄存器的寄存器值进行控制,且该部分代码通常是无需升级的,需要升级的可以认为是除管脚控制代码以及寄存器控制代码之外的主控代码,若在主控代码升级时将寄存器控制代码进行更新,那么寄存器中的值将被清空,此时BMC可能由于无法读取到寄存器中正常的状态值而报错,从而引起不必要的麻烦,因此本申请为了保证在对主控代码进行升级时BMC不会因为寄存器值的异常而报错,本发明实施例又单独设置了第三SRAM 6用于执行寄存器控制代码,如此一来,在进行第一SRAM 2中的主控代码的升级时,第三SRAM 6依然能够通过执行自身的寄存器控制代码以对芯片中的寄存器的寄存器值控制,从而使得BMC不会由于寄存器异常而产生报错。
作为一种优选的实施例,将代码存储区域第一UFM 3中的管脚控制代码加载至第二SRAM 4中具体为:
通过第一数据传输总线读取代码存储区域第一UFM 3中的管脚控制代码;
将管脚控制代码通过第二数据传输总线发送至第二SRAM 4。
具体的,第一SRAM 2在读取第一UFM 3中的管脚控制代码以及将管脚控制代码加载至第二SRAM 4中时,均可以通过数据传输总线进行数据的传输,数据传输总线具有实现方式简单以及传输速率快等优点。
当然,除了数据传输总线外,第一SRAM 2在读取第一UFM 3中的管脚控制代码以及将管脚控制代码加载至第二SRAM 4的过程还可以通过其他类型的数据传输方式进行,本发明实施例在此不做限定。
作为一种优选的实施例,第一数据传输总线以及第二数据传输总线类型相同。
具体的,考虑到芯片设计的效率以及架构的简洁,可以将第一数据传输总线以及第二数据传输总线设计为相同类型。
当然,第一数据传输总线以及第二数据传输总线还可以分别设置为不同类型的数据传输总线,本发明实施例在此不做限定。
作为一种优选的实施例,第一数据传输总线以及第二数据传输总线均为SPI(Serial Peripheral Interface,串行外设接口)总线。
具体的,SPI总线具有传输速度快、占用管脚线数少以及寿命长等优点。
当然,除了SPI总线外,第一数据传输总线以及第二数据传输总线还可以为其他类型,本发明实施例在此不做限定。
作为一种优选的实施例,在接收到待更新主控代码时将其加载至第一静态随机存取存储器SRAM中具体为:
在接收到基板管理控制器BMC 9或者烧录器发送的待更新主控代码时将其加载至第一静态随机存取存储器SRAM中。
具体的,CFM 1中的代码可以有烧录器直接进行烧录,也可以由BMC 9或者其他类型的处理器进行发送,从而通过CFM 1完成对于第一SRAM 2中主控代码的升级,比较高效。
其中,无论是通过BMC 9还是烧录器发送待更新主控代码,都可以通过芯片上的JTAG(Joint Test Action Group,联合测试工作组)接口进行发送。
当然,除了上述两种方式外,还可以通过其他方式将待更新主控代码发送至CFM1,本发明实施例在此不做限定。
请参考图3,图3为本发明提供的一种主板的结构示意图,该主板包括如上的芯片,还包括:
与芯片中的CFM 1连接的BMC 9,用于将从人机交互装置7接收到的待更新主控代码发送至CFM 1;
与BMC 9连接的人机交互装置7,用于通过其发送待更新主控代码。
具体的,为了方便对于主控代码的升级,本发明实施例中可以由用户通过人机交互装置7将待更新主控代码发送至BMC 9,并由BMC 9将待更新主控代码发送至CFM 1中,提高了自主性以及升级效率。
当然,还可以通过其他的方式进行待更新主控代码的发送,本发明实施例在此不做限定。
作为一种优选的实施例,该主板还包括:
与BMC 9连接的提示器8;
则BMC 9还用于在将待更新主控代码发送至CFM 1时,控制提示器8提示芯片处于更新状态。
具体的,考虑到用户在某些情况下具有了解芯片升级状态的需求,因此本发明实施例中可以在将待更新主控代码发送至CFM 1时,控制提示器8提示芯片处于更新状态,并在芯片升级完毕时控制提示器8停止提示,便于用户了解芯片的升级状态。
作为一种优选的实施例,提示器8为LED(Light Emitting Diode,发光二极管)。
具体的,LED具有体积小、成本低以及寿命长等优点。
当然,除了LED外,提示器8还可以为其他多种类型,本发明实施例在此不做限定。
作为一种优选的实施例,人机交互装置7为键鼠。
具体的,键鼠具有成熟度高、普及度高以及寿命长等优点。
当然,除了键鼠外,人机交互装置7还可以为其他多种类型,本发明实施例在此不做限定。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。