LAOXU
发表于 2023-12-14 22:05:36
无符号除法:32b / 32b --> 32b (带余数 32b) 不错,被除数(24b 小数) << 8 , 再除以 除数(24b 小数) , 随后结果 规格化一下, 即可得到 单精度浮点数除法 之积.
cnos
发表于 2023-12-14 22:21:21
神农鼎 发表于 2023-12-14 11:08
你想 24V 给 MCU_VCC 供电 ?
我的意思是有几路真正的OD口,只有输出功能的。
神农鼎
发表于 2023-12-14 22:36:49
cnos 发表于 2023-12-14 22:21
我的意思是有几路真正的OD口,只有输出功能的。
开漏工作模式,能输出,也能输入,本意是你几十个芯片相连接,外部只加1个上拉
LAOXU
发表于 2023-12-15 05:24:35
其他建议 2 :
仔细想想, 这个 MDU32C , 应该是为 STC32 准备的, 只不过顺路给他装进了 51 .
因此, 还是关于乘法, 强烈建议
1. 关于乘法, 能否 组成 32b * 32b --> 64b
R4R5R6R7 * R0R1R2R3--> R0R1R2R3R4R5R6R7
这样, 在 51 单精度浮点数乘法 中, 当小数乘法用, 一次计算可得积.
在 251 扩展的 双精度浮点数 乘除法 运算, 都能有效使用, 发挥作用, 因此很有必要.
2. 关于 ARCON 操作
记得修改 有关 中断 类的寄存器后, CPU 都要多执行一条指令, 才能响应中断,
因些, 不知对 ARCON 装载, 算不算对 中断 类的寄存器 操作 ?
这很重要, 希望设计核实一下, 如是, 则 后面紧跟 DMAIR 装载触发, 中间不用关中断, 完美 !
如果不是, 是否能在 装载 的同时, 增加一个触发信号, 通知 中断控制器, 作为 中断 类的寄存器 修改(可产生CPU 要多执行一条指令, 才能响应中断效果),
这样, 后面紧跟 DMAIR 装载 触发, 不用关中断(反正我认为, 设计的原则, 如不是必需, 不建议关中断).
LAOXU
发表于 2023-12-15 05:48:06
总之, 在 8位机上用 MDU32C, 在运算能力上, 已超 MP430
神农鼎
发表于 2023-12-15 09:34:38
大家沿着我们 荣誉版本 老许和杨老师 指出的 阳光大道 再发挥发挥
===忆当年和老许初入 51殿堂,现已携手为 51世界 保驾护航
杨老师给我们 51世界 指出的 MDU32D, 会是将来 【STC64位8051超算单元】的筑基之作
===要2组类似 R0 ~ R7, 16个8位寄存器 协同工作,这就是要上 STC64超算单元
神农鼎
发表于 2023-12-15 09:57:45
STC8新设计,将搭载 新的 MDU32 硬件32位乘除加减移位,请提宝贵建议
===我们只是帮您实现您心中的 51 的那双勤劳的手
大家认为这个 MDU32+ 还要增加哪些功能放到 STC8H系列中,抓紧提
===计划给 STC8H8K64U 进行全面升级到 STC8H32K64U
更正前面描述错误===2023/12/15
MDU32C, 设计是如下设计的/已设计完成,请大家帮忙审核,请 老许/杨老师 把关
Function
SFR
XFR
神农鼎
发表于 2023-12-15 10:03:43
SFR
SFRADDRFUNC76543210
DMAIREDInstruction CMD
ARCONDDConfiguration/StatusCYOVSRLSC
R000DataIn / ResultOutR0
R101DataIn / ResultOutR1
R202DataIn / ResultOutR2
R303DataIn / ResultOutR3
R404DataIn / ResultOutR4
R505DataIn / ResultOutR5
R606DataIn / ResultOutR6
R707DataIn / ResultOutR7
XFR
SFRADDRFUNC76543210
FUNCTION
功能 Cycles
32b *32b{R4,R5, R6, R7}ç{R4, R5, R6, R7}*{R0,R1, R2, R3}Product is limited under 32-bits3
32b /32b(unsigned){R4,R5, R6, R7}ç{R4, R5, R6, R7}/ {R0,R1, R2, R3}{R0,R1, R2, R3}ç{R4, R5, R6, R7}%{R0,R1, R2, R3}19
32b /32bsigned{R4,R5, R6, R7}ç{R4, R5, R6, R7}/ {R0,R1, R2, R3}{R0,R1, R2, R3}ç{R4, R5, R6, R7}%{R0,R1, R2, R3}21
32b NormalizeShift{R4, R5, R6, R7} left, until the MSB is “1”Theshifted bits count will be stored back into SC6
32b ShiftShiftleft or Shift Right according to SRL for SC bits6
ADDC{R4,R5, R6, R7}ç{R4, R5, R6, R7}+ {R0,R1, R2, R3}+CYCYçCarry from ADDCOVçOverflow for signed operation ( ( (R4==0) & (R0==0) ) & (SUM==1)) || ( ( (R4==1) & (R0==1) ) & (SUM==0))3
SUBBC{R4,R5, R6, R7}ç{R4, R5, R6, R7}- {R0,R1, R2, R3}-CYCYç Carryfrom SUBBCOVçOverflow for signed operation ( ( (R4==0) & (R0==0) ) & (SUM==1)) || ( ( (R4==1) & (R0==1) ) & (SUM==0))3
社区闲人
发表于 2023-12-15 10:35:39
51的天花板要到了。
LAOXU
发表于 2023-12-15 11:14:45
这个 MDU32C , 应该是为 STC32 准备的, 只不过顺路给他装进了 51 .
因此, 还是关于乘法, 强烈建议, 能否 组成 32b * 32b --> 64b ???
R4R5R6R7 * R0R1R2R3--> R0R1R2R3R4R5R6R7
这样, 在 51 单精度浮点数乘法 中, 当小数乘法用, 一次计算可得积.
否则, 用 MDU32C 计算单精度浮点数加减乘除法,第一名 估计是浮点除法, 浮点加减法紧跟其后, 并列 第二名, 浮点乘法拖后腿, 倒数第一 .
在 STC32 中, 对 双精度浮点数 乘除法 运算, 都能有效发挥作用, 提升速度, 因此很有必要.
页:
1
2
3
4
5
6
7
8
[9]
10
11