超前进位全加器运算分析与模拟实现应用
来源:99网
ELECTRONICS W0RLD・攘雾 与 露 赛 超前进位全加器运算分析与模拟实现应用 大连计算机职业中专梁伟 【摘要】加法器能够实现加法运算的逻辑电路,可以进行多位二进制数相加,74LS283是具有超前进位并行加法器芯片,能够提高运算速 度,运用pr0teus模拟软件实现多个二进制数相加运算,通过汇编语言运算编程实现计算机寄存器多位二进制数加法运算。 【关键词】超前进位;全加器;汇编语言debug命令 加法器广泛应用于计算机电路和数字通信电路中,加法器能够 实现加法运算的逻辑电路,加法器分为半加器和全加器两种。加数 进而可以推到各位进位信号的逻辑表达如下: c0=Ga+P0・q=Ga, q=Gl+coB=Gl+吼= +GaB 和被加数为输入,和数与进位为输出的装置为半加器。若加数、被 加数与低位的进位数为输入,而和数与进位为输出,则为全加器。 两个l位二进制全加器能够对两个1位二进制数和低位的进位 实现加法运算,若被加数为A ,加数为 ,本位之和为 ,向 c】= +q = +GlP】+Gopl ;G= + Pj= + + + Pl 74LS283是具有超前进位4位二进制加法器芯片,用两个 74LS283芯片能够实现超前进位8位二进制加法运算。如图所示,设 置A=1000 101lB为8位被加数,B=I100 1011B为8位加数,运用pro。 teus模拟软件实验结果:8位和为S7S6S5S4S3S2SlS0=0101叭10B, 第3位向第4的进位C3=1,最高进位第7向第8的进位C7=1,实验执 行结果与分析计算结果完全相同。 高位进位为G,来自低位的进位为 可以推出全加器的和为 :AiI0B。0 l,全加器的进位为G; ・置+ ・(Ai0B )。 多位数加法可以实现多个二进制数相加运算,8位二进制全加 器能够实现对两个8位二进制数加法运算。若A为8位被加数,B为 8位加数,S为8位和,C为进位,当A=IO00 1011B、B=I100 101lB 时,列出计算式如下: 被加数 加数 1000 1011 1100 101l 10101 01l0 二进制数运算特点是“逢二进一,借一当二”,可以计算得出:和 S7S6S5s4s3s2SlSO=j0lOl 0110B,进位C7C6C5C4C3C2C1CO=1000 101IB, 如图所示,用全加器的逻辑符号画出的8位二进制全加器逻辑图。 S7 S8 S5 St S3 Sz St So 下面再运用汇编程序实现8位二进制加法运算,若1000 101lB 为8位被加数,l100 101lB为8位加数,则执行加法指令后,求出本 位和,并判断进位状态。 编写汇编程序: A TBT^5Be^5Bs ^●Bt ^3 B3 A2B2 AlBl AOBa 设(AL)=1000 1011B. (BL)=l100 101IB,执行加法指令后, (AL)=? data segment stun db? data ends code segment assume cs:code,ds:data 加法器按进位数传递方式可分为串行进位和并行进位两种方 式。串行进位加法器采用串行运算方式,从二进制数的最低位开 始,逐位相加至最高位,运算速度不高,最高位的运算,必须等到 所有低位运算依次结束,送来进位信号之后才能进行。并行进位加 法器,即超前进位加法器,采用并行运算方式,将各位数同时相 加,因而提高了运算速度。 超前进位加法实现原理如下: 定义两个中间变量G。和P.: :Gi=A。・ ,G。为产生变量: start:M0V“.DA=rA MOV ds.AX mov ax,0 mov a1.1000 10l1B 只=A 0B ,P.为传输变量。 全加器的进位表明当 ., .两个数全为l,高位进位Gi=l,即 产生进位,所以G 称为产生变量。当A ,B。不同时,OPPi=l,且 =mov bl,1100 1011B add al,bl mov sum,al 1时,高位进位G;=l,表明Pi一1时,低位的进位能够传送到 高位的进位输出端,只称为传输变量。产生变量Gi和传输变量P.都 与进位信号无关,将G 和Pi代入全加器的 .和进位ci得: 全加器的和为: =A eB 0 =H0 , 全加器的进位为: q=4・ + ・(At0 B)= + ・ mov ah,4eh int 2lh code ends (下转第81页) 电子t蟹界 ・79・ ELECTRONICS W0RLD・攘蠡.与碧 察 实感(可能鼻梁高的人不会漏光吧)。 出其继任者,并且研发 I:作已经开始着手了。换句话说,Oculus Ritf 其次,HTC vive的这款头盔会自带两个VR专用于柄,在这看 来,Oculus Rift CVI的Xbox one手柄就略显单薄了,那我们更期待 近期将要推出的和OculusRiftCV1相配套的手柄了。 下图是组中李飞测试Oculus Ritf CVI的demo场景的画面。 会像之前的DK一原型机一DK的路线一样,生生不息。 现如今看来VR技术还处于一个发展阶段,我们相信现在所存在 的一些问题会在未来的技术发展中得到妥善解决。Oculus Ritf CV1是 第一款立足于PC平台的消费级VR设备,和那些廉价低成本的凭借 手机驱动的VR头盔不同,Oculus Rilf ̄够直接榨取桌面级硬件的机 能,构建的虚拟现实世界当然和利用陀螺仪的手机VR另当别论。 它能让普通消费者真正体验到“oh my god”那种超爽的感觉,把 人们带进一个以假乱真有着无限可能的虚拟世界中。Oculus Rift帮 我们更多的了解VR。硬件的高速发展和产品本身的潜力必定会带 来高昂的需求,我们可以有无限的理由等待Oculus Rift在不远的将 来拿出体验更舒适,效果更逼真的Oculus Ritf,更高的分辨率和刷 新率,更好的沉浸体验。但是VR设备不仅仅应该作为一个个体出 现,因为Oculus Ritf就必须依靠强大性能的电脑才能发挥出原本的 作用,相对L ̄PS4的VR头盔的出现,就是基于在一个核心上的VR 目前看来,市面上所流行的VR设备还是存在一些不足的,比如 以往VR体验中存在的最多的问题就是眩晕感,这个问题已经得到了较 好的解决,但舒适度还是一个非常普遍存在的问题。 Oculus Rift的 哺育离不开一代一代的原型测试,从这个意义上说官方继续推出Rift 体验,否则,VR必须依附于PC端的存在而存在。 虚拟现实技术在未来会给人们的生活带来从未有过的体验, 在游戏研发中不断取得更好的成果,将更贴合人心的技术融合在游 戏中从而达到交互的形式。VR游戏开发是近五年年出现的热门话 题,不断有游戏更新持续,根据用户喜好的基础来不断完善游戏内 容,将更好的游戏呈现给用户。 的继承者就不意外了。就在消费者版本发布后的一个月后,Oculus表 示考虑 ̄IjVR市场的快速发展,在Rift头盔发布的2~3年时间内将会推 (上接第79页) end start D:LASMSTU ̄1\SOURCE\OUT>debug add exe DI=0OOO DS:I62F ES=l6lF SS=l62F CS=l630 IP=000E OVUPEl PLNZAC PECY -ucs:0 //J ̄.)1]debug命令进行调试 MOV AX.162F MoV DS.AX MOV AX,0000 MOV AL.8B MOV BL,CB ADD AL.BL 1630:000E A20000 MOV 【0000],AL DS:O000=O0 1630:0000 B82Fl6 l 630:0003 8ED8 1 630:0005 B80000 l630:0008 B08B l630:000A B3CB 1630:000C 02C3 运用debug命令进行调试,传送数据到寄存器(AL)=8BH=1000 l 011B, (BL)=CBH=ll00 1011B,执行加法指令ADD AL,BL后, 观察到加法结果(AL)=56H=0101 O1 l0B,再观察执行加法指令 后标志寄存器标志位的状态:CY表示CF=I进位标志,第7位向第 8的进位为l,在字操作时低位字节向高位字节有进位。AC表示 AF=I辅助进位标志,第3位向第4的进位为1,执行结果与分析计算 结果完全一致。 1630:000E A20000 1630:00ll B44C 1630:00l3 CD2l MOV 【oooo],AL MoV AH.4C INT 2l 算术运算包括加、减、乘、除四则运算,加法器能够实现二进 制数加法运算,由于负数可用二进制数的补码来表示,这样可以把 -t 减法运算转成加法运算,加法器是实现算术运算的基本电路,超前 进位加法器提高了运算速度。 AX=O08B BX=00CB CX=O2BO DX=0000 SP=0000 BP=0000 Sl=0000 DI=OO0O DS=162F ES=l6lF SS=I62F CS=1630 IP:OO0C NV UP EI PL NZ NA PO NC l630:0O0C 02C3 t 参考文献 ADD AL.BL 【11阎石数字电子技术基础[M1.清华大学电子教研组. I2】沈美明,温冬婵.IBM—Pc汇编语言程序设计【M】.清华大学 —AX=0056 BX=00CB CX=02B0 DX=0000 SP=0000 BP=O000 SI=0000 电子世界 ・81・