《酷能指令集》及相关专利技术

2020-03-08 19:21发布

本帖最后由 吾要单片机 于 2017-5-20 10:24 编辑

     本《酷能指令集》是一种全新的计算机指令集,它是基于本人的3项专利技术设计而成的,其具有新颖、高效、高代码密度的优点,目前基于本《酷能指令集》的CPU设计已经完成,仿真结果表明达到了专利所描述的效果,非常满意。在介绍本指令集之前,首先介绍与之相关的专利技术。(先介绍已经公开的2项)
第一项专利技术:专利号:201310153746.1,专利名:《一种在计算机数据处理指令中附加跳转功能的方法及CPU模块》
      这项专利的主要思想是:在计算机数据处理指令(包含数据转送指令,以下同)中增加设置执行的条件码、反条件码和跳转矢量,从而使得数据处理指令不再是单一的数据处理,而且具备跳转能力,其好处是提高程序的密度和执行效率。具体内容参见专利的说明书。
通过上述技术方法实施后数据处理指令具有跳转功能了,在此我称之为具有跳转功能的数据处理指令。这些具有跳转功能的数据处理指令的汇编格式如下所示:
操作码<条件码>   [操作数1] , [操作数2], [操作数3] ,[E][JMP  跳转标号]
其中E是反条件码,跳转矢量是相对PC的跳转矢量。
注意观察该汇编指令格式,我们发现比现在传统的数据处理指令指令多出了“[E][JMP  跳转标号]”字段,这个字段就是用于描述跳转功能。其中E是反条件码助记符,JMP是立即跳转助记符。如果E被隐去,则表示同条件跳转,即附加的跳转条件和操作码后缀的条件码相同;如果E被显现,则表示反条件跳转,即附加的跳转条件和操作码后缀的条件码相反。
    汇编指令格式:操作符<cond>  操作数1,操作数2,..,[E][JMP  #v]
其中:    cond------条件码,其意思是:如果满足条件码的要求,则执行操作符定义的操作;如果没有条件码,其意思是:无条件执行操作符定义的操作。
E—-------反条件码,意思是否则(Else)。
JMP  #v---意思是立即跳转#v条指令。
例如:           SUB<cond>  Rd,  Rn,  Rj,  [E][JMP  #v_6]
需要特别指出的是:有些数据处理指令是无条件执行,没有条件码、反条件码、跳转矢量。
实际应用举例如下:
SUBEQ  R3, R1, R2, EJMP  lab_1; //如果相等,则执行R3=R1-R2;否则立即跳到lab_1处。属于反条件跳转。这种情况下它顶得3条MIPS指令。
SUBEQ  R3, R1, R2, JMP  lab_1; //如果相等,则执行R3=R1-R2,并且立即跳到lab_1处。属于同条件跳转。这种情况下它顶得3条MIPS指令。
SUB    R3, R1, R2; //无条件执行R3=R1-R2。没有跳转功能,属于反条件跳转。这种情况下它只顶得1条MIPS指令。
SUB    R3, R1, R2, JMP  lab_1; // 无条件执行R3=R1-R2,并且立即跳到lab_1处。属于同条件跳转。这种情况下它顶得2条MIPS指令。
SUBRE  R3, R1, R2, JMP  lab_1; //无条件执行RC=RC-1的操作,如果Z==1&&RC>0,则执行R3=R1-R2,并且立即跳到lab_1处。属于同条件跳转。这种情况下有最高效率,它顶得5条MIPS指令!

从上面可以看出:在数据处理指令(含数据转送指令)中附加执行条件码、反条件码和跳转矢量后,可以使得数据处理指令不但有条件执行,而且具有跳转功能。这种指令的效率显然高于现在主流的RISC指令,不过由于附加的跳转矢量位数有限(32位指令集是6位,16位指令集是7位),所以跳转的范围都比较小,属于短跳转。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
lxyppc
1楼-- · 2020-03-10 13:40
第二项专利如果执行完第一条指令遇到中断会怎么办
驳回重新译码
还是缓存状态
吾要单片机
2楼-- · 2020-03-10 15:41
本帖最后由 吾要单片机 于 2017-5-17 20:36 编辑

系统是把前缀的立即数扩展指令和紧随其后的执行指令当做一条指令来看待的。所以这条复合的指令的地址就是其前缀指令的地址。
吾要单片机
3楼-- · 2020-03-10 21:07
本帖最后由 吾要单片机 于 2017-5-20 10:16 编辑

关于中断系统:
      本CPU的硬件中断系统有:
上电/手动复位,不可屏蔽,优先级0(最高), 抢占型中断,入口地址:0x80000000
MEM错误,不可屏蔽,优先级1,             抢占型中断,入口地址:0x80000100
ROM错误,不可屏蔽,优先级2,             完整型中断,入口地址:0x80000200
EXT中断,    可屏蔽,优先级3(最低), 完整型中断,入口地址:0x80000300
   本CPU的软件中断的入口地址:0x80000400
吾要单片机
4楼-- · 2020-03-11 02:01
本帖最后由 吾要单片机 于 2017-12-16 16:57 编辑

看看立即数扩展指令的使用(16位指令集):(例如计算R3=#76543210+#fedcba98)
f765        ;WIMM    #7654321
4321
0100        ;mov        R1, #0
ffed          ;WIMM   #FEDCBA9
cba9
7318        ;add        R3, R1,#8
计算这个表达式只需要2个周期(64位指令总线)或3个周期(32位指令总线),比ARM和MIPS快了不少啊。
qq65411253
5楼-- · 2020-03-11 03:05
 精彩回答 2  元偷偷看……
吾要单片机
6楼-- · 2020-03-11 07:17
wgj_king 发表于 2017-5-17 21:39
这个很厉害啊,我很佩服。国产搞这个的很少……

我们国家很少有人研究指令集,他们认为指令集太成熟了,没搞头。

一周热门 更多>