第五章 作业(149A)【计算机系统结构】

news2024/10/7 18:23:57

第五章 作业【计算机系统结构】

  • 前言
  • 推荐
  • 第五章 作业
    • 1
    • 4
    • 8 补充
    • 9
    • 10
  • 最后

前言

2023-6-24 10:43:46

以下内容源自《【计算机系统结构】》
仅供学习交流使用

推荐

第三章 作业(7BF)【计算机系统结构】

答案参考:

https://www.docin.com/p-820917079.html(14)

https://www.docin.com/p-2845679339.html(54)

第五章 作业

1

5.1 解释下列名词

多级存储层次		命中时间			不命中率		不命中开销
全相联映像		直接映像			组相联映像 	替换算法
LRU				写直达法 		写回法 		按写分配法
不按写分配法		强制性不命中		容量不命中	冲突不命中
2:1Cache经验规则	相联度			牺牲Cache	故障性预取
非故障性预取		非阻寒Cache		尽早重启动	请求字优先
多级包容性		虚拟Cache		并行主存系统	多体交又存储器
存储体冲突		TLB
多级存储层次︰采用不同的技术实现的存储器,处在离CPU不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层
(离CPU更远的一层)存储器中内容的子集。目标是达到离CPU最近的存储器的速度,最远的存储器的容量。
命中时间:访问Cache命中时所用的时间。
不命中率(失效率):CPU访存时,在一级存储器中找不到所需信息的概率。
不命中开销(失效开销):CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。
全相联映象︰主存中的任一块可以被放置到Cache 中任意一个地方。
直接映象︰主存中的每一块只能被放置到Cache 中唯一的一个地方。
组相联映象:主存中的每一块可以放置到Cache 中唯一的一组中任何一个地方( Cache 分成若干组,每组由若干块构成)
替换算法︰由于主存中的块比Cache 中的块多,所以当要从主存中调一个块到Cache 中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。
这时,需要被迫腾出其中的某一块,以接纳新调入的块。
LRU∶选择最近最少被访问的块作为被替换的块。实际实现都是选择最久没有被访问的块作为被替换的块。
写直达法︰在执行写操作时,不仅把信息写入Cache 中相应的块,而且也写入下一级存储器中相应的块。
写回法︰只把信息写入Cache 中相应块,该块只有被替换时,才被写回主存。
按写分配法︰写失效时,先把所写单元所在的块调入Cache,然后再进行写入。
不按写分配法∶写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。
强制性不命中(强制性失效):当第一次访问一个块时,该块不在Cache 中,需要从下—级存储器中调入Cache,这就是强制性失效。
容量不命中(容量失效)︰如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种失效就称作容量失效。
冲突不命中(冲突失效)︰在组相联或直接映象Cache 中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),
然后又被重新访问的情况。
2:1Cache经验规则︰大小为N的直接映象Cache的失效率约等于大小为N/2的两路组相联Cache的实效率。
相联度∶在组相联中,每组Cache 中的块数。
牺牲Cache(Victim Cache) :位于Cache和存储器之间的又一级Cache,容量小,采用全相联策略。用于存放由于失效而被丢弃(替换)的那些块。每当失效发生时,
在访问下一级存储器之前,先检查Victim Cache 中是否含有所需块。
故障性预取∶在预取时,若出现虚地址故障或违反保护权限,就会发生异常。
非故障性预取︰在预取时,若出现虚地址故障或违反保护权限,不发生异常。
非阻塞Cache : Cache在等待预取数据返回时,还能继续提供指令和数据。
尽早重启动︰在请求字没有到达时,CPU处于等待状态。一旦请求字到达,就立即发送给CPU,让等待的CPU尽早重启动,继续执行。
请求字优先:调块时,首先向存储器请求CPU所要的请求字。请求字一旦到达,就立即送往CPU,让CPU继续执行,同时从存储器调入该块的其余部分。
多级包容性:如果第一级的数据总是同时存在于第二级Cache中,则称第二级Cache有多级包容性。(有利于I/O于Cache之间内容一致性的检测)
虚拟Cache :地址使用虚地址的Cache。
并行存储系统:在一个访存周期内能并行访问多个存储字的存储器,它能有效地提高存储器的带宽。
多体交叉存储器︰具有多个存储体,各体之间按字交叉的存储技术。
存储体冲突:多个请求要访问同一个体。
TLB:一个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内容的一个副本。

4

5.4设有一个"Cache-主存”层次,Cache为4块,主存为8块:试分别对于以下3种情况,画出
其映像关系示意图,并计算访存块地址为5时的索引(index) 。

类似于图5.7 3种映像规则

(1)全相联。
访存块地址为5时的索引可以是0 1 2 3
在这里插入图片描述

(2)组相联,每组两块。
访存块地址为5时的索引可以是2 3
在这里插入图片描述

(3)直接映像。
访存块地址为5时的索引可以是1
在这里插入图片描述

8 补充

5.8假设对指令Cache的访问占全部访问的75%;而对数据Cache 的访问占全部访问的 25%。Cache的命中时间为1个时钟周期,失效开销为50个时钟周期,在混合Cache 中一次load或store操作访问Cache的命中时间都要增加一个时钟周期,32KB的指令Cache的失效率为%,32KB的数据Cache的失效率为%,64KB的混合Cache的失效率为1.35%。又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。试问指令Cache和数据Cache容量均为32KB的分离Cache和容量为64KB的混合Cache相比,哪种 Cache 的失效率更低﹖两种情况下平均访存时间各是多少?

解∶(1)根据题意,约75%的访存为取指令。 25%的访存为取数据
因此,分离Cache的总体失效率为:(75%×0.39% ) + (25%×4.82% ) =1.4975%
容量为64KB的混合Cache的失效率略低一些,只有1.35%
(2)平均访存时间公式可以分为指令访问和数据访问两部分∶
平均访存时间=指令所占的百分比×(读命中时间+读失效率×失效开销)+数据所占的百分比×(数据命中时间+数据失效率×失效开销)
所以,两种结构的平均访存时间分别为∶
分离Cache的平均访存时间=75%× (1+0.39%×50 ) +25%×( 1+4.82%×50 )= (75%× 1.195) +(25%×3.41 ) =1.74875
混合Cache的平均访存时间=75%x(1+1+1.35%×50 ) +25%×( 1+1+1.35%×50 ) = ( 75%×2.675 ) + (25%× 2.675) =2.675
因此,尽管分离Cache的实际失效率比混合Cache的高,但其平均访存时间反而较低。分离Cache提供了两个端口,消除了结构相关。

9

5.9假设在3000次访存中,第一级Cache 不命中110次,第二级Cache不命中55次。试同:在
这种情况下,该Cache系统的局部不命中率和全局不命中率各是多少?

解:
第一级Cache局部不命中率=全局不命中率=110/3000==3.67%
第二级Cache局部不命中率=55/110=50%
第二级Cache全局不命中率=55/3000≈1.83%

10

5.10给定以下的假设,试计算直接映像Cache和两路组相联Cache的平均访问时间以及CPU
的性能由计算结果能得出什么结论?
(1)理想Cache情况下的CPI为,时钟周期为2ns,平均每条指令访存次;
(2)两者ache容量均为64KB,块大小都是32字节;
(3)组相联Cache 中的多路选择器使CPU的时钟周期增加了10%;
(4)这两种Cache的失效开销都是80ns;
(5)命中时间为1个时钟周期;
(6)64KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%。

类似于例5.2

解:
(1)直接映象Cache
平均访存时间T= TA+ FTM = 2ns + 0.014×80ns = 3.12ns
CPU时间=IC×[ CPI×CYCLE+每条指令访存次数×失效率×失效开销×CYCLE]
=IC×[2.0×2ns + 1.2×0.014×80ns ] =5.344×IC
(2)两路组相联Cache
平均访存时间TA= TAi+ FTM = 2ns×1.1+0.01×80ns = 3.00ns
CPU时间=ICX[ CPIxCYCLE+每条指令访存次数×失效率×失效开销×CYCLE]
=ICX[2.0×2ns×1.1 +1.2×0.01 ×80ns ] = 5.360×IC
(3)比较与结论
平均访存时间sag/平均访存时间直接映象=3.00/3.12=0.96,两路组相联Cache较快;
CPU时间atax /CPU时间sag=(5.360xIC)/(5.344xIC)=1.003,直接映象Cache较快。(因为组相联的时钟延长了10%,它的指令执行时间加长了)
解︰
平均访问时间=命中时间+失效率×失效开销
平均访问时间1-路=2ns+1.4%*80ns=3.12ns
平均访问时间2-路=2ns*(1+10%)+1%*80ns=3.00ns
两路组相联的平均访问时间比较低

CPU time= (CPU执行+存储等待周期)*时钟周期
CPU time=IC (CPI执行+总失效次数/指令总数*失效开销)*时钟周期
=IC((CPI执行*时钟周期)+(每条指令的访存次数*失效率*失效开销*时钟周期))
CPU time 1-way=IC(2.0*2ns+1.2*1.4%*80ns)=5.344×IC ns
CPU time 2-way=IC(2.0*2ns*1.1+1.2*1%*80ns)= 5.360×IC ns

相对性能比∶
平均访问时间1-路>平均访问时间2-路
CPU time 1way<CPU time 2way 
直接映象cache的访问速度比两路组相联cache要慢,
而两路组相联Cache的平均性能比直接映象cache要高。
因此这里选择两路组相联。

最后

2023-6-24 12:32:19

你对我百般注视,
并不能构成万分之一的我,
却是一览无余的你。

祝大家逢考必过
点赞收藏关注哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML 教程:学习如何构建网页||HTML 简介

HTML 简介 HTML 简介 现在您可以通过如下的一个 HTML 实例来建立一个简单的 HTML 页面&#xff0c;以此来简单了解一下 HTML 的结构。 HTML 实例 <!DOCTYPE html> <html> <head> <title>页面标题(w3cschool.cn)</title> </head> <…

中国电子学会2023年05月份青少年软件编程C++等级考试试卷四级真题(含答案)

1.怪盗基德的滑翔翼 怪盗基德是一个充满传奇色彩的怪盗&#xff0c;专门以珠宝为目标的超级盗窃犯。而他最为突出的地方&#xff0c;就是他每次都能逃脱中村警部的重重围堵&#xff0c;而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。 有一天&#xff0c;怪盗基德像…

混频器【Multisim】【高频电子线路】

目录 一、实验目的与要求 二、实验仪器 三、实验内容与测试结果 1、测试输入输出波形&#xff0c;说明两者之间的关系 2、测试输出信号的频谱(傅里叶分析法) 3、将其中一个二极管反接&#xff0c;测试输出波形&#xff0c;并解释原因&#xff1b;将两个二极管全部反接&am…

PID相关参数讲解:1、比例系数Kp与静态误差

PID的结构与公式 来研究静态误差的同学&#xff0c;应该是对PID的原理有一定理解了&#xff0c;简单的概念也不用过多重复。 比例控制时PID控制中最简单的一个&#xff0c;很多能用代码编写PID代码的同学&#xff0c;也不一定理解这个比例系数Kp的意义&#xff0c;以及比例控制…

C++进阶—多态

目录 0. 前言 1. 多态的概念 1.1 概念 2. 多态的定义及实现 2.1多态的构成条件 2.2 虚函数 2.3虚函数的重写 2.4 C11 override 和 final 3. 抽象类 3.1 概念 3.2 接口继承和实现继承 4.多态的原理 4.1虚函数表 4.2 变态选择题分析多态调用 4.3 多态的原理 4.4 动…

透过小说中的境界划分,看看你的能力处于哪个水平

文章目录 1. 写在前面2. 散修3. 练气期4. 筑基期5. 结丹期6. 元婴期7. 化神期8. 练虚期 1. 写在前面 当我们某天开始走出校园&#xff0c;踏入社会的时候&#xff0c;是否也会感到一丝恐惧与焦虑&#xff1f;当我们各自奔走加入到江湖大大小小的门派中&#xff0c;为了企业与老…

EL标签-给JSP减负

https://blog.csdn.net/weixin_42259823/article/details/85945149 安装使用 1. 通过命令行创建maven项目 2. 安装jstl包 <dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version> </depen…

仙境传说RO:服务器外网架设登陆教程

仙境传说RO&#xff1a;服务器外网架设登陆教程 大家好我是艾西&#xff0c;今天跟大家说一下自己编译的仙境传说RO服务端怎么开启外网让小伙伴和你一起玩。 目前开放的现成端有以下版本&#xff1a; 仙境传说ro守护永恒的爱 仙境传说ro爱如初见 仙境传说ro黑色派对 仙境…

docker-compose把微服务部署到centos7

前言 这里主要记录以下微服务使用docker、docker-compose部署遇到的一些问题&#xff0c;大佬可以绕道去看看自动化集成这篇文章 部署之前你需要准备一些内容 微服务 这里feign-api是用来做服务之间相互调用的&#xff0c;单独抽离成了一个模块&#xff0c;gateway是服务网关&…

中国电子学会2023年05月份青少年软件编程C++等级考试试卷三级真题(含答案)

1.找和为K的两个元素 在一个长度为n(n < 1000)的整数序列中&#xff0c;判断是否存在某两个元素之和为k。 【输入】 第一行输入序列的长度n和k&#xff0c;用空格分开。 第二行输入序列中的n个整数&#xff0c;用空格分开。 【输出】 如果存在某两个元素的和为k&#xff0c…

CentOs中文件权限命令

文件权限&#xff1a; ls -l命令查看文件详情&#xff0c;前十位就是文件的类型和权限 第一位&#xff1a;类型&#xff1a; - 普通文件 d 目录 l 链接文件&#xff08;快捷方式&#xff09;link 2~4位&#xff1a;所有者的权限 5~7位&#xff1a;所有者所在组其它用户的权限 …

AI绘图-StableDiffusion安装

AI绘图-StableDiffusion安装 安装Python 1、去官网 https://www.python.org/downloads/ 下载Python3.10.10版本&#xff0c;网上建议下载3.10.6版本。 2、安装Python,打开安装界面&#xff0c;注意把Add Python to PATH选项勾上&#xff0c;然后选择自定义安装 3、点击WinR…

【数据结构与算法】2、链表(简单模拟 Java 中的 LinkedList 集合,反转链表面试题)

目录 一、链表基本概念和基本代码实现二、链表、动态数组整合&#xff08;面向接口编程&#xff09;三、clear()四、add(int index, E element)(1) 找到 index 位置的节点(2) get(int index) 和 set(int index, E element)(3) add(int index, E element) 五、remove(int index)…

基于Java+Swing+Socket实现中国象棋-网络版

基于JavaSwingSocket实现中国象棋-网络版 一、系统介绍二、功能展示1.系统登陆2.选择黑色方进行对局3.整体页面4、保存棋谱5、认输 三、其他系统四、获取源码 前言 中国象棋是起源于中国的一种棋&#xff0c;属于二人对抗性游戏的一种&#xff0c;在中国有着悠久的历史。由于用…

员工管理业务开发 -- 手把手教你做ssm+springboot入门后端项目黑马程序员瑞吉外卖(三)

文章目录 前言六、员工管理业务开发1.开发功能预览2.新增员工功能1&#xff09;需求分析2&#xff09;数据模型&#xff08;表&#xff09;3&#xff09;代码开发4&#xff09;功能测试5&#xff09;编写全局异常处理器 3.员工信息分页查询1&#xff09;需求分析2&#xff09;代…

VS Code的下载安装,及其简单使用

目录 前言 一.下载 二.安装 三.VS Code的插件安装 &#x1f496;插件正常安装 &#x1f496;插件安装异常 四.VS Code的配置 五.VS Code的基本使用 总结 &#x1f381;个人主页&#xff1a;tq02的博客_CSDN博客-C语言,Java领域博主 &#x1f3a5; 本文由 tq02 原创&#…

Redis 分布式锁实现

Redis 分布式锁 分布式锁&#xff1a;满足分布式系统或集群模式下多进程可见并且互斥的锁 特点&#xff1a; 多线程可见互斥高可用高性能&#xff08;高并发&#xff09;安全性、可重入性、重试机制、锁超时自动续期等 … 加锁之后&#xff0c;对整个分布式集群都有效 基于…

多线程之常用线程安全类型分析

写在前面 本文一起看下在日常工作中我们经常用到的线程安全的数据类型&#xff0c;以及一些经验总结。 1&#xff1a;常用线程安全数据类型 1.1&#xff1a;jdk集合数据类型 jdk的集合数据类型分为两类&#xff0c;一种是线性数据结构&#xff0c;另外一种是字典结构&#…

【系统架构】第五章-软件工程基础知识(一)

软考-系统架构设计师知识点提炼-系统架构设计师教程&#xff08;第2版&#xff09; 软件工程 一、软件过程模型 1、瀑布模型 特点&#xff1a;前一个阶段工作的输出结果&#xff0c;是后一个阶段工作的输入 缺点&#xff1a; 软件需求的完整性、正确性等很难确定&#xff0c…

人力资源外包系统(社会实践管理系统)需求分析文档

该系统主要针对当前在校大学生、中专院校学生寒、暑假社会实践而设计的管理系统&#xff1b; 主要用户群为人力资源外包公司&#xff0c;也可以是各个学校管理学生使用&#xff1b; 主要功能有维护企业信息&#xff0c;招工信息&#xff0c;企业宣传资料&#xff1b;维护学校…