CN102681819A - 实现灵活且低成本的指令替换方法及装置 - Google Patents

实现灵活且低成本的指令替换方法及装置 Download PDF

Info

Publication number
CN102681819A
CN102681819A CN2011100622167A CN201110062216A CN102681819A CN 102681819 A CN102681819 A CN 102681819A CN 2011100622167 A CN2011100622167 A CN 2011100622167A CN 201110062216 A CN201110062216 A CN 201110062216A CN 102681819 A CN102681819 A CN 102681819A
Authority
CN
China
Prior art keywords
instruction
replacement
address
code
current
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
Application number
CN2011100622167A
Other languages
English (en)
Other versions
CN102681819B (zh
Inventor
彭洪
汤江逊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ju Li (Zhuhai) Microelectronics Co., Ltd
Original Assignee
Actions Semiconductor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Actions Semiconductor Co Ltd filed Critical Actions Semiconductor Co Ltd
Priority to CN201110062216.7A priority Critical patent/CN102681819B/zh
Publication of CN102681819A publication Critical patent/CN102681819A/zh
Application granted granted Critical
Publication of CN102681819B publication Critical patent/CN102681819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种指令替换装置及方法,在当前满足代码指令替换条件时,替换从地址线上当前地址中读出的指令操作码。对于那些仅需替换指令操作码的指令,后续继续进行译码和执行即可。对于那些替换内容较多的指令,当检测到当前地址中读出的指令操作码指示陷阱指令时,执行预设地址中的替换代码,间接实现了指令替换。应用本发明,可以让现有中央处理器CPU在结构不作大改动、且不改变编译器的前提下,灵活替换固化在CPU的掩膜只读存储器MASK ROM中的指令,并且由于无需修改MASK ROM,也无需建立函数入口地址表,实现成本较低。

Description

实现灵活且低成本的指令替换方法及装置
技术领域
本发明涉及指令替换技术,特别涉及一种实现灵活且低成本的指令替换方法及装置。
背景技术
中央处理器(CPU,Computer Progress Unit)执行指令的过程可以简述为如下过程:取指令单元从程序空间取指令、并传输给译码单元;译码单元执行译码、并将译码结果传输给执行单元;执行单元执行指令。
在CPU芯片制成后,指令固化在CPU芯片的掩膜只读存储器(MASKROM,Read Only Memory)中,有时需要对上述指令进行替换,现有技术中包括以下三种指令替换的方式:
第一、图1为现有技术中第一种指令替换方法的示意图。以Intel 80251为例,假设需要将地址为0ff43f2h开始的指令MOV sp,#80h替换为MOVsp,#89h。需要直接修改MASK ROM中的指令,并重新流片,成本较高且浪费时间。
第二、图2为现有技术中第二种指令替换方法的示意图。仍以Intel 80251为例,假设需要修改函数function1。图2中斜线阴影所示区域为修改前的函数function1,横线阴影所示区域为修改后的函数function1。
假设所有函数都可能出错,将所有函数的入口地址存放在函数入口地址表中,这个表存放在一次性编程存储器(OTP,One Time Programming)、外扩的只读存储器(ROM,Read Only Memery)或闪存(FLASH ROM)中,使用指令ecall WRj执行函数调用,其中WRj指的是一个函数入口地址。当需要修改函数function1时,修改function1在函数地址入口表中的函数入口地址,并新增修改后的function1函数与这个新的函数入口地址对应。但在实际的CPU芯片中,函数写错的概率是非常小的,只有少数的函数代码有错,因此这种指令替换的方式浪费了大量的空间存放函数入口地址表,并且目前的有些C语言编译器还无法支持这种指令替换方式。
第三、图3为现有技术中第三种指令替换方法的流程图,该流程包括:
步骤301:判断当前是否满足指令替换条件,如果是,则产生中断,然后执行步骤302;否则执行步骤303。
步骤302:调用中断服务程序到中断向量表,执行代码替换,然后执行步骤303。
步骤303:对地址线上当前地址中的指令译码并执行。
预先设置修改点位置,如果当前地址与某个修改点位置匹配,则产生一个中断,在中断服务程序中实现代码替换,这种指令替换方式需要修改中断控制器,并且会与不带中断请求的中断源(通常包括软件调制中断、异常中断和非可屏蔽中断)产生冲突。
发明内容
本发明提供一种实现灵活且低成本的指令替换方法,在现有CPU的结构不作大改动、且不改变编译器的前提下,使用该方法可以灵活且低成本的替换MASK ROM中的单条指令或一系列指令的组合。
本发明提供一种实现灵活且低成本的指令替换装置,在现有CPU的结构不作大改动、且不改变编译器的前提下,该装置可以灵活且低成本的替换MASKROM中的单条指令或一系列指令的组合。
本发明的技术方案是这样实现的:
一种实现灵活且低成本的指令替换方法,关键在于,该方法包括:
A、判断当前是否满足指令替换条件,如果是,替换从地址线上当前地址中读出的指令操作码,然后执行步骤B;否则执行步骤C;
B、检测从当前地址中读出的指令操作码是否指示陷阱指令,如果是,执行预设地址中的替换代码,并结束流程;否则执行步骤C;
C、对所述当前地址中的指令译码并执行。
一种实现灵活且低成本的指令替换装置,关键在于,该装置包括:代码替换单元、陷阱指令检测单元和陷阱指令执行单元;
所述代码替换单元,用于判断当前是否满足指令替换条件,如果是,替换从地址线上当前地址中读出的指令操作码,否则将所述当前地址中的指令输出给译码单元;
所述陷阱指令检测单元,用于检测代码替换单元处理后的指令中的指令操作码是否指示陷阱指令;
所述陷阱指令执行单元,用于在所述陷阱指令检测单元得出的检测结果为是时,执行预设地址中的替换代码,在所述陷阱指令检测单元得出的检测结果为否时,将所述当前地址中的指令输出给译码单元。
可以看出,本发明中实现灵活且低成本的指令替换方法中,在当前满足指令替换条件时,替换指令操作码。对于那些仅需替换指令操作码的指令,后续继续进行译码和执行即可。对于那些替换内容较多的指令,设置了一种陷阱指令,当替换指令操作码后的指令为陷阱指令时,执行预设地址中的替换代码,间接实现了指令替换。使用本发明中的指令替换方法,可以在现有CPU在结构不作大改动、且不改变编译器的前提下,灵活替换固化在CPU的MASK ROM中的单条指令或一系列指令的组合,并且由于无需修改MASK ROM,也无需建立函数入口地址表,实现成本较低。
附图说明
图1为现有技术中第一种指令替换方法的示意图;
图2为现有技术中第二种指令替换方法的示意图;
图3为现有技术中第三种指令替换方法的流程图;
图4为本发明实施例中的实现灵活且低成本的指令替换方法流程图;
图5为图4所示方法的一个实施例中的方法流程图;
图6为图5所示流程中步骤504的实现方法流程图;
图7为本发明实施例中的实现灵活且低成本的指令替换装置的结构示意图;
图8为图7所示装置的一个实施例中代码替换单元的结构示意图;
图9为图7所示装置的一个实施例中陷阱指令执行单元的结构示意图。
具体实施方式
为使本发明实施例的目的和优点更加清楚,下面结合附图对本发明实施例作进一步的详细说明。
图4为本发明实施例中的指令替换装置的指令替换方法流程图,该流程包括:
步骤401:判断当前是否满足指令替换条件,如果是,替换从地址线上当前地址中读出的指令操作码,然后执行步骤402;否则执行步骤403。
步骤402:检测从当前地址中读出的指令操作码是否指示陷阱指令,如果是,执行预设地址中的替换代码,并结束流程;否则执行步骤403。
在本发明实施例中,陷阱指令为预先设置的、指示执行预设地址中的替换代码的一种指令,陷阱指令的指令操作码可以从CPU现在未使用的机器码中任选,例如可以选择0xb8作为陷阱指令的指令操作码。
步骤403:对所述当前地址中的指令译码并执行。
可以看出,本发明中实现灵活且低成本的指令替换方法中,在当前满足指令替换条件时,替换指令操作码。对于那些仅需替换指令操作码的指令来说,后续继续进行译码和执行即可,对于那些替换内容较多的指令来说,设置了一种陷阱指令,当替换指令操作码后的指令为陷阱指令时,执行预设地址中的替换代码,间接实现了指令替换。使用上述指令替换方法可以在现有CPU在结构不作大改动、且不改变编译器的前提下,灵活的替换固化在CPU的MASK ROM中的单条指令或一系列指令的组合,并且由于无需修改MASK ROM,也无需建立函数入口地址表,实现成本较低。
下面给出图4所示方法的一个具体实施例。
图5为图4所示方法的一个实施例的方法流程图,包括初始化流程和指令替换流程。
图5中虚线框内为上述初始化流程,包括:初始化修改点数量n、设置修改点位置及每个修改点位置对应的替换指令操作码、设置指令替换服务程序入口地址、使能指令替换功能。
上述指令替换流程包括:
步骤501:判断当前是否为取指令操作且存在与地址线上的当前值相同的修改点位置,如果是,执行步骤502,否则执行步骤505。
地址线上的当前值,指示的就是当前地址。
步骤502:使用与地址线上的当前值相同的修改点位置对应的待替换的指令操作码,替换从地址线上当前地址中读出的指令操作码,将替换后的指令填入指令FIFO。
步骤503:检测从地址线上当前地址中读出的指令操作码是否指示陷阱指令,如果是,执行步骤504,否则执行步骤506。
步骤504:保护地址线上的当前地址,跳转到指令服务替换程序的入口地址,并调用指令替换服务程序执行预设地址中的替换代码,结束流程。
本步骤中,调用指令替换服务程序执行预设地址中的替换代码的方法流程如图6所示,图6所示流程包括:
步骤601:计算当前地址的堆栈指针。
本步骤中,由于指令替换服务程序并不知道地址线上的当前地址,所以通过公式SPfix_pos=SPnew-服务程序入口地址寄存器中的字节数来计算当前地址的堆栈指针。
步骤602:从当前地址的堆栈指针指向的位置读出当前地址的程序指针。
本步骤中,根据SPfix_pos指向的位置读出当前地址的程序指针PCcurrent
步骤603:判断当前地址是否与第i个修改点位置相同,如果是,执行步骤604,否则执行步骤605。
步骤604:执行第i个修改点位置对应的预设地址中的替换代码,结束流程。
步骤605:判断i是否小于等于修改点数量n,如果是,计算i=i+1,并返回步骤603,否则结束流程。
经过上述步骤601~步骤605调用指令替换服务程序执行预设地址中的替换代码。
步骤505:将程序空间读到的数据填入指令FIFO。
步骤506:对地址线上的当前地址中的指令译码。
步骤507:执行译码后的指令。
图7为本发明实施例中实现灵活且低成本的指令替换装置的结构示意图,该装置包括:代码替换单元、陷阱指令检测单元和陷阱指令执行单元。
上述代码替换单元,用于判断当前是否满足指令替换条件,如果是,替换从所述当前地址中读出的指令操作码,否则将地址线上当前地址中的指令输出给译码执行单元。
上述陷阱指令检测单元,用于检测代码替换单元处理后的指令中的指令操作码是否指示陷阱指令。
上述陷阱指令执行单元,用于在陷阱指令检测单元得出的检测结果为是时,执行预设地址中的替换代码,在所述陷阱指令检测单元得出的检测结果为否时,将地址线上当前地址中的指令输出给译码执行单元。
下面提供图7所示装置的一个具体实施例。
本实施例中,指令替换装置中除了包括代码替换单元、陷阱指令检测单元和陷阱指令执行单元外,还包括服务程序入口地址寄存器,用于存储指令替换服务程序的入口地址。
图8为图7所示装置的一个实施例中代码替换单元的结构示意图,该代码替换单元包括:取指令和取数据判决子单元、修改点数量寄存器、N选一多路复用器、N个程序地址比较器、N个比较匹配子单元、N个修改点位置寄存器、N个替换指令操作码寄存器、N个二选一多路复用器和N个与门。
每个修改点位置寄存器与一个程序地址比较器、一个比较匹配子单元、一个与门、一个替换指令代码寄存器及一个二选一多路复用器具有对应关系,N为整数。
上述修改点数量寄存器,用于存储修改点数量的初始值n,使能n个比较匹配子单元。这里的n<N,按照图4所示,可以使能开始的n个比较匹配子单元。
上述每个替换指令操作码寄存器,用于存储一个修改点位置待替换的指令操作码。常规的指令操作码可以有很多种,例如指令orl a,0x83(对应的机器码为0x45 0x83)中,0x45为指令操作码。在本实施例中,还有一种特殊的指令操作码,用于指示陷阱指令,这种指令操作码可以从CPU现在未使用的机器码中任选,例如可以选择0xb8。
上述取指令和取数据判决子单元,用于判决当前是取指令操作还是取数据操作,将判决结果发送给每个与门。假设高电平信号代表取指令操作,低电平信号代表取数据操作。
上述每个程序地址比较器,用于获取地址线上的当前值,发送给对应的比较匹配子单元。地址线上的当前值指示当前地址。
上述每个比较匹配子单元,用于从对应的修改点位置寄存器中获取修改点位置,比较地址线上的当前值与获取的修改点位置是否相同,将比较结果提供给对应的与门,并将比较结果提供给N选一多路复用器。假设高电平信号代表判断结果为是,低电平信号代表判断结果为否。由于本实施例中的修改点数量寄存器有使能比较匹配子单元的功能,所以未被使能的比较匹配子单元将不执行任何操作。
上述每个与门,用于在接收到判决结果为取指令操作且接收到的比较结果为是时,向对应的二选一多路复用器输出触发信号。这里的触发信号是触发对应的二选一多路复用器执行指令操作码的替换操作。
上述每个二选一多路复用器,用于在对应的与门输出触发信号时,获取对应的替换指令操作码寄存器中的待替换的指令操作码,使用获取的待替换的指令操作码替换从当前地址中读出的指令操作码,将替换后的指令提供给N选一多路复用器;在对应的与门未输出触发信号时,将从程序空间读到的数据提供给N选一多路复用器。
上述N选一多路复用器,用于在一个比较匹配子单元得出的比较结果为是时,选择输出该比较结果的比较匹配子单元对应的二选一多路复用器输出的指令,并输出到指令先入先出(FIFO,First In First Out);在所有比较匹配子单元得出的比较结果都为否时,选择任一个接收到的指令,输出到指令FIFO。在同一时间,N选一多路复用器只可能接收到一个比较匹配子单元发送的比较结果为是。
图9为图7所示装置的一个实施例中的陷阱指令执行单元的结构示意图,该陷阱指令执行单元包括程序地址保护子单元和调用子单元。
上述程序地址保护子单元,用于将当前地址的程序指针PCcurrent放入堆栈,对应的堆栈指针为SPfix_pos
上述调用子单元,用于从服务程序入口地址寄存器中获取指令替换服务程序的入口地址,将程序指针修改为指令替换服务程序的入口地址,对应的堆栈指针为SPnew,则SPnew=SPfix_pos+服务程序入口地址寄存器中的字节数;按照指令替换服务程序的入口地址调用存储在可修改存储介质中的指令替换服务程序,计算当前地址的堆栈指针SPfix_pos,其中SPfix_pos=SPnew-服务程序入口地址寄存器中的字节数,从当前地址的堆栈指针指向的位置读出当前地址的程序指针PCcurrent,确定与当前地址匹配的修改点位置,获取匹配的修改点位置对应的预设地址,执行所述预设地址中的替换代码。
可以看出,本发明中实现灵活且低成本的指令替换方法和装置,在当前满足指令替换条件时,替换指令操作码。对于那些仅需替换指令操作码的指令来说,后续继续进行译码和执行即可,对于那些替换内容较多的指令来说,设置了一种陷阱指令,当替换指令操作码后的指令为陷阱指令时,执行预设地址中的替换代码,间接实现了指令替换。使用上述指令替换方法可以在现有CPU在结构不作大改动、且不改变编译器的前提下,灵活的替换固化在CPU的MASK ROM中的单条指令或一系列指令的组合,并且由于无需修改MASK ROM,也无需建立函数入口地址表,实现成本较低。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种实现灵活且低成本的指令替换方法,其特征在于,该方法包括:
A、判断当前是否满足指令替换条件,如果是,替换从地址线上当前地址中读出的指令操作码,然后执行步骤B;否则执行步骤C;
B、检测从当前地址中读出的指令操作码是否指示陷阱指令,如果是,执行预设地址中的替换代码,并结束流程;否则执行步骤C;
C、对所述当前地址中的指令译码并执行。
2.如权利要求1所述的方法,其特征在于,所述步骤A之前进一步包括初始化的步骤,具体包括:初始化修改点数量、设置修改点位置、设置每个修改点位置对应的替换指令操作码、设置指令替换服务程序入口地址及使能指令替换功能。
3.如权利要求2所述的方法,其特征在于,步骤A中的所述指令替换条件为:当前为取指令操作且存在与地址线上的当前值相同的修改点位置;
步骤A中的所述替换从地址线上当前地址中读出的指令操作码为:使用与地址线上的当前值相同的修改点位置对应的待替换的指令操作码,替换从所述当前地址中读出的指令操作码。
4.如权利要求2所述的方法,其特征在于,步骤B中所述执行预设地址中的替换代码为:保护所述当前地址,跳转到指令服务替换程序的入口地址,调用所述指令替换服务程序执行预设地址中的替换代码。
5.如权利要求4所述的方法,其特征在于,所述保护所述当前地址为:将所述当前地址的程序指针PCcurrent放入堆栈,对应的堆栈指针为SPfix_pos
6.如权利要求5所述的方法,其特征在于,所述跳转到指令服务替换程序的入口地址,调用所述指令替换服务器程序执行预设地址中的替换代码包括:
从服务程序入口地址寄存器中获取所述服务程序入口地址;
将程序指针修改为所述服务程序入口地址,对应的堆栈指针为SPnew,其中SPnew=SPfix_pos+服务程序入口地址寄存器中的字节数;
根据所述修改后的程序指针调用存储在可修改存储介质中的指令替换服务程序;
计算当前地址的堆栈指针SPfix_pos,其中SPfix_pos=SPnew-服务程序入口地址寄存器中的字节数;
从当前地址的堆栈指针指向的位置读出当前地址的程序指针PCcurrent
确定所述PCcurrent与第i个修改点位置是否匹配,如果是执行第i个修改点位置对应的预设地址中的替换代码,否则计算i=i+1、并继续执行所述确定的步骤,直至i>n。
7.如权利要求1或2所述的方法,其特征在于,所述预设地址为预先设置的固定值,或者为寄存器中的临时配置值。
8.一种实现灵活且低成本的指令替换装置,其特征在于,该装置包括:代码替换单元、陷阱指令检测单元和陷阱指令执行单元;
所述代码替换单元,用于判断当前是否满足指令替换条件,如果是,替换从地址线上当前地址中读出的指令操作码,否则将所述当前地址中的指令输出给译码单元;
所述陷阱指令检测单元,用于检测代码替换单元处理后的指令中的指令操作码是否指示陷阱指令;
所述陷阱指令执行单元,用于在所述陷阱指令检测单元得出的检测结果为是时,执行预设地址中的替换代码,在所述陷阱指令检测单元得出的检测结果为否时,将所述当前地址中的指令输出给译码单元。
9.如权利要求8所述的装置,其特征在于,所述代码替换单元中包括:
取指令和取数据判决子单元,用于判决当前是取指令操作还是取数据操作,将判决结果发送给每个与门;
修改点数量寄存器,用于存储修改点数量的初始值n,使能n个比较匹配电路;
N选一多路复用器,用于在有一个所述比较结果为是时,选择输出该比较结果的比较匹配子单元对应的二选一多路复用器输出的指令,并输出到指令先入先出FIFO;在所有所述比较结果为否时,选择任一个接收到的指令,输出到指令FIFO;
N个程序地址比较器,每个程序地址比较器用于获取地址线上的当前值,发送给对应的比较匹配子单元;
N个比较匹配子单元,每个比较匹配子单元用于从对应的修改点位置寄存器中获取修改点位置,比较地址线上的当前值与获取的修改点位置是否相同,将比较结果提供给对应的与门和N选一多路复用器;
N个修改点位置寄存器,每个修改点位置寄存器用于存储修改点位置;
N个替换指令操作码寄存器,每个替换指令操作码寄存器用于存储一个修改点位置的待替换的指令操作码;
N个二选一多路复用器,每个二选一多路复用器用于在对应的与门输出触发信号时,获取对应的替换指令操作码寄存器中的待替换的指令操作码,使用获取的待替换的指令操作码替换从当前地址中读出的指令操作码,将替换后的指令提供给N选一多路复用器;在对应的与门未输出触发信号时,将从程序空间读到的数据提供给N选一多路复用器;
N个与门,每个与门用于在所述判决结果为取指令操作且所述比较结果为是时,向对应的二选一多路复用器输出触发信号;
所述N为整数,且n<N。
10.如权利要求9所述的装置,其特征在于,该装置中进一步包括:服务程序入口地址寄存器,用于存储指令替换服务程序入口地址。
11.如权利要求10所述的装置,其特征在于,所述陷阱指令执行单元包括:
程序地址保护子单元,用于将所述当前地址的程序指针PCcurrent放入堆栈,对应的堆栈指针为SPfix_pos
调用子单元,用于从服务程序入口地址寄存器中获取指令替换服务程序的入口地址,将程序指针修改为指令替换服务程序的入口地址,对应的堆栈指针为SPnew,其中SPnew=SPfix_pos+服务程序入口地址寄存器中的字节数;按照指令替换服务程序的入口地址调用存储在可修改存储介质中的指令替换服务程序,计算当前地址的堆栈指针SPfix_pos,其中SPfix_pos=SPnew-服务程序入口地址寄存器中的字节数,从当前地址的堆栈指针指向的位置读出当前地址的程序指针PCcurrent,确定所述PCcurrent与第i个修改点位置是否匹配,如果是执行第i个修改点位置对应的预设地址中的替换代码,否则计算i=i+1、并继续执行所述确定操作,直至i>n。
CN201110062216.7A 2011-03-10 2011-03-10 实现灵活且低成本的指令替换方法及装置 Active CN102681819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110062216.7A CN102681819B (zh) 2011-03-10 2011-03-10 实现灵活且低成本的指令替换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110062216.7A CN102681819B (zh) 2011-03-10 2011-03-10 实现灵活且低成本的指令替换方法及装置

Publications (2)

Publication Number Publication Date
CN102681819A true CN102681819A (zh) 2012-09-19
CN102681819B CN102681819B (zh) 2015-09-23

Family

ID=46813807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110062216.7A Active CN102681819B (zh) 2011-03-10 2011-03-10 实现灵活且低成本的指令替换方法及装置

Country Status (1)

Country Link
CN (1) CN102681819B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915180A (zh) * 2014-03-10 2015-09-16 华为技术有限公司 一种数据操作的方法和设备
CN106055309A (zh) * 2016-05-27 2016-10-26 上海兆芯集成电路有限公司 中央处理器和在其中执行隐秘操作、协处理器操作的方法
CN108446242A (zh) * 2018-03-07 2018-08-24 珠海昇生微电子有限责任公司 一种固化代码的替换方法及系统
CN109144572A (zh) * 2018-08-06 2019-01-04 龙芯中科技术有限公司 指令执行方法和处理器
CN114238163A (zh) * 2022-02-25 2022-03-25 湖北芯擎科技有限公司 Rom中数据的处理方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1250909A (zh) * 1998-10-12 2000-04-19 北京多思科技工业园股份有限公司 指令控制替换方法及其装置
US20080155232A1 (en) * 2006-01-06 2008-06-26 Apple Inc. Sharing a Data Buffer
CN101539868A (zh) * 2009-04-10 2009-09-23 北京大学 一种虚拟机管理器的客户操作系统内核代码动态替换方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1250909A (zh) * 1998-10-12 2000-04-19 北京多思科技工业园股份有限公司 指令控制替换方法及其装置
US20080155232A1 (en) * 2006-01-06 2008-06-26 Apple Inc. Sharing a Data Buffer
CN101539868A (zh) * 2009-04-10 2009-09-23 北京大学 一种虚拟机管理器的客户操作系统内核代码动态替换方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915180A (zh) * 2014-03-10 2015-09-16 华为技术有限公司 一种数据操作的方法和设备
CN104915180B (zh) * 2014-03-10 2017-12-22 华为技术有限公司 一种数据操作的方法和设备
CN106055309A (zh) * 2016-05-27 2016-10-26 上海兆芯集成电路有限公司 中央处理器和在其中执行隐秘操作、协处理器操作的方法
CN106055309B (zh) * 2016-05-27 2019-04-02 上海兆芯集成电路有限公司 中央处理器和在其中执行隐秘操作、协处理器操作的方法
CN108446242A (zh) * 2018-03-07 2018-08-24 珠海昇生微电子有限责任公司 一种固化代码的替换方法及系统
CN109144572A (zh) * 2018-08-06 2019-01-04 龙芯中科技术有限公司 指令执行方法和处理器
CN109144572B (zh) * 2018-08-06 2021-03-30 龙芯中科技术股份有限公司 指令执行方法和处理器
CN114238163A (zh) * 2022-02-25 2022-03-25 湖北芯擎科技有限公司 Rom中数据的处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN102681819B (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
CN102681819A (zh) 实现灵活且低成本的指令替换方法及装置
CN102364430B (zh) 支持一次性可编程存储器多次编程的微控制器和编程方法
CN101231597A (zh) 智能卡中java程序指令的执行方法
CN107480476B (zh) 一种基于ELF感染的Android本地层指令编译虚拟化加壳方法
US9753730B2 (en) Decoding instructions from multiple instructions sets
CN102934075A (zh) 用于使用预先通知技术改变程序的顺序流程的方法和设备
US20220107827A1 (en) Applying security mitigation measures for stack corruption exploitation in intermediate code files
CN103077062A (zh) 一种代码改动的检测方法和装置
KR101882759B1 (ko) 안정된 바이너리 식별 방법 및 장치
CN112182584A (zh) 安全校验方法及装置、电子设备、存储介质
KR20140034294A (ko) Rom용 프로그램가능 패치 아키텍처
EP2784682A1 (en) Memory patching circuit
CN102893260B (zh) 用以作为指令评估数据值的系统和方法
CN105630530A (zh) 数字信号处理器多级启动方法及系统
CN101226468A (zh) 一种risc处理器装置及其有界访存方法
CN108920188A (zh) 一种扩展寄存器堆的方法及装置
CN114253554A (zh) 一种代码处理方法、装置及存储介质
US9003198B2 (en) Method and apparatus for data processing
US20070022271A1 (en) Processor with changeable correspondences between opcodes and instructions
CN101625643B (zh) 一种8051单片机地址映射方法
WO2022068559A1 (zh) 一种代码处理方法、装置及设备
US7415602B2 (en) Apparatus and method for processing a sequence of jump instructions
CN109200581B (zh) 通过python代码控制游戏角色的方法、电子设备
CN111078264A (zh) 应用升级方法及装置
JP5821495B2 (ja) プログラム再利用システムおよびプログラム再利用方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160115

Address after: 519080, No. 1, building 1, No. four, No. 1 road, hi tech Zone, Tang Wan Town, Zhuhai, Guangdong, C

Patentee after: ACTIONS (ZHUHAI) TECHNOLOGY CO., LTD.

Address before: 519085, No. 1, Da Ha Road, Tang Wan Town, Guangdong, Zhuhai, -15-A101

Patentee before: Juli Integrated Circuit Design Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181109

Address after: Room 105-1023, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Patentee after: Torch (Zhuhai) Microelectronics Co., Ltd.

Address before: 519080 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province

Patentee before: JUXIN (ZHUHAI) SCIENCE & TECHNOLOGY CO., LTD.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 105-1023, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Patentee after: Ju Li (Zhuhai) Microelectronics Co., Ltd

Address before: 519085 Guangdong city of Zhuhai province Hengqin Baohua Road No. 6, room 105 -1023

Patentee before: JUXIN (ZHUHAI) MICROELECTRONICS Co.,Ltd.