打印
[国产单片机]

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

[复制链接]
楼主: 吾要单片机
手机看帖
扫描二维码
随时随地手机跟帖
21
吾要单片机|  楼主 | 2017-5-17 22:21 | 只看该作者 回帖奖励 |倒序浏览
本CPU包含有基于历史记录的转移预测功能(记录最近的4个分支点),对于循环体的提速很有效。

使用特权

评论回复
22
吾要单片机|  楼主 | 2017-5-17 23:08 | 只看该作者
以前我在这个论坛发布过一个老的《酷能指令集》,那时还没有第二项和第三项专利,而且也还不会设计CPU,所以那个指令集作废吧,以后以现在新的《酷能指令集》为准,

使用特权

评论回复
23
吾要单片机|  楼主 | 2017-5-17 23:48 | 只看该作者
本帖最后由 吾要单片机 于 2017-12-24 23:23 编辑

系统控制寄存器PC和PSR介绍:

PC.M==0,则系统处于16位指令集模式,PC.M==1,则系统处于32位指令集模式.

使用特权

评论回复
24
吾要单片机|  楼主 | 2017-5-17 23:54 | 只看该作者
本帖最后由 吾要单片机 于 2017-12-22 23:29 编辑

32位指令集----加法、减法运算指令(10条)

  
汇编指令
  
操作说明
IMM
PSW
T
ADD        Rd, Rn, #uimm16
Rd=Rn + #uimm16
NZCV
1
SUB        Rd, Rn, #uimm16
Rd=Rn - #uimm16
NZCV
1
RSB        Rd, Rn, #uimm16
Rd=#uimm16 - Rn

NZCV
1
ADD<cond>  Rd, #uimm5, [E]JMP  #v_6
Rd=Rd + #uimm5

NZCV
1
SUB<cond>  Rd,#uimm5, [E]JMP  #v_6
Rd=Rd - #uimm5

NZCV
1
ADD<cond>  Rd, Rn, Rj, [E]JMP  #v_6
Rd=Rn + Rj
/WIMM
NZCV
1
SUB<cond>  Rd, Rn, Rj, [E]JMP  #v_6
Rd=Rn - Rj
/WIMM
NZCV
1
ADD        Rd, PC, #uimm16
Rd={PC[31:1], 1’b0} + #uimm16

1
CASEB<cond>  Rd, Rj, [E]JMP  #v_6
查找相等的字节
/WIMM
n,Z
1
CASEH<cond>  Rd, Rj, [E]JMP  #v_6
查找相等的半字
/WIMM
n,Z
1


注明:1、表中有“/WIMM”,表示该指令可以使用立即数扩展指令WIMM   #imm28前缀。(以下同,不再重复说明)
          2、如果前缀有WIMM   #imm28指令,此时Rj就变为低4位立即数#imm4,两者组成32位立即数。(以下同,不再重复说明)


使用特权

评论回复
25
吾要单片机|  楼主 | 2017-5-18 00:07 | 只看该作者
本帖最后由 吾要单片机 于 2018-1-8 11:24 编辑

32位指令集---乘法、除法运算指令(11条)
  
汇编指令
  
  
操作说明
  
  IMM
  
  PSW
  
  T
  
  MUL<cond>  Rd, Rn, Rj, [E]JMP  #v_6
  
  Rd=Rn*Rj
  
/WIMM
  
  
  
  1~4
  
  MUL        Rd, Rn, #simm16
  
  Rd=Rn * #simm16
  
  
  
  
  
  1~3
  
  UMAC       Rd, Rn, #uimm16
  
  R1=Rd+ Rn[15:0] * #uimm16
  
  
  
  
  
  1
  
  SMULT<cond>  Rd, Rj, [E]JMP  #v_6
  
  (有符号)HI:LO=Rd*Rj
  
/WIMM
  
  
  
  1~5
  
  UMULT<cond>  Rd, Rj, [E]JMP  #v_6
  
  (无符号)HI:LO=Rd*Rj
  
/WIMM
  
  
  
  1~4
  
  SMLA<cond>   Rd, Rj, [E]JMP #v_6
  
  (有符号)HI:LO=HI:LO+Rd*Rj
  
/WIMM
  
  
  
2~5
  
  UMLA<cond>   Rd, Rj, [E]JMP #v_6
  
  (无符号)HI:LO=HI:LO+Rd*Rj
  
/WIMM
  
  
  
  2~5
  
  SMLS<cond>   Rd, Rj, [E]JMP #v_6
  
  (有符号)HI:LO=HI:LO-Rd*Rj
  
/WIMM
  
  
  
  2~5
  
  UMLS<cond>   Rd, Rj, [E]JMP #v_6
  
  (无符号)HI:LO=HI:LO-Rd*Rj
  
/WIMM
  
  
  
2~5
  
  SDIV<cond>   Rd, Rj, [E]JMP  #v_6
  
  (有符号)LO=Rd/Rj, HI=Rd%Rj
  
/WIMM
  
  
  
4~16
  
  UDIV<cond>   Rd, Rj, [E]JMP  #v_6
  
  (无符号)LO=Rd/Rj, HI=Rd%Rj
  
/WIMM
  
  
  
4~16
  

注明:*UMAC指令主要用于数组指针的计算,其目的寄存器是R1。
            **如果前缀有WIMM   #imm28指令,此时Rj就变为#imm4,两者组成32位立即数。

使用特权

评论回复
26
ayb_ice| | 2017-5-18 08:09 | 只看该作者
没见到比arm高效

使用特权

评论回复
27
@若水| | 2017-5-18 08:36 | 只看该作者
你这个跟低阶的Cotex-M有何区别?有什么优点?只是问问,不喜勿喷

使用特权

评论回复
28
吾要单片机|  楼主 | 2017-5-18 10:00 | 只看该作者
有谁写过汇编器吗?我需要帮助。

使用特权

评论回复
29
hameyou| | 2017-5-18 10:49 | 只看该作者
楼主是要自己做CPU吗?

使用特权

评论回复
评论
吾要单片机 2017-5-18 11:19 回复TA
我想啊!但是现在资源有限,先把汇编器搞出来就好办了,目标是MCU领域,汇编器出来就可以找风投了。 
30
icecut| | 2017-5-18 11:24 | 只看该作者
呵呵.还真以为注册了专利就懂指令集了?照样白瞎.
你发个论文才行....还要发到国外期刊上.卖版面的不算

使用特权

评论回复
31
宇容创行| | 2017-5-18 11:30 | 只看该作者
cool,就是无法变现

使用特权

评论回复
32
dongshan| | 2017-5-18 15:24 | 只看该作者
跟arm的好像。 带条件码执行,arm不是有了吗?这个也能申请专利?

使用特权

评论回复
评论
吾要单片机 2017-5-18 15:48 回复TA
它没有反条件码和跳转矢量,我申请的是反条件码和跳转矢量。 
33
dongshan| | 2017-5-18 16:35 | 只看该作者
支持楼主,楼主是一个有理想的人, 现实中有太多的dream-killer, 希望别太在意。

使用特权

评论回复
评论
吾要单片机 2017-5-18 16:45 回复TA
谢谢鼓励,为这个项目我已经花了不少功夫了,就拿该CPU设计来说我都用了差不多1年的时间了,专利费也花不少钱了。 
34
linqing171| | 2017-5-18 17:52 | 只看该作者
首先是支持。几年前在龙芯论坛我就回过,还是要跑一下分,看看跳转占总指令的百分只多少,短循环占多少。

使用特权

评论回复
35
吾要单片机|  楼主 | 2017-5-18 18:24 | 只看该作者
linqing171 发表于 2017-5-18 17:52
首先是支持。几年前在龙芯论坛我就回过,还是要跑一下分,看看跳转占总指令的百分只多少,短循环占多少。 ...

啊啊,碰到老熟人了,难得啊,欢迎加入讨论,现在龙芯论坛不行了,死坛一个,不过我还会过去更新资料,现在我的方案是:16位指令集的数据处理指令附加跳转的矢量是7位,32位指令集的数据处理指令附加跳转的矢量是6位。

使用特权

评论回复
36
吾要单片机|  楼主 | 2017-5-18 18:27 | 只看该作者
本帖最后由 吾要单片机 于 2017-5-18 22:33 编辑

我现在申请的专利更加牛X,主要是极大改善某个算法,公开之后再介绍给大家,请耐心等待吧。

使用特权

评论回复
37
mcuisp| | 2017-5-18 19:51 | 只看该作者
本帖最后由 mcuisp 于 2017-5-18 19:54 编辑

指令集同C编译器是一体两面啊,上面还有操作系统、app,下面有芯片厂工艺,可以说是当前IT行业最最核心的技术了。

汇编指令效率高,是没有意义的。
个人感觉兄弟的专利,最好是能给arm这样的采纳、吸收

使用特权

评论回复
评论
吾要单片机 2017-5-18 22:27 回复TA
还有人说让我捐给龙心或中科大的ARM呢。 
38
qq65411253| | 2017-5-18 19:54 | 只看该作者
个人认为,楼主的这个反条件码可能申请不了专利。avr早就已经有了类似的指令,breq、brne、brlo、brsh之类都是。br系列指令内部也是靠一些标志位实现的,比如c、n标志位。只不过avr的标志位在内核里面,因此跳转需要两条指令配合,而楼主嵌入在指令里面,一条指令即可。优势是有,但是要申请发明专利感觉还是不够。
好吧,我觉得指令集这东西没必要重复造轮子。开源的riscv、OpenRISC甚至免费、久经考验的nios都足够优秀了,后者连整个cpu架构都跟你搞好了,只管用就行。何必自寻烦恼呢。
个人观点比较消极,勿喷。

使用特权

评论回复
评论
吾要单片机 2017-5-18 23:30 回复TA
很多人都说没有必要自己再搞指令集,其中intel和ARM说得最多,前几年国家想搞自主指令集,intel、ARM、IBM、MIPS非常着急,为什么他们那么着急? 
39
吾要单片机|  楼主 | 2017-5-18 22:24 | 只看该作者
本帖最后由 吾要单片机 于 2017-5-18 22:28 编辑

32位指令集比16位指令集具有的优点是:
1、32位指令集拥有32个通用寄存器,而16位指令集只有16个通用寄存器,所以面向大型数据运算时,32位指令集具有优势。
2、32位指令集前缀有立即数扩展指令WIMM时,其32位数据处理指令仍然可以包含有跳转功能。

使用特权

评论回复
40
吾要单片机|  楼主 | 2017-5-18 23:42 | 只看该作者
本帖最后由 吾要单片机 于 2017-5-19 00:24 编辑

很多人都说没有必要自己再搞指令集,其中intel和ARM说得最多,前几年国家想搞自主指令集,intel、ARM、IBM、MIPS非常着急,都找代理人游说,为什么他们那么着急?因为他们知道标准就是财富,指令集是非常重要的技术标准,标准就是话语权。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则