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

STC8新设计将搭载新MDU32硬件32位加减乘除移位,向64位超算进军,请建议

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-12-14 11:08:32 | 显示全部楼层

你想 24V 给 MCU_VCC 供电 ?
截图202312141107558942.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:440
  • 最近打卡:2025-05-02 01:28:16
已绑定手机

40

主题

371

回帖

843

积分

高级会员

积分
843
发表于 2023-12-14 15:20:16 | 显示全部楼层
STC爱好者 发表于 2023-12-13 08:40
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=3184&extra=&page=1

你好, 里面的例程代码哪里能找到?我在stc-isp-v6.92D.exe里面找不到这DMA这些例程
纸上得到终觉浅,绝知此事要躬行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-04-27 10:40:24

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2023-12-14 16:26:05 | 显示全部楼层
飞*** 发表于 2023-12-14 15:20
你好, 里面的例程代码哪里能找到?我在stc-isp-v6.92D.exe里面找不到这DMA这些例程 ...

STC8H8K64U-DEMO-CODE-V9.6-20231025.zip (35.33 MB, 下载次数: 116)
QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-12-14 19:58:20 | 显示全部楼层
2023/12/14, 内部研发会议决定
计划先在 STC8H2K32U-45MHz-LQFP32, QFN32, TSSOP28, TSSOP20 中先加入
===老许建议的MDU32C版,好像我也建议过
===杨老师建议的MDU32D 全面学习中,这好像是648051的序曲??? 先筑基
MDU32C,最新为后续STC8系列设计的:
SFR
  
SFR
  
ADDR
FUNC
7
6
5
4
3
2
1
0
  
DMAIR
  
ED
Instruction



CMD[4:0]
  
ARCON
  
DD
Configuration/Status
CY
OV
SRL
SC[4:0]
  
R0
  
00
DataIn / ResultOut
R0[7:0]
  
R1
  
01
DataIn / ResultOut
R1[7:0]
  
R2
  
02
DataIn / ResultOut
R2[7:0]
  
R3
  
03
DataIn / ResultOut
R3[7:0]
  
R4
  
04
DataIn / ResultOut
R4[7:0]
  
R5
  
05
DataIn / ResultOut
R5[7:0]
  
R6
  
06
DataIn / ResultOut
R6[7:0]
  
R7
  
07
DataIn / ResultOut
R7[7:0]
XFR
  
SFR
  
ADDR
FUNC
7
6
5
4
3
2
1
0
  
  










FUNCTION
  
功能
  

Cycles
CMD
  
32b   *  32b
  
{R4,  R5, R6, R7}  ç  {R4, R5, R6, R7}  *  {R0,  R1, R2, R3}
  
Product is limited under 32-bits
3
0x02
  
32b   /  32b(unsigned)
  
{R4,  R5, R6, R7}  ç  {R4, R5, R6, R7}  /   {R0,  R1, R2, R3}
  
{R4,  R5, R6, R7}  ç  {R4, R5, R6, R7}  %  {R0,  R1, R2, R3}
19
0x04
  
32b   /  32bsigned
  
{R4,  R5, R6, R7}  ç  {R4, R5, R6, R7}  /   {R0,  R1, R2, R3}
  
{R4,  R5, R6, R7}  ç  {R4, R5, R6, R7}  %  {R0,  R1, R2, R3}
21
0x06
  
32b   Normalize
  
Shift  {R4, R5, R6, R7} left, until the MSB is “1”
  
The  shifted bits count will be stored back into SC[5:0]
6
0x08
  
32b   Shift
  
Shift  left or Shift Right according to SRL for SC[5:0] bits
6
0x0A
  
ADDC
  
{R4,  R5, R6, R7}  ç  {R4, R5, R6, R7}  +   {R0,  R1, R2, R3}  +  CY
  
CY  ç  Carry from ADDC
  
OV  ç  Overflow for signed operation
  
        (   ( (R4[7]==0) & (R0[7]==0) ) & (SUM[31]==1)  ) ||
  
        (   ( (R4[7]==1) & (R0[7]==1) ) & (SUM[31]==0)  )
3
0x0C
  
SUBBC
  
{R4,  R5, R6, R7}  ç  {R4, R5, R6, R7}  -   {R0,  R1, R2, R3}  -  CY
  
CY  ç  Carry from ADDC
  
OV  ç  Overflow for signed operation
  
        (   ( (R4[7]==0) & (R0[7]==0) ) & (SUM[31]==1)  ) ||
  
        (   ( (R4[7]==1) & (R0[7]==1) ) & (SUM[31]==0)  )
3
0x0E


老眼昏花,不知上面是不是,杨老师,老许 认可的:
===万里长征第一步,筑基,向 STC64位8051进军

回复 支持 反对

使用道具 举报 送花

2

主题

185

回帖

1048

积分

金牌会员

积分
1048
发表于 2023-12-14 20:41:52 | 显示全部楼层
神*** 发表于 2023-12-14 19:58
2023/12/14, 内部研发会议决定
计划先在 STC8H2K32U-45MHz-LQFP32, QFN32, TSSOP28, TSSOP20 中先加入===老 ...

这种加法和减法功能怎么样让编译器使用

点评

会提共 STC8-MDU32C的库  详情 回复 发表于 2023-12-14 20:56
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-12-14 20:56:55 | 显示全部楼层
zxcv*** 发表于 2023-12-14 20:41
这种加法和减法功能怎么样让编译器使用
会提供 MDU32C@STC8 的库
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-12-14 20:58:19 | 显示全部楼层
路虽远行则将至事虽难做则必成
===杨老师来信勉励
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-12-14 21:18:05 | 显示全部楼层
本帖最后由 LAOXU 于 2023-12-14 21:26 编辑
神*** 发表于 2023-12-9 08:17
大家认为这个 MDU32+ 还要增加哪些功能放到 STC8H系列中,抓紧提
===计划给 STC8H8K64U 进行全面升级到 STC ...

没什么大问题, 小问题有一点

111.jpg


1. 绿色部分 寄存器 , 必须为 R0R1R2R3  !   
   
    否则与 C51无法匹配 !

2. 红色部分强列建议取消,  其参数可 放在 ACC 或 B 寄存器中, 好处: 函数是可重入的 , 否则, 存在两个 寄存器 DMAIR , ARCON , 无法实现原子操作, 所有函数都是不可重入的 !!!
   
    挡次下降一个级别不说, 性能指标适应性下降许多, 使用条件受到极大的限制, 不能和 现在的 C51高度吻合 ( 不能像现在的 C51正常多处调用 ), 否则极会发生数据冲突,造成计算结果错误,

    只能用现在的 MDU16工作方式(先关中断, 再运行), 而不是先进的 MDU32工作方式(与中断无关, 任何时候都可直接运行).

3.  蓝色部分是笔误, 应为 SUBBC

点评

明继续吸收您的建议  发表于 2023-12-14 22:05
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-12-14 21:35:11 | 显示全部楼层
关于 第 2点:

仔细想想, 不改也没事, 因为 MDU 运行时, CPU 停止工作, 在 置位  ARCON 之前先关中断, 影响中断响应几个时钟周期.

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-12-14 21:50:01 | 显示全部楼层
本帖最后由 LAOXU 于 2023-12-14 22:12 编辑

其他建议:

1. 关于乘法, 能否 组成 32b * 32b --> 64b (或者 48b)
                   R4R5R6R7 * R0R1R2R3  --> R0R1R2R3R4R5R6R7 (或者 R2R3R4R5R6R7) ,
     R4R5R6R7 作为 LONG, INT 类型 乘法积,   R2R3R4R5 作为 24b  * 24b 小数乘法 积(单精度浮点数乘法要用到)

     另一方案是, 直接增加一条  32b * 32b ( 或者 24b  * 24b ) 小数乘法, 供 单精度浮点数乘法 专用

     这样, 一次乘法, 再加规格化, 即可 得到单精度浮点数乘法 之积.

     否则, 用 MDU32C 计算  单精度浮点数加减乘除法,  第一名 估计是浮点除法, 浮点加减法紧跟其后, 并列 第二名, 浮点乘法拖后腿, 倒数等一  
   

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 06:35 , Processed in 0.184428 second(s), 113 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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