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

更新时间:2023-12-06 02:54:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

整理人:杜鹏

作业解答

第一章 作业解答

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. 操作数用补码表示,将被加数变补,然后相加

整理人:杜鹏

访问低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不能采用流水线技术。 ×

本文来源:https://www.bwwdw.com/article/ijrt.html

Top