CN102231180B - 处理器指令编码可重定义的方法 - Google Patents

处理器指令编码可重定义的方法 Download PDF

Info

Publication number
CN102231180B
CN102231180B CN201110216096.1A CN201110216096A CN102231180B CN 102231180 B CN102231180 B CN 102231180B CN 201110216096 A CN201110216096 A CN 201110216096A CN 102231180 B CN102231180 B CN 102231180B
Authority
CN
China
Prior art keywords
instruction
encoding
user
processor
instruction encoding
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.)
Active
Application number
CN201110216096.1A
Other languages
English (en)
Other versions
CN102231180A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201110216096.1A priority Critical patent/CN102231180B/zh
Publication of CN102231180A publication Critical patent/CN102231180A/zh
Application granted granted Critical
Publication of CN102231180B publication Critical patent/CN102231180B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

处理器指令编码可重定义的方法,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。本发明由于由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,而且用户自定义指令编码可以有极多的组合,当遭到程序段被恶意代码修改时,外来的指令编码与处理器执行的指令编码不一致,导致外来的指令编码流无法正常执行,从而有效的阻止了缓冲区溢出攻击、病毒和木马的攻击。

Description

处理器指令编码可重定义的方法
技术领域
    本发明涉及一种处理器可重新定义指令编码的方法。
背景技术
    目前,公知的处理器的执行指令的方式是:处理器从PC(指令地址寄存器)指向的内存地址中取指、解码、执行、访存、写回、更新PC(设置下一条指令的地址),然后再取出下一条指令,这样逐条执行。在解码和执行时使用的指令编码为处理器预先定义好的。在执行中若程序段遭到缓冲区溢出攻击或其他方式的攻击修改,程序将执行本身无法预料的功能,比如病毒或木马等恶意程序。现有的处理器无法识别出遭到恶意修改的程序段,因而无法阻止缓冲区溢出攻击、病毒攻击和木马的攻击。
发明内容
    为了克服现有的处理器不能区分合法指令流与非法指令流的不足,本发明提供一种指令编码可重定义方法,该方法可将合法指令流与非法指令流阻隔开来。
本发明解决技术问题采用以下技术方案:
处理器指令编码可重定义的方法,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。
在处理器内部设置与该系统指令集中指令数量相同的指令编码寄存器,每个指令编码寄存器对应一条指令编码定义,然后由用户自定义所有的指令编码定义,然后由加载指令编码指令将用户自定义的各指令编码定义分别加载到所对应的指令编码寄存器上,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。
在处理器内部设置与该系统指令集中的操作码、地址码、功能码、寄存器编码和条件编码数量相同的指令编码寄存器,每个指令编码寄存器对应一个指令编码定义,然后由用户自定义所有的指令编码定义,然后由加载指令编码指令将用户自定义的各指令编码定义分别加载到所对应的指令编码寄存器上,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。
在处理器内部指令的运行是由微指令解释执行,若干条微指令构成一个微程序,一个微程序对应一条指令编码时,由用户自定义所有的指令编码定义,然后重新编写所有的微程序使其解释执行由用户自定义的指令编码定义,然后更新所有重新编写的微程序,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。
由上述方案可见,本发明由于由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,而且用户自定义指令编码可以有极多的组合,当遭到程序段被恶意代码修改时,外来的指令编码与处理器执行的指令编码不一致,导致外来的指令编码流无法正常执行,从而有效的阻止了缓冲区溢出攻击、病毒和木马的攻击。
具体实施方式
以下结合几个实施例进一步说明本发明。
实施例1
在处理器内部设置与该系统指令集中指令数量相同的指令编码寄存器,每个指令编码寄存器对应一条指令编码定义,然后由用户自定义所有的指令编码定义,然后由加载指令编码指令将用户自定义的各指令编码定义分别加载到所对应的指令编码寄存器上,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。这样处理器就运行在由用户自定义的机器语言(指令编码)上;然后,将计算机程序的原机器指令翻译为用户自定义编码的机器指令,运行翻译为用户自定义编码的机器指令的程序。这样整个计算机系统就运行在一套全新的由用户自定义的机器语言(指令编码)上。
例如,当指令集中某一指令的原指令编码定义为01010101,对应于该指令编码定义,用户自定义的指令编码定义为11111111,然后由加载指令编码指令将该用户自定义的指令编码定义加载到所对应的指令编码寄存器上,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义。
实施例2
在处理器内部设置与该系统指令集中的操作码、地址码、功能码、寄存器编码和条件编码数量相同的指令编码寄存器,每个指令编码寄存器对应一个指令编码定义,然后由用户自定义所有的指令编码定义,然后由加载指令编码指令将用户自定义的各指令编码定义分别加载到所对应的指令编码寄存器上,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。这样处理器就运行在由用户自定义的机器语言(指令编码)上;然后,将计算机程序的原机器指令翻译为用户自定义编码的机器指令,运行翻译为用户自定义编码的机器指令的程序。这样整个计算机系统就运行在一套全新的由用户自定义的机器语言(指令编码)上。
例如,在处理器内部,当指令集中某一指令的原操作码为0101、地址码为0101,对应于该操作码及地址码,用户自定义操作码为1111、地址码为1111,由加载指令编码指令加载用户自定义的操作码、地址码到对应的指令编码寄存器,由用户自定义编码的指令编码定义取代处理器原有的指令编码定义, 
实施例3
在处理器内部指令的运行是由微指令解释执行,若干条微指令构成一个微程序,一个微程序对应一条指令编码时,由用户自定义所有的指令编码定义,然后重新编写所有的微程序使其解释执行由用户自定义的指令编码定义,然后更新所有重新编写的微程序,使用由用户自定义的指令编码定义取代处理器预先定义的指令编码定义。使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。这样处理器就运行在由用户自定义的机器语言(指令编码)上;然后,将计算机程序的原机器指令翻译为用户自定义编码的机器指令,运行翻译为用户自定义编码的机器指令的程序。这样整个计算机系统就运行在一套全新的由用户自定义的机器语言(指令编码)上。
例如,在处理器内部,当指令集中某一指令的原操作码为0101、地址码为0101,对应于该操作码及地址码,用户自定义操作码为1111、地址码为1111,重新编写微程序使其解释执行由用户自定义的操作码、地址码,再更新用户自定义的操作码、地址码的微程序,既由用户自定义的操作码、地址码定义取代处理器原有的操作码、地址码定义。
由以上实施例可见,当计算机系统受到缓冲区溢出攻击、病毒攻击和木马攻击的时候,由于外来的程序段使用的机器语言(指令编码)与本地计算机系统的机器语言(指令编码)不一致,从而使得外来的程序段无法正常执行,有效的保护了本地计算机系统。
现有的计算机系统都是采用“一次编译到处运行”的方式,同一平台所有的处理器只执行一种已经预先定义的固定的指令编码,而本发明将处理器指令编码可重定义方法引入到计算机系统中,从而打破了上述方式。

Claims (3)

1.处理器指令编码可重定义的方法,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令,其特征是:在处理器内部设置与其系统指令集中指令数量相同的指令编码寄存器,每个指令编码寄存器对应一条指令编码定义,然后由用户自定义所有的指令编码定义,然后由加载指令编码指令将用户自定义的各指令编码定义分别加载到所对应的指令编码寄存器上,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。
2.处理器指令编码可重定义的方法,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令,其特征是:在处理器内部设置与其系统指令集中的操作码、地址码、功能码、寄存器编码和条件编码数量相同的指令编码寄存器,每个指令编码寄存器对应一个指令编码定义,然后由用户自定义所有的指令编码定义,然后由加载指令编码指令将用户自定义的各指令编码定义分别加载到所对应的指令编码寄存器上,由用户自定义的指令编码定义取代处理器预先定义的指令编码定义,使处理器在解码和执行指令时,使用用户自定义的指令编码定义解码和执行指令。
3.根据权利要求1或2所述的处理器指令编码可重定义的方法,其特征是:加载指令编码指令是为加载指令编码而在指令集中增加的一条指令,用来加载用户自定义的指令编码定义到所有的指令编码寄存器。
CN201110216096.1A 2011-07-30 2011-07-30 处理器指令编码可重定义的方法 Active CN102231180B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110216096.1A CN102231180B (zh) 2011-07-30 2011-07-30 处理器指令编码可重定义的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110216096.1A CN102231180B (zh) 2011-07-30 2011-07-30 处理器指令编码可重定义的方法

Publications (2)

Publication Number Publication Date
CN102231180A CN102231180A (zh) 2011-11-02
CN102231180B true CN102231180B (zh) 2014-05-28

Family

ID=44843744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110216096.1A Active CN102231180B (zh) 2011-07-30 2011-07-30 处理器指令编码可重定义的方法

Country Status (1)

Country Link
CN (1) CN102231180B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809871B2 (en) 2018-09-17 2023-11-07 Raytheon Company Dynamic fragmented address space layout randomization

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055309B (zh) * 2016-05-27 2019-04-02 上海兆芯集成电路有限公司 中央处理器和在其中执行隐秘操作、协处理器操作的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574927A (en) * 1994-03-25 1996-11-12 International Meta Systems, Inc. RISC architecture computer configured for emulation of the instruction set of a target computer
CN1382280A (zh) * 1999-02-05 2002-11-27 坦斯利卡公司 用于设计可配置的处理器的自动处理器产生系统及其方法
CN101561833A (zh) * 2009-05-08 2009-10-21 东南大学 专用指令集处理器的设计方法
CN101887357A (zh) * 2009-05-11 2010-11-17 美普思科技有限公司 指令集架构中的变量寄存器和立即数字段编码

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW343318B (en) * 1996-09-23 1998-10-21 Advanced Risc Mach Ltd Register addressing in a data processing apparatus
US8584109B2 (en) * 2006-10-27 2013-11-12 Microsoft Corporation Virtualization for diversified tamper resistance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574927A (en) * 1994-03-25 1996-11-12 International Meta Systems, Inc. RISC architecture computer configured for emulation of the instruction set of a target computer
CN1382280A (zh) * 1999-02-05 2002-11-27 坦斯利卡公司 用于设计可配置的处理器的自动处理器产生系统及其方法
CN101561833A (zh) * 2009-05-08 2009-10-21 东南大学 专用指令集处理器的设计方法
CN101887357A (zh) * 2009-05-11 2010-11-17 美普思科技有限公司 指令集架构中的变量寄存器和立即数字段编码

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809871B2 (en) 2018-09-17 2023-11-07 Raytheon Company Dynamic fragmented address space layout randomization

Also Published As

Publication number Publication date
CN102231180A (zh) 2011-11-02

Similar Documents

Publication Publication Date Title
US10445494B2 (en) Attack protection for valid gadget control transfers
US11789735B2 (en) Control transfer termination instructions of an instruction set architecture (ISA)
US10268480B2 (en) Energy-focused compiler-assisted branch prediction
US9003375B2 (en) Optional logging of debug activities in a real time instruction tracing log
US9684511B2 (en) Using software having control transfer termination instructions with software not having control transfer termination instructions
JP2016207231A (ja) 命令エミュレーションプロセッサ、方法、およびシステム
KR20170097633A (ko) 융합된 단일 사이클 증가-비교-점프를 수행하기 위한 명령어 및 로직
TWI724065B (zh) 包含用於控制流向終止的模式特定結束分支之處理器及系統
WO2012136975A1 (en) A data processing apparatus and method for performing vector operations
US8782380B2 (en) Fine-grained privilege escalation
KR102298403B1 (ko) 제어 전송 인스트럭션으로의 리턴
CN107526622B (zh) Linux的快速异常处理方法及装置
CN102231180B (zh) 处理器指令编码可重定义的方法
JP2009059246A (ja) マイクロプロセッサ
CN102893260A (zh) 用以作为指令评估数据值的系统和方法
CN108920188B (zh) 一种扩展寄存器堆的方法及装置
US11216278B2 (en) Multi-thread processing
JP2010257199A (ja) プロセッサ及びプロセッサにおける命令発行の制御方法
KR20160108754A (ko) 파이프라인 구조의 프로세서에서의 무조건 분기 명령어 처리 방법
TW201419144A (zh) 處理器及其操作方法
JP7276755B2 (ja) 処理速度整合回路およびマイクロプロセッサ
US20230418934A1 (en) Control flow integrity to prevent potential leakage of sensitive data to adversaries
EP4239470A1 (en) Software-controlled flag to require a stack switch during execution
CN106021041B (zh) 基于有限状态机的多周期非流水线cpu调试方法
JP2011170758A (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
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 233000 Anhui province Bengbu Longzihu two steel Village East 1 Building 2 unit 5

Applicant after: Zhang Peng

Address before: The mountain district in Anhui province 233000 blue Yuhui District of Bengbu City 2 Building 1 unit 7

Applicant before: Zhang Peng

C14 Grant of patent or utility model
GR01 Patent grant