您好,欢迎来到花生壳b2b外贸网信息发布平台!
18951535724
  • 计算机组成原理_第四版课后习题答案(完整版)[]

       2026-05-18 网络整理佚名1070
    1111111
    核心提示:第一章1.比较数字计算机和模拟计算机的特点解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按..

    第一章

    1.比较数字计算机和模拟计算机的特点

    解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。两者主要区别见P1表1.1。

    2.数字计算机如何分类?分类的依据是什么?

    解:分类:数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、

    中型机、小型机、微型机和单片机六类。分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。

    通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、

    指令系统规模和机器价格等因素。

    3.数字计算机有那些主要应用?(略)

    4.冯.诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?

    解:冯.诺依曼型计算机的主要设计思想是:存储程序和程序控制。存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。

    主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。

    5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?

    解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位 KBMBGB来度量,存储

    量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地

    址。

    数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。

    6.什么是指令?什么是程序?

    解:指令:计算机所执行的每一个基本的操作。程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。

    7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?

    解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的

    信息即为数据信息。

    什么是内存?什么是外存?什么是 CPU?什么是适配器?简述其功能。

    解:内存:一般由半导体存储器构成,装在底版上,可直接和 CPU交换信息的存储器称为内存

    器,简称内存。用来存放经常使用的程序和数据。外存:为了扩大存储容量,又不使成本有很大的提高,在计算机中还配备了存储容量更大的

    磁盘存储器和光盘存储器,称为外存储器,简称外存。外存可存储大量的信息,计

    机需要使用时,再调入内存。

    CPU包括运算器和控制器。基本功能为:指令控制、操作控制、时间控制、数据加工。适配器:连接主机和外设的部件,起一个转换器的作用,以使主机和外设协调工作。

    计算机的系统软件包括哪几类?说明它们的用途。

    解:系统软件包括:(1)服务程序:诊断、排错等

    (2)语言程序:汇编、编译、解释等

    (3) 操作系统

    (4) 数据库管理系统用途:用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的

    功能

    及用途。

    说明软件发展的演变过程。

    (略)

    现代计算机系统如何进行多级划分?这种分级观点对计算机设计会产生什么影响?

    解:多级划分图见P16图1.6。可分为:微程序设计级、一般机器级、操作系统级、汇编语言级和高级语言级。

    用这种分级的观点来设计计算机,对保证产生一个良好的系统结构是有很大帮助的。

    12.为什么软件能够转化为硬件?硬件能够转化为软件?实现这种转化的媒介是什么?(略)

    13."计算机应用"与"应用计算机"在概念上等价吗?用学科角度和计算机系统的层次结构来寿命你的观点。

    (略)

    第二章

    1.写出下列各数的原码、反码、补码、移码表示(用

    (又是符号位)LSB是最低位。如果是小数,小数点在之后。

    解:(i)先把十进制数-35/64写成二进制小数: (-35/64) 10=(-100011/1000000) 2=(-100011X2-110)2=(-0.100011) 2

    令x=-0.100011B •••原=1.1000110(注意位数为8位) 反=1.0111001 移=0.0111010

    补=1.0111010

    (2) 先把十进制数23/128写成二进制小数:

    (23/128)10=(10111/10000000) 2=(10111X2 -111)2=(0.0001011) 2

    令x=0.0001011B

    • 原=0.0001011 反=0.0001011

    补=0.0001011 移=1.0001011

    (3) 先把十进制数-127写成二进制小数:

    (-127)10=(-1111111)2

    令x=-1111111B

    • 原=1.1111111 反=1.0000000

    补=1.0000001 移=1.0000001

    (4) 令x=-1.000000B

    •原码、反码无法表示

    补=1.0000000 移=0.0000000

    (5) 令Y=-1=-0000001B

    • 原=10000001 反=11111110

    补=11111111 移=01111111

    用小数表示-1(5)用整数表示-1

    2.设补=a0,ai,a2・・・a6,其中ai取0或1,若要x>—0.5,求ao,ai,a2,…,a6的取值。

    解:ao=1,ai=0,a2,…,a6=1…1

    有一个字长为32位的浮点数,阶码10位(包括1位阶符),用移码表示;尾数22位(包

    括1位尾符)用补码表示,基数 R=2o请写岀:

    最大数的二进制表示;

    最小数的二进制表示;

    规格化数所能表示的数的范围;

    最接近于零的正规格化数与负规格化数。

    解:(1)11111111110111111111111111111111

    11111111111000000000000000000000

    11111111110111111111111111111111 〜01111111111000000000000000000000

    00000000000000000000000000000001 〜00000000001111111111111111111111

    将下列十进制数表示成浮点规格化数,阶码 3位,用补码表示;尾数9位,用补码表示。

    27/64

    -27/64

    解:(1)27/64=11011B^'-=0.011011B=0.11011BX-

    浮点规格化数:11110110110000

    -27/64=- 11011BX"「•=-0.011011B=- 0.11011BX:-

    浮点规格化数:11111001010000

    已知X和Y,用变形补码计算 X+Y,同时指岀运算结果是否溢岀。

    X=0.11011 Y=0.00011

    X= 0.11011 Y= -0.10101

    X=-0.10110 Y=-0.00001

    计算机组原理

    解:(1)先写岀x和y的变形补码再计算它们的和

    补=00.11011 补=00.00011

    补=补+补=00.11011+00.00011=0.11110

    ••• x+y=0.1111B 无溢岀。

    先写岀x和y的变形补码再计算它们的和

    补=00.11011 补=11.01011

    补=补+补=00.11011+11.01011=00.00110

    x+y=0.0011B 无溢岀。

    先写岀x和y的变形补码再计算它们的和

    补=11.01010 补=11.11111

    补=补+补=11.01010+11.11111=11.01001

    x+y= -0.10111B 无溢岀

    已知X和Y,用变形补码计算 X-Y,同时指岀运算结果是否溢岀<

    X=0.11011 Y= -0.11111

    X=0.10111 Y=0.11011

    X=0.11011 Y=-0.10011

    解:( 1)先写岀 x 和 y 的变形补码,再计算它们的差

    补=00.11011 补=11.00001 补=00.11111

    补=补+补=00.11011+00.11111=01.11010

    •••运算结果双符号不相等 •••为正溢岀

    X-Y=+1.1101B

    ( 2)先写岀 x 和 y 的变形补码,再计算它们的差

    补=00.10111 补=00.11011 补=11.00101

    补=00.10111+11.00101=11.11100

    • x -y= -0.001B 无溢岀

    ( 3)先写岀 x 和 y 的变形补码,再计算它们的差

    补=00.11011 补=11.01101 补=00.10011

    补=补+补=00.11011+00.10011=01.01110

    •••运算结果双符号不相等 •为正溢岀

    X-Y=+1.0111B

    用原码阵列乘法器、补码阵列乘法器分别计算 XX 丫。

    (1) X=0.11011 Y= -0.11111

    (2) X=-0.11111 Y=-0.11011 解:( 1 )用原码阵列乘法器计算:

    补=0.11011 补=1.00001

    (0) 1 1 0 1 1

    X ) (1) 0 0 0 0 1

    (0) 1 1 0 1

    (0) 0 0 0 0 0

    (0) 0 0 0 0 0

    (0) 0 0 0 0 0

    (0) 0 0 0 0 0

    (0) (1) (1) (0) (1) (1)

    (1) 0 0 1 0 1 1 1 0 1

    补=1.0010111011

    • xXy= -0.1101000101

    用原码阵列除法器计算 X* Y。

    X=0.11000 Y= -0.11111

    X=-0.01011 Y=0.11001

    解:(1)凶 原=凶 补=0.11000 [- I y I]补=1.00001

    被除数X 0.11000

    +[- I y 门补 1.00001

    余数为负 1.11001 fq0=0 左移 1.10010

    +[|y|]补 0.11111

    余数为正 0.10001 iq1=1 左移 1.00010

    +[-|y|]补 1.00001

    余数为正 0.00011 t q2=1 左移 0.00110

    +[-|y|]补 1.00001

    余数为负 1.00111 t q3=0

    左移 0.01110

    +[|y|]补 0.11111

    余数为负 1.01101 t q4=0

    左移 0.11010

    +[|y|]补 0.11111

    余数为负 1.11001 t q5=0

    +[|y|]补 0.11111

    余数 0.11000

    故[x -y]原=1.11000 即 x*y= -0.11000B 余数为 0.11000BX

    设阶为5位(包括2位阶符),尾数为8位(包括2位数符),阶码、尾数均用补码表示 ,完

    成下列取值的 , 运算:

    X=2”'x 0.100101 Y=?川"X(-0.011110)

    ^-101

    X== X( -0.010110 ) Y=丄 X (0.010110)

    解:(1)将 y规格化得:'x(-o.iiiioo)

    浮=1101 , 00.100101 浮=1101, 11.000100 浮=1101 , 00.111100

    ①对阶

    补=补+补=1101+0011=0000

    ••• E x=Ey

    ②尾数相加

    相加 相减

    00.100101

    + 11.000100

    01.100001

    左规浮=1100,11.010010

    右规 浮=1110,00.1100001

    舍入处理得 浮=1110,00.110001

    • x -y=二' X 0.110001

    (2) 浮=1011 , 11.101010 浮=1100, 00.010110 浮= 1100, 11.101010

    对阶

    补=补+补=1011+0100=1111

    • E= -1 浮=1100 , 11.110101(0)

    尾数相加

    相加 相减

    11.110101(0) 11.110101(0)

    + 00.010110 + 11.101010

    11.011111(0)

    左规浮=1010,00.1011000

    浮=1100,11.011111(0)

    -DM

    计算机组原理

    某加法器进位链小组信号为 C4C3C2C1 ,低位来的信号为 C0,请分别按下述两种方式写岀

    C4C3C2C1的逻辑表达式。

    (1)串行进位方式 (2)并行进位方式

    解:(1)串行进位方式:

    C1 = G 1 + P 1 C0 其中:

    C2 = G 2 + P 2 C1

    C3 = G 3 + P 3 C2

    C4 = G 4 + P 4 C3

    (2) 并行进位方式:

    C1 = G 1 + P 1 C0

    C2 = G 2 + P 2 G1 + P 2 P 1 C 0

    4 P3 G2 + P 4 P3 P2 G1 + P 4 P3 P2 P1 C0

    其中 G1-G4 ,P1-P4 表达式与串行进位方式相同

    某机字长16位,使用四片74181组成ALU,设最低位序标注为 0位,要求:

    (1)写岀第5位的进位信号 C6的逻辑表达式;

    ( 2)估算产生 C6 所需的最长时间;

    ( 3)估算最长的求和时间。

    解:(1) 组成最低四位的 74181进位输岀为:C4=G+P Co , O0为向第0位的进位

    其中: G=y3+x3y2+x2x3y 1+x1x2x3y0, P=x 0x1x2x3

    所以 : C5=y4+x4C4

    C6=y5+x5C5=y5+x5y4+x5x4C4

    (2) 设标准门延迟时间为 T,"与或非“门延迟时间为1.5T,则进位信号 C0由最低位传送 至C6需经一个反相器,两级 “与或非"门,故产生C5的最长延迟时间为:

    T+2X 1.5T=4T

    (3) 最长求和时间应从施加操作数到 ALU算起:第一片74181有3级"与或非"门(产生控 制参数 x0, y0Cn+4) ,第二、第三片 74181 共2级反相器和 2级"与或非 "门(进位链),第四片 74181求和逻辑(1级“与或非“门和1级半加器,其延迟时间为 3T),故总的加法时间为:

    T=3X 1.5T+2T+2X 1.5T+1.5T+1.5T+3T=14T

    17 •设A,B,C是三个16位的通用寄存器,请设计一个 16位定点补码运算器,能实现下述功

    能:

    A± B^A

    BX C^A, C (高位积在寄存器 A 中)

    A BtC (商在寄存器 C中)

    解:设计能完成加、减、乘、除运算的

    分析各寄存器作用:

    加 减 乘 除

    A 被加数t和 同左 初始为 0 部分积t乘积(H) 被除数T余数 除数

    B 加数 同左 被乘数

    乘数T乘积(L) 商

    ••• A :累加器(16位),具有输入、输岀、累加功能及双向移位功能;

    B :数据寄存器(16位),具有输入、输岀功能;

    C :乘商寄存器(16位),具有输入、输岀功能及双向移位功能。

    画出框图:

    第三章

    1 •有一个具有 20位地址和32位字长的存储器,问:

    该存储器能存储多少个字节的信息?

    如果存储器由512KX8位SRAM芯片组成,需要多少芯片?

    需要多少位地址作芯片选择?

    解:(1)v 220= 1M, •该存储器能存储的信息为:1MX 32/8=4MB

    ( 1000/512 )X( 32/8 ) = 8 (片)

    需要1位地址作为芯片选择。

    已知某64位机主存采用半导体存储器,其地址码为 26位,若使用256KX 16位的DRAM芯

    片组成该机所允许的最大主存空间,并选用模块板结构形式,问:

    每个模块板为1024KX 64位,共需几个模块板?

    个模块板内共有多少 DRAM芯片?

    主存共需多少 DRAM芯片? CPU如何选择各模块板?

    解:(1). 共需模块板数为 m

    =64 (块)

    .每个模块板内有 DRAM芯片数为n:

    n=(-”-/:') X (64/16)=16 (片)

    主存共需 DRAM芯片为:16X 64=1024 (片)

    每个模块板有16片DRAM芯片,容量为1024KX 64位,需20根地址线(A19~A0)完成

    模块

    板内存储单元寻址。一共有 64块模块板,采用 6根高位地址线(A25〜A20),通过

    6: 64译码器译码产生片选信号对各模块板进行选择。

    用16KX8位的DRAM芯片组成64KX 32位存储器,要求:

    (1)画岀该存储器的组成逻辑框图。

    ⑵ 设存储器读/写周期为0.5卩S, CPU在1卩S内至少要访问一次。试问采用哪种刷新方式比 较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多 少?

    解: (1)组成64KX 32位存储器需存储芯片数为 N= ( 64K/16K )X( 32 位/8 位)=16 (片) 每4片组成16KX 32位的存储区,有 A13-A0作为片内地址,用 A15 A 14经2: 4译码器

    产生片选信号二Ti 「二:,逻辑框图如下所示:

    (2)依题意,采用异步刷新方式较合理,可满足 CPU在 1卩S内至少访问内存一次的要求。

    设16KX8位存储芯片的阵列结构为 128行X 128列,按行刷新,刷新周期 T=2ms则异

    刷新的间隔时间为:

    2込七gS)

    128

    则两次刷新的最大时间间隔发生的示意图如下

    IREFI 1 KEF II |KEF

    -^C.5 1 % 气 LL 它 —+ 1 气 S LL C

    1 J. b* A

    可见,两次刷新的最大时间间隔为t max

    t max = 15.5-0.5=15 ( 卩 S)

    对全部存储单元刷新一遍所需时间为 t R

    t R = 0.5 X 128=64 (卩 S)

    0000H-3FFFH的ROM区域。现在再用一个 RAM芯片 (8KX 8)形成40KX 16位的RAM区域,起始地址为 6000H,假定RAM芯片有一:和Ft'信号控制 端。CPU的地址总线为 A15-A0,数据总线为 D15-D0,控制信号为 R/〒(读/写),儿 f (访 存),要求:

    (1) 画出地址译码方案。

    (2) 将 ROM与 RAM同 CPU连接。

    解:(1)依题意,主存地址空间分布如右图所示,可选用 2片27128(16KX8位)的EPROM作为

    ROM区; 10片的8KX8位RAM片组成40KX 16位的RAM区。27128需14位片内地址,而 RAM需 13位

    片内地址,故可用 A15-A13三位高地址经译码产生片选信号,方案如下:

    OOOOH 16KX16 位

    3FFFH 则

    4000H 宓 X16 位

    5FFFH 會空

    6000H 4QKX16 位

    FFFFH M

    (2)

    计算机组原理

    8.存储器容量为64M,字长64位,模块数 m = 8,分别用顺序方式和交叉方式进行组织。存 储周期T = 100ns,数据总线宽度为 64位,总线周期 t = 10ns .问顺序存储器和交叉存储器 的带宽各是多少?

    解:信息总量: q = 64 位 X 8 =512位

    顺序存储器和交叉存储器读岀 8个字的时间分别是:

    12 = m T = 8 X 100ns =8 X 10 (s)

    11 = T + (m - 1) = 100 + 7 X 10 = 1.7 X 10 (s)

    顺序存储器带宽是:

    W2 = q / t 2 = 512 -( 8X 10 ) = 64 X 10 (位 / S )

    交叉存储器带宽是:

    W = q / t 1 = 512 -(1.7 X 10 ) = 301 X 10 (位 / S )

    9. CPU执行一段程序时,cache完成存取的次数为 2420次,主存完成存取的次数为 80

    次,已知cache存储周期为40ns,主存存储周期为 240ns,求cache/主存系统的效率和平均访 问时间。

    解:先求命中率 h

    h=nc/(n c +nm ) = 2420- (2420 + 80) = 0.968 则平均访问时间为 ta

    ta = 0.968 X 40+ (1- 0.968) X 240= 46.4(ns) r = 240-40= 6

    cache/主存系统的效率为 e

    e= 1/

    r + (1 — r) X 0.968

    = 86.2 %

    10 .已知Cache存储周期40ns,主存存储周期 200ns, Cache/主存系统平均访问时间为 50ns,

    求Cache的命中率是多少? 解: J t a = t cX h +t r X (1 -h)

    ••• h =(t a-t r)/(t c-t r)=(50-200)/(40-200)=15/16=0.94

    11 •主存容量为 4MB虚存容量为1GB则虚存地址和物理地址各为多少位?如页面大小为 4KB,则页表长度是多少?

    解:已知主存容量为 4MB虚存容量为1GB

    v2 = 4M •••物理地址为 22位

    又'^2 = 1G •虚拟地址为 30位

    页表长度为 1GB^ 4KB= 230- 212=218=256K

    14 •假设主存只有 a,b,c三个页框,组成 a进c岀的FIFO队列,进程访问页面的序列是 0,124,2,3,0,2,1.3,2 号。用列表法求采用 LRU替换策略时的命中率。

    解:

    页面访冋序列 0 1 2 4 2 3 0 2 1 3 2

    LRU A 0 1 2 4 2 3 0 2 1 '3 2

    B 0 2 4 2 3 0 2 1

    C 0 1 1 4 2 3 0 2 1

    。中 命中 命中

    •••命中率为

    3 n = — = 27. 3%

    15 •从下列有关存储器的描述中,选择出正确的答案:

    A. 多体交叉存储主要解决扩充容量问题;

    B. 访问存储器的请求是由 CPU发岀的;

    C. Cache与主存统一编址,即主存空间的某一部分属于 Cache

    D. Cache的功能全由硬件实现。

    解:D 16 •从下列有关存储器的描述中,选择出正确的答案:

    在虚拟存储器中,外存和主存一相同的方式工作,因此允许程序员用比主存空间大得 多的外存空间编程;

    在虚拟存储器中,逻辑地址转换成物理地址是由硬件实现的,仅在页面失效时才由操 作系统将被访问页面从外存调到内存,必要时还要先把被淘汰的页面内容写入外存;

    存储保护的目的是:在多用户环境中,既要防止一个用户程序岀错而破坏系统软件或 其他用户程序,又要防止一个用户访问不是分配给他的主存区,以达到数据安全和保 密的要求。

    解:C

    第四章

    ASCII码是7位,如果设计主存单元字长为 32位,指令字长为 12位,是否合理?为什

    么?

    解:指令字长设计为 12位不是很合理。主存单元字长为 32位,一个存储单元可存放 4个

    ASCII 码,

    余下4位可作为ASCII码的校验位(每个 ASCII码带一位校验位),这样设计还是合理

    的。

    但是,设计指令字长为 12位就不合理了, 12位的指令码存放在字长 32位的主存单元中,

    造成19位不能用而浪费了存储空间。

    假设某计算机指令长度为 20位,具有双操作数、单操作数、无操作数三类指令形式,每个

    操作数地址规定用 6位表示。问:

    若操作码字段固定为 8位,现已设计出 m条双操作数指令,n条无操作数指令,在此情况下, 这台计算机最多可以设计出多少条单操作数指令?

    解:这台计算机最多可以设计岀 256-m-n条单操作数指令

    •指令格式结构如下所示,试分析指令格式及寻址方式特点。

    15 10 7 4 3 0

    OP 目标寄存器|源寄存器

    解:指令格式及寻址方式特点如下:

    单字长二地址指令;

    操作码OP可指定'=64条指令;

    RR型指令,两个操作数均在寄存器中,源和目标都是通用寄存器(可分别指定 16个寄

    存器

    之一);

    这种指令格式常用于算术逻辑类指令。

    •指令格式结构如下所示,试分析指令格式及寻址方式特点。

    15 10 7 4 3 0

    OP 源寄存器 变址寄存器

    偏移量(16位)

    解:指令格式及寻址方式特点如下:

    双字长二地址指令;

    操作码OP可指定「=64条指令;

    RS型指令,两个操作数一个在寄存器中( 16个寄存器之一),另一个在存储器中;

    有效地址通过变址求得: E=(变址寄存器)士 D,变址寄存器可有 16个。

    •指令格式结构如下所示,试分析指令格式及寻址方式特点

     
    举报收藏 0打赏 0评论 0
    更多>相关评论
    暂时没有评论,来说点什么吧
    更多>同类百科知识
    推荐图文
    推荐百科知识