打印
[AVR单片机]

电工常识之(1):用三极管做的4*4乘法器(连载)

[复制链接]
楼主: xuyiyi
手机看帖
扫描二维码
随时随地手机跟帖
61
请继续~~~

使用特权

评论回复
62
求知的电工| | 2010-8-15 10:44 | 只看该作者
数电知识也需加强了。。谢谢分享。。

使用特权

评论回复
63
xuyiyi|  楼主 | 2010-8-15 16:22 | 只看该作者
本帖最后由 xuyiyi 于 2010-8-15 16:24 编辑

第三讲  打造一个 4*4位乘法器(终结篇)

3.1.1  4*4位乘法器原理

  尽管我们对逻辑表达式进行了化简,但还是可看出,逻辑表达式还是比较复杂的,并且位数越多越复杂,因此,我们必须想出其他方法将其化简,条条大道通罗马,既然常规的逻辑化简方式效果不佳,那我们就通过老祖宗数学大师祖冲之留给我们的方法,试试看。

  先举个简单的例子,十进制数 37 * 94 ,常规算法如下:

               3 7  
           *  9 4
      -------------
            1 4 8
      + 3 3 3
      -------------
         3 4 7 8

  在计算中得知,乘法要用到1*2位十进制,结构比较复杂,制作硬件工作量较大,在进位时,我们要用到2次加法(随着位数的增加,加法次数也增多),总体加法1次。

  我们改用老祖宗数学大师祖冲之的心算(速算)法,如下:

                 3 7  
             *  9 4
      -------------
                 2 8  <--- 7*4
           2 7       <--- 3*9
              1 2    <--- 3*4
       +     6 3    <--- 7*9
      -------------
           3 4 7 8

    在计算中得知,乘法只用到1*1位十进制,结构较简单,制作硬件工作量较小,只用到2次加法,因此,结构有所简化,所用元件数减少,下面的 4*4位乘法器就用老祖宗数学大师祖冲之的心算(速算)法原理,采用2*2位乘法器运算三次,再用4位加法器累加,根据这个原理,进行4*4位乘法运算。

使用特权

评论回复
64
xuyiyi|  楼主 | 2010-8-15 16:26 | 只看该作者
3.2  4*4位硬件乘法器逻辑原理图


使用特权

评论回复
65
xuyiyi|  楼主 | 2010-8-15 16:27 | 只看该作者
编后语(全文小结)

     本文从用最基本的三极管等分列元件,组建与、或、非门开始,逐步深入分析,组建复合元件,最终用复合元件完成一个由匠人提出的4*4位硬件乘法器。

     关于2*2位乘法器,4-8位加法器,在第二章中都介绍过,经初步估算,经化简后,本4*4位硬件乘法器,用了三极管等分列元件共计近千个。

     当然,位数更多的硬件乘法器,一般不直接用逻辑化简方法(原因是逻辑电路太复杂了),而改用同步时钟移位+锁存器暂存上一状态,通过逻辑电路逐步解码执行,这样,在复杂的设计中,可大大简化逻辑,减少元件数,缺点是非即时的,有一至数十个时钟延迟,延迟时钟数取决于设计、结构等各种因素,这种同步时钟逐步解码执行方式也是现在微处理器的最古老的原型!

     现代风行世界的 CPLD等IC,也没有逃脱是这种 同步时钟移位+锁存器暂存上一状态,通过逻辑电路逐步解码执行,这种模式。

使用特权

评论回复
66
qianhongbin| | 2010-8-15 17:13 | 只看该作者
1# xuyiyi
顶先

使用特权

评论回复
67
xuyiyi|  楼主 | 2010-8-16 08:50 | 只看该作者
这一篇 4*4乘法器,俺写的最辛苦,前后花了近一个星期业余时间,特向HOT大叔申请一条裤子穿

使用特权

评论回复
68
hxcic| | 2010-8-16 09:16 | 只看该作者
mark..

使用特权

评论回复
69
chl00100| | 2010-8-16 13:20 | 只看该作者
mark

使用特权

评论回复
70
程序匠人| | 2010-8-16 18:11 | 只看该作者
该酷!

使用特权

评论回复
71
粉丝| | 2010-8-16 21:39 | 只看该作者
楼主对英特尔的处理器发展真是一知半解!骗骗初学者还行!

//xuyiyi发表于 2010-8-11 18:11
//60楼:
。。。。。。。。
//  典型产品如英特尔公司的微处理器8086(PC/XT),由于受制造集成度(密度)的限制,内部没有集成乘
//法器、除法器,需外接一片包含硬件乘法器、除法器的协处理器8087, 并且当时8087的价格是天价,比
//8086高数十倍!!!
//  后来英特尔公司的微处理器80286(PC/AT,外接协处理器80287), 微处理器80386(外接协处理器
//80387), 都继续这一风格,只是从微处理器80486开始,由于芯片的制造工艺改进,制造密度提高,才取
//消了外接协处理器,微处理器芯片内部集成了硬件乘法器、除法器,当时微处理器80486,相当于微处理器
//80386+协处理器80387总成。
。。。。。。。。

------------------------------------------
英特尔从8001开始就有乘法和除法的指令,8086就有AAS(减法ASCII码调整)DAS减法十进制调整,MUS 乘法(无符号)IMUL 整数乘法(有符号),AAM 乘法的ASCII码调整,DIV 除法,IDIV除法(有符号)

8087 仅是数值算法的硬件实现,支持8种数据类型,8位,16位,32位,64位整数,32位,64位,80位浮点数和18位二十进制数。有8*80位可寻址寄存器stack 和14个通用寄存器。符合IEEE浮点标准。硬件上实现了算术运算,三角超越函数,指数,对数等。

使用特权

评论回复
72
highgear| | 2010-8-16 22:08 | 只看该作者
楼上用“骗“ 太过分了。毕竟搂主不是历史学家, 即便是历史学家, 也有记错的时候, 这与“骗“没有任何关系。  

搂主的基本功非常扎实, 水平相当高, 特此顶一个。

使用特权

评论回复
73
xuyiyi|  楼主 | 2010-8-17 08:13 | 只看该作者
谢谢粉丝大虾指正,由于年代太久,**有些模糊了,8086的汇编也有二十多年未碰了,8087 确实是硬件浮点协处理器,记得那时一片8087就要1千多块大洋,那时的工资仅几十块大洋。

粉丝真幸福,天天钻研技术,像俺,想钻也没有时间,只能跟着坛上的大虾随便学点大杂绘。

使用特权

评论回复
74
xuyiyi|  楼主 | 2010-8-17 08:23 | 只看该作者
楼上用“骗“ 太过分了。毕竟搂主不是历史学家, 即便是历史学家, 也有记错的时候, 这与“骗“没有任何关系。  

搂主的基本功非常扎实, 水平相当高, 特此顶一个。 ...
highgear 发表于 2010-8-16 22:08



谢谢 highgear老师支持,俺已有十多年未学习钻研技术了,知识己严重老化退步,很多知识长期不用,只有一个模糊的印象,人老不中用了,比不上那年轻一代了,青出于蓝而胜于蓝,这是好事,俺相信,粉丝大虾一定会成为飞船那样的名人。

另有一件小事求助于highgear老师帮忙,受匠人委托,老许己接手《两轮小车DIY》开源活动,到时请在《两轮小车DIY》的数学模型及算法,PID控制等方面参与讨论,给于指点一二,俺先谢谢啦!

使用特权

评论回复
75
wqx0532| | 2010-8-17 09:10 | 只看该作者
温习一下

使用特权

评论回复
76
jzfbbs| | 2010-8-17 21:38 | 只看该作者
UP.....................................................

使用特权

评论回复
77
2008付海龙| | 2010-8-18 10:17 | 只看该作者
模数不分家呀。

使用特权

评论回复
78
tly705| | 2010-8-18 14:28 | 只看该作者
抢位

使用特权

评论回复
79
030210205| | 2010-8-18 21:41 | 只看该作者
又了解了一点,谢谢楼主热心助新人啊

使用特权

评论回复
80
linqing171| | 2010-8-19 23:30 | 只看该作者
弱弱的问一下,现在的x86扩展的指令集 里面也都是定点运算吧?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则