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

讨论稿,向【64位超算中心】前进 ! DSP/DPU351 + TFPU, DPU32@全新32位8051

[复制链接]
  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 223 天

    [LV.7]常住居民III

    45

    主题

    1140

    回帖

    4851

    积分

    荣誉版主

    积分
    4851
    发表于 2024-4-12 06:32:47 | 显示全部楼层
    假如在 C51条件下,  对汇编 开放 【STC8051H - 32Bit】,2K edata, 32K xdata 相关功能,

    那么, STC8051H 的综合性能, 有本质的提升, 能运行 C251的相关各种函数库(改写后), 堆栈 指针 SP 升级到 16位,

    原STC 编写的 51库函数(不太受欢迎, 速度慢) 的现像可彻底改变, 运行速度可接近 C251库函数,

    还有各种复杂点的运算, 不依靠 DPU32, 仅依靠 251 源模式 指令集, 就能大大提升实际运算速度.

    彻底改进 51系的 片外 XRAM 寻址的 低效,  8位 SP 的短板.

    想想就兴奋, 打败世上所有 8位机.

    点评

    开放的,你能想到,就能做到  详情 回复 发表于 2024-4-12 07:23
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    83

    主题

    1132

    回帖

    1万

    积分

    荣誉版主

    积分
    12251
    发表于 2024-4-12 07:12:57 | 显示全部楼层
    LAOXU 发表于 2024-4-12 06:08
    假如这个示范程序是网友编写的, 我给 100分.
    当然, 100分不是终点, 离真正的 “无缝连接” 还有一点的距 ...

    假如是我写出这么个程序, 以 满分 100分 计, 我对 这打分是 50分 ----- 不及格 !
    我喜欢 PK, 但仅仅是对我自已 PK, 今天的我努力 打赢 昨天的我. 就是胜利!


    哈哈,假如是你写的,可以得50分
    实际上你写不出来,你没有交你的卷子,你实际得的是0分!

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    83

    主题

    1132

    回帖

    1万

    积分

    荣誉版主

    积分
    12251
    发表于 2024-4-12 07:16:39 | 显示全部楼层
    本帖最后由 杨为民 于 2024-4-12 07:18 编辑
    LAOXU 发表于 2024-4-12 06:08
    假如这个示范程序是网友编写的, 我给 100分.
    当然, 100分不是终点, 离真正的 “无缝连接” 还有一点的距 ...

    假如这个示范程序是网友编写的, 我给 100分.
    当然, 100分不是终点, 离真正的 “无缝连接” 还有一点的距离 !
    这个示范程序 在 c251  Large模式下能编译通过, 在 Huge模式下编译通不过.
    如能改成 随机切换 c251  Large模式 / Huge模式, 编译都能通过(通用). 我加 附加分 50分.
    如能改成 在 c251 /c51 编译环境下, 编译都能通过(通用). 我再加 附加分 50分.
    总分(满分)是 200分 !

    我得100分,我很高兴!
    但是从你提出这种“无缝连接” 的想法,曝露出你对C51/C25和A5/A25的语言规范的无知!

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 223 天

    [LV.7]常住居民III

    45

    主题

    1140

    回帖

    4851

    积分

    荣誉版主

    积分
    4851
    发表于 2024-4-12 07:19:55 | 显示全部楼层
    tzz1983 发表于 2024-4-6 12:45
    执行 DSP/DPU351 + TFPU, DPU32  指令时, 为什么要停CPU时钟?   
    我想很多人还是不能理解.  可以继续讨论一 ...

    方法1的优点, 你总结了, 咱再不说了.
    至于缺点, 只要你想做, 就不存在什么互斥访问的(欢迎讨论补充, 让大家对硬件更加认识)
    顺便说一下, 本人早些年前, 熟读老外搞的用200多片TTL设计的CPU, 也设计过世上最烂的4位CPU(仅用14片TTL),
    也搞过多种用TTL设计8位机方案, 不要听 XX 胡言乱语(敬其70多岁, 老小孩了, 咱不和他一般见识).

    本人方案2:
    在 DPU32 中, 增加 EAX'/EBX'/ECX'/EDX' 映像寄存器(5级堆栈).
    C251 状态下 DPU32 执行动作:
    1. 读入 CPU 的 EAX/EBX/ECX/EDX 寄存器
    2. 执行 DPU32 动作
    3. 结果写入 DPU32  EAX'/EBX'/ECX'/EDX' 映像寄存器(压栈).
    4. 由 CPU 读入 最终结果(弹栈).

    C51 状态下 DPU32 执行动作:
    1. CPU 预装 ECX/EDX 内容到 ECX'/EDX' 映像寄存器(按需要执行).
    1. 读入 CPU 的 EAX/EBX 和 ECX'/EDX' 寄存器
    2. 执行 DPU32 动作
    3. 结果写入 DPU32  EAX'/EBX'/ECX'/EDX' 映像寄存器(压栈).
    4. 由 CPU 读入 最终结果(弹栈).
    由于输出都是暂存 DPU32  EAX'/EBX'/ECX'/EDX' 映像寄存器(堆栈)中. 不存在硬件重入问题.

    针对我的方案, 欢迎大家指出可能存在的缺点和错误, 欢迎拍砖!
    纯技术讨论, 至于老姚最终选啥方案, 那是老姚的事.

    ----------------------------------------------------------------------------

    方法4,  即在执行  DSP/DPU351 + TFPU, DPU32 指令时, 停掉CPU的时钟.
    就好像是CPU真的在运行一样的效果. 运算结束后通过DMA把结果放在指定的位置, 并设置好标志.
    此方法的优点很明显, 和真正的指令一样, 效率高, 随时可用, 没有互斥问题.
    缺点, 如果执行时间过长是会影响中断响应频率的,
        综合执行速度比 方法1 慢一些(不管努力提高新增指令速度还是主频),

    如果让我选, 我会选方法1, 在性能不降低的性况下, 速度优先.

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    640

    主题

    1万

    回帖

    1万

    积分

    管理员

    积分
    15687
     楼主| 发表于 2024-4-12 07:23:50 | 显示全部楼层
    LAOXU 发表于 2024-4-12 06:32
    假如在 C51条件下,  对汇编 开放 【STC8051H - 32Bit】,2K edata, 32K xdata 相关功能,

    那么, STC8051H  ...

    开放的,你能想到,就能做到
    1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    • +1

      楼主威武~

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    83

    主题

    1132

    回帖

    1万

    积分

    荣誉版主

    积分
    12251
    发表于 2024-4-12 07:32:54 | 显示全部楼层
    LAOXU 发表于 2024-4-12 06:08
    假如这个示范程序是网友编写的, 我给 100分.
    当然, 100分不是终点, 离真正的 “无缝连接” 还有一点的距 ...

    滴搭时钟超准(现证明目前的 OS, 滴搭都准确, 无需再努力).


    终于承认你是领着大家跟“风车”打架了。但愿你以后别在这样自以为是了。
    顺便说一下,你在47楼首先提出的质疑个人认为, DPU32 指令执行CPU停止工作(只是好看不实用), 并且影响中断的实时响应.
    已经发展成了要求MDU32在执行运算时“继续执行下面的指令,避免影响中断的发生”
    这件事也是你在领着大家跟“风车”打架

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 223 天

    [LV.7]常住居民III

    45

    主题

    1140

    回帖

    4851

    积分

    荣誉版主

    积分
    4851
    发表于 2024-4-12 07:40:37 | 显示全部楼层
    STC8 MDU16 V3.0 LIB 库使用说明
    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7064
    (出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)

    世上(也是史上)功能最全的STC32 MDU32应用 LIB
    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=883
    (出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)

    STC32F FPMU 数学函数库 的功能验证(第三方,力求全面完整)
    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4154
    (出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)
    STC32F_LIB.rar (202.24 KB, 下载次数: 11) 下载 在 30楼 !!!

    点评

    这是你的原话: 假如这个示范程序是网友编写的, 我给 100分. 当然, 100分不是终点, 离真正的 “无缝连接” 还有一点的距离 ! 这个示范程序 在 c251 Large模式下能编译通过, 在 Huge模式下编译通不过. 如能改成 随  详情 回复 发表于 2024-4-12 09:31
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 223 天

    [LV.7]常住居民III

    45

    主题

    1140

    回帖

    4851

    积分

    荣誉版主

    积分
    4851
    发表于 2024-4-12 07:56:33 | 显示全部楼层
    360行, 行行出状元,

    本人非专业程序员(只是爱好).
    以前工作的角色是 "百得胶", "救火队员" , 无论机械设计, 工艺流程, 光电,
    化工 .....  还是 动手能力, 车铣刨钳, 电子装配 ......
    强电弱电(硬件设计, 软件, PLC.... ) , 反正找不到人干的事都论到我干.

    学的多学的杂, 结果每样都不精, 只不过略懂一点皮毛而已.

    祝 XX 70多岁高龄, 永远年轻, 打败天下无敌手, 在 360行 全线打败略懂一点的我.

    请广大网友见证, 360行咱认输, 第 361行, 来 STC论坛报到灌水, 能不能打败我 ?


    但愿我以后来 STC论坛报到灌水时, 每次都能碰到 比我年长 10几岁的 XX, 这是真 NB  


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    28

    主题

    992

    回帖

    2141

    积分

    荣誉版主

    积分
    2141
    发表于 2024-4-12 07:57:14 | 显示全部楼层
    跟不上你们的节奏, 你们谈高级话题, 我来聊低级话题.

    我在想, 要是把一部分IAP/FLASH独立出来就好了, CPU 等6毫秒的擦除时间, 好伤哦

    (24M主频时, 6000*24=144000个时钟!)

    虽然生产成本可能略有提高, 但能真正的可替代外部FLASH. 很值的

    点评

    关于 现有 IAP/FLASH 的缺点, 我以前产品, 做过一个方案, 供参考. 无 CPU 等待 6毫秒的擦除时间 解决方法: 1, 用 2页 IAP/FLASH 组成乒兵存储器. 头上第一字节为标志位. 2, 程序运行时, 用 RAM 代替 IAP/FLASH 存  详情 回复 发表于 2024-4-12 08:37
    1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    • +1

      楼主威武~

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 223 天

    [LV.7]常住居民III

    45

    主题

    1140

    回帖

    4851

    积分

    荣誉版主

    积分
    4851
    发表于 2024-4-12 08:12:38 | 显示全部楼层
    tzz1983 :

    在我的认知中, OS操作系统, 只是对硬件 CPU的补充(用软件补充其硬件的不够灵活多变).

    OS操作系统, 依靠中断计数器, 可解决程序多重响应进出中断问题.

    本方案中, 依靠 增加的 EAX'/EBX'/ECX'/EDX' 映像寄存器(5级堆栈). 原理和 OS操作系统中, 依靠中断计数器相似,

    不但解决程序多重响应进出中断问题. 还顺便解决了 占用 静态 RAM问题.

    请帮我仔细检查分析一下, 是否还存在缺点和错误, 欢迎拍砖!

    点评

    总共也就是4个中断优先级, 要不让姚总每个优先级对应一个DSP/DPU硬件吧, 各用各的, 谁也别欺负谁!  详情 回复 发表于 2024-4-12 08:30
    我要干活了, 这些纯理论上的东西, 我不想花太多的精力啦. 相信姚总吧. 至于 "EAX'/EBX'/ECX'/EDX" 我的想法很简单 , 后台任务正在使用 "EAX'/EBX'/ECX'/EDX" 时, 发生了中断, 中断要做DPU运算, 此时半成品的"EA  详情 回复 发表于 2024-4-12 08:22
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-11-1 07:05 , Processed in 0.097427 second(s), 83 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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