· Web view系统支持随机取题自动组卷、手工选题组卷、Excel导入组卷、复制试卷等多种组卷模式。支持生成Word试卷。试卷题目和分数都可调整和修改。只需30秒,轻松完成组卷。
计算机组成原理题
-
Upload
huaijin-chen -
Category
Education
-
view
1.530 -
download
3
Transcript of 计算机组成原理题
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
计算机组成原理
数 字 电 路
计算机组成原理的基础知识是:数字电路。
通过数字电路的门电路、触发器、移位寄存器、译码器、时序电路等这
些部件,来构成计算机的某些部件。
两种最基本的门电路 :与非门 ,或非门:两路输入都高,输出才为低。
模拟电路处理的是模拟信号;数字电路处理的是数字信号。
逻辑运算:
异或:输入二变量相异为 1,相同为 0。
同或:输入二变量相异为 0,相同为 1。
异或电路的特殊功能:奇偶检测电路
“奇数个 1” “相异或结果为 1” “。偶数个 1” “相异或结果为 0”。
布尔代数运算的基本依据是以下的基本公式和规则:
变换律 A+B=B+A A·B=B·A
结合律 A+(B+C)=(A+B)+C A·(B·C)=(A·B)·C
分配律 A+B·C=(A+B)·(A+C) A·(B+C)=A·B+A·C
吸收律 A+A·B=A A·(A+B)=A
第二吸收律 A+A·B=A+B A·(A+B)=A·B
反演律 A+B=A·B A·B=A+B
包含律 A·B+A·C+B·C=A·B+A·C
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
1
1
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
(A+B)·(A+C)·(B+C)=(A+B)·(A+C)
重叠律 A+A=A A·A=A
互补律 A+A=1 A·A=0
0-1律 0+A=A 1·A=A
0·A=0 1+A=1
任何一个函数都可展开为若干个最小项之和 ;卡诺图可以表示任意一
个逻辑函数。
计算机的逻辑部件
计算机的逻辑部件分为以下在三种:
1、组合逻辑电路(没有记忆功能)
2、时序逻辑电路(具有记忆功能)
3、阵列逻辑电路(集成电路)
组合逻辑电路的输出状态只取决于当前输入信号的状态,与过去输
入信号的状态无关,即没有记忆功能。
时序逻辑电路的输出状态不仅和当时输入信号的状态有关,还与以
前输入信号的状态有关,即有记忆功能。
加法器是计算机中最常用、最基本的组合逻辑电路。主要完成两个补
码数据的相加运算。
时序逻辑电路(具有记忆功能)
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
2
2
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
触发器是时序电路内存储数据的记忆元件,构成时序电路基础。
寄存器:用于暂时存放指令和数据;
计数器:是计算机和数字仪表中常用电路。
计 算 机 运 算 方 法
一.概念:
1)机器数的表示方法:原码:一个符号 + 数据的绝对值。
反码:正数:数值部分与真值形式相同;负数:真值的数值部分按
位取反。
补码:正数补码与原码相同。
负数补码的数值部分等于二进制位按位取反,末位加 1。
移码:
1.最高位符号位,1 表示正号,0 表示负号。如果是双符号位,最高
位保持 0:01 正数,00 负数。
溢出判断:最高位为 1,10 上溢,11 下溢。
2.在计算机中,移码只执行加减法运算,且运算结果+2n 修正;
即对结果的符号位取反,得到[X]移。
2)字符的表示方法:
现代计算机不仅仅是处理数值领域的问题,还有大量非数值数据,
比如:文字、字母及专用符号来表示文字语言,逻辑语言等信息。国
际上广泛采用美国国家信息交换标准代码 -- ASCII(128 字符)
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
3
3
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
字符串是指连续的一串字符,它们占用主存中连续个存储单元 .
每个字节存放一个字符( 字符以 ASCII 码表示 )
3)汉字的表示方法:(了解)
汉字编码方法:
数字编码(区位码,国际区位码)
拼音码 (以汉语拼音基础的输入方法)
字形码 (五笔字形输入法)
汉字的存储有两方面的含义:字形码的存储和汉字内码存储。
字形码是一汉字点阵表示的汉字字形代码,它是汉字的输出形式存
储。
4)校验码
数据在计算机中存取、传送,要求绝对正确,如果某一位出错,就不
能得到正确的结果,但实际上由于某种随机干扰容易发生错误。
为了发现和校正错误,计算机广泛采用容错技术,现在的检验办法
大多采用“冗余校验”:原始数据 + 校验位(冗余部分)
将原始数据和校验位一起按某种规律编码,存入存储器或向外发送。
当从存储器读出或者接收代码时,按同一编码规律进行译码或计算。
然后,取出原始数据,判断传输过程中是否有错,哪一位出错了。
介绍三种常用的校验码:
1)奇偶检错码:用于并行数据传送中,发现一位数据出错,没有纠
错能力。发送端产生一个检验位,使“1”的个数是奇数(或偶数)并
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
4
4
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
一起发送。接收端对读出或接收到的数据要进行奇偶性判别。若奇偶
性规则被破坏,则出错,否则为正确。
2)海明检错与纠错码:用于并行数据传送中,发现一位或两位数据
出错,并纠错。为 k 个数据位设立 r 个检验位。使 k+r 位组成的码字
同时具有两个特性:1)能发现 k+r 位中任何一位出错,并改正 ;
2)能发现 k+r 位中任何两位同时出错,无法纠正。海明码字 = 数
据 + 校验位 = HmHm-1…H2H1 (m=校验位 r+数据位 k)每个校验
位 Pi 在海明码中被分在位号 2i-1 的位置, 其余各位为数据位,按从
低向高逐位依次排列。
3)循环冗余码:用于串行数据传送中,在网络传送数据时多用。(了
解)
二 .定点加减运算
直接采用原码运算是不行的!
处理负数运算太复杂!
“补”的启示:减法操作可以用加法操作来代替。也就是负数用补码
表示时,可以把减法转化为加法。在计算机中实现起来就比较方便。
1)补码加减运算公式
[x +y ]补= [x]补 + [y]补(mod M)
[x -y ]补= [x]补 + [-y]补(mod M)([ -Y ]补等于[ Y ]同符号位在内求反
加 1.)
在运算过程中 , 寄存器的位数一旦确定下来,就有了容量的限制,
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
5
5
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
数值表示的范围就固定了。如果运算过程中数值位超出了机器允许表
示的范围,跑到符号位上从而改变了符号的性质,就产生溢出。计算
机只能判断溢出,不能处理溢出!
现在几乎所有的计算机都是采用补码运算!
所以,我们研究运算方法和运算器时,只研究补码运算!
2)定点乘法运算
原码一位乘法
两个原码表示的数相乘,它的运算规则是:
乘积的符号位 = 两数的符号相异或
乘积 = 两数的绝对值相乘
为了在机器中实现乘法运算,运算器必须设置三个寄存器 A、B、C。
寄存器 A 存放部分积(初始为 0,最后存放乘积的高位部分)
寄存器 B 存放被乘数 X(运算过程中不变)
寄存器 C 存放乘数 Y(判断后不再保留,最后存放乘积的低位部分)
补码一位乘法
比较乘数相邻两位 Yn+1 和 Yn,于是补码一位乘法法则为:
判断位
Yi Yi+1 操作内容
00 部分积 + 0, 右移 1 位
11 部分积 + 0, 右移 1 位
10 部分积 +[-X]补, 右移 1 位
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
6
6
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
01 部分积 +[X]补, 右移 1 位
1)被乘数 X 与 部分积 P 取双符号位,并参加运算。
2)乘数 Y 末增设 Yn+1=0 ;设部分积初始=0。
3)根据 Yn,Yn+1 判断位,进行 n+1步加法,最后一步不移位。
补码两位乘法法则为:Yn-1 Yn Yn+1 组 合
值 部分积
0 0 0 0 2-2 {部分积 + 0}0 0 1 1 2-2 {部分积 +[X]补}0 1 0 1 2-2 {部分积 +[X]补}0 1 1 2 2-2 {部分积 + 2[X]补}1 0 0 -2 2-2 {部分积 + 2[-X]补}1 0 1 -1 2-2 {部分积 +[-X]补}1 1 0 -1 2-2 {部分积 +[-X]补}1 1 1 0 2-2 {部分积 + 0}
1)初始设置:设部分积为 0,Yn+1=0
2)符号参加运算:设置部分积与被乘数三个符号位。
乘数 Y 数值部分为偶数设两个符号位;为奇数设一个符号位;
3)运算步骤:根据 Yn-1, Yn, Y n+1 判断操作;
4)最后一步:乘数 Y 数值部分为偶数最后一步不移位;为奇数最后
移一位。
定点除法运算
原码一位除法(不常用的方法略去不讲)
加减交替法的规则如下:
余数为正,商 1,左移一位,减去除数;
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
7
7
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
余数为负,商 0,左移一位,加上除数。
但若最后一次上商为 0,则仍需恢复余数。
补码一位除法
一开始就将被除数 X 当作初始余数 R0,R0 与 Y 同号商 1,异号商
0,得的假商最后求反进行校正
商的校正:
商符取反,商末位恒置 1。
浮点运算
浮点加减运算
1) “对大阶”操作
对大阶:使两数的阶码值相等。
求阶码差 Δj,Δj≠0 时,小阶码的尾数右移 Δj 位:阶码 +Δj,
2) 尾数的加 /减运算
两尾数进行加 /减运算。
3) 规格化操作
尾数符号 01 或 10:尾数溢出。右规:尾数右移 1 位,阶码+1。 尾
数符号 00 或 11:尾数不溢出。但如最高数值位与符号位相同: 00 0
或 11 1
左规:尾数连续左移直到最高数值位与符号位不同为止
(00 1,11 0)同时从阶码中减去移位的位数。
4) 舍入(处理多余位)
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
8
8
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
在执行右规或对阶时,尾数低位上的数值会移掉,使数值的精度
受到影响,常用“0”舍“1”入法。 (三种舍去法:恒舍去,末位恒
置 1,0舍 1 入; 取其精度受影响最小的方法)
5) 检查阶码是否溢出
在规格化和舍入时都可能发生溢出,
若阶码符号 10 为下溢,置运算结果为零,
若阶码符号 01 为上溢,置溢出标志。
例: 已知 X = 0.11011011 * 2010, Y = - 0.10101100 * 2100 求 X + Y
解: ① 对大阶:[ jX]补 = 00 0010 [ jY]补 = 00 0100 [- jY]补
= 11 1100
求阶差 Δj=[jX]补+[- jY]补 = 00 0010 + 11 1100 = 11 1110 (-2)
X 的阶码小:X阶码 + 2 ( [jX]补 = [ jY]补 = 00 0100 )X
的尾数右移 2 位,前面补符号位
[SX]补= 00 0011011011(此时保留右移数据,不丢不舍)
② 尾数相加[SX]补 =[SX]补 +[SY]补 = 00 0011011011
+1101010100
= 11 10001010 11
③ 规格化操作:左规: 数值位左移 1 位= 11 000101011
阶码 - 1([jX]补= 00 0011)
④ 舍入:舍去的附加位最高位为 1,结果最低位+1:
[Sx]补=11 00010110 S= - 0.11101010
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
9
9
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
⑤ 判溢出 阶码符号为 00,不溢出。 最终结果为: X+Y = -
0.11101010 * 2011
浮点乘除运算
1)阶码加减: 乘法:jX + jY ,除法: jX - jY
2)尾数乘除: 乘法: SX * SY ,除法: SX / SY
3)规格化处理;
4)舍入操作: 有可能带来又一次规格化;
5)判溢出:检查阶码上下溢出。
例 . 求 X*Y,
X = 0.0110011 * 2 -5
Y = - 0.1110010 * 2 3
[jX]补= 1 011 [jX]移= 0 011 [jY]补= 0 011 [jY]移= 1 011
[SX]补= 0.0110011 [-SX]补=1.1001101 [SY]补=1.0001110
[X]浮 = 0 011,0.0110011
[Y]浮 = 1 011,1.0001110
1)阶码相加: [ jX + jY ]移 = [ jX ]移 + [ jY ]补
= 0 011 + 0 011 = 0 110
2)尾数相乘: [SX]补 * [SY]补= 0.0110011 * 1.0001110
= 1.10100101001010
[XY]浮 = 0 110, 1.10100101001010
3)规格化处理:
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
10
10
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
符号位与最高数值位相同,需要规格化(尾数左移一位,阶码-1)
[XY]浮 = 0.101, 1.01001010010100
4)舍入操作:
尾数设 8 位,0舍 1 入,则 [XY]浮 = 0 101, 1.0100101
5)判溢出:
阶码两符号位相同,不溢出。
典 型 例 题
1、原码加减法是指( )。
A. 操作数用原码表示,连同符号位直接相加减
B. 操作数取绝对值,直接相加减,符号位单独处理
C. 操作数用原码表示,尾数直接相加减,符号位单独处理
D. 操作数用原码表示,根据两数符号决定实际操作,符号位单独处理
【分析】用原码进行加减法运算时,如果两数同号则数值相加;如果是异号要进
行减法。反之,用原码做减法时,要比较两个操作数的绝对值大小,然后用大数
减去小数,最后给结果选择恰当的符号。
【答案】 D
2、如果 X 是负数,由[X]补
求[-X]补是将( )。
A. [X]补各值保持不变
B. [X]补符号位变反,其他各位不变
C. [X]补除符号为外,各位变反,末位加 1
D. [X]补连同符号位一起各位变反,末位加 1
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
11
11
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
【分析】已知[X]补求[-X]的方法是:将[X]补同符号位一起求反,末位加“1”。
【答案】D
3、若用双符号位,则发生正溢的特征是:双符号位为( )。
A. 00 B. 01 C. 10 D. 11 【分析】双符号位的几种取值及溢出种类如下:
CA
CB=00 结果为正数,无溢出
CA
CB=01 结果上溢(正溢)
CA
CB=10 结果下溢(负溢)
CA
CB=11 结果为负数,无溢出
【答案】B
4、若阶码为 3 位,用补码表示;尾数 7 位,用原码表示,其中一位为符号位;
以 2 为为底。则十进制数 27/64 的浮点规格化数是( )。
A. 0101011011 B. 0100110110 C. 0111110110 D. 0001011011
【分析】27/64 不必转化为小数再用乘 2 取反的方法转换成二进制小数,直接将
00011011(即 27)左移 6 位后即得到所需的二进制小数。
【答案】B
5、在补码一位乘法中,A 补是累加和,X 补是被乘数,Y 补是乘数,当判断位
YnYn+1
=01 时,执行的运算是( )。
A. 1/2(A 补+Y 补) B. 1/2(A 补-Y 补)C. 1/2(A 补+X 补) D. 1/2(A 补-Y 补)
【分析】判断位的取值及对应的操作如下:
YnYn+1=00, 部分积、乘数右移一位
YnYn+1=01, 部分积加[X]补后右移一位
YnYn+1=10, 部分积加[-X]补后右移一位
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
12
12
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
YnYn+1=11, 部分积、乘数右移一位
【答案】C
6、下列运算步骤中,浮点乘法不需要的步骤是( )。
A.对阶 B.阶码相加 C.尾数相乘 D.结果规格化
【分析】浮点数加、减法才需要对阶操作。
【答案】A
7、(1) X=0.1001 Y=0.0101,求 X+Y=?
(2) X=+0.1011 Y=-0.0101,求 X+Y=?
【分析】利用补码的加法公式进行运算。
补码加法公式:[X+Y]补=[X]补+[Y]补
【答案】(1)[X]补=01001,[Y]补=00101
[X+Y]补=[X]补+[Y]补=01110
所以 X+Y=+0.1110
(2)[X]补=01011,[Y]补=11011
[X+Y]补=[X]补+[Y]补=00110
所以 X+Y=+0.0110
8、(1)X=+0.1101, Y=+0.0110,求 X-Y=?
(2)X=-0.1101, Y=-0.0110,求 X-Y=?
【分析】利用补码的减法公式进行运算。
补码减法公式:[X-Y]补=[X+(-Y)补]=[X]补+[-Y]补
【答案】(1)[X]补=01101,[Y]补=00110,[-Y]补=11010
[X-Y]补=[X]补+[-Y]补=00111
所以 X-Y=+0.0111
(2)[X]补=10011,[Y]补=11010,[-Y]补=00110
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
13
13
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
所以 X-Y=-0.0111
9 、 已 知 X=-0.01111 , Y=+0.11001 , 求 [X] 补 , [-X] 补 , [Y] 补 , [-Y] 补 ,
X+Y=?,X+Y=?
【分析】按照补码加减法公式分别求出 X+Y 和 X-Y,再根据结果的双符号位确定
是否发生了溢出。
【答案】[X]原=1.01111 [X]补=1.10001 [-X]补=0.01111
[Y]原=0.11001 [Y]补=0.11001 [-Y]补=1.00111
用补码表示 X 和 Y 的补码,并进行加、减运算,如下所示:
[X]补 11.10001 + [Y]补 00.11001
[X+Y]补 00.01010
所以 X+Y=+0.01010
符号位相同,没有发生溢出。 [X]补 11.10001 + [-Y]补 11.00111
[X-Y]补 10.11000因为符号位相异,所以结果发生溢出。
10、已知 X 和 Y,用变形补码计算 X-Y,同时指出运算结果是否溢出。
(1) X=+0.11011 Y=-0.11111 (2) X=+0.10111 Y=+0.11011
【分析】将 X 和 Y 分别以补码表示,并分别相减,根据最后的符号位判断溢出。
【答案】(1) [X]补 = 00.11011
+ [-Y]补 = 00.11111 [X-Y]补 = 01.11010 两位符号位不同,产生溢出。(2) [X]补 = 00.10111 + [-Y]补 =11.00101 [X-Y]补 = 11.111003 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
14
14
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
结果的符号位相同,无溢出,X-Y = -0.00100
11、试用原码一位乘法计算 Z=X×Y, X=0.1101, Y=-0.0111,列出计算过程。
【分析】原码一位乘法的基本规则是:两操作数绝对值相乘,符号位则按照“同
号相乘为正,异号相乘为负”的原则处理。
【答案】(1) 计算符号位 Zf = X f Y f = 0 1 = 1.
(2) 两数绝对值的原码为: [ X ]原=0.1101, [ Y ]原=0.0111 。
高位部分积 乘数 说明
0.0 0 0 0 0 1 1 1 起始情况
+ 0.1 1 0 1 乘数最低位为 1,加 X
0.1 1 0 1
0.0 1 1 0 1 0 1 0 1(丢失) 右移部分积和乘数
+ 0.1 1 0 1 乘数最低位为 1,加 X
1.0 0 1 1
0.1 0 0 1 1 1 0 1 1(丢失) 右移部分积的乘数
+ 0.1 1 0 1 乘数最低位为 1,加 X
1.0 1 1 0
0.1 0 1 1 0 1 1 0 1(丢失) 右移部分积和乘数
+ 0.0 0 0 0 乘数最低位为 0,加 0
0.1 0 1 1
0.0 1 0 1 1 0 1 1 0(丢失) 右移部分积和乘数
[ X ×Y ]原=0.01011011,X×Y=-0.01011011
12、已知 x=-0.1101, y=0.1011。试用补码一位乘法求 x×y=?
【分析】根据 Booth算法进行补码一位乘法的计算,按照判断位的取值决定下
一步如何操作。
【答案】被乘数用双符号位法表示[X]补=11.0011,[-X]=00.1101;乘数只需要
一个符号位,[Y]补=0.1011。
部分积 乘数 附加位 说明
0 0.0 0 0 0 0.1 0 1 1 0 Y4Y
5=10,+[-X]补
+[-X]补 0 0.1 1 0 1
0 0.1 1 0 1
→ 0 0.0 1 1 0 1 0 1 0 1 1 部分积右
移一位
+0 0 0.0 0 0 0 Y4Y
5=11,
+03 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
15
15
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
0 0.0 1 1 0
→ 0 0.0 0 1 1 0 1 0 1 0 1 部分积右
移一位
+[X]补 1 1.0 0 1 1 Y4Y
5=01,+
[X]补
1 1.0 1 1 0
→ 1 1.1 0 1 1 0 0 1 0 1 0 部分积右移一位
+[-X] 补 0 0.1 1 0 1
Y4Y
5=10,+[-X]补
0 0.1 0 0 0
→ 0 0.0 1 0 0 0 0 0 1 0 1 部分积右
移一位
+[X]补 1 1.0 0 1 1 Y4Y
5=01,+[X]补
1 1.0 1 1 1
所以[X×Y]补=1.01110001, X×Y=-0.10001111。
13、已知 X=0.1101,Y=-0.0111 用原码加减交替法计算 Z= Y÷X。
【分析】根据原码加减交替法的运算规则进行运算。
【答案】(1)计算符号位:Zf
= Xf Y
f =01=1。
(2)两数绝对值的原码为:
[ X ]原=00.1101[ Y ]原=00.0111[- X ]补=11.0011 被除数 商 说明
0 0 0 1 1 1 0 0 0 0 起始情况
+ 1 1 0 0 1 1 -X
1 1 1 0 1 0 0 0 0 0 0 余数负,商 0
1 1 0 1 0 0 0 0 0 0 余数、商左移一
位
+ 0 0 1 1 0 1 + X
0 0 0 0 0 1 0 0 0 0 1 余数正,商 1
0 0 0 0 1 0 0 0 0 1 余数、商左移一
位
+ 1 1 0 0 1 1 - X
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
16
16
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
1 1 0 1 0 1 0 0 0 1 0 余数负,商 0
1 0 1 0 1 0 0 0 1 0 余数、商左移一
位
+ 0 0 1 1 0 1 + X
1 1 0 1 1 1 0 0 1 0 0 余数负,商 0
1 0 1 1 1 0 0 1 0 0 余数、商左移一位
+ 0 0 1 1 0 1 + X
1 1 1 0 1 1 0 1 0 0 0 余数与 X同号商
0
+ 0 0 1 1 0 1 余数负,需+X修正
0 0 1 0 0 0 0 1 0 0 0
计算结果:[Y÷X]原=1 1000,符号位为负。
14、用补码加减交替法求 X÷Y=?X=0.1000 Y=-0.1010.
【分析】根据补码加减交替法的运算规则进行运算,首先需要将被除数和除数变成补
码的形式,并求出除数相反数的补码形式。
【答案】首先将参与运算的两个数写成补码形式:
[X]补=00.1000, [Y]补=11.0110, [-Y]补=00.1010,运算过程如下:
被除数 X/余数 r 商 说明
0 0 .1 0 0 0 [X]补=0与[Y]补异号,商 0,+[Y]
补 + [Y]补 1 1 .0 1 1 0 0
1 1 .1 1 1 0 余数与除数同号,左移 1 位,商
1,
← 1 1 .1 1 0 0 +[-Y]补
+[-Y]补 0 0 .1 0 1 0 01
0 0 .0 1 1 0 余数与除数异号,左移 1 位,商
0,
← 0 0 .1 1 0 0 +[Y]补
+[Y]补 1 1 .0 1 1 0 010
0 0 .0 0 1 0 余数与除数异号,左移 1 位,商
0,
← 0 0 .0 1 0 0 +[Y]补
+[Y]补 1 1 .0 1 1 0 0100
1 1 .1 0 1 0 余数与除数同号,左移 1 位,商
1,
← 1 1 .0 1 0 0 +[-Y]补
+[-Y]补 0 0 .1 0 1 0 01001
1 1 .1 1 1 0
← 1 1 .1 1 1 0 1.0010
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
17
17
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
得到商[q]补=1.0010+0.0001 (校正量)=1.0011 所以 q=-0.1101
余数 r=2 -4(0.0010)=0.00000010.
15、已知:X=0.111011×2+101 ,Y=0.110101×2+011,求 X+Y=?
【分析】浮点数的加法(减法)分为 5个步骤,即对阶、尾数求和(差)、
规格化处理、舍入处理和判断溢出。计算时要严格按照这 5个步骤进
行。
【答案】(1)对阶。
△ E=Ex-Ey=0010
即两浮点数的阶差为 2,Y 的阶码值较小,应将 Y 的尾
数 右 移 2 位 且 阶 码 值 加 2 , 对 阶 后 Y 的 值 为 :
Y=0.110101×20011=0.00110101×20101
(2)求和(差)运算。
将经过对阶操作后的两浮点数的尾数直接进行加法 (或减法)运算,得到和
数(或差数)的尾数。本例两数采用双符号位表示,则:
0 0 .1 1 1 0 1 1
+ 0 0 .0 0 1 1 0 1 0 1
0 1 .0 0 1 0 0 0 0 1
所以,X+Y=01.00100001×20101
(3)规格化处理。
本例运算结果尾数两符号位值为 01,说明尾数溢出,需做右规处理。尾数向
右移 1位,其阶码值加 1.即:
X+Y=01.00100001×20101
右规,尾数右移 1位,阶码加 1
X+Y=00.100100001×20110
(4)舍入处理。
采用恒置 1 舍入法,则结果为:
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
18
18
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
X+Y=00.100101×20110
(5)判断溢出。
本例阶码若用 4位表示第一位为符号位。阶码结果 0110 未超出所能表示的
最大值,所以没有发生溢出,因此最终结果为:
X+Y=00.100101×20110
习 题
一、选择题
1、X=+0.1011,Y=+0.0110,则用补码运算[X-Y]补=( )
。
A.0.0101 B.0.0001 C. 1.1011 D.1.1111 2
、在原码一位乘法中,当乘数 Yi 为 1 时,( )。
A.被乘数连同符号位与原部分积相加后,右移一位;
B.被乘数绝对值与原部分积相加后,右移一位;
C.被乘数连同符号位右移一位后,再与原部分积相加;
D.被乘数绝对值右移一位后,再与原部分相加。
3、原码乘法是( )。
A.先取操作数绝对值相乘,符号位单独处理;
B.用原码表示操作数,然后直接相乘;
C.被乘数用原码表示,乘数取绝对值,然后相乘;
D.乘数用原码表示,被乘数取绝对值,然后相乘。
4、原码加减交替除法又称为不恢复余数法,因此( )。
A.不存在恢复余数的操作;
B.当某一步运算不够减时,做恢复余数的操作;
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
19
19
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
C.仅当最后一步余数为负时,做回复余数的操作;
D.当某一步余数为负时,做恢复余数的操作。
5、浮点数加减中的对阶是( )。
A.将较小的一个阶码调整到与较大的一个阶码相同;
B.将较大的一个阶码调整到与较小的一个阶码相同;
C.将被加数的阶码调整到与加数的阶码相同;
D.将加数的阶码调整到与被加数的阶码相同。
6、若浮点数用补码表示,则判断运算结果是否为规格化的方法是( )。
A.阶符与数符相同为规格化数;
B.阶符与数符相异为规格化数;
C.数符与尾数小数点后第一位数字相异为规格化数;
D.数符与尾数小数点后第一位数字相同为规格化数。
7、下列运算步骤中,浮点乘法不需要的步骤是( )。
A.对阶 B.阶码相乘 C.尾数相乘 D.结果规格化
8、运算器虽有许多部件组成,但核心部分是( )。
A. 数据总线 B.算术逻辑单元 C.多路开关 D.通用寄存器
9、下列有关运算器的描述中,( )是正确的。
A.只做算术运算,不做逻辑运算 B.只做加法
C.能暂时存放数据结果 D.既做算术运算,又做逻辑运算
10、在定点二进制运算器中,减法运算一般通过( )来实现。
A.原码运算的二进制减法器 B.补码运算的二进制减法器
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
20
20
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
C.原码运算的十进制加法器 D.补码运算的二进制加法器
11、在定点运算器中,无论采用双符号位还是但符号位,必须有( ),它一般用( )
来实现。
A.译码电路 与非门 B.编码电路 或非门
C.溢出判断电路 异或门 D.移位电路 与或非门
12、请从下面浮点数计算部件的描述中选出两个描述正确的句子是( )。
A.浮点计算部件可用两个松散连接价码部件和尾数部件来实现;
B.阶码部件可实现加、减、乘、除四种运算;
C.阶码部件只进行阶码相加、相减;
D.尾数部件只进行乘法和除法运算。
二、填空题
1、设子长 8 位(含 1 位符号位),真值 X=-1011,则[X]原=
2、定点数是指 位置固定不变的数,它的这一特点决定了其表示的数值
范围是很有限的。
3、两个补码表示的数相加,符号位参加运算,两数和的补码等于两数补码的
。
4、两个补码表示的数相减,符号位相减,两数差的补码等于被减数的补码加上减数
的补码。
5、设字长 8 位(含 1 位符号位),则原码定点小数能表示的绝对值最大负数是
(十进制)。
6、已知[Y]补求[-Y]补的方法是:将[Y]补同符号一起求反末位加 。
7、两个正数相加,结果大于机器所能表达的最大正数,称为 ;两个负数相
加,结果小于机器所能表达的最小负数,称为 。
8、用单符号位法判断溢出的规则是:两数进行加、减运算时,如果最高位有效位产生
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
21
21
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
进位而符号位 (填“有”或“无”)进位,则产生“上溢”;如果最高有效
位无进位而符号位 (填“有”或“无”)进位,则产生“下溢”。
9、用变形补码判断溢出的规则是:两个数相加后,如果结果的符号位出现 或
两种组合时,则表示发生了溢出。
10、用计算机实现原码一位乘法时,通常采用将 n 位数相乘转化为 n次 的方法
来实现。
11、实现除法运算的方法也很多,常用的有 、 、 等。
12、不恢复余数法的规则是:当余数为正数时,商 ,余数 1 位
减 ;当余数为负数时,商 ,余数 1 位,加
。
13、设阶码 8 位(最左一位为符号位),用移码表示,尾数为 24 位(最左一位为符号位),
用规格化补码表示,则它所能表示的最大正数的价码为 ,尾数为 ;绝对
值最小的负数的阶码为 ,尾数为 (以上回答均用二进制书写)。
14、浮点数的加减运算分为 5 个步骤,分别是 、 、 、
和判断溢出。
15、算术 /逻辑运算单元 (ALU)是运算器中的主要组成部分,主要用于完成各种
运算和 运算。
16、ALU 中有两个重要的状态寄存器: 和 。
17、三总线结构运算器的缺点是 比较复杂,总线的 不高。
18、为了运算器的高速性,采用了 进位, 乘除法,
等并行技术措施。
三、应用题
1、求证:-[y]补=[-y]补
2、试证明补码加法公式:[X+Y]补=[X]补+[Y]补
3、试证明补码减法运算公式:补码减法:[X-Y]补=[X+(-Y)]补+[-Y]补
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
22
22
郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1
4、已知:X=0.1011,Y=-0.0101,求[X/2]补,[X/4]补,[-X]补及[Y/2]补,[Y/4]补,[-Y]补。
5、已知X=-0.01111,Y=+0.11001,求[X]补,[-X]补,[Y]补,[-Y]补,X+Y=?,X-Y=?
6、已知[N1]补=(011011)2,[N2]补=(101101)2,求[N
1]补,[N
2]补具有的十进制数值。
7、若浮点数 X 的二进制存储格式为(41360000)16,求其 32 位浮点数的十进制数值。
8、试说明串行进位和并行进位的不同之处。
9、用补码运算方法求 x+y=?,x-y=?指出结果是否溢出。
(1)X=0.1001 Y=0.1100 (2)X=-0.0100 Y=0.1001
10、请用补码一位乘法中的 Booth 算法 X×Y=?X=0101,Y=-0101,列出计算过程。
11、已知 x=0.1011,y=-0.1001,用补码一位乘法计算 x×y(要求写出过程)。
12、已知两浮点数 X=201×0.1101,Y=211×(-0.1010),求(X+Y)=?
13、已知两浮点数 X=2010×0.11011011,Y=2100×(-0.10101100),求 X+Y=?
14、设有浮点数 x=2-5×0.0110011,y=23×(-0.1110010),阶码用 4位移码表示,尾数
(含符号位)用 8位补码表示,求[x×y]浮,要求直接用补码完成尾数运算,运算结果尾
数仍保留8位(含符号位),并用尾数之后的 4位值处理舍入操作。
17、设有两个浮点数 N1=2j1×S1,N2=2j2×S2,其中阶码 2位,阶符 1位,尾数 4位,数
符 1位。设:
j1=(-10)2 S1=(+0.1001)2
j2=(+10)2 S2=(+0.1011)2
求 N1×N2,写出运算步骤及结果,积的尾数占 4位,要规格化结果,根据原码阵列
乘法器的计算步骤求尾数之积。
(答案随后给出)
3 月份复习资料
整理负责人:陈蒙 张瑶 计算机的运算方法2010-3-28
23
23