[发明专利]一种复位向量的代码实现方法、系统及设备有效
申请号: | 201180001478.0 | 申请日: | 2011-08-10 |
公开(公告)号: | CN102326145A | 公开(公告)日: | 2012-01-18 |
发明(设计)人: | 雷镇 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/34 | 分类号: | G06F9/34 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 彭愿洁;李文红 |
地址: | 518129 中国广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 复位 向量 代码 实现 方法 系统 设备 | ||
技术领域
本发明涉及电子技术领域,特别涉及一种复位向量的代码实现方法、系统及设备。
背景技术
一般在处理系统中都包括处理器比如数字信号处理器(Digital Signal Processor,DSP),或中央处理器(Central Processing Unit,CPU)等,和内存,其中处理器可以是单核处理器,也可以是多核处理器。处理系统在进入业务层进行业务处理的过程中,都需要先通过底层操作来启动,即将可执行文件(Image文件)中的代码加载到内存中,由处理器调用执行内存中加载的代码逐步完成内核硬件资源、BSS(Block Started by Symbol段、libc库等的初始化,并最终调用Image文件中的主(main)函数从而进入业务层进行业务处理。其中在Image文件中包括实现某些功能的代码,处理器调用执行内存中的代码即为代码的实现过程。
对于包括单个核的处理器,内存中包括一个用于上电或复位启动的复位向量(reset vector),在该处理器进入业务层前,需要将Image文件的部分代码加载到复位向量,该单核处理器调用执行复位向量中加载的代码从而进入业务层。
而对于包括多个核的处理器,其内存分为两种类型,即各个核(core)的片外共享内存,比如二级内存(L2),和每个核对应的片内私有内存,比如一级内存(L1)。一种情况下,在每个核的片内私有内存中可以包括一个对应的复位向量,可以加载每个核对应的Image文件中的特定代码,则每个核可以分别从对应片内私有内存中的复位向量启动从而进入业务层;另一种情况下,在片外共享内存中可以包括至少一个复位向量,加载多个核对应的Image文件中的共享代码,则各个核都可以从片外共享内存中的复位向量启动从而进入业务层,且各个核需要通过调用复位向量的代码,来进入各自的处理分支,现有一种方案是:
在各个核调用执行共享的复位向量代码的过程中,如果当前核需要进入对应的处理分支时,核(即处理器中的一个处理单元)会从硬件寄存器中读取当前核的标识(ID),调用复位向量中跳转指令即jmp(当前核的标识对应的Image文件分支入口名),并跳转到对应的Image文件分支入口地址,这样就实现了当前核跳转到对应的处理分支。
而现有技术中复位向量中代码的实现是与业务布局直接绑定的,比如在业务场景1中,CPU1对应执行Image 1,而在业务场景2中CPU1对应执行Image0,如果发生业务场景的切换时,需要对复位向量中跳转指令进行修改,即由原来的jmp(Image 1)修改为jmp(Image 0),这样各个核在对共享的复位向量处理后,才能跳转到正确的处理分支;且底层还需要发布新的Lib库给业务层。这样在业务场景发生变化时,需要对复位向量中代码进行修改,并重新加载到处理系统的内存中进入业务层,操作比较复杂。
发明内容
本发明实施例提供一种复位向量的代码实现方法、系统及设备,实现了多核处理器的多个核共享的复位向量中代码的实现与业务布局的无关,从而简化业务场景发生变化时复位向量中代码的实现过程。
本发明实施例提供一种复位向量的代码实现方法,包括:
当前核需要进入对应的处理分支时,调用多个核共享的复位向量中的跳转指令,所述跳转指令包括jmp(处理分支入口),用于指示跳转的寄存器为处理分支入口,所述多个核对应的片内私有内存的逻辑地址相同;
读取所述当前核的片内私有内存中的全局变量值,所述全局变量值用来指示所述当前核对应的处理分支入口地址;
将所述读取的全局变量值作为所述跳转指令中处理分支入口的内容,跳转到片外共享内存中对应的处理分支入口
本发明实施例提供一种处理器核,其特征在于,包括:
函数调用单元,用于当前核需要进入对应的处理分支时,调用多个核共享的复位向量中的跳转指令,所述跳转指令包括jmp(处理分支入口),用于指示跳转的寄存器为处理分支入口,所述多个核对应的片内私有内存的逻辑地址相同;
变量读取单元,用于读取所述当前核的片内私有内存中的全局变量值,所述全局变量值用来指示所述当前核对应的处理分支入口地址;
跳转单元,用于将所述变量读取单元读取的全局变量值作为所述跳转指令中处理分支入口的内容,跳转到片外共享内存中对应的处理分支入口。
本发明实施例提供一种多核处理器,包括:多个核,各个核对应的片内私有内存,和片外共享内存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180001478.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具可拆卸式装饰件的显示器
- 下一篇:一种多载波基站延伸覆盖装置系统