计算机体系结构第五章练习题参考解答
计算机网络课后习题答案(第五章)

计算机网络课后习题答案(第五章)(2009-12-14 18:28:04)转载▼标签:课程-计算机教育第五章传输层5—01 试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别为什么运输层是必不可少的答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
5—02 网络层提供数据报或虚电路服务对上面的运输层有何影响答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。
但提供不同的服务质量。
5—03 当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的答:都是。
这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
5—04 试用画图解释运输层的复用。
画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP数据报上。
5—05 试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。
答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。
有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。
因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
5—06 接收方收到有差错的UDP用户数据报时应如何处理答:丢弃5—07 如果应用程序愿意使用UDP来完成可靠的传输,这可能吗请说明理由答:可能,但应用程序中必须额外提供与TCP相同的功能。
5—08 为什么说UDP是面向报文的,而TCP是面向字节流的答:发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。
计算机体系结构课后习题原版答案

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
计算机组成基本知识第五章答案解析

5.4 教材习题解答1.如何区别存储器和寄存器?两者是一回事的说法对吗?解:存储器和寄存器不是一回事。
存储器在CPU 的外边,专门用来存放程序和数据,访问存储器的速度较慢。
寄存器属于CPU 的一部分,访问寄存器的速度很快。
2.存储器的主要功能是什么?为什么要把存储系统分成若干个不同层次?主要有哪些层次?解:存储器的主要功能是用来保存程序和数据。
存储系统是由几个容量、速度和价存储系统和结构第5章1 29 格各不相同的存储器用硬件、软件、硬件与软件相结合的方法连接起来的系统。
把存储系统分成若干个不同层次的目的是为了解决存储容量、存取速度和价格之间的矛盾。
由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次,其中高速缓存和主存间称为Cache -主存存储层次(Cache 存储系统)主存和辅存间称为主存—辅存存储层次(虚拟存储系统)。
3.什么是半导体存储器?它有什么特点?解:采用半导体器件制造的存储器,主要有MOS 型存储器和双极型存储器两大类。
半导体存储器具有容量大、速度快、体积小、可靠性高等特点。
半导体随机存储器存储的信息会因为断电而丢失。
4. SRAM记忆单元电路的工作原理是什么?它和DRAM 记忆单元电路相比有何异同点?解:SRAM记忆单元由6个MOS管组成,利用双稳态触发器来存储信息,可以对其进行读或写,只要电源不断电,信息将可保留。
DRAM 记忆单元可以由4 个和单个MOS 管组成,利用栅极电容存储信息,需要定时刷新。
5.动态RAM为什么要刷新?一般有几种刷新方式?各有什么优缺点?解:DRAM 记忆单元是通过栅极电容上存储的电荷来暂存信息的,由于电容上的电荷会随着时间的推移被逐渐泄放掉,因此每隔一定的时间必须向栅极电容补充一次电荷,这个过程就叫做刷新。
常见的刷新方式有集中式、分散式和异步式3 种。
集中方式的特点是读写操作时不受刷新工作的影响,系统的存取速度比较高;但有死区,而且存储容量越大,死区就越长。
计算机体系结构第五章练习题参考解答

第 五 章5.34在一个采用组相联映象方式的Cache 存储系统中,主存由B 0~B 7共8块组成,Cache 有2组,每组2块,每块大小为16B 。
在一个程序执行过程中,访存的主存块地址流为:B 6,B 2,B 4,B 1,B 4,B 6,B 3,B 0,B 4,B 5,B 7,B 3。
(1)写出主存地址的格式,并标出各字段的长度。
(2)写出Cache 地址的格式,并标出各字段的长度。
(3)指出主存与Cache 之间各个块的映象关系。
(4)若Cache 的4个块号为C 0、C 1、C 2和C 3,列出程序执行过程中的Cache 块地址流。
(5)若采用FIFO 替换算法,计算Cache 的块命中率。
(6)若采用LRU 替换算法,计算Cache 的块命中率。
(7)若改为全相联映象方式,再做(5)和(6)。
(8)若在程序执行过程中,每从主存装入一块到Cache ,平均要对这个块访问16次,计算在这种情况下的Cache 命中率。
解:(1)(2)采用组相联映象时,主存和Cache 地址的格式分别为:主存按Cache 的大小分区,现主存有8个块,Cache 有2×2=4个块,则主存分为8/4=2个区,区号E 的长度为1位。
又每区有2个组,则组号G 、g 的长度都为1位。
而每组有2个块,则块号B 、b 的长度又都为1位。
每块大小为16个存储字,故块内地址W 、w 的长度都为4位。
(3)根据组相联映象的规则,主存块0~7与Cache 块0~3之间的映象关系为:主存块0、1、4、5与Cache 块0、1之间全相联,主存块2、3、6、7与Cache 块2、3之间全相联。
(4)根据组相联映象的规则,该主存块地址流相应的一种Cache 块地址流如下表所示(组内替换算法为FIFO )。
时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B 6B 2B 4B 1B 4B 6B 3B 0B 4B 5B 7B 3Cache 块地址流:C 2 C 3 C 0 C 1 C 0 C 2 C 2 C 0 C 0 C 0 C 3 C 2(5)组内替换算法采用FIFO 时,Cache 块0~3的使用过程如下表所示。
计算机组成与体系结构(linda null) 第五章课后习题讲解范文

第五章课后题答案2、3、已知2M*16的主存储器的前两个字节中有如下的十六进制数值: 字节0处为FE 字节1处为01,如果这些字节保存的是一个16位2补整数,问如果按照如下的方式存储数据,那么实际存放的十进制数值分别是多少?a) 存储器是大端格式 b) 存储器是小端格式 答案:大端格式:FE01原码为:小端格式:01FE原码为:8、将下列表达式由中缀表示法变换成反向逆波兰(后缀)表示法:a)X*Y+W*Z+V*Ub)W*X+W*(U*V+Z)c)(W*(X+Y*(U*V)))/(U*(X+Y))答案:a)X*Y + W*Z + V*U=>XY* + WZ* + VU*=>XY* WZ* + + VU*=>XY* WZ*+VU*+b)W*X + W*(U*V + Z)=>WX* + W*(UV* + Z)=>WX* + W*(UV*Z +)=>WX* + WUV*Z + *=>WX* WUV*Z+*+c)(W*(X + Y*(U*V)))/(U*(X + Y))=>(W*(X + Y*(UV*)))/(U*(XY+))=>(W*(X + YUV**))/UXY+*=>(W*(XYUV**+))/UXY+*=>(WXYUV**+*)/UXY+*=>WXYUV**+*UXY+*/9、将下列反向逆波兰式(后缀)表示法转换成中缀表示法:a)WXYZ-+*=>WXY-Z+*=>WX+Y-Z*=>W*(X+Y-Z)b)UVWXYZ+*+*+=>UVWXY+Z*+*+=>UVWX*(Y+Z)+*+=>UVW+X*(Y+Z)*+=>UV*(W+X*(Y+Z))+=>U+V*(W+X*(Y+Z))c)XYZ+VW-*Z++=>XY+ZV-W*Z++=>X(Y+Z)*(V-W)Z++=>X(Y+Z)*(V-W)+Z+=>X+((Y+Z)*(V-W)+Z)11、如果某台计算机的指令格式为:指令的长度共11位,而地址域的大小占4位,试证明采用这种指令格式的计算机是否可能有如下的指令形式,并验证你的答案:5个二地址指令45个一地址指令32个零地址指令000 xxxx xxxx001 xxxx xxxx010 xxxx xxxx 5个二地址指令011 xxxx xxxx100 xxxx xxxx45个一地址指令:101 0000 xxxx 16条101 1111 xxxx110 0000 xxxx 16条110 1111 xxxx111 0000 xxxx13条111 1100 xxxx32个0地址指令111 11100000 16条111 11101111111 1111 0000 16条111 1111 1111b)假如某台采用上述指令格式的计算机体系结构,并设计了6个2地址指令和24个0地址指令,试问可以在该指令系统中添加的1地址指令的最大数目是多少?000 xxxx xxxx 6个101 xxxx xxxx0地址指令: 24=3*8111 1111 1000 8个 111 1111 1111111 1111 0000 8个 111 1111 0111111 1110 1000 8个111 1110 1111一地址前三位110:110 0000 xxxx 共16条 110 1111 xxxx 一地址前三位111:111 0000 xxxx 共14条 111 1101 xxxx ∴最大数目是3013、如果有指令Load 1000,并且已知存储器和寄存器RI 中包含如下数值:存储器 R11000110012001300 1400假设R1隐含在变址寻址方式中,试确定指令嵌入到累加器中实际数值,并填写值1000直接装入AC 中。
计算机体系结构试题及答案

计算机体系结构试题及答案12008年01月23日22:211、计算机高性能发展受益于:(1)电路技术的发展;(2)计算机体系结构技术的发展。
2、层次结构:计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为特征。
第六级:应用语言虚拟机-> 第五级:高级语言虚拟机-> 第四级:汇编语言虚拟机-> 第三级:操作系统虚拟机-> 第二级:机器语言(传统机器级) ->第一级:微程序机器级。
3、计算机体系结构:程序员所看到的计算机的属性,即概括性结构与功能特性。
For personal use only in study and research; not for commercial use4、透明性:在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的概念称为透明性。
5、Amdahl提出的体系结构是指机器语言级程序员所看见的计算机属性。
6、经典计算机体系结构概念的实质3是计算机系统中软、硬件界面的确定,也就是指令集的设计,该界面之上由软件的功能实现,界面之下由硬件和固件的功能来实现。
7、计算机组织是计算机系统的逻辑实现;计算机实现是计算机系统的物理实现。
8、计算机体系结构、计算机组织、计算机实现的区别和联系?答:一种体系结构可以有多种组成,一种组成可以有多种物理实现,体系结构包括对组织与实现的研究。
9、系列机:是指具有相同的体系结构但具有不同组织和实现的一系列不同型号的机器。
10、软件兼容:即同一个软件可以不加修改地运行于系统结构相同的各机器,而且它们所获得的结果一样,差别只在于运行时间的不同。
11、兼容机:不同厂家生产的、具有相同体系结构的计算机。
12、向后兼容是软件兼容的根本特征,也是系列机的根本特征。
13、当今计算机领域市场可划分为:服务器、桌面系统、嵌入式计算三大领域。
14、摩尔定律:集成电路密度大约每两年翻一番。
15、定量分析技术基础(1)性能的评测:(a)响应时间:从事件开始到结束之间的时间;计算机完成某一任务所花费的全部时间。
计算机网络第五章课后习题答案

5—01 试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
5—02 网络层提供数据报或虚电路服务对上面的运输层有何影响?答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。
但提供不同的服务质量。
5—03 当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的?答:都是。
这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
5—04 试用画图解释运输层的复用。
画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP数据报上。
5—05 试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。
答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。
有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。
因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
5—06 接收方收到有差错的UDP用户数据报时应如何处理?答:丢弃5—07 如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由答:可能,但应用程序中必须额外提供与TCP相同的功能。
5—08 为什么说UDP是面向报文的,而TCP是面向字节流的?答:发送方UDP 对应用程序交下来的报文,在添加首部后就向下交付IP 层。
UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
接收方UDP 对IP 层交上来的UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
计算机网络第五章课后答案

计算机网络第五章课后答案第五章5—01 试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
5—02 网络层提供数据报或虚电路服务对上面的运输层有何影响?答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。
但提供不同的服务质量。
5—03 当应用程序使用面向连接的TCP 和无连接的IP 时,这种传输是面向连接的还是面向无连接的?答:都是。
这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
5—04 试用画图解释运输层的复用。
画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP 数据报上。
5—05 试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP 。
答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。
有差错的UDP数据报在接收端被直接抛弃,TCP 数据报出错则会引起重传,可能带来较大的时延扰动。
因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP 。
5—06 接收方收到有差错的UDP用户数据报时应如何处理?答:丢弃5—07 如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由答:可能,但应用程序中必须额外提供与TCP 相同的功能。
5—08 为什么说UDP是面向报文的,而TCP 是面向字节流的?答:发送方UDP 对应用程序交下来的报文,在添加首部后就向下交付IP 层。
UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 五 章5.34 在一个采用组相联映象方式的Cache 存储系统中,主存由B 0~B 7共8块组成,Cache 有2组,每组2块,每块大小为16B 。
在一个程序执行过程中,访存的主存块地址流为:B 6,B 2,B 4,B 1,B 4,B 6,B 3,B 0,B 4,B 5,B 7,B 3。
(1)写出主存地址的格式,并标出各字段的长度。
(2)写出Cache 地址的格式,并标出各字段的长度。
(3)指出主存与Cache 之间各个块的映象关系。
(4)若Cache 的4个块号为C 0、C 1、C 2和C 3,列出程序执行过程中的Cache 块地址流。
(5)若采用FIFO 替换算法,计算Cache 的块命中率。
(6)若采用LRU 替换算法,计算Cache 的块命中率。
(7)若改为全相联映象方式,再做(5)和(6)。
(8)若在程序执行过程中,每从主存装入一块到Cache ,平均要对这个块访问16次,计算在这种情况下的Cache 命中率。
解:(1)(2)采用组相联映象时,主存和Cache 地址的格式分别为:主存按Cache 的大小分区,现主存有8个块,Cache 有2×2=4个块,则主存分为8/4=2个区,区号E 的长度为1位。
又每区有2个组,则组号G 、g 的长度都为1位。
而每组有2个块,则块号B 、b 的长度又都为1位。
每块大小为16个存储字,故块内地址W 、w 的长度都为4位。
(3)根据组相联映象的规则,主存块0~7与Cache 块0~3之间的映象关系为:主存块0、1、4、5与Cache 块0、1之间全相联,主存块2、3、6、7与Cache 块2、3之间全相联。
(4)根据组相联映象的规则,该主存块地址流相应的一种Cache 块地址流如下表所示(组内替换算法为FIFO )。
时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块地址流: C 2 C 3 C 0 C 1 C 0 C 2 C 2 C 0 C 0 C 0 C 3 C 2(5)组内替换算法采用FIFO 时,Cache 块0~3的使用过程如下表所示。
时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块0 Cache 块1 Cache 块2 Cache 块3命中 命中 命中可见命中三次,Cache 块命中率为H i = 3/12 = 0.25。
(6)组内替换算法采用LRU 时,Cache 块0~3的使用过程如下表所示。
时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块0 Cache 块1 Cache 块2 Cache 块3命中 命中 命中 命中可见命中四次,Cache 块命中率为H i = 4/12 = 0.33。
(7)全相联映象的规则是主存块0~7可装入Cache 块0~3的任一块上。
当替换算法采用FIFO 时,Cache 块0~3的使用过程如下表所示。
时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块0Cache 块1 Cache 块2 Cache 块3命中 命中 命中 命中可见命中四次,Cache 块命中率为H i = 4/12 = 0.33。
当替换算法采用LRU 时,Cache 块0~3的使用过程如下表所示。
时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块0Cache 块1 Cache 块2 Cache 块3命中 命中 命中可见命中三次,Cache 块命中率为H i = 3/12 = 0.25。
(8)当命中三次时,Cache 的命中率为H i = (12×16-9)/(12×16)≈1,当命中四次时,Cache 的命中率为H i = (12×16-8)/(12×16)≈1。
5.35 在某采用全相联映象、相联目录表实现地址变换Cache 存储器中,Cache 的容量是2c B ,主存是由m 个存储体组成的低位交叉访问存储器,主存总容量是2M B ,每一个存储体的字长是w 位,。
(1)画出地址变换图。
(2)写出主存地址和Cache 地址的格式,并标出各字段的长度。
(3)说明目录表的行数、相联比较的位数和目录表的宽度。
解:(1)地址变换图见P243的图5-20。
(2)采用全相联映象时,主存和Cache 地址的格式分别为:主存和Cache 单元数分别为:8×2M/w 、8×2c/w ,相应的地址长度分别为:log 2(8×2M /w )=M+3-log 2w 、log 2(2c /w )=C+3-log 2w 。
块的大小为m 个存储字,则主存和Cache 的块内地址长度均为:log 2m ,所以主存和Cache 的块号长度分别为:(M+3-log 2w )-log 2m = M+3-log 2wm 、(C+3-log 2w )-log 2m = C+3-log 2wm 。
(3)相联目录表的行数为Cache 的块数,即C b =2(C+3-log2wm )=2C+3/wm ;相联比较的位数为主存块号长度,即M+3-log 2wm ;目录表的宽度(位数)为主存块号长度、Cache 块号长度和有效位的和,即M+3-log 2wm + C+3-log 2wm +1= M+C+6-2 log 2wm +1(有效位一位)。
5.38 一个采用组相联映像方式的Cache 共有8块,分为两组,用硬件比较对法实现LRU 块替换算法。
(1)共需要多少个触发器和多少个与门? (2)画出其中一组的逻辑图。
解:(1)设组内块数为p ,则触发器的个数为:C p 2=p (p-1)/2。
Cache 有8块分为二组,每组4个块,则每组需要触发器的个数为:4(4-1)/2=6,所以共需要触发器为6×2=12。
与门的个数为组内块数为p=4,与门输入端数为p-1=3。
(2)有效比较对有:AB 、AC 、AD 、BC 、BD 和CD ,比较对触发器的T AB =1表示A 比B 更近被访问过,T AB =0表示B 比A 更近被访问过,T AC 、T AD 、T BC 、T BD 和T CD 也类似定义。
D 最久未被访过的块的逻辑关系为:D LRU = T AD ﹒T BD ﹒T CD C 最久未被访过的块的逻辑关系为:C LRU = T AC ﹒T BC ﹒T CD B 最久未被访过的块的逻辑关系为:B LRU = T AB ﹒T BC ﹒T BD A 最久未被访过的块的逻辑关系为:A LRU = T AB ﹒T AC ﹒T AD5.40 有一个16KB 4路组相联Cache 的32位微处理器,假定该Cache 的块为4个32位的字。
访问访问访问访问(1)画出该Cache的结构逻辑图,指出主存地址的不同字段的作用。
(2)主存地址为ABCDE8F8的单元在Cache中的什么位置。
解:(1)Cache的结构逻辑图见P248的图5-26。
主存地址有区号、区内组号、组内块号和块内地址四个字段,区内组号是按地址访问映像关系表的地址,区号和组内块号是相联访问映像关系表的特征内容,块内地址是选择块内字的地址。
(2)在Cache存储系统中,主存与Cache的块大小是相同的,由题可知主存与Cache是字节编址的。
则块内单元数为:4×32 / 8 = 16;由于24 = 16,则块内地址的位数4;4路组相联则组内块数为4,22= 4,组内块号的位数为2;区内组数为:16KB/4×4×4B(32位)= 256,28 = 256,则区内组号的位数为8。
主存地址为ABCDE8F816的单元,其二进制地址为:1010 1011 1110 1101 1110 1000 1111 1000 (主存字节地址为32位);16KB 的Cache二进制地址为14位,则主存地址中的高18位为区号:1010 1011 1110 1101 11;次高8位10 1000 11为组号,Cache的组号与主存区内组号不变;最低4位1000为块内地址,Cache的块内地址与主存块内地址也不变;次低2位11为组内块号,由于全相联,则Cache的组内块号可以是00或01或10或11。
因此,主存地址为ABCDE8F8的单元在Cache中的位置为:10 1000 11 00或01或10或11 1000。
5.44 在一个Cache存储系统中,Cache的访问周期为10ns,主存储器的访问周期为60ns,每个数据在Cache中平均重复使用4次。
当块的大小为1个字时,存储系统的访问效率只有0.5,现在要通过增加块大小,使存储系统的访问效率达到0.94.(1)当存储系统的访问效率为0.5时,计算命中率和等效访问周期。
(2)为了使存储系统的访问效率达到0.94,命中率和等效访问周期应该提高到多少?(3)为了使存储系统的访问效率从0.5提高到0.94,块的大小至少增加到几个字?解:(1)e = TC /(H×TC+ (1-H)Tm),由题意可知:TC=10ns,Tm=60ns,e=0.5,H为命中率,则有H = 0.8。
而等效访问周期Te= H×TC + (1-H)Tm= 20ns。
(2)同(1)有H = 0.9872、Te=17.552 ns。
(3)设块的大小为X,由题意可知一个块的访问次数为4X,访问效率达到0.94的命中率为0.9872,H=(4X-1)/4X,则X=19.53≈20,即块的大小至少增加到20个字。
5.57 假设在3000次访存中,第一级Cache不命中110次,第二级Cache不命中55次。
试问:在这种情况下,该Cache系统的局部不命中率和全局不命中率各是多少?解:局部不命中率 = 该级Cache的不命中次数/到达该级Cache的访存次数。
不命中率L1 = 110/3000 = 0.0367,不命中率L2= 55/110 = 0.50。
全局不命中率L1 =不命中率L1= 0.0367,全局不命中率L2 = 不命中率L1×不命中率L2= 0.0367×0.50 = 0.0184。