SlideShare una empresa de Scribd logo
1 de 23
1
      郑州大学软件学院 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

                              1
3 月份复习资料
整理负责人:陈蒙 张瑶                                 计算机的运算方法
                                                   2010-3-28
2
        郑州大学软件学院 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、阵列逻辑电路(集成电路)

组合逻辑电路的输出状态只取决于当前输入信号的状态,与过去输

入信号的状态无关,即没有记忆功能。

时序逻辑电路的输出状态不仅和当时输入信号的状态有关,还与以

前输入信号的状态有关,即有记忆功能。

加法器是计算机中最常用、最基本的组合逻辑电路。主要完成两个补

码数据的相加运算。

时序逻辑电路(具有记忆功能)



                                 2
3 月份复习资料
整理负责人:陈蒙 张瑶                             计算机的运算方法
                                               2010-3-28
3
       郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1


触发器是时序电路内存储数据的记忆元件,构成时序电路基础。

寄存器:用于暂时存放指令和数据;

计数器:是计算机和数字仪表中常用电路。



               计 算 机 运 算 方 法

一.概念:

1)机器数的表示方法:原码:一个符号 + 数据的绝对值。

反码:正数:数值部分与真值形式相同;负数:真值的数值部分按

位取反。

补码:正数补码与原码相同。

  负数补码的数值部分等于二进制位按位取反,末位加 1。

移码:

1.最高位符号位, 1 表示正号, 0 表示负号。如果是双符号位,最高

位保持 0: 01 正数, 00 负数。

溢出判断:最高位为 1, 10 上溢, 11 下溢。

2.在计算机中,移码只执行加减法运算,且运算结果 +2n 修正;

即对结果的符号位取反,得到[ X]移。

2)字符的表示方法:

现代计算机不仅仅是处理数值领域的问题,还有大量非数值数据,

比如:文字、字母及专用符号来表示文字语言,逻辑语言等信息。国

际上广泛采用美国国家信息交换标准代码 -- ASCII( 128 字符)

                       3
3 月份复习资料
整理负责人:陈蒙 张瑶                       计算机的运算方法
                                         2010-3-28
4
        郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1


字符串是指连续的一串字符,它们占用主存中连续个存储单元 .

每个字节存放一个字符( 字符以 ASCII 码表示 )

3)汉字的表示方法 :(了解)

汉字编码方法:

数字编码(区位码,国际区位码)

拼音码 (以汉语拼音基础的输入方法)

字形码 (五笔字形输入法)

汉字的存储有两方面的含义:字形码的存储和汉字内码存储。

字形码是一汉字点阵表示的汉字字形代码,它是汉字的输出形式存

储。

4)校验码

数据在计算机中存取、传送,要求绝对正确,如果某一位出错,就不

能得到正确的结果,但实际上由于某种随机干扰容易发生错误。

为了发现和校正错误,计算机广泛采用容错技术,现在的检验办法

大多采用“冗余校验”:原始数据 + 校验位(冗余部分)

将原始数据和校验位一起按某种规律编码,存入存储器或向外发送。

当从存储器读出或者接收代码时,按同一编码规律进行译码或计算。

然后,取出原始数据,判断传输过程中是否有错,哪一位出错了。

介绍三种常用的校验码:

1)奇偶检错码:用于并行数据传送中,发现一位数据出错,没有纠

错能力。发送端产生一个检验位,使“ 1”的个数是奇数(或偶数)并

                        4
3 月份复习资料
整理负责人:陈蒙 张瑶                        计算机的运算方法
                                          2010-3-28
5
         郑州大学软件学院 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.)

在运算过 程中 , 寄存器的位数一旦确定下来,就有了容量的限制,

                                 5
3 月份复习资料
整理负责人:陈蒙 张瑶                            计算机的运算方法
                                              2010-3-28
6
          郑州大学软件学院 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 位

                          6
3 月份复习资料
整理负责人:陈蒙 张瑶                          计算机的运算方法
                                            2010-3-28
7
            郑州大学软件学院 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,左移一位,减去除数;

                                7
3 月份复习资料
整理负责人:陈蒙 张瑶                             计算机的运算方法
                                               2010-3-28
8
         郑州大学软件学院 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) 舍入(处理多余位)

                            8
3 月份复习资料
整理负责人:陈蒙 张瑶                             计算机的运算方法
                                               2010-3-28
9
            郑州大学软件学院 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

                                 9
3 月份复习资料
整理负责人:陈蒙 张瑶                                     计算机的运算方法
                                                       2010-3-28
10
           郑州大学软件学院 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)规格化处理 :

                                    10
3 月份复习资料
整理负责人:陈蒙 张瑶                                       计算机的运算方法
                                                         2010-3-28
11
         郑州大学软件学院 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
                                  11
3 月份复习资料
整理负责人:陈蒙 张瑶                                     计算机的运算方法
                                                       2010-3-28
12
          郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1


【分析】已知 [X]补求 [-X]的方法是:将 [X]补同符号位一起求反,末位加“ 1”。

【答案】 D

3、若用双符号位,则发生正溢的特征是:双符号位为(                              )。
 A. 00 B. 01 C. 10 D. 11
【分析】双符号位的几种取值及溢出种类如下:
  A B
C C =00 结果为正数,无溢出
  A B
C C =01 结果上溢 (正溢 )
  A B
C C =10 结果下溢 (负溢 )
  A B
C C =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 补是 乘 数 , 当 判 断 位
    +1
YnYn =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]补后右移一位

                                    12
3 月份复习资料
整理负责人:陈蒙 张瑶                                         计算机的运算方法
                                                           2010-3-28
13
           郑州大学软件学院 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

                                      13
3 月份复习资料
整理负责人:陈蒙 张瑶                                         计算机的运算方法
                                                           2010-3-28
14
              郑州大学软件学院 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.11100
                                      14
 3 月份复习资料
 整理负责人:陈蒙 张瑶                                            计算机的运算方法
                                                               2010-3-28
15
            郑州大学软件学院 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。
                部分积                    乘数     附加位                   说明
                                                            4   5
             0 0.0 0 0 0        0.1 0 1 1      0           Y Y =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              部分积右
移一位
                                                                         4   5
     +0        0 0.0 0 0 0                                           Y Y =11,

+0
                                     15
3 月份复习资料
整理负责人:陈蒙 张瑶                                               计算机的运算方法
                                                                 2010-3-28
16
                   郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1

                     0 0.0 1 1 0
           →         0 0.0 0 1 1                   0 1 0 1 0        1                 部分积右
移一位
                                                                                      4   5
         +[X] 补      1 1.0 0 1 1                                                     Y Y =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
 4   5
Y Y =10, +[-X]补

                      0 0.1 0 0 0
           →          0 0.0 1 0 0                      0 0 0 1 0        1             部分积右
移一位
                                                                             4   5
          +[X]补       1 1.0 0 1 1                                           Y Y =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。

【分析】根据原码加减交替法的运算规则进行运算。
                                   f     f    f
【答案】 (1)计算符号位: Z = X                         Y =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
                                                  16
3 月份复习资料
整理负责人:陈蒙 张瑶                                                             计算机的运算方法
                                                                               2010-3-28
17
              郑州大学软件学院 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
                                        17
3 月份复习资料
整理负责人:陈蒙 张瑶                                           计算机的运算方法
                                                             2010-3-28
18
         郑州大学软件学院 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=E x -E =0010
                    y

             即两浮点数的阶差为 2,Y 的阶码值较小,应将 Y 的尾

         数右移 2          位且阶码值加 2,对阶后 Y 的值为:

         Y=0.110101 × 2 0011 =0.00110101 × 2 0101
  (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× 2 0101
  (3)规格化处理。
 本例运算结果尾数两符号位值为 01,说明尾数溢出,需做右规处理。尾数向
右移 1 位,其阶码值加 1.即:
               X+Y=01.00100001× 2 0101
                        右规,尾数右移 1 位,阶码加 1


             X+Y=00.100100001× 2 0110
   (4)舍入处理。
   采用恒置 1 舍入法,则结果为:

                                   18
3 月份复习资料
整理负责人:陈蒙 张瑶                                       计算机的运算方法
                                                         2010-3-28
19
             郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1


  X+Y=00.100101× 2 0110
  (5)判断溢出。
   本例阶码若用 4 位表示第一位为符号位。阶码结果 0110 未超出所能表示的
最大值,所以没有发生溢出,因此最终结果为:
    X+Y=00.100101× 2 0110




                               习                   题
一、选择题
                                                  =(   )
  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.当某一步运算不够减时,做恢复余数的操作;

                                      19
3 月份复习资料
整理负责人:陈蒙 张瑶                                                     计算机的运算方法
                                                                       2010-3-28
20
      郑州大学软件学院 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.补码运算的二进制减法器

                        20
3 月份复习资料
整理负责人:陈蒙 张瑶                            计算机的运算方法
                                              2010-3-28
21
         郑州大学软件学院 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、用单符号位法判断溢出的规则是:两数进行加、减运算时,如果最高位有效位产生

                           21
3 月份复习资料
整理负责人:陈蒙 张瑶                              计算机的运算方法
                                                2010-3-28
22
          郑州大学软件学院 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]补

                                  22
3 月份复习资料
整理负责人:陈蒙 张瑶                                      计算机的运算方法
                                                        2010-3-28
23
            郑州大学软件学院 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=?
        1                             1    2
6、已知[N ]补=(011011)2,[N2]补=(101101)2,求[N ]补,[N ]补具有的十进制数值。

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 位,要规格化结果,根据原码阵列
乘法器的计算步骤求尾数之积。

                                                (答案随后给出)




                               23
3 月份复习资料
整理负责人:陈蒙 张瑶                                    计算机的运算方法
                                                      2010-3-28

Más contenido relacionado

La actualidad más candente

1.3整式及其运算
1.3整式及其运算1.3整式及其运算
1.3整式及其运算zhengweimin83
 
07 计算机的运算方法04
07 计算机的运算方法0407 计算机的运算方法04
07 计算机的运算方法04Huaijin Chen
 
1.6数的开方与二次根式
1.6数的开方与二次根式1.6数的开方与二次根式
1.6数的开方与二次根式zhengweimin83
 
資料結構平常測驗一的解答
資料結構平常測驗一的解答資料結構平常測驗一的解答
資料結構平常測驗一的解答春男 洪
 
05 计算机的运算方法02
05 计算机的运算方法0205 计算机的运算方法02
05 计算机的运算方法02Huaijin Chen
 
實數表示法與運算
實數表示法與運算實數表示法與運算
實數表示法與運算encoret
 
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社pingjiang
 
資料結構平常測驗
資料結構平常測驗資料結構平常測驗
資料結構平常測驗春男 洪
 
人类行为与最大熵原理
人类行为与最大熵原理人类行为与最大熵原理
人类行为与最大熵原理Chengjun Wang
 
复习第三章
复习第三章复习第三章
复习第三章lqarenas
 
1.4乘法公式与因式分解
1.4乘法公式与因式分解1.4乘法公式与因式分解
1.4乘法公式与因式分解zhengweimin83
 

La actualidad más candente (15)

1.3整式及其运算
1.3整式及其运算1.3整式及其运算
1.3整式及其运算
 
第2章
第2章第2章
第2章
 
07 计算机的运算方法04
07 计算机的运算方法0407 计算机的运算方法04
07 计算机的运算方法04
 
1.6数的开方与二次根式
1.6数的开方与二次根式1.6数的开方与二次根式
1.6数的开方与二次根式
 
資料結構平常測驗一的解答
資料結構平常測驗一的解答資料結構平常測驗一的解答
資料結構平常測驗一的解答
 
05 计算机的运算方法02
05 计算机的运算方法0205 计算机的运算方法02
05 计算机的运算方法02
 
實數表示法與運算
實數表示法與運算實數表示法與運算
實數表示法與運算
 
C語言陣列與字串
C語言陣列與字串C語言陣列與字串
C語言陣列與字串
 
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
数据结构(用面向对象方法与C++语言描述第二版)殷人昆编著清华大学出版社
 
資料結構平常測驗
資料結構平常測驗資料結構平常測驗
資料結構平常測驗
 
人类行为与最大熵原理
人类行为与最大熵原理人类行为与最大熵原理
人类行为与最大熵原理
 
复习第三章
复习第三章复习第三章
复习第三章
 
1.4乘法公式与因式分解
1.4乘法公式与因式分解1.4乘法公式与因式分解
1.4乘法公式与因式分解
 
1 2指數函數
1 2指數函數1 2指數函數
1 2指數函數
 
2 4空間中的直線
2 4空間中的直線2 4空間中的直線
2 4空間中的直線
 

Destacado

03 计算机的逻辑部件02
03 计算机的逻辑部件0203 计算机的逻辑部件02
03 计算机的逻辑部件02Huaijin Chen
 
Slide show for blog
Slide show for blogSlide show for blog
Slide show for blogJ
 
Talking power point jennifer garcia
Talking power point jennifer garciaTalking power point jennifer garcia
Talking power point jennifer garciaJ
 
Fuentes de las obligaciones
Fuentes de las obligacionesFuentes de las obligaciones
Fuentes de las obligacionesEnza Almanzar
 
02 计算机的逻辑部件01
02 计算机的逻辑部件0102 计算机的逻辑部件01
02 计算机的逻辑部件01Huaijin Chen
 
01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述Huaijin Chen
 

Destacado (14)

03 计算机的逻辑部件02
03 计算机的逻辑部件0203 计算机的逻辑部件02
03 计算机的逻辑部件02
 
10 存储系统02
10 存储系统0210 存储系统02
10 存储系统02
 
18 cpu02
18 cpu0218 cpu02
18 cpu02
 
Slide show for blog
Slide show for blogSlide show for blog
Slide show for blog
 
21 总线
21 总线21 总线
21 总线
 
Talking power point jennifer garcia
Talking power point jennifer garciaTalking power point jennifer garcia
Talking power point jennifer garcia
 
09 存储系统01
09 存储系统0109 存储系统01
09 存储系统01
 
Fuentes de las obligaciones
Fuentes de las obligacionesFuentes de las obligaciones
Fuentes de las obligaciones
 
02 计算机的逻辑部件01
02 计算机的逻辑部件0102 计算机的逻辑部件01
02 计算机的逻辑部件01
 
19 cpu03
19 cpu0319 cpu03
19 cpu03
 
Event Venues
Event VenuesEvent Venues
Event Venues
 
17 cpu01
17 cpu0117 cpu01
17 cpu01
 
01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述
 
20 cpu04
20 cpu0420 cpu04
20 cpu04
 

Similar a 计算机组成原理题

【逆轉勝】數學學測總複習講義
【逆轉勝】數學學測總複習講義【逆轉勝】數學學測總複習講義
【逆轉勝】數學學測總複習講義lungtengtech
 
第1章 Matlab操作基础
第1章  Matlab操作基础第1章  Matlab操作基础
第1章 Matlab操作基础eterou
 
【掌握】數位邏輯(含實習)複習講義電子試閱本
【掌握】數位邏輯(含實習)複習講義電子試閱本【掌握】數位邏輯(含實習)複習講義電子試閱本
【掌握】數位邏輯(含實習)複習講義電子試閱本lungtengtech
 
C1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainC1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainPei-Che Chang
 
ncuma_微分方程式.pptx
ncuma_微分方程式.pptxncuma_微分方程式.pptx
ncuma_微分方程式.pptxNCU MCL
 
数字电路复习
数字电路复习数字电路复习
数字电路复习zhaowmm
 
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版逸 張
 
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式1138177709
 
Excel函數實務應用班第二天
Excel函數實務應用班第二天Excel函數實務應用班第二天
Excel函數實務應用班第二天明和 蔡
 
基本遗传算法
 基本遗传算法 基本遗传算法
基本遗传算法sixu05202004
 
建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架ZhenChen57
 
選修物理1-CH1-緒論-素養版-V2-學生版.pdf
選修物理1-CH1-緒論-素養版-V2-學生版.pdf選修物理1-CH1-緒論-素養版-V2-學生版.pdf
選修物理1-CH1-緒論-素養版-V2-學生版.pdf阿Samn的物理課本
 
選修物理1-CH1-緒論-素養版-V2-學生版.pdf
選修物理1-CH1-緒論-素養版-V2-學生版.pdf選修物理1-CH1-緒論-素養版-V2-學生版.pdf
選修物理1-CH1-緒論-素養版-V2-學生版.pdf阿Samn的物理課本
 
Deep learning wiki on data encodingi
Deep learning  wiki on data encodingiDeep learning  wiki on data encodingi
Deep learning wiki on data encodingiwang meng
 
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式summerfeng
 

Similar a 计算机组成原理题 (20)

【逆轉勝】數學學測總複習講義
【逆轉勝】數學學測總複習講義【逆轉勝】數學學測總複習講義
【逆轉勝】數學學測總複習講義
 
第1章 Matlab操作基础
第1章  Matlab操作基础第1章  Matlab操作基础
第1章 Matlab操作基础
 
【掌握】數位邏輯(含實習)複習講義電子試閱本
【掌握】數位邏輯(含實習)複習講義電子試閱本【掌握】數位邏輯(含實習)複習講義電子試閱本
【掌握】數位邏輯(含實習)複習講義電子試閱本
 
C1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainC1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domain
 
ncuma_微分方程式.pptx
ncuma_微分方程式.pptxncuma_微分方程式.pptx
ncuma_微分方程式.pptx
 
数字电路复习
数字电路复习数字电路复习
数字电路复习
 
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
 
1.2实数的运算
1.2实数的运算1.2实数的运算
1.2实数的运算
 
Python分支作業
Python分支作業Python分支作業
Python分支作業
 
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
 
第1章
第1章第1章
第1章
 
Excel函數實務應用班第二天
Excel函數實務應用班第二天Excel函數實務應用班第二天
Excel函數實務應用班第二天
 
Dp1007
Dp1007Dp1007
Dp1007
 
基本遗传算法
 基本遗传算法 基本遗传算法
基本遗传算法
 
建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架
 
選修物理1-CH1-緒論-素養版-V2-學生版.pdf
選修物理1-CH1-緒論-素養版-V2-學生版.pdf選修物理1-CH1-緒論-素養版-V2-學生版.pdf
選修物理1-CH1-緒論-素養版-V2-學生版.pdf
 
選修物理1-CH1-緒論-素養版-V2-學生版.pdf
選修物理1-CH1-緒論-素養版-V2-學生版.pdf選修物理1-CH1-緒論-素養版-V2-學生版.pdf
選修物理1-CH1-緒論-素養版-V2-學生版.pdf
 
Deep learning wiki on data encodingi
Deep learning  wiki on data encodingiDeep learning  wiki on data encodingi
Deep learning wiki on data encodingi
 
深度學習方法與實作
深度學習方法與實作深度學習方法與實作
深度學習方法與實作
 
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式
 

Último

1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 

Último (6)

1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 

计算机组成原理题

  • 1. 1 郑州大学软件学院 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 1 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 2. 2 郑州大学软件学院 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、阵列逻辑电路(集成电路) 组合逻辑电路的输出状态只取决于当前输入信号的状态,与过去输 入信号的状态无关,即没有记忆功能。 时序逻辑电路的输出状态不仅和当时输入信号的状态有关,还与以 前输入信号的状态有关,即有记忆功能。 加法器是计算机中最常用、最基本的组合逻辑电路。主要完成两个补 码数据的相加运算。 时序逻辑电路(具有记忆功能) 2 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 3. 3 郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1 触发器是时序电路内存储数据的记忆元件,构成时序电路基础。 寄存器:用于暂时存放指令和数据; 计数器:是计算机和数字仪表中常用电路。 计 算 机 运 算 方 法 一.概念: 1)机器数的表示方法:原码:一个符号 + 数据的绝对值。 反码:正数:数值部分与真值形式相同;负数:真值的数值部分按 位取反。 补码:正数补码与原码相同。 负数补码的数值部分等于二进制位按位取反,末位加 1。 移码: 1.最高位符号位, 1 表示正号, 0 表示负号。如果是双符号位,最高 位保持 0: 01 正数, 00 负数。 溢出判断:最高位为 1, 10 上溢, 11 下溢。 2.在计算机中,移码只执行加减法运算,且运算结果 +2n 修正; 即对结果的符号位取反,得到[ X]移。 2)字符的表示方法: 现代计算机不仅仅是处理数值领域的问题,还有大量非数值数据, 比如:文字、字母及专用符号来表示文字语言,逻辑语言等信息。国 际上广泛采用美国国家信息交换标准代码 -- ASCII( 128 字符) 3 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 4. 4 郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1 字符串是指连续的一串字符,它们占用主存中连续个存储单元 . 每个字节存放一个字符( 字符以 ASCII 码表示 ) 3)汉字的表示方法 :(了解) 汉字编码方法: 数字编码(区位码,国际区位码) 拼音码 (以汉语拼音基础的输入方法) 字形码 (五笔字形输入法) 汉字的存储有两方面的含义:字形码的存储和汉字内码存储。 字形码是一汉字点阵表示的汉字字形代码,它是汉字的输出形式存 储。 4)校验码 数据在计算机中存取、传送,要求绝对正确,如果某一位出错,就不 能得到正确的结果,但实际上由于某种随机干扰容易发生错误。 为了发现和校正错误,计算机广泛采用容错技术,现在的检验办法 大多采用“冗余校验”:原始数据 + 校验位(冗余部分) 将原始数据和校验位一起按某种规律编码,存入存储器或向外发送。 当从存储器读出或者接收代码时,按同一编码规律进行译码或计算。 然后,取出原始数据,判断传输过程中是否有错,哪一位出错了。 介绍三种常用的校验码: 1)奇偶检错码:用于并行数据传送中,发现一位数据出错,没有纠 错能力。发送端产生一个检验位,使“ 1”的个数是奇数(或偶数)并 4 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 5. 5 郑州大学软件学院 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.) 在运算过 程中 , 寄存器的位数一旦确定下来,就有了容量的限制, 5 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 6. 6 郑州大学软件学院 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 位 6 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 7. 7 郑州大学软件学院 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,左移一位,减去除数; 7 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 8. 8 郑州大学软件学院 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) 舍入(处理多余位) 8 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 9. 9 郑州大学软件学院 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 9 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 10. 10 郑州大学软件学院 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)规格化处理 : 10 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 11. 11 郑州大学软件学院 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 11 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 12. 12 郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1 【分析】已知 [X]补求 [-X]的方法是:将 [X]补同符号位一起求反,末位加“ 1”。 【答案】 D 3、若用双符号位,则发生正溢的特征是:双符号位为( )。 A. 00 B. 01 C. 10 D. 11 【分析】双符号位的几种取值及溢出种类如下: A B C C =00 结果为正数,无溢出 A B C C =01 结果上溢 (正溢 ) A B C C =10 结果下溢 (负溢 ) A B C C =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 补是 乘 数 , 当 判 断 位 +1 YnYn =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]补后右移一位 12 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 13. 13 郑州大学软件学院 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 13 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 14. 14 郑州大学软件学院 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.11100 14 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 15. 15 郑州大学软件学院 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。 部分积 乘数 附加位 说明 4 5 0 0.0 0 0 0 0.1 0 1 1 0 Y Y =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 部分积右 移一位 4 5 +0 0 0.0 0 0 0 Y Y =11, +0 15 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 16. 16 郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1 0 0.0 1 1 0 → 0 0.0 0 1 1 0 1 0 1 0 1 部分积右 移一位 4 5 +[X] 补 1 1.0 0 1 1 Y Y =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 4 5 Y Y =10, +[-X]补 0 0.1 0 0 0 → 0 0.0 1 0 0 0 0 0 1 0 1 部分积右 移一位 4 5 +[X]补 1 1.0 0 1 1 Y Y =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。 【分析】根据原码加减交替法的运算规则进行运算。 f f f 【答案】 (1)计算符号位: Z = X Y =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 16 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 17. 17 郑州大学软件学院 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 17 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 18. 18 郑州大学软件学院 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=E x -E =0010 y 即两浮点数的阶差为 2,Y 的阶码值较小,应将 Y 的尾 数右移 2 位且阶码值加 2,对阶后 Y 的值为: Y=0.110101 × 2 0011 =0.00110101 × 2 0101 (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× 2 0101 (3)规格化处理。 本例运算结果尾数两符号位值为 01,说明尾数溢出,需做右规处理。尾数向 右移 1 位,其阶码值加 1.即: X+Y=01.00100001× 2 0101 右规,尾数右移 1 位,阶码加 1 X+Y=00.100100001× 2 0110 (4)舍入处理。 采用恒置 1 舍入法,则结果为: 18 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 19. 19 郑州大学软件学院 08 软开 java 计算机组成原理月复习资料 1 X+Y=00.100101× 2 0110 (5)判断溢出。 本例阶码若用 4 位表示第一位为符号位。阶码结果 0110 未超出所能表示的 最大值,所以没有发生溢出,因此最终结果为: X+Y=00.100101× 2 0110 习 题 一、选择题 =( ) 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.当某一步运算不够减时,做恢复余数的操作; 19 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 20. 20 郑州大学软件学院 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.补码运算的二进制减法器 20 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 21. 21 郑州大学软件学院 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、用单符号位法判断溢出的规则是:两数进行加、减运算时,如果最高位有效位产生 21 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 22. 22 郑州大学软件学院 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]补 22 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28
  • 23. 23 郑州大学软件学院 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=? 1 1 2 6、已知[N ]补=(011011)2,[N2]补=(101101)2,求[N ]补,[N ]补具有的十进制数值。 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 位,要规格化结果,根据原码阵列 乘法器的计算步骤求尾数之积。 (答案随后给出) 23 3 月份复习资料 整理负责人:陈蒙 张瑶 计算机的运算方法 2010-3-28