CN103150521B - 一种高性能微处理器寄存器及其内存地址弹性保护方法 - Google Patents

一种高性能微处理器寄存器及其内存地址弹性保护方法 Download PDF

Info

Publication number
CN103150521B
CN103150521B CN201310072972.7A CN201310072972A CN103150521B CN 103150521 B CN103150521 B CN 103150521B CN 201310072972 A CN201310072972 A CN 201310072972A CN 103150521 B CN103150521 B CN 103150521B
Authority
CN
China
Prior art keywords
registers
page
register
processor
mode
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
CN201310072972.7A
Other languages
English (en)
Other versions
CN103150521A (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.)
Jiashan Lianrui Electronic Technology Co., Ltd
Original Assignee
周海林
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 周海林 filed Critical 周海林
Priority to CN201310072972.7A priority Critical patent/CN103150521B/zh
Publication of CN103150521A publication Critical patent/CN103150521A/zh
Priority to PCT/CN2014/072820 priority patent/WO2014135052A1/zh
Application granted granted Critical
Publication of CN103150521B publication Critical patent/CN103150521B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种高性能微处理器寄存器及其内存地址弹性保护方法,方法包括:赋值37、38、39号寄存器,分配内存区间;检查14号寄存器的内容是否在39号中页值之内;检查16号寄存器的页码是否在0号到37号页码范围中;检查18号寄存器的页码是否在37、38号范围中;检查20号寄存器的内容是否在38、39号中页值之内;处理器把异常号送到异常中断寄存器中,当前处理器的指令页是18号,指令指针是17号,处理器通过执行操作系统的异常中断处理程序。本发明在不改变指令集的前提下可轻易升级,采用浅流水线设计和精简流水线架构,能够更好地减少每条指令的时间,同时支持多发多射,提高处理器运算速度,有效地分配内存空间,有效防止应用程序的非法访问。

Description

一种高性能微处理器寄存器及其内存地址弹性保护方法
技术领域
本发明涉及一种高性能微处理器寄存器及其内存地址弹性保护方法。
背景技术
处理器是当代计算机工业的核心。处理器大致分为两类:精简指令集处理器和复杂指令集处理器。在高性能处理平台中,精简指令集处理器被广泛使用,如:PAD,高性能服务器,桌面平台,嵌入式平台等;然而,复杂指令集处理器的使用却相对较少,一般只用于低性能服务器和桌面平台等。其主要原因是:精简指令集处理器指令长度不变,指令格式少,寄存器数目多,指令数目少,更能使处理器处理流水化。具有设计简单、效率高、容易测试、成品率高等特点。因此,如何研发出具有完全自主核心知识产权的高性能精简指令集处理器,已成为计算机工业设计研究中的重要课题。
目前,计算机操作系统的内核主要放在内存的低地址区间中(只有极少数的处理器把内核放在内存的高地址),接着放操作系统处理异常中断的程序,再接着放为应用程序提供服务的程序,应用程序放在最后。为了防止应用程序的非法访问,目前,主流的处理器主要用以下方法实现:
(1)把计算机的内存固定分成一定长度的段,应用程序和操作系统内核放在规定的内存区间内,以防止用户程序的非法访问;
(2)处理器通过检查程序的长度,特权级和读写执行等属性以防止用户程序的非法访问;
(3)操作系统通过检查程序的长度,特权级和读写执行等属性以防止用户程序的非法访问。
现有的计算机内存地址的保护方法存在以下不足:
1)当计算机的内存很小(如PDD、嵌入式平台中)时,如果固定长度的内存很大,供应用程序使用的内存就会很小,会造成宝贵的内存资源浪费,造成内存没有被合理的使用;
2)当计算机的内存很大(如在高性能的服务器中、大型计算机中),并且其操作系统内核也很大时,会造成操作系统内核不能完全被处理器内核保护的情况;
3)如果应用程序利用操作系统的漏洞,篡改程序属性(在分段操作系统,分页操作系统中分别更改段属性,页属性等),使程序得到非法权限。
发明内容
本发明的一个目的在于克服现有技术的不足,提供一种高性能微处理器,在不改变指令集的前提下可轻易升级,采用浅流水线设计和精简流水线架构,静态分支预测,动态分支预测,能够更好地减少每条指令执行的时间,同时支持多发多射,减少处理器从内存里查找数据所用的时间;
本发明的另一个目的在于提供一种高性能微处理器寄存器的内存地址弹性保护方法,克服传统处理器通过软件保护和固定分段保护来防止应用程序非法访问的不足,可有效防止应用程序的非法访问。
本发明的目的是通过以下技术方案来实现的:一种高性能微处理器寄存器,它包括:
永远为0的0号寄存器;
用作累加器的1~8号寄存器;
用作乘法时的高位,除法指令的商的9号寄存器;
用作乘法时的低位,除法指令的模的10号寄存器;
用作返回用户模式时的指针、页的11、12号寄存器;
用作处理器在用户模式时的指令指针、页的13、14号寄存器;
用作处理器在特权模式时的指令指针、页的15、16号寄存器;
用作处理器在中断模式时的指令指针、页的17、18号寄存器,其页只有处理器在ken mode和int mode下才被数据移动指令赋值,如果处理器在soft mode和urs mode,则不能赋值并产生异常;
用作软件模式的指令指针、页的19、20号寄存器,其页只有处理器在ken mode、int mode和soft mode下才被数据移动指令赋值,如果处理器在urs mode,则不能赋值并产生异常;
用作堆栈指针、页的21、22号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的23、24号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的25、26号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的27、28号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的29、30号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作状态寄存器的31号寄存器;
用作页目录寄存器的32号寄存器,保存虚拟地址转换式的页目录低20位有效,高12位强制为0,否则在以后的产品中产生不可预知的错误异常;
用作定时器timer的33~36号寄存器,当timer使能后,处理器每经过一个时钟寄存器的值加1,溢出时产生异常;
分别用作kenend、intend和softend寄存器的37~39号寄存器,在计算机的内存不大于4GB,在页大小为4kb时低20位有效,高12位必须为0,否则产生指令错误异常;
用作异常中断寄存器的40号寄存器,15位为1开启中断,反之不开启;16位为1开启异常,反之不开启;
用作页异常线性地址的41号寄存器;
用作多任务模式下的页开始、结束位置的42、43号寄存器,当操作系统开启多任务保护模式,当用户页的值在42、43号寄存器值之外时,处理器产生出界异常;
用作虚拟模式下的页开始、结束位置的44、45号寄存器,0号版本的内核暂时保留;
用作tlb入口的46~50号寄存器,该寄存器的21,22,23位的值是000,001,010,011,100,101,110,111,其中,011,100,101,110保留,供处理器架构升级用,000作为0级cache的地址使用,001作为1级cache的地址使用,010作为2级cache的地址使用,111作为处理器的全局地址,供io输入输出块使用,高9位是处理器的处理核心号码,供处理器升级成多核心时使用,在操作系统为单核心时强制为0,低20位是cache的块号;
用作内部dma的51~53号寄存器,51号寄存器为地址的开始地址,52号寄存器为地址结束处(都是块号);
53号寄存器保留;
54号寄存器保留;
用作分页模式下的局部地址转换的奇54、55号寄存器;
57~60号寄存器分别作为config0、config1、config2、config3,其中,对于config0,25号寄存器低4位分别使能0,1,2,3号时钟,第4位为1开启分页机制,为0时开启分页码机制,第5位多任务保护模式,操作系统检查当前usr mode的指令页码的范围是否在42、43号寄存器之内,不在其内,则产生异常;其它位保留,config1、config2、config3分别保留;
分别用作trp、trpp寄存器的61、62号寄存器,在任务切换时,61、62号寄存器的值无需保存,其每行的数据长度为32位,在任务切换时把寄存器的值放在里面,执行该任务时将数据取出;
63号寄存器cpu属性如下:
处理器核心数     9bit【31,23】
处理器当前核心号 9bit【22,14】
处理器的位数     3bit【2,0】
其它位保留;
其中,32~63号寄存器的值只有运行在ker mode,int mode和soft mode才能被赋值。
一种高性能微处理器寄存器的内存地址弹性保护方法,它包括以下步骤:
S1:操作系统通过赋值37、38、39号寄存器,分配处理器在各种模式下的内存区间;
S2:处理器检查14号寄存器的内容是否在39号寄存器中页值之内,如果在其范围之内,则产生异常,如果不在其范围之内,则不产生异常;
S3:处理器检查16号寄存器的页码是否在0号到37号寄存器页码范围中,如果在其范围之内,则不产生异常,如果不在其范围之内,则产生异常;
S4:处理器检查18号寄存器的页码是否在37号寄存器和38号寄存器范围中,如果在其范围之内,则不产生异常,如果不在其范围之内,则产生异常;
S5:处理器检查20号寄存器的内容是否在38号寄存器和39号寄存器中页值之内,如果在其范围之外,则产生异常;
S6:处理器把异常号送到异常中断寄存器中,并且进入int mode,当前处理器的指令页是18寄存器,指令指针是17号寄存器,处理器通过执行操作系统的异常中断处理程序,从而防止应用程序的非法访问。
本发明的有益效果是:
1)在不改变指令集的前提下可轻易升级,采用浅流水线设计和精简流水线架构,静态分支预测,能够更好地减少每条指令的时间,同时支持多发多射;
2)指令集采用目前主流的精简指令,现大约有60条,本指令集最大可以支持1024条,在处理器的位超过1024位时,才需要升级;
3)在任务切换时,61、62号寄存器的值不需要保存,其每行数据的长度为32位,在任务切换时把寄存器的值放在里面,执行该任务时把数据从里面取出,可减少处理器从内存里查找数据所用的时间;
4)操作系统通过数据移动指令赋值37至39号寄存器,能更有效地分配计算机内存空间;
5)从计算机硬件层面保护了系统资源,克服了传统处理器通过软件保护和固定分段保护来防止应用程序非法访问的不足,可有效防止应用程序的非法访问。
附图说明
图1为内存地址弹性保护方法流程图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
一种高性能微处理器寄存器,其特征在于:它包括:
用于接电源最低电位的永远为0的0号寄存器;
用作累加器的1~8号寄存器;
用作乘法时的高位,除法指令的商的9号寄存器;
用作乘法时的低位,除法指令的模的10号寄存器;
用作返回用户模式时的指针、页的11、12号寄存器;
用作处理器在用户模式时的指令指针、页的13、14号寄存器;
用作处理器在特权模式时的指令指针、页的15、16号寄存器;
用作处理器在中断模式时的指令指针、页的17、18号寄存器,其页只有处理器在ker mode和int mode下才被数据移动指令赋值,如果处理器在soft mode和urs mode,则不能赋值并产生异常;
用作软件模式的指令指针、页的19、20号寄存器,其页只有处理器在ker mode、int mode和soft mode下才被数据移动指令赋值,如果处理器在urs mode,则不能赋值并产生异常;
用作堆栈指针、页的21、22号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的23、24号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的25、26号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的27、28号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的29、30号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作状态寄存器的31号寄存器;
用作页目录寄存器的32号寄存器,保存虚拟地址转换式的页目录低20位有效,高12位强制为0,否则在以后的产品中产生不可预知的错误异常;
用作定时器(timer)的33~36号寄存器,当timer使能后,处理器每经过一个时钟寄存器的值加1,溢出时产生异常;
分别用作kenend、intend和softend寄存器的37~39号寄存器,在计算机的内存不大于4GB,在页大小为4kb时低20位有效,高12位必须为0,否则产生指令错误异常;
用作异常中断寄存器的40号寄存器,15位为1开启中断,反之不开启;16位为1开启异常,反之不开启;
用作页异常线性地址的41号寄存器;
用作多任务模式下的页开始、结束位置的42、43号寄存器,当操作系统开启了多任务保护模式,当用户页的值在42、43号寄存器值之外时,处理器产生出界异常;
用作虚拟模式下的页开始、结束位置的44、45号寄存器,0号版本的内核暂时保留;
用作tlb入口的46~50号寄存器,该寄存器的21,22,23位的值是000,001,010,011,100,101,110,111,其中,011,100,101,110保留,供处理器架构升级用,000作为0级cache的地址使用,001作为1级cache的地址使用,010作为2级cache的地址使用,111作为处理器的全局地址,供io输入输出块使用,高9位是处理器的处理核心号码,供处理器升级成多核心时使用,在操作系统为单核心时强制为0,低20位是cache的块号;
用作内部dma的51~53号寄存器,51号寄存器为地址的开始地址,52号寄存器为地址结束处(都是块号);
53号寄存器保留;
54号寄存器保留;
用作分页模式下的局部地址转换的奇54、55号寄存器;
57~60号寄存器分别作为config0、config1、config2、config3,其中,对于config0,25号寄存器低4位分别使能0,1,2,3号时钟,第4位为1开启分页机制,为0时开启分页码机制,第5位多任务保护模式,操作系统检查当前usr mode的指令页码的范围是不是在42、43号寄存器之内,不在其内,则产生异常;其它位保留,config1、config2、config3分别保留;
分别用作trp、trpp寄存器的61、62号寄存器,在任务切换时,61、62号寄存器的值无需保存,其每行的数据长度为32位,在任务切换时把寄存器的值放在里面,执行该任务时将数据取出;
63号寄存器cpu属性如下:
处理器核心数     9bit【31,23】
处理器当前核心号 9bit【22,14】
处理器的位数     3bit【2,0】
其它位保留;
其中,32~63号寄存器的值只有运行在特权模式下才能被赋值。37~39号寄存器只有在ken mode下才能被赋值,其他mode赋值产生异常。
指令集手册:
mov 指令
mov,其为数据移动指令,该指令可以分成两类:立即数移动指令;寄存器间移动指令。
(1)立即数移动指令可以分成有符号立即数移动指令,无符号立即数移动指令:
A:有符号立即数移动指令
       源操作数         目的操作数(该处是目的寄存器)
movsb  立即数        ,    %n       8位有符号移动指令
movsw  立即数        ,    %n       16位有符号移动指令
movsd  立即数        ,    %n       32位有符号移动指令
movsl  立即数        ,     %n       64位有符号移动指令(在32位处理器中保留)
B:无符号立即数移动指令
       源操作数         目的操作数(该处是目的寄存器)
movb  立即数         ,    %n       8位有符号移动指令
movw  立即数         ,    %n       16位有符号移动指令
movd  立即数         ,    %n       32位有符号移动指令
movl  立即数         ,    %n       64位有符号移动指令(在32位处理器中保留)
 C: 寄存器间移动指令:
mov %n ,%m(把源操作数所在的寄存器%n,送到目的操作数所在寄存器%m)
(2)特殊指令
指令                      注释
bck         源操作数为11号寄存器,目的操作数为12号寄存器,返回用户模式,在跳转指令时,把用户模式的指针,页放入对应的寄存器。
usr         无源目的操作数,处理器进入用户模式。
ken         无源目的操作数,处理器进入核心模式。
int         无源目的操作数,处理器进入中断模式。
saft        无源目的操作数,处理器进入软件模式。
pop         从堆栈页中弹出数据指令,弹出,压人的数据长度为处理器的位数。
push        把寄存器中的数据压人堆栈中,弹出,压人的数据长度为处理器的位数。
set         置位命令,把目的操作数的(源操作数位)置1。
clr         清位命令,把目的操作数的(源操作数位)置0。
tst         测试命令,测试目的操作数的(源操作数位)位,结果放入(31号寄存器)状态寄存器的27位。
m32         32位无符号数乘法指令,结果放到,低位放到10号寄存器,高位放到9号寄存器中。
sm32        32位有符号数乘法指令,结果放到,低位放到10号寄存器,高位放到9号寄存器中。           
d32         32位无符号数除法指令,结果放到,结果放到9号寄存器,模放到10号寄存器中。
Sd32       32位有符号数乘法指令,结果放到,结果放到9号寄存器,模放到10号寄存器中。
rst         rest(只有处理器处在ken mode,才能执行,否则产生异常)。
如图1所示,一种高性能微处理器寄存器的内存地址弹性保护方法,它包括以下步骤:
S1:操作系统通过赋值37、38、39号寄存器,分配处理器在各种模式下的内存区间;
S2:处理器检查14号寄存器的内容是否在39号寄存器中页值之内,如果在其范围之内,则产生异常,如果不在其范围之内,则不产生异常;
S3:处理器检查16号寄存器的页码是否在0号到37号寄存器页码范围中,如果在其范围之内,则不产生异常,如果不在其范围之内,则产生异常;
S4:处理器检查18号寄存器的页码是否在37号寄存器和38号寄存器范围中,如果在其范围之内,则不产生异常,如果不在其范围之内,则产生异常;
S5:处理器检查20号寄存器的内容是否在38号寄存器和39号寄存器中页值之内,如果在其范围之外,则产生异常;
S6:处理器把异常号送到异常中断寄存器(40号寄存器)中,并且进入int mode,当前处理器的指令页是18寄存器,指令指针是17号寄存器,处理器通过执行操作系统的异常中断处理程序,从而防止应用程序的非法访问。

Claims (2)

1.一种高性能微处理器寄存器,其特征在于:它包括:
永远为0的0号寄存器;
用作累加器的1~8号寄存器;
用作乘法时的高位、除法指令的商的9号寄存器;
用作乘法时的低位、除法指令的模的10号寄存器;
用作返回用户模式时的指针、页的11、12号寄存器;
用作处理器在用户模式时的指令指针、页的13、14号寄存器;
用作处理器在特权模式时的指令指针、页的15、16号寄存器;
用作处理器在中断模式时的指令指针、页的17、18号寄存器,其页只有处理器在ken mode和int mode下才被数据移动指令赋值,如果处理器在soft mode和urs mode,则不能赋值并产生异常;
用作软件模式的指令指针、页的19、20号寄存器,其页只有处理器在ken mode、int mode和soft mode下才被数据移动指令赋值,如果处理器在urs mode,则不能赋值并产生异常;
用作堆栈指针、页的21、22号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的23、24号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的25、26号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的27、28号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作页寄存器的指针、页的29、30号寄存器,当给其控制的0级cache赋值时,检查其特权级,当特权级值小于等于它才被赋值,否则产生异常;
用作状态寄存器的31号寄存器;
用作页目录寄存器的32号寄存器,保存虚拟地址转换式的页目录低20位有效,高12位强制为0,否则在以后的产品中产生不可预知的错误异常;
用作定时器timer的33~36号寄存器,当timer使能后,处理器每经过一个时钟寄存器的值加1,溢出时产生异常;
分别用作kenend、intend和softend寄存器的37~39号寄存器,在计算机的内存不大于4GB,在页大小为4kb时低20位有效,高12位必须为0,否则产生指令错误异常;
用作异常中断寄存器的40号寄存器,15位为1开启中断,反之不开启;16位为1开启异常,反之不开启;
用作页异常线性地址的41号寄存器;
用作多任务模式下的页开始、结束位置的42、43号寄存器,当操作系统开启多任务保护模式,当用户页的值在42、43号寄存器值之外时,处理器产生出界异常;
用作虚拟模式下的页开始、结束位置的44、45号寄存器,0号版本的内核暂时保留;
用作tlb入口的46~50号寄存器,该寄存器的21,22,23位的值是000,001,010,011,100,101,110,111,其中,011,100,101,110保留,供处理器架构升级用,000作为0级cache的地址使用,001作为1级cache的地址使用,010作为2级cache的地址使用,111作为处理器的全局地址,供io输入输出块使用,高9位是处理器的处理核心号码,供处理器升级成多核心时使用,在操作系统为单核心时强制为0,低20位是cache的块号;
用作内部dma的51~53号寄存器,51号寄存器为地址的开始地址,52号寄存器为地址结束处;
53号寄存器保留;
54号寄存器保留;
用作分页模式下的局部地址转换的奇54、55号寄存器;
57~60号寄存器分别作为config0、config1、config2、config3,其中,对于config0,25号寄存器低4位分别使能0,1,2,3号时钟,第4位为1开启分页机制,为0时开启分页码机制,第5位多任务保护模式,操作系统检查当前usr mode的指令页码的范围是否在42、43号寄存器之内,不在其内,则产生异常;其它位保留,config1、config2、config3分别保留;
分别用作trp、trpp寄存器的61、62号寄存器,在任务切换时,61、62号寄存器的值无需保存,其每行的数据长度为32位,在任务切换时把寄存器的值放在里面,执行该任务时将数据取出;
63号寄存器cpu属性如下:
处理器核心数     9bit【31,23】,处理器核心数存储于63号寄存器的第23位到第31位,共计9位;
处理器当前核心号 9bit【22,14】,处理器当前核心号存储于63号寄存器的第14位到第22位,共计9位;
处理器的位数     3bit【2,0】,处理器的位数存储于63号寄存器的第0位到第2位,共计3位;
其它位保留;
其中,32~63号寄存器的值只有运行在ker mode,int mode和soft mode才能被赋值。
2.一种高性能微处理器寄存器的内存地址弹性保护方法,其特征在于,它包括以下步骤:
S1:操作系统通过赋值37、38、39号寄存器,分配处理器在各种模式下的内存区间;
S2:处理器检查14号寄存器的内容是否在39号寄存器中页值之内,如果在其范围之内,则产生异常,如果不在其范围之内,则不产生异常;
S3:处理器检查16号寄存器的页码是否在0号到37号寄存器页码范围中,如果在其范围之内,则不产生异常,如果不在其范围之内,则产生异常;
S4:处理器检查18号寄存器的页码是否在37号寄存器和38号寄存器范围中,如果在其范围之内,则不产生异常,如果不在其范围之内,则产生异常;
S5:处理器检查20号寄存器的内容是否在38号寄存器和39号寄存器中页值之内,如果在其范围之外,则产生异常;
S6:处理器把异常号送到40号异常中断寄存器中,并且进入int mode,当前处理器的指令页是18寄存器,指令指针是17号寄存器,处理器通过执行操作系统的异常中断处理程序,从而防止应用程序的非法访问。
CN201310072972.7A 2013-03-07 2013-03-07 一种高性能微处理器寄存器及其内存地址弹性保护方法 Active CN103150521B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310072972.7A CN103150521B (zh) 2013-03-07 2013-03-07 一种高性能微处理器寄存器及其内存地址弹性保护方法
PCT/CN2014/072820 WO2014135052A1 (zh) 2013-03-07 2014-03-03 一种高性能微处理器寄存器及其内存地址弹性保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310072972.7A CN103150521B (zh) 2013-03-07 2013-03-07 一种高性能微处理器寄存器及其内存地址弹性保护方法

Publications (2)

Publication Number Publication Date
CN103150521A CN103150521A (zh) 2013-06-12
CN103150521B true CN103150521B (zh) 2015-05-13

Family

ID=48548593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310072972.7A Active CN103150521B (zh) 2013-03-07 2013-03-07 一种高性能微处理器寄存器及其内存地址弹性保护方法

Country Status (2)

Country Link
CN (1) CN103150521B (zh)
WO (1) WO2014135052A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150521B (zh) * 2013-03-07 2015-05-13 周海林 一种高性能微处理器寄存器及其内存地址弹性保护方法
CN104991869B (zh) * 2015-07-31 2017-11-10 成都腾悦科技有限公司 一种微处理器存储管理方法
CN107301037B (zh) * 2016-04-15 2021-03-30 龙芯中科技术股份有限公司 操作系统内核的加载方法和装置
CN114546495B (zh) * 2021-09-03 2022-12-20 北京睿芯众核科技有限公司 适用于risc-v架构处理器的地址属性检查的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1447244A (zh) * 2003-04-03 2003-10-08 杭州中天微系统有限公司 一种设计在cpu里的侦测缓冲区溢出的方法
CN1641567A (zh) * 2004-01-16 2005-07-20 智权第一公司 自堆栈快取存储器进行快速推测性弹出操作方法及装置
CN1818822A (zh) * 2005-02-07 2006-08-16 福建东方微点信息安全有限责任公司 缓冲区溢出攻击的检测方法
CN101158891A (zh) * 2007-11-19 2008-04-09 中国科学院计算技术研究所 在非cisc处理器上进行浮点栈溢出检查的装置和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6779013B2 (en) * 2001-06-04 2004-08-17 Intel Corporation Floating point overflow and sign detection
CN103150521B (zh) * 2013-03-07 2015-05-13 周海林 一种高性能微处理器寄存器及其内存地址弹性保护方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1447244A (zh) * 2003-04-03 2003-10-08 杭州中天微系统有限公司 一种设计在cpu里的侦测缓冲区溢出的方法
CN1641567A (zh) * 2004-01-16 2005-07-20 智权第一公司 自堆栈快取存储器进行快速推测性弹出操作方法及装置
CN1818822A (zh) * 2005-02-07 2006-08-16 福建东方微点信息安全有限责任公司 缓冲区溢出攻击的检测方法
CN101158891A (zh) * 2007-11-19 2008-04-09 中国科学院计算技术研究所 在非cisc处理器上进行浮点栈溢出检查的装置和方法

Also Published As

Publication number Publication date
CN103150521A (zh) 2013-06-12
WO2014135052A1 (zh) 2014-09-12

Similar Documents

Publication Publication Date Title
US10102017B2 (en) Timer access from user mode through a shared memory page
CN100514297C (zh) 为与虚拟机监控程序相关联的定时器提供支持
Brash Extensions to the ARMv7-A architecture
US8635057B2 (en) Enlightenment for low overhead hardware access
CN108205433B (zh) 用来加速稀疏矩阵乘密集向量以及稀疏向量乘密集向量乘法的存储器到存储器指令
CN103150521B (zh) 一种高性能微处理器寄存器及其内存地址弹性保护方法
US11157303B2 (en) Detecting bus locking conditions and avoiding bus locks
US20140375658A1 (en) Processor Core to Graphics Processor Task Scheduling and Execution
WO2018080684A1 (en) Nested exception handling
CN109643283A (zh) 管理飞地存储器页
CN113196234A (zh) 使用硬件分页提示的进程空间标识符虚拟化
CN114371907A (zh) 一种芯片系统、处理虚拟中断的方法及相应装置
CN109690546B (zh) 支持对客户机飞地存储器页的超额订阅
CN100570587C (zh) 虚拟机系统及其高级可编程中断控制器的访问处理方法
Lim et al. Juxtapiton: Enabling heterogeneous-isa research with RISC-V and SPARC FPGA soft-cores
Wang et al. Acceldroid: Co-designed acceleration of android bytecode
Xie et al. Metis: a profiling toolkit based on the virtualization of hardware performance counters
Young Extended architecture and hypervisor performance
EP3640808B1 (en) Split-control of page attributes between virtual machines and a virtual machine monitor
CN103744851A (zh) 一种虚拟化环境中的进程信息监控系统及其方法
Wahab et al. A small and adaptive coprocessor for information flow tracking in ARM SoCs
Intel
Umeno et al. Performance evaluation on server consolidation using virtual machines
CN104239124A (zh) 将用于虚拟化引擎的指令分页调度到本地存储设备
Chunmao et al. Research of embedded operating system based on multi-core processor

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

Effective date of registration: 20180419

Address after: 610000 Chengdu, Sichuan, China (Sichuan) free trade pilot area, Chengdu high tech Zone, 666 Jincheng Avenue 4, 20 floor 6.

Patentee after: Chengdu Chang Ming Information Technology Co., Ltd.

Address before: 610072 No. 531, Xin Si Liang Cun, Cha Cha Town, Bazhou District, Bazhong, Sichuan

Patentee before: Zhou Hailin

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191025

Address after: 314100 east side of No.33, sanjibang, Huitong village, Huimin street, Jiashan County, Jiaxing City, Zhejiang Province

Patentee after: Jiashan Lianrui Electronic Technology Co., Ltd

Address before: 610000 No.6, 20 / F, building 4, NO.666, Jincheng Avenue, Chengdu high tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu City, Sichuan Province

Patentee before: Chengdu Chang Ming Information Technology Co., Ltd.

TR01 Transfer of patent right