矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 8986|回复: 57

CPU硬件乘除法器是不是使用ROM实现的?

[复制链接]
     
发表于 2019-3-11 19:51:22 来自手机 | 显示全部楼层 |阅读模式
是不是使用ROM查表法实现乘法和除法,想了很久,发现就只有这种方法比较快,像移位法,加减法实现速度慢!
     
发表于 2019-3-13 10:13:10 | 显示全部楼层
算法自动机 发表于 2019-3-13 05:53
先学好英文,学好数学可以看看具体数学


英文是学不会了,感觉太难了,现在都是用翻译看。
回复 支持 1 反对 0

使用道具 举报

     
发表于 2019-3-11 20:04:44 | 显示全部楼层
8x8,还有16x16是可以的。
但16x16占用1Mbit ROM,估计一般的商用CPU不会这么做
回复 支持 反对

使用道具 举报

     
发表于 2019-3-11 20:11:39 | 显示全部楼层
硬件乘法器,就是基于"移位和相加"的算法。
回复 支持 反对

使用道具 举报

     
发表于 2019-3-11 21:43:03 | 显示全部楼层
记得国产电脑vcd所带学习软件习题解答过程答案人为设置并不是电脑计算结果。
回复 支持 反对

使用道具 举报

     
发表于 2019-3-11 22:12:08 | 显示全部楼层
你想要多快呢?  这个可以吗?

硬件乘法器.JPG
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2019-3-11 22:17:40 来自手机 | 显示全部楼层
youmcu 发表于 2019-3-11 22:12
你想要多快呢?  这个可以吗?

这个是什么原理,怎样完成乘法的?看不懂!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2019-3-11 22:20:50 来自手机 | 显示全部楼层
本帖最后由 分立元件 于 2019-3-11 22:25 编辑
ace919 发表于 2019-3-11 20:04
8x8,还有16x16是可以的。
但16x16占用1Mbit ROM,估计一般的商用CPU不会这么做


如果直接做固定程序的ROM,也可以说固定逻辑门电路,价格应该不高吧?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2019-3-11 22:22:34 来自手机 | 显示全部楼层
huxiangming 发表于 2019-3-11 20:11
硬件乘法器,就是基于"移位和相加"的算法。

这个要写很长程序吧!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2019-3-11 22:24:37 来自手机 | 显示全部楼层
jckm 发表于 2019-3-11 21:43
记得国产电脑vcd所带学习软件习题解答过程答案人为设置并不是电脑计算结果。

我发现二进制运算器本身结果就是人定的!不是计算结果,就是一个逻辑门电路!
回复 支持 反对

使用道具 举报

     
发表于 2019-3-11 22:28:29 | 显示全部楼层
分立元件 发表于 2019-3-11 22:17
这个是什么原理,怎样完成乘法的?看不懂!

CPU带的呵, 还有呢....

硬件乘法器1.JPG


回复 支持 反对

使用道具 举报

     
发表于 2019-3-11 22:36:21 | 显示全部楼层
分立元件 发表于 2019-3-11 22:22
这个要写很长程序吧!
乘法基于"移位和相加"的算法。


程序不长,  就是如你所说的时间长点...
回复 支持 反对

使用道具 举报

     
发表于 2019-3-11 22:45:40 | 显示全部楼层

        用你做的那个CPU,乘法、除法、SIN都能算,做个计算器没问题。
回复 支持 反对

使用道具 举报

     
发表于 2019-3-11 22:56:35 | 显示全部楼层
分立元件 发表于 2019-3-11 22:22
这个要写很长程序吧!

不需要,硬件实现的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2019-3-11 23:03:05 来自手机 | 显示全部楼层
yjmwxwx 发表于 2019-3-11 22:45
用你做的那个CPU,乘法、除法、SIN都能算,做个计算器没问题。

单单用我那个CPU弄计算器,程序不简单啊,
回复 支持 反对

使用道具 举报

     
发表于 2019-3-11 23:23:20 | 显示全部楼层
分立元件 发表于 2019-3-11 23:03
单单用我那个CPU弄计算器,程序不简单啊,

       
        都是外国人发明的算法,仿照写个程序应该不难,我以前仿老外算法自己写了个CORDIC的程序,不到30条指令和一个表。


下面这个就是以前写的CORDIC算法的程序,当时想做个扫频的东西,网上抄了这个算法。

  1. cordicbiao:
  2.         .int 0x00003243, 0x00001DAC, 0x00000FAD, 0x000007F5, 0x000003FE, 0x000001FF, 0x000000FF, 0x0000007F, 0x0000003F, 0x0000001F, 0x0000000F, 0x00000007, 0x00000003, 0x00000001, 0x00000000, 0x0000000

  3. cordic:         @ 入 R0 , 出R12

  4.         @ 16384 * 3.1415927/2  =25734
  5.         @ x= 0x26dd
  6.         @ r1=x,r2=y,r0=z,r4=d,r5=k,r6=cordic_mabiao

  7.         push {r0-r7,lr}
  8.         movs r5, # 0
  9.         mov r2, r5
  10.         mov r4, r5
  11.         ldr r1, = 0x26dd
  12. cordicxunhuan:         @ 循环
  13.         asrs r4, r0, # 15
  14.         @ x
  15.         mov r7, r2
  16.         asrs r2, r5
  17.         eors r2, r4
  18.         subs r2, r4
  19.         subs r3, r1, r2
  20.         @ y
  21.         mov r6, r1
  22.         asrs r1, r5
  23.         eors r1, r4
  24.         subs r1, r4
  25.         adds r7, r1
  26.         @ z
  27.         ldr r6, = cordicbiao
  28.         lsls r2, r5, # 2
  29.         ldr r1, [r6, r2]
  30.         eors r1, r4
  31.         subs r1, r4
  32.         subs r0, r1
  33.         mov r12, r7 @ 正弦
  34.         mov r1, r3  @
  35.         mov r2, r7
  36.         adds r5, # 1
  37.         cmp r5, # 16
  38.         bne cordicxunhuan
  39.         pop {r0-r7,pc}
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-30 04:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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