CN104991759A - 一种可变指令集微处理器及其实现方法 - Google Patents

一种可变指令集微处理器及其实现方法 Download PDF

Info

Publication number
CN104991759A
CN104991759A CN201510449099.8A CN201510449099A CN104991759A CN 104991759 A CN104991759 A CN 104991759A CN 201510449099 A CN201510449099 A CN 201510449099A CN 104991759 A CN104991759 A CN 104991759A
Authority
CN
China
Prior art keywords
variable order
order collection
register
processor
program
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
CN201510449099.8A
Other languages
English (en)
Other versions
CN104991759B (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.)
Sichuan Kaiyan Intellectual Property Service Co ltd
Zhejiang Qusu Technology Co ltd
Original Assignee
Chengdu Teng Yue Science And Technology 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 Chengdu Teng Yue Science And Technology Ltd filed Critical Chengdu Teng Yue Science And Technology Ltd
Priority to CN201510449099.8A priority Critical patent/CN104991759B/zh
Publication of CN104991759A publication Critical patent/CN104991759A/zh
Priority to PCT/CN2016/078069 priority patent/WO2017016232A1/zh
Application granted granted Critical
Publication of CN104991759B publication Critical patent/CN104991759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种可变指令集微处理器及其实现方法,寄存器命名如下:变指地址寄存器,用于存放可变指令集地址;变指号寄存器,用于存放可变指令集号码,该寄存器的值从0开始,每当处理器可变指令集寄存器的值改变一次,该寄存器的值增加1;变指使能寄存器:当该寄存器的值被置位,处理器使用线程或者任务规定的可变指令集;当该寄存器被复位,处理器使用处理器自身的指令集;可变指令集寄存器储存程序可变指令集对应处理器指令集的关系;变指号清除指令:当程序使用该指令后,处理器会清除可变指令集号码对应的可变指令集地址。本发明采用可变指令集微处理器,可以避免逆向破解程序破解处理器的指令,从而防止恶意软件的攻击,提高数据安全性。

Description

一种可变指令集微处理器及其实现方法
技术领域
本发明涉及一种可变指令集微处理器及其实现方法。
背景技术
指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序。拥有这些指令集,CPU就可以更高效地运行。Intel有x86,x86-64,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3),SSE4.1,SSE4.2和针对64位桌面处理器的EM-64T。AMD主要是3D-Now!指令集。CPU靠指令来计算和控制系统,每款CPU设计时就规定了与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集(CISC指令集)和精简指令集(RISC指令集)两部分,而从具体运用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图像和Internet等处理能力。通常把CPU的扩展指令集称为"CPU的指令集"。
现有处理器都采用固定指令集,这样破解程序通过分析二进制目标程序可以破解程序的源代码,这样容易导致数据安全隐患。
发明内容
本发明的目的在于克服现有技术的不足,提供一种可变指令集微处理器及其实现方法,当前程序可以随时更改可变指令集,使得非法程序不能更改当前程序,防止恶意软件的攻击,提高数据处理的安全性。
本发明的目的是通过以下技术方案来实现的:一种可变指令集微处理器,所述可变指令集微处理器的寄存器命名如下:
变指地址寄存器:用于存放可变指令集地址,可变指令集地址指用于存储用户可变指令集的内存地址,该寄存器只能被程序写入,而不能被程序读取,否则产生异常;
变指号寄存器:用于存放可变指令集号码,该寄存器的值从0开始,每当处理器可变指令集寄存器的值改变一次,该寄存器的值增加1,该寄存器能够被线程或者任务读写;
变指使能寄存器:当该寄存器的值被置位,处理器使用线程或者任务规定的可变指令集;当该寄存器被复位,处理器使用处理器自身的指令集;
可变指令集存储单元:用于存放用户可变指令集,存放在主存、辅存或者处理器中;所述的处理器指令集(我们把处理器完成计算或者控制的指令合称为指令集)为基于某一个固定地址偏移对应的处理器指令集,或者是基于某一个固定地址程序可变指令集处对应的处理器指令集,或者是基于处理器固定指令对应的程序可变指令集;
变指号清除指令:当程序使用该指令后,处理器会清除可变指令集号码以及可变指令集号码对应的可变指令集地址。
所述的可变指令集地址为:处理器可变指令集在主存、辅存或者处理器中的地址。
所述的处理器指令集为基于某一个固定地址偏移对应处理器指令集,或者是基于某一个固定地址程序可变指令集处对应处理器指令集,或者是基于处理器固定指令对应程序可变指令集,处理器机械地在主存或者辅存中划分一定容量的存储单元,把可变指令集的号码对应的可变指令集地址,可变指令集放在该存储单元中,处理器对该地址段内容进行了硬件加密,不能被程序读写,否则产生异常。
一种可变指令集微处理器的实现方法,包括以下步骤:
(1)开启模式可变指令:
程序在合适的存储单元建立好可变指令集,然后程序把可变指令目录地址放到处理器可变指令集寄存器,然后把程序的指令替换成需要更改的可变指令集,最后使能可变指令集寄存器,处理器使用程序提供的指令集;
(2)遗弃处理器使用的可变指令集:
程序要遗弃可变指令集,首先程序将程序正在使用的可变指令集代码转换成处理器的固定指令集代码,然后复位变指使能寄存器,使用清除可变指令集指令清除可变指令集地址和可变指令集号码;
(3)在程序运行过程中改变处理器指令集,包括以下子步骤:
S1:程序把对应处理器可变指令集的可变指令集存放在合适的储存单元,可变指令集存放在主存、片上缓存或者辅存中;
S2:把程序的指令替换成需要更改的可变指令集;
S3:程序把可变指令集地址放到变指地址寄存器,处理器将变指号寄存器的值加1;
S4:把程序的指令替换成新的可变指令集,置位变指使能寄存器,处理器使用程序提供的新的指令集;
(4)程序上下文的切换:
程序把使能可变指令集寄存器、变指号寄存器存入程序结构中,当要恢复线程上下文的时候,把程序结构中的使能可变指令集寄存器的值放到使能可变指令集寄存器中,把变指号寄存器的值放到变指号寄存器中。
本发明的有益效果是:逆向破解程序知道处理器的指令,从而得到软件的源代码。本申请采用可变指令集微处理器,可以避免逆向破解程序破解处理器的指令,从而防止恶意软件的攻击,提高数据安全性。
具体实施方式
下面进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
一种可变指令集微处理器,所述可变指令集微处理器的寄存器命名如下:
变指地址寄存器:用于存放可变指令集地址(指示处理器对应的可变指令集,在主存中,或者在辅存中,或者在处理器中的地址),可变指令集地址指用于存储用户可变指令集的内存地址,该寄存器只能被程序写入,而不能被程序读取(可防止其他程序窥探其他用户程序的指令集),否则产生异常;
变指号寄存器:用于存放可变指令集号码,该寄存器的值从0开始,每当处理器可变指令集寄存器的值改变一次,该寄存器的值增加1,该寄存器能够被线程或者任务读写;为了保证写的数据正确,不使用未被使用的值,并且也不要使用其他程序的可变指令集的号码,否则会产生不能预测的错误;
变指使能寄存器:当该寄存器的值被置位,处理器使用线程或者任务规定的可变指令集;当该寄存器被复位,处理器使用处理器自身的指令集;
可变指令集存储单元:用于存放用户可变指令集,存放在主存、辅存或者处理器中;所述的处理器指令集(我们把处理器完成计算或者控制的指令合称为指令集)为基于某一个固定地址偏移对应的处理器指令集,或者是基于某一个固定地址程序可变指令集处对应的处理器指令集,或者是基于处理器固定指令对应的程序可变指令集;
变指号清除指令:当程序使用该指令后,处理器会清除可变指令集号码以及可变指令集号码对应的可变指令集地址。
所述的可变指令集地址为处理器可变指令集在主存、辅存或者处理器中的地址。
一种可变指令集微处理器的实现方法,包括以下步骤:
(1)开启模式可变指令:
程序在合适的存储单元建立好可变指令集,然后程序把可变指令目录地址放到处理器可变指令集寄存器,然后把程序的指令替换成需要更改的可变指令集,最后使能可变指令集寄存器,处理器使用程序提供的指令集;
(2)遗弃处理器使用的可变指令集:
程序要遗弃可变指令集,首先程序将程序正在使用的可变指令集代码转换成处理器的固定指令集代码,然后复位变指使能寄存器,使用清除可变指令集指令清除可变指令集地址和可变指令集号码;
(3)在程序运行过程中改变处理器指令集,包括以下子步骤:
S1:程序把对应处理器可变指令集的可变指令集存放在合适的储存单元(可变指令集可以放在主存,片上缓存,或者辅存中);
S2:把程序的指令替换成需要更改的可变指令集;
S3:程序把可变指令集地址放到变指地址寄存器,处理器将变指号寄存器的值加1;
S4:置位变指使能寄存器,处理器使用程序提供的新的指令集;
(4)程序上下文的切换:
程序把使能可变指令集寄存器、变指号寄存器存入程序结构中,当要恢复线程上下文的时候,把程序结构中的使能可变指令集寄存器的值放到使能可变指令集寄存器中,把变指号寄存器的值放到变指号寄存器中。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (4)

1.一种可变指令集微处理器,其特征在于,所述可变指令集微处理器的寄存器命名如下:
变指地址寄存器:用于存放可变指令集地址,可变指令集地址指用于存储用户可变指令集的内存地址,该寄存器只能被程序写入,而不能被程序读取,否则产生异常;
变指号寄存器:用于存放可变指令集号码,该寄存器的值从0开始,每当处理器可变指令集寄存器的值改变一次,该寄存器的值增加1,该寄存器能够被线程或者任务读写;
变指使能寄存器:当该寄存器的值被置位,处理器使用线程或者任务规定的可变指令集;当该寄存器被复位,处理器使用处理器自身的指令集;
可变指令集存储单元:用于存放用户可变指令集,存放在主存、辅存或者处理器中;所述的处理器完成计算或者控制的指令集为基于某一个固定地址偏移对应的处理器指令集,或者是基于某一个固定地址程序可变指令集处对应的处理器指令集,或者是基于处理器固定指令对应的程序可变指令集;
变指号清除指令:当程序使用该指令后,处理器会清除可变指令集号码以及可变指令集号码对应的可变指令集地址。
2.根据权利要求1所述的一种可变指令集微处理器,其特征在于:所述的可变指令集地址为:处理器可变指令集在主存、辅存或者处理器中的地址。
3.根据权利要求1所述的一种可变指令集微处理器,其特征在于:所述的处理器指令集为基于某一个固定地址偏移对应处理器指令集,或者是基于某一个固定地址程序可变指令集处对应处理器指令集,或者是基于处理器固定指令对应程序可变指令集,处理器机械地在主存或者辅存中划分一定容量的存储单元,把可变指令集的号码对应的可变指令集地址,可变指令集放在该存储单元中,处理器对该地址段内容进行了硬件加密,不能被程序读写,否则产生异常。
4.根据权利要求1-3中任意一项所述的一种可变指令集微处理器的实现方法,其特征在于,包括以下步骤:
(1)开启模式可变指令:
程序在合适的存储单元建立好可变指令集,然后程序把可变指令目录地址放到处理器可变指令集寄存器,然后把程序的指令替换成需要更改的可变指令集,最后使能可变指令集寄存器,处理器使用程序提供的指令集;
(2)遗弃处理器使用的可变指令集:
程序要遗弃可变指令集,首先程序将程序正在使用的可变指令集代码转换成处理器的固定指令集代码,然后复位变指使能寄存器,使用清除可变指令集指令清除可变指令集地址和可变指令集号码;
(3)在程序运行过程中改变处理器指令集,包括以下子步骤:
S1:程序把对应处理器可变指令集的可变指令集存放在合适的储存单元,可变指令集存放在主存、片上缓存或者辅存中;
S2:把程序的指令替换成需要更改的可变指令集;
S3:程序把可变指令集地址放到变指地址寄存器,处理器将变指号寄存器的值加1;
S4:把程序的指令替换成新的可变指令集,置位变指使能寄存器,处理器使用程序提供的新的指令集;
(4)程序上下文的切换:
程序把使能可变指令集寄存器、变指号寄存器存入程序结构中,当要恢复线程上下文的时候,把程序结构中的使能可变指令集寄存器的值放到使能可变指令集寄存器中,把变指号寄存器的值放到变指号寄存器中。
CN201510449099.8A 2015-07-28 2015-07-28 一种可变指令集微处理器及其实现方法 Active CN104991759B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510449099.8A CN104991759B (zh) 2015-07-28 2015-07-28 一种可变指令集微处理器及其实现方法
PCT/CN2016/078069 WO2017016232A1 (zh) 2015-07-28 2016-03-31 一种可变指令集微处理器及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510449099.8A CN104991759B (zh) 2015-07-28 2015-07-28 一种可变指令集微处理器及其实现方法

Publications (2)

Publication Number Publication Date
CN104991759A true CN104991759A (zh) 2015-10-21
CN104991759B CN104991759B (zh) 2018-01-16

Family

ID=54303575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510449099.8A Active CN104991759B (zh) 2015-07-28 2015-07-28 一种可变指令集微处理器及其实现方法

Country Status (2)

Country Link
CN (1) CN104991759B (zh)
WO (1) WO2017016232A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017016232A1 (zh) * 2015-07-28 2017-02-02 成都腾悦科技有限公司 一种可变指令集微处理器及其实现方法
CN109685731A (zh) * 2018-12-13 2019-04-26 浪潮通用软件有限公司 一种基于sse4指令集加快图片渐变速度的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1147307A (zh) * 1994-05-03 1997-04-09 先进Risc机器有限公司 多指令集的数据处理
US5854913A (en) * 1995-06-07 1998-12-29 International Business Machines Corporation Microprocessor with an architecture mode control capable of supporting extensions of two distinct instruction-set architectures
CN1450450A (zh) * 2003-05-15 2003-10-22 复旦大学 采用双指令集的32位嵌入式微处理器
CN101253480A (zh) * 2005-08-31 2008-08-27 明达尔半导体有限公司 具有实时动态可变指令集的计算机

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991759B (zh) * 2015-07-28 2018-01-16 成都腾悦科技有限公司 一种可变指令集微处理器及其实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1147307A (zh) * 1994-05-03 1997-04-09 先进Risc机器有限公司 多指令集的数据处理
US5854913A (en) * 1995-06-07 1998-12-29 International Business Machines Corporation Microprocessor with an architecture mode control capable of supporting extensions of two distinct instruction-set architectures
CN1450450A (zh) * 2003-05-15 2003-10-22 复旦大学 采用双指令集的32位嵌入式微处理器
CN101253480A (zh) * 2005-08-31 2008-08-27 明达尔半导体有限公司 具有实时动态可变指令集的计算机

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017016232A1 (zh) * 2015-07-28 2017-02-02 成都腾悦科技有限公司 一种可变指令集微处理器及其实现方法
CN109685731A (zh) * 2018-12-13 2019-04-26 浪潮通用软件有限公司 一种基于sse4指令集加快图片渐变速度的方法
CN109685731B (zh) * 2018-12-13 2023-07-18 浪潮通用软件有限公司 一种基于sse4指令集加快图片渐变速度的方法

Also Published As

Publication number Publication date
WO2017016232A1 (zh) 2017-02-02
CN104991759B (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
JP7039716B2 (ja) ポリシ実行処理のためのシステムおよび方法
US20190243651A1 (en) Apparatuses, methods, and systems for access synchronization in a shared memory
US9785378B2 (en) Tracking transformed memory pages in virtual machine chain migration
US9563569B2 (en) Memory transformation in virtual machine live migration
NZ596331A (en) Methods of structuring data, pre-compiled exception list engines, and network appliances
US10394556B2 (en) Hardware apparatuses and methods to switch shadow stack pointers
TW201738800A (zh) 用以在環移轉期間保護堆疊的處理器擴展
CN106575261A (zh) 受保护的区域中的存储器初始化
US8935775B2 (en) Method and apparatus for dishonest hardware policies
WO2014004397A1 (en) Vector multiplication with accumulation in large register space
US11226906B2 (en) Devices and methods for secured processors
EP3671473A1 (en) A scalable multi-key total memory encryption engine
US20160092227A1 (en) Robust and High Performance Instructions for System Call
US20180004521A1 (en) Processors, methods, and systems to identify stores that cause remote transactional execution aborts
US11151051B2 (en) Process isolation for out of process page fault handling
WO2014004394A1 (en) Vector multiplication with operand base system conversion and re-conversion
DE102020132140A1 (de) Pipelines für sichere Multithread-Ausführung
TW201732566A (zh) 從亂序處理器中的不良儲存-至-負載轉發復原的方法與設備
CN104991759A (zh) 一种可变指令集微处理器及其实现方法
US9250913B2 (en) Collision-based alternate hashing
CN111381905B (zh) 一种程序处理方法、装置及设备
CN103988462A (zh) 用于执行寄存器重命名的寄存器重命名数据处理装置和方法
GB2579757A (en) Handling effective address synonyms in a load-store unit that operates without address translation
CN102207907A (zh) 数据操作的方法、装置及计算机
Lee et al. Meltdown Threat Dynamic Detection Mechanism using Decision-Tree based Machine Learning Method

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
TR01 Transfer of patent right

Effective date of registration: 20191227

Address after: 610000 No.6, 20th floor, building 4, NO.666, Jincheng Avenue, Chengdu high tech Zone, Chengdu, Sichuan Province

Patentee after: CHENGDU CHANGMING INFORMATION TECHNOLOGY Co.,Ltd.

Address before: West high tech Zone Fucheng Road in Chengdu city of Sichuan Province in 610000 399, 9 13 storey building No. 6

Patentee before: CHENGDU TENYUM TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201202

Address after: 274300 380 meters east of the intersection of Weichuang road and Jiantai Road, Shanxian Industrial Zone, Heze City, Shandong Province

Patentee after: Zeng Huan

Address before: 610000 No.6, 20th floor, building 4, NO.666, Jincheng Avenue, Chengdu high tech Zone, Chengdu, Sichuan Province

Patentee before: CHENGDU CHANGMING INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210125

Address after: 311800 17th floor, Jiyang Fortune Building, 28 Wenzhong South Road, Taozhu street, Zhuji City, Shaoxing City, Zhejiang Province

Patentee after: Zhejiang qusu Technology Co.,Ltd.

Address before: No.17, 18 / F, unit 1, building 4, No.68, yangzishan Road, Chenghua District, Chengdu, Sichuan 610000

Patentee before: Sichuan Kaiyan Intellectual Property Service Co.,Ltd.

Effective date of registration: 20210125

Address after: No.17, 18 / F, unit 1, building 4, No.68, yangzishan Road, Chenghua District, Chengdu, Sichuan 610000

Patentee after: Sichuan Kaiyan Intellectual Property Service Co.,Ltd.

Address before: 274300 380 meters east of the intersection of Weichuang road and Jiantai Road, Shanxian Industrial Zone, Heze City, Shandong Province

Patentee before: Zeng Huan

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20151021

Assignee: Hefei Qusu Chaowei Integrated Circuit Co.,Ltd.

Assignor: Zhejiang qusu Technology Co.,Ltd.

Contract record no.: X2022990000804

Denomination of invention: A variable instruction set microprocessor and its implementation

Granted publication date: 20180116

License type: Exclusive License

Record date: 20221013