技术标签: 期末复习
要期末考试了,整理一份宝典备考之
计算机系统结构
的知识点。文章内容由William_Tao(攻城狮)
提供,觉得不错的话,点赞支持一波! (公众号:小白IT梦)
一、单选题(共5题,每题2分,共10分)
二、术语解释(共5小题,每小题3分,共15分)
三、简答题(共5小题,每小题5分,共25分)
四、综合应用题(共4小题,前两小题每题10分,后两小题每道15分,共50分
考查知识点:
计算机系统结构的定义;
计算机系统结构的Flynn分类法;
计算机系统设计的定量原理(4个),熟练运用Amdahl定律和CPU性能公式(例1.1、例1.2、例1.3);
理解执行时间和吞吐率的含义;
系列机的含义与软件兼容方式;
模拟与仿真的区别;
并行性、同时性、并发性的含义;
提高并行性的技术途径。
根据存储操作数的存储单元的类型对指令集结构进行分类,以及每类的特点(图2.1和表2.1);
寻址方式的含义,熟悉各种常见寻址方式(表2.4);
偏移寻址方式中偏移量的取值范围的特点,立即数寻址方式中立即数的取值范围的特点(图2.2~图2.4);
CISC指令集结构存在的问题,RISC指令集结构的设计原则;
能够改变控制流的4种指令类型;
数据表示的含义,操作数类型的两种表示方法;
指令集的3种编码格式;
MIPS的寄存器和数据寻址方式的特点;
MIPS的3种指令格式中各字段的含义;
MIPS的4种操作类型(表2.11),控制指令的组成(表2.13)。
说明:对于第8、9、10点,只需理解,不要求能熟练运用。
流水线的概念与时空图;
流水线的分类:
a) 单功能流水线与多功能流水线;
b) 静态流水线与动态流水线;
c) 部件级、处理机级、处理机间流水线;
d) 线性流水线与非线性流水线;
e) 顺序流水线与乱序流水线。
a) 各段时间均相等的流水线;
b) 各段时间不完全相等的流水线。
解决流水线瓶颈问题的常用2种方法;
计算流水线的加速比和效率(例3.1和例3.2);
经典5段流水线的执行过程;
指令相关(3种)的定义,运用换名技术解决名相关;
流水线冲突(3种)的定义,结构冲突和数据冲突的解决措施。
第五章
多级存储层次的设计目标(见图5.1);
以下概念的含义:命中率、失效率、命中时间、失效开销,平均访存时间的计算公式;
3种映像规则的实现原理(见图5.7);
Cache块的查找方法(见图5.8和图5.9);
Cache的工作过程(见图5.11和图5.12);
两种写策略的含义及其优缺点;
熟练运用平均访存时间公式、CPU时间公式、存储器停顿时钟周期数公式进行Cache性能分析(见例5.1、例5.2);
Cache失效的3种类型,降低Cache失效率的4种方法(增加Cache块大小、提高相联度、Victim Cache(“牺牲”Cache)、伪相联映像Cache);
减少Cache失效开销的3种方法(让读失效优先于写、写缓冲合并、采用两级Cache);
减少命中时间的2种方法(容量小且结构简单的Cache、虚拟Cache);
互连网络的定义与3大要素;
熟练运用以下互连函数:交换函数、均匀洗牌函数、蝶式函数、反位序函数、PM2I函数(见例7.1);
以下静态互连网络的特性:线性阵列、环和带弦环、循环移数网络、树形和星形、网格和环网形、超立方体(见例7.2);
2×2开关的4种连接方式,开关模块的3种控制方式;
了解总线网络、交叉开关网络、多级互连网络的构成(见图7.14~图7.17)。
依据存储器结构对多处理机进行分类(见图8.1和图8.2);
分布式存储器多处理机的两种通信方式(共享地址空间、多个独立的地址空间);
多处理机Cache一致性的定义;
两种共享数据状态跟踪技术(目录法和监听法)的实现过程;
两种更新协议(写作废协议和写更新协议)的实现过程;
采用监听协议实现Cache一致性的对称式共享存储器多处理机:
a) 系统结构(见图8.1);
b) 监听协议的基本原理;
c) 分析Cache控制器在分别收到来自CPU请求和总线请求时,所执行的相应操作,并画出Cache块的状态转换图。
a) 系统结构(见图8.8);
b) 目录协议的基本原理;
c) 存储块的3种状态,以及在处理3种请求(读失效、写失效、数据写回)时,这3种状态的相互转换过程。
参考我的另一篇博客
【计算机系统结构】期末考试备考复习宝典 (搞定五十个必考名词解释)
单
指令单
数据流单
指令多
数据流多
指令单
数据流多
数据流加 速 比 = 1 / [ ( 1 − 可 改 进 比 ) + 可 改 进 比 例 / 部 件 加 速 比 ] 加速比 = 1/[(1-可改进比)+可改进比例/部件加速比] 加速比=1/[(1−可改进比)+可改进比例/部件加速比]
取指->译码->执行->存储->写回
增加Cache块的大小
增加Cache的容量
伪相联Cache
牺牲Cache
提高相联度
相联度越高,冲突不命中就越少
强制不命中和冲突不命中不受相联度的影响
强制不命中不受Cache容量的影响,但容量不命中却随着容量的增加而减少
解题思路:
(1)判断流水线类型 (静态or动态)
(2)数据相关性
(3)以瓶颈段作为参考标准
例题一解法:
例题二解法:
例题三解法:
例题四
例题四解法:
细分瓶颈段
重复设置瓶颈段
1.6模拟: 用
软件
的方法在一台现有的计算机上实现另一台计算机的指令集
1.7仿真: 用一台现有的计算机的
微程序
去解释实现
另一台计算机的指令集
并行性: 计算机系统在同一时刻或同一时间间隔内进行多种运算和操作
同时性: 两个或两个以上的事件同一时刻发生
并发性: 两个或两个以上的事件在同一时间间隔内发生
时间重叠
资源重复
资源共享
交换函数-----简单来说就是对二进制的k位进行
取反
操作均匀洗牌-----把输入端的二进制编号
循环左移一位
,(如果是子函数
,就对后k位
进行循环左一,如果是超函数
就对前k位
进行循环左移)蝶式函数-----把输入端的二进制的
最高位与最低位进行互换
(子函数,超函数,类比均匀洗牌,也就是对前后k位的最高最低位进行互换)反位序函数-----把输入端的二进制的
各位次序
颠倒过来PM2I函数(加减2的i次方函数)-----就是对原来输入端的二进制进行加减2的i次方(具体看后面例题是加还是减)
分析:
首先将16表示成2的4次方,那么就可以用
四位
二进制表示 x3x2x1x0表示 13号处理器用二进制也就是1101Cube3也就是将x3进行
取反
,然后转为十进制也就是5其次,PM2+3也就是
(16+2^3)mod16
PM2-0也就是(16-2^0)mod16
然后,e(第四个,因为打不出来用e代替),均匀洗牌,将1101
循环左移一位
,然后转为十进制最后e(e),也就是将1011进行均匀洗牌,方法同上,然后转为十进制
线性阵列:内部节点的度位2,端节点的度为1 直径为N-1 等分宽度为1
环:节点的度为2,双向环网络直径N/2,单向环直径为N-1
弦环:全连接的网络的节点度为15,直径为1
超立方体:如果要形成一个规模位N=2^n的n-立方体,只要把两个(n-1)立方体中的相应的节点用链路连接起来即可,供需
2^(n-1)
条链路
C P I = 基 本 C P I + 远 程 访 问 率 ∗ 远 程 访 问 开 销 CPI=基本CPI+远程访问率*远程访问开销 CPI=基本CPI+远程访问率∗远程访问开销
统一编址 独立编址 共享
地址空间每一个节点中的存储器编制为一个独立的空间,地址空间相互 独立
采用Load和Store指令对相对存储器地址进行读/写操作 采用 消息传递
通信机制
目录协议工作原理
物理存储器中的数据块的
共享状态
被保存到一个称为目录
的地方,目录协议实现开销
比监听协议稍微大
一些,但可用于实现大规模处理机
转换图
状态转换分析
当对Cache块进行
写
操作时,该Cache块必须处于独占
状态,对于任何一个处于共享状态的块
来说,其宿主
存储器中的内容都是最新
的。当一个块处于
未缓冲状态(U)
时:
- 如果是
RdMiss(读不命中)
,就将所要访问的存储器数据
送往请求处理机,且该处理机成为该块的唯一共享
节点。- 如果是
WtMiss(写不命中)
,就将所要访问的存储器数据
送往请求处理机,该块的状态变成独占
,表示该块仅存在于唯一的副本
,该共享集仅
包含该处理机。当一个块处于
共享状态(S)
时:
- 如果是
RdMiss(读不命中)
,就将所要访问的存储器数据
送往请求处理机,将其加入共享集合
- 如果是
WtMiss(写不命中)
,就将所要访问的存储器数据
送往请求处理机,,对共享集合中的所有
处理机,发送写作废消息
,同时将共享集合
改为仅含
该处理机,该块的状态变为独占
。当一个块处于
独占状态(E)
时:
- 如果是
RdMiss(读不命中)
,将“取数据
”的消息发往拥有者
处理机,将它所返回给宿主节点的数据
写入存储器
,并进而把该数据送回
请求方处理机,将请求方处理机加入
共享集合。- 如果是
WtMiss(写不命中)
,该块将有一个新的拥有者
,给旧
的拥有者处理机发送消息
,要求它将数据块送回宿主节点写入存储器,然后再从该节点送给请求方处理机,同时还要把旧拥有者处理机中的该块作废。把请求处理机加入共享者集合,使之称为新的拥有者。- 如果是
WtBack(写回)
,当一个块的拥有者处理机要从其Cache中把该块替换
出去时,必须将该块写回其宿主节点的存储器中
,从而使存储器中相应的块中存放的数据时最新
的,该块的状态变成未缓冲
,其共享集合为空
监听协议原理
当物理存储器中的数据被调入Cache时,其
共享状态信息与该数据块一起放在该Cache
中,系统没有集中的状态表。这些Cache通常连在共享存储器的总线
上,当某个Cache需要访问存储器时,它会把请求放到总线上广播
出去,其他各个Cache控制器通过监听总线
来判断他们是否有总线上请求的数据块,如果有就进行相应操作转换图
解释
状态I:
- 当CPU要进行
读
访问时,由于所要访问的块尚未调入Cache
,所以发生读不命中
,需要向总线
发送RdMiss消息
,调入该块后,把其状态改为共享状态(S)
- 当CPU要进行
写
访问时,由于所要访问的块尚未调入Cache
,所以发生写不命中
,,需要向总线
发送WtMiss消息
,调入该块后,把其状态改为已修改状态(M)
,这时该数据块在Cache中有唯一的副本
。状态S:
- 当CPU要进行
读
访问时,如果命中
,则状态不变
,否则就需要进行替换
- 当CPU要进行
写
访问时,先把Cache中相应块的状态改为已修改状态
,再把数据写入,同时要作废
所有其他Cache中的副本,在命中
的情况下,无需调块,只要向总线发Invalidate消息
,如果不命中
就需要进行替换。状态M:
这种情况下,当Cache
读命中或写命中
时,状态不变
解释
状态S:
- 这种状态表示, 该块是一个
只读副本
。当远程处理器因进行读访问不命中
,而在总线上发RdMiss
时,
由于调块后不对该块进行写操作,所以本地Cache,中该块状态不变
。- 但如果远程节点是因为要进行
写操作
而往总线上发WtMiss或Invalidate消息
,则需作废
本地Cache中的该块,其状态改为I
状态M:
- 该种状态表示,该块是整个系统中
唯一的最新副本
。不管远程处理器,发的是读不命中还是写不命中
,本Cache都
需要将这个唯一的副本写回存储器
,并终止读不命中或写不命中引发的对存储器的访问
,改由本Cache提供该块。- 在状态方面,
RdMiss
将导致本地Cache中该块的状态变为S
,而WtMiss
则将其状态修改为I
,将之作废
1. 什么是软件兼容?软件兼容有几种?其中哪一种是软件兼容的根本特征?
**软件兼容:**同一软件可以
修改
的运行于系统结构的相同
的各档
机器上,而且它们所获得的结果一样
,差别只在于运行时间不同
。软件兼容特征:
向上兼容
向下兼容
向前兼容
向后兼容
- 软件兼容的根本特征
向后兼容
2.试以系列机为例,说明计算机系统结构、计算机组成和计算机实现三者之间的关系。
- 计算机组成:是计算机系统结构的
逻辑
实现- 计算机实现:是计算机组成的
物理
实现- 计算机系统结构可以有
多种组成
,一种组成可以有多种实现
。同一系列机中各个型号的机器具有相同的系统结构
,采用了不同的组成和实现
,因此具有不同的性能和价格
3.计算机系统结构设计和分析中最经常使用的三条基本原则是什么?
大概率事件优先原则
Amdahl定律
程序局部性原理
4 根据Amdahl定律,系统加速比由哪两个因素决定?
部件加速比
可改进比例
5. 计算机系统中提高并行性的技术途径有哪三种?
时间重叠
资源重叠
资源共享
6. 从当前的计算机技术观点来看,CISC结构有什么缺点?
各种指令的使用频率相差悬殊
指令集庞大,指令条数多
许多指令由于操作繁琐,执行速度慢
规整性不好
7. RISC的设计原则是什么?
- 选取使用
频率最高
的指令,并补充一些最有用的指令
。- 每条指令的
功能
应尽可能简单
,并在一个机器时钟周期
内完成。- 所有指令
长度均相同
。- 只有
Load和Store指令
才访问存储器
- 大多数指令采用
硬连逻辑
实现- 充分利用
流水线技术
来提高性能- 强调
优化编译器
的作用
8. MIPS采用哪几种寻址方式?
立即数寻址
偏移量寻址
9. 流水技术有哪些特点?
- 流水线实际上把一个大的功能部件
分解
成多个独立的功能部件,并依靠他们的并行
工作来提高吞吐率。.流水线各个时间段应尽可能相等,否则将引起流水线堵塞和断流
。- 流水线每一个功能部件的前面都要有一个
缓冲寄存器
。- 流水线技术适合于
大量重复时序过程
,只有在输入端不断地提供任务,才能充分发挥流水线的效率。- 流水线需要
通过时间
和排空时间
。
10. 在段流水线中,一条指令的执行需要几个时钟周期?它们分别是什么?
执行需要几个时钟周期
5个时钟周期
分别为:
取指–>译码->执行->存储->写回
11. 评价流水线的性能指标是什么?
吞吐率
流水线的加速比
效率
12. 什么叫相关?流水线中有哪几种相关?
相关概念:两条指令之间存在某种依赖关系
包含:
数据相关
名相关
:反相关,输出相关控制相关
13. 单级存储器的主要矛盾是什么?通常采取什么方法来解决?
速度越快,每位价格就越高。
容量越大,每位价格就越低。
容量越大,速度越慢。
采用多级存储层次
方法来解决
14. 在存储层次中应解决哪四个问题?
映像规则
查找算法
替换算法
写策略
15. 地址映像方法有哪几种?它们各有什么优缺点?
- 全相联映射:
查找
机制复杂
,代价高
,速度慢
。
- 直接映射:查找简单速度
快
,cache空间的利用率低快
,冲突概率较高
。
- 组相联映射:是直接映射和全相联映射的一种
折中
。
16. 写策略主要有哪两种?它们各有什么优点?
️写策略主要两种 ️:
- 写直达: 不仅把数据
写入Cache
中的相应块,而且也写入下一级存储器
。
- 写回法:只把数据
写入Cache
,不写入
下一级存储器
️优缺点 ️:
写直达 | 写回法 |
---|---|
速度慢 |
速度快 |
数据一致 |
数据不一致 |
17. 伪相联的基本思想是什么?
对伪相联Cache进行访问时,首先是与
直接映射
相同的方式进行访问,如果命中
,则从相应的块中取出所访问的数据送给cpu,访问结束,如果不命中
,伪相联Cache会检查Cache另一个位置
,看是否匹配,若这一块的标识匹配
,称伪命中
18. 采用二级Cache的基本思想是什么?
通过在原有cache和存储器之间
增加另一级cache
,构成两级cache。把第一级cache做得足够小,使其速度和快速cpu的时钟周期相匹配。而把第二级cache做得足够大
时,他捕获更多本来需要到存储器的访问
,从而降低
实际失效开销。
19. 采用容量小且结构简单的Cache有什么好处?
- 可以有效地提高cache
访问速度
。- 足够小cache可以与处理机
做在统一芯片
上,以避免
因芯片外访问和增加时间开销。
20. “虚拟索引+物理标识” Cache的基本思想是什么?
直接使用
虚地址
中的页内位移
作为访问cache的索引但标识却是物理地址
。
cpu发出访存请求后,再进行虚->实地址
变化的同时可并行进行标识的读取
,在完成地址变化之后,再把得到的物理地址与标识进行比较
。
21. 在分布式存储器结构的机器中,将存储器分布到各结点有什么好处?
第一,如果大多数的访问是针对本节点的局部存储器,则可
降低
对存储器和互连网络的带宽要求
。第二,对局部存储器的
访问延迟低
。
22.在分布式存储器结构的机器中,目前有哪两种存储器地址空间的组织方案?
第一种:物理上
分离带多个存储器
作为一个逻辑上共享
的存储空间进行编址第二种:整个地址空间由
多个独立
的地址空间构成,它们在逻辑上也有独立的,远程的处理器不能对直接寻址
23. 在分布式存储器结构的机器中,对应于两种地址空间的组织方案,分别有哪两种通信机制?它们是怎么实现的?
共享地址空间的机器: 可
利用Load和Store
指令中对地址隐含的进行数据通信,因而可称为共享存储机器。多个地址空间机器: 根据简单的网络协议,通过
传递消息
来请求某些服务或传输数据,从而完成通信,因而这种机器常称为传递消息机器
24. 实现Cache一致性协议时,有哪两种跟踪共享数据状态的技术?
目录: 物理存储器中共享数据块的
状态
及相关信息
均被保存在一个称为目录
的地方监听: 每个Cache除了包含物理存储器中块的数据拷贝之外,也保存着各个块的
共享状态信息
。Cache通常连在共享存储器的总线上,各个Cache控制器通过监听总线
来判断它们是否有总线上请求的数据块。
25. 目录协议中,Cache块有哪三种状态?
共享: 在
一个或多个
处理器上具有这个块的拷贝,且主存的值是最新值。 未缓冲: 所有处理器的Cache
都没有
此块的拷贝。 专有 :
仅有一个
处理器上有此块的拷贝,且已对此块进行来写操作,而主存的拷贝扔是旧的。这个处理器称为此块的拥有者
【求评论、求点赞、求收藏】
学在苦中求,艺在勤中练。
文章浏览阅读1.2k次。仅可以打印,如果需要扫描,仍需要通过USB连接。_hp136nw打印机直连
文章浏览阅读616次。HQL查询HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象_hqlun
文章浏览阅读43次。提纲:1、间接访问变量的指针运算符*2、野指针和空指针3、变量的指针表示:a、用指针引用普通变量b、用指针引用数组及其元素c、函数间传递指针:指针参数和返回值4、指针变量的引用和定义的区别5、存储指针的书写问题6、&*和*&7、变量用指针表示后 ,进行+ - * / 运算时,有必要加( )...
文章浏览阅读1.5k次,点赞2次,收藏7次。微信开源了其二维码的解码功能,并贡献给 OpenCV 社区。其开源的 wechat_qrcode 项目被收录到 OpenCV contrib 项目中。从 OpenCV 4.5.2 版本开始,就可以直接使用。以往java解析二维码都是使用google.zxing,但是zxing解析二维码的成功率比较低,很多美化或者个性化的二维码无法解析。以上依赖用于windows系统 如果要发布到liunx系统把windows-x86_64改成liunx-x86_64。_opencv java 二维码识别
文章浏览阅读1.2w次,点赞14次,收藏81次。初到公司发现电脑上面已经安装nodejs,但是版本是最新版本。但是问题来了,好像是不太支持vue3,所以查了一些资料,具体的也不是很清楚,反正就是nodejs的版本不能太高最好保持在16以下。好吧,那就重新卸载再来安装nodejs吧。_nodejs卸载
文章浏览阅读3k次,点赞2次,收藏11次。Chapter 38 Image Processing Unit (IPU)38.1 概述IPU计划成为应用程序处理器中的视频和图形子系统的一部分。IPU的目标是为从图像传感器和/或到显示设备的数据流提供全面支持。这项支助包括这些活动的所有方面:连接到相关设备-摄像机,显示器,图形加速器,电视编码器和解码器。相关图像处理与操作:传感器图像信号处理、显示处理、图像转换等。..._image processing unit
文章浏览阅读45次。Class.getResourceAsStream(): com.xusweeter.iot.ws.vodafone.config.VodafoneServiceConfig.class.getResourceAsStream(VDF_CERT_NAME); 通过以上代码加载资源时:默认加载com.xusweeter.iot.ws.vodafone.config包下名称为VDF_CERT_NAME..._thread.currentthread().getcontextclassloader().getresourceasstream(certname)
文章浏览阅读471次。我们在搭建自己的微服务的时候,可以选择使用eureka作为我们微服务的注册中心,使用nacos作为微服务的配置中心,接下来我们可以看下具体的搭建过程:(以下过程只展示Spring Cloud + Nacos的搭建过程,至于集成eureka的可以另行查找具体对接流程)_to enable urls as dynamic configuration sources, define system property arch
文章浏览阅读231次。1770 数数字基准时间限制:1 秒 空间限制:262144 KB 分值: 20 难度:3级算法题 收藏 关注统计一下 aaa ⋯ aaan个a × b 的结果里面有多少个数字d,a,b,d均为一位数。样例解释:3333333333*3=9999999999,里面有10个9。_hiho1770 单调数
文章浏览阅读1k次,点赞2次,收藏13次。Kail Linux使用aircrack-ng破解WiFi前言: 闲着无事,就自己开了个热点打算自己破解以练习kali Linux 和 Linux 的使用 准备:将准备好的无驱无线网卡接入kali虚拟机1.查看无线网卡是否接入成功 命令: iwconfig2.启动无线网卡监听模式 命令:airmon-ng start wlan..._aircrack-ng握手包
文章浏览阅读4.7k次。Docker是一个基于go语言遵从apache2.0协议开源的LXC的高级容器引擎(底层技术是Linux Container,docker只是管理底层的工具),并通过namespace、cgroup等来提供容器的资源隔离与安全保障等。Docker 最早采用 LXC 技术 (LXC 是 Linux 原生支持的容器技术,是一种内核虚拟化技术,可以提供轻量级的虚拟化,LXC将Linux进程沙盒化,使进程之间相互隔离 ),可以说docker 就是基于 LXC 发展起来的。_73720353-63a5-41bf-b66e-78d8e49153b8
文章浏览阅读593次。【00】机器学习之旅启程 Machine Learning Roadmap【开始我的机器学习之路,感兴趣,就慢慢学,就在CSDN建立自己学习旅程】指南:Learning guideStreamlined guideinformation filterScope:Focus your scope on classification and regression t_机器学习 just in time learning