系统结构考试范围
系统结构考试范围
小题
第一章 计算机系统结构基础及并行性的开发
一、多级层次结构
1)意义与作用:
- 推动了计算机系统结构的发展
- 发展了多处理机、分布处理系统图、计算机网络系统等系统结构
- 推动自虚拟机、多种操作系统共行计数
2)结构
-
应用语言机器机器级M5
- 应用语言
- 应用语言程序经应用程序包翻译成高级语言程序
-
高级语言机器级M4
-
高级语言
-
高举语言程序经编译程序翻译成汇编语言(或中间语言程序,或机器语言程序)
-
-
汇编语言机器级M3
-
汇编语言
-
汇编语言程序经汇编程序翻译成机器语言程序
-
-
操作系统机器级M2
-
作业控制语言
-
一般用机器语言解释作业控制语句
-
-
传统机器语言机器级M1
-
机器指令系统
-
用微指令程序解释机器指令
-
-
微程序机器级M0
-
微指令系统
-
微指令由硬件直接执行
-
二、透明性🌟
1)定义
客观存在的事务或属性,从某个角度去看,却看不到,称这些事务和属性对它是透明的。透明了就可以简化这部分的设计,然而因为透明而无法控制和干预,就会带来不利。
2)对于计算机系统结构
透明:
- 存储器的模m交叉存取
- 数据总线宽度
- 阵列运算部件
- 通道采用结合型还是独立型
- PDP-11系列的单总线结构
- 串行、重叠还是流水控制方式
- Cache存储器
- 指令缓冲器
- 时标发生器
- 乘法器
- 主存地址寄存器
- 先行进位链
- 移位器
不透明:
- 浮点数据表示
- I/O系统是采用通道方式还是外围处理机方式
- 字符行运算指令
- 访问方式保护
- 程序性中断
- 堆栈指令
- 存储器最小编址单位
- 指令地址寄存器
- 条件码寄存器
- 磁盘外设
- 通用寄存器
- 中断字寄存器
三、计算机系统结构、组成与实现的定义,及三者之间的关系🌟
1)计算机系统结构
定义:系统结构是对计算机系统各级界面的定义及其上下的功能分配
研究方面:软、硬件之间的功能分配以及对传统机器级界面的确定,为机器语言、汇编语言程序设计者或编译程序生成系统提供使其设计或生成的程序能在机器上正确运行而应看到和遵循的计算机属性
2)计算机组成
定义:计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成以及逻辑设计
研究方面:机器级内部各事件的排序方式与控制结构、各部件的功能及各部件间的联系。在所希望达到的性能和价格情况下,怎样更好、更合理地把各种设备和部件组织成计算机,来实现所确定的系统结构。
3)计算机实现
定义:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分和连接,专用器件的设计,微组装技术,信号传输,电源,冷却装置及整机装配技术等。
研究方面:微程序设计、器件技术和微组装技术,其中,器件技术起着主导作用
4)三者关系与影响
关系:计算机系统结构、组成、实现三者互不相同,但又相互影响。组成向上决定于结构,向下受限于实现技术。狭义的系统结构是组成的抽象,组成是实现的抽象。
影响:
- 不同的系统结构会影响到组成技术
- 组成技术也会影响系统结构,是一种推动作用
- 实现永远是结构和组成的最坚实基础
- 三者的内容随不同时期及不同计算机系统会有些变化甚至是模糊不清的。
5)以乘法指令为例,说明上述三者各自的研究内容
计算机系统结构:是否要设置乘法指令
计算机组成:乘法指令是用专门的高速乘法器还是用加法器和移位器实现
计算机实现:乘法器,加法器的物理实现,如器件的类型,继承父,数量的确定和选择
四、翻译与解释
1)翻译:
先用转换程序将高一级机器级上的程序整个
变换成低一级机器级上等效的程序,然后再在低一级机器级上实现的技术
2)解释:
在低级机器级上用它的一串语句或指令来仿真高级机器级上的一条语句或指令的功能,是通过对高级的机器级语言程序中的每条语句或指令逐条
解释来实现的技术
五、软硬件逻辑功能等效🌟
1)概念
软硬件逻辑功能等效是指计算机系统的某功能可以由硬件实现也可以由软件实现,在逻辑功能上是等价的。由硬件实现功能的特点是速度快、增加硬件成本,灵活性低。由软件实现功能的特点是灵活性好、但速度较慢,增加软件设计费用等
2)功能分配原则
-
应考虑在现有硬件、器件条件下,系统要有高的性能价格比,主要从实现费用、速度和其他性能要求来综合考虑
-
考虑准备采用和可能采用的组成技术,使之尽可能不要过多或不合理地限制各种组成、实现技术的采用
-
**硬件的设计要考虑如何为软件提供更好的支持。**不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及如何为高级语言程序的设计提供更多、更好的硬件支持放在首位。
六、计算机系统结构的设计思路
1)由上往下
考虑如何满足应用要求,定好面向应用的那个虚拟机器级的特性和工作环境
2)由下往上:
根据目前能用的器件,参照吸收已有的各种及其特点,将微程序机器级和传统机器级研制出来。
3)从中间开始:
考虑到硬件、器件的现状和发展,又考虑到可能使用的算法和数据结构,定义好这个界面,确定哪些功能由硬件实现,哪些功能由软件实现。
优点:
- 利于缩短研制周期
- 利于软硬件人员之间的交流
- 软硬分配更加合理
- 系统性能价格比更高
七、软件移植及三种移植技术🌟
1)统一高级语言
场合:面向题目和算法,和具体结构关系不大
问题:
- 不同用途要求语言的语法、语义结构不同
- 人们对语言的基本结构看法不一
- 同一种高级语言在不同厂家的机器上不能完全通用
- 语言习惯
对策:
- 长远来看必须解决
2)系列机与兼容机
场合:具有相同结构的各种机器之间
系列机:
一个公司内生产的具有相同系统结构的各档机器构成的系列,必须保证向后兼容,力争向上兼容
问题:系列机和软件兼容的概念阻碍了计算机系统结构的进一步变革。
解决:保证软件向后兼容的前提下, 不断提出性能价格比更优的新机型。
兼容机:
不同厂家生产的具有相同指令集结构的计算机
优势:
- 采用新的计算机组成和实现技术,具有较高的性能价格比
- 对原有的组成和实现进行了某种扩充,使它具有更强的功能
3)模拟和仿真
场合:软件在不同体系结构之间的移植
模拟:
- 方法:在一种机器上实现另一种机器的指令系统,即另一种机器语言
- 问题:模拟程序的编制非常复杂和费时。虚拟机的每条机器指令不能直接被宿主机硬件执行,需要经多条宿主机机器指令构成的解释程序来解释,是的模拟的允许速度低显著降低,实时性变差
- 场合:移植运行时间短,使用次数少,时间关系上没有受约束和限制的软件
仿真
- 方法:用微程序直接解释另一种机器指令系统
- 问题:微程序机器级结构深深依赖于传统机器级结构,当结构差别较大时,很难仿真,特别是I/O系统差别较大时。
选择:不同系列间的软件移植一般是仿真和模拟并行。频繁使用的,易于仿真的机器指令用仿真以提高速度,很少使用的,难以仿真的指令及I/O操作宜用模拟。
八、软件兼容及分类
1)概念:
机器语言程序以及编译程序能不加修改地通用于各档机器
2)分类
向后兼容:以前的软件能运行在以后的机器上
向上兼容:低档机器的软件能运行在高档机器上
九、应用与器件对系统结构的影响
软件是促进计算机系统结构发展的最重要因素
1)应用对系统结构的影响
应用需求是促使计算机系统结构发展的最根本动力,对系统结构设计提出范围广泛的要求
-
科学计算:计算密集型
-
事务处理:大存储容量和输入输出密集
-
实时控制:运行速度极快、必须在有限时间内可靠地传送到接收方
2)器件对系统结构的影响
器件是促进计算机系统结构发展最活跃的因素
-
功能和使用方法:
-
非用户片:功能由厂家生产时确定
-
现场片:更具用户需要可改变器件内部功能的芯片
-
用户片:专门按用户要求生产的高集成度器件
-
-
改变了逻辑设计的传统方法
- 速度
- 规整
-
推动了系统结构设计的发展
-
体系结构“下移”速度加快
- 并行计算
-
促进了算法、语言和软件的发展
十、并行性概念及发展并行性的三种技术途径🌟
1)二重含义
同时性:两个或多个事件在同一时刻发生
并发性:两个或多个事件在 同一时间间隔内发生
2)并行性等级
①按计算机系统执行程序的角度,从低到高:
- 指令内部
- 指令之间
- 任务或进程之间
- 作业或程序之间
从计算机系统中处理数据的角度来看,从低到高:
- 位串字串
- 位并字串
- 位片串字并
- 全并行
2)并行性开发的三种途径
时间重叠:并行性概念中引入时间因素。如流水线,让多个处理过程在时间上相互错开,轮流重叠地使用一套硬件设备地各个部分,加快硬件周转
资源重复:并行性概念中引入空间因素。通过重复设置硬件资源来提高可靠性或性能
资源共享:用软件方法让多个用户按一定时间顺序轮流使用同一套资源来提高资源的利用率,如多道程序分时系统
十一、耦合度概念
1)概念
反映多机系统中各机器之间物理连接的紧密度和交叉作用能力
2)分类
最低耦合:除存储介质,无物理连接,脱机
松散耦合:通过通道或通信线路互连,磁带,磁盘…
紧密耦合:通过总线或高速开关互连,主存…
十二、弗林分类法
(1)单指令流单数据流(SISD),传统单处理器计算机
(2)单指令流多数据流(SIMD),阵列处理机和相联处理机
(3)多指令流单数据流(MISD),很少见
(4)多指令流多数据流(MIMD),多级系统
第二章 数据表示、寻址方式与指令系统
一、数据表示与数据结构
数据表示:能由机器硬件识别和引用的数据类型(数据类型指一类值的集合和可作用于其上的操作集)
数据结构:结构数据类型的组织方式,反映了应用中要用到的各种数据元素或信息单元之间的结构关系
关系:
- 数据表示是数据结构的组成元素,数据结构要通过软件映像变换成机器所具有的各种数据表示来实现。
- 不同的数据表示可为数据结构的实现提供不同的数据支持,表现在实现效率和方便性上不同。
- 数据结构和数据表示是软件和硬件之间的交界面。
二、高级数据表示
1.自定义数据表示
1)标识符数据表示
定义:将数据类型与数据本身直接联系在一起 数据(字) = 类型标志 + 数据值
优点:
- 简化了指令系统和程序设计
- 简化了编译程序
- 便于实现一致性校验
- 能由硬件自动变换数据类型
- 支持数据库系统的实现与数据类型无关的要求,使程序不用修改即可处理多种不同类型的数据
- 为软件调试和应用软件开发提供了支持
问题:
- 每个数据字因增设标识符,会增加程序所占的主存空间
- 采用标志符会降低指令的执行速度
2)数据描述符
定义:描述符与数据分开存放,用以描述要访问的数据是整块的还是单个的,访问该数据块或数据元素的地址及其他信息
优点:描述符可用于块内所有元素,不必每次访存取元素时都去访存描述符。一条指令就能执行对整个数据块的运算。
2.向量、数组数据表示
处理机:向量处理机
优点:加快形成元素地址,便于实现把向量各元素成块预取到中央处理机,用一条向量,数组指令流水或同事对整个向量,数组进行高速处理
3.堆栈数据表示
通常用于保存子程序调用时的返回地址
处理机:堆栈机器
堆栈机器特点:
- 有丰富的堆栈操作指令且功能强大
- 有力地支持了高级语言程序的编译
- 有力的支持了子程序的嵌套和递归调用
三、引入数据表示的原则🌟
**原则1:**看系统的效率是否显著提高,包括实现时间和存储空间是否显著减少。
**原则2:**主存和CPU之间传送的信息量是否减少
**原则3:**看引入这种数据表示后,其通用性和利用率是否提高
四、浮点尾数基址的选择与下溢处理方法🌟
1.浮点数尾数基值的选择
基值rm:尾数采用的进制
尾数的数位m’:长度为m的机器位数中,能存放几个rm位的数
- 若rm=2,则m’ = m
- 若rm=16,则 m’ = m/4
阶值所占位数p
N = 尾数 * rme
条件:
- 非负阶
- 规格化:正尾数小数点后第一个rm进制数位不为0
- 正尾数
影响:
- 数的范围:rm增大,可表示数的范围增大
- 数的个数:rm增大,可表示数的个数增大
- 数轴分布:rm增大,重叠范围内数的密度稀疏
- 数的精度:rm增大,可表述数的精度下降
- 精度损失:rm增大,数的精度损失减小
- 运算速度:rm增大,运算速度提高
2.浮点数尾数下溢的处理方法
1.截断法:将尾数超过机器字长的部分截取
- 实现简单、不增加硬件
- 最大误差较大,平均误差大且无法调节
- 很少使用
2.舍入法:增加一位附加位,类似于四舍五入
- 实现简单,增加硬件少
- 最大误差小,平均误差接近于0且无法调节
- 处理速度慢
3.恒置“1”法:最低位恒置“1”
- 实现最简单,不需要增加硬件与处理时间
- 平均误差趋于0,最大误差最大
4.查表舍入法:根据情况选用截断法或舍入法
- 硬件量大
- 平均误差可调节到0
- 速度较快
特点:
- 最大误差最大的是恒置“1”法
- 最大误差最小的是舍入法
- 平均误差最大的是截断法
- 平均误差可人为调节的是查表舍入法
- 下溢处理不需要附加时间开销,即速度最快的是截断法和恒置“1”法
- 处理速度最慢的是舍入法
- 实现上最花费硬件的是查表舍入法
- 最省硬件的是截断法和恒置“1”法
五、程序的静态再定位与动态再定位
当程序装入主存时,就需要进行逻辑地址空间到物理地址空间的转换,即进行程序的定位
1.静态再定位
目的程序装入主存时,由装入程序用软件方法把目的程序得逻辑地址变换成物理地址。
问题:
- 指令地址码被修改,会因一道程序地址改错而影响其他程序
- 指令允许修改妨碍了程序的可重入
- 指令被修改,不利于程序出错时得故障定位和程序调试
- 给重叠、流水技术的采用带来了困难
2.动态再定位
程序执行时,只通过地址加法器将逻辑地址加上基址寄存器的程序基址形成物理(有效)地址后去访存
变址寻址:对诸如向量、数组等数据块运算得支持,以便实现程序的循环
基址寻址:逻辑地址空间到物理地址空间变换得支持,以实现程序的动态再定位。
3.虚实地址映像表
用虚拟存储器增加映像表硬件后,程序空间可以超过实际主存空间,采用基地址寄存器加位移量的方法
六、基址寻址与变址寻址的区别
1.基址寻址
基址寄存器里的值加上指令格式内的逻辑地址形成物理地址;对逻辑地址空间到物理地址空间变换的支持;通常基址寄存器的内容不变,逻辑地址可变;
2.变址寻址
变址寄存器的值和指令地址码部分给出的地址之和作为操作数地址;对诸如向量,数组等数据块运算的支持;通常逻辑地址不变,变址寄存器里面的值由用户定义
七、信息按整数边界存储
信息在主存中存放得地址必须是该信息宽度的整数倍,保证所需信息只用一个一个存储周期即可访问到
保证了访问速度,但造成了存储空间的浪费
八、哈夫曼压缩思想与指令格式的优化
1.哈夫曼压缩思想:
当各种时间发生的概率不均等时,对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的事件允许用较长的位数(时间)来表示(处理),就会使表示(处理)的平均位数(时间)缩短
2.指令格式优化🌟
指令包含操作码和地址码两部分,用最短的位数来表示指令的操作信息和地址信息,使程序中指令的平均字长最短
1)哈夫曼编码
2)拓展操作码
原则:短码不能是长码的前缀
例题:若某机要求有:三地址指令4条,单地址指令255条,零地址指令16条。 设指令字长为12位,每个地址码长为3位。能否以扩展操作码为其编码?如果单地址指令 改为254条呢?
- 三地址指令4条,操作码共3位,操作码为:0XX,共四条
- 单地址指令255条,操作码共9位,为 1XX XXX XXX 共28=256个,剩余 111 111 110
- 0地址指令共16条,操作码共12位,111 111 110 XXX最多8条,不可以
3)措施
- 采用拓展操作码,并选择合适的编码方式,以缩短操作码的平均码长
- 采用多种寻址方式,缩短地址码长度,并在有限的地址长度内提供更多地址信息
- 采用0、1、2、3等多种地址制,增强指令的功能,宏观上缩短程序的长度,加快程序的执行速度
- 同种地址制内采用多种地址形式,使每种地址字段有多种长度,让长操作码与短地址码组配
- 维持指令字再存储器中按整数边界存储的前提下, 使用多种不同的指令字长度
九、复杂指令集与精简指令集的常用技术
1.CISC(复杂指令系统计算机)
进一步增强原有指令的功能以及设置更为复杂的新指令,取代原先由软件子程序完成的功能,实现软件功能的硬化;
1)面向目标程序的优化实现改进
途径1:
对大量已有机器的机器语言程序及其执行情况进行统计各种指令和指令串的使用频度来加以分析和改进。
使用频度分为静态使用频度(程序中统计出的指令及指令串的使用频度称为静态使用频度。着眼于减少目标程序所占用的存储空间)和动态使用频度(目标程序执行过程中对指令和指令串统计出的频度称为动态使用频度。着眼于减少目标程序的执行时间)
途径2:
增设强功能复合指令来取代原先由常用宏指令或子程序实现的功能,由微程序解释实现,不仅大大提高了运算速度,减少了程序调用的额外开销,也减少了子程序所占的主存空间。
2)面向高级语言的优化实现改进
目的:缩短高级语言和机器语言的语义差距,支持高级语言编译,缩短编译程序长度和时间
途径:
- 通过对源程序中各种高级语言语句的使用频度进行统计来分析改进
- 如何面向编译,优化代码生成来改进
- 改进指令系统,使它与各种语言间的语义差距都有同等的缩小
- 让机器具有分别面向各种高级语言的多种指令系统,多种系统结构的面向问题动态自寻优的计算机系统
- 发展高级语言计算机(或称高级语言机器)
3)面向操作系统的优化实现改进
目的:
通过缩短操作系统与计算机系统结构之间的语义差距,来进一步减少运行操作系统的时间和节省操作系统软件所占用的存储空间
途径:
- 通过对操作系统中常用指令和指令串的使用频度进行统计分析来改进
- 考虑如何增设专用于操作系统的新指令
- 把操作系统中频繁使用的,对速度影响大的机构型软件子程序硬化或固化,直接用硬件或微程序解释实现
- 发展让操作系统由专门的处理机来执行的功能分布处理系统结构
4) CISC的问题
指令系统庞大;许多质量操作繁杂,执行速度很低;编译程序太长,太复杂;部分指令利用率很低
RISC(精简指令系统计算机)
通过减少指令种数和简化指令功能来降低硬件设计的复杂度,提高指令的执行速度
1) RISC的基本技术
- 按设计RISC机器的一般原则来精选和优化设计指令系统(P71)
- 逻辑上采用组合电路硬联为主,少量指令采用微程序解释
- CPU内设置大量寄存器,并采用重叠寄存器组的窗口
- 指令采用重叠和流水的方式解释,采用延迟转移
- 采用高速缓冲器Cache缓冲指令和数据
2)RISC结构的设计原则
- 选取使用频率高的指令,并补充一些最有用的指令
- 每条指令功能尽可能简单,并在一个机器周期内完成
- 所有指令长度均相同
- 只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行
- 以简单有效的方式支持高级语言
3) RISC的问题
- 指令少,加重汇编语言程序设计的负担,增加了机器语言程序的长度,占用存储空间多,加大了指令的信息流量
- 对浮点运算和虚拟存储器支持不足
- RISC机器的编译程序比CISC的难写
第三章 存储、中断、总线与输入输出系统
一、总线的分类
1.按在系统中的位置分为芯片级,板级,系统级
2.按允许信息传送方向分为单向传输,双向传输(半双向和全双向)
3.按用法分为专用和非专用
1)专用总线
定义:只连接一对物理部件的总线
优点:
- 多个部件可以同时收/发信息,不争用总线,系统流量高
- 通信不用指明源和目的,控制简单
- 总线失效影响校,系统可靠
缺点:
- 总线数多,总线较长时成本相当高
- 时间利用率低
- 不利于系统模块化
适用场合:某个设备仅与另一个设备的连接
2)非专用总线
定义:被多种功能或多个部件分时共享,同一时间只有一对部件可使用总线进行通信
优点:
- 总线数少,造价低
- 总线接口标准化,模块性强
- 可扩充能力强,部件的增加不会使电缆、接口和驱动电路激增
- 易用多重总线来提高总线带宽和可靠性,使故障弱化
缺点:
- 系统流量小,经常出现总线争用
- 可能限制系统速度性能
- 共享总线失效会导致系统瘫痪
适用场合:I/O系统
二、总线的控制技术及通信技术
1.控制技术
1)串行链接
优点:
- 算法简单,控制线少只需3根:总线可用、总线请求、总线忙
- 部件增减容易,可扩充性好
- 逻辑简单,容易通过重复设置提高可靠性
缺点:
- 失效敏感
- 优先级用线连固定,不灵活
- 限制了总线的分配速度
- 因为总线长度的的限制,增减或移动部件受到限制
2)定时查询
优点:
- 计数初值、部件号均由程序设定,优先次序用程序控制,灵活性强
- 不会因某部件失效影响其他部件,可靠性高
缺点:
- 控制线数目多:[2+ lb N ]根
- 部件数受限于定时查询线的线数(编制能力)
- 控制较为复杂
- 总线分配速度取决于技术信号的频率和部件数
3)独立请求
优点:
- 总线分配速度快,不用查询
- 控制器可以灵活确定下一个使用总线的部件
- 方便隔离失效不见得请求
缺点:
- 控制线数量过大,需要 2N+1根
- 总线控制器夫大得多
2.通讯技术
1)同步通信
优点:
- 传送速率高
- 受总线长度影响小
缺点:
- 时钟在总线上的时滞可能造成同步误差
- 时钟线上的干扰信号易引起误同步
2)异步通信
异步双向互锁方式:
-
适应不同速度的I/O设备
-
保证数据传送的正确性
-
较高的数据传送速率
-
控制硬件复杂
-
适用于I/O总线
三、中断相应优先级与中断处理程序优先级的分析过程🌟
就那个一拐一拐的线
四、通道的工作原理及三类通道的流量计算
1.工作原理
用户只能在目态程序中安排要求输入输出的广义指令,然后进入相应管理程序执行这些输入输出管态指令
从目态转换为管态的唯一途径是中断。
从管态到目态可以通过修改程序状态字来实现,这将伴随这由操作系统程序到用户程序的转换。
启动I/O指令属于管态指令
1)管态
管态又叫特权态,系统态或核心态。CPU在管态下可以执行指令系统的全集。通常,操作系统在管态下运行。
2)目态
目态又叫常态或用户态。机器处于目态时,程序只能执行非特权指令。
2.三类通道
字节多路:
- 单字节
- 大量字符类低速设备
数组多路:
- 定长块
- 多台高速磁盘存储器
选择
- 不定长块
- 高优先级的高速磁带或磁盘设备
3.流量计算
五、存储器的性能指标
**容量Sm:**存储器的位数或总字节数
- Sm=W×L×m (W:存储体的字长,L每个存储体的字数,m并行工作存储体的个数)
速度:
- 访问时间Tn,存储周期Tm,频宽Bm
**价格:**总价格C,每位价格c
- 同等容量下,存储器的访问速度由高到低:双极型→MOS→电荷耦合型→磁泡→定位磁盘→动头磁盘→磁带
六、单体多字,多体单字与多体多字
单体多字:同时读单存储器的n位
多体单字:由许多容量较小、字长较短的存储器片子组搭而成的大容量半导体主存,每个存储片子都有其自己的外围电路
- Mj体的编制模式位m × i + j,m为模体总数量
- 每个访问周期平均能访问到的次数 B = (1 - ( 1 - λ )m ) / λ
多体多字
第四章 存储体系
一、存储器系统,并行存储体系与存储层次
1.存储系统:
存储系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。
2.存储体系(存储层次):
构成存储系统的几种不同的存储器之间,配上辅助软硬件或辅助硬件,使之从应用程序员来看,在逻辑上是一个整体
基本的二级存储体系:虚拟存储器和Cache存储器(主存-辅存存储层次)
3.并行主存系统:
可以并行读出多个CPU字的单体多字,多体单字,多体多字的交叉存储主存系统
二、虚拟存储器与高速缓冲存储器
1.虚拟存储器
在具有层次结构存储器的计算机系统中,增设地址映像表机构来实现程序在主存中的定位,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。
虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。
1)段式管理
将主存按段分配
2)页式管理
将主存和程序空间都机械等分成固定大小的页
3)段页式管理
将主存机械等分成固定大小的页,程序按模块分段,每个段又分为和主存页面大小相同的页
2.高速缓冲存储器
为弥补主存速度不足,在处理器和主存之间设置的一个高速、小容量的Cache,构成Cache-主存存储层次,使之从CPU来看,速度接近于Cache,容量却是主存的。
每当给出一个主存字地址进行访存时,都必须通过主存-Cache地址映像变换机构判断该访问字所在的块是否已在Cache中
Cache存储器对于应用程序员和系统程序员都是透明的
1)地址映像
将每个虚存单元按什么规则(算法)装入(定位于)主存,建立起多用户虚地址N和贮存地址n之间的对应关系
- Cache的全相联映像:主存中任意一块都可映像装入到Cache中任意一块位置
- Cache的直接相联映像:把主存空间按Cache大小等分成区,每区内的各块只能映像到Cache中唯一一个特定块位置
- Cache的组相联映像:将Cache和贮存空间先分成若干个组,共有2n个组。Cache中所有组构成一个区。而主存则分成与Cache同样大小的d个区
- 组间直接映像
- 组内全相联
2)地址变换
全相联映像:
- 容量为主存的块数
- 随机访问
- 代价大、速度慢
直接相联映像:
- 容量为Cache的块数
- 按地址访问
- Cache块冲突概率高、利用率低
三、常用替换算法🌟
1.FIFO
选择最早装入主存的页作为被替换的页
2.LRU
选择近期最少访问的页作为被替换的页
3.OPT
将未来的近期内不用的页替换出去的算法,有较高的主存命中率,但是不太现实
四、堆栈型替换算法🌟
命中率H随着主存页数n的增减单调上升,至少不下降。
LRU替换算法属于堆栈型替换算法,操作:将刚访问过的页号置于栈顶,最久未被访问过的页号置于栈底
第五章 标量处理机
一、重叠与流水的区别
重叠解释方式:在解释第K条指令的操作完成之前,就开始解释第K+1条指令
区别:依次重叠时把一条指令的解释分为两个子程序,而流水是分为更多个子过程
二、流水线中的各种相关及解决方案
1.转移指令
1)原因:
程序中遇到条件转移,一旦成功,重叠解释实际变成了顺序解释
2)方法:
延迟转移
- 将转移指令与条件转移无关的第k-1条指令交换一下位置
2.指令相关
1)原因:
机器指令允许修改而引出
2)方法:
1.在程序执行过程中,不准修改指令
- 解决指令相关问题
- 实现程序的可再入性和程序的递归调用
2.设置一条**“执行”指令**
- 从该指令第二操作数地址中取出内容形成指令
- 满足了程序设计的灵活性
- 将指令相关转变为数相关
3.主存空间数相关
1)原因
相邻指令对主存同一单元先写入后读出
2)方法
推后读
- 由存储器控制器给读数、写数申请安排不同的访存优先级
- 即将该两条指令变为顺序执行
- 以降低速度为代价,使设备基本上不增加
4.通用寄存器相关
1)数相关
方法:
- 推后读
- 设置相关专用通路
- 保证“执行k”时,运算结果送入通用寄存器能完成功能同时,快速将运算结果回送寄存器B或C
- 保证“执行k+1”用此操作数时,已在寄存器B或C中准备好了
- 以增加设备为代价,使重叠效率不下降
2)变址值或基址值相关
同
三、流水线的分类及三个性能指标解决方法
1.流水线分类
1)按处理级别:
- 部件级
- 处理机级
- 系统级
2)按具有的功能多少:
- 单功能流水线
- 多功能流水线
3)按多功能流水线的连接方式:
- 静态流水线:连续出现同一种运算时,效率才能充分发挥
- 动态流水线
4)按机器所具有的数据表示:
- 标量流水机
- 向量流水机
5)按各功能段间是否有反馈电路分为:
- 线性流水
- 非线性流水:存在反馈回路
6)按信息流动控制方式:
- 顺序流动流水线
- 异步流动流水线
2.三个性能指标
1)吞吐率(TP, Though Put Rate)
TPmax=1 / max{Δt1,Δt2,Δt3,Δt4},经历时间最长的子过程为瓶颈子过程
解决瓶颈子过程方法:
- 瓶颈子过程再细分
- 设置多套瓶颈段并联,使交叉并行
n条m段指令总时间:T = (n-1)Δt0 + m Δt0
- n-1段时间 + 一条的总时间
- 若各段时间不等,为 n-1段瓶颈子过程时间 + 一条的总时间
实际吞吐率 :TP = n/T
2)加速比(Speed Ratio)
T非流水 = nm Δt0
加速比: Sp = T非流水 / T流水
3)效率(Efficiency)
ɳ = nmΔt0 / mT
四、单功能非线性流水线的调度技术
段号时间 | T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 |
---|---|---|---|---|---|---|---|---|
S1 | O | O | O | |||||
S2 | O | O | ||||||
S3 | O | O | ||||||
S4 | O | |||||||
S5 | O | |||||||
S6 | O |
求:
- 流水线结构图
- 流水线的静止表F
- 冲突向量C
- 流水线的状态转换图
- 所有可能的任务调度方案
- 写出最佳调度方案
- 如果按最佳调度算法连续输入4条指令,画出此时流水线的时空图
- 求此时流水线的TP
- 求此时流水线的SP和效率
- 流水线工作期间,在第7个时间单位,处于忙碌状态的各部件分别都在处理第几条指令
解答:
大题
- 拓展操作码
- 通道的流量分析
- CPU相应各中断请求的运行时间示意图
- 替换算法
- 根据堆栈型设计
- 流水线和任务调度
- 线性
- 非线性