【技术实现步骤摘要】
计算机可读取存储介质、内存指针的编译方法和装置
[0001]本专利技术涉及源码编译,尤指一种计算机可读取存储介质、内存指针的编译方法和装置,用于支持隐含地址空间信息的泛型指针。
技术介绍
[0002]计算机系统中的内存通常会划分为不同地址空间,比如全局空间(global space)、共享空间(shared space)、私有空间(private space)等,以满足不同类型的应用程序访问数据的需要。目前的编程模型允许任意物理地址空间的指针能够转变为泛型指针(generic pointers),同时允许泛型指针能够映射到任意物理地址空间。在硬件运行时,需要决定泛型指针指向哪个特定的物理地址空间。为了支持这种泛型指针的功能,一些芯片会设置专用硬件,用于执行泛型指针的内存访问指令。在内存访问指令执行时,硬件能够动态的解析地址空间信息。例如,芯片架构可以将地址空间进行固定的划分,让不同地址空间使用不重叠的地址范围,使得芯片执行内存访问指令时根据地址范围的差异就能够访问到指定的内存地址空间。然而,专用硬件会增加芯片的硬件开销。在芯片面积和功耗有严格限制的情况下,当芯片架构中没有支持泛型指针的硬件而软件中使用了泛型指针,程序就无法正常运行。因此,本专利技术提出一种计算机可读取存储介质、内存指针的编译方法和装置,用于支持隐含地址空间信息的泛型指针。
技术实现思路
[0003]有鉴于此,如何支持隐含地址空间信息的泛型指针,是用于计算机系统的重要课题。
[0004]本专利技术涉及一种内存指针的编译方法,包含 ...
【技术保护点】
【技术特征摘要】
1.一种内存指针的编译方法,由处理器于执行编译器的程序代码时执行,其特征在于,包括:分析编译单元中的内容,用于确定所述编译单元中的指针操作数和指针形式参数所指向的物理地址空间;为每个能够确定物理地址空间的第一指针操作数和第一指针形式参数更新所述编译单元中的代码,用于让所述第一指针操作数和所述第一指针形式参数携带物理地址空间信息;以及针对每个不能够确定物理地址空间的第二指针操作数和第二指针形式参数,插入编码流程的指令,或者插入解码流程的指令,或者插入所述编码流程和所述解码流程的指令,用于让所述编译单元被执行时确定所述第二指针操作数和所述第二指针形式参数所指向的物理地址空间,其中,所述编码流程包含第一操作,所述第一操作用于将物理地址转换成为携带所述物理地址和物理地址空间信息的标记后物理地址,其中,所述解码流程包含第二操作、第三操作和第四操作,所述第二操作用于依据所述标记后物理地址中的所述物理地址和所述物理地址空间信息,生成指向内存中的所有使用到的所述物理地址空间的新物理地址,所述第三操作用于依据所述标记后物理地址的存取操作,对所有使用到的所述物理地址空间的所述新物理地址,产生相应的存取操作指令,并且所述第四操作用于实施选择程序,用以在所述编译单元被执行时,根据接收到的物理地址空间信息,选择相应的所述存取操作指令来执行,以存取相应的所述物理地址空间的所述新物理地址。2.如权利要求1所述的内存指针的编译方法,其特征在于,不同的物理地址空间对应到所述内存中不重叠的物理存储单元。3.如权利要求1所述的内存指针的编译方法,其特征在于,包含:将所述编译单元中每个所述第一指针操作数替换成标记了物理地址空间信息的指针操作数。4.如权利要求1所述的内存指针的编译方法,其特征在于,包含:在所述编译单元中的第一函数中,对使用了所述第一指针形式参数的指令,用包含特定物理地址空间信息的指针,替换所述第一指针形式参数;以及针对所述编译单元中的第二函数内所使用的所述第二指针形式参数,在所述第二函数中使用所述第二指针形式参数的指令之前,插入所述解码流程的指令,用以处理所述第二指针形式参数;并且在所述编译单元中用于调用所述第二函数的指令之前,插入所述编码流程的指令,用以处理所述第二函数所需的实际参数。5.如权利要求1所述的内存指针的编译方法,其特征在于,包含:针对所述编译单元中的输出指针的加载指令,在每个所述加载指令之后插入所述解码流程的指令,用以处理所述输出指针。6.如权利要求1所述的内存指针的编译方法,其特征在于,包含:针对所述编译单元中的不能够确定物理地址空间的输出指针的选择指令和条件分支指令,在每个所述选择指令或者每个所述条件分支指令之前,插入所述编码流程的指令,用以处理每个所述选择指令或者所述条件分支指令的操作数;并且在每个所述选择指令或者
每个所述条件分支指令之后,插入所述解码流程的指令,用以处理所述输出指针。7.如权利要求1所述的内存指针的编译方法,其特征在于,包含:针对所述编译单元中的具有所述第一指针操作数作为存储内容的存储指令,在每个所述存储指令之前插入所述编码流程的指令,用以处理所述第一指针操作数。8.一种计算机可读取存储介质,用于存储能够被处理器执行的程序代码,其特征在于,所述程序代码被所述处理器执行时实现如...
【专利技术属性】
技术研发人员:霍元宏,章嘉晨,丁阳,王亮,
申请(专利权)人:上海壁仞智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。