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

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

[复制链接]
  • TA的每日心情

    1 小时前
  • 签到天数: 85 天

    [LV.6]常住居民II

    5

    主题

    72

    回帖

    306

    积分

    中级会员

    积分
    306
    发表于 2024-3-14 14:04:51 | 显示全部楼层
    回复 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9542

    回帖

    1万

    积分

    管理员

    积分
    14058
     楼主| 发表于 2024-3-14 18:37:08 | 显示全部楼层
    大家只要提强大的指令就行,不要管成本,
    现在是发展 DPU32 到 DSP, 没成本压力
    STC32G12K128 已经是 全球 价格最低的 车规MCU
    DPU32 用 高速的寄存器



    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4156

    积分

    荣誉版主

    积分
    4156
    发表于 2024-3-17 15:50:14 | 显示全部楼层
    提个建议:
    DMA_M2M 传输地址能否设计成 24位?
    好处, 能通过 DMA 在 XRAM , 外设 <--> EDATA 之间数据交换.
    而 CPU 处理 EDATA 中的数据, 远比  CPU 处理 XDATA 中的数据 要快许多.
    能极大的提升 CPU 数据处理能力, 提高 CPU 性能.
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9542

    回帖

    1万

    积分

    管理员

    积分
    14058
     楼主| 发表于 2024-3-17 22:31:26 | 显示全部楼层
    刚看了下 STC32G12K128 的 xdata 是 8K , 暂时还没牵涉到这些, edata 是 4K
    如果是 STC8051H, xdata 是 32K , 暂时还没牵涉到这些, edata 是 2K
    如果是 STC32G96K256, xdata 是 64K , 暂时还没牵涉到这些, edata 是 32K

    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4156

    积分

    荣誉版主

    积分
    4156
    发表于 2024-3-18 05:49:45 | 显示全部楼层
    本帖最后由 LAOXU 于 2024-3-18 07:52 编辑

    DMA_M2M 传输地址设计成 24位的好处是, 能通过 DMA 在 XRAM/外设 <--> EDATA 之间数据交换.
    与 xdata , edata 内存大小无关, 能扩大 DMA 应用范围, 提升 CPU 数据处理能力,


    以 OS系统为例, PSP模式 使用 SP堆栈内存, 高效速度快, 但受 edata 大小限制, 任务多了不行.
    MSP模式 使用 XRAM内存, 效率低速度慢, 使用 xdata 内存.
    还有一种 MSP+PSP模式, 可略为提高一些 MSP模式下的效率及速度, 提升量有限。


    但是, 假如 DMA 支持 XRAM <--> EDATA 之间数据交换, 情况就大变了,
    产生一种新的 STC特有的 MSP+PSP模式, 高效速度快(等同于PSP模式),
    实施方法是:
      OS系统 使用 PSP模式 (仅占用两个作务 内存, 一个当时正在执行的, 另一个是过去或未来的),
    通过乒乓开关切换, 过去或未来的任务, 使用 DMA 通过 XRAM <--> EDATA 之间数据交换, 不占用 CPU运行时间.
    高效速度快(等同于PSP模式), 任务无限制.

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9542

    回帖

    1万

    积分

    管理员

    积分
    14058
     楼主| 发表于 2024-3-18 08:03:18 | 显示全部楼层
    目前 edata 是 CPU 专用
    ===有点类似 D-TCM,这样 CPU 与 DMA 不抢总线

            大家感觉 STC32G12K128 的 DMA 好,就是好在这
            如 STC8H8K64U 的 CPU 用 idata, DMA 也有这个好处

    xdata 是 CPU/DMA 共享

    ===CPU 与 DMA 如同时都用到 xdata, 就会抢总线,
             需要总线总裁/硬件自动处理

             这就是 普通的 DMA/CPU 的 通病

    暂时没有 edata 和 xdata DMA 交换的计划,
    再后续是 大 edata:
    ===可能 16K的edata 基本满足要求了

    ===以后豪华版以 16K/32K 的 edata 为主,满足绝大部分 RTOS 应有

    点评

    理解~~~  发表于 2024-3-18 10:42
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    67

    主题

    866

    回帖

    2908

    积分

    金牌会员

    积分
    2908
    发表于 2024-3-18 08:22:45 | 显示全部楼层
    STC发展真够快的!
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4156

    积分

    荣誉版主

    积分
    4156
    发表于 2024-3-18 10:51:27 | 显示全部楼层
    另外, 请教一下, MDU32指令执行时, 为什么要暂停 CPU ?   MDU16指令执行时, 不需要暂停 CPU的呀 !

    我理解为, 除了输入/输出(读/写)数据 之外, MDU32/MDU16  IP核都是独立的, 内部执行微指令, 影响不到  CPU 的呀.

    MDU32指令执行短, 暂停 CPU 还好点, 像 TFPU 有些指令要执行几百个时钟周期, 暂停 CPU就影响大了......
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9542

    回帖

    1万

    积分

    管理员

    积分
    14058
     楼主| 发表于 2024-3-18 12:57:50 | 显示全部楼层
    LAOXU 发表于 2024-3-18 10:51
    另外, 请教一下, MDU32指令执行时, 为什么要暂停 CPU ?   MDU16指令执行时, 不需要暂停 CPU的呀 !

    我理解 ...

    指令就是要霸占 CPU,  所以后来发展了 TFPU/DPU 用 高速 时钟,能快则快
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 85 天

    [LV.6]常住居民II

    12

    主题

    479

    回帖

    1382

    积分

    荣誉版主

    积分
    1382
    发表于 2024-3-19 01:08:33 | 显示全部楼层
    本帖最后由 xiangzichen 于 2024-3-19 01:30 编辑
    神农鼎 发表于 2024-3-18 12:57
    指令就是要霸占 CPU,  所以后来发展了 TFPU/DPU 用 高速 时钟,能快则快

    忽然间想:如果能出来个双核的51,不知道会怎样?
    或者就单纯的两个核,flash分区执行不同的代码,然后有一段RAM共用.
    很早我们用51+96的系统,就用了双端RAM.
    哈哈,如果STC有这样一款双核的51不知道能用来做点什么.
    其实自己可以用两块CPU加双端RAM芯片来测试看看,可惜就是这种RAM太贵了.也就试试而已.产品化没得竞争力

    一想到这个感觉睡不着了,忽然就把程序架构想了一遍,两边的核心访问共用RAM的时候,可以在共用RAM指定位置设定标记位,防止共同写RAM错误,读嘛,无所谓.
    程序下载也简单哦,目前可以下载code和eeprom,将来再分多一个区,Code1,Code2,EEPROM,哈哈,看来只需要有个双核心的cpu就可以了.
    唉,失眠了.

    点评

    (1)我个人认为STC双核CPU不是硬件做不出来,而是没有支持多线程的编译器来支持。 (2)而对于双STC单片机或者多STC单片机,很多RTOS已经可以支持多机协调工作了。 (3)利用RTOS,用STC单片机为主机,笔者已经实现  详情 回复 发表于 2024-3-19 17:24
    早期 两块CPU 方案, 是需要加双端RAM芯片来实现, 现在 外设通讯速度都飞快, 无论 SPI, IIC, 串口..... 都可用作两者之间的数据交换, 通讯没压力.  详情 回复 发表于 2024-3-19 10:02
    还是提速:提主频 + DMA/外设直接到外设 + TFPU + DPU32  详情 回复 发表于 2024-3-19 08:14
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-20 14:54 , Processed in 0.092136 second(s), 70 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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