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

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

[复制链接]
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 137 天

    [LV.7]常住居民III

    37

    主题

    872

    回帖

    3990

    积分

    荣誉版主

    积分
    3990
    发表于 2024-3-9 19:43:53 | 显示全部楼层
    杨为民 发表于 2024-3-9 18:24
    “现在问题是, 用什么方式通知 C编译器 ?”
    我觉得你这是典型的“产前焦虑症”:老想着小孩生出来没奶吃 ...

    现在不考虑, 等孩子生出来就晚了~~~

    我自认 汇编也是最项尖的存在, 我深度思考觉得不合理, 你老认为是 典型的“产前焦虑症” ?

    如何有效嵌入 现有的 Keil 都不考虑, 难道等你的 虚拟指令集 和采用 微指令技术 的编译器实现 ? 请问老姚开此贴的意义何在?

    难道也像 MDU16 那样, 设计彻底的失败(专用寄存器组放在片外, 严重拖慢执行速度), 大批量投产后, 改都不能改, 才 算 金刚钻 ???

    点评

    就是要焦虑,这是第一次怀孕的小两口子的绝对权力,我尊重你的焦虑,不再安慰你了。  详情 回复 发表于 2024-3-9 20:13
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 137 天

    [LV.7]常住居民III

    37

    主题

    872

    回帖

    3990

    积分

    荣誉版主

    积分
    3990
    发表于 2024-3-9 19:48:47 | 显示全部楼层
    关于重入函数,

    个人认为,  DPU32 类指令 尽量 设计成 可重入的, 方便 DPU32 类指令, 在 OS 和 中断 中使用.
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    63

    主题

    660

    回帖

    1万

    积分

    荣誉版主

    积分
    10806
    发表于 2024-3-9 20:13:04 | 显示全部楼层
    LAOXU 发表于 2024-3-9 19:43
    现在不考虑, 等孩子生出来就晚了~~~

    我自认 汇编也是最项尖的存在, 我深度思考觉得不合理, 你老认为是  ...

    就是要焦虑,这是第一次怀孕的小两口子的绝对权力,我尊重你的焦虑,不再安慰你了。

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 137 天

    [LV.7]常住居民III

    37

    主题

    872

    回帖

    3990

    积分

    荣誉版主

    积分
    3990
    发表于 2024-3-9 20:27:55 | 显示全部楼层
    神农鼎 发表于 2024-3-9 19:09
    大家需要增加哪些指令,提前提 !
    我们一起加到 STC32G96K256中
    ===LQFP100/64/48

    假如 要再 增加 几条指令的话, 可考虑增加下几条:

    1.  32 位无符号数乘法(MULU__KEIL32)         // EBX(DR4) = EAX * EBX

    2.  64 位 EABX 规格化(NRM_EABX)         // EABX = NRM(EABX); CL <= Shifted#

    3.  32 位 BIN 转 BCD (BCD32_EAX)          // {EAX(DR0),EBX(DR4)} = EBX(DR4)  

    4.  32 位 BCD 转 BIN (BIN32_EAX)          // EBX(DR4) = EBX(DR4)  

    另外:
    NRM_AX  16 位 AX 规格化(NRM_AX)  AX = NRM(AX); DL <= Shifted#

    请问派啥用, 单精度浮点数是 24位的, 规格化必须用 32位的.

    不知老杨, 这个 16 位规格化 能用在哪些地方 ???
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    117

    回帖

    643

    积分

    高级会员

    积分
    643
    发表于 2024-3-10 00:09:56 | 显示全部楼层
    LAOXU 发表于 2024-3-9 19:43
    现在不考虑, 等孩子生出来就晚了~~~

    我自认 汇编也是最项尖的存在, 我深度思考觉得不合理, 你老认为是  ...

    老许的汇编功力确实牛
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 137 天

    [LV.7]常住居民III

    37

    主题

    872

    回帖

    3990

    积分

    荣誉版主

    积分
    3990
    发表于 2024-3-10 07:07:13 | 显示全部楼层
    论【DPU32】指令(讨论稿)的"反人类"设计!


    1、专用寄存器命名,倒序,和 8051风格(正序)不同,不利于记忆,特伤脑袋(典型的"脑筋急转弯",一不小心就要犯错)。
       目前定义: 00H(DR0) <--> EBX , 04H(DR4) <--> EAX , 08H <--> EDX , 0CH <--> ECX ,
    建议修改为: 00H(DR0) <--> EAX , 04H(DR4) <--> EBX , 08H <--> ECX , 0CH <--> EDX ,
       即 EAX ,EBX ,ECX ,EDX , 按数字次序依次增加。


    2、专用寄存器定义,目前 DPU32 除了占用 00H-07H(BANK0), 还固定占用 08H-0FH(BANK1),
       存在问题: 地址 08H-0FH, 相当于 全局变量, 一但 DPU32 指令占用了全局变量, 组成的功能函数就是可重入的!
                 对 OS系统的支持率极差, 无法直接 应用于 OS系统, 更不能应用于 中断, 否则系统崩溃死机。
    建议修改为: DR0 <--> EAX , DR4 <--> EBX , DR8 <--> ECX , DR12 <--> EDX ,   
                 这样, 高度保持和目前的 STC32 全兼容, STC32 的 MDU32, TFPU 占用 R0-R7(自动识别切换 BANK0/BANK1/BANK2/BANK3),
                 实现和 C编译器无缝衔接。
                 由于不使用全局变量, 所有DPU32 指令, 可在 OS系统中 任意使用, 除少量占用DR12 的高级指令之外, 绝大多数指令,
                 可在中断中任意使用, 实于性超强, 加速提升 STC32G96K256 的挡次。  
                 【DPU32】模块 和 OS系统的耦合程度越高, 则组成调用 DPU32指令的 子程序越短小精练, 执行速度也越快, 有利于综合提升整体运算速度
                 如果按照【DPU32】(讨论稿)方案实行, 为达到在 DPU32指令能在 OS系统和中断中使用, 需增加一大堆辅助代码, 大大降低了 DPU32整体运算速度。


    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 137 天

    [LV.7]常住居民III

    37

    主题

    872

    回帖

    3990

    积分

    荣誉版主

    积分
    3990
    发表于 2024-3-10 07:44:58 | 显示全部楼层
    专用寄存器位置定义 更改后的好处:

    所有DPU32 指令, 可在 OS系统中 任意使用,  

    除少量占用DR12 的高级指令之外, 其他 DPU32 指令, 在中断中 任意使用,

    少量占用DR12 的高级指令, 如在中断中使用,  只需在:



    中断入口处加一条 __asm { push  dr12};
    退出中断处加一条 __asm { pop  dr12}; 即 OK

    这样, 用户使用是否非常易用简单 !

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    前天 13:35
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    5

    主题

    32

    回帖

    121

    积分

    注册会员

    积分
    121
    发表于 2024-3-10 07:46:49 来自手机 | 显示全部楼层
    学习了
    回复 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9345

    回帖

    1万

    积分

    管理员

    积分
    13918
     楼主| 发表于 2024-3-10 10:46:56 | 显示全部楼层
                    来锤我呀
    千锤百炼出深山,一朝得道立世间
    仰天大笑东风烈,华夏又多一国芯
               www.STCAI.com


    大家继续敲打全新的 DPU32 从 初生 到 大成 !!!

    点评

    毛主席说:世上无难事,只要肯登攀。 这次STC32G96K256的诞生必定会是单片机中国创造历史上的一个里程碑事件。 一、CORTEX-M4的DSP指令集CORTEX-M4是一种32位的嵌入式处理器架构,它具有一些特殊的指令集扩展  详情 回复 发表于 2024-3-11 13:03
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    117

    回帖

    643

    积分

    高级会员

    积分
    643
    发表于 2024-3-10 12:28:24 | 显示全部楼层
    LAOXU 发表于 2024-3-10 07:07
    论【DPU32】指令(讨论稿)的"反人类"设计!

    想说的也是这个,既然是在51、251系下,那么寄存器命名就要遵循51、251的风格,
    251的寄存器命名就很好的保持了对51风格的兼容和继承,
    就连INTEL公司当初搞16位51时都没有选择当时很流行的X86风格,
    而是重新设计了对51很友好的251风格
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-8 14:59 , Processed in 0.071033 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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