龙芯开源社区

 找回密码
 注册新用户(newuser)
楼主: 吾要单片机

公开本人另一项发明专利:立即数扩展的方法

  [复制链接]
 楼主| 发表于 2017-6-11 21:12:18 | 显示全部楼层
本帖最后由 吾要单片机 于 2017-7-10 20:40 编辑

条件码表里面有些定义与ARM不同。

 楼主| 发表于 2017-6-15 18:21:29 | 显示全部楼层
请问各位大侠,乱序双发射比单发射快出多少?我找不到这方面的资料。
 楼主| 发表于 2017-6-15 23:56:46 | 显示全部楼层
本帖最后由 吾要单片机 于 2017-6-16 12:21 编辑

关于条件码RP、RE、RN的说明:这3个条件码不只是指令的执行条件码 ,它们也同时无条件的将PSR寄存器的RC进行自减1操作。指令是有条件执行,而PSR.RC是无条件自减1。
 楼主| 发表于 2017-6-18 18:30:21 | 显示全部楼层
乘法、除法指令表的执行周期数有更新!
 楼主| 发表于 2017-6-22 12:35:03 | 显示全部楼层
本帖最后由 吾要单片机 于 2017-7-6 20:52 编辑

有人知道龙芯除法器运算速度是多少?32位/32位要用多少周期才能完成?目前我可以做到11周期完成32位/32位运算,但是要使用11个加法器,使用ALUTs大约350个,这样的速度和电路规模是否可行,请大家明示,先谢了
 楼主| 发表于 2017-6-24 19:36:00 | 显示全部楼层
本帖最后由 吾要单片机 于 2017-12-23 20:13 编辑

更新除法指令周期数:T=4~16
 楼主| 发表于 2017-7-6 18:22:25 | 显示全部楼层
本帖最后由 吾要单片机 于 2017-7-6 18:37 编辑

我找到龙芯2F的资料,里面说”定点除法采用非流水线操作,根据操作数的长度其延时为4到37周期:“。这个延时和我的算法接近(如果是64位,我的算法是4到23周期),但是问题来了,什么是非流水操作?是不是进行除法运算时没有重复使用相同的部件?不用迭代吗?
 楼主| 发表于 2017-7-7 12:22:08 | 显示全部楼层
本帖最后由 吾要单片机 于 2017-7-7 19:23 编辑

我的32位除法器需要340个AUTLs,都要赶上16位X16位的乘法器了
 楼主| 发表于 2017-7-10 20:49:38 | 显示全部楼层
本帖最后由 吾要单片机 于 2017-7-10 22:50 编辑

有改动,本次改动的内容如下:
1、条件码表有改动,新的条件码表如下:

2、取消JVC、JVS指令。
3、取消寄存器组PUSHG、POPG指令。
4、改进PUSH、POP指令,由单个寄存器PUSH、POP操作,变为多个寄存器的PUSH、POP操作。对于16位指令集,其出入栈操作的指令是:PUSH   Rd,#uimm4 和POP   Rd,#uimm4。对于32位指令集,其出入栈操作的指令是:PUSH   Rd, #uimm5 和POP   Rd, #uimm5Rd是起始的寄存器号,立即数是要连续操作的寄存器数。

        经过本次改进,16位指令集包含有78条指令(其中,执行指令是74条,立即数前缀指令是4条),32位指令集包含有89条指令(其中,执行指令是88条,立即数前缀指令是1条).

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册新用户(newuser)

x
 楼主| 发表于 2017-7-11 16:18:48 | 显示全部楼层
本帖最后由 吾要单片机 于 2017-7-15 16:51 编辑

还是保留R0的零寄存器功能,有R0的零寄存器功能好处还是有不少。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册新用户(newuser)

x

本版积分规则

小黑屋|手机版|Archiver|Lemote Inc.  

GMT+8, 2019-3-21 09:09 , Processed in 0.193366 second(s), 15 queries .

快速回复 返回顶部 返回列表