[发明专利]CPU二级缓存的加速初始化方法无效
申请号: | 201310408094.1 | 申请日: | 2013-09-10 |
公开(公告)号: | CN103473095A | 公开(公告)日: | 2013-12-25 |
发明(设计)人: | 张福新;陈国祺;吴少刚 | 申请(专利权)人: | 江苏中科梦兰电子科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 215500 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | cpu 二级缓存 加速 初始化 方法 | ||
技术领域
本发明涉及一种CPU缓存的初始化方法,特别是涉及一种CPU二级缓存的加速初始化方法。
背景技术
CPU缓存(Cache Memory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。而二级缓存则是介于一级缓存和内存之间的存储器,其容量较大于一级缓存、远小于内存,主要用来协调一级缓存于内存之间的速率差。
在按下计算机电源按钮后,主板会reset CPU,然后CPU执行指令,跳到BIOS进行启动。在BIOS启动的过程中需要对CPU的二级cache进行初始化操作。在龙芯多核CPU上对二级cache的初始化是由0号核即主核来执行,其他的核即从核处于一直在空等即一直在做无用的功的状态,直到BIOS加载完内核后,内核来唤醒它。按照这样的方法初始化龙芯CPU的二级cache花费的时间是非常长,特别是在龙芯3B的双路的服务器上更是花费的时间按多,这样将导致BOIS的启动过程时间长的更是让人难以忍受。
发明内容
针对上述现有技术的不足,本发明的目的是提供一种CPU二级缓存的加速初始化方法,以加快二级缓存的初始化速度,减少等待时间。
本发明的技术方案是这样的:一种CPU二级缓存的加速初始化方法,其特征在于,包括以下步骤:
1)初始化每个CPU核心的mailbox寄存器;
2)CPU主核将二级缓存划分为n段,n为CPU核心数量;
3)主核向每个从核发送初始化一段二级缓存命令,从核读取初始化命令;
4)主核和从核完成各自的二级缓存初始化,从核初始化完成后通知主核;
5)所有核心完成各自的二级缓存初始化后初始化任务完成。
在本发明的一个具体实施例中,所述步骤3)中,主核向自身的mailbox发送各个从核的初始化一段二级缓存命令,从核读取主核mailbox获取初始化命令。
在本发明的另一个具体实施例中,所述步骤3)中,主核向每个从核的mailbox发送从核的初始化一段二级缓存命令,从核读取自身mailbox获取初始化命令。
在本发明的又一个具体实施例中,所述步骤4)中,从核初始化完成后向主核mailbox发送完成消息,主核读取自身mailbox获取从核完成消息。
在本发明的还一个具体实施例中,所述步骤4)中,从核初始化完成后向自身mailbox发送完成消息,主核读取从核mailbox获取从核完成消息。
本发明所提供的技术方案,充分的利用龙芯多核CPU的优势把一个任务进行切分成多个子任务,由主核和从核各自完成相应的子任务,让多个核来协同完成任务,从而加快任务完成的速度。这种技术能加快龙芯多核CPU上二级缓存的初始化的过程,减少初始化二级缓存所花费的时间,同时加快了BIOS的启动速度。
附图说明
图1为本发明CPU二级缓存初始化流程示意图。
具体实施方式
下面结合实施例对本发明作进一步说明,但不作为对本发明的限定。
请参见图1,以龙芯3B双路的服务器为例,该服务具有两个8核CPU共16个核心,对应具有16M的二级缓存,因此CPU中每个核心所要初始化的二级缓存为1M,一个核心初始化1M即为一个子任务。初始化任务具体过程和方法如下:
第一:所有的核初始化自身的MailBox寄存器或者是由主核初始化所有核的MailBox寄存器即把MailBox寄存器置0。
第二:根据EBase寄存器的值来区分主核和从核,从而使主核和从核走不同的流程。
第三:进行子任务的切分。如在龙芯3B的双路服务器上总共有16核和16M的二级cache,可以把初始化16M的二级cache空间切分成初始化16个子任务,每个子任务是初始化1M的二级cache空间。
第四:如果是从核则一直等待主核的消息即不断的读取自身MailBox消息或者是主核的MailBox消息来确认是否开始初始化一段固定大小的二级cache(如1M的二级cache)。当从核从MailBox得到的消息表明主核需要让从核自己初始化某段二级cache空间,则从核就开始执行主核分配给自己的任务,当任务完成后从核就向自己的Mailbox或者是主核的MailBox发送消息表示主核分配的任务已经完成,从核可以执行其他的任务或者是等待。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏中科梦兰电子科技有限公司,未经江苏中科梦兰电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310408094.1/2.html,转载请声明来源钻瓜专利网。