一种针对多核平台的二进制程序自动并行化的设计方法

    公开(公告)号:CN105242929B

    公开(公告)日:2018-07-17

    申请号:CN201510657166.5

    申请日:2015-10-13

    Abstract: 本发明公开了一种针对多核平台的二进制程序自动并行化的设计方法,将多核平台中的二进制翻译成LLVM IR,然后先通过分析LLVM IR,建立控制流图来找出程序中的所有循环。静态分析循环的并行性,剔除不易并行的循环。在为循环在生成并行化代码前,对常见的内存访问依赖设定了简单的判据,加入了相应的内存地址重叠判断代码,降低了动态分析内存访问依赖引入的性能损失。然后将循环拆分到两个核上运行,重写LLVM IR生成并行化代码。该方法能够在无法获取二进制程序源码的情况下分析和提取二进制中的可并行性,并自动生成对应的可多核并行化的二进制程序,从而达到利用多核平台对原程序进行加速的效果。

    ARM二进制代码的NEON向量化转换方法

    公开(公告)号:CN105242907B

    公开(公告)日:2018-01-19

    申请号:CN201510574950.X

    申请日:2015-09-10

    Abstract: 本发明公开一种ARM二进制代码的NEON向量化转换方法,包括以下步骤:第一步、反汇编;第二步、流图生成;第三步、循环检测;第四步、内存分析;第五步、指令翻译;第六步、汇编指令输出。本发明通过将ARM的二进制代码反汇编后建立控制流图和做到达定值分析,找到目标优化对象所在的基本块,并分析要优化的基本块中访存模式,同时跟据片上空闲的扩展寄存器和核心寄存器的资源调度,将部分重复访存结果存储在空闲的片上寄存器中,利用访问高速的寄存器来减少程序访存的时间开销,从而达到加速的目的。

    一种针对多核平台的二进制程序自动并行化的设计方法

    公开(公告)号:CN105242929A

    公开(公告)日:2016-01-13

    申请号:CN201510657166.5

    申请日:2015-10-13

    Abstract: 本发明公开了一种针对多核平台的二进制程序自动并行化的设计方法,将多核平台中的二进制翻译成LLVM IR,然后先通过分析LLVM IR,建立控制流图来找出程序中的所有循环。静态分析循环的并行性,剔除不易并行的循环。在为循环在生成并行化代码前,对常见的内存访问依赖设定了简单的判据,加入了相应的内存地址重叠判断代码,降低了动态分析内存访问依赖引入的性能损失。然后将循环拆分到两个核上运行,重写LLVM IR生成并行化代码。该方法能够在无法获取二进制程序源码的情况下分析和提取二进制中的可并行性,并自动生成对应的可多核并行化的二进制程序,从而达到利用多核平台对原程序进行加速的效果。

    支持linux的硬件抽象层的虚拟网卡设计方法

    公开(公告)号:CN102404253B

    公开(公告)日:2014-08-06

    申请号:CN201110175932.6

    申请日:2011-06-28

    Abstract: 本发明公开了一种支持linux的硬件抽象层的虚拟网卡设计方法,所述设计方法包括虚拟网卡中网络数据包的组织、虚拟网卡中网络数据包的存储管理、客户操作系统的网络包发送过程和客户操作系统的网络包接收过程。本发明通过虚拟网卡设备,多个客户操作系统能够同时进行网络操作。另外,硬件抽象层的分层设计减少了网卡设备驱动移植的工作量。设计了支持linux的硬件抽象层的虚拟网络设备,抽象化网络包数据组织结构,并通过消息和中断注入机制实现虚拟网卡中网络数据包的发送和接收。

    ARM虚拟机中基于MMU的外设访问控制的实现方法

    公开(公告)号:CN102306108A

    公开(公告)日:2012-01-04

    申请号:CN201110217684.7

    申请日:2011-08-01

    Abstract: 本发明提供了一种ARM虚拟机中基于MMU的外设访问控制的实现方法,首先对于虚拟机需要监控的外设,更改每一个上层操作系统中该外设物理寄存器地址所对应的段页表项映射,把对应页表项中的Domain位改为一个错误的值,同时在底层虚拟机的地址空间建立该外设正确的地址映射,且该底层虚拟机接管硬件的数据异常处理以截获上层操作系统可能出现的地址访问错误,当上层操作系统访问上述外设地址时,在MMU进行地址翻译时会产生Domain Fault,从而进入处理器的数据异常处理模式,该行为被虚拟机捕获后,通过读取硬件寄存器以判断是否是Domain Fault类型,如果不是,则跳回操作系统的地址空间,如果是,则底层虚拟机对操作系统的此次访问数据进行处理,并依据处理后的数据由虚拟机访问对应外设寄存器。本发明可以用来解决多个操作系统同时运行时可能存在的对同一外设的访问冲突。

    ARM虚拟机中基于MMU的外设访问控制的实现方法

    公开(公告)号:CN102306108B

    公开(公告)日:2014-04-23

    申请号:CN201110217684.7

    申请日:2011-08-01

    Abstract: 本发明提供了一种ARM虚拟机中基于MMU的外设访问控制的实现方法,首先对于虚拟机需要监控的外设,更改每一个上层操作系统中该外设物理寄存器地址所对应的段页表项映射,把对应页表项中的Domain位改为一个错误的值,同时在底层虚拟机的地址空间建立该外设正确的地址映射,且该底层虚拟机接管硬件的数据异常处理以截获上层操作系统可能出现的地址访问错误,当上层操作系统访问上述外设地址时,在MMU进行地址翻译时会产生Domain?Fault,从而进入处理器的数据异常处理模式,该行为被虚拟机捕获后,通过读取硬件寄存器以判断是否是Domain?Fault类型,如果不是,则跳回操作系统的地址空间,如果是,则底层虚拟机对操作系统的此次访问数据进行处理,并依据处理后的数据由虚拟机访问对应外设寄存器。本发明可以用来解决多个操作系统同时运行时可能存在的对同一外设的访问冲突。

    复用客户操作系统设备驱动的实现方法

    公开(公告)号:CN102339230A

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

    申请号:CN201110255829.2

    申请日:2011-09-01

    Abstract: 本发明提供了一种复用客户操作系统设备驱动的实现方法,Hypervisor接管物理中断,客户操作系统中设置虚拟中断响应标志VIPending,客户操作系统以中断描述表table_vintr_desc描述所有中断;当外设中断产生后,Hypervisor首先屏蔽该外设中断,将客户操作系统中的虚拟中断响应标志VIPending设置为打开状态,接着将中断描述表table_vintr_desc中与该中断对应项的成员pending设置为表示该中断发生的状态,最后由客户操作系统调用该外设原有的中断服务程序对该中断事件进行处理。本发明方法复用了客户操作系统中已有的设备驱动,客户操作系统中的原有设备驱动框架保持不变,即访问设备时调用的程序,以及程序调用的流程都保持不变,这样使得设备的性能的损失最小。

    ARM二进制代码的NEON向量化转换方法

    公开(公告)号:CN105242907A

    公开(公告)日:2016-01-13

    申请号:CN201510574950.X

    申请日:2015-09-10

    Abstract: 本发明公开一种ARM二进制代码的NEON向量化转换方法,包括以下步骤:第一步、反汇编;第二步、流图生成;第三步、循环检测;第四步、内存分析;第五步、指令翻译;第六步、汇编指令输出。本发明通过将ARM的二进制代码反汇编后建立控制流图和做到达定值分析,找到目标优化对象所在的基本块,并分析要优化的基本块中访存模式,同时跟据片上空闲的扩展寄存器和核心寄存器的资源调度,将部分重复访存结果存储在空闲的片上寄存器中,利用访问高速的寄存器来减少程序访存的时间开销,从而达到加速的目的。

    一种基于多特征融合的手势检测方法

    公开(公告)号:CN104268514A

    公开(公告)日:2015-01-07

    申请号:CN201410476232.4

    申请日:2014-09-17

    Abstract: 本发明提供了一种基于多特征融合的手势检测方法,选择HOG特征、方差特征和Haar特征三种特征融合的方法来训练级联的Gentle Adaboost分类器,形成手势分类器;使用肤色预检模块对摄像头采集到的图像进行肤色预检,将疑似肤色的区域筛选出来;对被筛选出来的肤色区域使用滑动窗口法进行遍历,被认为含有手势的输入图像中用矩形框标定出来;对于多次反复被分类器判定为候选手势区域的重叠矩形区且域窗口进行合并,得到该幅图像的手势标定;选择HOG特征、方差特征和Haar特征三种特征融合的方法来训练分类器,并根据手的几种独特性使用多种特征值来衡量图像,以提高对人手的表征性能,从而提高检测系统的准确率。

Patent Agency Ranking