1、1、如图 1 表示使用快表(页表)的虚实地址转换条件,快表存放在相联存贮器中,其中容量为 8 个存贮单元。问:(1) 当 CPU 按虚拟地址 1 去访问主存时,主存的实地址码是多少?(2) 当 CPU 按虚拟地址 2 去访问主存时,主存的实地址码是多少?(3) 当 CPU 按虚拟地址 3 去访问主存时,主存的实地址码是多少?页号 该页在主存中的起始地址 虚拟地址 页号 页内地址15 03247012848 0516332576415530420003800096000 60000400008000050000700001 2 3图 1解:(1)用虚拟地址为 1 的页号 15 作为快表检索项,查
2、得页号为 15 的页在主存中的起始地址为 80000,故将 80000与虚拟地址中的页内地址码 0324 相加,求得主存实地址码为 80324。 (2)主存实地址码 = 96000 + 0128 = 96128(3)虚拟地址 3 的页号为 48,当用 48 作检索项在快表中检索时,没有检索到页号为 48 的页面,此时操作系统暂停用户作业程序的执行,转去执行查页表程序。如该页面在主存中,则将该页号及该页在主存中的起始地址写入主存;如该页面不存在,则操作系统要将该页面从外存调入主存,然后将页号及其在主存中的起始地址写入快表。2、假设某计算机的运算器框图如图 2 所示,其中 ALU 为 16 位的加
3、法器,S A 、S B 为 16 位暂存器,4 个通用寄存器由 D 触发器组成,Q 端输出,其读写控制如下表所示:读控制 写控制 R0 RA0 RA1 选择 W WA0 WA1选择111100011x0101xR0R1R2R3不读出111100011x0101xR0R1R2R3不写入要求:(1)设计微指令格式。(2)画出 ADD,SUB 两条指令微程序流程图。图 2解:(1)微命令字段共 12 位,微指令格式如下:1 2 1 2 1 1 1 1 1 1R RA0RA1 w WA0WA1 LDSA LDSB SB-ALU CLR P字段下址字段各字段意义如下:R 通用寄存器读命令W通用寄存器写命
4、令.RA0RA1读 R0R3 的选择控制。WA0WA1写 R0R3 的选择控制。LDSA打入 SA 的控制信号。LDSB打入 SB 的控制信号。SB-ALU打开非反向三态门的控制信号。SB-ALU打开反向三态门的控制信号,并使加法器最低位加 1。CLR暂存器 SB 清零信号。 一段微程序结束,转入取机器指令的控制信号。SB-ALU(2)ADD、SUB 两条指令的微程序流程图见图 B2.3 所示。3、图 B3.1 所示的处理机逻辑框图中,有两条独立的总线和两个独立的存贮器。已知指令存贮器 IM 最大容量为16384 字(字长 18 位) ,数据存贮器 DM 最大容量是 65536 字(字长 16
5、 位) 。各寄存器均有“打入” (R in)和“送出”(R out)控制命令,但图中未标出。图 B3.1设处理机指令格式为:17 10 9 0OP X加法指令可写为“ADD X(R 1) ”。其功能是(AC 0) + (R i) + X)AC 1,其中(R i)+ X)部分通过寻址方式指向数据存贮器,现取 Ri 为 R1。试画出 ADD 指令从取指令开始到执行结束的操作序列图,写明基本操作步骤和相应的微操作控制信号。解:加法指令“ADD X(R i) ”是一条隐含指令,其中一个操作数来自 AC0,另一个操作数在数据存贮器中,地址由通用寄存器的内容(R i)加上指令格式中的 X 量值决定,可认为
6、这是一种变址寻址。因此,指令周期的操作流程图如图 B3.4,相应的微操作控制信号列在框图外。 图 B3.4以知 cache 命中率 H=0.98,主存比 cache 慢 4 倍,以知主存存取周期为 200ns,求 cache/主存的效率和平均访问时间。解: R=Tm/Tc=4;Tc=Tm/4=50nsE=1/R+(1-R)H=1/4+(1-4)0.98=0.94Ta=Tc/E=Tc4-30.98= 501.06=53ns。4、某计算机有 8 条微指令 I1I8,每条微指令所包含的微命令控制信号见下表所示, aj 分别对应 10 种不同性质的微命令信号。假设一条微指令的控制字段仅限 8 位,请安
7、排微指令的控制字段格式。解:为了压缩指令字的长度,必须设法把一个微指令周期中的互斥性微命令信号组合在一个小组中,进行分组译码。经分析, (e ,f ,h)和(b, i, j)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的 a, c, d, g 四个微命令信号可进行直接控制,其整个控制字段组成如下:01 e 01 b直接控制 10 f 10 ia c d g 11 h 11 j4 位 2 位 2 位 5、CPU 执行一段程序时, cache 完成存取的次数为 3800 次,主存完成存取的次数为 200 次,已知 cache 存取周期为50ns,主存为 250ns,求 ca
8、che / 主存系统的效率和平均访问时间。 解 :命中率 H = Ne / (N C + Nm) = 3800 / (3800 + 200) = 0.95主存慢于 cache 的倍率 :r = t m / tc = 250ns / 50ns = 5访问效率 :e = 1 / r + (1 r)H = 1 / 5 + (1 5)0.95 = 83.3%平均访问时间 :t a = tc / e = 50ns / 0.833 = 60ns6、运算器结构如图 B5.2 所示, R1 ,R 2,R 3 是三个寄存器,A 和 B 是两个三选一的多路开关,通路的选择由 AS0 ,AS1 和 BS0 ,BS
9、1 端控制,例如 BS0BS1 = 11 时,选择 R3 ,BS 0BS1 = 01 时,选择 R1,ALU 是算术 / 逻辑单元。S1S2 为它的两个操作控制端。其功能如下:S1S2 = 00 时,ALU 输出 = A S1S2 = 01 时,ALU 输出 = A + BS1S2 = 10 时,ALU 输出 = A BS1S2 = 11 时,ALU 输出 = AB 请设计控制运算器通路的微指令格式。图 B5.2解: 采用水平微指令格式,且直接控制方式,顺序控制字段假设 4 位,其中一位判别测试位:2 位 2 位 2 位 3 位 1 位 3 位 直接控制 顺序控制 当 P = 0 时,直接用
10、AR 1AR 3 形成下一个微地址。当 P = 1 时,对 AR 3 进行修改后形成下一个微地址。7、某计算机有如下部件:ALU,移位器,主存 M,主存数据寄存器 MDR,主存地址寄存器 MAR,指令寄存器 IR,通用寄存器 R0R3 ,暂存器 C 和 D。(1)请将各逻辑部件组成一个数据通路,并标明数据流向。(2)画出“ADD R 1, (R 2) ”指令的指令周期流程图,指令功能是 (R 1)+(R 2) )R 1。移位器 IRPCR0R1MDRMAS0 AS1 S1 S2 BS0 BS1 LDR1,LDR 2 ,LDR 3 P AR1,AR 2,AR 3ALU图 B6.2解:(1)各功能
11、部件联结成如图所示数据通路:ALU +1图 B 6.4(2)此指令为 RS 型指令,一个操作数在 R1 中,另一个操作数在 R2 为地址的内存单元中,相加结果放在 R1 中。 送当前指令地址到 MAR 取当前指令到 IR,PC + 1,为取下条指令做好准备取 R1操作数C 暂存器。R 2中的内容是内存地址从内存取出数D 暂存器暂存器 C 和 D 中的数相加后送 R1图 B 6.5 8、某程序对页面要求的序列为 0,1,3,4,3,2,0,2,1,3,2,设主存容量为 3 个页面,求 FIFO 和 LRU 替换算法时各自的命中率(假设开始时主存为空 )。要求给出过程。答:FIFO 和 LRU 替
12、换算法的命中率各占 4 分页面请求 0 1 3 4 3 2 0 2 1 3 2 0 0 0 1 1 3 4 4 2 0 1 1 1 3 3 4 2 2 0 1 3 3 4 4 2 0 0 1 3 2FIFO 命中 L 0 0 0 1 1 4 3 3 0 2 1CDR2R3 MAR移位器DCPCIRR3R2R1R0MARMMDR(PC) MARMMDRIR, (PC)+ 1(R 1)C(R 2)MARMMDRD (C)+(D)R 1 译码 1 1 3 4 3 2 0 2 1 3 3 4 3 2 0 2 1 3 2RU命中 FIFO 替换算法的命中率=2/11=18.2%LRU 替换算法的命中率=
13、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访问效率: ()+().平均访问时间 .n10、已知某系统采用页式虚拟存储器方案, 某程序中一条指令的虚地址是:0000
14、01111111100000, 该程序的页表起始地址是 0011, 页面大小是 1K, 页表中有关单元最后 4 位是实页号。求: 某指令地址(虚地址)变换后的主存实地址。装入位 实页号1 00011 00111 1100解: 虚地址虚页号+页内地址,且页面大小1KB2 10虚页号 00000111页表索引地址页表起始地址+虚页号001100000111307H查页表得实页号为 1100主存实地址是11001111100000。装入位 实页号1 00011 00111 110011、图(a)是某 SRAM 的写入时序,其中 R / W 是读 、写命令控制线,当 R / W 线为低电平时,存贮器按
15、给定地址把数据线上的数据写入存贮器。请指出图中时序的错误,并画出正确的写入时序。页表地址007H300H307H页表地址007H300H307H解:写入存储器时时序信号必须同步。通常,当 R / W 线加负脉冲时,地址线和数据线的电平必须是稳定的。当 R / W 线 一达到逻辑 0 电平时,数据立即被存储。因此,当 R / W 线 处于低状态时,如果数据线改变数值,那么存储器将存储新的数据。同样,当 R / W 线处于低状态时,地址发生了变化,那么同样的数据将存储到新的地址(或) 。正确的写入时序图如图(b)所示:(图占 6 分,根据情况酌情加减分)图(b)12、某机运算器框图如图 B7.1
16、所示,其中 ALU 由通用函数发生器组成,M 1M3 为多路开关,采用微程序控制,若用微指令对该运算器要求的所有控制信号进行微指令编码的格式设计,列出各控制字段的编码表。解:当 24 个控制信号全部用微指令产生时,可采用字段译码法进行编码控制,采用的微指令格式如下(其中目地操作数字段与打入信号段可结合并公用,后者加上节拍脉冲控制即可) 。3 位 3 位 5 位 4 位 3 位 2 位 X目的操作数 源操作数 运算操作 移动操作 直接控制 判别 下址字段编码表如下:目的操作数字段 源操作数字段 运算操作字段 移位门字段 直接控制字段001 a, LDR0010 b, LDR1011 c, LDR
17、2100 d, LDR3001 e010 f011 g100 hMS0S1S2S3 L, R, S, N i, j, +113、如图 B8.1 表示用快表(页表)的虚实地址转换条件,快表放在相联存贮器中,其容量为 8 个存贮单元,问:(1)当 CPU 按虚地址 1 去访问主存时主存的实地址码是多少?(2)当 CPU 按虚地址 2 去访问主存时主存的实地址码是多少?(3)当 CPU 按虚地址 3 去访问主存时主存的实地址码是多少?页号 该页在主存中的起始地址 虚拟地址 页号 页内地址15 0324701283325764420003800096000 60000400001 2 48 0516
18、图 B7.1155308000050000700003图 B8.113、解:(1)用虚拟地址为 1 的页号 15 作为快表检索项,查得页号为 15 的页在主存中的起始地址为 80000,故将 80000 与虚拟地址中的页内地址码 0324 相加,求得主存实地址码为 80324。 (2) 主存实地址码 = 96000 + 0128 = 96128(3) 虚拟地址 3 的页号为 48,当用 48 作检索项在快表中检索时,没有检索到页号为 48 的页面,此时操作系统暂停用户作业程序的执行,转去执行查页表程序。如该页面在主存中,则将该页号及该页在主存中的起始地址写入主存;如该页面不存在,则操作系统要将
19、该页面从外存调入主存,然后将页号及其在主存中的起始地址写入快表。14、用时空图法证明流水 CPU 比非流水 CPU 具有更大的吞吐率。解:(1)时空图法:假设指令周期包含四个子过程:取指令(IF) 、指令译码(ID) 、 执行运算(EX) 、结果写回(WB) ,每个子过程称为过程段(S i) ,这样,一个流水线由一系列串连的过程段组成。在统一时钟信号控制下,数据从一个过程段流向相邻的过程段。 S1 S2 S3 S4(a)指令周期流程IF IDEXWB图 C18.3图 C18.2(b)表示非流水 CPU 的时空图。由于上一条指令的四个子过程全部执行完毕后才能开始下一条指令,因此每隔 4 个单位时
20、间才有一个输出结果,即一条指令执行结束。图 C18.2(c)表示流水 CPU 的时空图。由于上一条指令与下一条指令的四个过程在时间上可以重叠执行,因此,当流水线满载时,每一个单位时间就可以输出一个结果,即执行一条指令。比较后发现:流水 CPU 在八个单位时间中执行了 5 条指令,而非流水 CPU 仅执行 2 条指令,因此流水 CPU 具有更强大的数据吞吐能力。15、CPU 结构如图 B9.1 所示,其中有一个累加寄存器 AC,一个状态条件寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。(1) 标明图中四个寄存器的名称。(2) 简述指令从主存取到控制器的数据通路。(3) 简述数据在运
21、算器和主存之间进行存 / 取访问的数据通路。图 B9.115、解:(1)a 为数据缓冲寄存器 DR ,b 为指令寄存器 IR ,c 为主存地址寄存器,d 为程序计数器 PC。(2)主存 M 缓冲寄存器 DR 指令寄存器 IR 操作控制器。(3)存储器读 :M DR ALU AC存储器写 :AC DR M16、已知 cache / 主存系统效率为 85% ,平均访问时间为 60ns,cache 比主存快 4 倍,求主存储器周期是多少?cache 命中率是多少?16、解:因为:t a = tc / e 所以 :t c = tae = 600.85 = 510ns (cache 存取周期)tm =
22、tcr =510 4 = 204ns (主存存取周期)因为:e = 1 / r + (1 r )H 所以: H = 2.4 / 2.55 = 0.9417、某计算机的数据通路如图 B10.2 所示,其中 M主存, MBR主存数据寄存器, MAR主存地址寄存器, R0-R3通用寄存器, IR指令寄存器, PC程序计数器(具有自增能力) , C、D- 暂存器, ALU算术逻辑单元(此处做加法器看待) , 移位器左移、右移、直通传送。所有双向箭头表示信息可以双向传送。请按数据通路图画出“ADD(R1) , (R2 )+”指令的指令周期流程图。该指令的含义是两个数进行求和操作。其中源操作地址在寄存器
23、R1 中,目的操作数寻址方式为自增型寄存器间接寻址(先取地址后加 1) 。图 B 10.217、解:“ADD (R1) , (R2)+”指令是 SS 型指令,两个操作数均在主存中。其中源操作数地址在 R1 中,所以是 R1 间接寻址。目的操作数地址在 R2 中,由 R2间接寻址,但 R2的内容在取出操作数以后要加 1 进行修改。指令周期流程图如图 B10.418、CPU 执行一段程序时,cache 完成存取的次数为 5000 次,主存完成存取的次数为 200 次。已知 cache 存取周期为 40ns,主存存取周期为 160ns。求:(1)Cache 命中率 H(2)Cache/主存系统的访问
24、效率 e(3)平均访问时间 Ta。解:(1) 命中率 H = Nc/(Nc+Nm) = 5000/(5000+2000)=5000/5200=0.96(2)主存慢于 cache 的倍率 R = Tm/Tc=160ns/40ns=4访问效率:1/r+(1-r)H=1/4+(1-4)0.9689.3%(3)平均访问时间 Ta=Tc/e=40/0.893=45ns19、某程序对页面要求的序列为 P2P3P1P5P3P2P6P3P2P5P2P3P7P3P5,设主存容量为 4 个页面,求 FIFO 和 LRU 替换算法时各自的命中率(假设开始时主存为空)。要求给出过程。答:FIFO 和 LRU 替换算法
25、的命中率各占 4 分页面请求 2 3 1 5 3 2 6 3 2 5 2 3 7 3 5 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 5FIFO 命中 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 5LRU命中 FIFO 替换算法的命中率=6/15=40%LRU 替
26、换算法的命中率=9/15=60%19、微程序共有 58 条微指令,20 个微命令(直接控制) ,6 个微程序分支,请画出微程序控制器组成框图,描述各部分功能。解:根据题意,微指令格式如下:微命令字段(20 位) P 字段(3 位) 下址字段(6 位)由此可画出微程序组成框图如下:图 C15.120、图中所示的处理机逻辑框图中,有两条独立的总线和两个独立的存储器。已知指令存储器 IM 最大容量为 16384字(字长 18 位) ,数据存储器 DM 最大容量是 65536 字(字长 16 位) 。各寄存器均有“打入” (R in)和“送出”(R out)控制命令,但图中未标注出。指出下列各寄存器的
27、位数:程序计数器 PC,指令寄存器 IR,累加器 AC0和 AC1,通用寄存器 R0R3,指令存储器地址寄存器 IAR,指令存储器数据寄存器 IDR,数据存储器地址寄存器 DAR,数据存储器数据寄存器 DDR。图 C17.1解:PC=14 位 IR=18 位AC0=AC1=16 位 R 0R3=16 位IAR=14 位 IDR=18 位DAR=16 位 DDR=16 位21、主存储器容量为 2MB,虚存容量为 1GB(110 9B) ,问:(1)虚拟地址和物理地址各为多少位?(2)根据寻址方式计算出来的有效地址是虚拟地址还是物理地址?(3)如果页面大小为 4kB,页表长度是多少?解:(1)虚拟地址为 30 位(2 分),物理地址为 21 位(2 分)(2)虚拟地址(2 分)(3)页表长度为 218(4 分)