一种基于动态特征的自定义堆管理函数的自动识别方法

    公开(公告)号:CN108469997B

    公开(公告)日:2021-10-26

    申请号:CN201711248935.1

    申请日:2017-12-01

    IPC分类号: G06F11/36 G06F9/50 G06F9/355

    摘要: 本发明公开了一种基于动态特征的自定义堆管理函数的自动识别方法,主要包括:1)基于动态执行二进制指令记录进行离线分析,通过call‑ret匹配恢复函数边界信息;2)依次根据堆管理函数的返回值通常是堆指针、处理流程具有相似性、使用情况具有特点的动态特征,对候选函数进行筛选;3)对筛选出的自定义堆管理函数进行去重统计,实现自定义堆管理函数的自动识别。本发明实现了基于离线动态执行记录分析自动识别自定义的堆管理函数,识别准确性高、分析效率高。

    用于提供原子范围操作的指令和逻辑

    公开(公告)号:CN107430508A

    公开(公告)日:2017-12-01

    申请号:CN201680018796.0

    申请日:2016-03-02

    申请人: 英特尔公司

    IPC分类号: G06F9/30 G06F9/355

    摘要: 指令和逻辑在多处理系统中提供原子范围操作。在一个实施例中,原子范围修改指令指定用于范围索引的集合的地址。指令锁定对范围索引的集合的访问,并加载范围索引以检查范围大小。将范围大小与足以执行范围修改的大小进行比较。如果范围大小足以执行范围修改,则执行范围修改,并将范围索引的集合的一个或多个已修改的范围索引存储回存储器。否则,当范围大小不足以执行所述范围修改时,设置错误信号。响应于原子范围修改指令的完成,解锁对范围索引的集合的访问。实施例可以包括原子增量next指令、加next指令、减量end指令和/或减end指令。

    一种避免内存地址冲突的方法及装置

    公开(公告)号:CN106371920A

    公开(公告)日:2017-02-01

    申请号:CN201610721416.1

    申请日:2016-08-24

    发明人: 张新亮

    IPC分类号: G06F9/50 G06F9/355

    CPC分类号: G06F9/5016 G06F9/355

    摘要: 本发明公开了一种避免内存地址冲突的方法及装置。所述避免内存地址冲突的方法,包括:当主程序调用普通函数时,判断所述普通函数对所述主程序中变量的地址的变更操作;判断所述变更操作之后的所述变量的地址是否与主程序中的其他变量的地址冲突;当所述变更操作之后的所述变量的地址与主程序中的其他变量的地址冲突时,系统指定出新的空闲的内存空间;将所述变量的地址修改为所述新的空闲的内存空间中的地址。本发明可避免对变量的内存地址的进行非法操作和非法赋值,从而避免非空闲内存地址中的数据被误改的情况发生。

    基于存储区的数据预取的处理器和方法

    公开(公告)号:CN100371886C

    公开(公告)日:2008-02-27

    申请号:CN03809724.9

    申请日:2003-04-22

    IPC分类号: G06F9/38 G06F9/355

    CPC分类号: G06F12/0862 G06F2212/6028

    摘要: 随着微处理器速度的提高,处理器的性能越来越受到数据访问操作的影响。当由于数据取出时间较慢,使得处理器在执行过程中需要等待数据时,这被称为处理器停顿,定量地来说,称之为处理器停顿周期。可以预料,从RAM存储器中实现预取数据是为了减少处理器停顿周期,在基于处理器的系统中进行预取的目的是减少处理器停顿周期中引起的处理时间拖延。提供一种软件和硬件组合控制的预取方法是非常有利的,因为:通过限制程序流中附加指令的数量,可以不牺牲指令带宽,并可使附加硬件资源的数量最小化。不象以前的技术中那样要利用软件或硬件检测存储器访问的规律性,硬件和软件控制的预取技术在执行时,程序流中没有明显的预取指令,并且占用最少量的附加芯片面积。为使处理器的指令带宽最小化,硬件和软件控制的预取技术使用位于处理器体系层中的附加寄存器,以规定预取区域,和每个区域使用的预取步距。有利的是,对处理器执行指令的指令带宽的影响,仅限于包含在应用程序中的用于设置这些寄存器的那些附加指令。这里,利用包含在应用程序中的存储器访问指令的间距来控制预取操作的出现频率。

    存储器接口、存储器设置以及控制存储器存取的方法

    公开(公告)号:CN101057216A

    公开(公告)日:2007-10-17

    申请号:CN200580037498.8

    申请日:2005-08-25

    发明人: 马丁·珀施

    IPC分类号: G06F9/35 G06F9/355 G06F9/345

    CPC分类号: G06F12/0653 G06F12/0223

    摘要: 公开了一种存储器接口(1),用于控制对划分成多个存储器区(SROM 0、…、SROM 5.5,EROM 0、…、EROM 7.5,UROM 0、…、UROM 3.5)的程序和/或数据存储器(MEM)的存取。所述存储器接口(1)包括:地址计算装置(2),通过利用偏移值(OFFSET_BOOT、OFFSET_RT1、OFFSET_RT2)来执行针对逻辑存储地址(iadr[0-i])的逻辑运算,将逻辑存储地址(iadr[0-i])转换为物理存储地址(phys_adr[0-j]),其中,所述偏移值被分配给给定的存储器区(SROM0、…、SROM 5.5,EROM 0、…、EROM 7.5,UROM 0、…、UROM 3.5),并且存储在易失性偏移存储器(3)中。从程序和/或数据存储器(MEM)的预设地址中读取至少一个偏移值(OFFSET_BOOT)。

    可编程控制器
    80.
    发明授权

    公开(公告)号:CN1137421C

    公开(公告)日:2004-02-04

    申请号:CN96121103.2

    申请日:1996-09-29

    IPC分类号: G05B19/04 G06F9/32 G06F9/355

    CPC分类号: G05B19/05 G06F9/38

    摘要: 一种可编程控制器,包括一个流水线级,其中按流水线方式执行5级:第一级IF执行指令取出操作,第二级ID/RF对指令解码并从通用寄存器取出数据,第三级EX执行算术和逻辑操作、数据地址计算、或目标分支有效地址的计算,第五级WB/BPU执行位操作,针对通用寄存器的号操作,或分支操作。因为在统一的指令结构中形成了一个流水线结构,所以可以实现简化硬件和控制,便于把流水线形成为多级。