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

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

[复制链接]

该用户从未签到

640

主题

1万

回帖

1万

积分

管理员

积分
15687
 楼主| 发表于 2024-4-5 10:15:22 | 显示全部楼层
如让 CPU继续工作,会用到哪些数据单元 ?
DPU351 来回传的那些数据单元咋办 ?

硬件重入了 ?

===不看程序 N 年,想到这些,就提了个方案
       1,不给CPU时钟,这简单啊
       2,无上限给 DPU351 永远提高主频
       3,CISC 的 CPU 只是辅助角色了,主频低些也无妨,
            能对存储器直接运算操作,造成走线长,同制程
            主频要低些,但强悍
         
            RISC 是把存储器中的 数据先搬到 寄存器,
            再运算,再从 寄存器搬回 存储器,
            这也是 RISC 的缺点,主频高点,也不见得快

===老农田间插秧,插话:CPU 跑 100MHz, DPU351 跑250MHz, 你咋看

点评

原则上 DPU32所有指令, 都是对接 汇编应用的, 而汇编是由官方负责 写成合适的专用库函数, 供用户调用. 对绝大多数 C用户, 你官方用到什么, 怎么实现, 用户根本不关心, 唯一关心的是速度和代码长度. 对汇编程序员来  详情 回复 发表于 2024-4-5 12:37
“如让 CPU继续工作,会用到哪些数据单元 ? DPU351 来回传的那些数据单元咋办 ?” 你在草案1的帖子里已经回答过他一次,他至今不懂。我看他不像装的,他是真心不懂CPU工作原理。  详情 回复 发表于 2024-4-5 11:01
回复 支持 反对 送花

使用道具 举报

该用户从未签到

83

主题

1132

回帖

1万

积分

荣誉版主

积分
12251
发表于 2024-4-5 10:42:59 | 显示全部楼层
梁工 发表于 2024-4-5 10:10
好的,非常感谢!
在我的实际项产品目中,对算力有要求的一般是乘加运算的速度,
比如PID、DFT、FFT、各种 ...

“如果能做成DMA则更加好。”

理论上是可以的,只是DMA+XDATA与数据全在EDATA中比,那个更快,等DPU351-L1出来后再去试试就知道了
回复 支持 反对 送花

使用道具 举报

该用户从未签到

83

主题

1132

回帖

1万

积分

荣誉版主

积分
12251
发表于 2024-4-5 11:01:44 | 显示全部楼层
神农鼎 发表于 2024-4-5 10:15
如让 CPU继续工作,会用到哪些数据单元 ?
DPU351 来回传的那些数据单元咋办 ?

“如让 CPU继续工作,会用到哪些数据单元 ?
DPU351 来回传的那些数据单元咋办 ?”



你在草案1的帖子里已经回答过他一次,他至今不懂。
我看他不像装的,他是真心不懂CPU工作原理。

回复 支持 反对 送花

使用道具 举报

该用户从未签到

83

主题

1132

回帖

1万

积分

荣誉版主

积分
12251
发表于 2024-4-5 11:05:16 | 显示全部楼层
LAOXU 发表于 2024-4-5 06:08
这段时间太忙, 我已不想跟你争论了, 你老永远是 伟大光荣正确.

草案1,征求意见的帖子不停地叨叨叨, 核心 ...

“至于你老编个“8阶巴特沃斯”库函数, 我没兴趣, 这是我几十年前玩剩的, 你老如有兴趣, 不如咱们各自编个“8阶巴特沃斯”库函数,
   PK 一下,
1.  谁的程序更短更精练.
2.  谁的程序执行速度更快更高效.
   假如你老同意我以上观点, 我倒有兴趣玩一把.
   为建立STC32/64位单片机的“DSP”函数库做贡献.”


我接受你的挑战,等DPU351-L1出来了后一定与你PK
回复 支持 反对 送花

使用道具 举报

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

    [LV.7]常住居民III

    45

    主题

    1140

    回帖

    4851

    积分

    荣誉版主

    积分
    4851
    发表于 2024-4-5 12:37:38 | 显示全部楼层
    神农鼎 发表于 2024-4-5 10:15
    如让 CPU继续工作,会用到哪些数据单元 ?
    DPU351 来回传的那些数据单元咋办 ?

    原则上 DPU32所有指令, 都是对接 汇编应用的, 而汇编是由官方负责 写成合适的专用库函数, 供用户调用. 对绝大多数 C用户, 你官方用到什么, 怎么实现, 用户根本不关心, 唯一关心的是速度和代码长度.

    对汇编程序员来说, DPU32 指令执行期间, 来回传的那些数据单元, 不去占用不去改变很简单,
    根本不存在 硬件重入问题.
    这些汇编程序, 如老姚没合适人员, 我来帮你写, 挺简单的, 不要一毛钱, 你只需要找人挑刺即可.

    DPU32 指令在读 专用寄存器(占用总线)时, 暂停 CPU 一个时钟周期,  回写专用寄存器(占用总线)时, 暂停 CPU 一个时钟周期, 其他 DPU32 内部运算(不占用总线)时, 不关闭 CPU运行, 完全做的到.

    除了数据交换,  暂停 CPU 一个时钟周期, 其他时间不暂停 CPU 工作, 那么 对中断响应也没什么影响. 优点多多.
    并且总体 DPU32的指令执行的综合时间,  要比 完全暂停 CPU 工作, 要快 !

    点评

    LAOXU,下面是你的原话: 原则上 DPU32所有指令, 都是对接 汇编应用的, 而汇编是由官方负责 写成合适的专用库函数, 供用户调用. 对绝大多数 C用户, 你官方用到什么, 怎么实现, 用户根本不关心, 唯一关心的是速度和  详情 回复 发表于 2024-4-5 16:07
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    45

    主题

    1140

    回帖

    4851

    积分

    荣誉版主

    积分
    4851
    发表于 2024-4-5 12:42:15 | 显示全部楼层
    老农田间插秧,插话:CPU 跑 100MHz, DPU351 跑250MHz, 你咋看

    ===============================================

    依我看, DPU351 跑2500000MHz,  都没关系, 只要在 数据交换(读写专用寄存器),  暂停 CPU 一个时钟周期 即可.  
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.8]以坛为家I

    22

    主题

    433

    回帖

    1710

    积分

    荣誉版主

    积分
    1710
    发表于 2024-4-5 13:34:46 | 显示全部楼层
    如果仅仅停掉CPU的时钟,还保留IO时钟,这样串口接收数据就不会受到影响。----very good!!!
    而如果在停掉CPU的时钟,IO时钟也不工作,这样,其应用场景会大大受限。

    点评

    我对LAOXU的语文理解好像又出问题了: 事实是 (1)STC8H上的MDU16在执行乘法指令( ARCON = 4  详情 回复 发表于 2024-4-5 16:32
    其他都在工作,CPU短时是DPU351在工作  详情 回复 发表于 2024-4-5 16:20
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    83

    主题

    1132

    回帖

    1万

    积分

    荣誉版主

    积分
    12251
    发表于 2024-4-5 16:07:04 | 显示全部楼层
    LAOXU 发表于 2024-4-5 12:37
    原则上 DPU32所有指令, 都是对接 汇编应用的, 而汇编是由官方负责 写成合适的专用库函数, 供用户调用. 对 ...


    LAOXU,下面是你的原话:
    原则上 DPU32所有指令, 都是对接 汇编应用的, 而汇编是由官方负责 写成合适的专用库函数, 供用户调用. 对绝大多数 C用户, 你官方用到什么, 怎么实现, 用户根本不关心, 唯一关心的是速度和代码长度.
    对汇编程序员来说, DPU32 指令执行期间, 来回传的那些数据单元, 不去占用不去改变很简单,
    根本不存在 硬件重入问题.
    这些汇编程序, 如老姚没合适人员, 我来帮你写, 挺简单的, 不要一毛钱, 你只需要找人挑刺即可.


    那么请你现在就
    用草案2写一个:供C251的C语言编译器使用的,32位无符号整数乘以32位无符号整数的库函数我来挑刺。

    其中就用下面草案2的乘法指令“MULU_EABX”
    Fig_01_草案2_32位乘法.jpg

    并且按照草案2的寄存器定义:
    Fig_02_草案2_32位寄存器.jpg

    指令中的:EAX=DR0, EBX=DR4, 而ECX随便你指定DRm。


    等你,LAOXU,当潮水退后,就可以看到谁穿长裤子了




    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-6 23:56
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    70

    回帖

    720

    积分

    荣誉版主

    积分
    720
    发表于 2024-4-5 16:08:41 来自手机 | 显示全部楼层
    正常情况下,CPU应该等待DPU运算结束后再运行,但中断也可以单独配个时钟,发现中断立即启动CPU时钟,中断完成后再来取DPU结果就行了

    点评

    (1)“正常情况下,CPU应该等待DPU运算结束后再运行”。你这句话很对。 (2)“为什么要设计成硬件重入?我觉得不合理。DPU竟然能影响中断,这不合理”。你这句话也很对。 (3)现在的STC32G上的MDU32已经是CPU应  详情 回复 发表于 2024-4-5 19:40
    这不可靠,比如: (1)当进入中断时,DPU运算还未结束,中断现场保存程序就把作为运算操作数的DR0/DR4(EAX/EBX)保存到系统堆栈里了, (2)然后中断处理ISR正在进行的时候,假如DPU运算结束了,就会立即把ISR运  详情 回复 发表于 2024-4-5 16:55
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    640

    主题

    1万

    回帖

    1万

    积分

    管理员

    积分
    15687
     楼主| 发表于 2024-4-5 16:20:25 | 显示全部楼层
    社区闲人 发表于 2024-4-5 13:34
    如果仅仅停掉CPU的时钟,还保留IO时钟,这样串口接收数据就不会受到影响。----very good!!!
    而如果在停掉CP ...

    其他都在工作,执行指令的CPU短时是给DPU351来跑扩展的DPU351指令了
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-11-1 07:44 , Processed in 0.090094 second(s), 88 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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