找回密码
 立即注册
楼主: 神***

向【64位超算中心】前进 ! DPU32@全新32位8051+DSP指令

[复制链接]
  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 85 天

    [LV.6]常住居民II

    12

    主题

    478

    回帖

    1380

    积分

    荣誉版主

    积分
    1380
    发表于 2024-3-13 23:42:12 | 显示全部楼层
    看到讨论都是高大上的底层啥的,一点不懂,只会应用.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-14 07:01:48 | 显示全部楼层
    神农鼎 发表于 2024-3-13 07:49
    全支持,全打通 !笑在心里,任督二脉全通了

    现在的关键是:

    1. STC目前的技术, 执行一条 DPU32指令, 要比执行一条 CPU指令, 慢 8个指令周期(CALL指令调用3+RET返回2+DPU32数据装载和返存各1).

    2. 再加上设计上和 Keil 编译器数据(参数)传递格式不一致, 引起的数据存储位置传送(放到指定专用寄存器), 需要增加 N个 CPU指令周期

    3. N位扩展运算能力, 251 运算指令限制在 16位x2(32位), 要扩展需要增加额外的数条指令, 因此, 从运算指令扩展功能上讲, 251比 196(98) 和 51弱.
       因此, DPU32运算指令, 除了尽量补齐 32位基本指令外, 还需保证足够的 N位扩展能力, 比如 32位 加、减、乘、除、移位等,能用最少最轻松的级连方法,扩展到 64位或更高位。

    4. 目前 DPU32指令的标志位, 和 CPU指令的标志位不兼容(不在同一地址), 影响下一步级连指令操作(需要额外增加数条指令)

    5. 目前 DPU32 的组合微指令, 是由多个分微指令串接执行而成, 应努力缩短其单体执行周期(否则增加再多的 DSP指令, 都是假大空, 提升不了算力)。
       TI 的 DSP, 久据龙头老大地位, 不是在于她的指令有多复杂(别人也能轻松做到), 而在于她的算法,她的工艺的先进性,执行时间比别人家的要短要快好多。


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-14 07:02:19 | 显示全部楼层
    因此, 解决方案一, 建议如下:
    1. 努力缩短现有 CPU构架, LCALL指令 和 RET指令 执行周期.
    2. 努力做到 DPU32 和 CPU 的标志位同步更新。
    3. 努力提升 DPU32 组合微指令的执行周期(否则再多的 DSP指令, 都没用, 提升不了速度和算力)。
    4. 尽量补齐 32位基本运算, 包括 32位加法、32位减法、32位x32位=64位乘法、64位/32位=64位(或32位)除法、32位移位等。
       尽可能利用现有的 DPU32 输入/输出标志位, 能用最少的代码, 最轻松的级联方法,扩展到 64位或更高位。
    5. 数据(参数)传递, ECX,EDX 坚决不能放在 DATA 08H-0FH中, 而要放在 DR8,DR12中, 如能技术解决, 放在堆栈中更好, 以减少Keil数据(参数)传送代码)。

       上述 1,2,3 条, 短时间难以实现, 老姚努力加油!
       上述 4,5 条, 只要老姚想做, 就能实现!

       至余 DPU32 和 M4的DSP 如何比,如何超越 M4的DSP ?
       目前的 STC32+DPU32 组合方案, 就整数运算而言, 难于超越M3(因为那些基本指令执行周期很容易推算), 更别提超越 M4的DSP 了。

    1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-14 07:02:43 | 显示全部楼层
    要想达到 M3的高度, 再提超越 M4的DSP, 只能选择解决方案二, 建议如下:
    1. 扩展 251基本指令集, 所有基本指令只有在 CPU中执行, 效率才是最高的速度最快. 和 Keil的耦合程度最高, 程序精简。
    2. 只要补充 32位带进位加法、32位带借位减法、32位x32位=64位乘法、64位/32位=64位(或32位)除法、32位带进位移位, 32位数据传送等基本指令。
       这些基本指令组成的执行速度, 要比 DPU32 组合微指令 快许多, 轻松达到 M3的高度。
    3. 再加上 STC专用的各种补充算法模块(如TFPU), 才有超越 M4的DSP的资本。

       总结: 基本指令 CPU内部扩展, 复杂功能外挂模块补充, 才是综合性能最好效率最高。

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    前天 06:49
  • 签到天数: 128 天

    [LV.7]常住居民III

    3

    主题

    57

    回帖

    111

    积分

    注册会员

    积分
    111
    发表于 2024-3-14 07:49:39 | 显示全部楼层
    指令集发个文本上来,  方便编辑标注

    点评

    在 24楼  发表于 2024-3-14 08:43
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-14 09:02:07 | 显示全部楼层
    想当年(N年前), 全球叫衰 X86 发展走到头了,
    结果 英特尔 推出 新工艺, i-Cache/d-Cache及流水线,
    一下子扩展指令集提升速度, 使得 X86 系列至今火热,
    X86 扩展指令集 达 1700多条,
    远超第二名 ARM  指令集 1300多条.
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9532

    回帖

    1万

    积分

    管理员

    积分
    14106
     楼主| 发表于 2024-3-14 09:30:14 | 显示全部楼层
    还是要扩展指令集,指令不够丰富啊

    点评

    扩展指令集是正统,251本身是 16位指令集, 所带少部分 32位指令不够丰富, 难以支承功能强大的 超算能力. 外挂专用模块, 由于两者的数据交换, 系统的支持等原因, 会影响整体速度. 因此, 有能力的话, 尽量扩展 CPU 3  详情 回复 发表于 2024-3-14 12:20
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-14 12:20:18 | 显示全部楼层
    神农鼎 发表于 2024-3-14 09:30
    还是要扩展指令集,指令不够丰富啊

    扩展指令集是正统,251本身是 8位 + 16位+ 部分 32位指令不够丰富, 难以支承功能强大的 超算能力.

    外挂专用模块, 由于两者的数据交换, 系统的支持等原因, 会影响整体速度.

    因此, 有能力的话, 尽量扩展 CPU 32位指令集是正统(一次性投资较大, 后面吃红利),

    能力或工艺或技术 不达标的情况下, 可先使用外挂模块方式(投资较小, 有局限性).


    例如 英特尔, 推出 80386的时候, 技术工艺 没达标, 所以继续推出 80387(浮点数协处理器), 用 80386+80387 两片系统来提高运算能力.

    后来技术和工艺达标了, 推出 80486(内部处理器为80386,片上集成了协处理器80387, 指令优化总线合并, 执行速度和效率,
    在同频下, 比 80386+80387 两片系统要快).
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9532

    回帖

    1万

    积分

    管理员

    积分
    14106
     楼主| 发表于 2024-3-14 12:37:52 | 显示全部楼层
    现在STC是单芯片,多IP, 在单芯片上
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-14 14:00:40 | 显示全部楼层
    是的, 多 IP核 即 多个功能模块, 但核心 CPU模块, 只有一个
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-20 01:47 , Processed in 0.069967 second(s), 66 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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