计算机组成原理第4讲_乘法_第1页
计算机组成原理第4讲_乘法_第2页
计算机组成原理第4讲_乘法_第3页
计算机组成原理第4讲_乘法_第4页
计算机组成原理第4讲_乘法_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理,PrinciplesofComputerOrganization,广义双语教学课程,09/skyclass25/,青岛理工大学校级精品课程,第3章运算方法和运算部件,(3),Abinarymultiplierisanelectroniccircuitusedindigitalelectronics,suchasacomputer,tomultiplytwobinarynumbers.Itisbuiltusingbinaryadders.,Untilthelate1970s,mostminicomputersdidnothaveamultipl

2、yinstruction,andsoprogrammersusedamultiplyroutine”whichrepeatedlyshiftsandaccumulatespartialresults,oftenwrittenusingloopunwinding.Earlymicroprocessorsalsohadnomultiplyinstruction.,原码一位乘法,补码一位乘法,补码两位乘法,原码两位乘法,UnsignedBinaryMultiplication无符号数乘法,两个尾数为n位的数相乘,乘积的尾数为2n位。,手算乘法的过程:,1011被乘数,1101乘数,1011,0000

3、,1011,1011,10001111,位积,乘积,需要n个寄存器保存位积,对应于乘数的位,将被乘数逐次左移一位加在左下方。,最后将n个位积相加,得到乘积。,计算机不能照搬手算的算法。,运算器一次只能完成两数的求和操作。,需要2n位的加法器,3.3二进制乘法运算BinaryMultiplication,Binary(Fixed-Point)MultiplicationArithmetic,被乘数左移,根据乘数每个位做不同运算,都不便于计算机实现,计算机的算法:,只能把每一个新位积与部分积(部分积的初值为零)相加,总共做n次加法(累加)。,部分积与位积相加时,只有n位与位积相加,其余部分并不参加

4、运算。因此用n位的加法器就可完成乘法了。,被乘数左移一位的操作改为部分积右移一位后与被乘数相加。,只需用1个n位的寄存器存放部分积的高位,部分积的低位与乘数共用一个n位的寄存器,在乘数右移一位(计算该位位积后自动丢失)的同时将部分积最低一位移入。,乘法完成后,原来存放乘数的寄存器中是乘积的低n位,乘数全部丢失,而硬件则节省了一个寄存器。,被乘数1011,1101乘数,0000,部分积,1011,01011,01011110右移一位,00101111右移一位,设计乘法逻辑,ifthevaluesdonotmatch,anerrorhasoccurredatsomepointduringthetr

5、ansmission.,3.7数据校验码,由若干位代码组成的一个字叫“码字”,一种码制是若干种码字的组合。将两个码字逐位比较,有几个二进制位不同称为这两个码字间的距离。,只有一位不同的,称其码距为1。例如,3位二进制代码有8种状态,若一种码制用到全部8种码字,其码距为1。就是说,任何一个合法码字的一位或几位出错时,就变成另一个合法码字。,一种码制中各码字间的最小距离称为该码制的“码距”。,000,111,101,001,110,010,011,100,一种码制中各码字间的最小距离称为该码制的“码距”。,若增大编码的冗余度,设计该码制时用4个二进制位来表示8个合法码字。由于只利用了全部16种状态

6、中的8种来表示合法码,就可以把其余8种状态作为非法码,则码距可能增大到2。当一个合法码的一位出错时,将变成一个非法码而被发现。,所增加的一位称为校验位。,数据000001010011100101110111,编码00000011010101101001101011001111,非法码00100001011101001011100011101101,出错,合理的安排非法编码的数量和编码规则,增大合法码的码距就可以提高发现错误的能力,甚至能自动纠正错误;但表示一定数量的合法码所使用的二进制位数也增多,使数据存储和传送的数量增大,硬件开销也相应增大。,常用的数据校验码有:,奇偶校验码、海明校验码和循

7、环冗余校验码等。,根据纠错理论,编码的最小距离与编码的检测、纠错能力的关系为:L1=C+D,其中:L是编码的最小距离,D是可以检测错误代码的位数,C是可以纠正错误代码的位数,DC。,当L=3时,可检测出2个错误,或者可检测并纠正1位错误。,当L=4时,可检测出3个错误,或者可检测出2位并纠正1位错误。,奇偶校验码ParityCheckCode,奇偶校验码的编码方法是给n位的合法编码增加一个奇偶校验位,使其码距增加到2。任何一位出错(包括校验位)都会使代码的奇偶性改变,从而被发现。,校验位可以放在最高数据位的左边,或最低数据位的右边。,若n+1位的奇偶校验码中“1”的个数为奇数称为奇校验,“1”

8、的个数为偶数称为偶校验。,当n位信息代码中有偶数个1,则偶校验附加的校验位为0,而奇校验的校验位为1。例如:,数据代码奇校验码偶校验码,101010,1010100,1010101,011011,0110111,0110110,Aparitybitisanerrordetectionmechanismthatcanonlydetectanoddnumberoferrors.,设校验位在最右边,交叉奇偶校验,奇偶校验码广泛应用于存储器读写检查,数据传输过程中的检查等。,对数据块的横向和纵向都有奇偶校验位。例如:,A7A6A5A4A3A2A1A0横向校验位第1字节110010111第2字节0111

9、11001第3字节100110100第4字节100101010纵向校验位10111000,交叉奇偶校验能够发现两个位同时出错。,奇偶校验能发现1位或者奇数个位同时出错,但不能发现偶数个位同时出错,也没有纠错能力。,计算机组成原理设计性作业,课题1定点运算器设计,设计一个简单的16位定点运算器逻辑结构。画出逻辑图,说明所设计的定点运算器是怎样进行定点补码加法运算、减法运算和逻辑运算的。列出运算器做不同运算时的控制信号。,在基本的定点运算器基础上,如果要求计算机还能做定点乘法、除法运算,可以怎样设计?,实验课题1ALU设计,实验内容:,按照题目要求设计一个16位ALU的逻辑,决定外部的端口(名称、

10、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。,一、主要元件设计14位并行进位加法器功能要求:能完成两个4位二进制数(补码和无符号数)的加法和逻辑加运算。内部有并行进位链。可以扩展成多位组。2组间并行进位链逻辑功能要求:4个4位小组的组间并行进位链逻辑。将组间并行进位链逻辑与4个4位超前进位加法器连接可以构成16位超前进位加法器。可参考74182的逻辑函数。,(4学时),实验课题1ALU设计,实验内容:,按照题目要求设计一个16位ALU的逻辑,决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。

11、,一、主要元件设计3函数发生器功能要求:能把输入的两个16位二进制数进行变换,与后面的16位超前进位加法器配合完成两个16位二进制数(补码和无符号数)的8种算术运算(有些运算考虑低位来的进位)和8种逻辑运算。提示:ALU的功能参考数字逻辑课程的“多功能加法器”实验。,实验课题1ALU设计,二、顶层设计用层次结构设计的方法设计一个16位ALU。内部包括4个4位并行进位加法器、组间并行进位链、16位函数发生器等。功能要求:能完成两个16位二进制数以及低位来的进位的8种算术运算和8种逻辑运算。可参考74181。,三、仿真设计仿真波形数据,要考虑到所有可能的情况。在实验报告中必须清楚说明仿真波形数据是怎样设计的。,四、深入的课题上面设计的ALU还没有标志寄存器,如果想为ALU增加标志寄存器,应该怎样设计?标志位是怎样产生的?,Homework,3-16,17,20,23,25,Whenthinkingofmultiplicationasrepeatedaddition,thenumbertobemultipliediscalledthemul

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论