计算机组成与结构课后答案6-7章习题.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、如图1表示使用快表(页表)的虚实地址转换条件,快表存放在相联存贮器中,其中容量为8个存贮单元。

问:
(1) 当CPU 按虚拟地址1去访问主存时,主存的实地址码是多少? (2) 当CPU 按虚拟地址2去访问主存时,主存的实地址码是多少? (3) 当CPU 按虚拟地址3去访问主存时,主存的实地址码是多少?
虚拟地址 1
2
3
图1
解:(1)用虚拟地址为1的页号15作为快表检索项,查得页号为15的页在主存中的起始地址为80000,故将80000与虚拟地址中的页内地址码0324相加,求得主存实地址码为80324。

(2)主存实地址码 = 96000 + 0128 = 96128
(3)虚拟地址3的页号为48,当用48作检索项在快表中检索时,没有检索到页号为48的页面,此时操作系统暂停用户作业程序的执行,转去执行查页表程序。

如该页面在主存中,则将该页号及该页在主存中的起始地址写入主存;
如该页面不存在,则操作系统要将该页面从外存调入主存,然后将页号及其在主存中的起始地址写入快表。

2、假设某计算机的运算器框图如图2所示,其中ALU 为16位的加法器,S A 、S B 为16位暂存器,4个通用寄存器由D 触发器组成,Q 端输出, 其读写控制如下表所示:
要求:(1)设计微指令格式。

(2)画出ADD ,SUB 两条指令微程序流程图。

图2
解:(1)微命令字段共12位,微指令格式如下:1
R RA0RA1 w WA0W A1 LDS A LDS B S B->ALU CLR ~ P


下址
字段
各字段意义如下:
R—通用寄存器读命令
W—通用寄存器写命令
.RA0RA1—读R0—R3的选择控制。

WA0W A1—写R0—R3的选择控制。

LDS A—打入SA的控制信号。

LDS B—打入SB的控制信号。

S B->ALU—打开非反向三态门的控制信号。

S B->ALU—打开反向三态门的控制信号,并使加法器最低位加1。

CLR-暂存器SB清零信号。

~ ——一段微程序结束,转入取机器指令的控制信号。

S B->ALU
(2)ADD、SUB两条指令的微程序流程图见图B2.3所示。

3、图B3.1所示的处理机逻辑框图中,有两条独立的总线和两个独立的存贮器。

已知指令存贮器IM最大容量为16384字(字长18位),数据存贮器DM最大容量是65536字(字长16位)。

各寄存器均有“打入”(R in)和“送出”(R out)控制命令,但图中未标出。

图B3.1
设处理机指令格式为:
10 9 0
OP X
加法指令可写为“ADD X(R1)”。

其功能是(AC0)+ ((R i)+ X)→AC1,其中((R i)+ X)部分通过寻址方式指向数据存贮器,现取R i为R1。

试画出ADD指令从取指令开始到执行结束的操作序列图,写明基本操作步骤和相应的微操作控制信号。

解:加法指令“ADD X(R i)”是一条隐含指令,其中一个操作数来自AC0,另一个操作数在数据存贮器中,地址由通用寄存器的内容(R i)加上指令格式中的X量值决定,可认为这是一种变址寻址。

因此,指令周期的操作流程图如图B3.4,相应的微操作控制信号列在框图外。

图B3.4
以知cache 命中率 H=0.98,主存比cache 慢4倍,以知主存存取周期为200ns,求cache/主存的效率和平均访问时
间。

解: R=Tm/Tc=4;Tc=Tm/4=50ns
E=1/[R+(1-R)H]=1/[4+(1-4)×0.98]=0.94
Ta=Tc/E=Tc×[4-3×0.98]= 50×1.06=53ns。

4、某计算机有8条微指令I1—I8,每条微指令所包含的微命令控制信号见下表所示,a—j 分别对应10种不同性质的微命令信号。

假设一条微指令的控制字段仅限8位,请安排微指令的控制字段格式。

解:为了压缩指令字的长度,必须设法把一个微指令周期中的互斥性微命令信号组合在一个小组中,进行分组译码。

经分析,(e ,f ,h)和(b, i, j)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a, c, d, g 四个微命令信号可进行直接控制,其整个控制字段组成如下:
01 e 01 b
直接控制10 f 10i
××××××××
4位2位2位
5、CPU执行一段程序时,cache完成存取的次数为3800次,主存完成存取的次数为200次,已知cache存取周期为50ns,主存为250ns,求cache / 主存系统的效率和平均访问时间。

解:命中率H = N e / (N C + N m)= 3800 / (3800 + 200) = 0.95
主存慢于cache 的倍率 :r = t m / t c = 250ns / 50ns = 5
访问效率 :e = 1 / [r + (1 – r)H] = 1 / [5 + (1 – 5)×0.95] = 83.3% 平均访问时间 :t a = t c / e = 50ns / 0.833 = 60ns
6、运算器结构如图B5.2所示,R 1 ,R 2,R 3 是三个寄存器,A 和B 是两个三选一的多路开关,通路的选择由AS 0 ,AS 1 和BS 0 ,BS 1端控制,例如BS 0BS 1 = 11时,选择R 3 ,BS 0BS 1 = 01时,选择R 1……,ALU 是算术 / 逻辑单元。

S 1S 2为它的两个操作控制端。

其功能如下:
S 1S 2 = 00时,ALU 输出 = A S 1S 2 = 01时,ALU 输出 = A + B S 1S 2 = 10时,ALU 输出 = A – B S 1S 2 = 11时,ALU 输出 = A ⊕B 请设计控制运算器通路的微指令格式。

图B5.2
解: 采用水平微指令格式,且直接控制方式,顺序控制字段假设4位,其中一位判别测试位:
2位 2位 2位 3位 1位 3位
←——————————直接控制———————————→ ←——顺序控制 当P = 0时,直接用μAR 1——μAR 3形成下一个微地址。

当P = 1时,对μAR 3进行修改后形成下一个微地址。

7、某计算机有如下部件:ALU ,移位器,主存M ,主存数据寄存器MDR ,主存地址寄存器MAR ,指令寄存器IR ,通用寄存器R 0——R 3 ,暂存器C 和D 。

(1)请将各逻辑部件组成一个数据通路,并标明数据流向。

(2)画出“ADD R 1,(R 2)”指令的指令周期流程图,指令功能是 (R 1)+((R 2))→R 1。

ALU
移位器 IR PC C D R 0 R 1 R 2
R 3 MDR
M MAR
AS 0 AS 1 S 1 S 2 BS 0 BS 1 LDR 1,LDR 2 ,LDR 3 P μAR 1,μAR 2,μAR 3
图B6.2 解:(1)各功能部件联结成如图所示数据通路:
图 B 6.4
(2)此指令为RS 型指令,一个操作数在R 1中,另一个操作数在R 2为地址的内存单元中,相加结果放在R 1中。

送当前指令地址到 取当前指令到IR , PC + 1,为取下条指令做好准备 ①取R 1操作数→C 暂存器。

②R 2
中的内容是内存地址 ③从内存取出数→D 暂存器
④暂存器C 和D 中的数相加后送R 1
图 B 6.5
8、某程序对页面要求的序列为0,1,3,4,3,2,0,2,1,3,2,设主存容量为3个页面,求FIFO 和LRU 替换算法时各自的命中率(假设开始时主存为空)。

要求给出过程。

答:FIFO 和LRU 替换算法的命中率各占4分
FIFO 替换算法的命中率=2/11=18.2% LRU 替换算法的命中率=3/11=27.3%
9、CPU 执行一段程序时,cache 完成存取的次数为5000次,主存完成存取的次数为200次。

已知cache 存取周期为40ns ,主存存取周期为160ns 。

求:
(1)Cache 命中率H 。

(2)Cache/主存系统的访问效率e 。

(3)平均访问时间Ta 。

解: 命中率 H = Nc/(Nc+Nm ) = 5000/(5000+2000)=5000/5200=0.96 主存慢于cache 的倍率 R = Tm/Tc=160ns/40ns=4
访问效率:e= 1/[r+(1-r)H]=1/[4+(1-4)×0.96]
=89.3℅
平均访问时间 Ta=Tc/e=40/0.893=45n s
10、已知某系统采用页式虚拟存储器方案, 某程序中一条指令的虚地址是:000001111111100000, 该程序的页表起始地
址是0011, 页面大小是1K, 页表中有关单元最后4位是实页号。

求: 某指令地址(虚地址)变换后的主存实地址。

解:
∵虚地址=虚页号+页内地址,
且页面大小=1KB =210
∴虚页号= 00000111 ∵页表索引地址
=页表起始地址+虚页号 =001100000111=307H
查页表得实页号为1100 ∴主存实地址是
11001111100000。

11、图(a )是某SRAM 的写入时序,其中R / W 是读 、写命令控制线,当R / W 线为低电平时,存贮器按给定地址把数据线上的数据写入存贮器。

请指出图中时序的错误,并画出正确的写入时序。

表地

07H 00H
解:写入存储器时时序信号必须同步。

通常,当R / W 线加负脉冲时,地址线和数据线的电平必须是稳定的。

当R / W 线一达到逻辑0电平时,数据立即被存储。

因此,当R / W 线处于低状态时,如果数据线改变数值,那么存储器将存储新的数据⑤。

同样,当R / W 线处于低状态时,地址发生了变化,那么同样的数据将存储到新的地址(②或③)。

正确的写入时序图如图(b)所示:(图占6分,根据情况酌情加减分)
图(b)
12、某机运算器框图如图B7.1所示,其中ALU由通用函数发生器组成,M1—M3为多路开关,采用微程序控制,若
用微指令对该运算器要求的所有控制信号进行微指令编码的格式设计,列出各控制字段的编码表。

解:当24个控制信号全部用微指令产生时,可采用字段译码法进行编码控制,采用的微指令格式如下(其中目地操作数字段与打入信号段可结合并公用,后者加上节拍脉冲控制即可)。

3位 3位 5位 4位 3位 2位
13、如图B8.1表示用快表(页表)的虚实地址转换条件,快表放在相联存贮 器中,其容量为8个存贮单元,问:
(1)当CPU 按虚地址1去访问主存时主存的实地址码是多少? (2)当CPU 按虚地址2去访问主存时主存的实地址码是多少?
(3)当CPU 按虚地址3去访问主存时主存的实地址码是多少?
虚拟地址 1
2
3
图B8.1
13、解:(1)用虚拟地址为1的页号15作为快表检索项,查得页号为15的页在主存中 的起始地址为80000,故将80000与虚拟地址中的页内地址码0324相加, 求得主存实地址码为80324。

(2) 主存实地址码 = 96000 + 0128 = 96128
(3) 虚拟地址3的页号为48,当用48作检索项在快表中检索时,没有检索到页号为48的页面,此时操作
系统暂停用户作业程序的执行,转去执行查页表程序。

如该页面在主存中,则将该页号及该页在主存中的起始地址写入主存;如该页面不存在,则操作系统要将该页面从外存调入主存,然后将页号及其在主存中的起始地址写入快表。

14、用时空图法证明流水CPU 比非流水CPU 具有更大的吞吐率。

解:(1)时空图法:假设指令周期包含四个子过程:取指令(IF )、指令译码(ID )、 执行运算(EX )、结果写回(WB ),
每个子过程称为过程段(S i),这样,一个流水线由一系列串连的过程段组成。

在统一时钟信号控制下,数据从一个过程段流向相邻的过程段。

S1 S2 S3 S4
I I E W
(a)指令周期流程
图C18.3
图C18.2(b)表示非流水CPU的时空图。

由于上一条指令的四个子过程全部执行完毕后才能开始下一条指令,因此每隔4个单位时间才有一个输出结果,即一条指令执行结束。

图C18.2(c)表示流水CPU的时空图。

由于上一条指令与下一条指令的四个过程在时间上可以重叠执行,因此,当流水线满载时,每一个单位时间就可以输出一个结果,即执行一条指令。

比较后发现:流水CPU在八个单位时间中执行了5条指令,而非流水CPU仅执行2条指令,因此流水CPU具有更强大的数据吞吐能力。

15、CPU结构如图B9.1所示,其中有一个累加寄存器AC,一个状态条件寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。

(1)标明图中四个寄存器的名称。

(2)简述指令从主存取到控制器的数据通路。

(3)简述数据在运算器和主存之间进行存/ 取访问的数据通路。

图B9.1
15、解:
(1)a为数据缓冲寄存器 DR ,b为指令寄存器 IR ,c为主存地址寄存器,d为程序计数器PC。

(2)主存 M →缓冲寄存器 DR →指令寄存器 IR →操作控制器。

(3)存储器读:M →DR →ALU →AC
存储器写:AC →DR →M
16、已知cache / 主存系统效率为85% ,平均访问时间为60ns,cache 比主存快4倍,求主存储器周期是多少?cache 命中率是多少?
16、解:因为:t a= t c / e所以:t c= t a×e= 60×0.85 = 510ns (cache存取周期)
t m= t c×r =510 ×4 = 204ns (主存存取周期)
因为:e = 1 / [r+(1– r)H]
所以: H= 2.4 / 2.55 = 0.94
17、某计算机的数据通路如图B10.2所示,其中M—主存,MBR—主存数据寄存器,MAR—主存地址寄存器,R0-R3—通用寄存器,IR—指令寄存器,PC—程序计数器(具有自增能力),C、D--暂存器,ALU—算术逻辑单元(此处做加法器看待),移位器—左移、右移、直通传送。

所有双向箭头表示信息可以双向传送。

请按数据通路图画出“ADD (R1),(R2)+”指令的指令周期流程图。

该指令的含义是两个数进行求和操作。

其中源操作地址在寄存器R1中,目的操作数寻址方式为自增型寄存器间接寻址(先取地址后加1)。

图 B 10.2
17、解:“ADD (R1),(R2)+”指令是SS 型指令,两个操作数均在主存中。

其中源操作数地址在R1中,所以是R1间接寻址。

目的操作数地址在R2中,由R2间接寻址,但R2的内容在取出操作数以后要加1进行修改。

指令周期流程图如图
B10.4
18、CPU 执行一段程序时,cache 完成存取的次数为5000次,主存完成存
取的次数为200次。

已知cache 存取周期为40ns ,主存存取周期为160ns 。

求: (1)Cache 命中率H (2)Cache/主存系统的访问效率e (3)平均访问时间Ta 。

解:
(1) 命中率 H = Nc/(Nc+Nm ) = 5000/(5000+2000)=5000/5200=0.96 (2)主存慢于cache 的倍率
R = Tm/Tc=160ns/40ns=4
访问效率:
e=1/[r+(1-r)H]=1/[4+(1-4)×0.96]=89.3%
(3)平均访问时间 Ta=Tc/e=40/0.893=45ns
19、某程序对页面要求的序列为P2P3P1P5P3P2P6P3P2P5P2P3P7P3P5,设主存容量为4个页面,求FIFO和LRU替换算法
时各自的命中率(假设开始时主存为空)。

要求给出过程。

页面请求 2 3 1 5 3 2 6 3 2 5 2 3 7 3 5
F
I
F
O
④ 2 2 2 2 2 2 3 3 1 1 1 5 6 6 2
③ 3 3 3 3 3 1 1 5 5 5 6 2 2 3
② 1 1 1 1 5 5 6 6 6 2 3 3 7
① 5 5 5 6 6 2 2 2 3 7 7 5
命中××××√√×√×√√××√×
L
R
U
④ 2 2 2 2 2 1 5 5 5 6 6 6 5 5 2
③ 3 3 3 1 5 3 2 6 3 3 5 2 2 7
② 1 1 5 3 2 6 3 2 5 2 3 7 3
① 5 3 2 6 3 2 5 2 3 7 3 5
命中××××√√×√√√√√×√√
FIFO替换算法的命中率=6/15=40%
LRU替换算法的命中率=9/15=60%
19、微程序共有58条微指令,20个微命令(直接控制),6个微程序分支,请画出微程序控制器组成框图,描述各部分功能。

解:根据题意,微指令格式如下:
微命令字段(20位) P字段(3位)下址字段(6位)
由此可画出微程序组成框图如下:
图C15.1
20、图中所示的处理机逻辑框图中,有两条独立的总线和两个独立的存储器。

已知指令存储器IM最大容量为16384字(字长18位),数据存储器DM最大容量是65536字(字长16位)。

各寄存器均有“打入”(R in)和“送出”(R out)控制命令,但图中未标注出。

指出下列各寄存器的位数:
程序计数器PC,指令寄存器IR,累加器AC0和AC1,通用寄存器R0—R3,指令存储器地址寄存器IAR,指令存储器数据寄存器IDR,数据存储器地址寄存器DAR,数据存储器数据寄存器DDR。

图C17.1
解:PC=14位 IR=18位
AC0=AC1=16位 R0—R3=16位
IAR=14位 IDR=18位
DAR=16位 DDR=16位
21、主存储器容量为2MB,虚存容量为1GB(1×109B),问:
(1)虚拟地址和物理地址各为多少位?
(2)根据寻址方式计算出来的有效地址是虚拟地址还是物理地址?
(3)如果页面大小为4kB,页表长度是多少?
解:(1)虚拟地址为30位(2分),物理地址为21位(2分)
(2)虚拟地址(2分)
(3)页表长度为218(4分)。

相关文档
最新文档