计算机系统结构期末复习.docx
- 文档编号:11099022
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:34
- 大小:1.18MB
计算机系统结构期末复习.docx
《计算机系统结构期末复习.docx》由会员分享,可在线阅读,更多相关《计算机系统结构期末复习.docx(34页珍藏版)》请在冰豆网上搜索。
计算机系统结构期末复习
第一章
计算机系统结构定义
计算机=软件+硬件(+网络)
两种定义:
定义1:
Amdahl于1964年在推出IBM360系列计算机时提出:
程序员所看到的计算机系统的属性,即概念性结构和功能特性
定义2:
计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定
计算机系统的多级层次模型
第6级专用应用语言机器特定应用用户(使用特定应用语言)
(经应用程序翻译成高级语言)
第5级通用高级语言机器高级语言程序员(使用通用高级语言)
(经编译程序翻译成汇编语言)
第4级汇编语言机器汇编语言程序员(使用汇编语言)
(经汇编程序翻译成机器语言、操作系统原语)
第3级操作系统语言机器操作系统用户(使用操作系统原语)
(经原语解释子程序翻译成机器语言)
第2级传统机器语言机器传统机器程序员(使用二进制机器语言)
(由微程序解释成微指令序列)
第1级微指令语言机器微指令程序员(使用微指令语言)
(由硬件译码器解释成控制信号序列)
第0级硬联逻辑硬件设计员
第0级由硬件实现,第1级由微程序实现,第2级至第6级由软件实现,由软件实现的机器称为:
虚拟机
从学科领域来划分:
第0和第1级属于计算机组织与结构,第3至第5级是系统软件,第6级是应用软件。
它们之间仍有交叉。
第0级要求一定的数字逻辑基础;第2级涉及汇编语言程序设计的内容;第3级与计算机系统结构密切相关。
在特殊的计算机系统中,有些级别可能不存在。
计算机组成:
是计算机系统结构的逻辑实现
确定数据通路的宽度
•确定各种操作对功能部件的共享程度
•确定专用的功能部件
•确定功能部件的并行度
•设计缓冲和排队策略
•设计控制机构
•确定采用何种可靠性技术
计算机实现:
是指计算机组成的物理实现
处理机、主存储器等部件的物理结构
•器件的集成度和速度
•专用器件的设计
•器件、模块、插件、底版的划分与连接
•信号传输技术
•电源、冷却及装配技术,相关制造工艺及技术等
计算机系统结构、计算机组成和计算机实现是三个不同的概念。
系统结构是计算机系统的软硬件的界面;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。
他们各自包含不同的内容,但又有紧密的联系。
组成和实现的改进推动系统结构的进步。
Amdahl定律:
(定量原理)系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占执行时间的比例有关。
加速比公式:
Sn=T0/Tn=1/((1-Fe)+Fe/Se)(应该大于1)
加速比受Fe的限制,它越大就越有可能获得更大加速比
例子:
书10页例1.1和1.2
CPU性能公式:
Te=IC*CPI*CYCLE;
例子:
11页例1.3
计算机系统结构的分类方法:
Flynn分类(按照指令流和数据流的多倍性特征对计算机系统进行分类)冯氏分类(用最大并行度来对计算机系统进行分类)、Handler分类
计算机系统设计的主要方法:
由下往上、由上往下、由中间开始设计
计算机系统结构评价标准
MIPS=指令条数/(指令执行时间*10^6)=Fz/CPI=Fz*IPC
IPC为每个时钟周期平均执行的指令条数
例1:
计算PentiumII450处理机的运算速度。
解:
由于PentiumII450处理机的IPC=2(或CPI=0.5),Fz=450MHz
MIPS=FZ*IPC=2*450=900MIPS
等效指令速度MIPS
等效CPI
Wi:
指令使用频度。
通常:
加、减法50%,乘法15%,除法5%,程序控制15%,其它15%
例2:
我国最早研制的小型计算机DJS-130,定点16位,加法速度每秒50万次,但没有硬件乘法和除法等指令。
用软件实现乘法和除法,速度降低100倍左右,求定点等效速度。
解:
MIPS=1/((0.8/0.5)+(0.2/0.005))=0.02MIPS
即每秒2万次,由于乘法和除法用软件实现,等效速度降低了25倍。
例3如果浮点开平方操作FPSQR的比例为2%,它的CPI为100,其他浮点操作的比例为23%,它的CPI=4.0,其余指令的CPI=1.33,计算该处理机的等效CPI。
如果FPSQR操作的CPI也为4.0,重新计算等效CPI。
解:
•等效CPI1=100×2%+4×23%+1.33×75%=3.92
等效CPI2=4×25%+1.33×75%=2.00
由于改进了仅占2%的FPSQR操作的CPI,使等效速度提高了近一倍
第二章
数据表示+数据结构=数据类型
操作码的优化表示:
定长编码、HUFFMAN编码、扩展编码(***课后题****)
复杂指令系统计算机CISC:
增强指令功能,设置功能复杂的指令;面向目标代码、面向高级语言、面向操作系统;用一条指令代替一串指令
RISC精简指令系统计算机:
简化指令功能,只保留功能简单的指令;较复杂的功能用子程序来实现
较复杂的功能用子程序来实现
RISC的思想精华:
减少指令平均执行周期数(CPI)
RISC的特点
(1)简单而统一格式的指令译码。
(2)大部分指令可以单周期执行完成。
(3)只有LOAD和STORE指令可以访问存储器。
(4)简单的寻址方式。
(5)采用延迟转移技术。
(6)采用LOAD延迟技术。
RISC的关键技术
1、延时转移技术(名词)
定义:
为了使指令流水线不断流,在转移指令之后插入一条有效的指令,而转移指令被延迟执行,这种技术称为延迟转移技术。
采用指令延迟转移技术时,指令序列的调整由编译器自动进行。
采用延迟转移技术的两个限制条件
(1)被移动指令在移动过程中所经过的指令之间不能有数据相关
(2)被移动的指令不破坏条件码,至少不影响后面的指令使用条件码
如果找不到符号条件的指令,必须在条件转移指令后面插入空操作
如果指令的执行过程分为多个流水段,则要插入多条指令
2、指令取消技术
原因:
采用指令延时技术,在许多情况下找不到可以用来调整的指令
向后转移(循环程序)
实现方法:
循环体的第一条指令经调整后安排在两个位置,第一个位置是在循环体的前面,第二个位置安排在循环体的后面,
如果转移成功,则执行循环体后面的指令,然后返回到循环体开始;否则,则取消循环体后面的指令,继续执行后面的指令
3、重叠寄存器窗口技术(OverlappingRegisterWindow)
原因:
RISC中,子程序比CISC中多,因传送参数而访存的信息量很大
美国加洲大学伯克利分校的FBaskett提出
实现方法:
设置一个数量比较大的寄存器堆,并把它划分成很多个窗口。
在每个过程使用的几个窗口中有一个窗口是与前一个过程共用,还有一个窗口是与下一个过程共用。
效果:
可以减少大量的访存操作。
当寄存器溢出时,要在主存中开辟一个堆栈
4、指令流调整技术
目标:
通过变量重新命名消除数据相关,提高流水线效率
5、以硬件为主固件为辅
固件的主要缺点是:
执行速度低
主要优点是:
便于实现复杂指令,便于修改指令系统
RISC主要采用硬联逻辑来实现指令系统
对于复杂指令,也用微程序技术实现。
第三章
存储系统:
(或存储体系、存储层次)
定义:
两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来成为一个系统。
这个系统对应用程序员透明,并且,从应用程序员看,它是一个存储器,这个存储器的速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等,单位容量的价格接近最便宜的那个存储器。
在一般计算机系统中,主要有两种存储系统:
(1)Cache存储系统:
由Cache和主存储器构成
主要目的:
提高存储器速度
(2)虚拟存储系统:
由主存储器和磁盘存储器构成
主要目的:
扩大存储器容量磁盘存储器主存储器
存储器访问的局部性原理实质:
根据程序运行的最近情况,可以较为精确的预测出最近的将来将要访问哪些指令和数据。
(1)时间局部性:
最近访问过的代码在很短的时间内有可能被再次访问;主要对应于循环语句;
(2)空间局部性:
与刚被访问过的指令或数据相邻的指令或数据有可能马上被访问;主要对应于顺序执行的语句。
访问的局部性原理是构成层次化存储系统的理论基础。
存储器的主要性能指标:
速度、容量和价格
存储容量的单位价格公式:
当S2>>S1时,C≈C2。
因此,整个存储系统的单位容量价格C接近于比较便宜的M2存储器的单位容量价格C2。
但是S2于S1不能相差太大,否则,存储系统要达到比较高的性能,调度起来很困难。
存储系统的容量
•要求:
存储系统的容量等于M2存储器的容量
•提供尽可能大的地址空间,且能够随机访问
•方法有两种:
•1、只对M2存储器进行编址,M1存储器只在内部编址
2、另外设计一个容量很大的逻辑地址空间
存储系统的速度
速度用存储器的读出时间、访问周期、频带宽度等表示。
读出时间:
“读”命令有效到数据总线数据有效的时间间隔TA;
访问周期:
单体存储器连续两次读写操作的最小时间间隔TM;
TM>TA
命中率H=N1/(N1+N2)N1和N2分别代表对M1存储器和M2存储器的访问次数
访问周期T=H*T1+(1-H)*T2,当命中率H很大时,访问周期T接近于速度比较快的M1存储器的访问周期T1
存储器的访问效率为e=T1/T=1/H+(1-H)*T2/T1
所以访问效率主要与H和T2/T1值有关。
H越大越好,T2/T1越小越好,可这个值通常在10^5很难变小,所以主要通过提高命中率来提高访问效率
例:
假设T2=5T1,在命中率H为0.9和0.99两种情况下,分别计算存储系统的访问效率。
解:
当H=0.9时,e1=1/(0.9+5(1-0.9))=0.72
当H=0.99时,e2=1/(0.99+5(1-0.99))=0.96
采用预取技术可以大幅度提高命中率。
方法是:
当不命中时,在数据从主存储器中取出送往CPU的同时,把主存储器相邻几个单元中的数据(称为一个数据块)都取出来送入CACHE。
H’=(H+N-1)/N,其中N为CACHE的块大小与数据块重复使用次数的乘积,H是原来的命中率,H’是采用预取技术之后的命中率
例:
在一个虚拟存储系统中,T2=105T1,原来的命中率只有0.8,现采用预取技术,访问磁盘存储器的数据块大小为4K字,如果要求访问效率不低于0.9,计算数据在主存储器中的重复利用率至少为多少?
解:
假设数据在主存储器中的重复利用率为m,根据前面的给出关系:
解这个方程组,得到m=44,即数据在主存储器中的重复利用率至少为44次。
例:
Cache存储系统中,Cache的访问周期为10ns,主存储器的访问周期为60ns,每个数据在Cache中平均重复使用4次。
块的大小为1个字时,存储系统的访问效率只有0.5,现在要提高增加块的大小,使存储系统的访问效率达到0.94。
1、当存储系统的访问效率为0.5时,计算命中率和等效访问周期;
2、为了使存储系统的访问效率达到0.94,命中率和等效访问周期应当为多少?
3、为了使存储系统的访问效率从0.5提高到0.94,块的大小至少要增加到几个字?
存储器的频带平衡:
计算机系统中各级存储器的频带应该达到平衡
解决存储器频带平衡方法
(1)多个存储器并行工作(本节)
并行访问存储器
交叉访问存储器
高位交叉访问存储器。
主要目的:
扩大存储器容量实现方法:
用地址码的高位部分区分存储体号
低位交叉访问存储器。
主要目的:
提高存储器访问速度实现方法:
用地址码的低位部分区分存储体号
低位交叉比高位交叉更常用
无访问冲突并行存储器
(2)设置各种缓冲存储器(第五章)
(3)采用存储系统(本章下两节)
影响主存命中率的主要因素:
(1)程序在执行过程中的页地址流分布情况。
(2)所采用的页面替换算法。
(3)页面大小。
(4)主存储器的容量
(5)所采用的页面调度方法。
堆栈型替换算法的定义:
(****课后题****)
•对任意一个程序的页地址流作两次主存页面数分配,分别分配m个主存页面和n个主存页面,并且有m≤n。
如果在任何时刻t,主存页面数集合Bt都满足关系:
Bt(m)⊆Bt(n)则这类算法称为堆栈型替换算法。
堆栈型算法的基本特点是:
随着分配给程序的主存页面数增加,主存的命中率也提高,至少不会下降。
LFU(最久未使用)算法、LRU(近期最少使用)算法和OPT(最优替换)算法都是堆栈型算法。
FIFO(先进先出)算法不是堆栈型算法
例题:
一个虚拟存储系统,采用最久没有使用算法,实存共5页,为2道程序分享,页地址流分别如下
P1=12341321
P2=12342233
试作2个实存分配方案,分别使2道程序满足
(1)命中率相同;
(2)命中次数之和最大。
Cache存储系统工作:
基于程序局部性访问原理,是对主存信息的拷贝
Cache存储系统的加速比SP
SP=TM/T(TM为存储器的访问周期,TC为CACHE的访问周期,这个公式与存储器访问效率e的公式是相反的)
提高Cache存储系统加速比的最好途径是提高命中率
命中率H主要与如下几个因素有关:
•1、程序在执行过程中的地址流分布情况
•2、所采用的替换算法
•3、Cache的容量
•4、在组相联映象方式中,块的大小
•5、在组相联映象方式中,分组的数目
•6、所采用的Cache预取算法
Cache命中率与容量的关系:
Cache的命中率随它的容量的增加而提高。
在CACHE容量比较小的时候,命中率提高得非常快,随着Cache容量的增加,命中率提高的速度逐渐降低。
当C容量大道无穷时,命中率达100%
Cache命中率与块大小的关系
•在组相联映象方式中,块的大小对命中率的影响非常敏感
•块很小时,命中率很低。
•随着块大小的增加,由于程序局部性,命中率增加。
达到一个最佳值
•当块非常大时,进入Cache中的许多数据可能用不上。
超过最佳值后命中率开始下降。
当块大小等于Cache的容量时,命中率将趋近于零。
Cache命中率与组数的关系
•组相联映象中,分组的数目对命中率的影响很明显。
•随着组数的增加,Cache的命中率要降低。
•当组数不太大时(512组以下),命中率的降低相当少;
•当组数超过一定数量时,命中率的下降很快。
Cache的一致性问题
•本节讨论的内容仅限于单处理机、单存储器。
•造成Cache与主存的不一致的原因:
•
(1)由于CPU写Cache,没有立即写主存
•
(2)由于IO处理机或IO设备写主存
Cache的更新算法
(1)写直达法,又称写通过法,WT(Write‐through):
CPU在执行写操作时,把数据同时写入Cache和主存。
•
(2)写回法,又称为抵触修改法,WB(Write‐Back):
CPU的数据只写入Cache,不写入主存。
仅当替换时,才把修改过的Cache块写回到主存。
写回法与写直达法的优缺点比较:
•
(1)可靠性,写直达法优于写回法。
•
(2)与主存的通信量,写回法少于写直达法。
•(3)控制的复杂性,写直达法比写回法简单。
•(4)硬件实现的代价,写回法要比写直达法好。
写Cache的两种方法:
(1)不按写分配法:
在写Cache不命中时,只把所要写的字写入主存。
(2)按写分配法:
在写Cache不命中时,除了把所要写的字写入主存外,还把一个块从主存读入Cache。
目前,在写回法中采用按写分配法,在写直达法中采用不按写分配法。
第四章
输入输出系统的特点
输入输出系统是处理机与外界数据交换的通道。
输入输出系统最典型地反映着硬件与软件的相互结合。
输入输出系统的特点集中反映在异步性,实时性,和与设备无关性三项基本要求上,它们对输入输出系统的组织产生决定性影响。
实时性反映了不同种类设备对于CPU响应时间的区别,采用层次结构的方法来解决
设备无关性表明了标准接口+非标准设备+驱动软件的实现途径,采用分类处理的方法来解决。
异步性反映了设备相对于CPU的独立性,采用自治控制的方法来解决。
输入输出系统的组织方式
1.自治控制(针对实时性)
输入输出系统是独立于CPU之外的自治系统,处理机与外围设备之间要有恰当的分工
2.层次结构(针对与设备无关性)
最内层是输入输出处理机、输入输出通道等中间层是标准接口。
标准接口通过设备控制器与输入输出设备连接。
3.分类组织(针对异步性)
面向字符的设备,如字符终端、打字机等
面向数据块的设备,如磁盘、磁带、光盘等。
基本收入输出方式:
1.程序控制输入输出方式;2.中断输入输出方式;3.直接存储器访问(DMA)方式
中断:
中断系统需要硬件和软件共同来实现。
引起中断的各种事件称为中断源。
中断系统的复杂性实际上主要是由中断源的多样性引起的。
中断源可以来自系统外部,也可以来自机器内部,甚至处理机本身。
中断可以是硬件引起的,也可以是软件引起的。
把各种各样的中断源分类、分级组织好,是中断系统的关键之一。
中断源分类组织的目的:
在响应中断后能尽快找到中断入口。
为每一类中断源分配一个硬件的中断入口,在进入这个入口之后,再通过软件找到具体的中断源。
中断优先级与中断服务顺序:
要求:
响应速度快,灵活性好。
做法:
由硬件排队器决定中断优先级,
通过软件设置中断屏蔽码改变中断服务顺序。
安排中断优先顺序由下列因素决定:
中断源的急迫性。
设备的工作速度。
数据恢复的难易程度。
要求处理机提供的服务量
中断处理的流程
表示通常用硬件实现
现行指令结束,且没有更紧急的服务请求;关CPU中断;保存断点,主要保存PC中的内容
表示可以用硬件实现,也可以用软件实现
撤消中断源的中断请求;保存硬件现场,主要是PSW及SP等;识别中断源;改变设备的屏蔽状态
表示通常用硬件实现
进入中断服务程序入口
表示可以用硬件实现,也可以用软件实现
保存软件现场,在中断程序中使用的通用寄存器等
表示通常用软件实现
开CPU中断,可以响应更高级别的中断请求;中断服务,执行中断服务程序;关CPU中断
表示可以用硬件实现,也可以用软件实现
恢复软件现场;恢复屏蔽状态;恢复硬件现场;开CPU中断
表示通常用软件实现
返回到中断点
必须用硬件实现的有:
保存中断点和进入中断服务程序入口。
必须用软件实现的有:
中断服务和返回到中断点。
中断响应时间:
从中断源向处理机发出中断服务请求开始,到处理机开始执行这个中断源的中断服务程序时为止
中断屏蔽(****课后题****)
方法一:
每级中断源设置一个中断屏蔽位。
P231
方法二:
改变处理机优先级P232
例:
某处理机有4个中断源,分别为D1、D2、D3、D4。
要求处理机响应中断源的中断请求次序从高到低依次为D1、D2、D3、D4,而处理机实际为各个中断源服务的先后次序为D3、D2、D1、D4。
每个中断源有四位中断屏蔽码,其中“0”表示开放中断,“1”表示该中断被屏蔽。
(1)试设计各中断源的中断优先级和中断屏蔽码;
(2)如果处理机在运行主程序时,同时有D1、D2两个中断源请求中断服务,而在运行中断源D2的中断服务程序的过程中,中断源D3、D4又同时请求中断服务,试画出处理机响应各个中断源的中断服务请求和实际运行中断服务程序过程的示意图。
通道处理机
例题2:
某处理机共有4个中断源D1、D2、D3和D4,它们的硬件中断优先级从低到高分别为1级、2级、3级和4级。
处理机本身的优先级最低,为0级。
在中断源D1、D2、D3、D4的中断向量中,程序员为它们设置的优先级分别为4级、3级、2级、1级。
解:
在处理机状态字中设置3个中断屏蔽位。
000为处理机本身的优先级,
001~100分别表示4个中断源的中断优先级。
当4个中断源同时请求中断服务时,
通道的使用:
把外围设备的管理工作从CPU中分离出来,进一步提高CPU的利用率
通道种类:
1.字节多路通道:
为多台低中速的外围设备服务。
有多个子通道,每个子通道连接一个控制器
2.选择通道:
为高速外围设备服务。
只有一个以成组方式工作的子通道
3.数组多路通道:
字节多路通道和选择通道的结合。
每次为一台高速设备传送一个数据块,并轮流为多台外围设备服务。
数组多路通道的实际工作方式是:
在为一台高速设备传送数据的同时,有多台高速设备可以在定位或者在找扇区。
与选择通道相比,数组多路通道的数据传输率和通道的硬件利用都很高,控制硬件的复杂度也高
9.通道传输时间与流量的计算公式(****课后题****)
字节多路通道的数据传送过程:
一个字节多路通道连接P台设备,每台设备都传送n个字节
选择通道的数据传送过程:
选择通道连接P台设备,每台设备都传送n个字节
数组多路通道的数据传送过程:
数组多路通道连接P台设备,每台设备都传送n个字节
10.通道流量分析:
书P243
1.一个字节多路通道连接D1、D2、D3、D4、D5共5台设备,这些设备分别每10us、30us、30us、50us和75us发出一次数据传送请求。
(1)计算这个通道的实际流量和工作周期。
(2)如果这个字节多路通道的最大流量正好等于通道实际流量,并假设数据传输率高的设备,其优先级也高。
5台设备在0时刻同时向通道发出第一次传送数据的请求,并在以后的时间里按照各自的数据传输率连续工作。
画出通道分时为各台设备服务的时间图,并计算处理完各设备的第一次请求的时刻。
(3)从时间图中发现什么问题?
如何解决?
(1)通道的实际流量为:
fBYTE=(1/10+1/30+1/30+1/50+1/75)MB/S=0.2MB/S
通道的工作周期为:
t=1/fBYTE=5us
(2)处理完各设备这个第一次请求的时间:
D1:
5us;D2:
10us;D3:
20us;D4:
30us。
D5的第一次请求没有响应,数据丢失。
(3)D5的第一次请求没有得到响应的原因分析
如果字节多路通道的最大流量与连接在这个通道上的所有设备的数据流量之和非常接近时,如果高速设备频繁发出服务请求并优先得到响应,则低速设备可能在很长一段时间内得不到响应。
2、如果某通道在数据传送过程中,选择设备需要9.8us,传送一个字节需要0.2us,某个低速设备每隔500us发出一个字节传送请求,问该通道至多可接几台这种低速设备?
对于如下A-F六种高速设备,一次通讯传送的字节数不少于1024个字节,问哪些设备可以挂接在此通道上,那些不能?
3、书p251
第五章
1.指令重叠的执行方式:
1.顺序执行方式2.一次重叠执行方式3.二次重叠执行方式(取指、分析、执行3阶段)
2.采用先行控制方式的处理机结构(二次重叠执行方式必须要用的)(简答)
3.各缓冲栈的作用
1.先行指令缓冲栈:
处于主存储器与指令分析器之间,用它来平滑主存储器取指令和指令分析器使用指令之间的速度差异
2.先行操作栈:
处于指令分析器和运算控制器之间,使指令分析器和运算器能够各自独立工作。
采用先进先出方式工作,由指令寄存器堆和控制逻辑组成。
3.先行读数栈
处于主存储器与运算器之间,平滑运算器与主存储器的工作。
每个缓冲寄存器由地址寄存器、操作数寄存器和标志三部分组成。
也可以把地址寄存器和操作数寄存器合为一个。
当收到从指令分析器中送来的有效地址时,就向主存申请读操作数。
读
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 期末 复习