计算机组成原理总复习_第1页
计算机组成原理总复习_第2页
计算机组成原理总复习_第3页
计算机组成原理总复习_第4页
计算机组成原理总复习_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

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

文档简介

1、复习提示:复习提示: 重点掌握、理解与计算机组成有关的重点掌握、理解与计算机组成有关的 原理性知识和带有一定指导意义的原理性知识和带有一定指导意义的 技术思路方面的内容。注意不要把技术思路方面的内容。注意不要把 精力放在教材中的某些实例或太多精力放在教材中的某些实例或太多 地具体技术细节。地具体技术细节。 第第2章章 数据表示、运算和运算部件数据表示、运算和运算部件 一、掌握数制与进位计数法一、掌握数制与进位计数法 基基r数制数制用用r个基本符号(个基本符号(0,1,2,r-1) 通过排列起来的符号串表示数值。通过排列起来的符号串表示数值。 r该数制的基该数制的基 例:例: n=dm-1dm-

2、2d1d0d-1d-2d-k 式中,式中,di(-kim-1)数制采用的基本符号数制采用的基本符号 (0,1,, r-1) dm-1dm-2d1d0 整数部分整数部分 d-1d-2d-k 小数部分小数部分 若若 di单位值有固定的值单位值有固定的值wi,则,则wi为该位的权。为该位的权。 所以,所以,n可写成可写成 i m ki i wdn 1 若该数编码还符合若该数编码还符合“逢逢r进位进位”的原则,则每位的权的原则,则每位的权 为为 wi=ri 其中其中r是数制的基,是数制的基,i为位序号。为位序号。 则则n可写为可写为 式中式中 r数值的基数值的基 i位序号位序号 dii位上的符号位上的

3、符号 ri 第第i位的位权位的位权 di *ri 第第i位的实际值位的实际值 i m ki i rdn 1 常见的几种进位数制:常见的几种进位数制: 进制进制 r 基本符号基本符号 二进制二进制 2 0,1 八进制八进制 8 0,1,2,3,4,5,6,7 十六进制十六进制 16 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 十进制十进制 10 0,1,2,3,4,5,6,7,8,9 3.在一个二进制编码的系统中在一个二进制编码的系统中,如果每一个如果每一个 数据同一位上的符号数据同一位上的符号“1”都代表确定的都代表确定的 值值,则该编码系统属于则该编码系统属于 ,该值被称

4、为该值被称为 为个数位的为个数位的 ,计算一个数据表示的十计算一个数据表示的十 进制的值量进制的值量,可以通过把该数据的所有取可以通过把该数据的所有取 值为值为1的的 累加求和来完成。累加求和来完成。 答案:有权码答案:有权码 位权位权 数位的位权数位的位权 二、掌握数制转换(二、八、十六进制和十进二、掌握数制转换(二、八、十六进制和十进 制的转换)制的转换) (1)二、八、十六进制与十进制数据转换)二、八、十六进制与十进制数据转换 十进制到二、(八、十六)进制的转换十进制到二、(八、十六)进制的转换 整数部分:除整数部分:除2(8、16)取余倒排)取余倒排 小数部分:乘小数部分:乘2(8、1

5、6)取整顺排)取整顺排 例:例: 125.9375=( 7d.f)16=(175.74 )8=(1111101.1111)2 0.93751 6 7 d 1 6 0 7 16 15 .0000 1 2 5 二、(八、十六)进制到十进制的转换二、(八、十六)进制到十进制的转换 套用公式套用公式 例例:(101101111.101)=(367.625) i m ki i rdn 1 1 6 f a 1162+6161+15160+1016-1 256+96+15+0.625 =367.625 (2)二进制与八进制及与十六进制的转换)二进制与八进制及与十六进制的转换 二进制转换为八进制,从小数点分别

6、向左向右每二进制转换为八进制,从小数点分别向左向右每 3位二进制数分为一组(不够位二进制数分为一组(不够3位需补位需补0),每),每 组对应一位八进制数。组对应一位八进制数。 例例(1 100 111.101 011 01)2 = (147.532)8 二进制转换为十六进制,从小数点分别向左二进制转换为十六进制,从小数点分别向左 向右每向右每4位二进制数分为一组(不够位二进制数分为一组(不够4位需补位需补 0),每组对应一位十六进制数。),每组对应一位十六进制数。 例例(110 0111.1010 1101)2 = (67.ad)16 三、掌握检错、纠错的概念,即主要是海明码三、掌握检错、纠错

7、的概念,即主要是海明码 的基本概念的基本概念 检错与纠错的概念:用带有某些特征能力的编检错与纠错的概念:用带有某些特征能力的编 码方法,通过少量的附加电路,使之能发现码方法,通过少量的附加电路,使之能发现 某些错误,甚至能准确地确定出错位置,进某些错误,甚至能准确地确定出错位置,进 而提供自动纠正错误的能力。而提供自动纠正错误的能力。 数据校验码的实现原理:在合法的数据编码之数据校验码的实现原理:在合法的数据编码之 间,加进不允许出现的(非法的)编码,使间,加进不允许出现的(非法的)编码,使 合法数据出现某些错误时,就成为非法编码。合法数据出现某些错误时,就成为非法编码。 这样,就可以通过检查

8、编码的合法性达到发这样,就可以通过检查编码的合法性达到发 现错误的目的。现错误的目的。 码距(最小码距)的概念:码距(最小码距)的概念: 任何两个合法编码之间,至少有几个二进任何两个合法编码之间,至少有几个二进 制位不同。若仅有一位不同,则称其码制位不同。若仅有一位不同,则称其码 距位距位1。 例:用例:用4位二进制数表示位二进制数表示16种状态:种状态: 0000,0001,0010,1101,1110,1111 16位编码都用到,码距为位编码都用到,码距为1。 码距为码距为1时,任何一位编码出错,都会变成合时,任何一位编码出错,都会变成合 法码,所以没有检错能力法码,所以没有检错能力 。

9、1.检错纠错的有关概念和实现思路检错纠错的有关概念和实现思路 若用若用4位二进制数表示位二进制数表示8种状态:种状态: 0000 1001 1010 0011 1100 0101 0110 1111 (进行了(进行了 偶检验)偶检验) 0 1 2 3 4 5 6 7 只用了只用了16种个编码中的种个编码中的8个编码,另个编码,另8个编码为非法编码,个编码为非法编码, 合法码距为合法码距为2。 任何一个编码有一位出错,就变成了非法码。任何一个编码有一位出错,就变成了非法码。 常用的数据校验码:常用的数据校验码: 奇偶校验码奇偶校验码 海明校验码海明校验码 循环冗余校验码循环冗余校验码 (2)海明

10、()海明(richard hamming)校验码)校验码 功能:能检测出一位出错并纠正,也能检测出二位同功能:能检测出一位出错并纠正,也能检测出二位同 时出错。时出错。 实现原理:实现原理: 在在k个数据之外加上个数据之外加上r 个校验位,形成个校验位,形成 r + k个的新个的新 的码字,使新的码字的码距比较均匀的拉大。的码字,使新的码字的码距比较均匀的拉大。 把数据的每一个二进制位分配在几个不同的偶校把数据的每一个二进制位分配在几个不同的偶校 验组合中,当一位出错后,会引起相关的几个校验位验组合中,当一位出错后,会引起相关的几个校验位 的值发生变化,不但能发现出错,还能指出哪一位出的值发生

11、变化,不但能发现出错,还能指出哪一位出 错,为自动纠错提供依据。错,为自动纠错提供依据。 设设k位数据,位数据,r 位校验码。要指明位校验码。要指明 k + r 位错在位错在 哪一位,再用一个状态指明哪一位,再用一个状态指明“无错无错”,则应,则应 满足:满足:2 r k + r +1 若还需发现两位错,则应满足:若还需发现两位错,则应满足:2 r-1 k + r 校验位与数据位的对应关系:校验位与数据位的对应关系: k值值 最小的最小的 r 值值 34 4 510 5 1125 6 2656 7 57119 8 5说明海明码能实现检错纠错的基本原理说明海明码能实现检错纠错的基本原理?为什么能

12、为什么能 发现并改正一位错、也能发现二位错,校验位和数发现并改正一位错、也能发现二位错,校验位和数 据位在位数上应满足什么条件?据位在位数上应满足什么条件? 答:基本原理:答:基本原理:k个数据之外加上个数据之外加上r个校验位,从而形个校验位,从而形 成成k+r位的新的码字,使新的码字的码距均匀的拉位的新的码字,使新的码字的码距均匀的拉 大。把数据的每一个二进制位分配到几个不同的偶大。把数据的每一个二进制位分配到几个不同的偶 校验位的组合中,当一位出错,会引起相关的几个校验位的组合中,当一位出错,会引起相关的几个 校验位的值发生变化,从而可能发现出错,还能指校验位的值发生变化,从而可能发现出错

13、,还能指 出是哪一位错,进而进行纠错。出是哪一位错,进而进行纠错。 校验位和数据位应满足条件:校验位和数据位应满足条件:2 r - 1 k + r 在此条件下,不但能发现并改进一位错,并能同时发在此条件下,不但能发现并改进一位错,并能同时发 现二位错。现二位错。 例:在完成检错纠错功能的海明码的编码方案例:在完成检错纠错功能的海明码的编码方案 中,对中,对8位的数据位,要求它能检查出并改位的数据位,要求它能检查出并改 正正1位错误,也能发现位错误,也能发现2位错误,则要使用位错误,则要使用 位校验码,此时的最小码距位校验码,此时的最小码距 为为 。最小码距是指从一个合法码变。最小码距是指从一个

14、合法码变 为另一个合法码时为另一个合法码时 要改变几个二要改变几个二 进制位的状态,最小码距又可简称进制位的状态,最小码距又可简称 为为 。 答案:答案:5 4 最少最少 码距码距 四、定点小数和整数的原、反、补码表示四、定点小数和整数的原、反、补码表示 定点小数的表示方法定点小数的表示方法 设有设有m+1位,最高位为符号位(位,最高位为符号位(0表示正号,表示正号,1 表示负号)用表示负号)用m位表示小数的数值。小数点位表示小数的数值。小数点 默认在符号位与最高数值之间。默认在符号位与最高数值之间。 定点小数的表示方法定点小数的表示方法 设有设有m+1位,最高位为符号位(位,最高位为符号位(

15、0表示正号,表示正号,1 表示负号)用表示负号)用m位表示整数的数值。小数点位表示整数的数值。小数点 默认在最低数值之后。默认在最低数值之后。 (1)原码表示法)原码表示法 正数的符号位为正数的符号位为0,负数的符号位为,负数的符号位为1,数值部,数值部 分与原数的绝对值相同。分与原数的绝对值相同。 (2)反码表示法)反码表示法 正数的反码与原码相同,负数的反码等于原码正数的反码与原码相同,负数的反码等于原码 数值部分按位求反(符号位不变)。数值部分按位求反(符号位不变)。 (3)补码表示法)补码表示法 正数的补码与原码相同,负数的补码等于原码正数的补码与原码相同,负数的补码等于原码 数值部分

16、按位求反,末位加数值部分按位求反,末位加1(符号位不变)(符号位不变) 9将十进制数将十进制数 +107/128 和和52化成二进制数,化成二进制数, 再写出各自的原码、反码、补码表示(符号再写出各自的原码、反码、补码表示(符号 位和数值位共位和数值位共8位)。位)。 答案:答案: (+107/128)10 = (0.1101011)2 , ( 52)10 = (110100)2 (+107/128)10 ( 52)10 原码表示原码表示 01101011 10110100 反码表示反码表示 01101011 11001011 补码表示补码表示 01101011 11001100 10. x

17、= -0.1001, x原 原 = ,x补 补 = , x反 反 = y = 0.0101, y原 原 = ,y补补 = , y反 反 = 解: 原码原码补码补码反码反码 x110011011110110 y001010010100101 十进制数的编码十进制数的编码 用基用基2码对每个十进制数进行编码码对每个十进制数进行编码 (1)十进制有权码)十进制有权码指一个十进制数位的指一个十进制数位的4 位基位基2码的每一位有确定的权码的每一位有确定的权 例:例:8421码(码(bcd码,二码,二 十进制码)十进制码) (2)十进制无权码)十进制无权码指表示一个十进制数指表示一个十进制数 位的位的4

18、 位基位基2码没有确定的位权。码没有确定的位权。 例:余例:余3码码 8判断下面的二元码的编码是有权码还是无权码,判断下面的二元码的编码是有权码还是无权码, 写出判断的推导过程。写出判断的推导过程。 十进制数十进制数 二元码的编码二元码的编码 0 0 0000 1 1 0111 2 2 0110 3 3 0101 4 4 0100 5 5 1011 6 6 1010 7 7 1001 8 8 1000 9 9 1111 答:(答:(1)推导过程:)推导过程: 判断是有权码还是无权码:判断是有权码还是无权码: 设设4位二元码每位分别为位二元码每位分别为a、b、c、d,且假,且假 定其为有权码,则

19、从数值定其为有权码,则从数值4的编码的编码0100可求可求 得得b的位权为的位权为4;从数值;从数值8的编码可求得的编码可求得a是位是位 权位权位8;再从数值;再从数值7的编码的编码1001可求得可求得d的的 位权为位权为1;从数值;从数值6的编码的编码1010可求得可求得c的的 位权为位权为2。 再用再用abcd的位权分别为的位权分别为8、4、2、1来验来验 证数值证数值0、1、2、3、5、9的编码值,结果都的编码值,结果都 正确。正确。 (2)判断是有权码还是无权码:)判断是有权码还是无权码: 结论:该编码系统是有权码。结论:该编码系统是有权码。 五、补码加、减运算五、补码加、减运算 x+

20、y补 补 = x补补 + y补补 x - y补 补 = x补补 + -y补补 其中其中 -y补等于 补等于y补补连同符号位求反加 连同符号位求反加 1 。 溢出的判断溢出的判断(采用采用双符号位法双符号位法,即变形补码法即变形补码法): 两数相加,若结果符号为两数相加,若结果符号为00或或11,则无溢出则无溢出;若若 结果的符号位为结果的符号位为01,则为上溢出;,则为上溢出; 若结果符若结果符 号为号为10,则为下溢出。,则为下溢出。 12写出下面写出下面2组数的原码、反码、组数的原码、反码、 补码表示,并用补码计算每组数的补码表示,并用补码计算每组数的 和、差。双符号位的作用是什么?和、差

21、。双符号位的作用是什么? 它只出现在什么电路之处?它只出现在什么电路之处? (1)x = 0.1101 , y = 0.0111 (2)x = 10111101 , y = 00101011 (1)x = 0.1101 , y = 0.0111 解:解:x原 原=00 1101, , x补 补=00 1101, , x反 反=00 1101; ; y原 原=11 0111, ,y反 反=11 1000, , y补 补=11 1001, ,-y补 补=00 0111; ; 0 0 1 1 0 1 1 1 1 0 0 1+) 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1+

22、) 0 1 0 1 0 0 x+y补 补= x补补+ y补补=00 1101+11 1001=00 0110 符号位为符号位为00,结果正确,结果正确 x-y补 补= x补补+ -y补补=00 1101+00 0111=01 0100 符号位为符号位为01,结果上溢,结果上溢 (2)x = 10111101 ,y = 00101011 x原 原=00 10111101, , x补 补=00 10111101, , x反 反=00 10111101; ; y原 原=11 00101011, ,y反 反=11 11010100, , y补 补=11 11010101, ,-y补 补=00 0010

23、1011; ; 0 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1+) 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1+) 0 0 1 1 1 0 1 0 0 0 x+y补 补= x补补+ y补补=00 10111101+11 00101011=00 10010010 符号位为符号位为00,结果正确,结果正确 x-y补 补= x补补+ -y补补=00 10111101+00 00101011=00 11101000 符号位为符号位为00,结果正确。,结果正确。 3、浮点数的表示方法、浮点数的表示

24、方法 浮点数浮点数小数点在数据中的位置可以左右浮动小数点在数据中的位置可以左右浮动 n=m*re m尾数(用定点小数表示)尾数(用定点小数表示) r阶码的基数(二进制阶码的基数(二进制r为为2,不表示出来),不表示出来) e阶的阶码阶的阶码 m决定精度,决定精度,e决定表示范围。决定表示范围。 表示格式表示格式 1位位 m位位 n位位 例:例: 1 0101 1011011 表示表示 -0.101101125 ms e m 规格化浮点数:规格化浮点数: 尾数不为尾数不为0时,尾数的绝对值应大于或等于时,尾数的绝对值应大于或等于0.5 (或尾数的最高位必须为(或尾数的最高位必须为1) 浮点数的规

25、格化处理:浮点数的规格化处理: 化浮点数为规格化浮点数的化浮点数为规格化浮点数的 过程。过程。 例:例:1 0101 01011011 表示表示 - 0.0101101125 规格化以后为规格化以后为 1 0100 10110110 表示表示 0.1011011024 浮点数的隐藏位技术浮点数的隐藏位技术 浮点数的最高位必为浮点数的最高位必为1,写入存储器时可以省去(隐,写入存储器时可以省去(隐 藏起来)。这样可以提高藏起来)。这样可以提高1位二进制尾数的表示精度。从位二进制尾数的表示精度。从 存储器取回浮点数到运算器执行运算时,再恢复隐藏位存储器取回浮点数到运算器执行运算时,再恢复隐藏位 的

26、值。的值。 阶码用移码表示的浮点数:阶码用移码表示的浮点数: 移码的定义:移码的定义: x补 补 = 2 n +x - 2 n x 2 n 由由x补 补得出移码的方法:变 得出移码的方法:变x补 补的符号位 的符号位 为其反码。为其反码。 例:例: 若若x = +1011, x补 补 = 01011, ,x移 移 = 11011 若若x= - 1011, x补 补 = 10101, ,x移 移 = 00101 移码的性质:移码的性质: 最高位为符号位,最高位为符号位,1表示正号,表示正号,0代表负号;移码代表负号;移码 只用于表示浮点数的阶码,只用于整数;对移码只执只用于表示浮点数的阶码,只用

27、于整数;对移码只执 行加减运算;行加减运算; 0的移码有唯一的编码:的移码有唯一的编码: +0移 移 = - 0移移 = 100000; ; 最小的移码为:最小的移码为:00000(即(即-2 n ) 当浮点数的阶码小于当浮点数的阶码小于-2 n 时,不管尾数值大小如时,不管尾数值大小如 何,都为浮点数下溢,认为其值为何,都为浮点数下溢,认为其值为0(称为机器零);(称为机器零); 此时该浮点数的所有位(包括阶码位和尾数)都清为此时该浮点数的所有位(包括阶码位和尾数)都清为 0值(值(ieee标准)。这样有利于简化机器中的判标准)。这样有利于简化机器中的判0线线 路。路。 20回答如下问题回答

28、如下问题 : (1)浮点数阶码选用移码表示有何优点?)浮点数阶码选用移码表示有何优点? (2)浮点数表示中的隐藏位技术的作用是什)浮点数表示中的隐藏位技术的作用是什 么?在什么时刻完成对隐藏位的处理?么?在什么时刻完成对隐藏位的处理? (3)浮点数表示中,当尾数选用补码表示时,)浮点数表示中,当尾数选用补码表示时, 如何表示十进制数的如何表示十进制数的0.5,才能满足规格化,才能满足规格化 的要求?的要求? 答:(答:(1)浮点数的阶码用移码表示有利于表)浮点数的阶码用移码表示有利于表 示和处理浮点数的机器零(或答有利于简化示和处理浮点数的机器零(或答有利于简化 机器中的判机器中的判0线路)。

29、线路)。 (2)浮点数表示中的隐藏位,是指可以)浮点数表示中的隐藏位,是指可以 把规格化浮点数的尾数最高位的值(原把规格化浮点数的尾数最高位的值(原 码时为码时为1,补码时与符号位相反)省去,补码时与符号位相反)省去, 以便提高一位二进制尾数的表示精度。以便提高一位二进制尾数的表示精度。 这一处理应出现在保存浮点数到寄存器这一处理应出现在保存浮点数到寄存器 之前(隐藏起来),或从存储器浮点数之前(隐藏起来),或从存储器浮点数 到运算器中(恢复过来)的时刻进行。到运算器中(恢复过来)的时刻进行。 (3)十进制数的)十进制数的0.5应表示为应表示为121 的形式的形式。 例:给出浮点数在计算机内的

30、表示格式。应该例:给出浮点数在计算机内的表示格式。应该 按什么原则来分配浮点数的位数和尾数的位按什么原则来分配浮点数的位数和尾数的位 数才比较合理?按数才比较合理?按ieee的标准,机器零的编的标准,机器零的编 码是什么?码是什么? 答答:(:(1)浮点数在计算机内地表示格式:)浮点数在计算机内地表示格式:1位位 尾数符号,后跟尾数符号,后跟m位阶码,再跟位阶码,再跟n位尾数数值。位尾数数值。 (2)其位数分配原则,既要保证足够大的表)其位数分配原则,既要保证足够大的表 示范围(由阶码位数决定),又要有足够的示范围(由阶码位数决定),又要有足够的 数据精度(由尾数位数决定)。数据精度(由尾数位

31、数决定)。 (3)按)按ieee的标准,机器零的编码是浮点数的标准,机器零的编码是浮点数 的所有位是全零。的所有位是全零。 浮点加减法的运算规则浮点加减法的运算规则 设设 x=mx*2ex , , y=my*2ey,实现 实现xy的运算。的运算。 步骤步骤: (1)对阶操作:)对阶操作: 求阶差,求阶差, 将阶码小的数的尾将阶码小的数的尾 数右移数右移e位,阶码加上位,阶码加上e。对原码,。对原码, 符号位不变,尾数高位补符号位不变,尾数高位补0。对补码,符号。对补码,符号 位参加移位并保持不变。位参加移位并保持不变。 保留移位丢失的若保留移位丢失的若 干位供以后舍入操作使用。干位供以后舍入操

32、作使用。 (2)实现尾数的加(减)运算)实现尾数的加(减)运算 (3)对结果进行规格化处理)对结果进行规格化处理 补码的规格化形式为:补码的规格化形式为:001 或或 110 规格化处理原则:规格化处理原则: 若结果的符号位不同,则尾数结果溢出,若结果的符号位不同,则尾数结果溢出, 应使尾数右移一位,阶码加应使尾数右移一位,阶码加1右规右规 尾数结果不溢出,但最高数值位与符号同值,尾数结果不溢出,但最高数值位与符号同值, 则不满足规格化原则,应使尾数左移则不满足规格化原则,应使尾数左移1一位,价码一位,价码 减减1,直至最高数值位与符号位不同。,直至最高数值位与符号位不同。 (4)舍入操作)舍

33、入操作 常用办法,常用办法,0舍舍1入入 (5)判断结果的正确性)判断结果的正确性检查阶码是否溢检查阶码是否溢 出出 若阶码正常,运算正常结束若阶码正常,运算正常结束 若阶码下溢,置机器若阶码下溢,置机器0 若阶码上溢,置溢出标志若阶码上溢,置溢出标志 19设设 a= 0.1011012-3, b= 0.1010012-2, 首先将首先将a、b表示为规格化的浮点数,要求阶表示为规格化的浮点数,要求阶 码用码用4位(含阶码符号)移码表示,尾数用位(含阶码符号)移码表示,尾数用8 位(含浮点数的符号)原码表示;再写出位(含浮点数的符号)原码表示;再写出 a+b的计算步骤和每一步的运算结果。的计算步

34、骤和每一步的运算结果。 答案:答案: 0.1011012-3的浮点数的格式:的浮点数的格式: 1 0101 1011010 (阶码的补码为(阶码的补码为1101) 0.1010012-2的浮点数的格式:的浮点数的格式: 1 0110 1010010 (阶码的补码为(阶码的补码为1110) 计算计算a+b: (1)求阶差求阶差:e补 补=a阶码 阶码补 补b阶码 阶码补 补= a阶码阶码补 补+-b阶码 阶码补 补=1101+0010=1111, , e的真值为的真值为1,即,即a的阶码比的阶码比b的阶码小的阶码小1。 (2)对阶对阶: a变为变为 1 0110 01011010 0 (3)尾数

35、相加尾数相加 用双符号位补码相加用双符号位补码相加 11 1010011 0 00 1010010 +) 00 0100101 0 (4) 规格化:规格化: 左规,尾数为左规,尾数为 0 1001010 ,阶码为,阶码为0101 (5) 无舍入操作,亦不溢出,无舍入操作,亦不溢出, 故最的终浮点数格式的结果为:故最的终浮点数格式的结果为: 0 0101 1001010, 即即 +0.1001010*2-3。 七、掌握原码一位乘法的算法以及具体运算七、掌握原码一位乘法的算法以及具体运算 原码两数相乘,乘积符号为两数符号的异或值,原码两数相乘,乘积符号为两数符号的异或值, 数值为两数绝对值之积。数

36、值为两数绝对值之积。 原码一位乘法步骤:原码一位乘法步骤: 设置部分积寄存器(初值为设置部分积寄存器(初值为0)和乘数寄)和乘数寄 存器存器 将同时求各相加数之和改为将部分积(起始将同时求各相加数之和改为将部分积(起始 时部分积为时部分积为0)逐次右移与累加;)逐次右移与累加; 用乘数寄存器低位的值(用乘数寄存器低位的值(1,0)来判断与)来判断与 部分积相加的数是被乘数还是部分积相加的数是被乘数还是0; 乘数寄存器逐次右移(原来的乘数在右移的乘数寄存器逐次右移(原来的乘数在右移的 过程中丢失),部分积寄存器最低位逐次右过程中丢失),部分积寄存器最低位逐次右 移至乘数寄存器的高位,完成运算后部

37、分积移至乘数寄存器的高位,完成运算后部分积 寄存器存放乘积高位,乘数寄存器存放乘积寄存器存放乘积高位,乘数寄存器存放乘积 低位。低位。 将乘数与被乘数的符号异或的积的符号。将乘数与被乘数的符号异或的积的符号。 例:例:x=0.1101 y=0.1011, 求求x*y 高位部分积高位部分积 低位部分积低位部分积/乘数乘数 说明说明 0 0 0 0 0 0 1 0 1 1 起始情况起始情况 +) 0 0 1 1 0 1 乘数最低位为乘数最低位为1,加乘数,加乘数 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1(丢失)(丢失) 右移部分积和乘数右移部分积和乘数 +) 0 0 1

38、1 0 1 乘数最低位为乘数最低位为1,加乘数,加乘数 0 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1(丢失)(丢失) 右移部分积和乘数右移部分积和乘数 +) 0 0 0 0 0 0 乘数最低位为乘数最低位为0,加,加0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 0(丢失)(丢失) 右移部分积和乘数右移部分积和乘数 +) 0 0 1 1 0 1 乘数最低位为乘数最低位为1,加乘数,加乘数 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 1 1(丢失)(丢失) 右移部分积和乘数右移部分积和乘数 结果符号位为正,结果符号位为正,x*y=0.10

39、001111 八、掌握补码一位除法的实现算法八、掌握补码一位除法的实现算法 运算规则:运算规则: (1)如果被除数与除数同号,则)如果被除数与除数同号,则y(用加(用加y补 补实现), 实现), 若被除数与除数异号,则若被除数与除数异号,则+y(用加(用加y补 补实现); 实现); (2)若余数与除数同号,商)若余数与除数同号,商1,左移一位,再减,左移一位,再减y (用加用加y补 补 实现)求商实现)求商; 若余数与除数异号,商若余数与除数异号,商0,左移一位,再加,左移一位,再加y (用加用加 y补 补实现)求商 实现)求商; (3)商的符号,第一次求商时不溢出,则为正确的符号位;)商的符

40、号,第一次求商时不溢出,则为正确的符号位; (4)商的修正:)商的修正: 精度要求不高时,商最低位恒置精度要求不高时,商最低位恒置1; 若精度要若精度要 求较高,则求商求较高,则求商 n+1 次,按得到的结果对商进行修正。次,按得到的结果对商进行修正。 (5)严格地说,此办法求得的商是反码。)严格地说,此办法求得的商是反码。 对正的商,即为补码对正的商,即为补码 表示;表示; 对负的商,应在最低位加对负的商,应在最低位加1。 14计算定点小数补码一位除时计算定点小数补码一位除时,是用被除数和除数的补是用被除数和除数的补 码表示直接计算商的码表示直接计算商的补码补码表示的结果。求得每位商的依表示

41、的结果。求得每位商的依 据,是比较被除数据,是比较被除数和中间步骤的差和中间步骤的差与除数的与除数的绝对值绝对值的的 大小,其规则是:(大小,其规则是:(1)开始时,当除数与被除数同号,)开始时,当除数与被除数同号, 则用则用减减运算求第一位商,当被除数与除数异号,用运算求第一位商,当被除数与除数异号,用加加运运 算求第一位商。(算求第一位商。(2)当计算的结果与除数)当计算的结果与除数同号同号时,该时,该 位商为位商为1,求下一位商时要用,求下一位商时要用减减运算完成;结果与除数运算完成;结果与除数 异号异号时,该位商为时,该位商为0,求下一位商时要用,求下一位商时要用加加法计算完成。法计算

42、完成。 (3)对运算的结果左移一位时写回开始时存放)对运算的结果左移一位时写回开始时存放被除数被除数 的累加器,对存放商的寄存器的内容也同时的累加器,对存放商的寄存器的内容也同时左移左移一位。一位。 接下来开始求下一位商。(接下来开始求下一位商。(4)用此方法计算,如果结)用此方法计算,如果结 果不溢出,商的符号和数值位是用相同的办法计算出的,果不溢出,商的符号和数值位是用相同的办法计算出的, 严格地说,此时求出的商是严格地说,此时求出的商是反反码表示的结果,对正的商,码表示的结果,对正的商, 也就是补码表示,对负数的商,应该再在最低位也就是补码表示,对负数的商,应该再在最低位加加1后后 才是

43、真正的补码商;为了简单,也可以不去区分商的符才是真正的补码商;为了简单,也可以不去区分商的符 号,商的最低位不再经过计算得到,面是恒置为号,商的最低位不再经过计算得到,面是恒置为1。 例:例:x补 补=1 0111 y补补=0 1101 y补补=1 0011 求 求x/y补 补 被除数被除数 商商 操作说明操作说明 1 1 0 1 1 1 0 0 0 0 0 开始情形开始情形 +)0 0 1 1 0 1 两数异号,两数异号,+y 0 0 0 1 0 0 0 0 0 0 1 余数与除数同号,商余数与除数同号,商1 0 0 1 0 0 0 0 0 0 1 0 余数、商左移一位余数、商左移一位 +)

44、1 1 0 0 1 1 余数与除数同号,余数与除数同号,y 1 1 1 0 1 1 0 0 0 1 0 余数与除数异号,商余数与除数异号,商0 1 1 0 1 1 0 0 0 1 0 0 余数、商左移一位余数、商左移一位 +)0 0 1 1 0 1 余数与除数异号,余数与除数异号,+y 0 0 0 0 1 1 0 0 1 0 1 余数与除数同号,商余数与除数同号,商1 0 0 0 1 1 0 0 1 0 1 0 余数、商左移一位余数、商左移一位 +)1 1 0 0 1 1 余数与除数同号,余数与除数同号,y 1 1 1 0 0 1 0 1 0 1 0 余数与除数异号,商余数与除数异号,商0 1

45、 1 0 0 1 0 1 0 1 0 0 余数、商左移一位余数、商左移一位 +)0 0 1 1 0 1 余数与除数异号,余数与除数异号,+y 1 1 1 1 1 1 1 0 1 0 0 余数与除数异号,商余数与除数异号,商0 因为商为负值,最低位加因为商为负值,最低位加1,得,得x/y补 补=10101,真值为 ,真值为0.1011 九、了解教学实验计算机运算器部分的结构框九、了解教学实验计算机运算器部分的结构框 图,掌握实际机器运算器部分各开关、显示图,掌握实际机器运算器部分各开关、显示 灯的作用。灯的作用。 alu进行算术运算与逻辑运算进行算术运算与逻辑运算 寄存器组寄存器组暂存数据与中间

46、结果暂存数据与中间结果 乘商寄存器乘商寄存器完成乘除指令运算完成乘除指令运算 多路选择器多路选择器实现各部件的相互连实现各部件的相互连 接和数据传送接和数据传送 输入输出逻辑电路输入输出逻辑电路 运算器运算器 am2901内部组成内部组成二选一二选一 b 16个个 a 通用寄存器通用寄存器 三选一三选一二选一二选一 三选一三选一 三选一三选一 a l u s r b锁存器锁存器a锁存器锁存器乘商寄存器乘商寄存器q cn /oe q3q0 ram0 ram3 f 输出输出y f3 f=0000 ovr cn+4 输入输入d a口地址口地址 b口地址口地址 组成组成 算逻运算部件算逻运算部件 16

47、 个个 累加器累加器 乘商寄存器乘商寄存器 q 功能功能 8种运算功能种运算功能 8种数据组合种数据组合 8种结果处理种结果处理 i5i3 i2i0 i8i6 am2901的控制与操作的控制与操作 控制信号控制信号 (1)i5、i4、i3实现运算功能选择实现运算功能选择 编编 码码 运算功能运算功能 i5 i4 i3 0 0 0 r+s 0 0 1 sr 0 1 0 rs 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 sr sr sr sr sr (2)i2 、i1 、i0选择选择alu两个操作数据的组合关系两个操作数据的组合关系 编编 码码 数数 据据 来来 源源 i2 i1

48、i0 r s 0 0 0 a q 0 0 1 a b 0 1 0 0 q 0 1 1 0 b 1 0 0 0 a 1 0 1 d a 1 1 0 d q 1 1 1 d 0 8 种结果处理种结果处理 i8i7i6 通用寄存器通用寄存器 q寄存器寄存器 y输出输出 000 qf f 001 f 010 bf a 011 bf f 100 bf/2 qf/2 f 101 bf/2 f 110 b2f q2f f 111 b2f f 21举例说明运算器中的举例说明运算器中的alu通常可以提供的至通常可以提供的至 少少5种运算功能?运算器中使用多累加器的好处种运算功能?运算器中使用多累加器的好处 是什

49、么?乘商寄存器的基本功能是什么是什么?乘商寄存器的基本功能是什么?(5分分) 答:运算器中的答:运算器中的alu通常至少可以提供算术加运通常至少可以提供算术加运 算、算术减运算、逻辑或运算、逻辑与运算、逻算、算术减运算、逻辑或运算、逻辑与运算、逻 辑异或运算辑异或运算5种功能。种功能。 乘商寄存器的功能是用硬件完成乘除指令运算。乘商寄存器的功能是用硬件完成乘除指令运算。 运算器采用多累加器可以简化指令的执行步骤。运算器采用多累加器可以简化指令的执行步骤。 16按你的理解,画出一个相对完整的定点运按你的理解,画出一个相对完整的定点运 算器的示意组成框图,包括入出数据和基本算器的示意组成框图,包括

50、入出数据和基本 的控制信号。的控制信号。 alu 通用通用 寄存器组寄存器组乘商寄存器乘商寄存器 多路选通门多路选通门多路选通门多路选通门 多路选通门多路选通门多路选通门多路选通门 结果输出结果输出 状态输出状态输出 数据输入数据输入 最低位进位输入最低位进位输入 cin q0 高位高位 am2901 y1512 d1512 over f=0 f15 cy cp ram15 q15 a口口 b口口 i86 i53 i20 vcc r am2901 y118y30 d118d74 d30 ram0 y74 4 片片am2901之间的连之间的连 接接 am2901 低位低位 am2901 3. 1

51、6位教学机运算器部件主体部分的设计与实现位教学机运算器部件主体部分的设计与实现 8 位运算器脱机实验位运算器脱机实验 y7y0 d7d0 ram7 q7 ram0 q0 cin cy f=0 over f15 运运 算算 器器 部部 件件 a30 b30 i86 (用用8个开关提供输入数据个开关提供输入数据) c z v s ssh sstsci i53 i20 a口口 b口口 sci sshi86 i53 i20 sst 通过通过24位微型开关位微型开关 提供控制信号提供控制信号 用四个指示灯显示状态用四个指示灯显示状态 (用用8个指示灯显示结果个指示灯显示结果) 17在做脱机运算器实验时,

52、送到运算器芯片在做脱机运算器实验时,送到运算器芯片 的控制信号是通过(的控制信号是通过( )提供的,外部送到)提供的,外部送到 运算芯片的数据信号是通过(运算芯片的数据信号是通过( )提供的,)提供的, 并通过(并通过( )查看运算器的运算结果(运算)查看运算器的运算结果(运算 的值和特征标志位状态)的值和特征标志位状态) a.计算机的控制器计算机的控制器 b.发光二极管指示灯亮灭发光二极管指示灯亮灭 状态状态 c.显示器屏幕上的内容显示器屏幕上的内容 d.手拨数据手拨数据 开关开关 e.运算器累加器中的内容运算器累加器中的内容 f.微型开微型开 关关 答案:答案:f d b 18以教学计算机

53、为例,说明应如何控制与操作运算器以教学计算机为例,说明应如何控制与操作运算器 完成指定的数据运算、传送功能,为什么必须在完成指定的数据运算、传送功能,为什么必须在 am2901之外解决向运算器提供最低位的进位信号,之外解决向运算器提供最低位的进位信号, 最低、最高位的移位输入信号,以及状态位的接收与最低、最高位的移位输入信号,以及状态位的接收与 记忆问题。记忆问题。 答:在教学计算机中答:在教学计算机中, 为控制运算器完成指定的数据运为控制运算器完成指定的数据运 算、传送功能,必须给出要用的数据组合,算、传送功能,必须给出要用的数据组合,alu要完要完 成的运算功能,和对运算结果的保存及送出办

54、法;成的运算功能,和对运算结果的保存及送出办法; 选择送到选择送到alu最低位的进位信号的状态,如何处理最高、最低位的进位信号的状态,如何处理最高、 最低位的移位信号的状态,是否保存运算结果的特征最低位的移位信号的状态,是否保存运算结果的特征 位信号等问题,都要依据指令执行的实际需求来处理,位信号等问题,都要依据指令执行的实际需求来处理, 不是运算器内部功能所能包含的,故只能到不是运算器内部功能所能包含的,故只能到am2901 芯片之外来解决。芯片之外来解决。 第第3章章 指令、指令系统和控制器部件指令、指令系统和控制器部件 一、掌握指令的基本格式及各部分的功能一、掌握指令的基本格式及各部分的

55、功能 指令格式指令格式 操作码:指明本条指令的操作功能。例如:算操作码:指明本条指令的操作功能。例如:算 术加运算,算术减运算,逻辑与运算,逻辑术加运算,算术减运算,逻辑与运算,逻辑 或运算,读内存,写内存,程序转移,子程或运算,读内存,写内存,程序转移,子程 序调用和返回。序调用和返回。 地址码:指明被操作的信息(指令数据)的地地址码:指明被操作的信息(指令数据)的地 址。包括:操作数的地址,运算结果的保存址。包括:操作数的地址,运算结果的保存 地址,地址, 程序的转移地址,子程序的入口地址程序的转移地址,子程序的入口地址 操作码操作码 地址码地址码 设计与评价指令系统应考虑的方面:设计与评

56、价指令系统应考虑的方面: (1)指令系统的完备性,常用指令齐全,编程方便;)指令系统的完备性,常用指令齐全,编程方便; (2)指令系统的高效性,指令占用内存空间少,运)指令系统的高效性,指令占用内存空间少,运 行速度快;行速度快; (3)指令系统的规整性,指令和数据使用规则统一)指令系统的规整性,指令和数据使用规则统一 简单,易学易记;简单,易学易记; (4)指令系统的兼容性,)指令系统的兼容性,同一系列低档计算机的程序能同一系列低档计算机的程序能 在高档机上直接运行。在高档机上直接运行。 3在设计指令系统时,通常应从哪几个方面在设计指令系统时,通常应从哪几个方面 入手:入手: 答:(答:(1

57、)指令系统的完备性,常用指令齐全,)指令系统的完备性,常用指令齐全, 编程方便;编程方便; (2)指令系统的高效性,程序占用内存空间)指令系统的高效性,程序占用内存空间 少,运行速度快。少,运行速度快。 (3)指令系统的规整性,指令和数据使用规)指令系统的规整性,指令和数据使用规 则统一简化,易学易记;则统一简化,易学易记; (4)指令系统的兼容性,同一系列的低档计)指令系统的兼容性,同一系列的低档计 算机的程序能放到新的高档机上直接运行。算机的程序能放到新的高档机上直接运行。 二、了解基本的寻址方式,掌握形式二、了解基本的寻址方式,掌握形式 地址和有效地址的概念地址和有效地址的概念 寻址方式

58、寻址方式是指如何在指令中表示一个操作是指如何在指令中表示一个操作 数的地址,如何用这种表示得到操作数数的地址,如何用这种表示得到操作数 或怎样计算出操作数的地址。或怎样计算出操作数的地址。 形成地址形成地址表示在指令中的操作数表示在指令中的操作数 地址;地址; 物理(有效)地址物理(有效)地址操作数在存储操作数在存储 器中的存储单元地址。器中的存储单元地址。 基本的寻址方式基本的寻址方式 (1)立即数寻址)立即数寻址 操作数直接给出在指令字中,即指令字中直接操作数直接给出在指令字中,即指令字中直接 给出的不是操作数地址,而是操作数本身。给出的不是操作数地址,而是操作数本身。 (2)直接寻址)直

59、接寻址 在指令的操作码地址字段直接给出操作数在在指令的操作码地址字段直接给出操作数在 存储器中的地址。存储器中的地址。 (3)寄存器寻址,形式地址为寄存器名(或)寄存器寻址,形式地址为寄存器名(或 编号),寄存器中的内容为操作数。编号),寄存器中的内容为操作数。 (4)寄存器间接寻址,形式地址为寄存器名)寄存器间接寻址,形式地址为寄存器名 (或编号),寄存器中的内容为操作数的地(或编号),寄存器中的内容为操作数的地 址,再读一次内存得到操作数。址,再读一次内存得到操作数。 (5)变址寻址,形式地址为变址寄存器名)变址寻址,形式地址为变址寄存器名 (或编号)和变址偏移值,把变址寄存器中(或编号)

60、和变址偏移值,把变址寄存器中 的内容与变址偏移值相加得到操作数的地址,的内容与变址偏移值相加得到操作数的地址, 再读一次内存得到操作数。再读一次内存得到操作数。 (6)相对寻址)相对寻址 形式地址为相对寻址偏移量,该数值与程形式地址为相对寻址偏移量,该数值与程 序计数器序计数器pc的内容相加,得到操作数的地址的内容相加,得到操作数的地址 转移指令的转移地址。转移指令的转移地址。 (7)基地址寻址)基地址寻址 把程序中所用的地址与一个特定的寄存器(称把程序中所用的地址与一个特定的寄存器(称 为基地址寄存器)的内容相加作为操作数的为基地址寄存器)的内容相加作为操作数的 地址或指令的地址。地址或指令

温馨提示

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

评论

0/150

提交评论