计算机组成原理答案(张功萱等编著)终极完整版 下载本文

整理人:杜鹏

作业解答

第一章 作业解答

1.3 冯·诺依曼计算机的基本思想是什么?什么叫存储程序方式? 答:冯·诺依曼计算机的基本思想包含三个方面:

1) 计算机由输入设备、输出设备、运算器、存储器和控制器五大部件组成。 2) 采用二进制形式表示数据和指令。 3) 采用存储程序方式。

存储程序是指在用计算机解题之前,事先编制好程序,并连同所需的数据预先存入主存储器中。在解题过程(运行程序)中,由控制器按照事先编好并存入存储器中的程序自动地、连续地从存储器中依次取出指令并执行,直到获得所要求的结果为止。

1.4 早期计算机组织结构有什么特点?现代计算机结构为什么以存储器为中心?

答:早期计算机组织结构的特点是:以运算器为中心的,其它部件都通过运算器完成信息的传递。

随着微电子技术的进步,人们将运算器和控制器两个主要功能部件合二为一,集成到一个芯片里构成了微处理器。同时随着半导体存储器代替磁芯存储器,存储容量成倍地扩大,加上需要计算机处理、加工的信息量与日俱增,以运算器为中心的结构已不能满足计算机发展的需求,甚至会影响计算机的性能。为了适应发展的需要,现代计算机组织结构逐步转变为以存储器为中心。

1.8 衡量计算机性能有哪些基本的技术指标?以你所熟悉的计算机系统为例,说明它的型号、主频、字长、主存容量、所接的I/O设备的名称及主要规格。 答:衡量计算机性能的基本技术指标主要有: 1. 基本字长 2. 主存容量 3. 运算速度

4. 所配置的外部设备及其性能指标 5. 系统软件的配置

还有可靠性、可用性、可维护性、以及安全性、兼容性等性能指标。 1.9单选题

(1)1946年,美国推出了世界上第一台电子数字计算机,名为__A__。

A. ENIAC B. UNIVAC-I C. ILLIAC-IV D. EDVAC (2)在计算机系统中,硬件在功能实现上比软件强的是__C__。

A. 灵活性强 B. 实现容易 C. 速度快 D. 成本低 (3)完整的计算机系统包括两大部分,它们是__ C ____。

A. 运算器与控制器 B. 主机与外设 C. 硬件与软件 D. 硬件与操作系统

(4)在下列的描述中,最能准确反映计算机主要功能的是___ D ___。

A. 计算机可以代替人的脑力劳动 B. 计算机可以存储大量的信息 C. 计算机是一种信息处理机 D. 计算机可以实现高速运算

(5)存储程序概念是由美国数学家冯·诺依曼在研究__ D ___时首先提出来的。

A. ENIAC B. UNIVAC-I C. ILLIAC-IV D. EDVAC

整理人:杜鹏

(6)现代计算机组织结构是以__ B ___为中心,其基本结构遵循冯·诺依曼思想。

A. 寄存器 B. 存储器 C. 运算器 D. 控制器 (7)冯?诺依曼存储程序的思想是指__ C ___。

A. 只有数据存储在存储器 B. 只有程序存储在存储器 C. 数据和程序都存储在存储器 D. 数据和程序都不存储在存储器

1.10填空题

(1)计算机CPU主要包括 ① 和__ ②____两个部件。

答:① 运算器 ② 控制器

(2)计算机的硬件包括 ① 、__ ②____、__ ③____、__ ④____和__ ⑤____等5大部分。

答:① 运算器 ② 控制器 ③ 存储器 ④ 输入设备 ⑤ 输出

设备

(3)计算机的运算精度与机器的 ① 有关,为解决精度与硬件成本的矛盾,大多

数计算机使用__ ②____。

答:① 字长 ② 变字长运算

(4)从软、硬件交界面看,计算机层次结构包括 ① 和__ ②____两大部分。

答:① 实机器 ② 虚机器

(5)计算机硬件直接能执行的程序是 ① 程序,高级语言编写的源程序必须经过

__ ②____翻译,计算机才能执行。

答:① 机器语言 ② 语言处理程序

(6)从计算机诞生起,科学计算一直是计算机最主要的 ① 。

答:① 应用领域

(7)银河I(YH-I)巨型计算机是我国研制的 ① 。

答:① 第一台巨型计算机

1.11是非题

(1)微处理器可以用来做微型计算机的CPU。 × 含义不清 (2)ENIAC计算机的主要工作原理是存储程序和多道程序控制。 × (3)决定计算机运算精度的主要技术指标是计算机的字长。 √ (4)计算机总线用于传输控制信息、数据信息和地址信息的设施。 √ (5)计算机系统软件是计算机系统的核心软件。 √ (6)计算机运算速度是指每秒钟能执行操作系统的命令个数。 × (7)计算机主机由CPU、存储器和硬盘组成。 × (8)计算机硬件和软件是相辅相成、缺一不可的。 √

第二章 作业解答

2.2 分别计算用二进制表示4位、5位、8位十进制数时所需要的最小二进制位的长度。 答:

∵ 4位十进制数的最大数为9999,213=8192<9999<214=16384 ∴表示4位十进制数所需的最小二进制位的长度为14位。

∵ 5位十进制数的最大数为99999,216=65536<9999<217=131072 ∴表示5位十进制数所需的最小二进制位的长度为17位。

整理人:杜鹏

∵ 8位十进制数的最大数为99999999,226=67108864<99999999<227=134217728 ∴表示8位十进制数所需的最小二进制位的长度为27位。

根据当i位十进制数与j位二进制数比较时的等式,10i = 2j,得j≈3.3i,亦可得到上述结果。 2.6 已知 x 的二进制真值,试求 [x]补、[-x]补、[x/2]补、[x/4]补、[2x]补、[4x]补、[-2x]补、[-x/4]补。(设机器采用定点小数,字长为8位,若结果不存在或出错,请注明) (1) x=+0.0101101 (2) x=-0.1001011 (3) x=-1 (4) x=-0.0001010

2.7 根据题2.7表中给定的机器数(整数),分别写出把它们看作原码、反码、补码、移码表示形式时所对应的十进制真值。

2.8 设十进制数x=(+124.625)×2-10

(1) 写出x对应的二进制定点小数表示形式。 (2) 若机器的浮点数表示格式为:

其中阶码和尾数的基数均为2。

① 写出阶码和尾数均采用原码表示时的机器数形式。 ② 写出阶码和尾数均采用补码表示时的机器数形式。

解: (1)x对应的二进制定点小数表示形式为:1111100.101×2-10=0.1111100101×2-3=0.0001111100101

(2) ① 阶码和尾数均采用原码表示时的机器数形式:

0 10011 111110010100000=0 1001 1111 1100 1010 0000=09FCA0H ② 阶码和尾数均采用补码表示时的机器数形式:

0 11101 111110010100000=0 1110 1111 1100 1010 0000=0EFCA0H 2.9 设某机字长为16位,数据表示格式为:

整理人:杜鹏

分别写出该机在下列的数据表示形式中所能表示的最小正数、最大正数、最大负数、最小负数(绝对值最大的负数)和浮点规格化最小正数、最大负数在机器中的表示形式和所对应的十进制真值。

(1) 原码表示的定点整数; (2) 补码表示的定点整数;

(3) 阶码与尾数均用原码表示的浮点数; (4) 阶码与尾数均用补码表示的浮点数; (5) 阶码为移码、尾数用补码表示的浮点数。 解:

整理人:杜鹏

2.11 用十六进制写出下列十进制数的IEEE754标准32位单精度浮点数的机器数的表示形式。 (1) 0.15625 (2) -0.15625 (3) 16 (4) -5 解:

(1)(0.15625)10=(0. 00101)2=1.01×2-3

阶码E=127+(-3)=124=(1111100)2=01111100 机器数形式:0 01111100 01000000000000000000000 十六进制形式:3E200000H

(2) (-0.15625)10=(-0. 00101)2=-1.01×2-3 阶码E=127+(-3)=124=(1111100)2=01111100 机器数形式:1 01111100 01000000000000000000000 十六进制形式:BE200000H

(3) (16)10=(10000)2=-1.0000×24 阶码E=127+4=131=(10000011)2

机器数形式:0 10000011 00000000000000000000000 十六进制形式:41800000H

(4) (-5)10=(-101)2=-1.01×22 阶码E=127+2=129=(10000001)2

机器数形式:1 10000001 01000000000000000000000 十六进制形式:C0A00000H

2.13 写出下列十六进制的IEEE单精度浮点数代码所代表的十进制数值。 (1) 42E48000 (2) 3F880000 (3) 00800000 (4) C7F00000 解:

(1) 42E48000=0 10000101 11001001000000000000000 指数=(10000101)2-127=133-127=6

整理人:杜鹏

M=1.11001001000000000000000=1+(1/2+1/4+1/32+1/256) 十进制数值N=[1+(1/2+1/4+1/32+1/256)]×26=114.25 (2) 3F880000=0 01111111 00010000000000000000000 指数=(01111111)2-127=127-127=0

M=1.00010000000000000000000=1+1/16=1.0625 十进制数值N=1.0625×20=1.0625

(3) 00800000=0 00000001 00000000000000000000000 指数=(00000001)2-127=1-127=-126 M=1.00000000000000000000000 十进制数值N=1×2-126

(4) C7F00000=1 10001111 11100000000000000000000 指数=(10001111)2-127=143-127=16

M=1. 11100000000000000000000=1+(1/2+1/4+1/8)=1.875

十进制数值N=-(216+215+214+213)=-15×213=-122880=-1.875×216 2.14 设有两个正浮点数:1e112SN??,2e222SN???(1) 若e1>e2,是否有N1>N2

(2) 若S1、S2均为规格化数,上述结论是否正确? 答:(1)不一定 (2)正确

2.15 设一个六位二进制小数x=0.a1a2a3a4a5a6,x≥0,请回答: (1) 若要x≥81,a1a2a3a4a5a6需要满足什么条件? (2) 若要x>21,a1a2a3a4a5a6需要满足什么条件?

(3) 若要41≥x>161,a1a2a3a4a5a6需要满足什么条件? 解:

(1)要x≥

8 1

,a1a2a3a4a5a6需要满足:a1a2a3至少有一个1 (2)要x>

2 1

,a1a2a3a4a5a6需要满足:a1=1,且a2a3a4a5a6至少有一个为1(不为全0) (3)要

4 1

≥x>

16 1

,a1a2a3a4a5a6需要满足:

a1=0且 ① a2=1,a3a4a5a6为全0 ② a2=0且a3=1,a4a5a6任意

或a2=0且a3=0,a4=1,a5a6至少有一个为1

2.17 分别用前分隔数字串、后嵌入数字串和压缩的十进制数串形式表示下列十进制数。 (1) +74 (2) -639 (3) +2004 (4) -8510

整理人:杜鹏

解:

(1) +74 前分隔数字串 +74

2B 37 34 “+” “7” “4”

后嵌入数字串 +74

37 34 “7” “4”

压缩的十进制数串 +74

0000 0111 0100 1100 “0” “7” “4” “+”

(2) -639 前分隔数字串 -639

2D 36 33 39 “-“ “6” “3” “9”

后嵌入数字串 -639

36 33 79 “6” “3”

整理人:杜鹏 “9”

压缩的十进制数串 -639

0110 0011 1001 1101 “6” “3” “9” “-”

(3) +2004 前分隔数字串 +2004

2B 32 30 30 34 “+” “2” “0” “0” “4”

后嵌入数字串 +2004

32 30 30 34 “2” “0” “0” “4”

压缩的十进制数串 +2004

0000 0010 0000 0000 0100 1100 “0” “2”

整理人:杜鹏 “0” “0” “4” “+”

(4) -8510 前分隔数字串 -8510

2D 38 35 31 30 “-“ “8” “5” “1” “0”

后嵌入数字串 -8510

38 35 31 70 “8” “5” “1” “0”

压缩的十进制数串 -8510

0000 1000 0101 0001 0000 1101 “0” “8” “5” “1” “0” “-”

2.19 什么是“码距”?数据校验与码距有什么关系?

答:码距是指在一组编码中任何两个编码之间最小的距离。

数据校验码的校验位越多,码距越大,编码的检错和纠错能力越强。

整理人:杜鹏

2.21 下面是两个字符(ASCII码)的检一纠一错的海明校验码(偶校验),请检测它们是否有错?如果有错请加以改正,并写出相应的正确ASCII码所代表的字符。 (1) 10111010011 (2) 10001010110 解:

(1) 指误字为

E1=P1⊕A6⊕A5⊕A3⊕A2⊕A0=1⊕1⊕1⊕1⊕0⊕1=1 E2=P2⊕A6⊕A4⊕A3⊕A1⊕A0=0⊕1⊕0⊕1⊕1⊕1=0 E3=P4⊕A5⊕A4⊕A3=1⊕1⊕0⊕1=1 E4=P8⊕A2⊕A1⊕A0=0⊕0⊕1⊕1=0

得到的指误字为E4E3E2E1=0101=(5)10,表示接收到的海明校验码中第5位上的数码出现了错误。将第5位上的数码A5=1取反,即可得到正确结果 10110010011。正确ASCII码所代表的字符为1001011=“K”。 (2) 指误字为

E1=P1⊕A6⊕A5⊕A3⊕A2⊕A0=1⊕0⊕1⊕1⊕1⊕0=0 E2=P2⊕A6⊕A4⊕A3⊕A1⊕A0=0⊕0⊕0⊕1⊕1⊕0=0 E3=P4⊕A5⊕A4⊕A3=0⊕1⊕0⊕1=0 E4=P8⊕A2⊕A1⊕A0=0⊕1⊕1⊕0=0

得到的指误字为E4E3E2E1=0000,无错。正确ASCII码为0101110=“.” 2.22 试编出8位有效信息01101101的检二纠一错的海明校验码(用偶校验)。 解:8位有效信息需要用4个校验位,所以检一纠一错的海明校验码共有12位。 4个校验位为:

P1=A7⊕A6⊕A4⊕A3⊕A1=0⊕1⊕0⊕1⊕0=0 P2=A7⊕A5⊕A4⊕A2⊕A1=0⊕1⊕0⊕1⊕0=0 P4=A6⊕A5⊕A4⊕A0=1⊕1⊕0⊕1=1 P8=A3⊕A2⊕A1⊕A0=1⊕1⊕0⊕1=1

检一纠一错的海明校验码:000111011101=1DDH 检二纠一错的海明校验码,增加P0

P0=P1⊕P2⊕A7⊕P4⊕A6⊕A5⊕A4⊕P8⊕A3⊕A2⊕A1⊕A0=1

有效信息01101101的13位检二纠一错的海明校验码:1000111011101=11DDH

2.23 设准备传送的数据块信息是1010110010001111,选择生成多项式为G(x)=100101,试求出数据块的CRC码。

解:模2除后,余数R(x)=10011,数据块的CRC码: 101011001000111110011

2.24 某CRC码(CRC)的生成多项式 G(x)=x3+x2+1,请判断下列CRC码是否存在错误。 (1) 0000000 (2) 1111101 (3) 1001111 (4) 1000110 解:G(x)=1101

(1) 0000000模2除1101,余数为:000,无错 (2) 1111101模2除1101,余数为:010,有错 (3) 1001111模2除1101,余数为:100,有错 (4) 1000110模2除1101,余数为:000,无错

2.25 选择题

(1) 某机字长64位,其中1位符号位,63位尾数。若用定点小数表示,则最大正

小数为 B 。

--

A. +(1-2-64) B. +(1-2-63) C. 264 D. 263

整理人:杜鹏

(2) 设[x]补=1.x1x2x3x4x5x6x7x8,当满足 B 时,x>-1/2成立。

A. x1=1, x2~x8至少有一个为1 B. x1=0, x2~x8至少有一个为1 C. x1=1,x2~x8任意 D. x1=0, x2~x8任意

(3) 在某8位定点机中,寄存器内容为10000000,若它的数值等于-128,则它采

用的数据表示为 B 。

A. 原码 B. 补码 C. 反码 D. 移码

(4) 在下列机器数中,哪种表示方式下零的表示形式是唯一的 B 。

A. 原码 B. 补码 C. 反码 D. 都不是

(5) 下列论述中,正确的是 D 。

A. 已知[x]原求[x]补的方法是:在[x]原的末位加1 B. 已知[x]补求[-x]补的方法是:在[x]补的的末位加1

C. 已知[x]原求[x]补的方法是:将尾数连同符号位一起取反,再在末位加1 D. 已知[x]补求[-x]补的方法是:将尾数连同符号位一起取反,再在末位加1

(6) IEEE754标准规定的32位浮点数格式中,符号位为1位,阶码为8位,尾数

为23位,则它所能表示的最大规格化正数为 A 。

-+-+

A. +(2-223)×2127 B. +(1-223)×2127

-++-

C. +(2-223)×2255 D. 2127-223

(7) 浮点数的表示范围取决于 A 。

A. 阶码的位数 B. 尾数的位数 C. 阶码采用的编码 D. 尾数采用的编码

(8) 在24×24点阵的汉字字库中,一个汉字的点阵占用的字节数为 D 。

A. 2 B. 9 C. 24 D. 72

(9) 假定下列字符码中有奇偶校验位,但没有数据错误,采用奇校验的编码是

B 。

A. 10011010 B. 11010000 C. 11010111 D. 10111000

(10) 在循环冗余校验中,生成多项式G(x)应满足的条件不包括 D 。

A. 校验码中的任一位发生错误,在与G(x)作模2除时,都应使余数不为0 B. 校验码中的不同位发生错误时,在与G(x)作模2除时,都应使余数不同 C. 用G(x)对余数作模2除,应能使余数循环

D. 不同的生成多项式所得的CRC码的码距相同,因而检错、校错能力相同

2.26 填空题

(1) 设某机字长为8位(含一符号位),若 [x]补=11001001,则x所表示的十进制

数的真值为 ① ,[1/4x]补= ② ;若 [y]移=11001001,则y所表示的十进制数的真值为 ③ ;y的原码表示 [y]原= ④ 。

答:① -55 ② 11110010 ③ +73 ④ 01001001 (2) 在带符号数的编码方式中,零的表示是唯一的有 ① 和 ② 。

答:① 补码 ② 移码

(3) 若[x1]补=10110111, [x2]原=1.01101 ,则数x1的十进制数真值是 ① ,x2

的十进制数真值是 ② 。 答:① -73 ② -0.71875 (4) 设某浮点数的阶码为8位(最左一位为符号位),用移码表示;尾数为24位(最

左一位为符号位),采用规格化补码表示,则该浮点数能表示的最大正数的阶码为 ① ,尾数为 ② ;规格化最大负数的阶码为 ③ ,尾数为 ④ 。

整理人:杜鹏

(用二进制编码回答)(书上:最小负数的阶码为 ③ ,尾数为 ④ 答:① 11111111 ② 011111111111111111111111

③ 11111111 ④ 100000000000000000000000

(5) 设有效信息位的位数为N, 校验位数为K,则能够检测出一位出错并能自动纠

错的海明校验码应满足的关系是 ① 。 答:① 2K-1≥N+K

2.27 是非题

(1) 设[x]补=0.x1x2x3x4x5x6x7,若要求x>1/2成立,则需要满足的条件是x1必须为

1,x2~x7至少有一个为1。 √ (2) 一个正数的补码和它的原码相同,而与它的反码不同。 × (3) 浮点数的取值范围取决于阶码的位数,浮点数的精度取决于尾数的位数。 √ (4) 在规格化浮点表示中,保持其他方面不变,只是将阶码部分由移码表示改为

补码表示,则会使该浮点表示的数据表示范围增大。 ×

(5) 在生成CRC校验码时,采用不同的生成多项式,所得到CRC校验码的校错

能力是相同的。 ×

第三章 作业解答 作业 三 (1)

3.1 已知[x]补、[y]补,计算[x+y]补和[x-y]补,并判断溢出情况。

(1) [x]补=0.11011 [y]补=0.00011 (2) [x]补=0.10111 [y]补=1.00101 (3) [x]补=1.01010 [y]补=1.10001

解:(1) [x]补=0.11011 [y]补=0.00011 [-y]补=1.111101 [x+y]补=0.11011+0.00011=0.11110 [x-y]补=0.11011+1.111101=0.11000

(2)[x]补=0.10111 [y]补=1.00101 [-y]补=0.11011 [x+y]补=0.10111+1.00101=1.11100

[x-y]补=0.10111+0.11011=1.10010 溢出

(3)[x]补=1.01010 [y]补=1.10001 [-y]补=0.01111 [x+y]补=1.01010+1.10001=0.11011 溢出 [x-y]补=1.01010+0.01111=1.11001

3.2 已知[x]补、[y]补,计算[x+y]变形补和[x-y]变形补,并判断溢出情况。 (1) [x]补=100111 [y]补=111100 (2) [x]补=011011 [y]补=110100 (3) [x]补=101111 [y]补=011000

解:(1)[x]变形补=1100111 [y]变形补=1111100 [-y]变形补=0000100 [x+y]变形补=1100111+1111100=1100011 [x-y]变形补=1100111+0000100=1101011

(2)[x]变形补=0011011 [y]变形补=1110100 [-y] ]变形补=0001100 [x+y]变形补=0011011+1110100=0001111

[x-y]变形补=0011011+0001100=0100111 溢出

(3) [x]变形补=1101111 [y]变形补=0011000 [-y]变形补=1101000 [x+y]变形补=1101111+0011000=0000111

[x-y]变形补=1101111+1101000=1010111 溢出

整理人:杜鹏

3.4 分别用原码一位乘法和补码一位乘法计算[x×y]原和[x×y]补。 (1) x=0.11001 y=0.10001 (2) x=0.01101 y=-0.10100 (3) x=-0.10111 y=0.11011 (4) x=-0.01011 y=-0.11010 解:(1)[x×y]原=0.0110101001 [x×y]补=0.0110101001 (2)[x×y]原=1.0100000100 [x×y]补=1.1011111100 (3)[x×y]原=1.1001101101 [x×y]补=1.0110010011 (4)[x×y]原=0.0100011110 [x×y]补=0.0100011110

3.5 分别用原码两位乘法和补码两位乘法计算[x×y]原和[x×y]补。 (1) x=0.11001 y=0.10001 (2) x=0.10101 y=-0.01101 (3) x=-0.01111 y=0.11101 (4) x=-0.01001 y=-0.10010 解: (1) [x×y]原=0.0110101001 [x×y]补=0.0110101001 (2)[x×y]原=1.0100010001 [x×y]补=1.1011101111 (3)[x×y]原=1.0110110011 [x×y]补=1.1001001101 (4)[x×y]原=0.0010100010 [x×y]补=0.0010100010

3.6 分别用原码不恢复余数法和补码不恢复余数法计算[x/y]原和[x/y]补。(1) (4) (1) x=0.01011 y=0.10110

[x/y]原=0.10000 [x/y]补=0.10000 or [x/y]补=0.10001 (2) x=0.10011 y=-0.11101

[x/y]原=1.10100 [x/y]补=1.01100 or [x/y]补=1.01011 (3) x=-0.10111 y=-0.11011

[x/y]原=0.11100 [x/y]补=0.11101 or [x/y]补=0.11100 (4) x=+10110 y=-00110 [x/y]原=100011 [x/y]补=111101

3.9 已知某机浮点数表示格式如下:

0 1 2 5 6 11 数符 阶符 阶 码 尾 数

其中,浮点数尾数和阶码的基值均为2,阶码用移码表示,尾数用补码表示。设: x=0.110101×2-001 y=-0.100101×2+001

试用浮点运算规则计算x+y、x-y、x×y、x/y。(要求写出详细运算步骤,并进行规格化)。 解:机器数 [x]补=0 01111 110101 [y]补=1 10001 011011 [-y]补=0 10001 100101 (1)x+y 机器数 [x+y]补=1 10000 010000 x+y=-0.110000×20

对阶: [Δe]移=[ex]移+[-ey]补=01111+11111=01110,Δe=ex-ey=-00010 小阶对大阶:[x]补=0 10001 001101

[x+y]补=1 10000 010000 x+y=-0.110000×20 (2)x-y

[x-y]补=0 10001 110010 x-y=0.110010×21

(3)x×y x×y=-0.111110×2-001=-0.111110×2-1

阶码相加:[ex+ey]移=[ex]移+[ey]补=01111+00001=10000

尾数可采用定点补码乘法(双符号位):[Sx×Sy]补=[Sx]补×[Sy]补=11.100001010111

整理人:杜鹏

规格化:[x×y]补=1 01111 000010 x×y=-0.111110×2-001=-0.111110×2-1 (4)x/y

尾数|Sx|>|Sy|,Sx右移得:[Sx]补=00.011010,[ex]移=10000, 阶码相减:[ex-ey]移=[ex]移+[-ey]补=10000+11111=01111

尾数用补码不恢复余数法:[Sx/Sy]补=[Sx]补×[Sy]补=1.010011(恒置1) OR 1.010100(校正) 规格化:[x/y]补=1 01111 010011 OR 1 01111 010100 x/y=-0.101101×2-001 OR -0.101100×2-001 3.10

A C Cn Cn+1 ALU AND1 寄存器B B B AND2 CR & 移 位 脉 冲 时钟脉冲 CT Q 启动 结束 Cn Cn Cn+1 Cn+1 00. 0 0 0 0 0 1 0 0 1 1 0 0 00. 0 0 0 0 0 0 1 0 0 1 1 0 -x 00. 1 1 0 0 1 00. 1 1 0 0 1

00. 0 1 1 0 0 1 0 1 0 0 1 1 00. 0 0 1 1 0 0 1 0 1 0 0 1 +x 11. 0 0 1 1 1 11. 0 1 1 0 1

11. 1 0 1 1 0 1 0 1 0 1 0 0 11. 1 1 0 1 1 0 1 0 1 0 1 0 -x 00. 1 1 0 0 1

00. 1 0 1 0 0 0 1 0 1 0 1 0

得 [X×Y]补=0.1010001010 X×Y=0.1010001010 寄存器 A B C

运算初态 00 00000 11 00111 1001100 运算终态 00 10100 11 00111 0101010

3.11 说明定点补码和浮点补码加减运算的溢出判断方法。 答:⑴ 定点补码加减运算的溢出判断方法:

① 根据两个操作数的符号与结果的符号判别溢出:????ffffffffffsysxsyxsyxOVR??=+= ② 根据两数相加时产生的进位判别溢出:OVR=Cf⊕C1 ③ 根据变形补码运算后的符号判别溢出: sf1sf2=00,表示结果为正数,无溢出; sf1sf2=11,表示结果为负数,无溢出; sf1sf2=01,表示结果为正溢出; sf1sf2=10,表示结果为负溢出。

整理人:杜鹏

⑵ 浮点补码加减运算的溢出判断方法

浮点补码加减运算的溢出通常是指浮点数上溢,浮点数是否溢出是由阶码是否大于浮点数所能表示的最大正阶来判断的。

例如,设浮点数的阶码采用补码表示,双符号位,这时浮点数的溢出与否可由阶码的符号进行判断:

若阶码 [j]补=01 ××?×,则表示出现上溢,需作溢出处理;

符号

若阶码 [j]补=10 ××?×,则表示出现下溢,按机器零处理。 3.14 利用用十进制加减运算算法计算下列各题:

(1) 125+436=? (2) 125-436=? (3) 436-125=? 解: (1) 125+436=561 (2) 125-436=-311 (3) 436-125=311

3.16 设有一个16位定点补码运算器,数据最低位的序号为1。运算器可实现下述功能: (1) A±B→A

(2) B×C→A、C(乘积高位在A中) (3) A÷B→C(商在C中)

请设计并画出运算器第3位及A、C寄存器第三位输入逻辑。加法器本身逻辑可以不画,原始操作数输入问题可以不考虑。 解:见附页

3.19 设一个8位寄存器中的内容为十六进制数C5H,连续经过一次算术右移、一次逻辑左移、一次大循环右移、一次小循环左移。写出每次移位后寄存器的内容和进位标志C的状态。 解:C5H=11000101 C 寄存器

一次算术右移: 1 11100010 一次逻辑左移: 1 11000100 一次大循环右移: 0 11100010 一次小循环左移: 1 11000101

3.21 选择题

(1) 运算器的核心部分是 C 。

A. 数据总线 B. 累加寄存器 C. 算术逻辑运算单元 D. 多路开关 (2) 在浮点运算中下面的论述正确的是 C 。

A. 对阶时应采用向左规格化

B. 对阶时可以使小阶向大阶对齐,也可以使大阶向小阶对齐

C. 尾数相加后可能会出现溢出,但可采用向右规格化的方法得出正确结论 D. 尾数相加后不可能得出规格化的数

(3) 当采用双符号位进行数据运算时,若运算结果的双符号位为01,则表明运算

B 。

A. 无溢出 B. 正溢出 C. 负溢出 D. 不能判别是否溢出 (4) 补码加法运算的规则是 B 。

A. 操作数用补码表示,符号位单独处理 B. 操作数用补码表示,连同符号位一起相加 C. 操作数用补码表示,将加数变补,然后相加 D. 操作数用补码表示,将被加数变补,然后相加

整理人:杜鹏

(5) 原码乘除法运算要求 C 。

A. 操作数必须都是正数 B. 操作数必须具有相同的符号位 C. 对操作数符号没有限制 D. 以上都不对

(6) 进行补码一位乘法时,被乘数和乘数均用补码表示,运算时 A 。

A. 首先在乘数最末位yn后增设附加位yn+1,且初始yn+1=0,再依照ynyn+1的值

确定下面的运算。

B. 首先在乘数最末位yn后增设附加位yn+1,且初始yn+1=1,再依照ynyn+1的值

确定下面的运算。

C. 首先观察乘数符号位,然后决定乘数最末位yn后附加位yn+1的值,再依照

ynyn+1的值确定下面的运算。

D. 不应在乘数最末位yn后增设附加位yn+1,而应直接观察乘数的末两位yn-1yn

确定下面的运算。

(7) 下面对浮点运算器的描述中正确的是 A 。

A. 浮点运算器由阶码部件和尾数部件实现。 B. 阶码部件可实现加、减、乘、除四种运算。 C. 阶码部件只能进行阶码的移位操作。 D. 尾数部件只能进行乘法和加法运算。 (8) 若浮点数的阶码和尾数都用补码表示,则判断运算结果是否为规格化数的方法是

C 。

A. 阶符与数符相同为规格化数。 B. 阶符与数符相异为规格化数。

C. 数符与尾数小数点后第一位数字相异为规格化数。 D. 数符与尾数小数点后第一位数字相同为规格化数。

(9) 已知[x]补=1.01010,[y]补=1.10001,下列答案正确的是 D 。

A. [x]补+[y]补=1.11011 B. [x]补+[y]补=0.11011 C. [x]补-[y]补=0.11011 D. [x]补-[y]补=1.11001 (10) 下列叙述中概念正确的是 D 。

A. 定点补码运算时,其符号位不参加运算。

B. 浮点运算中,尾数部分只进行乘法和除法运算。 C. 浮点数的正负由阶码的正负符号决定。

D. 在定点小数一位除法中,为了避免溢出,被除数的绝对值一定要小于除数的

绝对值。

3.22 填空题

(1) 在补码加减运算中,符号位与数据 ① 参加运算,符号位产生的进位 ② 。

答:① 按同样规则一起 ② 自动丢失

(2) 在采用变形补码进行加减运算时,若运算结果中两个符号位 ① ,表示发生了

溢出。若结果的两个符号位为 ② ,表示发生正溢出;为 ③ ,表示发生负溢出。

答:① -55 ② 11110010 ③ +73 ④ 01001001

(3) 在原码一位乘法的运算过程中,符号位与数值位 ① 参加运算,运算结果的符

号位等于 ② 。

答:① 分别 ② 两操作数的符号的模2加(异或)

(4) 浮点乘除法运算的运算步骤包括: ① 、 ② 、 ③ 、 ④ 和 ⑤ 。 答:① 阶码运算 ② 溢出判断 ③ 尾数乘除运算 ④ 结果规格化处

整理人:杜鹏

理 ⑤ 舍入处理

(5) 在浮点运算过程中,如果运算结果的尾数部分不是 ① 形式,则需要进行规格化处理。设尾数采用补码表示形式,当运算结果 ② 时,需要进行右规操作;当运算结果 ③ 时,需要进行左规操作。

答:① 规格化 ② 溢出 ③ 不是规格化数

(6) 将两个8421BCD码相加,为了得到正确的十进制运算结果,需要对结果进行修正,其修正方法是 ① 。

答:① 两个8421码相加后,若相加的和数<10,则不需修正,按二进制规

则相加的结果就是正确的8421码的和数;若相加的和数≥10,则需在二进制相加的结果上加“0110”进行修正。

(7) 浮点运算器由 ① 和 ② 两部分组成,它们本身都是定点运算器,其中①要求能够进行 ③ 运算;②要求能够进行 ④ 运算。

答:① 阶码部件 ② 尾数部件 ③ 加减 ④ 加减乘除

(8) 设有一个16位的数据存放在由两个8位寄存器AH和AL组成的寄存器AX中,其中数据的高8位存放在AH寄存器中,低8位存放在AL寄存器中。现需要将AX中的数据进行一次算术左移,其操作方法是:先对 ① 进行一次 ② 操作,再对 ③ 进行一次 ④ 操作。

答:① AL ② 算术左移 ③ AH ④ 带进位循环左移

3.23 是非题

(1)运算器的主要功能是进行加法运算。 ×

(2)加法器是构成运算器的主要部件,为了提高运算速度,运算器中通常都采用并行

加法器。 √

(3)在定点整数除法中,为了避免运算结果的溢出,要求|被除数|<|除数|。 √

(4)浮点运算器中的阶码部件可实现加、减、乘、除运算。 ×

(5)根据数据的传递过程和运算控制过程来看,阵列乘法器实现的是全并行运算。 √

(6)逻辑右移执行的操作是进位标志位移入符号位,其余数据位依次右移1位,最低位移入进位标志位。×

第四章 作业解答

4.1 静态MOS存储器与动态MOS存储器存储信息的原理有何不同?为什么动态MOS存储器需要刷新?一般有哪几种刷新方式?

答:静态MOS存储器利用一个双稳态触发器存储一个二进制位,只要不断电就可以保持其中存储的二进制数据不丢失。

动态MOS存储器使用一个MOS管和一个电容来存储一位二进制信息。用电容来存储信息减少了构成一个存储单位所需要的晶体管的数目。

由于动态MOS存储器中的电容会产生漏电,因此DRAM存储器芯片需要频繁的刷新操作。 动态存储器的刷新方式通常有:

整理人:杜鹏

集中式刷新方式、分散式刷新方式、异步式刷新方式

4.2 某一64K×1位的动态RAM芯片,采用地址复用技术,则除了电源和地引脚外,该芯片还应有那些引脚?各为多少位?

解:地址线:采用地址复用技术,可为16/2=8位 数据线:1位;读写线WR/:1位;片选信号CS:1位 或 行选通信号RAS:1位;列选通信号CAS:1位

4.6 假设某存储器地址长为22位,存储器字长为16位,试问: (1)该存储器能存储多少字节信息? (2)若用64K×4位的DRAM芯片组织该存储器,则需多少片芯片?

(3)在该存储器的22位地址中,多少位用于选片寻址?多少位用于片内寻址? 答:(1)该存储器可存储222×2=223=8MB的信息。 (2)需要芯片 222×16/64×210×4=28=256

(3)22位地址中,16位用于片内寻址,6位用于选片寻址。

4.7某8位计算机采用单总线结构,地址总线17根(016?A,16A为高位),数据总线8根双向(07?D),控制信号WR/(高电平为读,低电平为写)。已知该机的I/O设备与主存统一编址,若地址空间从0连续编址,其地址空间分配如下:最低16K为系统程序区,由ROM芯片组成;紧接着48K为备用区,暂不连接芯片;接着60K为用户程序和数据空间,用静态RAM芯片组成;最后4K为I/O设备区。现有芯片如下:

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y6 Y7 D0-D7 D0-D7 A13-A0 A13-A0 CS OE CS WE A B C A B C F & 3-8译码器 16KBRAM 16KBROM EN

ROM:16k×8位,其中CS:为片选信号,低电平有效,OE:为读出控制,低电平读出有效。 静态RAM:16K×8位,其中CS :为片选信号,低电平有效,WE:为写控制信号,低电平写,高电平读。

译码器:3—8译码器。输出低电平有效。 与非门:扇入系数不限。

试画出主存芯片连接的逻辑图并写出各芯片地址分配表(假设存储器从0连续进行编址)。 答:⑴ 共需5片,其中1片16K×8 ROM,4片16K×8 SRAM ⑵ 各芯片地址分配表

00000H ~ 03FFFH 系统程序区 16KB 04000H ~ 0FFFFH 备用区 48KB

10000H ~ 1EFFFH 用户程序区和数据空间 60KB 1F000H ~ 1FFFFH I/O设备区 4K

0 0000 0000 0000 0000 ~ 0 0011 1111 1111 1111 A16A15A14=000 ROM 1片 0 0100 0000 0000 0000 ~ 0 1111 1111 1111 1111 备用区

1 0000 0000 0000 0000 ~ 1 0011 1111 1111 1111 A16A15A14=100 16KRAM 第1片 1 0100 0000 0000 0000 ~ 1 0111 1111 1111 1111 A16A15A14=101 16KRAM 第2片 1 1000 0000 0000 0000 ~ 1 1011 1111 1111 1111 A16A15A14=110 16KRAM 第3片

1 1100 0000 0000 0000 ~ 1 1110 1111 1111 1111 A16A15A14=111 A13A12≠11 12KRAM 第4片

1 1111 0000 0000 0000 ~ 1 1111 1111 1111 1111 A16A15A14=111 A13A12=11 4K I/O设备区 0 0000 0000 0000 0000 ~ 0 0011 1111 1111 1111 00000H ~ 03FFFH 0 0100 0000 0000 0000 ~ 0 1111 1111 1111 1111 04000H ~ 0FFFFH 1 0000 0000 0000 0000 ~ 1 0011 1111 1111 1111 10000H ~ 13FFFH 1 0100 0000 0000 0000 ~ 1 0111 1111 1111 1111 14000H ~ 17FFFH 1 1000 0000 0000 0000 ~ 1 1011 1111 1111 1111 18000H ~ 1BFFFH

整理人:杜鹏

1 1100 0000 0000 0000 ~ 1 1110 1111 1111 1111 1C000H ~ 1EFFFH 1 1111 0000 0000 0000 ~ 1 1111 1111 1111 1111 1F000H ~ 1FFFFH ⑶ 主存芯片与CPU的连接逻辑图

ROM RAM RAM RAM RAM A13~A0 R/W 3—8译码器 MEMR EN A16 A15 A14 C B A D7~D0 A13 A12

4.9 已知某8位机的主存采用4K×4位的SRAM芯片构成该机所允许的最大主存空间,并选用模块板结构形式,该机地址总线为18位,问:

(1)若每个模块板为32K×8位,共需几个模块板?

(2)每个模块板内共有多少块4K×4位的RAM芯片?请画出一个模块板内各芯片连接的逻辑框图。

(3)该主存共需要多少4K×4位的RAM芯片?CPU如何选择各个模块板? 答:

(1)主存总容量 218×8=256K×8,∵每个模块板为32K×8位,∴ 共需256K/32K=8个模块板。

(2)每个模块板内共有32K×8位/4K×4位=16片RAM芯片。 一个模块板内各芯片连接的逻辑框图:

RAM0 RAM1 RAM2 RAM3 RAM4 RAM7 A11~A0 R/W 3—8译码器 A14 A13 A12 D7~D0 MEMR EN C B A ? ? D7~D4 D3~D0 RAM0 RAM1 RAM2 RAM3 RAM4 RAM7 ?

(3)该主存共需要16×8=128片4K×4位的RAM芯片。用地址高3位,通过3-8译码器形成各模板选择信号。

4.10 64K×1位DRAM芯片通常制成两个独立的128×256阵列。若存储器的读/写周期为

0.5μs,则对集中式刷新而言,其“死区”时间是多少?如果是一个256K×1位的DRAM芯片,希望能与上述64K×1位DRAM芯片有相同的刷新延时,则它的存储阵列应如何安排? 解:⑴ 两个独立的128×256阵列共128×2=256行,读/写周期为0.5μs 对集中式刷新而言,其“死区”时间为:256×0.5μs=128μs

⑵ 要求256K×1位的DRAM芯片与64K×1位DRAM芯片有相同的刷新延时,则存储阵列的行数应一致,即为256行,所以256K×1位的DRAM芯片的存储阵列应安排为256×1024,即分为两个独立的128×1024的阵列。

4.11 某磁盘组有16个数据记录面,每面有256个磁道,每个磁道分为16个扇区,每个扇区包括512字节,已知磁盘内磁道直径为10英寸,外磁道直径为14英寸,转速为3600r/min, 磁头平均定位时间为15ms,求:

(1)该磁盘组最大存储容量是多少?

(2)该磁盘组最大位密度、磁道密度是多少? (3)该磁盘的平均存取时间、数据传输率是多少?

答:(1)该磁盘组最大存储容量是:C=n×T×S×B=16×256×16×512B=32MB=225B (2)最大位密度 16×512×8/10π=2087位/英寸=2087bpi 磁道密度256/(14/2-10/2)=256/2=128道/英寸=128 tpi (3)平均存取时间

数据传输率:Dr=16×512×8×3600/60=3932160bit/s=491520B/秒=480KB/s 平均等待时间:60/(3600×2)=8.3ms 平均存取时间:8.3+15=23.3 ms

考虑:启动延迟+传送一个扇区数据所需的时间。启动延迟未给,忽略。 传送一个扇区数据所需的时间=512B/480KB≈1.042ms 平均存取时间:8.3+15+1.042≈24.3ms

4.12 若某机磁盘子系统共有4台驱动器,每台驱动器装有与上述磁盘组相同的磁盘组,请设

整理人:杜鹏

计该磁盘子系统的地址格式。 答: 17 16 15 8 7 4 3 0

驱动器号(2位) 圆柱面号(8位) 盘面号(4位) 扇区号(4位)

补充题:

1. 请用2K×8bit的SRAM设计一个8K×32bit的存储器,并画出存储器与CPU的连接原理图。 要求:⑴ 存储器可以分别被控制访问8,16,32位数据,控制信号B1B0由CPU提供: 当B1B0=00时访问32位数据; 当B1B0=01时访问16位数据; 当B1B0=10时访问8位数据。

⑵ 存储芯片地址按交叉方式编址。 ⑶ 满足整数边界地址的安排。

解:⑴ 共需芯片 4×4=16片。其中字扩展为4组,位扩展为4片。

共需15根地址线,其中:用A1A0控制位扩展的各片,片内地址A12~A2,高位A14A13作为字扩展各组片选信号。

2K×8(1) 2K×8(2) 2K×8(3) 2K×8(4) CS3 CS2 CS1 CS0 D32~ D24 D23~ D16 D15~ D8 D7~ D0 A12~A2 ⑵ 设每组中数据位数从高到低依次为第一片→第四片。 选中第一片时,C=1,选中第二片时,D=1, 选中第三片时,E=1,选中第四片时,F=1, 有下列逻辑关系: B1B0A1A0 CDEF 说明 0000 1111

访问32位数据 0001 0000 不访问 0010 0000 不访问 0011 0000 不访问 0100 0011

整理人:杜鹏

访问低16位数据 0101 0000 不访问 0110 1100

访问高16位数据 0111 0000 不访问 1000 0001

访问低8位数据D7~D0 1001 0010

访问次低8位数据D15~D8 1010 0100

访问次高8位数据D23~D16 1011 1000

访问高8位数据D31~D24 即:

C=010101010101AABBAABBAABB++ D=010101010101AABBAABBAABB++ E=010101010101AABBAABBAABB++ F=010101010101AABBAABBAABB++ A14A13通过2-4译码器产生4个片选信号30YY~, 各芯片的片选信号:

CYCS03+=;DYCS02+=;EYCS01+=;FYCS00+= CYCS17+=;DYCS16+=;EYCS15+=;FYCS14+= CYCS211+=;DYCS210+=;EYCS29+=;FYCS28+= CYCS315+=;DYCS314+=;EYCS313+=;FYCS312+=

2. 某机主存容量为128MB,Cache容量为32KB,主存与Cache均按64B的大小分块。

⑴ 分别写出主存与Cache采用直接映像和全相联映像时主存与Cache地址的结构格式并标出各个字段的位数。

⑵ 若Cache采用组相联映像,每组块数为4块。写出主存与Cache地址的结构格式并标出各个字段的位数。并回答一个主存块可以映像到多少个Cache块中?一个Cache块可与多少个主存块有对应关系?

答:主存容量为128MB,Cache容量为32KB=215B,块的大小为64B=26 B,每组中的块数为4=22块,

Cache可分为32KB /64B=512=29块,共可分为512/4=128=27组;主存按照Cache的容量可分为128MB/32KB=4096=212个区,每个区中共32KB /64B=512=29块;

⑴ 主存与Cache采用直接映像时主存与Cache地址的结构格式及各个字段的位数 主存地址的结构:27位 12位

整理人:杜鹏

9位 6位 区号 块号

块内偏移地址

Cache地址的结构:15位 9位 6位 块号

块内偏移地址

一个主存块可以映像到一个Cache块中,一个Cache块可与212个主存块有对应关系。 主存与Cache采用全相联映像时主存与Cache地址的结构格式及各个字段的位数 21位 6位 块号

块内偏移地址 Cache地址的结构 9位 6位 块号

块内偏移地址

一个主存块可以映像到29个Cache块中,一个Cache块可与221个主存块有对应关系。 ⑵主存与Cache采用组相联映像时主存与Cache地址的结构格式及各个字段的位数 主存地址的结构 12位 7位 2位 6位 区号 组号 组内块号 块内偏移地址 Cache地址的结构 7位 2位 6位 组号 组内块号 块内偏移地址

因为每组块数为4块,所以一个主存块可以映像到4个Cache块中; 一个Cache块可与212×4=214个主存块有对应关系。 4.16 选择题

(1)需要定期刷新的存储芯片是___ B ___。

A. EPROM B. DRAM C. SRAM D. EEPROM

整理人:杜鹏

(2)__ A ____存储芯片是易失性的。

A. SRAM B. UV-EPROM C. NV-RAM D. EEPROM

(3)有RAS和CAS引脚的存储芯片是___ B ___。

A. EPROM B. DRAM C. SRAM D. 三者都是 (4)下面叙述不正确的是___C ___。

A.半导体随机存储器可随时存取信息,掉电后信息丢失。 B. 在访问随机存储器时,访问时间与单元的物理位置无关。 C. 内存储器中存储的信息均是不可改变的。 D. 随机存储器和只读存储器可以统一编址。

(5)动态RAM与静态RAM相比,其优点是___C ___。

A. 动态RAM的存储速度快。 B. 动态RAM不易丢失数据。

C. 在工艺上,比静态RAM的存储密度高。 D. 控制比静态RAM简单。 (6)某512×8位RAM芯片采用一位读/写线控制读写,该芯片的引脚至少有___ C ___。 A. 17条 B. 19条 C. 21条 D. 522条

(7)在调频制记录方式中,写“0”和写“1”是利用___ ___。

A. 电平的高低变化 B. 电流的幅值变化 C. 电流的相位变化 D. 电流的频率变化

(8)由于磁盘上内圈磁道比外圈磁道短,因此__ B ____。

A. 内圈磁道存储的信息比外圈磁道少

B. 无论哪条磁道存储的信息量均相同,但各磁道的存储密度不同 C. 内圈磁道的扇区少使得它存储的信息比外圈磁道少

D. 各磁道扇区数相同,但内圈磁道上每扇区存储的信息少

(9)某存储器按字节编址,要求数据传输率达到8×106字节/秒,则应选用存储

周期为 _D___的存储芯片。 A. 800ns B. 250ns C. 200ns D. 120ns

(10)在下述存储器中,允许随机访问的存储器是___A ___。 A. 半导体存储器 B. 磁带 C. 磁盘 D. 光盘

(11)在下列几种存储器中,不能脱机保存信息的是___ C ___。 A. 磁盘 B. 磁带 C. RAM D. 光盘 4.17 是非题

(1)数据引脚和地址引脚越多芯片的容量越大。 √ (2)存储芯片的价格取决于芯片的容量和速度。 √ (3)SRAM每个单元的规模大于DRAM的。 √

(4)要访问DRAM,应首先给出RAS地址,之后再给出CAS地址。 √ (5)当CPU要访问数据时,它先访问虚存,之后再访问主存。 × (6)EDO和FPM都是页模式的DRAM。 √

(7)主存与磁盘均用于存放程序和数据,一般情况下,CPU从主存取得指令和数据,

如果在主存中访问不到,CPU才到磁盘中取得指令和数据。 √

(8)半导体存储器是一种易失性存储器,电源掉电后所存信息均将丢失。 ×

(9)Cache存储器保存RAM存储器的信息副本,所以占部分RAM地址空间。 × 4.18 填空题

整理人:杜鹏

(1)Cache使用的是 ① 存储芯片。

答:① SRAM

(2)主存由 ① (DRAM、硬盘)构成,虚存由 ② (DRAM、硬盘)构成。

答:① DRAM ② 硬盘 (3) ① (EDO、FPM)DRAM中,当CAS变高后,数据就在数据总线上消失了。

答:① FPM

(4)衡量非格式化硬盘的一个磁表面存储容量的两个指标是 ① 和 ② 。

答:① 道密度 ② 位密度 (5)Cache存储器的主要作用是解决 ① 。

答:① CPU与主存间速度匹配问题

(6)存储器的取数时间是衡量主存 ① 的重要指标,它是从 ② 到 ③ 的时间。

答:① 速度 ② 把要访问的存储单元的地址,加载到存储器芯片的地址引脚上

③ 到读取的数据或指令在存储器芯片的数据引脚上可以使用为止 (7)磁盘的技术指标可用平均存取时间衡量,它包括 ① _和 ② 两个部分。

答:① 平均磁道定位时间 ② 平均旋转等待时间 (8)SRAM与DRAM中速度高的是 ① ,集成度高的是 ② 。

答:① SRAM ② DRAM

(9)某存储器数据总线宽度为32位,存取周期为250ns,则其带宽是 ① 。

答:① 128Mbit/s

(10)磁盘等磁表面存储器的写入电流波形决定了记录方式,此外还反映了该记录方式

是否有 ① 能力。

答:① 自同步

第五章 作业解答

5.3 什么叫寻址方式?有哪些基本的寻址方式?简述其寻址过程。 答:寻址方式就是指形成本条指令的操作数地址和下一条要执行的指令地址的方法。根据所需的地址信息的不同,寻址可分为操作数地址的寻址和指令地址的寻址两部分。 基本的寻址方式:

立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、变址寻址、基址寻址、基址加变址寻址、堆栈寻址、相对寻址。 5.8 转子指令与转移指令有哪些异同?

答:转子指令与转移指令的执行结果都是实现程序的转移,但两者的区别在于:转移指令的功能是转移到指令给出的转移地址处去执行指令,一般用于同一程序内的转移,转移后不需要返回原处,因此不需要保存返回地址。转子指令的功能是转去执行一段子程序,实现的是不同程序之间的转移。因为子程序执行完后必须返回主程序,所以转子指令必须以某种方式保存返回地址,以便返回时能正确返回到主程序原来的位置。

5.9 设某机指令长为16位,每个操作数的地址码为6位,指令分为单地址指令、双地址指令和零地址指令。若双地址指令为K条,零地址指令为L条,问最多可有多少条单地址指令? 答:双地址指令的操作码占4位,可有24条指令,现占了K条。

整理人:杜鹏

单地址指令的操作码占10位,可有(24-K)×26条指令;

零地址指令的操作码占16位,现需要L条指令,单地址指令要让出??????62L条指令,所以 单地址指令可有(24-K)×26-??????62L 条

5.10 设某机指令长为16位,每个地址码长为4位,试用扩展操作码方法设计指令格式。其中三地址指令有10条,二地址指令为90条,单地址指令32条,还有若干零地址指令,问零地址指令最多有多少条?

答:{[(24-10)×16-90]×16-32}×16=1024条 5.11 5.12

5.13 选择题

(1) 计算机系统中,硬件能够直接识别的指令是 A 。

A. 机器指令 B. 汇编语言指令 C. 高级语言指令 D. 特权指令 (2) 指令系统中采用不同的寻址方式的主要目的是 B 。

A. 增加内存的容量 B. 缩短指令长度,扩大寻址范围 C. 提高访问内存的速度 D. 简化指令译码电路

(3) 在相对寻址方式中,若指令中地址码为X,则操作数的地址为 B 。

A. X B. (PC)+X C. X+段基址 D. 变址寄存器+X (4) 在指令的地址字段中直接指出操作数本身的寻址方式,称为 B 。

A. 隐含地址 B. 立即寻址 C. 寄存器寻址 D. 直接寻址 (5) 支持实现程序浮动的寻址方式称为 B 。

A. 变址寻址 B. 相对寻址 C. 间接寻址 D. 寄存器间接寻址 (6) 在一地址指令格式中,下面论述正确的是 C 。

A. 只能有一个操作数,它由地址码提供 B. 一定有两个操作数,另一个是隐含的 C. 可能有一个操作数,也可能有两个操作数

D. 如果有两个操作数,另一个操作数一定在堆栈中。 (7) 在堆栈中,保持不变的是 C 。

A. 栈顶 B. 堆栈指针 C. 栈底 D. 栈中的数据

(8) 在变址寄存器寻址方式中,若变址寄存器的内容是4E3CH,给出的偏移量是

63H则它对应的有效地址是 D 。

A. 63H B. 4D9FH C. 4E3CH D. 4E9FH

(9) 设寄存器R的内容(R)=1000H,内存单元1000H的内容为2000H,内存单元

2000H的内容为3000H,PC的值为4000H。若采用相对寻址方式,-2000H (PC) 访问的操作数是 C 。

A. 1000H B. 2000H C. 3000H D. 4000H (10) 程序控制类指令的功能是 D 。

A. 进行算术运算和逻辑运算

B. 进行主存与CPU之间的数据传送

C. 进行CPU和I/O设备之间的数据传送 D. 改变程序执行的顺序

(11) 算术右移指令执行的操作是 B 。

A. 符号位填0,并顺次右移1位,最低位移至进位标志位 B. 符号位不变,并顺次右移l位,最低位移至进位标志位

C. 进位标志位移至符号位,顺次右移1位,最低位移至进位标志位

整理人:杜鹏

D. 符号位填1,并顺次右移1位,最低位移至进位标志位 (12) 下列几项中,不符合RISC指令系统的特点是 B 。

A. 指令长度固定,指令种类少

B. 寻址方式种类尽量多,指令功能尽可能强 C. 增加寄存器的数目,以尽量减少访存次数

D. 选取使用频率最高的一些简单指令以及很有用但不复杂的指令

5.14 填空题

(1) 一台计算机所具有的所有机器指令的集合称为该计算机的 ① 。它是计算

机与 ② 之间的接口。

答:① 指令系统 ② 用户

(2) 在指令编码中,操作码用于表示 ① ,n位操作码最多可以表示 ② 条

指令。地址码用于表示 ③ 。 答:① 指令应执行的操作和应具有的功能 ② 2n ③ 与操作数据

相关的地址信息

(3) 在寄存器寻址方式中,指令的地址码部分给出的是 ① ,操作数存放在 ② 。 答:① 某一寄存器的编号 ② 寄存器中

(4) 采用存储器间接寻址方式的指令中,指令的地址码中字段中给出的是 ①

所在的存储器单元地址,CPU需要访问内存 ② 次才能获得操作数。 答:① 是操作数的有效地址EA ② 2

(5) 操作数直接出现在指令的地址码字段中的的寻址方式称为 ① 寻址;操作

数所在的内存单元地址直接出现在指令的地址码字段中的的寻址方式称为 ② 寻址。

答:① 立即寻址 ② 直接寻址

(6) 相对寻址方式中,操作数的地址是由 ① 与 ② 之和产生的。 答:① PC当前的内容 ② 形式地址部分给出的位移量 5.14 判断下列各题的正误。如果有误,请说明原因。

(1) 利用堆栈进行算术/逻辑运算的指令可以不设置地址码。 √ (2) 指令中地址码部分所指定的寄存器中的内容是操作数的有效地址的寻址方式

称为寄存器寻址。× 原因:寄存器间接寻址 (3) 一条单地址格式的双操作数加法指令,其中一个操作数来自指令中地址字段

指定的的存储单元,另一个操作数则采用间接寻址方式获得。 × 原因:另一个操作数来自累加器

(4) 在计算机的指令系统中,真正必需的指令种类并不多,很多指令都是为了提

高机器速度和便于编程而引入的。 √

(5) RISC系统的特征是使用了丰富的寻址方式。 ×

原因:RISC系统的特征之一:指令数目较少,指令长度固定,指令格式少,寻址

方式种类少

第六章 作业解答

6.2 6.4 6.5(1)(3)

整理人:杜鹏

6.(2) 6.12 6.15__ 6.21 单选题

(1)程序计数器的功能是___ D ___。

A. 存放微指令地址 B. 计算程序长度

C. 存放指令 D. 存放下条机器指令的地址

(2)CPU从主存取出一条指令并执行该指令的所有时间称为__ D ____。

A. 时钟周期 B. 节拍 C. 机器周期 D. 指令周期

(3)主存中的程序被执行时,首先要将从内存中读出的指令存放到___ D ___。

A. 程序计数器 B. 地址寄存器 C. 指令译码器 D. 指令寄存器

(4)在下列的部件中,不属于控制器的是___ B ___。

A. 程序计数器 B. 数据缓冲器 C. 指令译码器 D. 指令寄存器

(5)为了确定下一条微指令的地址而采用的断定方式的基本思想是___ C __。

A. 用程序计数器PC来产生后继微指令地址 B. 用微程序计数器μPC来产生后继微指令地址

C. 通过微指令顺序控制字段由设计者指定或由设计者指定的判别字段控制产生后继微指令地址。

D. 通过指令中指定一个专门字段来控制产生后继微指令地址 (6)构成控制信号序列的最小单位是__ C ___。

A. 微程序 B. 微指令 C. 微命令 D. 机器指令 (7)微程序控制器中,机器指令与微指令的关系是__ B ___。

A. 每一条机器指令由一条微指令来执行

B. 每一条机器指令由一段用微指令编成的微程序来解释执行 C. 一段机器指令组成的程序可由一条微指令来执行 D. 一条微指令由若干条机器指令组成

6.22 填空题

(1)控制器的主要功能包括 ① 、 ② 和 ③ 等三个功能。

答:① 控制指令的正确执行 ② 控制程序和教据的输入及结果的输出

③ 异常情况和特殊请求的处理法

(2)一般而言,CPU中至少有 ① 、 ② 、 ③ 、 ④ 、 ⑤ 和 ⑥ 六

个寄存器。

答:① 程序计数器PC 、 ② 地址寄存器MAR 、 ③ 数据缓冲寄存器MDR(MBR) 、

④ 指令寄存器IR 、 ⑤ 累加寄存器AC 、 ⑥ 程序状态寄存器PSR

(3)微指令的编码方式有 ① 、 ② 和 ③ 等三种。

答:① 直接控制法 ② 最短编码法 ③ 字段直接编码法

(4)CPU周期也称为 ① 周期,一个CPU周期包括若干个 ② 。

答:① 机器周期 ② 节拍

(5)在程序执行过程中,控制器控制计算机的运行总是处于 ① 、分析指令和 ②

的循环之中。

答:① 取指令 ② 执行指令

(6)微程序控制器的核心部件是 ① ,它一般由 ② 构成。

答:① 控制存储器 ② ROM

整理人:杜鹏

(7)在同一微周期中 ① 的微命令被称为互斥微命令,而在同一微周期中 ② 的

微命令被称为相容微命令。显然, ③ 的微命令不能放在一起译码。 答:① 不允许同时出现的微命令 ② 允许同时出现的微命令 ③ 相容的微命令

(8)由于微程序设计的灵活性,只要简单地改变 ① ,就可改变微程序控制的机器

指令系统。

答:① 微程序

6.23 是非题

(1)在主机中,只有存储器能存放数据。 × (2)一个指令周期由若干个机器周期组成。 √

(3)决定计算机运算精度的主要技术指标是计算机的字长。 √

(4)微程序设计的字段直接编译原则是:同时出现在一条微指令中的微命令放在不同

的字段里,而分时出现的微命令放在同一个字段里。 √

(5)由于微程序控制器采用了存储逻辑,结构简单规整,电路延迟小,而组合逻辑控

制器结构复杂,电路延迟大,所以微程序控制器比组合逻辑控制器的速度快。 × (6)在CPU中,译码器主要用在运算器中选多路输入数据中的一路数据送到ALU。 × (7)控制存储器是用来存放微程序的存储器,它的速度应该比主存储器的速度快。 √ (8)由于转移指令的出现而导致控制相关,因此CPU不能采用流水线技术。 ×