计算机组成精选文档.ppt

上传人:石*** 文档编号:44704095 上传时间:2022-09-22 格式:PPT 页数:77 大小:4.75MB
返回 下载 相关 举报
计算机组成精选文档.ppt_第1页
第1页 / 共77页
计算机组成精选文档.ppt_第2页
第2页 / 共77页
点击查看更多>>
资源描述

《计算机组成精选文档.ppt》由会员分享,可在线阅读,更多相关《计算机组成精选文档.ppt(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机组成计算机组成本讲稿第一页,共七十七页第第 3 章章 数据表示和运算方法数据表示和运算方法 3.1 数字化信息编码的概念和二进制编码知识数字化信息编码的概念和二进制编码知识 3.2 数据表示数据表示常用的信息编码常用的信息编码 3.3 二进制数值数据的编码方案与运算方法二进制数值数据的编码方案与运算方法 3.4 检错纠错码检错纠错码 本讲稿第二页,共七十七页1、数字信息和二进制编码知识、数字信息和二进制编码知识 数值、文字、符号、语音和图形数值、文字、符号、语音和图形 等统称等统称信息信息,在计算机内部,在计算机内部,信息信息都必须用都必须用数字化数字化的形式被的形式被存储、存储、加工加

2、工 和和 传送传送,不同信息要通过编码来表示。,不同信息要通过编码来表示。数字化信息编码的数字化信息编码的二个要素:二个要素:少量简单的基本符号少量简单的基本符号一定的组合规则一定的组合规则计算机中普遍选用计算机中普遍选用两个两个基本点符号:基本点符号:优点是:优点是:基本符号个数基本符号个数最少最少,物理上容易实现,物理上容易实现 二进制码表示二进制码表示数值数据数值数据运算规则简单运算规则简单 与与二值逻辑二值逻辑的的 真、假真、假 两个值对应简单两个值对应简单3本讲稿第三页,共七十七页二进制数据算术运算规则二进制数据算术运算规则(2)减法运算规则减法运算规则 0-0=0 0-1=1 并产

3、生借位并产生借位 1-0=1 1-1=0(1)加法运算规则加法运算规则 0+0=0 0+1=1 1+0=1 1+1=0 并产生进位并产生进位例如:例如:0101+)0001 0110例如:例如:1011)0101 0110 01104本讲稿第四页,共七十七页二进制数据算术运算规则二进制数据算术运算规则(3)乘法运算规则乘法运算规则 例如:例如:1101 00=0 )0101 01=0 1101 10=0 0000 11=1 1101 1000001 (4)除法运算规则除法运算规则 0101 例如:例如:1101 1000001 1000001 /1101=0101 1101 01101 110

4、1 05本讲稿第五页,共七十七页逻辑型数据基本运算规则逻辑型数据基本运算规则 一个二进制数位可以用来表示一个二值逻辑型的数一个二进制数位可以用来表示一个二值逻辑型的数据,更准确的说法应该是一位基二码而不是二进制的数据,更准确的说法应该是一位基二码而不是二进制的数位,因为逻辑型数据并不存在进位关系。这里的位,因为逻辑型数据并不存在进位关系。这里的与与、或或、非非逻辑可以用逻辑可以用与门与门、或门或门、非门非门电路实现电路实现。X Y X与与Y X或或Y X的非的非 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 6本讲稿第六页,共七十七页数制与进位记数法数制与进位

5、记数法基基 r 数制的概念数制的概念 只用只用 r 个基本符号个基本符号(例如例如 0,1,2,r-1)通过排列起通过排列起来的符号串表示数值,来的符号串表示数值,r 称为该数制的称为该数制的基基。数值数值 N 的表示的表示 N=Dm-1Dm-2 D1 D0D-1D-2 D-k有有 权权 的的基基 r 数制数制 每个每个Di(-kim-1)的单位值都赋以固定的值)的单位值都赋以固定的值Wi,则称,则称 Wi 为该位的为该位的 权权。N 代表的实际值可表示为代表的实际值可表示为:7本讲稿第七页,共七十七页数制与进位记数法数制与进位记数法若逢若逢 r 进位,有进位,有 Wi=ri,则,则N 代表一

6、个数值代表一个数值 r 是这个数制的基是这个数制的基 i 表示这些符号排列的位表示这些符号排列的位号号Di 是位序号为是位序号为 i 的位上的一个符号的位上的一个符号ri 是位序号为是位序号为 i 的位上的一个的位上的一个 1 代表的值代表的值Di ri 是第是第 i 位的符号所代表的实际值位的符号所代表的实际值 表示表示 对对 m+k 位的值求累加和位的值求累加和称此数制为称此数制为 r 进位数制,简称进位数制,简称 r 进制。最常用的有进制。最常用的有二进制二进制、八进制八进制、十六进制十六进制 和和 十进制十进制 这这4种。种。ri8本讲稿第八页,共七十七页数制与进位记数法数制与进位记数

7、法计算机中常用的计算机中常用的 4 种进位数制种进位数制 二进制:二进制:r=2,基本符号:基本符号:0 1 八进制:八进制:r=8,基本符号:基本符号:0 1 2 3 4 5 6 7 十进制:十进制:r=10,基本符号:,基本符号:0 1 2 3 4 5 6 7 8 9 十六进制:十六进制:r=16,基本符号:,基本符号:0 1 2 3 4 5 6 7 8 9 A B C D E F其中其中 AF 表示十进制数表示十进制数 1015 4 种进位数制之间的关系种进位数制之间的关系:二进制二进制用于计算机内部用于计算机内部,八八和和十六进制十六进制是二进制的缩写是二进制的缩写,十进制十进制用于人

8、员。用于人员。9本讲稿第九页,共七十七页二进制数二进制数八、十六八、十六和和十进制十进制 把把二进制数二进制数转换为转换为十进制数十进制数,累加二进制数中累加二进制数中全部数值为全部数值为 1 的那些位的位权的那些位的位权 (1101.1100)2=(123+122+021+120)10 +(12-1+12-2+02-3+02-4)10=(13.75)10 把把二进制数二进制数转换成转换成八八或或十六进制数十六进制数时,从小数点向左时,从小数点向左和向右把每和向右把每 3 或者或者 4 个二进制位分成一组,直接写出每个二进制位分成一组,直接写出每一组所代表的数值,一组所代表的数值,小数点后不足

9、位数补小数点后不足位数补0。(1101.1001)2=(D.9)16 =(15.44)8,而不是而不是(15.41)8 10本讲稿第十页,共七十七页数制与进位记数法数制与进位记数法二进位数和十进制数之间的转换方法二进位数和十进制数之间的转换方法 二进制:二进制:r=2,基本符号:基本符号:0 1 十进制:十进制:r=10,基本符号:,基本符号:0 1 2 3 4 5 6 7 8 9 求二进制数所对应的十进制数值,可通过进位记数求二进制数所对应的十进制数值,可通过进位记数公式来计算,即把取值为公式来计算,即把取值为 1 的数位的位权累加。的数位的位权累加。把十进制数转换为二进制,把十进制数转换为

10、二进制,对整数部分通过除对整数部分通过除 2取余数取余数来完成来完成,对小数部分通过乘对小数部分通过乘 2 取整数来完成取整数来完成。2 13-1 低位低位 0.762 2 6-0 1 0.522 高位高位 2 3-1 1 0.042 2 1-1 高位高位 0 0.082 0 0 0.16 低位低位 (13)10=(1101)2 (0.76)10=(0.1100)211本讲稿第十一页,共七十七页2、基二码应用实例:数据表示、基二码应用实例:数据表示(1)逻辑型数据)逻辑型数据(2)字符型数据)字符型数据ASCII 码码 EBCDIC 码码字符串字符串 汉字汉字(3)数值型数据)数值型数据定点小

11、数定点小数 整数整数 浮点数浮点数 二二十进制数(十进制数(BCD码)码)12本讲稿第十二页,共七十七页(1)逻辑型数据)逻辑型数据 逻辑型数据只有两个值:逻辑型数据只有两个值:真真 和和 假假,正好可以,正好可以用二进制码的两个符号分别表示,用二进制码的两个符号分别表示,例如例如 1 表示表示 真真 则则 0 表示表示 假假不必使用另外的编码规则。不必使用另外的编码规则。对逻辑型数据可以执行逻辑的对逻辑型数据可以执行逻辑的 与与 或或 非非等基本等基本逻辑运算。其规则如下:逻辑运算。其规则如下:13本讲稿第十三页,共七十七页逻辑型数据基本运算规则逻辑型数据基本运算规则 一个二进制数位可以用来

12、表示一个二值逻辑型的变一个二进制数位可以用来表示一个二值逻辑型的变量,更准确的说法应该是一个基二码位而不是二进制的量,更准确的说法应该是一个基二码位而不是二进制的数位,因为逻辑型数据不存在进位关系。这里的数位,因为逻辑型数据不存在进位关系。这里的与与、或或、非非逻辑可以用逻辑可以用与门与门、或门或门、非门非门电路实现电路实现。X Y X与与Y X或或Y X的非的非 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 14本讲稿第十四页,共七十七页(2)字符型数据的表示)字符型数据的表示 字符作为人字符作为人机联系的媒介,是最重要的数据机联系的媒介,是最重要的数据类型

13、之一,当前的西文字符集由类型之一,当前的西文字符集由 128 个符号组成,个符号组成,通常用通常用 8 位二进制编码,即位二进制编码,即用一个字节来表示一个用一个字节来表示一个符号符号,常用的两个标准字符集是:,常用的两个标准字符集是:ASCII 码码:即即 American Standard Code for Information InterchangeEBCDIC码码:即:即 Extended Binary Coded Decimal Interchange Code ASCII码字符集具体编码如下表所示:码字符集具体编码如下表所示:15本讲稿第十五页,共七十七页ASCII 码字符集码字

14、符集16本讲稿第十六页,共七十七页字符串的表示与存储字符串的表示与存储 字符串是指连续的一串字符,它们占据主存中连续的字符串是指连续的一串字符,它们占据主存中连续的多个字节,每个字节存放一个字符,对一个主存字的多多个字节,每个字节存放一个字符,对一个主存字的多个字节,有按从低位到高位字节次序存放的,也有按从个字节,有按从低位到高位字节次序存放的,也有按从高位到低位字节次序存放的。表示字符串数据要给出串高位到低位字节次序存放的。表示字符串数据要给出串存放的主存起始地址和串的长度。例如:存放的主存起始地址和串的长度。例如:IF AB THEN READ(C)IF AB THEN READ(C)就可

15、以有如下不同存放方式:就可以有如下不同存放方式:I F A A F I B T T B H E N N E H R E A D D A E R (C )C (假定每个字假定每个字由由 4 个字节组成个字节组成17本讲稿第十七页,共七十七页字符串的表示与存储字符串的表示与存储I IF FA A B BT TH HE EN NR RE EA AD D(C C)494620413e42205448454e20524541442843292008 716 1524 2331按从低位到高位字节次序存放按从低位到高位字节次序存放16进制数据进制数据18本讲稿第十八页,共七十七页汉字的内码表示汉字的内码表示

16、 通常用两个字节表示一个汉字。通常用两个字节表示一个汉字。为了与西文字符编码相区别(西文的为了与西文字符编码相区别(西文的ASCII码的最高一位编码值为码的最高一位编码值为 0),表示一个汉字时,),表示一个汉字时,把两个字节的最高一位的编码值设定为把两个字节的最高一位的编码值设定为 1,则该,则该编码集的最多编码数量为编码集的最多编码数量为 128 128。这种编码方案与西文传送中的把这种编码方案与西文传送中的把 ASCII 码的码的最高一位用作奇偶校验位有矛盾。最高一位用作奇偶校验位有矛盾。19本讲稿第十九页,共七十七页汉字的表示方法汉字的表示方法汉字内码汉字内码内码是用于汉字信息的内码是

17、用于汉字信息的存储、交换、检索存储、交换、检索等操作的机内等操作的机内代码,它一般采用两个字节的二进制形式表示一个汉字。代码,它一般采用两个字节的二进制形式表示一个汉字。汉字输入编码汉字输入编码输入编码是为了使用西文标准键盘把汉字输入到计算机输入编码是为了使用西文标准键盘把汉字输入到计算机中,其编码方法主要有中,其编码方法主要有数字编码、拼音码数字编码、拼音码和和字形编码字形编码三三类。类。汉字字模编码汉字字模编码字模编码是以点阵方式用来描述字模编码是以点阵方式用来描述 汉字字形汉字字形的代码,它是汉字的输的代码,它是汉字的输 出形式。出形式。20本讲稿第二十页,共七十七页UNICODE编码编

18、码 Unicode是完全双字节表示的多国文字编码体系,是完全双字节表示的多国文字编码体系,编码空间编码空间 0 x0000-0 xFFFF。可以表示。可以表示 65536 个字符;个字符;ISO 10646.1 汉字标准使用编码汉字标准使用编码 0 x4E00-9FA5,共共包含包含20902个汉字。个汉字。将整个编码空间划分为块,每块为将整个编码空间划分为块,每块为 16 的整数倍,的整数倍,按块进行分配;按块进行分配;并无法覆盖所有字符。并无法覆盖所有字符。21本讲稿第二十一页,共七十七页(3)数值数据在计算机内的格式)数值数据在计算机内的格式定点小数定点小数:N =N N N .Ns-1

19、-n-2整整 数数:N =N N .N N01sn-1浮点数浮点数:N =M E E .E E M M .M ssm-110-1-2-n符号位符号位 阶码位阶码位 尾数数码位尾数数码位 总位数总位数 短浮点数短浮点数:1 8 23 32长浮点数长浮点数:1 11 52 64 临时浮点数临时浮点数:1 15 64 80IEEE 标准:标准:阶码用移码阶码用移码 尾数用原码尾数用原码 基为基为 222本讲稿第二十二页,共七十七页数值范围和数据精度数值范围和数据精度数值范围数值范围 数值范围是指一种类型的数据所能表示的最大值和最数值范围是指一种类型的数据所能表示的最大值和最小值;小值;数据精度数据精

20、度 通常指实数所能给出的有效数字位数;对浮点数来说,通常指实数所能给出的有效数字位数;对浮点数来说,精度不够会造成误差,误差大量积累会出问题。精度不够会造成误差,误差大量积累会出问题。机内处理机内处理 数值范围与数据精度概念不同。在计算机中,它们的数值范围与数据精度概念不同。在计算机中,它们的值与用多少个二进制位表示某种类型的数据,以及怎么值与用多少个二进制位表示某种类型的数据,以及怎么对这些位进行编码有关。对这些位进行编码有关。23本讲稿第二十三页,共七十七页二二 十进制码(十进制码(BCD码)码)用用 4 位二进制表示位二进制表示 1 位十进制数,一个多位的十位十进制数,一个多位的十进制数

21、被表示为这种编码的数串,进制数被表示为这种编码的数串,16 个编码状态个编码状态中选用其中的中选用其中的 10 个编码有多种不同的方案:个编码有多种不同的方案:例如:例如:8421码,码,84-2-1码,余码,余 3 码,格雷码码,格雷码 可以进一步分为有权码和无权码:可以进一步分为有权码和无权码:有权码有权码:每位上的每位上的 1 代表确定的值代表确定的值 无权码无权码:无法确定每位上的:无法确定每位上的 1 代表的值代表的值24本讲稿第二十四页,共七十七页0 0000 0000 0011 00001 0001 0111 0100 00012 0010 0110 0101 00113 001

22、1 0101 0110 00104 0100 0100 0111 01105 0101 1011 1000 11106 0110 1010 1001 10107 0111 1001 1010 10008 1000 1000 1011 11009 1001 1111 1100 0100有权码有权码 无权码无权码842184-2-1 余余3码码格雷码格雷码25本讲稿第二十五页,共七十七页如何判定码权如何判定码权 0 0000 1 0111 4+(-2)+(-1)2 0110 4+(-2)要验证每个码的值要验证每个码的值 3 0101 4+(-1)4 0100 4 从一编码求码权从一编码求码权 5

23、1011 8+(-2)+(-1)6 1010 -2 结论结论 7 1001 -1 证明此编码系统为有权码证明此编码系统为有权码 8 1000 8 9 1111 8+4+(-2)+(-1)26本讲稿第二十六页,共七十七页如何判定码权如何判定码权 0 0011 2+1 0 验证各码的值验证各码的值 1 0100 1 从一编码求码权从一编码求码权 2 0101 1 3 0110 2 4 0111 5 1000 6 1001 结论结论 7 1010 证明此编码系统为无权码证明此编码系统为无权码 8 1011 9 1100 27本讲稿第二十七页,共七十七页数值数据在计算机内的格式数值数据在计算机内的格式

24、定点小数定点小数:N =N N N .Ns-1-n-2整整 数数:N =N N .N N01sn-1浮点数浮点数:N =M E E .E E M M .M ssm-110-1-2-n符号位符号位 阶码位阶码位 尾数数码位尾数数码位 总位数总位数 短浮点数短浮点数:1 8 23 32长浮点数长浮点数:1 11 52 64 临时浮点数临时浮点数:1 15 64 80IEEE 标准:标准:阶码用移码阶码用移码 尾数用原码尾数用原码 基为基为 228本讲稿第二十八页,共七十七页3、数值数据的编码和运算算法、数值数据的编码和运算算法二进制数值数据的类型二进制数值数据的类型 二进制表示的二进制表示的定点小

25、数定点小数、整数整数和和浮点数浮点数数值数据编码目标数值数据编码目标 能方便统一地表示正数、零和负数,并且尽可能方便统一地表示正数、零和负数,并且尽可能有利于简化对它们实现算术运算用到的规则;能有利于简化对它们实现算术运算用到的规则;数据符号的正与负,可用一位二进制的数据符号的正与负,可用一位二进制的 0 和和 1两两个状态加以表示,数据数值用多位二进制表示。个状态加以表示,数据数值用多位二进制表示。常用的编码方案常用的编码方案 原码原码表示、表示、补码补码表示、表示、反码反码表示表示29本讲稿第二十九页,共七十七页+0.1011+1100 1100 0.1011带符号的数带符号的数 符号数字

26、化的数符号数字化的数真值真值 机器数机器数机器数与真值机器数与真值 0 1011 1 1011 0 1100 1 1100小小数数点点的的位位置置 一个数据的实际值被称为数的真值,机器数是指对一个数据的实际值被称为数的真值,机器数是指对数据符号位完成数字化处理后的机内表示。数据符号位完成数字化处理后的机内表示。30本讲稿第三十页,共七十七页 X =X =X =定点小数表示定点小数表示:Ns N1 N2 Nn原原 X 1-X -1 X 0反反 X(2-2 )+X-n0 X 1-1 X 0补补 X 2+XMod(2-2 )0 X 1-1 X 0Mod 20 X 1-n(纯小数纯小数)原码,反码,补

27、码的定义原码,反码,补码的定义31本讲稿第三十一页,共七十七页实例:实例:X1=0.1011 -0.1011 0.0000 X 补补 =0 1011 1 0101 0 0000说明:说明:补码补码最高一位是符号位,符号最高一位是符号位,符号 0 正正 1 负负 补码补码表示为:表示为:2符号位符号位+数的真值数的真值 补码补码零只有一个编码,故能表示零只有一个编码,故能表示-1 补码补码能很好地用于加减(乘除)运算能很好地用于加减(乘除)运算定点小数表示定点小数表示:Ns N1 N2 Nn X 2+X -1 X 00 X 1(纯小数纯小数)补码的定义与说明补码的定义与说明定义:定义:X 补补

28、=MOD 232本讲稿第三十二页,共七十七页整数的编码表示整数的编码表示整数的整数的 原码原码 反码反码 补码补码 表示表示与小数的三种表示基本相同与小数的三种表示基本相同差别仅表现在小数点的位置差别仅表现在小数点的位置可以认为整数的小数点在最低数值位的右侧可以认为整数的小数点在最低数值位的右侧因此整数的模与整数位数有关因此整数的模与整数位数有关讲课中不大用整数讲讲课中不大用整数讲 原原 反反 补补 码定义码定义 例如:整数六位编码例如:整数六位编码 (1 位符号位,位符号位,5 位数值位位数值位)X=+01110 X原原=0 01110 X补补=0 01110 X=-01110 X原原=1

29、01110 X补补=1 1001033本讲稿第三十三页,共七十七页x 为真值为真值n 为整数的位数为整数的位数x原原=x 2n x 02n x 0 x 2nx补补=x 2n x 02n+1+x 0 x 2n(mod 2n+1)x反反=x 2n x 0(2n+1 1)+x 0 x 2n(mod 2n+1 1)整数的编码表示整数的编码表示34本讲稿第三十四页,共七十七页原原 反反 补码表示小结补码表示小结正数的正数的 原码原码、反码反码、补码补码表示均相同表示均相同,符号位为符号位为 0,数值位同数的真值。,数值位同数的真值。零的零的原码原码和和反码反码均有均有 2个编码,个编码,补码补码只只 1

30、个码个码负数的负数的 原码原码、反码反码、补码补码表示均不同表示均不同,符号位为符号位为 1,数值位:原码为数的绝对值,数值位:原码为数的绝对值 反码为每一位均取反码反码为每一位均取反码 补码为反码再在最低位补码为反码再在最低位+1由由 X补补 求求-X补补:每一位取反后再在最低位:每一位取反后再在最低位+135本讲稿第三十五页,共七十七页补码表示中的符号位扩展补码表示中的符号位扩展由由 X补补 求求 X/2补补 的方法的方法 原符号位不变,且符号位与数值位均右移一位原符号位不变,且符号位与数值位均右移一位例如,例如,X补补=10010 则则 X/2补补=110010不同位数的整数补码相加减时

31、,不同位数的整数补码相加减时,位数少的补码数的符号位向左扩展,位数少的补码数的符号位向左扩展,一直扩展到与另一数的符号位对齐。一直扩展到与另一数的符号位对齐。0101010111000011 0101010111000011+10011100 +00011100 0101010101011111 0101010111011111 000000001111111136本讲稿第三十六页,共七十七页补码的一些补充说明补码的一些补充说明由由X补补(X0 X1X2Xn)求真值)求真值 XX补补=2X0+X X=X补补-2X0 =X0 X1X2Xn-2X0 =-X0+(-X0+X0 X-1X-2X-n)=

32、-X0+0.X1X2Xn由由 X补补 求求 X/2补补的关系的关系 X补补=X0 X1X2XnX/2补补=X0 X0X1X2Xn37本讲稿第三十七页,共七十七页数据的算术运算数据的算术运算:算法和原理性电路算法和原理性电路补码补码加、减法运算加、减法运算原码原码一位乘法运算一位乘法运算 原码原码一位除法运算一位除法运算补码补码一位乘法运算一位乘法运算 补码补码一位除法运算一位除法运算原码原码二位乘法运算二位乘法运算 补码补码二位乘法运算二位乘法运算阵列乘、除法器实现的更快的乘除运算阵列乘、除法器实现的更快的乘除运算38本讲稿第三十八页,共七十七页补码加减法的实现补码加减法的实现 补码可以方便地

33、完成加减法运算,符号位和数值补码可以方便地完成加减法运算,符号位和数值位同等地参加运算,只要结果不溢出,就能得到补码位同等地参加运算,只要结果不溢出,就能得到补码的正确的符号和正确的数值结果,而且可以使用加法的正确的符号和正确的数值结果,而且可以使用加法器线路完成减法运算,使运算器实现更加简单,运算器线路完成减法运算,使运算器实现更加简单,运算控制也很方便,同时为用于乘除法运算奠定了基础。控制也很方便,同时为用于乘除法运算奠定了基础。X+Y补补=X补补+Y补补X-Y补补=X补补+-Y补补-Y补补=对对 Y补补 逐位取反再在最低位加逐位取反再在最低位加 1看一下实现补码加减运算的原理性电路看一下

34、实现补码加减运算的原理性电路39本讲稿第三十九页,共七十七页实现补码加减运算的逻辑电路实现补码加减运算的逻辑电路X X+YX X-Y /加加减减FXFs 加法器加法器(ALU)目的目的 寄存器寄存器源源 寄存器寄存器 选通门选通门二选通门二选通门选通门选通门F1XYFYXF010 1F /YFsOVRZC累加器累加器/Y40本讲稿第四十页,共七十七页00000111实现补码加运算的执行过程实现补码加运算的执行过程X X+Y完成加法运算,需完成加法运算,需把被加数和加数送把被加数和加数送ALU的输入端,运的输入端,运算结果要接收到累算结果要接收到累加器,需要给出命加器,需要给出命令:令:FXFY

35、XFFs 加法器加法器 0101011010110001 选通门选通门二选一二选一选通门选通门XYFsOVRZC被加数被加数/和和/Y加数加数CP10110001 0101011000000111CP命令建立命令建立数据传送数据传送 加运算加运算存结果存结果命令建立命令建立数据传送数据传送 命令建立命令建立 0000011141本讲稿第四十一页,共七十七页实现补码减运算的逻辑电路实现补码减运算的逻辑电路X XY完成减法运算,需完成减法运算,需把被减数和把被减数和减数减数送送ALU的输入端,运算的输入端,运算结果要接收到累加器,结果要接收到累加器,需要给出命令:需要给出命令:/,F1FXF/YX

36、FFs 加法器加法器 0101011011110001 选通门选通门二选一二选一选通门选通门XYFsOVRZC被减数被减数/差差/Y减数减数CPCP命令建立命令建立数据传送数据传送 加运算加运算存结果存结果命令建立命令建立数据传送数据传送 命令建立命令建立F1100001110 01100101 01010110 0110101 42本讲稿第四十二页,共七十七页补码加减法溢出判断补码加减法溢出判断方法之一:方法之一:单符号位,单符号位,正正+正正 得得负负 或或 负负+负负 得得正正方法之二:方法之二:数字位数字位有向有向符号位符号位的进位,但的进位,但符号位符号位不产生向更高位的不产生向更高

37、位的进位,进位,数字位没数字位没有向有向符号位符号位的进位,但的进位,但符号位符号位产生向产生向更高位的进位更高位的进位方法之三:方法之三:双符号位的结果为双符号位的结果为 01 或或 10,最高符号位最高符号位 代表其代表其 真真正的符号正的符号判断溢出的逻辑电路如何实现呢?判断溢出的逻辑电路如何实现呢?43本讲稿第四十三页,共七十七页补码加减法运算实例补码加减法运算实例X=0.1011 y=-0.0101X补补 =00 1011,Y补补=11 1011 模模 4 补码补码 -Y补补=00 0101 00 1011 00 1011+11 1011 +00 0101100 0110 01 00

38、00X+Y(不不溢出溢出)X-Y(溢出溢出)正数加负数不会溢正数加负数不会溢出出符号位和数值位都符号位和数值位都产生进位产生进位双符号位结果相双符号位结果相同不是溢出同不是溢出正数加正数结果为正数加正数结果为负是溢出负是溢出数值位有进位符数值位有进位符号位无进位是溢号位无进位是溢出出双符号位结果不相双符号位结果不相同是溢出同是溢出判断溢出的判断溢出的 3套方案是一个事实的套方案是一个事实的 3种不同的表述种不同的表述此时此时C=1,Z=0,S=044本讲稿第四十四页,共七十七页补码加减法运算实例补码加减法运算实例X=0.0011 y=-0.0011X补补 =0 0011,Y补补=1 1101

39、-Y补补=0 0011 0 0011 0 0011+1 1101 +0 0011 1 0 0000 0 0110X+Y(不不溢出溢出)X-Y(不不溢出溢出)加减法运算过程中产生的特征位的值加减法运算过程中产生的特征位的值此时此时C=1,Z=1,S=0此时此时C=0,Z=0,S=02000:CMP R0,R1 JRNC 20002010:DEC R0 JRNZ 201045本讲稿第四十五页,共七十七页原码一位乘运算方案原码一位乘运算方案X*Y原原 =(X +Y)(X*Y)例如:例如:X=0.1101 Y=0.1011 0.1 1 0 1 *0.1 0 1 1 1 1 0 1 1 1 0 1 0

40、0 0 0 +1 1 0 10.1 0 0 0 1 1 1 1 手工运算过程手工运算过程最终乘积原码表示:最终乘积原码表示:0 1 0 0 0 1 1 1 1解决方案解决方案:1.每次求出部分积每次求出部分积,不是一次总累加不是一次总累加 2.变每次左移被乘数为右移部分积,移出变每次左移被乘数为右移部分积,移出的部分保存起来的部分保存起来(保存到哪保存到哪?)3.乘数放到一个移位寄存器中,判乘数每乘数放到一个移位寄存器中,判乘数每一位的值用最低的一位线路一位的值用最低的一位线路符号异或,符号异或,绝对值相乘绝对值相乘该方案用于计算机会有问题该方案用于计算机会有问题:1.加法器只有两个数据输入端

41、加法器只有两个数据输入端 2.加法器与乘运算数据位数相同加法器与乘运算数据位数相同 3.如何判断乘数每一位是如何判断乘数每一位是 0 或者或者 146本讲稿第四十六页,共七十七页实现原码一位乘法的逻辑线路图实现原码一位乘法的逻辑线路图 加加 法法 器器 部部 分分 积积 被被 乘乘 数数 乘乘 数数 F最最低低位位加运算加运算移位线路移位线路每位每位1套套第第 i 位位第第 i 位位第第 i+1位位第第 i-1位位F/2X FX F*2X移位电路移位电路最最高高位位三选一电路三选一电路被乘数作为加被乘数作为加数,用乘数最数,用乘数最低位的值控制低位的值控制累加,结果右累加,结果右移一位存部分移

42、一位存部分积寄存器,并积寄存器,并且乘数同时右且乘数同时右移一位。移一位。部分积的部分积的最低位移最低位移入到乘数入到乘数的最高位的最高位计数器计数器 Cd47本讲稿第四十七页,共七十七页原码一位乘运算过程举例原码一位乘运算过程举例X=0.1101 Y=0.101148本讲稿第四十八页,共七十七页原码一位乘运算过程举例原码一位乘运算过程举例X=0.1101 Y=0.101149本讲稿第四十九页,共七十七页原码一位乘运算过程举例原码一位乘运算过程举例X=0.1101 Y=0.101150本讲稿第五十页,共七十七页原码一位乘运算过程举例原码一位乘运算过程举例X=0.1101 Y=0.101151本

43、讲稿第五十一页,共七十七页原码一位乘运算过程举例原码一位乘运算过程举例X=0.1101 Y=0.101152本讲稿第五十二页,共七十七页原码一位乘运算过程举例原码一位乘运算过程举例X=0.1101 Y=0.101153本讲稿第五十三页,共七十七页原码一位乘运算过程举例原码一位乘运算过程举例X=0.1101 Y=0.101154本讲稿第五十四页,共七十七页除法运算除法运算 在计算机内实现除法运算时,存在与乘在计算机内实现除法运算时,存在与乘法运算类似的几个问题:法运算类似的几个问题:加法器与寄存器的配合,被除数位数较加法器与寄存器的配合,被除数位数较长,商一位一位地计算出来,如何放置商等。长,商

44、一位一位地计算出来,如何放置商等。这可以用左移余数得到解决,且被除数的这可以用左移余数得到解决,且被除数的低位部分可以与最终的商合用同一个寄存器,低位部分可以与最终的商合用同一个寄存器,余数与上商同时左移一位。余数与上商同时左移一位。55本讲稿第五十五页,共七十七页 F 加法器加法器A 被除数被除数(余数余数)B 除数除数 1 0与或门与或门与或门与或门2FAFABF/BF 1FC 乘商寄存器乘商寄存器上商上商与或门与或门2CC计数器计数器 Cd实现原码一位除法运算的原理图实现原码一位除法运算的原理图C/2C56本讲稿第五十六页,共七十七页原码一位除运算原码一位除运算 X/Y 原原 =(X +

45、Y)(X Y )原码一位除是指用原码表示的数相除,求出原原码一位除是指用原码表示的数相除,求出原码表示的商。除操作的过程中,每次求出一位商。码表示的商。除操作的过程中,每次求出一位商。从理解原理考虑,用恢复余数除法讲解计算机从理解原理考虑,用恢复余数除法讲解计算机内的实现方法更直观方便,即确定上商应为还是内的实现方法更直观方便,即确定上商应为还是为时,必须用被除数或中间余数减去除数,通过为时,必须用被除数或中间余数减去除数,通过检查本次求得的余数为正还是为负才能知道,而不检查本次求得的余数为正还是为负才能知道,而不象人员计算时用眼睛可以直接看出来。若求出一个象人员计算时用眼睛可以直接看出来。若

46、求出一个为负的余数来,通常应首先恢复其值为正,再求下为负的余数来,通常应首先恢复其值为正,再求下一位商才有道理。但计算机内从来不用这种办法,一位商才有道理。但计算机内从来不用这种办法,而是直接用求得的负余数直接求下一位商。而是直接用求得的负余数直接求下一位商。57本讲稿第五十七页,共七十七页加减交替除法原理证明加减交替除法原理证明1.若第若第 i-1次求商,减运算的余数为次求商,减运算的余数为+Ri-1,商,商1,余数左移余数左移 1位得位得 2Ri-1 。2.则下一步第则下一步第 i 次求商次求商 Ri =2Ri-1-Y 恢复余数为正且左移恢复余数为正且左移 1位得位得 2(Ri +Y)3.

47、则再下一步第则再下一步第 i+1次求商次求商 Ri+1 =2(Ri +Y)-Y =2Ri +Y 公式表明公式表明,若上次减运算结果为负若上次减运算结果为负,可直接左移可直接左移,本次用本次用+Y 求商即可求商即可;减运算结果为正,用减运算结果为正,用+Y 求商求商若若 Ri 0,商商 0若若 Ri0,58本讲稿第五十八页,共七十七页0 0 1 0 1 11 1 0 0 1 11 1 1 1 1 01 1 1 1 0 00 0 1 1 0 10 0 1 0 0 10 1 0 0 101 1 0 0 1 10 0 0 1 0 10 0 1 0 1 01 1 0 0 1 11 1 1 1 0 11

48、1 1 0 1 00 0 1 1 010 0 0 1 1 10 0 0 0 0 开始情形开始情形 -Y0 0 0 0 0 0,商商10 0 0 1 0 左移左移1位位 -Y0 0 0 1 1 0,商商10 0 1 1 0 左移左移1位位 -Y0 0 1 1 0 0,商商1被除数被除数(余数余数)商商+)+)+)+)+)X=0.1011Y=0.1101X/Y=0.1101Y补补=00 1101-Y补补=11 0011原码除法执行原码除法执行的是绝对值相的是绝对值相除除,-Y用用+-Y补补 完成完成,+Y 用加用加Y的绝对的绝对值值(补码补码)完完成成除法运算除法运算59本讲稿第五十九页,共七十七

49、页ALU的线路实现方案的线路实现方案ALU用于执行用于执行 2 路数据的算术与逻辑运算路数据的算术与逻辑运算 例如:例如:+、等等已经讲过实现这几种运算的算法已经讲过实现这几种运算的算法 例如:例如:补码加减、逻辑运算、原码一位乘除等补码加减、逻辑运算、原码一位乘除等还给出了实现这些运算的原理性线路框图还给出了实现这些运算的原理性线路框图 ALUA 累加器累加器B寄存器寄存器 1 0二选一二选一C 乘商寄存器乘商寄存器上商上商三三 选选 一一计数器计数器 Cd三三 选选 一一最低位最低位进位进位特征位特征位信号信号区分区分加减加减判乘判乘B存放存放:加数加数被乘数被乘数除数除数逻辑数逻辑数2A

50、存放存放:被加数被加数高位积高位积被除数被除数逻辑数逻辑数1乘除运算乘除运算用用加减和移位加减和移位多次迭代完多次迭代完成成60本讲稿第六十页,共七十七页4、检错纠错码、检错纠错码 要提高计算机的要提高计算机的可靠性可靠性,除了采取选用更高可,除了采取选用更高可靠性的器件,更好的生产工艺等措施之外,还可以靠性的器件,更好的生产工艺等措施之外,还可以针对薄弱环节,从数据编码上想一些办法,即采用针对薄弱环节,从数据编码上想一些办法,即采用少量冗余的线路,在原有数据位之外再少量冗余的线路,在原有数据位之外再增加一到几增加一到几个校验位个校验位,使新得到的使新得到的由数据位和校验位构成的码由数据位和校

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁