1、如图1表示使用快表(页表)的虚实地址转换条件,快表存放在相联存贮器中,其中容量为8个存贮单元。问:
(1)当CPU 按虚拟地址1去访问主存时,主存的实地址码是多少?
(2)当CPU 按虚拟地址2去访问主存时,主存的实地址码是多少?
(3)当CPU 按虚拟地址3去访问主存时,主存的实地址码是多少?
页号 | 该页在主存中的起始地址 | 虚拟地址 页号 页内地址 | |||
33 25 7 6 4 15 5 30 | 42000 38000 96000 60000 40000 80000 50000 70000 | 1 2 3 | 15 | 0324 | |
7 | 0128 | ||||
48 | 0516 | ||||
图1
解:(1)用虚拟地址为1的页号15作为快表检索项,查得页号为15的页在主存中的起始地址为80000,故将80000与虚拟地址中的页内地址码0324相加,求得主存实地址码为80324。
(2)主存实地址码 = 96000 + 0128 = 96128
(3)虚拟地址3的页号为48,当用48作检索项在快表中检索时,没有检索到页号为48的页面,此时操作系统暂停用户作业程序的执行,转去执行查页表程序。如该页面在主存中,则将该页号及该页在主存中的起始地址写入主存;如该页面不存在,则操作系统要将该页面从外存调入主存,然后将页号及其在主存中的起始地址写入快表。
2、假设某计算机的运算器框图如图2所示,其中ALU为16位的加法器,SA 、SB为16位暂存器,4个通用寄存器由D触发器组成,Q端输出,
其读写控制如下表所示:
读控制 写控制
R0 | RA0 | RA1 | 选择 | W | WA0 | WA1 | 选择 | |
1 1 1 1 0 | 0 0 1 1 x | 0 1 0 1 x | R0 R1 R2 R3 不读出 | 1 1 1 1 0 | 0 0 1 1 x | 0 1 0 1 x | R0 R1 R2 R3 不写入 | |
要求:(1)设计微指令格式。
(2)画出ADD,SUB两条指令微程序流程图。
图 2
解:(1)微命令字段共12位,微指令格式如下:
1 2 1 2 1 1 1 1 1 1
R | RA0RA1 | w | WA0WA1 | LDSA | LDSB | SB->ALU | CLR | ~ | P字段 | 下址字段 | |
各字段意义如下:
R— 通用寄存器读命令
W—通用寄存器写命令
.RA0RA1—读R0—R3的选择控制。
WA0WA1—写R0—R3的选择控制。
LDSA—打入SA的控制信号。
LDSB—打入SB的控制信号。
SB->ALU—打开非反向三态门的控制信号。
SB->ALU—打开反向三态门的控制信号,并使加法器最低位加1。
CLR-暂存器SB清零信号。
~ —— 一段微程序结束,转入取机器指令的控制信号。
(2)ADD、SUB两条指令的微程序流程图见图B2.3所示。
3、图B3.1所示的处理机逻辑框图中,有两条独立的总线和两个独立的存贮器。已知指令存贮器IM最大容量为16384字(字长18位),数据存贮器DM最大容量是65536字(字长16位)。各寄存器均有“打入”(Rin)和“送出”(Rout)控制命令,但图中未标出。
图B3.1
设处理机指令格式为:
17 10 9 0
OP | X |
加法指令可写为“ADD X(R1)”。其功能是(AC0) + ((Ri) + X)→AC1,其中((Ri)+ X)部分通过寻址方式指向数据存贮器,现取Ri为R1。试画出ADD指令从取指令开始到执行结束的操作序列图,写明基本操作步骤和相应的微操作控制信号。
解:加法指令“ADD X(Ri)”是一条隐含指令,其中一个操作数来自AC0,另一个操作数在数据存贮器中,地址由通用寄存器的内容(Ri)加上指令格式中的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 10 i
a c d g 11 h 11 j
4位 2位 2位
5、CPU执行一段程序时,cache完成存取的次数为3800次,主存完成存取的次数为200次,已知cache存取周期为50ns,主存为250ns,求cache / 主存系统的效率和平均访问时间。
解 :命中率 H = Ne / (NC + Nm) = 3800 / (3800 + 200) = 0.95
主存慢于cache的倍率 :r = tm / tc = 250ns / 50ns = 5
访问效率 :e = 1 / [r + (1 – r)H] = 1 / [5 + (1 – 5)×0.95] = 83.3%
平均访问时间 :ta = tc / e = 50ns / 0.833 = 60ns
6、运算器结构如图B5.2所示,R1 ,R2,R3 是三个寄存器,A和B是两个三选一的多路开关,通路的选择由AS0 ,AS1 和BS0 ,BS1端控制,例如BS0BS1 = 11时,选择R3 ,BS0BS1 = 01时,选择R1……,ALU是算术 / 逻辑单元。S1S2为它的两个操作控制端。其功能如下:
S1S2 = 00时,ALU输出 = A
S1S2 = 01时,ALU输出 = A + B
S1S2 = 10时,ALU输出 = A – B
S1S2 = 11时,ALU输出 = A⊕B
请设计控制运算器通路的微指令格式。
图B5.2
解: 采用水平微指令格式,且直接控制方式,顺序控制字段假设4位,其中一位判别测试位:
2位 2位 2位 3位 1位 3位
←——————————直接控制———————————→ ←——顺序控制
当P = 0时,直接用μAR1——μAR3形成下一个微地址。
当P = 1时,对μAR3进行修改后形成下一个微地址。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论