计算机系统结构(02325)
2023-11-23 16:17:44 2 举报
AI智能生成
自考计算机系统结构常考填空题和简答题
作者其他创作
大纲/内容
第1章 绪论
计算机系统的层次结构
一台由软、硬组成的通用计算机系统可以被看成
按<font color="#e57373">功能划分</font>的<font color="#e57373">多层机器级</font>组成的层次结构
计算机系统的多级层次结构
0到5级,P25
翻译技术的定义
先用<font color="#e57373">转换程序</font>将高一级机器级上的程序整个地<font color="#e57373">变换</font>成低一级机器级上<font color="#e57373">等效</font>的程序,然后在低一级机器级上实现的技术
解释技术的定义
在低级机器上用它的一串语句或指令来<font color="#e57373">仿真</font>高级机器级上的一条<font color="#e57373">语句或指令</font>的功能,是通过对高级机器级语言程序中的<font color="#444444">每条语句或指令</font><font color="#e57373">逐条解释</font>来实现的技术
固件是什么
一种具有<font color="#e57373">软件功能</font>的硬件
计算机系统结构、计算机组成和计算机实现
计算机系统结构的定义和内涵
层次结构角度看系统结构
对计算机系统中<font color="#e57373">各级界面</font>的定义及其上下的<font color="#e57373">功能分配</font>,每级都有其自己的<font color="#e57373">系统结构</font>
透明的概念
客观存在的事物或属性从某个角度看不到,则称对它是<font color="#e57373">透明</font>的。
计算机组成与计算机实现的定义和内涵
计算机组成
定义
计算机系统结构的<font color="#e57373">逻辑实现</font>,包括<font color="#e57373">机器级内部</font>的<font color="#e57373">数据流</font>和<font color="#e57373">控制流</font>的组成以及<font color="#e57373">逻辑设计</font>等。
内涵
着眼于机器级内部各<font color="#e57373">事件</font>的<font color="#e57373">排序方式</font>与<font color="#e57373">控制机构</font>、各部件的<font color="#e57373">功能</font>以及各部件的<font color="#e57373">联系</font>。
主要是围绕<font color="#e57373">提高速度</font>,着重提高操作的<font color="#e57373">并行度</font>、<font color="#e57373">重叠度</font>,以及<font color="#e57373">功能的分散</font>和<font color="#e57373">设置专用功能部件</font>来进行的
要确定的方面
数据通路宽度
专用部件的设置
各种操作对部件的共享程度
功能部件的并行度
控制机构的组成方式
缓冲和排队技术
预估、预判技术
可靠性技术
计算机实现
定义
计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,微组装技术,信号传输,电源、冷却及整机装配技术等。
计算机实现的设计着眼于_和_,_起着主导作用
器件技术
微组装技术
器件技术
计算机系统结构、组成和实现的相互关系和影响
联系和区别
<font color="#e57373">相同结构</font>计算机,可以因<font color="#e57373">速度不同</font>而采用不同的组成
<font color="#e57373">一种组成</font>可以有<font color="#e57373">多种不同</font>的<font color="#e57373">实现方法</font>
<font color="#e57373">结构不同</font>会使可能采用的<font color="#e57373">组成技术不同</font>
计算机系统的软、硬件取舍及定量设计原理
软硬件取舍的基本原则
软硬件取舍原理
在<font color="#e57373">满足应用</font>的前提下,软硬件<font color="#e57373">功能分配比例</font>主要看能否<font color="#e57373">充分利用</font>硬、器件技术的进展,使系统有高的<font color="#e57373">性能价格比,</font>对<font color="#e57373">软件、硬件、固件</font>取舍进行综合平衡
提高硬件功能的比例可<font color="#e57373">提高解题速度</font>,减少<font color="#e57373">程序</font>所需的<font color="#e57373">存储空间</font>,但会<font color="#e57373">增加硬件成本</font>,<font color="#e57373">降低硬件利用率</font>和计算机系统的<font color="#e57373">灵活性</font>和<font color="#e57373">适应性</font>
提高软件功能比例可以<font color="#e57373">降低硬件成本</font>,提高系统的<font color="#e57373">灵活性、适应性</font>,但<font color="#e57373">解题速度会下降</font>,<font color="#e57373">软件设计费用</font>和所需<font color="#e57373">存储器用量增加</font>
取舍的三大原则
考虑现有<font color="#e57373">硬、器件条件</font>下,系统要有高的<font color="#e57373">性能价格比</font>,主要从<font color="#e57373">实现费用</font>、<font color="#e57373">速度</font>和<font color="#e57373">其他性能</font>要求来综合考虑
考虑准备采用和可能采用的<font color="#e57373">组成技术</font>,尽可能不要过多或者不合理地<font color="#e57373">限制各种组成、实现技术</font>的采用
不能仅从硬的角度考虑如何便于<font color="#e57373">应用组成技术的成果</font>和<font color="#e57373">便于发挥器件技术</font>的发展,还应从软的角度把如何为<font color="#e57373">编译和操作系统的实现</font>以及为<font color="#e57373">高级语言程序的设计</font>提供更多、更好的硬件支持放在首位。
计算机系统的定量设计原理
哈夫曼压缩原理
加速处理高概率事件
Amdahl定律
改进效果好的高性能系统应是一个各部件<font color="#e57373">性能均能平衡</font>得到提高的系统
加速比
程序访问的两个局部性
时间局部性
空间局部性
计算机系统设计的主要任务和方法
主要任务
定义
主要任务包括<font color="#e57373">系统结构</font>、<font color="#e57373">组成</font>和<font color="#e57373">实现</font>的设计。
对功能的确定起主要作用是
应用软件
主要任务
要弄清其<font color="#e57373">应用领域</font>是<font color="#e57373">专用</font>还是<font color="#e57373">通用</font>
要弄清<font color="#e57373">软件兼容</font>是放在<font color="#e57373">哪级层次</font>
要弄清对<font color="#e57373">操作系统</font>有何种<font color="#e57373">要求</font>
要如何保证有<font color="#e57373">高</font>的<font color="#e57373">标准化程度</font>
设计方法
由上往下
适合<font color="#e57373">环境要求比较稳定</font>的<font color="#e57373">专用机</font>设计方法
由下往上
从中间开始,向两边设计
<font color="#e57373">通用机</font>一般采用的方法
克服软硬件设计<font color="#e57373">分离</font>和<font color="#e57373">脱节</font>的<font color="#e57373">致命缺点</font>
<font color="#e57373">传统机器语言机器级</font>与<font color="#e57373">操作系统机器级</font>之间进行合理的软硬件功能分配
软件和硬件<font color="#e57373">并行设计</font>,大大缩短了系统的<font color="#e57373">设计周期</font>
软件、应用、器件的发展对系统结构的影响
软件发展对系统结构的影响
软件移植的技术
统一高级语言
采用系列机
模拟和仿真
采用系列机
原理或者方法
使用从<font color="#e57373">中间向两边设计</font>,在<font color="#e57373">软、硬件界面</font>上设定好一种<font color="#e57373">系统结构</font>,<font color="#e57373">软件设计者按此设计软件</font>,<br>硬件设计者根据机器<font color="#e57373">速度、性能、价格</font>的不同,选择不同<font color="#e57373">器件、硬件和组成、实现技术</font>,研制并提供不同档次的机器
发展的意义或者说优点
较好解决地解决了<font color="#e57373">软件环境要求相对稳定</font>和<font color="#e57373">硬、器件技术迅速发展</font>的矛盾。
软件环境相对稳定就可不断<font color="#e57373">积累、丰富、完善</font>软件,使<font color="#e57373">软件质量、产量</font>不断提高。
软件同时又能不断采用新的<font color="#e57373">器件</font>和<font color="#e57373">硬件</font>技术,短期内便可提供<font color="#e57373">新的</font>、<font color="#e57373">性能不断提高</font>的机器
兼容要求
保证向后兼容,力争向前兼容
模拟和仿真
区别
仿真用<font color="#e57373">微程序解释</font>,存储在<font color="#e57373">控制寄储器</font>
模拟是用<font color="#e57373">机器语言程序</font>解释,存储在主存中
选择
<font color="#e57373">频繁使用</font>的<font color="#e57373">易于仿真</font>的机器指令宜用仿真,以<font color="#e57373">提高速度</font>
很少使用、难以仿真的指令及<font color="#e57373">I/O操作</font>宜用模拟
应用的发展对系统结构的影响
计算机应用归纳为哪4类
数据处理
信息处理
知识处理
智能处理
器件的发展对系统结构的影响
<font color="#e57373">器件</font>的发展对<font color="#e57373">逻辑设计</font>的影响是
逻辑化简
系统结构中的并行性开发及计算机系统的分类
并行性的概念与开发
并行性的含义与级别
_发展是促进计算机和系统性能迅速改进的关键和基础
器件技术
并行性的二重含义
同时性
并发性
计算机<font color="#e57373">系统执行程序</font>角度看,并行等级由低到高
指令内部
一条指令内部各个微操作之间的并行执行
指令之间
多条指令的并行执行
任务或进程之间
多个任务或程序段的并行执行
作业或程序之间
多个任务或多道程序的并行执行
计算机<font color="#e57373">系统处理数据</font>角度看,并行等级由低到高
位串字串
同时只对一个字一个位处理
位并字串
同时对一个字的所有位处理
位片串字并
同时对许多个字同一位进行处理
全并行
同时对许多字全部位或者部分位组进行处理
计算机<font color="#e57373">系统信息加工</font>角度看,并行等级由低到高
存储器操作并行——相联处理机
处理器<font color="#e57373">操作步骤</font>并行——流水线处理机
处理器操作并行——阵列处理机
指令、任务、作业并行
多处理机
并行性开发的途径
时间重叠
并行性概念中引入<font color="#e57373">时间因素</font>,让多个<font color="#e57373">处理过程</font>在时间上<font color="#e57373">相互错开</font>,<font color="#e57373">轮流重叠</font>地使用同一套<font color="#e57373">硬件设备</font>的各个部分,加快<font color="#e57373">硬件周转</font>来赢得速度。
资源重复
在并行概念中引入<font color="#e57373">空间因素</font>,通过<font color="#e57373">重复设置硬件资源</font>来提高<font color="#e57373">可靠性</font>或<font color="#e57373">性能</font>。
资源共享
用<font color="#e57373">软件方法</font>,让多个用户按一定<font color="#e57373">时间顺序轮流使用</font>同一套资源来提高<font color="#e57373">资源利用率</font>,相应地也就提高了系统的性能。
计算机系统的分类
按<font color="#e57373">指令流</font>和<font color="#e57373">数据流</font>的多倍性分类
单指令流单数据流(SISD)
<font color="#e57373">指令部件</font>每次只对<font color="#e57373">一条指令译码</font>,只对一个部件分配数据
单指令多数据流(SIMD)
由<font color="#e57373">单一指令部件</font>同时控制多个<font color="#e57373">重复设置</font>的<font color="#e57373">处理单元</font>,执行同一指令下<font color="#e57373">不同数据</font>的操作
多指令单数据流(MISD)
<font color="#e57373">多个指令部件</font>对<font color="#e57373">同一数据</font>的<font color="#e57373">各个处理阶段</font>进行操作
多指令多数据流(MIMD)
多个<font color="#e57373">独立</font>或<font color="#e57373">相对独立</font>的<font color="#e57373">处理机</font>分别执行各自的<font color="#e57373">程序</font>、<font color="#e57373">作业</font>或<font color="#e57373">进程</font>
第2章 数据表示、寻址方式与指令系统
数据表示
数据表示与数据结构
数据表示指的是
能由计算机<font color="#e57373">硬件识别</font>和<font color="#e57373">引用</font>的数据类型,表现在它有对这种类型的数据进行操作的<font color="#e57373">指令</font>和<font color="#e57373">运算部件</font>
数据结构
数据结构是反应了应用中要用到的各种_或<font color="#e57373">_</font>之间的结构关系
数据元素
信息单元
数据结构是要通过_,变换成计算机中所具有的数据表示来实现的。
软件映像
_和_是软、硬件的交界面。
数据结构
数据表示
高级数据表示
自定义数据表示
包括了
标志符数据表示
数据描述符
为了缩短高级语言与机器语言的语义差距,每个数据都带有
类型标志位
标志符数据表示
优点
简化了<font color="#e57373">指令系统</font>和<font color="#e57373">程序设计</font>
简化了<font color="#e57373">编译程序</font>
便于实现<font color="#e57373">一致性校验</font>
能由<font color="#e57373">硬件自动变换数据类型</font>
支持<font color="#e57373">数据库系统的实现</font>与<font color="#e57373">数据类型无关</font>的要求,使程序<font color="#e57373">不用修改</font>即可<font color="#e57373">处理多种不同类型</font>的数据
为<font color="#e57373">软件调试</font>和<font color="#e57373">应用软件</font>开发提供了支持
缺点
增加<font color="#e57373">程序所占的主存空间</font>
会降低<font color="#e57373">指令的执行速度</font>
数据描述符
与标志符表示的区别
标志符是和每个<font color="#e57373">数据相连</font>的,合存在一个<font color="#e57373">存储单元</font>,描述<font color="#e57373">单个数据</font>的<font color="#e57373">类型特征</font>
数据描述符与数据<font color="#e57373">分开存放</font>,用于描述访问的数据是<font color="#e57373">整块</font>还是<font color="#e57373">单个</font>,该数据块或数据元素索要的<font color="#e57373">地址</font><font color="#212930">以及</font><font color="#e57373">其他信息</font>
向量、数组数据表示
为向量、数组数据结构实现和快速运算的方法是
增设向量、数组数据表示
堆栈数据表示
堆计算机表现
引入数据表示的原则
看系统的效率是否有显著提高,包括<font color="#e57373">实现时间</font>和<font color="#e57373">存储空间</font>是否有显著减少。
看引入这种数据表示后,其<font color="#e57373">通用性</font>和<font color="#e57373">利用率</font>是否提高。
浮点数尾数基值大小和下溢处理方法的选择
浮点数尾基值选择
随着rm增大,可表示数最小值将
减少
随着rm增大,可表示数的个数将
增多
随着rm增大,数在数轴上的分布将
更稀
随着rm增大,数的表示精度将
下降
浮点数尾数的下溢处理方法
截断法
原理
将尾数<font color="#e57373">超出计算机字长</font>的部分<font color="#e57373">截去</font>
优点
实现最简单
不增加硬件
不需要处理时间
缺点
最大误差大
平均误差大
舍入法
原理
规定字长之外增设一个<font color="#e57373">附加位</font>,存放溢出最高位
优点
实现简单
增加硬件少
最大误差小,平均误差接近0
缺点
处理速度慢,在需要精度损失较小场景下使用
恒置1法
原理
规定字长<font color="#e57373">最低位</font>恒置为1
优点
实现最简单
不需要增加硬件
不需要处理时间
平均误差趋近于0
缺点
最大误差比截断法要大
查表舍入法
原理
用ROM或者PLA存放下溢处理表
优点
没有最大误差
平均误差可以调节到0
速度较快
缺点
需要硬件量大
实现较难
寻址方式
寻址方式指的是指令按是什么方式寻找所需的
操作数
信息
寻址方式的三种面向
面向主存
面向寄存器
面向堆栈
寻址方式在指令中指名
一种
占用<font color="#e57373">操作码</font>的<font color="#e57373">某些位</font>来指名
另一种
不占用操作码,而是在<font color="#e57373">地址码</font>部分专门设置<font color="#e57373">寻址方式位字段</font>指名
程序在主存中的定位技术
两种地址
程序员使用的地址是
逻辑地址
主存_是程序在主存空间中的实际地址
物理地址
静态在定位
动态在定位
在硬件上设置<font color="#e57373">基址寄存器</font>和<font color="#e57373">地址加法器</font>。
在程序不作变换直接装入主存的同时,装入主存的起始地址存入对应该道程序使用的基址寄存器中。
程序执行时,只要通过地址加法器将逻辑地址加上基址寄存器的程序基址形成物理(有效)地址后去访存即可。
虚实地址表映像表
指令系统设计和优化
指令系统设计的基本原则
指令类型分为两种
特权型,供<font color="#e57373">系统</font>程序员使用
非特权型,供<font color="#e57373">应用</font>程序员使用
指令系统的设计包括
指令的功能
指令的格式
编译程序设计者要求指令系统设计具有
规整性。对相似的操作做<font color="#e57373">相同规定</font>
对称性。便于编译
独立性和全能性,多种程序选择<font color="#e57373">实现同一种功能</font>,为<font color="#e57373">减少编译</font>时哪种选择好的分析,应限定操作只能有一种选择方式
正交性。指令各<font color="#e57373">不同字段</font>在编码时<font color="#e57373">互不相关</font>,<font color="#e57373">相互独立</font>
可组合性,所有操作对各种<font color="#e57373">寻址方式</font>和<font color="#e57373">数据类型</font>都适用
可扩充性,预留一定数量冗余操作码,以便以后扩充新指令
指令操作码的优化
指令是有哪两部分组成的
操作码
地址码
哈夫曼编码和扩展操作码编码
信息源熵公式
<span class="equation-text" contenteditable="false" data-index="0" data-equation="-\sum_{i =1}^{n}P_{i}\log_{2}{P_{i}}"><span></span><span></span></span>
哈夫曼编码的平均码长
<span class="equation-text" contenteditable="false" data-index="0" data-equation="\sum_{i =1}^{n}p_{i}l_{i}"><span></span><span></span></span>
_编码是最优化的编码
哈夫曼编码
_是界与定长二进制编码和哈夫曼编码之间的
扩展操作码编码
指令系统编码格式有
变长编码
固定长编码
混合编码
指令字格式的优化
指令字优化措施
指令系统的发展和改进
两种途径和方向
复杂指令计算机(CICS)
增强原有指令功能以及设置更复杂指令取代原先子软件完成的功能,实现软件功能的完全硬化的计算机
从面向<font color="#e57373">目标程序</font>、面向<font color="#e57373">高级语言</font>、面向<font color="#e57373">操作系统</font>三个方面进行优化
精简指令计算机(RICS)
通过减少指令种数和简化指令功能来降低硬件设计复杂度,提高指令执行速度的计算机
按CICS方向发展和改进指令系统
面向目标程序的优化实现改进
面向高级语言的优化实现改进
面向操作系统的优化实现改进
按RICS方向发展和改进指令系统
CICS的问题
指令<font color="#e57373">系统庞大</font>,一般指令在200条以上
许多指令的<font color="#e57373">操作繁杂</font>,执行速度很低,甚至不如用几条简单、基本的指令<font color="#e57373">组合实现</font>
由于指令系统庞大,使高级语言编选择<font color="#e57373">目标指令</font>的<font color="#e57373">范围太大</font>,因此,难以<font color="#e57373">优化生成高效机器语言程序</font>,编译程序也太长、太复杂。
由于指令系统庞大,各种指令的使用频度都不会太高,<font color="#e57373">差别</font>很大,其中相当一部分指令的<font color="#e57373">利用率</font>很低。
设计RICS的原则
确定指令系统时只选择使用<font color="#e57373">频度很高</font>的指令,再增加少量能有效支持<font color="#e57373">操作系统</font>、<font color="#e57373">高级语言实现</font>及<font color="#e57373">其他功能</font>的指令,一般使之不超过 100 条。
减少指令系统所用<font color="#e57373">寻址方式种类</font>,一般不超过两种。简化<font color="#e57373">指令的格式</font>限制在两种之内,并让全部指令都是<font color="#e57373">相同长度</font>。
所有指令都在一个<font color="#e57373">机器周期</font>内完成。
扩大<font color="#e57373">通用寄存器数</font>,一般不少于 32 个,尽量<font color="#e57373">减少访存</font>,所有指令只有<font color="#e57373">存、取指令访存</font>,其他指令一律只对<font color="#e57373">寄存器操作</font>。
为提高<font color="#e57373">指令执行速度</font>,大多数指令都用<font color="#e57373">硬联控制</font>实现,少数指令才用<font color="#e57373">微程序</font>实现。
通过<font color="#e57373">精简指令</font>和<font color="#e57373">优化设计编译程序</font>,简单、有效地支持高级语言的实现。
设计RICS结构采用的基本技术
按设计 RISC 的一般原则来设计。
<font color="#e57373">逻辑实现</font>采用硬联和微程序相结合。
在 <font color="#e57373">CPU</font> 中设置<font color="#e57373">大量工作寄存器</font>并采用<font color="#e57373">重叠寄存器窗口</font>。
指令用<font color="#e57373">流水</font>和<font color="#e57373">延迟转移</font>。
采用<font color="#e57373">高速缓冲存储器</font> Cache,设置<font color="#e57373">指令 Cache</font> 和<font color="#e57373">数据 Cache </font>分别存放指令和数据。
优化设计编译系统。
RICS技术的好处
简化指令系统设计,适合<font color="#e57373"> VLSI 实现</font>。
提高计算机的<font color="#e57373">执行速度</font>和<font color="#e57373">效率</font>
降低<font color="#e57373">设计成本</font>,提高系统的<font color="#e57373">可靠性</font>
可直接支持<font color="#e57373">高级语言</font>的实现,简化<font color="#e57373">编译程序</font>的设计。
RICS的不足和问题
加重了<font color="#e57373">汇编语言程序设计</font>的负担,增加了<font color="#e57373">机器语言程序</font>的长度,占用<font color="#e57373">存储空间多</font>,加大了<font color="#e57373">指令</font>的<font color="#e57373">信息流量</font>。
对<font color="#e57373">浮点运算</font>的执行和<font color="#e57373">虚拟存储器</font>的支持不足。
RISC 计算机的编译程序比 CISC 的难写。
第3章 存储、中断、总线与I/O系统
存储系统的基本要求和并行主存系统
存储系统的基本要求
基本要求是
大容量
高速度
低价格
并行主存系统
并行主存系统能并行读出多个CPU字的_和_、_的交叉访问主存系统
单体多字
多体单字
多体多字
中断系统
中断分类和分级
引起中断的各种事件称为
中断源
分类
访管中断
程序性中断
外部中断
输入、输出中断
分级
分级的原因及其方法
中断的响应次序与处理次序
中断响应次序用什么硬件实现,还设置了什么寄存器
排队器
中断屏蔽位
中断系统的软、硬件功能分配
中断系统的功能有
中断<font color="#e57373">请求分析</font>
中断断点
中断请求的<font color="#e57373">保存</font>和<font color="#e57373">清除</font>
中断返回
<font color="#e57373">优先级</font>的确定
现场保存
中断系统的软、硬件功能分配实质上是_和_的功能分配
中断软件处理程序
中断响应硬件
中断现场包括哪两种状态
软件状态
硬件状态
总线系统
总线的分类
按功能
电源总线
数据总线
地址总线
控制总线
按在系统中位置
芯片级
板级
系统级
按信息传送方向
单向传输
双向传输,双向又分半双向和全双向
按用法
专用
原理
只连接<font color="#e57373">一对物理部件</font>的总线称为专用总线
优点
<font color="#e57373">多个部件</font>可以<font color="#e57373">同时</font>收发信息
不用<font color="#e57373">争用总线</font>,系统<font color="#e57373">流量高</font>
通信时不用指名<font color="#e57373">源和目的地</font>,<font color="#e57373">控制简单</font>
任何总线的失效只会使连与该总线的两个部件<font color="#e57373">不能直接通信</font>,它们仍可以通过别的部件<font color="#e57373">间接通信</font>,<font color="#e57373">系统可靠</font>
缺点
总线数多
非专用
原理
可以被<font color="#e57373">多种功能</font>或<font color="#e57373">多个部件</font>分时共享,<font color="#e57373">同一时间</font><font color="#4669ea">只</font>有<font color="#e57373">一对部件</font>可使用总线进行<font color="#e57373">通信</font>
优点
总线少,造价低
总线<font color="#e57373">接口标准化</font>,<font color="#e57373">模块性强</font>
可以<font color="#e57373">扩充能力强</font>,部件的增加不会使<font color="#e57373">电缆</font>、<font color="#e57373">接口</font>和<font color="#e57373">驱动电路</font>激增
易用<font color="#e57373">多重总线</font>来提高总线的<font color="#e57373">带宽</font>和<font color="#e57373">可靠性</font>,估<font color="#e57373">故障弱化</font>
缺点
<font color="#e57373">流量小</font>,经常出现<font color="#e57373">争用总线</font>,未获得<font color="#e57373">总线使用权</font>的部件因为等待而降低效率
总线的控制方式
控制方式分<font color="#e57373">集中式</font>和<font color="#e57373">分布式</font>,本书只讲集中式
串行链接
原理
获得总线的<font color="#e57373">优先次序</font>是总线可用线所接<font color="#e57373">部件物理位置</font>来决定的,离<font color="#e57373">控制总线器</font>越近的部件优先级越高
优点
选择<font color="#e57373">算法简单</font>,能解决<font color="#e57373">总线控制分配</font>的<font color="#e57373">控制线</font>的<font color="#e57373">线数少</font>,只需<font color="#e57373">3根</font>,且不取决于部件的数量
部件<font color="#e57373">增减容易</font>,只需简单的<font color="#e57373">连接</font>到总线或者<font color="#e57373">移除</font>,可<font color="#e57373">扩充性好</font>
<font color="#e57373">逻辑简单</font>,通过<font color="#e57373">重复设置</font>提高<font color="#e57373">可靠性</font>
缺点
对总线<font color="#e57373">可用线</font>及其<font color="#e57373">有关电路</font>的<font color="#e57373">失效敏感</font>,如果部件i不能正确传送总线可用信号,则i部件后的所有部件<font color="#e57373">失去总线使用权</font>
定时查询
优点
因<font color="#e57373">计数器初值</font>、<font color="#e57373">部件号</font>均可由程序制定,<font color="#e57373">优先次序</font>可用<font color="#e57373">程序控制</font>,灵活性强,不会因为某个部件失效而影响其他部件对总线的使用
缺点
需要<font color="#e57373">2+log2N</font>向上整取根总线,可以共享总线的<font color="#e57373">部件数</font>受限于<font color="#e57373">定时查询</font>的线数,<font color="#e57373">扩展性差</font>
<font color="#e57373">控制较为复杂</font>
独立请求
优点
总线<font color="#e57373">分配速度</font>快,所有部件的总线请求<font color="#e57373">同时送达</font>总线控制器,<font color="#e57373">不用查询</font>
<font color="#e57373">控制器</font>可以使用<font color="#e57373">程序可控</font>的<font color="#e57373">预订方式</font>、<font color="#e57373">自适应方式</font>或者<font color="#e57373">循环方式</font>或者混着使用<font color="#e57373">灵活确定</font>下一个使用总线的部件
方便<font color="#e57373">隔离失效</font>的部件的请求
缺点
<font color="#e57373">控制线数量大</font>,需要<font color="#e57373">2N+1</font>个控制线
<font color="#e57373">控制器复杂得多</font>
小微行计算机适用
串行链接
巨大中心型计算机适用
定时查询、独立请求
总线通信技术
两种通信方式
异步
同步
数据宽度与总线线数
数据宽度
I/O设备取得I/O总线后所传送数据的总量是
数据宽度
适合磁盘等高速设备的是
定长块
适合输入机、打印机等低速设备的是
单字
适合高优先级的中高速磁带、磁盘等设备的是
可变长块
适合灵活有效却复杂、开销大的是
单字加可变长块
速度较低而优先级较高的适合
单字加定长块
单字
单字可变长快
单字加定长
可变长块
定长快
总线线数
总线标准包括
机械
功能
电气
过程
I/O系统
I/O系统概述
I/O系统包括
输入、输出设备
设备控制器
输入输出操作有关的软硬件
输入输出设备分为
外存
传输设备
输入输出系统发展3个阶段
程序控制I/O
全软件
程序查询
中断驱动
直接存储器访问DMA
I/O处理机
通道方式
外围处理机方式
I/O系统的设计主要是考虑好解决_、_和_在速度上巨大的差距
处理器
主存
I/O设备
通道处理机的工作原理和设计流量
通道处理机的工作原理
3类通道
字节多路
数组多路
选择
连接大量字符类低速设备
字节多路
优先级较高磁盘高速设备
选择
多台磁盘高速设备
数组多路
通道流量设计
字节多路的极限流量和实际最大流量
实际最大
所有设备相加
极限流量
<span class="equation-text" contenteditable="false" data-index="0" data-equation="\frac{1}{T_{D}+T_{S}}"><span></span><span></span></span>
数组多路的极限流量和实际最大流量
实际最大
流量最高设备
极限流量
<span class="equation-text" contenteditable="false" data-index="0" data-equation="\frac{K}{KT_{D}+T_{S}}"><span></span><span></span></span>
选择通道的极限流量和实际最大流量
实际最大
流量最高设备
极限流量
<span class="equation-text" contenteditable="false" data-index="0" data-equation="\frac{N}{NT_{D}+T_{S}}"><span></span><span></span></span>
第4章 存储体系
基本概念
存储体系及其分支
_是因主存容量满足不了要求而提出来的,<br>在主存和辅存之间增设辅助的软件硬件构成一个整体,也被称为_
虚拟存储器
主存-辅存存储层次
因_满足不了要求而引出了cache存储器,称为_
主存速度
cache-主存存储层次
虚拟存储器
虚拟存储器的基本思想
虚拟存储器是以<font color="#e57373">存储器访问的局部性</font>为基础,建立在<font color="#e57373">主存-辅存</font>体系上的<font color="#e57373">存储管理技术</font>
它的基本思想是通过某种策略,把<font color="#e57373">辅存</font>中的信息一部分一部分地<font color="#e57373">调入主存</font>,以给用户提供一个比<font color="#e57373">实际主存容量大得多</font>的<font color="#e57373">地址空间</font>来<font color="#e57373">访问主存</font>。
虚拟存储器的管理方式
段氏管理
页式管理
页式存储是把_和_都机械地等分成固定大小的页
程序空间
主存空间
段页式管理
虚拟存储器通过增设_来实现程序在主存中的定位
地址映像表
页式虚拟存储器的构成
地址的映像和变化
页式虚拟存储器是采用_和管理的_存储层次
页式存储
主存-辅存
页面替换算法
先进先出(FIFO)
近期最少使用算法(LRU)
命中相关的结论
命中率与选用<font color="#e57373">替换算法</font>有关,也和<font color="#e57373">页地址流</font>有关
命中率与分配给<font color="#e57373">程序的主存页数</font>有关
页式虚拟存储器实现中的问题
页面失效的处理
设计好_是页面失效处理的关键之一
页式虚拟存储器
提高虚拟存储器等效访问速度的措施
硬伤增设
快表
<font color="#e57373">页面失效</font>
要访问的<font color="#e57373">虚页</font>不在实<font color="#e57373">主存</font>中时,就发生页面失效
<font color="#e57373">页面争用</font>
当页面调入主存中,主存中的页面位置已全部被<font color="#e57373">其他虚页占用</font>了,称发生页面争用
页面失效与页面争用同时发生
当分配给程序的内存区已被<font color="#e57373">全部占用</font>后,只要发生<font color="#e57373">页面失效</font>,就一定会发生<font color="#e57373">页面争用</font>。
页面失效与页面争用不同时发生
发生页面争用,并不会发生页面失效。
高速缓冲存储器
工作原理和基本结构
高速缓冲存储器是为了弥补_不足,在处理机和主存之间设置一个高速小容量的cache,构成_
主存速度不足
cache-主存存储层次
从CPU角度看,速度接近_,容量确是_
cache
主存
地址的映像与变换
全相连映像与变换
原理
主存中任意一块都可映像装入到cache中任意一块
优点
块冲突概率低,只有装满才出现块冲突
cache空间利用率高
缺点
要构成2^ncb项的<font color="#e57373">相连存储器</font>,代价大
cache容量很大时,查表速度很难提升
直接映像及其变换
原理
把主存空间按<font color="#e57373">cahe大小</font>等分成<font color="#e57373">区</font>,每区内的各块只能<font color="#e57373">按位置</font>一一对应到cache的<font color="#e57373">相应块</font>位置上
优点
<font color="#e57373">节省所需硬件</font>,只需容量小的按地址访问的区号标志表存储器的少量外比较电路,成本很低
缺点
块冲突概率很高
大量空间快也无法利用,空间利用率很低
组相连映像及其变换
原理
全相连映像和直接映像相结合
各组之间是直接映像,组内各块又是全相连映像
cache存储器的LRU替换算法的硬件实现
_算法最常用
LRU
比较对触发器数、门数、门的输入端数与块数的关系
块数 = P
对触发器数
P(P-1) /2
门数
P
门的输入端数
P-1
cache存储器的透明性及性能分析
cache存储器的透明性分析及解决办法
写回法
原理
写回法也称为<font color="#e57373">抵触修改法</font>。它是在 <font color="#e57373">CPU 执行写</font>操作时,信息<font color="#e57373">只写入Cache</font>,仅当<font color="#e57373">需要替换</font>时,才将改写过的 <font color="#e57373">Cache 块</font>先写回<font color="#e57373">主存</font>,然后<font color="#e57373">再调入新块</font>。
优点
Cache的<font color="#e57373">速度比较高</font>,因为每次<font color="#e57373">访问命中</font>的写操作<font color="#e57373">只写Cache</font>,<font color="#e57373">不写主存</font>,只有在发生替换时才将修改过的块写入主存
缺点
写回法因为有一段时间<font color="#e57373">Cache与主存内容不一致</font>,所以<font color="#e57373">可靠性</font>比写直达法差,而且<font color="#e57373">控制操作比较复杂</font>
写直达法
原理
写直达法也称<font color="#e57373">存直达法</font>。它是利用<font color="#e57373"> Cache 存储器</font>在处理机和主存之间的<font color="#e57373">直接通路</font>,每当处理机写入 Cache 的<font color="#e57373">同时</font>,也通过此通路直<font color="#e57373">接写入主存</font>
优点
由于写直达法Cache及主存内容同时更新,所以<font color="#e57373">一致性保持得比较好</font>,<font color="#e57373">可靠性比较高</font>,操作过程<font color="#e57373">比较简单</font>
缺点
<font color="#e57373">每次</font>操作都要<font color="#e57373">访问主存</font>,所以写操作的<font color="#e57373">速度得不到改善</font>,仍然是访问<font color="#e57373">主存的速度</font>
cache的取算法
影响命中率的因素
cache的容量
块的大小
组相连的组数
组内块数
cache存储器的性能分析
cache存储器的等效存储周期公式
<span class="equation-text" contenteditable="false" data-index="0" data-equation="ta = H_{c}t_{c} + (1-H_{c})t_{m}"><span></span><span></span></span>
加速比公式
<span class="equation-text" contenteditable="false" data-index="0" data-equation="\frac{t_{m}}{t_{a}}"><span></span><span></span></span>
三级存储体系
虚地址cache
虚地址是_直接构成的三级存储层次
cache-主存-辅存
第5章 标量处理机
重叠方式
重叠原理和一次重叠
解释一条机器指令的未操作可归并成
取指令
分析
执行
顺序解释
指的是各条<font color="#e57373">指令之间顺序串行</font>,每条指令内部的各个<font color="#e57373">微操作</font>也顺序串行地进行
重叠解释
是在解释第k条指令的<font color="#e57373">操作完成</font>之前,就可以开始<font color="#e57373">解释</font>第k+1条指令。
实现指令的重叠解释满足什么条件
要解决<font color="#e57373">访主存</font>的冲突
要解决<font color="#e57373">分析</font>与<font color="#e57373">执行</font>操作的<font color="#e57373">并行</font>
要解决分析与执行<font color="#e57373">操作控制</font>上的<font color="#e57373">同步</font>
要解决<font color="#e57373">指令间</font>各种相关的处理
相关处理
通用寄存器组相关处理
解决重叠和流水中的操作数相关,不外乎是_和_两种基本方法
推后法
设置相关通路
流水方式
如果一次重叠方式解释指令仍达不到速度要求,可以同时解释指令的流水方式
基本概念
工作原理
将<font color="#e57373">分析</font>子过程再细分成<font color="#e57373">取指令</font>、<font color="#e57373">指令译码</font>和<font color="#e57373">取操作数</font>三个子过程,让4个子过程分别由独立的<font color="#e57373">子部件实现</font>,让经过时间都等于<font color="#e57373">δt2</font>
流水分类
按处理级别
部件级
部件级流水是指构成<font color="#e57373">部件内</font>的各个<font color="#ee5576">子部件间</font>的流水,如<font color="#ee5576">运算器</font>内<font color="#ee5576">浮点加</font>的流水、cache内和多体并行<font color="#ee5576">主存内</font>的流水。
处理机级
处理机级流水是指构成<font color="#ee5576">处理机</font>的<font color="#ee5576">各部件</font>之间的流水,如“取指”、“分析”、“执行”间的流水。
系统级
系统级流水是指构成<font color="#ee5576">计算机系统</font>的多个<font color="#ee5576">处理机</font>之间的流水,也称为<font color="#ee5576">宏流水</font>。
按功能
单功能流水线
多功能流水线
静态流水线
某一个时间内各段只能按一种功能连接流水,只有等流水线全部留空后,才能切换成按另一种功能连接流水。
动态流水线
各功能段在同一时间内可按不同运算或功能连接。
按所具有的数据表示
标量流水机
向量流水机
按反馈回路
线性流水机
非线性流水机
向下扩展
把子进程进一步地细分
向上扩展
在多个处理机之间流水
标量流水线的主要性能
吞吐率
<span class="equation-text" contenteditable="false" data-index="0" data-equation="\frac{n}{\sum_{i =1}^{n}\Delta t0 + (n-1)\Delta tj}"><span></span><span></span></span>
效率
<span class="equation-text" contenteditable="false" data-index="0" data-equation="\frac{n\sum_{i =1}^{n}\Delta t0}{m[\sum_{i =1}^{n}\Delta t0 + (n-1)\Delta tj]}"><span></span><span></span></span>
加速比
<span class="equation-text" contenteditable="false" data-index="0" data-equation="\frac{改造前的拍数}{改造后的拍数}"><span></span><span></span></span>
标量流水机的相关处理和控制机构
局部性相关的处理
全局性相关的处理
<font color="#e57373">全局性相关</font>指的是已进入<font color="#e57373">流水线</font>的_和其_之间相关。
转移指令
后续指令
处理办法
<font color="#ee5576">猜测法</font>,猜选其中一个<font color="#e57373">分支</font>继续流入,待<font color="#ee5576">条件码</font>形成后再决定是<font color="#ee5576">继续执行</font>还是<font color="#e57373">作废</font>,按另一条<font color="#ee5576">重新流入</font>
加快和提前形成<font color="#ee5576">转移所需的条件</font>,包括<font color="#ee5576">指令内</font>或<font color="#ee5576">程序段内条件码</font>的提前生成。
采取<font color="#ee5576">延迟转移</font>,这是用<font color="#ee5576">软件方法</font>进行<font color="#ee5576">静态指令调度</font>的技术。
加快<font color="#ee5576">短循环程序</font>的处理。
流水处理机的中断处理
非线性流水线的调度
流水线中可能出现的三种相关
资源相关:指当有<font color="#ee5576">多条指令</font>进入<font color="#ee5576">流水线</font>后在<font color="#ee5576">同一机器周期</font>内争用<font color="#ee5576">同一功能部件</font>所发生的冲突。
数据相关:是在几条<font color="#ee5576">相近的指令</font>间<font color="#ee5576">共用相同</font>的<font color="#ee5576">操作数</font>时发生的。
控制相关:是<font color="#ee5576">无条件转移</font>和<font color="#ee5576">条件转移</font><font color="#212930">引</font>起的,<font color="#ee5576">转移指令</font>约占总指令的<font color="#ee5576">1/4</font>左右
指令级高度并行的超级处理机
超标量处理机
超长指令处理机
超长指令处理机遵循的主要准则
<font color="#ee5576">单一的控制器</font>,<font color="#e57373">只有</font>一个控制器,每个<font color="#ee5576">时钟周期</font>启动<font color="#ee5576">一条长指令</font>。
<font color="#ee5576">超长指令字</font>被分成<font color="#ee5576">多个控制字段</font>,每个字段<font color="#ee5576">直接独立</font>地控制<font color="#ee5576">每个功能部件</font>。
含有<font color="#ee5576">大量</font>的<font color="#ee5576">数据通路</font>和<font color="#ee5576">功能部件</font>,由于编译在<font color="#ee5576">编译时</font>已考查可能出现的<font color="#ee5576">数据相关</font>,故<font color="#ee5576">控制硬件</font>比较简单。
在<font color="#e57373">编译阶段</font>完成<font color="#ee5576">超长指令</font>中<font color="#ee5576">多个可并行操作</font>的<font color="#ee5576">调度</font>。
超流水线处理机
超流水线处理机提高指令级并行的方法和特点
超流水线处理机着重开发<font color="#ee5576">时间并行性</font>,在公共的硬件上采用<font color="#ee5576">较短</font>的<font color="#ee5576">时钟周期</font>,<font color="#ee5576">深度流水</font>来<font color="#ee5576">提高速度</font>,需使用<font color="#ee5576">多相时钟</font>。
超标量超流水处理机
为了同时解释相邻两条或多条指令,常用的控制方式是_和_
流水
重叠
第6章 向量处理机
向量的流水处理与向量处理流水机
向量的处理和向量的流水处理
_处理是向量的处理方式,不是向量的流水处理方式
向量横向
_处理和_处理既是向量的处理方式,也是向量的流水处理方式
向量纵向
分组纵横
向量流水处理机的结构举例
通过并行、链接提高性能
提高向量处理机的性能的方法
设置<font color="#e57373">多个功能部件</font>,使它们<font color="#e57373">并行工作</font>
采用<font color="#e57373">链接技术</font>,加快<font color="#e57373">一串向量指令</font>的执行
采用<font color="#e57373">循环开采技术</font>,加快<font color="#e57373">循环</font>的处理
采用<font color="#e57373">多处理机系统</font>,进一步提高性能
阵列处理机的原理
阵列处理机的构形的特点
阵列处理机的构形
分布式存储器阵列处理机
集中式共享存储器阵列处理机
阵列机与流水线处理机相比的特点
阵列处理机利用的是<font color="#e57373">资源重复</font>,而不是<font color="#e57373">时间重叠</font>
利用的是<font color="#e57373">并行性</font>中的<font color="#e57373">同时性</font>,而不是<font color="#e57373">并发性</font>
使用<font color="#e57373">简单</font>、<font color="#e57373">规整</font>的<font color="#e57373">互连网络</font>来确定<font color="#e57373">处理单元</font><font color="#212930">间</font>的连接;在<font color="#e57373">机间互连</font>上比<font color="#e57373">固定结构</font>的<font color="#e57373">单功能流水线</font>灵活,<font color="#e57373">专用性</font>强得多,结构是与采用的<font color="#e57373">并行算法</font>紧密联系在一起的。
SIMD计算机的互联网络
互联网络的设计目标与互连函数
互连网络概念
互连网络是一种由_按照一定的拓扑结构和控制方式构成的,用来实现计算机系统内部的多个_或者是多个_之间的相互连接。
开关元件
处理机
功能部件
<font color="#e57373">SIMD </font>系统<font color="#e57373">互连网络</font>的设计目标
<font color="#ee5576">结构</font>不要过分<font color="#ee5576">复杂</font>,以<font color="#ee5576">降低成本</font>
互连要<font color="#ee5576">灵活</font>,以满足<font color="#ee5576">算法</font>和<font color="#ee5576">应用</font>的需要
<font color="#e57373">处理</font><font color="#ee5576">单元</font><font color="#212930">间</font><font color="#ee5576">信息交换</font>所需的<font color="#ee5576">传送步数</font>要尽可能少,以提高<font color="#ee5576">速度性能</font>
能用<font color="#ee5576">规整单一</font>的<font color="#ee5576">基本构件</font>组合而成,或者<font color="#ee5576">经多次通过</font>或者<font color="#ee5576">经多级连接</font>来实现复杂的互连,使<font color="#ee5576">模块性</font>好,以便于用 <font color="#e57373">VLSI 实现</font>并满足系统的<font color="#ee5576">可扩充性</font>
互连网络应抉择的几个问题
操作方式
同步
异步
同步与异步组合
交换方法
线路交换
适合大批量数据传输
包交换
短数据信息
线路与包交换组合
出端连接模式
静态
动态
基本的单级互连网络
立方体单级网络
函数形式
Cube_i(P_n-1,Pi,P1,P0) = P_n-1PiP1P0
共有多少个函数
n=log2N种互连函数
最大距离为
n
PM2I单级网络
函数形式
共有多少个函数
2n个互联函数
最大距离
N/2向上整取
混洗交换网络
函数形式
Shuffle(Pn-1P1P0) = P1P0Pn-1
最大距离为
2n-1
蝶形单级网络
函数形式
Butterfly(Pn-1Pn-2P1P0) = P0Pn-2P1Pn-1
基本的多级互联网络
控制方式
级控制
单元控制
部分级控制
多级立方体网络
采用交换单元是
二功能交换单元
STARAN采用什么网络
级控制
部分级控制
间接二进制n方体网络用
单元控制
多级混洗交换网络
全排列网络
定义
在<font color="#ee5576">多级互连网络</font>中,能实现<font color="#ee5576">两对</font>或<font color="#ee5576">多对</font>入、出端之间的连接时,都<font color="#ee5576">不会</font>发生<font color="#ee5576">数据传输路径</font>的<font color="#ee5576">冲突</font>,具有这类性质的<font color="#ee5576">互连网络</font>称为<font color="#ee5576">全排列网络</font>。
实现
在多级互连网络的<font color="#ee5576">输出端设置锁存器</font>,使<font color="#ee5576">数据</font>在<font color="#e57373">时间</font>上<font color="#ee5576">顺序通行两次</font>
将<font color="#ee5576">两个</font>多级互连网络,即一个<font color="#ee5576">正网络</font>和一个<font color="#ee5576">逆网络</font>串接起来,<font color="#ee5576">合并</font>掉<font color="#ee5576">中间完全重复</font>的一级,形成<font color="#ee5576">2log_2N-1</font>级的<font color="#ee5576">多级网络</font>。
共享主存构型的阵列处理机中并行存储器的无冲突访问
脉动阵列流水处理机
脉动阵列结构的原理
脉动阵列结构的特点
<font color="#ee5576">结构简单</font>、<font color="#ee5576">规整</font>,<font color="#ee5576">模块化强</font>,<font color="#ee5576">可扩充性</font>好。非常适合<font color="#ee5576">超大规模集成电路</font>实现
<font color="#ee5576">PE </font>间<font color="#ee5576">数据通信距离短</font>、<font color="#e57373">规则</font>,使<font color="#ee5576">数据流</font>和<font color="#ee5576">控制流</font>的设计、<font color="#ee5576">同步控制</font>等均<font color="#ee5576">简单规整</font>。
<font color="#ee5576">脉动阵列</font>中所有<font color="#ee5576"> PE</font> 能<font color="#ee5576">同时运算</font>,具有<font color="#ee5576">极高</font>的<font color="#ee5576">计算并行性</font>,可通过<font color="#ee5576">流水</font>获得很高的<font color="#ee5576">运算效率</font>和<font color="#ee5576">吞吐率</font>。<font color="#ee5576">输入数据</font>能被<font color="#ee5576">多个处理单元</font>重复使用,大大减轻了<font color="#ee5576">阵列</font>与<font color="#ee5576">外界</font>的<font color="#ee5576"> I/O 通信量</font>,降低了对<font color="#ee5576">系统主存</font>和 <font color="#ee5576">I/O 系统</font>频宽的要求。<br>
<font color="#ee5576">脉动阵列结构</font>的<font color="#ee5576">构形</font>与<font color="#ee5576">特定计算任务</font>和<font color="#ee5576">算法</font>密切相关,具有某种<font color="#ee5576">专用性</font>。
第7章 多处理机
多处理机的概念、问题和硬件结构
多处理机的基本概念和要解决的技术问题
多处理机的基本概念和要解决的技术问题
定义
有两台以上的处理机,共享_、机间经_和_,在统一<font color="#e57373">操作系统</font>控制下,<font color="#e57373">协同</font>求解大而复杂问题的计算机系统
I/O系统
共享主存
高速通信网络通信
使用多处理机目的
通过多台<font color="#e57373">处理机</font>对多个<font color="#e57373">任务</font>、<font color="#e57373">作业</font>进行<font color="#e57373">并行执行</font>来提高<font color="#e57373">解题速度</font>,从而提高系统的<font color="#e57373">整体性能</font>
使用<font color="#e57373">冗余</font>的多个<font color="#e57373">处理机</font>通过<font color="#e57373">重新组织</font>来提高系统的<font color="#e57373">可靠性</font>、<font color="#e57373">适应性</font>和<font color="#e57373">可用性</font>
应用的<font color="#e57373">目的</font>和<font color="#e57373">结构</font>不同,因此,多处理机可以有<font color="#e57373">同构型</font>、<font color="#e57373">异构型</font>、<font color="#e57373">分布型</font>
多处理机和阵列机区别
阵列处理机是<font color="#e57373">单指令流</font>,多处理机是<font color="#e57373">多指令流</font>。
阵列处理机主要针对<font color="#e57373">向量、数组</font>处理,实现<font color="#e57373">向量指令操作级</font>的并行,是开发并行性的<font color="#e57373">同时性</font>;<br>多处理机实现的则是更高一级的<font color="#e57373">作业或任务间</font>的并行,是开发并行性中的<font color="#e57373">并发性</font>。
硬件结构上,多处理机要用<font color="#e57373">多个指令部件</font>分别控制,通过<font color="#e57373">共享主存</font>或<font color="#e57373">机间互联网络</font>实现<font color="#e57373">异步通信</font>
算法上,<font color="#e57373">不限</font>于<font color="#e57373">向量</font>、<font color="#e57373">数组</font>,还要挖掘和实现更多<font color="#e57373">通用算法</font>中<font color="#e57373">隐含</font>的<font color="#e57373">并行性</font>
系统管理上,更多地依靠<font color="#e57373">操作系统</font>等<font color="#e57373">软件手段</font>,有效地解决<font color="#e57373">资源分析</font>和<font color="#e57373">管理</font>,特别是<font color="#e57373">任务分配</font>,<font color="#e57373">处理机调度</font>,<font color="#e57373">进程的同步</font>和<font color="#e57373">通信</font>等问题
多处理机的硬件结构
紧耦合和松耦合
紧耦合
定义
处理机之间通过互连网络_的是紧耦合多处理机
共享主存
构型
同构对称性,常用于多处理机并行任务
异构非对称型
两种构型的差异是
自带专用cache
松耦合
各处理机间通过共享I/O子系统、通道或通信线路实现机器间通信,不共享主存的是松耦合多处理机
构型
层次型
非层次型
多处理机机间互连的形式
总线形式
环形互连形式
交叉开关形式
多端口存储器形式
开关枢纽结构形式
蠕虫穿洞寻径网络
存储器的组织
多处理器的主存一般采用多个模块构成的
并行存储器
地址交叉编制方式有
低位交叉
高位交叉
紧耦合多处理机多cache的一致性问题
多cache的一致性问题的解决办法
解决进程迁移引起的多cache不一致性
<font color="#e57373">禁止进程迁移</font>的办法予以解决
在<font color="#e57373">进程挂起</font>时,靠<font color="#e57373">硬件方法</font>将cache中该进程改写过的信息块<font color="#e57373">强制写回主存</font>相应位置的办法来解决
多处理机的并行性和性能
并行算法
并行算法的定义和分类
定义
可同时执行的多个进程的集合,各进程可_,_与_操作。
相互作用
协调
并发
分类
按运算基本对象
数值型
非数值型
并行进程间操作顺序
同步性
异步性
独立性
计算任务大小
细粒度
中粒度
粗粒度
多处理机并行算法的研究思路
霍纳法
加速比
<span class="equation-text" contenteditable="false" data-index="0" data-equation="sp = \frac{T_{1}}{T_{p}}"><span></span><span></span></span>
设备利用率
<span class="equation-text" contenteditable="false" data-index="0" data-equation="\frac{sp}{p}"><span></span><span></span></span>
程序并行性的分析
数据相关
如果Pi的左边变量在Pj的右部变量集内,且Pj必须去Pi的运算结果来作为操作数,就称Pj数据相关于Pi,相当于流水中的<font color="#e57373">先写后读</font>
并行
不能并行
交换串行
服从交换律时可以,其余情况不行
数据反相关
如果Pj的左边变量在Pi的右部变量集内,且当Pi未取用其变量值之前,是不允许被Pj所改变的,就称Pi数据反相关与Pj,相当于流水中的<font color="#e57373">先读后写</font>
并行
保证可以Pi先读出可以并行
交换串行
不能交换串行
数据输出相关
如果Pi的左部变量也是Pj的左部变量,且Pj存入其算的的值必须在Pi存入之后,则称Pj数据输出相关与Pi,也称为<font color="#e57373">写写相关</font>
并行
保证Pi先写入Pj再写入可以
交换串行
不能交换串行
无相关
没有任何相关或有仅有源数据相同时,可以并行,可以交换串行
并行语言与并行编译
多处理机性能
任务粒度的大小对多处理机性能和效率的影响
任务粒度的大小会显著影响多处理机的<font color="#e57373">性能</font>和<font color="#e57373">效率</font>。任务粒度过小,<font color="#e57373">辅助开销大</font>,<font color="#e57373">系统效率低</font>;
任务粒度过大,<font color="#e57373">并行度低</font>,<font color="#e57373">性能</font>不会很高。
<font color="#e57373">合理选择</font>任务粒度大小,并使其<font color="#e57373">尽可能均匀</font>,还要采取措施<font color="#e57373">减少辅助开销</font>,以保证<font color="#e57373">系统性能</font>随<font color="#e57373">处理机数目的增大</font>能有较大的提高。
多处理机的操作系统
主从型
优点
主从型<font color="#e57373">操作系统的结构</font>比较<font color="#e57373">简单;</font><br>
整个<font color="#e57373">管理程序</font>只在<font color="#e57373">一个处理机上运行</font>,除非某些需<font color="#e57373">递归调用</font>或<font color="#e57373">多重调用</font>的<font color="#e57373">公用程序</font>,一般都不必是<font color="#e57373">可再入</font>的
只有一个<font color="#e57373">处理机访问执行表</font>,不存在<font color="#e57373">系统管理控制表格</font>的访问冲突和阻塞,简化了<font color="#e57373">管理控制</font>的实现。
缺点
对主处理机的<font color="#e57373">可靠性要求</font>很高,一旦发生故障,很容易使<font color="#e57373">整个系统瘫痪</font>
如果<font color="#e57373">主处理机</font>不是设计成<font color="#e57373">专用</font>的,操作员可用其他处理机作为新的处理机来<font color="#e57373">重新启动系统</font>
整个系统<font color="#e57373">不够灵活</font>,<font color="#e57373">同时</font>要求主处理机必须能<font color="#e57373">快速执行</font>其他<font color="#e57373">管理功能</font>,<font color="#e57373">提前等待请求</font>,以便及时为从处理机<font color="#e57373">分配任务</font>,否则将使从处理机<font color="#e57373">因长时间空闲</font>而显著<font color="#e57373">降低系统效率</font>
如果<font color="#e57373">负荷过重</font>,也会影响整个系统
适用
适合于工作负荷固定,从处理机能力明显低于主处理机,或由功能差别很大的处理机组成的异构型多处理机。
各自独立型
优点
缺点
适用
松耦合多处理机系统
浮动型
优点
缺点
适用
紧耦合多处理机,特别是公共主存和I/O子系统的多个相同处理机组成的同构型多处理机。
多处理机发展
机群系统
群系统与传统的并行处理系统相比较所具有的优点
系统有高的<font color="#e57373">性能价格比</font>。
系统的<font color="#e57373">开发周期短</font>。
系统的<font color="#e57373">可扩展性好</font>。
系统的<font color="#e57373">资源利用率高</font>。
用户<font color="#e57373">投资风险小</font>。
用户<font color="#e57373">编程方便</font>。
第8章 数据流计算机和归约机
数据流计算机
数据驱动的概念
传统诺依曼型计算机采用_驱动方式,_地执行指令
控制
顺序
数据流是基于_和_的一种计算模型
异步性
函数性
数据流计算机的结构
对数据令牌处理的方式不同,可以把数据流计算机的结构分成
静态
动态
数据流计算机存在的问题
如果题目<font color="#e57373">数据相关性很强</font>,<font color="#e57373">并行成分不多</font>,会使其效率比传统的<font color="#e57373">诺依曼型机低</font>
给数据<font color="#e57373">建立</font>、<font color="#e57373">识别</font>、<font color="#e57373">处理标记</font>,需要花费多的<font color="#e57373">辅助开销</font>和<font color="#e57373">较大的存储空间</font>
数据流计算机<font color="#e57373">不保存数组</font>
<font color="#e57373">变量代表数值</font>,程序员<font color="#e57373">无法控制存储分配</font>
互连网络<font color="#e57373">设计困难</font>,I/O系统<font color="#e57373">不够完善</font>
没有程序计数器,<font color="#e57373">诊断</font>和<font color="#e57373">维护困难</font>
归约机
归约机的特点
归约机应当是<font color="#e57373">面向函数式语言</font>,或以<font color="#e57373">函数式语言</font>为<font color="#e57373">机器语言</font>的非诺依曼型机器
具有<font color="#e57373">大容量物理存储器</font>并采用<font color="#e57373">大虚存容量</font>的<font color="#e57373">虚拟存储器</font>,具备高效的<font color="#e57373">动态存储</font>分配和管理的<font color="#e57373">软、硬件支持</font>
<font color="#e57373">处理部分</font>应当是一种有<font color="#e57373">多个处理器</font>或<font color="#e57373">多个处理机</font>并行的结构形式
采用适合于<font color="#e57373">函数式程序运行</font>的<font color="#e57373">多处理器(机)互连</font>的结构
为减少<font color="#e57373">进程调度</font>及<font color="#e57373">进程空间</font>的<font color="#e57373">通信开销</font>,尽量把运行<font color="#e57373">进程</font>的<font color="#e57373">结点机</font>紧靠该进程所需用的<font color="#e57373">数据安排</font>,让各处理机的<font color="#e57373">负荷平衡</font>
填空题和选择题一些补充
XX对XX程序员透明
应用程序员
程序状态字
系统程序员
cache存储器<br>
数据通路宽度<br>
指令缓冲存储器
0 条评论
下一页