CN105843590A - 一种并行指令集预译码方法及*** - Google Patents
一种并行指令集预译码方法及*** Download PDFInfo
- Publication number
- CN105843590A CN105843590A CN201610216484.2A CN201610216484A CN105843590A CN 105843590 A CN105843590 A CN 105843590A CN 201610216484 A CN201610216484 A CN 201610216484A CN 105843590 A CN105843590 A CN 105843590A
- Authority
- CN
- China
- Prior art keywords
- binary command
- decoding
- array
- instruction set
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims 2
- 230000006870 function Effects 0.000 abstract description 23
- 238000004088 simulation Methods 0.000 abstract description 10
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 22
- 238000011161 development Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 206010037660 Pyrexia Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000004899 motility Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种并行指令集预译码方法及***,属于指令预译码技术领域。本发明并行指令集预译码方法包括以下步骤:对可执行文件进行解析,获取二进制指令;将获取的二进制指令的数据及输出数组传入存储器中;注册二进制指令和二进制指令对应的解析函数;读取二进制指令,对所有的二进制指令进行并行译码;将每条二进制指令译码完成后的中间数据保存到输出数组的对应位置;判断输出数组内的数据是否全部保存完成,如果是,将输出数组传回主机端;主机端处理后输出显示输出数组。本发明的有益效果为:随着二进制指令数的增加,缩短了处理器预译码的时间,极大的提高SPARC仿真运行效率和处理器的性能。
Description
技术领域
本发明涉及一种指令预译码技术,尤其涉及一种并行指令集预译码方法及***。
背景技术
随着嵌入式***的信息化程度越来越高,其功能越来越强大,结构也越来越复杂,软件已逐渐成为嵌入式***中关键的组成部分,所占比重越来越大,许多重要、复杂的功能都是由软件来实现的。关键性嵌入式软件能否安全可靠的运行直接关系生产科研任务的成败和人员的生命安全。近年来,国内外因为软件故障而导致重大安全事故的案例越来越多。如何保证嵌入式软件的可靠性,进而保障整个***的安全可靠成为人们关注且亟待解决的问题。
典型嵌入式软件具有实时、嵌入、紧密依赖硬件等特征,测试应尽量在其真实运行的硬件环境下进行,增加了测试难度,导致测试不够充分,这是造成软件故障的一个重要原因。
传统嵌入式测试环境包括全物理环境和半物理仿真环境。全物理环境的优点是软件运行环境真实,测试结果可信度高。半物理仿真测试环境一般由目标机和主机构成,目标机负责运行被测软件,并实现断点调试,提供软件执行信息的功能。主机则实现测试管理,环境模型仿真,激励提供和测试结果分析和显示的功能,这是目前嵌入式软件最常用的测试环境。但是上述两种环境均是基于真实目标机的环境,主要存在以下缺陷:
1)目前的嵌入式***多数采用软硬件并行开发的模式,而软件的研制开始时,往往还不具备硬件环境,这样可能导致软件研制无法与硬件研制并行开展,不能尽早、及时的发现软件存在的问题。
2)对嵌入式软件实现非干预性测试困难。所谓非干预性测试是指测试过程中采用的测试方法和技术不能对被测软件的执行行为产生影响。例如,在基于目标机的测试环境中,常采用插桩技术获得软件执行的时间和覆盖率信息。但这种方法由于要修改被测软件,导致代码膨胀。由于嵌入式***本身的存储空间十分有限,可能造成插桩后的代码无法加载;或者由于***探针代码导致软件实时性变差,甚至会影响被测软件的执行结果。
3)环境的可控性较差。测试过程中的状态保存、恢复及特定测试场景的设置较为困难;测试过程均采用物理时间,难以进行加速测试;测试过程中很难了解***内部行为,不利于及时发现和定位被测软件中的问题。
4)环境的通用性差。很多硬件测试***属于定制***,很难适合其他项目。
5)开发方确认测试、第三方独立确认测试均需要硬件测试环境,研制时间和成本大大增加,并可能造成资源浪费。
针对这些问题,业界在不断的研究软件仿真技术,来补充、代替硬件测试环境。
作为仿真***中的核心部件,处理器仿真模块是必不可少的,目前已经实现了丰富的外设仿真模块,并且实现了对ARM处理器的仿真。为了更好地支持航天***应用要求,需要对我国航天领域比较常用的SPARC处理器进行仿真。
虚拟验证***使用软件仿真硬件,其性能往往远低于硬件***性能,而其中处理器仿真运行的性能又是瓶颈之一。在ARM仿真实现中,我们已经意识到这一问题的严重性,因此在开发SPARC仿真核时需要首先考虑如何提高其性能,而在***运行过程中,需要用到大量的指令,因此对指令集预译码的优化是提高其性能的有效手段之一。
传统采用的是串行算法,在指令注册阶段需要处理大量host(主机)到device(显卡设备)的内存拷贝工作,并且数据比较复杂,整体效率较低。
发明内容
为解决现有技术中的问题,本发明提供一种并行指令集预译码方法,还提供了一种实现该方法的***。
本发明并行指令集预译码方法包括以下步骤:
S1:对可执行文件进行解析,获取二进制指令;
S2:将获取的二进制指令的数据及输出数组传入存储器中;
S3:注册二进制指令和二进制指令对应的解析函数;
S4:读取二进制指令,对所有的二进制指令进行并行译码;
S5:将每条二进制指令译码完成后的中间数据保存到输出数组的对应位置;
S6:判断输出数组内的数据是否全部保存完成,如果是,将输出数组传回主机端,如果
否,继续执行步骤S4;
S7:主机端处理后输出显示输出数组。
本发明作进一步改进,还包括反汇编步骤,执行步骤S6后,如果判断输出数组内的数据全部保存完成,那么同时执行反汇编步骤,将译码完成的二进制指令翻译成便于操作人员调试的汇编代码。
本发明作进一步改进,在步骤S1中,所述可执行文件为ELF文件。
本发明作进一步改进,在步骤S3中,首先将每条二进制指令的解析函数disassemble改成GPU执行的__device__函数,再注册__device__函数指针。
本发明作进一步改进,在步骤S4中,利用CUDA算法进行并行译码。
本发明还提供了一种实现上述方法的***,包括解析模块:对可执行文件进行解析,获取二进制指令;
传输模块:将获取的二进制指令的数据及输出数组传入存储器中;
注册模块:注册二进制指令和二进制指令对应的解析函数;
译码模块:读取二进制指令,对所有的二进制指令进行并行译码;
保存模块:将每条二进制指令译码完成后的中间数据保存到输出数组的对应位置;
判断模块:判断输出数组内的数据是否全部保存完成,如果是,将输出数组传回主机端,
如果否,继续执行步骤S4;
输出显示模块:主机端处理后输出显示输出数组,。
本发明作进一步改进,还包括反汇编模块,将译码完成的二进制指令翻译成便于操作人员调试的汇编代码。
本发明作进一步改进,在解析模块中,所述可执行文件为ELF文件。
本发明作进一步改进,在注册模块中,首先将每条二进制指令的解析函数disassemble改成GPU执行的__device__函数,再注册__device__函数指针。
本发明作进一步改进,在译码模块中,利用CUDA算法进行并行译码。
与现有技术相比,本发明的有益效果是:随着二进制指令数的增加,缩短了处理器预译码的时间,极大的提高SPARC仿真运行效率和处理器的性能;二进制指令的反汇编,为操作人员提供汇编级调试功能,节省运行程序,缩短了调试运行过程。
附图说明
图1为本发明方法流程图;
图2为本发明并行译码算法示意图;
图3为本发明译码算法与串行算法运行时间对比图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
如图1所示,本发明的并行指令集预译码方法包括以下步骤:
S1:对可执行文件进行解析,获取二进制指令;
S2:将获取的二进制指令的数据及输出数组传入存储器中;
S3:注册二进制指令和二进制指令对应的解析函数;
S4:读取二进制指令,对所有的二进制指令进行并行译码;
S5:将每条二进制指令译码完成后的中间数据保存到输出数组的对应位置;
S6:判断输出数组内的数据是否全部保存完成,如果是,将输出数组传回主机端,如果
否,继续执行步骤S4;
S7:主机端处理后输出显示输出数组。
其中,还包括反汇编步骤,执行步骤S6后,如果判断输出数组内的数据全部保存完成,那么同时执行反汇编步骤,将译码完成的二进制指令翻译成便于操作人员调试的汇编代码。这里的反汇编是对译码后结果的一种应用方式,是在所有指令译码完成后进行的。
本例在步骤S1中,所述可执行文件为ELF文件;在步骤S4中,利用CUDA算法进行并行译码。CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。
从上可以看出,为了提高SPARC(全称为"可扩充处理器架构"(Scalable ProcessorARChitecture),是RISC(Reduced Instruction Set Computer,精简指令集计算机)微处理器架构之一)仿真运行效率,本发明一方面采用CUDA算法对指令集进行预译码,在程序仿真运行前对SPARC二进制指令进行预译码,将二进制指令指令中的操作码、操作数等事先存储到宜于访问的数据结构中,这样在仿真运行时便无须进行译码操做,从而加快仿真运行速度。
另一方面为了给操作人员提供汇编级调试功能,本发明同时对SPARC二进制指令进行反汇编,将机器指令翻译成易读的汇编代码,便于操作人员调试,提高开发效率。
预译码和反汇编都涉及指令的解析过程,预译码虽然可以加快SPARC仿真运行时速度,但是当可执行文件较大,需要预译码的指令特别多时,预译码阶段也将非常耗时,导致仿真器启动缓慢;同理,反汇编过程的时间也会随着这执行文件大小的增大而增大。但是经过分析可知,预译码及反汇编阶段,尚不涉及寄存器、存储等访问操作,各指令间的译码过程都是相互独立的,因此非常适合通过并行运算来加速译码过程,并且当需要译码的指令数越多时加速效果越好。
本发明并行指令集预译码方法的预译码方法总体来说分为三大部分,分别为ELF文件解析、SPARC指令译码,以及结果输出。
在计算机行业内,ELF是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储的标准文件格式,是UNIX***实验室(USL)作为应用程序二进制接口(ApplicationBinary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式。1999年,被86open项目选为x86架构上的类Unix操作***的二进制文件标准格式,用来取代COFF。因其可扩展性与灵活性,也可应用在其它处理器、计算机***架构的操作***上。ELF文件由4部分组成,分别是ELF头(ELF header)、程序头表(Program header table)、节(Section)和节头表(Section header table)。实际上,一个文件中不一定包含全部内容,而且他们的位置也未必如同所示这样安排,只有ELF头的位置是固定的,其余各部分的位置、大小等信息有ELF头中的各项值来决定。
为了方便和高效,ELF文件内容有两个平行的视角:一个是程序连接角度,另一个是程序运行角度。ELF header在文件开始处描述了整个文件的组织,Section提供了目标文件的各项信息(如指令、数据、符号表、重定位信息等),Program header table指出怎样创建进程映像,含有每个program header的入口,section header table包含每一个section的入口,给出名字、大小等信息。ELF数据编码顺序与机器相关,本发明中所使用的SPARC处理器为大端模式,数据类型有六种。
ELF的文件头包含整个文件的控制结构,它的定义如下:
其中e_phoff指出program header table的文件偏移,e_phentsize表示一个programheader表中的入口的长度(字节数表示),e_phnum给出program header表中的入口数目。目标文件或者共享文件的program header table描述了***执行一个程序所需要的段或者其它信息。目标文件的一个段(segment)包含一个或者多个section。Program header只对可执行文件和共享目标文件有意义,对于程序的链接没有任何意义。
结构定义如下:
p_type表示当前Program Header所描述的段的类型,当p_type等于1时表示该段是一个可加载的段,我们可从该段中获取可执行指令。
因此,整个ELF文件解析过程便是先读取固定位置的ELF Header,从ELF Header中得到Program Header信息,最后从Program Header定位到可执行指令位置,从而读出可执行的二进制指令,用于译码。
如图2所示,本发明CUDA算法的整体流程分为二进制指令注册和二进制指令译码两阶段。需要注意的是,指令注册前需要将相关数据传入显存中,并且需要将每条二进制指令的解析函数disassemble改成GPU执行的__device__函数,然后在指令注册时实现__device__函数指针的注册;同时ELF译码阶段获取的指令数据也需要传入显存。
GPU英文全称Graphic Processing Unit,中文翻译为"图形处理器"。(图像处理单元)GPU是相对于CPU的一个概念,由于在现代的计算机中(特别是家用***,游戏的发烧友)图形的处理变得越来越重要,需要一个专门的图形的核心处理器。
最后,本发明与串行算法中所有指令按顺序逐个译码,每条指令译码完成后立即输出不同的是,本发明CUDA算法同时进行所有二进制指令的译码,因为每个二进制指令译码过程不同,时间可能不同,不能按照编码顺序输出译码结果,因此,为了防止数据输出出现混乱,在传入二进制指令数据的同时,也传入了一个输出数组,每条指令解析完成后将中间数据保存到输出数组的对应位置,最后等所有二进制指令全部译码完毕保存到输出数组后,将输出数组传回host端,在host端处理后统一打印输出。
本发明读取到可执行文件中的二进制指令后,采用并行译码算法,可以同时译码多条指令,大大提高了译码效率。
如图3所示,本发明CUDA算法与串行算法程序运行时间的对比可以看出,当预译码的二进制指令数少于5000条时,由于CUDA算法运行前需要在主机端与显卡设备端进行数据传输,导致启动时间较长,译码效率低于串行算法;但是当预译码指令数逐渐增加至50000条时,串行算法逐条指令处理的弊端显现出来,处理时间随着指令数增加也迅速增加,相比之下,CUDA算法处理时间增加缓慢,并且随着指令数的增加,节约的运行时间就越多,充分显示出本发明其并行加速的优势。
本发明还提供了一种实现上述方法的***,包括解析模块:对可执行文件进行解析,获取二进制指令;传输模块:将获取的二进制指令的数据及输出数组传入存储器中;注册模块:注册二进制指令和二进制指令对应的解析函数;译码模块:读取二进制指令,对所有的二进制指令进行并行译码;保存模块:将每条二进制指令译码完成后的中间数据保存到输出数组的对应位置;反汇编模块,将译码完成的二进制指令翻译成便于操作人员调试的汇编代码;判断模块:判断输出数组内的数据是否全部保存完成,如果是,将输出数组传回主机端,如果否,继续执行步骤S4;输出显示模块:主机端处理后输出显示输出数组。
在解析模块中,所述可执行文件为ELF文件;在注册模块中,首先将每条二进制指令的解析函数disassemble改成GPU执行的__device__函数,再注册__device__函数指针;在译码模块中,利用CUDA算法进行并行译码。
以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。
Claims (10)
1.一种并行指令集预译码方法,其特征在于包括以下步骤:
S1:对可执行文件进行解析,获取二进制指令;
S2:将获取的二进制指令的数据及输出数组传入存储器中;
S3:注册二进制指令和二进制指令对应的解析函数;
S4:读取二进制指令,对所有的二进制指令进行并行译码;
S5:将每条二进制指令译码完成后的中间数据保存到输出数组的对应位置;
S6:判断输出数组内的数据是否全部保存完成,如果是,将输出数组传回主机端,如果否,继续执行步骤S4;
S7:主机端处理后输出显示输出数组。
2.根据权利要求1所述的并行指令集预译码方法,其特征在于:还包括反汇编步骤,执行步骤S6后,如果判断输出数组内的数据全部保存完成,那么同时执行反汇编步骤,将译码完成的二进制指令翻译成便于操作人员调试的汇编代码。
3.根据权利要求1或2所述的并行指令集预译码方法,其特征在于:在步骤S1中,所述可执行文件为ELF文件。
4.根据权利要求1或2所述的并行指令集预译码方法,其特征在于:在步骤S3中,首先将每条二进制指令的解析函数disassemble改成GPU执行的__device__函数,再注册__device__函数指针。
5.根据权利要求1或2所述的并行指令集预译码方法,其特征在于:在步骤S4中,利用CUDA算法进行并行译码。
6.一种实现权利要求1-5任一项所述并行指令集预译码方法的***,其特征在于包括:解析模块:用于对可执行文件进行解析,获取二进制指令;
传输模块:用于将获取的二进制指令的数据及输出数组传入存储器中;
注册模块:用于注册二进制指令和二进制指令对应的解析函数;
译码模块:用于读取二进制指令,对所有的二进制指令进行并行译码;
保存模块:用于将每条二进制指令译码完成后的中间数据保存到输出数组的对应位置;
判断模块:用于判断输出数组内的数据是否全部保存完成,如果是,将输出数组传回主机端,如果否,继续执行译码模块;
输出显示模块:主机端处理后输出显示输出数组。
7.根据权利要求6所述的并行指令集预译码***,其特征在于:还包括反汇编模块,用于将译码完成的二进制指令翻译成便于操作人员调试的汇编代码。
8.根据权利要求6或7所述的并行指令集预译码***,其特征在于:在解析模块中,所述可执行文件为ELF文件。
9.根据权利要求6或7所述的并行指令集预译码***,其特征在于:在注册模块中,首先将每条二进制指令的解析函数disassemble改成GPU执行的__device__函数,再注册__device__函数指针。
10.根据权利要求6或7所述的并行指令集预译码***,其特征在于:在译码模块中,利用CUDA算法进行并行译码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610216484.2A CN105843590B (zh) | 2016-04-08 | 2016-04-08 | 一种运行于cuda平台的并行指令集预译码方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610216484.2A CN105843590B (zh) | 2016-04-08 | 2016-04-08 | 一种运行于cuda平台的并行指令集预译码方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105843590A true CN105843590A (zh) | 2016-08-10 |
CN105843590B CN105843590B (zh) | 2019-01-11 |
Family
ID=56597192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610216484.2A Active CN105843590B (zh) | 2016-04-08 | 2016-04-08 | 一种运行于cuda平台的并行指令集预译码方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105843590B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509013A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种处理指令的方法及装置 |
CN109739824A (zh) * | 2018-12-28 | 2019-05-10 | 斑马网络技术有限公司 | 日志获取方法及设备 |
CN111028133A (zh) * | 2019-11-21 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SystemVerilog的图形命令预译码模型 |
CN111966405A (zh) * | 2020-07-03 | 2020-11-20 | 北京航空航天大学杭州创新研究院 | 一种基于GPU的Polar码高速并行译码方法 |
CN115421862A (zh) * | 2022-09-14 | 2022-12-02 | 北京计算机技术及应用研究所 | 一种51单片机处理器指令集虚拟化仿真方法 |
CN115421865A (zh) * | 2022-09-14 | 2022-12-02 | 北京计算机技术及应用研究所 | 一种dsp c6713处理器指令集虚拟化仿真方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1397886A (zh) * | 2001-05-04 | 2003-02-19 | 智慧第一公司 | 假想分支目标地址高速缓存 |
US6833862B1 (en) * | 1999-06-30 | 2004-12-21 | Logitech, Inc. | Image sensor based vignetting correction |
CN101908035A (zh) * | 2010-07-30 | 2010-12-08 | 北京华傲精创科技开发有限公司 | 视频编解码方法、gpu及其与cpu的交互方法及*** |
CN102158694A (zh) * | 2010-12-01 | 2011-08-17 | 航天恒星科技有限公司 | 一种基于gpu的遥感图像解压缩方法 |
CN102270111A (zh) * | 2011-08-11 | 2011-12-07 | 中国科学院声学研究所 | 一种指令译码方法和指令集模拟装置 |
CN104268021A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 基于图形处理器的rs解码方法 |
CN104732490A (zh) * | 2014-12-03 | 2015-06-24 | 南京理工大学 | 基于cuda的快速双边滤波方法 |
-
2016
- 2016-04-08 CN CN201610216484.2A patent/CN105843590B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6833862B1 (en) * | 1999-06-30 | 2004-12-21 | Logitech, Inc. | Image sensor based vignetting correction |
CN1397886A (zh) * | 2001-05-04 | 2003-02-19 | 智慧第一公司 | 假想分支目标地址高速缓存 |
CN101908035A (zh) * | 2010-07-30 | 2010-12-08 | 北京华傲精创科技开发有限公司 | 视频编解码方法、gpu及其与cpu的交互方法及*** |
CN102158694A (zh) * | 2010-12-01 | 2011-08-17 | 航天恒星科技有限公司 | 一种基于gpu的遥感图像解压缩方法 |
CN102270111A (zh) * | 2011-08-11 | 2011-12-07 | 中国科学院声学研究所 | 一种指令译码方法和指令集模拟装置 |
CN104268021A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 基于图形处理器的rs解码方法 |
CN104732490A (zh) * | 2014-12-03 | 2015-06-24 | 南京理工大学 | 基于cuda的快速双边滤波方法 |
Non-Patent Citations (1)
Title |
---|
俞永盛 等: "基于CUDA平台的规则LDPC码的译码实现研究", 《计算机应用与软件》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509013A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种处理指令的方法及装置 |
CN108509013B (zh) * | 2017-02-28 | 2020-06-26 | 华为技术有限公司 | 一种处理指令的方法及装置 |
CN109739824A (zh) * | 2018-12-28 | 2019-05-10 | 斑马网络技术有限公司 | 日志获取方法及设备 |
CN111028133A (zh) * | 2019-11-21 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SystemVerilog的图形命令预译码模型 |
CN111028133B (zh) * | 2019-11-21 | 2023-06-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SystemVerilog的图形命令预译码装置 |
CN111966405A (zh) * | 2020-07-03 | 2020-11-20 | 北京航空航天大学杭州创新研究院 | 一种基于GPU的Polar码高速并行译码方法 |
CN111966405B (zh) * | 2020-07-03 | 2022-07-26 | 北京航空航天大学杭州创新研究院 | 一种基于GPU的Polar码高速并行译码方法 |
CN115421862A (zh) * | 2022-09-14 | 2022-12-02 | 北京计算机技术及应用研究所 | 一种51单片机处理器指令集虚拟化仿真方法 |
CN115421865A (zh) * | 2022-09-14 | 2022-12-02 | 北京计算机技术及应用研究所 | 一种dsp c6713处理器指令集虚拟化仿真方法 |
CN115421865B (zh) * | 2022-09-14 | 2023-04-28 | 北京计算机技术及应用研究所 | 一种dsp c6713处理器指令集虚拟化仿真方法 |
CN115421862B (zh) * | 2022-09-14 | 2023-09-26 | 北京计算机技术及应用研究所 | 一种51单片机处理器指令集虚拟化仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105843590B (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843590A (zh) | 一种并行指令集预译码方法及*** | |
US7783867B2 (en) | Controlling instruction execution in a processing environment | |
TWI551986B (zh) | 用於自較低特殊權限狀態控制執行階段檢測設施之操作之電腦程式產品、方法及其系統 | |
CN104364771B (zh) | 修改来自较小特权状态的运行时间仪表控制 | |
EP2956861B1 (en) | Method and system for detecting concurrency programming errors in kernel modules and device drivers | |
US20130263090A1 (en) | System and method for automated testing | |
US10095611B1 (en) | Methodology for unit test and regression framework | |
Song et al. | The darpa cyber grand challenge: A competitor's perspective | |
US20100162212A1 (en) | Debugging pipeline | |
CN113961453B (zh) | 航空机载软件全数字仿真测试*** | |
Shi et al. | Cardinal pill testing of system virtual machines | |
US20190034318A1 (en) | Hardware-Software Co-Verification for Debugging Firmware on a Hardware Simulator | |
US10073687B2 (en) | System and method for cross-building and maximizing performance of non-native applications using host resources | |
CN109101416A (zh) | 一种内核故障注入方法及电子设备 | |
WO2012080262A1 (en) | Software error code injection | |
CN111400997B (zh) | 一种基于同步执行的处理器核验证方法、***及介质 | |
CN103713977B (zh) | 一种微处理器ip核比较验证的实现方法 | |
US9442826B2 (en) | Kernel functionality checker | |
Pacheco | Postmortem debugging in dynamic environments | |
US9111034B2 (en) | Testing of run-time instrumentation | |
Shi et al. | First steps towards the certification of an ARM simulator using Compcert | |
CN106970825B (zh) | 一种基于gdb可配置框架的arm7仿真目标机实现方法 | |
CN110709823A (zh) | 使用jit编译器并绕过所选择目标代码块的转译的目标***的仿真 | |
EP2115574B1 (en) | Employing a buffer to facilitate instruction execution | |
CN113742252B (zh) | 一种检测内存乱序的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |