没有合适的资源?快使用搜索试试~ 我知道了~
(完整版)《操作系统精髓与设计原理·第五版》习题答案.doc
3 下载量 136 浏览量
2022-11-20
00:52:20
上传
评论 5
收藏 796KB DOC 举报
温馨提示
试读
84页
(完整版)《操作系统精髓与设计原理·第五版》习题答案.doc
资源推荐
资源详情
资源评论
(完整版)《操作系统精髓与设计原理·第五版》习题答案
1
第 1 章 计算机系统概述
1。1、图 1。3 中的理想机器还有两条 I/O 指令:
0011 = 从 I/O 中载入 AC
0111 = 把 AC 保存到 I/O 中
在这种情况下,12 位地址标识一个特殊的外部设备.请给出以下程序的执行过程(按照图 1。4 的格式):
1. 从设备 5 中载入 AC。
2. 加上存储器单元 940 的内容。
3. 把 AC 保存到设备 6 中。
假设从设备 5 中取到的下一个值为 3940 单元中的值为 2。
答案:存储器(16 进制内容):300:3005;301:5940;302:7006
步骤 1:3005->IR;步骤 2:3-〉AC
步骤 3:5940-〉IR;步骤 4:3+2=5->AC
步骤 5:7006->IR:步骤 6:AC-〉设备 6
1。2、本章中用 6 步来描述图 1.4 中的程序执行情况,请使用 MAR 和 MBR 扩充这个描述。
答案:1. a. PC 中包含第一条指令的地址 300,该指令的内容被送入 MAR 中.
b. 地址为 300 的指令的内容(值为十六进制数 1940)被送入 MBR,并且 PC 增 1。这两个步骤是并行
完成的。
c. MBR 中的值被送入指令寄存器 IR 中。
2。 a。 指令寄存器 IR 中的地址部分(940)被送入 MAR 中。
b. 地址 940 中的值被送入 MBR 中。
c. MBR 中的值被送入 AC 中。
3。 a. PC 中的值(301)被送入 MAR 中.
b。 地址为 301 的指令的内容(值为十六进制数 5941)被送入 MBR,并且 PC 增 1。
c。 MBR 中的值被送入指令寄存器 IR 中。
4。 a. 指令寄存器 IR 中的地址部分(941)被送入 MAR 中。
b。 地址 941 中的值被送入 MBR 中。
c. AC 中以前的内容和地址为 941 的存储单元中的内容相加,结果保存到 AC 中.
(完整版)《操作系统精髓与设计原理·第五版》习题答案
2
5. a. PC 中的值(302)被送入 MAR 中。
b. 地址为 302 的指令的内容(值为十六进制数 2941)被送入 MBR,并且 PC 增 1。
c. MBR 中的值被送入指令寄存器 IR 中。
6. a. 指令寄存器 IR 中的地址部分(941)被送入 MAR 中。
b. AC 中的值被送入 MBR 中。
c。 MBR 中的值被存储到地址为 941 的存储单元之中。
1.4、假设有一个微处理器产生一个 16 位的地址(例如,假设程序计数器和地址寄存器都是 16 位)并且具有
一个 16 位的数据总线。
a.如果连接到一个 16 位存储器上,处理器能够直接访问的最大存储器地址空间为多少?
b。如果连接到一个 8 位存储器上,处理器能够直接访问的最大存储器地址空间为多少?
c.处理访问一个独立的 I/O 空间需要哪些结构特征?
d.如果输入指令和输出指令可以表示 8 位 I/O 端口号,这个微处理器可以支持多少 8 位 I/O 端口?
答案:对于(a)和(b)两种情况,微处理器可以直接访问的最大存储器地址空间为2
16
= 64K bytes;唯一的
区别是8位存储器每次访问传输1个字节,而16位存储器每次访问可以传输一个字节或者一个16位的字。
对于(c)情况,特殊的输入和输出指令是必要的,这些指令的执行体会产生特殊的“I/O信号”(有别
于“存储器信号”,这些信号由存储器类型指令的执行体产生);在最小状态下,一个附加的输出针脚
将用来传输新的信号。对于(d)情况,它支持2
8
= 256个输入和2
8
= 256个输出字节端口和相同数目的16
位I/O端口;在任一情况, 一个输入和一个输出端口之间的区别是通过被执行的输入输出指令所产生
的不同信号来定义的。
1。5、考虑一个 32 位微处理器,它有一个 16 位外部数据总线,并由一个 8MHz 的输入时钟驱动.假设这个微
处理器有一个总线周期,其最大持续时间等于 4 个输入时钟周期。请问该微处理器可以支持的最大数据传送
速度为多少?外部数据总线增加到 21 位,或者外部时钟频率加倍,哪种措施可以更好地提高处理器性能?
请叙述你的设想并解释原因。
答案:时钟周期=1/(8MHZ)=125ns
总线周期=4×125ns=500ns
每 500ns 传输 2 比特;因此传输速度=4MB/s
加倍频率可能意味着采用了新的芯片制造技术(假设每个指令都有相同的时钟周期数);加倍外部数据
总线,在芯片数据总线驱动/锁存、总线控制逻辑的修改等方面手段广泛(或许更新)。在第一种方案中,内
存芯片的速度要提高一倍(大约),而不能降低微处理器的速度;第二种方案中,内存的字长必须加倍,以
便能发送/接受 32 位数量。
1。6、考虑一个计算机系统,它包含一个 I/O 模块,用以控制一台简单的键盘/打印机电传打字设备。CPU 中
包含下列寄存器,这些寄存器直接连接到系统总线上:
(完整版)《操作系统精髓与设计原理·第五版》习题答案
3
INPR:输入寄存器,8 位
OUTR:输出寄存器,8 位
FGI:输入标记,1 位
FGO:输出标记,1 位
IEN:中断允许,1 位
I/O 模块控制从打字机中输入击键,并输出到打印机中去。打字机可以把一个字母数字符号编码成一个 8 位
字,也可以把一个 8 位字解码成一个字母数字符号。当 8 位字从打字机进入输入寄存器时,输入标记被置位;
当打印一个字时,输出标记被置位。
a. 描述 CPU 如何使用这 4 个寄存器实现与打字机间的输入/输出。
b. 描述通过使用 IEN,如何提高执行效率?
答案:a。来源于打字机的输入储存在 INPR 中。只有当 FGI=0 时,INPR 才会接收来自打字机的数据。当数
据接收后,被储存在 INPR 里面,同时 FGI 置为 1。CPU 定期检查 FGI。如果 FGI=1,CPU 将把 INPR 里面
的内容传送至 AC,并把 FGI 置为 0.
当 CPU 需要传送数据到打字机时,它会检查 FGO。如果 FGO=0,CPU 处于等待。如果 FGO=1,CPU
将把 AC 的内容传送至 OUTER 并把 FGO 置为 0。当数字符号打印后,打字机将把 FGI 置为 1。
b.(A)描述的过程非常浪费。速度远高于打字机的 CPU 必须反复不断的检查 FGI 和 FGO。如果中断被
使用,当打字机准备接收或者发送数据时,可以向 CPU 发出一个中断请求。IEN 计数器可以由 CPU 设
置(在程序员的控制下).
1.7、实际上在所有包括 DMA 模块的系统中,DMA 访问主存储器的优先级总是高于处理器访问主存储器的优先
级。这是为什么?
答案:如果一个处理器在尝试着读或者写存储器时被挂起, 通常除了一点轻微的时间损耗之外没有任何危
害.但是,DMA可能从或者向设备(例如磁盘或磁带)以数据流的方式接收或者传输数据并且这是不能被
打断的.否则,如果DMA设备被挂起(拒绝继续访问主存),数据可能会丢失.
1.9、一台计算机包括一个 CPU 和一台 I/O 设备 D,通过一条共享总线连接到主存储器 M,数据总线的宽度为
1 个字.CPU 每秒最多可执行 10
6
条指令,平均每条指令需要 5 个机器周期,其中 3 个周期需要使用存储器总
线。存储器读/写操作使用 1 个机器周期.假设 CPU 正在连续不断地执行后台程序,并且需要保证 95%的指令执
行速度,但没有任何 I/O 指令。假设 1 个处理器周期等于 1 个总线周期,现在要在 M 和 D 之间传送大块数据。
a。若使用程序控制 I/O,I/O 每传送 1 个字需要 CPU 执行两条指令。请估计通过 D 的 I/O 数据传送的最大可
能速度.
b。如果使用 DMA 传送,请估计传送速度。
答案:a.处理器只能分配 5%的时间给 I/O。所以最大的 I/O 指令传送速度是 10e6×0。05=50000 条指令/
秒.因此 I/O 的传送速率是 25000 字/秒。
b。使用 DMA 控制时,可用的机器周期下的数量是
(完整版)《操作系统精髓与设计原理·第五版》习题答案
4
10e6(0.05×5+0。95×2)=2.15×10e6
如果我们假设 DMA 模块可以使用所有这些周期,并且忽略任何设置和状态检查时间,那么这个值就是
最大的 I/O 传输速率。
1。10、考虑以下代码:
for ( i = 0;i 〈 20;i++)
for (j = 0;j < 10;j++)
a[i] = a[i]*j
a. 请举例说明代码中的空间局部性。
b. 请举例说明代码中的时间局部性。
答案:a.读取第二条指令是紧跟着读取第一条指令的。
b。在很短的间歇时间内, a[i]在循环内部被访问了十次。
1。11、请将附录 1A 中的式(1.1)和式(1.2)推广到 n 级存储器层次中.
答案:定义:
C
i
= 存储器层次 i 上每一位的存储单元平均花销
S
i
= 存储器层次 i 的规模大小
T
i
= 存储器层次 i 上访问一个字所需时间
H
i
= 一个字在不高于层次 i 的存储器上的概率
B
i
= 把一个数据块从层次 i+1 的存储器上传输到层次 i 的存储器上所需时间
高速缓冲存储器作为是存储器层次1;主存为存储器层次2;针对所有的N层存储器层以此类推。有:
1
1
n
i i
i
S
n
i
i
C S
C
S
=
=
=
å
å
T
s
的引用更复杂,我们从概率论入手:所期望的值
1
Pr[ 1]
n
i
x i x
=
= =
å
,由此我们可以写出:
1
n
s i i
i
T T H
=
=
å
我们需要清楚如果一个字在M1(缓存)中,那么对它的读取非常快。如果这个字在M2而不在M1中,那么数据
块需要从M2传输到M1中,然后才能读取。因此,T
2
= B
1
+T
1
进一步,T
3
= B
2
+T
2
= B
1
+B
2
+T
1
(完整版)《操作系统精髓与设计原理·第五版》习题答案
5
以此类推:
1
1
1
i
i j
j
T B T
-
=
= +
å
所以,
1
1
2 1 1
( )
n i n
s j i i
i j i
T B H T H
-
= = =
= +
å å å
但是,
1
1
n
i
i
H
=
=
å
最后,
1
1
2 1
( )
n i
s i i
i j
T B H T
-
= =
= +
å å
1。12、考虑一个存储器系统,它具有以下参数:
T
c
= 100 ns C
c
= 0.01 分/位
T
m
= 1200 ns C
m
= 0.001 分/位
a。1MB 的主存储器价格为多少?
b。使用高速缓冲存储器技术,1MB 的主存储器价格为多少?
c.如果有效存取时间比高速缓冲存储器存取时间多 10% ,命中率 H 为多少?
答案:a.价格 = C
m
×8×10
6
= 8×10
3
¢ = $80
b.价格 = Cc×8×10
6
= 8×10
4
¢ = $800
c。由等式 1。1 知:1。1×T
1
= T
1
+(1-H)T
2
(0。1)(100) = (1—H)(1200)
H=1190/1200
1。13、一台计算机包括包括高速缓冲存储器、主存储器和一个用做虚拟存储器的磁盘。如果要存取的字在
高速缓冲存储器中,存取它需要 20ns;如果该字在主存储器中而不在高速缓冲存储器中,把它载入高速缓冲
存储器需要 60ns(包括最初检查高速缓冲存储器的时间),然后再重新开始存取;如果该字不在主存储器中,
从磁盘中取到内存需要 12ms,接着复制到高速缓冲存储器中还需要 60ns,再重新开始存取。高速缓冲存储
器的命中率为 0.9,主存储器的命中率为 0.6,则该系统中存取一个字的平均存取时间是多少(单位为 ns)?
答案:有三种情况需要考虑:
字所在的位置
概率
访问所需时间(ns)
在缓存中
0.9
20
不在缓存,在主存中
(0.1)(0。6)= 0.06
60+20 = 80
剩余83页未读,继续阅读
资源评论
xinkai1688
- 粉丝: 335
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功