02325 计算机系统结构
| 题型 | 分值占比 |
|---|---|
| 单项选择题 | 10*1=10 |
| 填空题 | 10*2=20 |
| 简答题 | 6*5=30 |
| 简单应用题 | 2*10=20 |
| 综合应用题 | 2*10=20 |
| 缩写 | 含义 | 全名 |
|---|---|---|
| SIMD | 单指令流多数据流是一种采用一个控制器来控制多个处理器 | Single Instruction Multiple Data |
| ILLIAC IV | 早期超级计算机和并行处理架构的先驱之一,采用SIMD架构 | 源于 Illinois Automatic Computer |
| CRAY-1 | 现代超级计算机的奠基之作 | |
| BSP | 一种经典的并行计算模型 | Bulk Synchronous Parallel |
| PPU | 通过专用处理器处理 I/O 和系统服务,将主 CPU 从琐碎任务中解放出来 | Peripheral Processing Unit |
概论
选择 & 填空
- 机器被定义为存储和执行相应语言程序的算法和数据结构的集合体
- 只有二进制机器指令,方可直接被硬件识别和执行
- 计算机结构确定计算机系统中各级界面,界面之上是软件的功能,界面之下是硬件与固件实现功能
- 从使用语言的角度,一台由软硬件组成的通用计算机系统可以被看成是按功能划分的多层机器级组成的层次结构
- 计算机组成是物理机器级内客观事件的排序方式与控制机构,各部件的功能以及各部件之间的联系
- 计算机组成指的是计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流 的组成以及逻辑设计等。计算机实现的是计算机组成的物理实现。包括等处理机、主存部件的物理结构
- 计算机实现的设计着眼于器件技术和微组装技术。其中器件技术起主导作用
- 计算机系统设计的主要任务包括系统结构、组成和实现的设计
- 软件功能可以用硬件或固件完成,硬件的功能也可以用软件模拟完成,只是它们在性能、价格、实现的难易程度上是不同的
- 计算机系统的定量设计原理包括:哈夫曼压缩原理、Amdahl 定律、程序访问的局部性定律
- 哈夫曼压缩原理是尽可能加速处理高概率的事件远比处理概率很低的事件,对性能的提高要显著
- Amdahl定律,改进效果好的高性能系统应是一个各部分性能均能平衡得到提高的系统,不能只是其中某个功能部件性能的提高
- 程序访问的局部性包括了时间上和空间上的两个局部性
- 应用软件对功能的确定起主要作用
- 计算机系统的设计方法包括了由上往下、由下往上、由中间开始。较好方法是由中间开始
- 从中间开始设计是选择从层次结构的主要软、硬界面开始设计,即在传统机器语言机器级与操作系统机器级之间进行合理的软硬件功能分配
- 实现软件移植的技术包括统一高级语言、采用系列机、仿真和仿真
- 实现软件移植技术,系列机软件必须保证向后兼容,力争向前兼容
- 仿真是用机器语言程序解释,其解释程序存储于主存中(虚拟机)。仿真是用微程序 解释,其解释程序存储与控制存储器中(微程序)
- 以软件为主实现的机器称为虚拟机
- 应用仿真(模拟)实现软件移植,除了仿真(仿真)目标机的指令系统外,还要仿真(模拟)其存储体系、I/O 系统和控制面板的操作
- 计算机应用可归纳为向上升级的4类,它们是数据处理、信息处理、知识处理、智能处理
- 器件的功能和使用方法发生了很大变化,由早先使用非用户片、发展到现场片和用户片,它影响着结构和组成技术的发展
- 非用户片是不能改变器件内部功能,现场片_是用户可根据需要可改变器件内部功能。用户片是专门按用户要求生产的高集成度的VLSI器件。完全按用户要求设计的用户片也称为全用户片。
- 并行性包含同时性和并发性二重含意
- 并行性开发由低至高(执行程序)
- 指令内部->指令之间->任务进程之间->操作系统程序之间
- 并行性从处理数据由低至高
- 位串字符串->位并字符串->位片串字并->全并行
- 并行性等级由低至高
- 存储器操作并行->处理器操作步骤->处理器操作并行->指令、任务、作业并行
- 各种脱机处理系统是最低耦合系统。多台计算机通过通道和通信线路实现,为松散耦合系统或间接耦合系统 。多台计算机经总线或高速开关互连,共享主存,称为紧耦合系统或直接耦合系统
- Flynn(弗林)分类,SISD,SIMD,MISD,MIMD。I是指令流,D是数据流
- 并行性开发途径,时间重迭,空间重迭,资源重复(资源共享)
简答 & 概述
计算机系统的层次结构
- 应用语言机器级->(翻译)
- 高级语言->(翻译)
- 汇编语言机器级->(翻译)
- 操作系统机器级->(解释)
- 传统机器语言机器级->(解释)
- 微程序机器级(执行)
简述软件移植中统一高级语言概念及困难点
- 由于高级语言面向题目和算法,与机器的具体结构关系不大,如果能统一一种可满足各种应用需要的通用高级语言,这种高级语言编写的应用软件就可以移植于不同的机器。 目前高级语言有上百种,并没有真正通用的语言,有以下几方面原因
- 不同用途要求语言的语法、语义结构不同
- 人们对语言的基本结构看法不一
- 即使用一种高级语言在不同厂家的机器也不能完全通用
- 受习惯势力阻挠,人们不愿意抛弃惯用的语言
- 统一高级语言有助于节约软件研制的人力、物力和费用,加快人员的培养都有重要的意义。如 ADA,JAVA,C,C++等语言出现都是朝此方向发展的重要进展
系统结构设计时实现这种指令系统,以足其应用需求
- 要弄清其应用领域是专用的还是通用的
- 要弄清软件兼容是放在级层次
- 要弄清对操作系统有何种要求
- 要如何保证有高的标准化程度
计算机组成设计要确定的方面,一般应包括
- 数据通路宽度->系统程序员透明
- 专用部件的设置
- 各种操作对部件共享程度
- 功能部件的并行度
- 控制机构的组成方式
- 缓冲和排队技术
- 预估、预判技术
- 可靠性技术
计算机系统结构的属性包括
- 硬件能直接识别和处理的数据类型及格式等的数据表示
- 最小可寻址单位,寻址种类、地址计等的寻址方式
- 通用/专用寄存器的设置、数量、字长、使用约定等的寄器组织
- 二进制或汇编指令的操作类型、格式、排序方式、控制机等的指令系统
- 主存的最小址单位、编址方式、容量、最大可编址空间等的存储系统组织
- 中断分类与分级、中断处理程序功能及入口地址等的中断机构
- 系统机器级的管态和用户态的定义与切换
- 输入/输出设备的连接、使用方式、流量、操作结束、出错指示等的机器级I/O 结构
- 系统各部分的信息保护方式和保护机构等属性
简述软件移植中采用系列机途径的办法及优点
- 方法:在软、硬界面上设定好一种系统结构,软件设计者按照此设计软件、硬件设计者根据机器速度、性能、价格的不同,选择不同器件、硬件和组成、实现技术、研制并提供不同档次的机器
- 优点:较好地解决了软件环境要求相对稳定和硬件、器件技术迅速发展的矛盾,软件环境要求相对稳定就可不断积累、丰富、完善软件,使软件产量、质量不断提高,同时又能不断采用新的器件和硬件技术,使之短期内即可提供新的、性能不断提高机器
系列机软件兼容的要求
- 机器语言程序及编译程序都不加修改通用于系列内各文件机,则称各档机器是软件兼容
- 软件兼容包括向上(下)兼容和向前(后)兼容
- 同一系列内的机器应做到上兼容
- 系列机软件必须保证向后兼容,力争向前兼容
简述系列机思想对计算机发展的意义和系列机软兼容的要求//简述系列机思想对计算机发展的意义
- 系列机可以较快地解决软件设计环境要求相对稳定和硬件、器件、组成等技术在迅速发展的矛盾
- 软件可以丰富积累,使软件产量,质量不断提升
- 器件、硬件和组成又能不断更新,短期内就能提供出性能良好,价格更便宜的新机器,有力地促进计算机的发展
- 系列机软件兼容基本要求是必须保证实现软件的向后兼容,力争做到向上兼容
简述模拟和仿真差别
- 模拟和仿真的主要区别于解释用的语言
- 仿真是用微程序解释,其释程序存储于控制存储器中
- 仿真是用机器语言解释,其解释程序存储于主存中
简述模拟和仿真的选择
- 频繁使用的易于仿真机器指令宜用仿真,可以提高速度
- 很少使用,难以仿真的指令及I/0操作宜用模拟
- 即使两种机器系统差别不大,往往要需用模拟来完成机器的映像
综合简述目前软件移植方法及特性
- 统一高级语言可以解决结构相同或完全不同的机器间的软件移植,从长远看的是方向,但目前难以解决,只能做到相对统一
- 系列机是当前最普遍采用办法,但只能实现同一系统间内的软件兼容,但兼容的约束会阻碍系统结构取得突破性进展
- 仿真灵活,可实现不同系统间的软件移,但结构差异太大时,效率、速度会急剧下降
- 仿真在速度上损失小,但不灵活,只能在差别不大的系统之间使用,否则效率也会过低且难以仿真,需与模拟结合才行
简述应用的发展对系统结构的影响
- 不同的应用对计算机系统结构的设计提出了不同的要求
- 应用需求是促使计算机系统结构发展的最根本的动力
- 一些特殊领域:需要高性能的系统结构
器件的发展改变逻辑设计
以前用的是硬件逻辑设计主要,将逻辑化简,减少门的个数等,以节省功耗、降低成本、提高速度。但对于VLSI(超大规模集成电路) 来说,这样做反而使设计周期延长组成实现不规整,故障诊断困难,机器产量低。应改用为主要的是应用诸如微汇编、微高级语言,计算机辅助设计等软件方法来设计
器件的发展对系统结构的影响 (二功能二材料一技术)
- 器件集成度的提高,使器件的速度迅速提高,机器主频和速度也有数量级的提高。(功能)
- 器件可靠性有数量级的提高,保证流水技术的实现。(功能)
- 高速、廉价的半导体存储器的出现,使解题速度得以迅速提高的高速缓冲存储器和虚拟存储器的概念真正实现。 (材料)
- 现场型PROM器,使微程序技术得以实现。(材料)
- 高速相联存储器的实现,促进相联处理机这种结构的发展,推动向量机、数组机、数据库机的发展。 (技术)
简述提高计算机器系统并行性技术的三个途径
- 时间重迭是在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部分以加快硬件的周转来赢得速度
- 空间重迭是在并行性概念中引入空间因素,通过重复设置硬件资源来提高可靠性或性能
- 资源共享是用软件方法,让多个用户按一定的时间顺序轮流使用同一套资源来提高资源利用率从而提高系统性能
简述软、硬件功能分配比例对计算机系统性能的影响/简述计算机功能分别用硬件实现和软件实现的优点和缺点
- 提高硬件功能的比例可提高解题速度,减少程序所需的存储空间,但会增加硬件成本、降低硬件的利用率,降低计算机系统的灵活性和适应性
- 提高软件功能的比例可降低硬件成本,提高系统的灵活性、适应性,但解题速度会下降,软件设计费用和所需的存储器用量增加
简述软硬件取舍原则
- 应考虑在现有硬件、器件的条件下,系统要有高的性能价格比主要从实现费用、速度和其它性能要求来综合考虑
- 要考虑到准备采用和可能采用的组成技术,使之尽可能不要过多或不合理地限制各种组成、实现技术的采用
- 不能从"硬"的角度考虑如何应用组成技术的成果和便于发挥器件技术的进展,还要从"软" 的角度把如何为编译和操作系统的实现以及为高级语言的设计提供更多、更好的硬件支持放在首位
- 寻址方式可分:面向寄存器、面向堆栈、面向主存(IO)
数据表示、寻址方式与指令系统
选择 & 填空
- 计算机的运算类指令和运算器结构主要是按计算机有什么样的数据表示来确定的
- 数据表示指的是能由计算机硬件直接识别和引用的数据类型。表现在它有对这种类型的数据进行操作指令和运算部件
- 高级数据表示包括:自定义数据表示(标志符,描述符)、向量、数组、堆栈
- 寻址在指令中一般有两种不同的指明方式,一种方式是占用操作码中某些位来指明。 另一种方式是在地址码部分专门设置寻址方式位字段指明。相对,第二种较灵活、操作码短,但需要专门寻址方式位字段
- 程员编程用的地址逻辑地址,程序在主存中实际地址是物理地址
- 指令系统的设计包括指令的功能和指令的格式的设计,指令是由操作码和地址码两部分组成
- 程序在定位主存中的技术包括,静态再定位、动态再定位 和虚实地址映象表,其中动态再定位包括基址寻址和变址寻址 。基址寻址是逻辑地址空间到物理址空间变换的支持。变址寻址是对诸如向量、数组等数据块运算的支持,以使于实现程序循环
- 静态再定位就是在目的程序装入主存时,由装入程序用软件方法把目的程序的逻辑地址变换成物理地址,执行程时,物理地址不再改变。
- 信息在存储器中按整数边界存储对保证访问速度是必要的。但会造成存储空间的某些浪费
- 存储器三大指针:容量、速度、价格
- 存储器分别有单体单字,单体多字,多体单字,多体多字,交叉存储器的并行计算机
- 输入/输出系统的3种控制方式为过程控制 I/O、直接存诸器访问(DMA)、I/O 处理机方式
- 浮点数下溢处理精度损失对系统程序和应用程序设计者都是透明的
- 浮点数表示当阶值位数一定时,不会受到尾数进制影响的是数符
- 尾数采用甚么进制会影响到数的可表示范围、精度及数在数轴上分布的离散程度
- 正尾数小数点后第1个Rm进制数位不为0的数称为规格化正尾数
- 可表示的浮点数规格化数的总个数应当是可表示尾数的个数与可表示阶的个数的乘积
- 指令系统的改进是以不删改原有指令系统前提的,通过增加少量强功能新指令代替常用指令串
- 指令系统设计和优化工具包括哈夫曼码,优化的扩展操作码
- 指令类型一般分非特权型和特权型
- 非特权给应用程序员
- 特权给系统程序员使用
- 按静态使用频度改进指令系统着眼减少目标程序所占用的存储空间
- 按动态使用频度改进指令系统着眼减少目标程序的运行时间
- 在机器指令系统的设计、发展和改进上,有CISC和RISC两种
- CISC面向优化包括,面向目标程序,面向高级语言、面向操作系统
- 发展高级语言机困难点是主因为目前高级语言种类多
简答 & 概述
简述引入数据表示的原则
- 看系统的效率是否有显著提高,包括实现时间和存储空间是否有显著减少,实现时间是否减少又主要看主存和处理机之间传递的信息量是不减少
- 看引入这种数据表示后,其通用性和利用率是否提高。如果只对某种数据结构的实现效率高,而对其他数据结构的实现效率低,或应用较少将导致性价比下降
简述标志符和描述符的差别
- 标志符是和个数据相连的,合存在一个存储单元中,描述单个数据的类型特征
- 数据描述符则是与数据分开存放,用于描述所要访问的数据是整块的还是单个的,访问数据块或数据元素所要的地址以及其他信息
简述标志符数据表示的主要优点缺点
- 优点
- 简化指令系统、程序设计和编译程序
- 便于实现一致性校验
- 能由硬件自动变换数据类型
- 支持数据库系统的实现与数据类型无关的要求
- 为软件调试程应用软件开发提供了支持
- 缺点
- 每个数据字因增设标志符,会增加程序占的主存空间
- 采用标志符会降低执行速度
7.简述指令字格式优化措施(*背)
- 采用扩展操作码,并根据指令的频度pi的分布状况选择合适的编码方式,以缩短操作码的平均长度
- 采用多种寻址方式,以缩短地址码的长度,并在有效的地址长度内提供更多的地址信息。
- 采用 0,1,2,3 等多种地址制, 以增强指令的功能
- 在同种地址制内再采用多种地址形式,让每种地址字段可以有多种长度,且让长操作码与短操作码进行组配。
- 在维持指令字在存储器中按整数边界存储的前提下,使用多种不同的指令字长度。
简述堆栈计算机的概念及其特点
- 有堆栈数据表示的机器称为堆栈机器
- 有高速寄存器组成的硬件堆栈,使堆栈的访问速度是寄存器,容量是主存的
- 有力地支持高级语言程序的编译
- 有力地支持子程序的嵌套和递归调用。
编译程序设计者要求指令系统应设计的具有基本原则
- 规整性
- 对称性
- 独立性和全能性
- 正交性
- 可组合性
- 可扩充性
简述CISC存在问题
- 指令系统庞大,一般在 200 条以上
- 由于许多指令的操作繁杂,执行速度低
- 由于指令系统庞大,使高级语言编译程序选择目标指令的范围太大,难以优化生成高效机器语言程序,编译程序也太长、太复杂
- 由于指令系统庞大,各种指令的使用频度不太高,且差别很大,其中相当一部分指令的利用率低,增加机器设计人员的负担,降低系统性能价格比
简述面向目标程序的优化实现改进 CISC 指令系统的途径
- 通过对大量已有机器的机器语言程序及其执行情况,统计各种指令和指令串使用频度来加以分析和改进(统计)
- 增设强功能复合指令来取代原先由常用宏指令或子程序实现的功能,由微程序解释实现,不仅大大提高了指令周期, 减少了程序调用的额外开销,也减少了子程序所占的主存空间(增加复合指令)
38.简述面向高级语言的优化实现改进CISC指令系统的途径
- 通过对程序应当中各种高级语言语句的使用频度进行统计来分析改进(统计)
- 应当增强系统结构的规整性,尽量减少例外或特殊的情况和用法(规整)
- 改进指令系统,使它与各种语言的语义差距都有同等的缩小(缩短差距)
- 由"以指令系统为主,高级语言从"的方式演变成"以高级语言为主,指令系统为从"的方式(主从替换)
- 发展高级语言计算机(发展)
简述RISC设计基本原则
- 确定指令系统时,只选择使用频度高的指令,再增加少量能有效支持操作系统、高级语言实现及其它功能的指令
- 减少指令系统所用寻址方式种类
- 指令都是一个机器周期内完成
- 扩大通用寄存器数,尽量减少访存
- 大多数指令都用硬联控制实现,少数指令用微程序实现
- 通过精简指令和优化设计编译程序,简单、有效地支持高级语言
设计RISC结构采用的基本技术
- 按设计 RISC 的一般原则来设计
- 逻辑实现采用硬联和微程序相结合
- 在CPU中设置大量工作寄存器并采用重迭寄存器窗口
- 指令用流水和延迟转移
- 采用高速缓冲存器Cache
- 优化编译系统
存储、中断、总线与I/0系统
选择 & 填空
- 最大带宽B、分体宽度W、存储周期T_m的关系公式
- 存储器的最大带宽是指存储器连续访问时的带宽
- 每个存储周期平均能访问的字节数
- 为了弥补CPU 与存储器在速度上的差距,一条途径是在组成上引入并行和重迭技术构成并行主存系统
- 在计算器中,中断可分为内部中断、外部中断、软件中断
- 中断响应的次序用排队器硬件实现
- 中断系统的软、硬件功能的实质是中断处理程序软件和中断响应硬件的功能分配
- 中断系统的性能主要是有高的中断响应速度和中断处理的灵活性
- 总线线数可通过采用线的功能组合、编码和并/串-串/并转换来减少
- 总线它定义了引线的信号、电气和机械特性
- 按信息传送功能、性能的,总线分别有数据线、地址线、命令、时序和中断信等控制/状态线,电线线,地线及备用线等
- 总线按层次位置可份为3种,分别芯片级、板级、系统级
- 芯片级,CPU芯片内的总线
- 板级,连接插件板内的各个组件、也称局部总线或内部总线
- 系统级,系统间或主机与I/0接口或设备之间的总线
- 总线传送方式可以分为同步总线和异步总线
- 总线按方向可以有单向传输和双向传输
- 双向传输又有半双向和全双向
- 按用法可以分为专用和非专用
- 集中式总线控制方式包括串行链接、定时查询、独立请求
- 总线的通信方为同步和异步两种。异步中,通过程只由源或目的部件之一控制的称为单向源控式或单向目控式 ,而由源和目的共同控制的称为请求/回答双向控制
- 数据寬度有单字、定长块、可变长块和单字加可变长块等之分
- 单字宽度适合于输入机、打印机等低速设备
- 定长块宽度适合于磁盘等高速设备
- 可变块宽度适合于高优先级的中高速磁带、磁盘等设备
- 输入/输出系统的发展经历了 3 个阶段,即过程控制I/O、直接存储器访问DMA及I/O处理机方式
- I/O 处理机方式又有信道方式和外围处理机方式PPU 之分。信道指令功能简单,信道程序存在主存中,信道内容只有小容量存储器用缓冲数据,因此,并不是独立处理机。外围处理机则是一种独立性、通用性和功能都较强的处理机。
- 根据信道数据传送期中信息传送方式的不同,可分为字节多路、数组多路和选择3类通道
- 字节多路通道适用于连接大量的像光电机等字符类低速设备
- 数据多路信道适合于连接多台磁盘等高速设备
- 选择通道适合于连接优先级高的磁盘等高速设备。数据宽度为可变度块
- Ts 设备选择时间、To传送一个字节所用的时间、n 每台设备传送的字节数、K数组多路信道传输的一个数据块中包含的字节数。通道最大流量的公式为
- 字节多路通道
- 数据多路信道
- 选择通道
简答 & 概述
简述中断概念
CPU中止正在执行的程序,转去处理随机提出的请求,待处理完后,再回到向原先被被中断的程序继续恢复执行的过程称为中断
简述中断系统和特性
响应和处理各种中断的软、硬件总体称为中断系统
中断系统是整个计算机系统不可缺少的重要组成部分。它对程序的监视和跟踪、人机联系、故障处理、多道程序和分时处理、实时处理、目态程序和操作系统的联系、I/O处理以及多处理机系统中各机的联系等都起着重要的作用
简述中断分类的根据和分类的目的
- 分类根据:把中断源性质相近、中断处理过程类似的归一类
- 分类目的:减少中断处理程序的入口,每一类给个中断服务程序总入口,再由软件分支转入相应的中断处理部分,可以减少中断服务程序入口地址形成的硬件数量
简述中断系统的主要功能和要求
- 中断系统的主要功能包括中断请求的保护和清除、优先级的确定、中断断点及现场的保护,对中断请求的分析和处理,以及中断返回
- 中断系统的要求:高的中断响应速度,中断处理的灵活性
简述中断系统的优先级的原因和分级的方法
- 中断分成优先级原因:各中断源是相互独立且随机发出中断请求,当多个中断源同时发出中断请求,CPU只能先响应和处理其中优先级相对的中请求,因此需要对中断源的响应和处理安排一个优先级
- 分类的方法中断分成类后,同一类内部各中断请求的优先次序一般软件或通道来管理,主要是对于不同类的中断的性质、紧迫性、重要性及软件处理的方便性分若干优先级,以便CPU可以有序地对这些中断请求进行响应
简述专用线优缺点
- 优点
- 多个部件可以同时收/发,不争用总线,系统流量高
- 通时不用指明源和目的,控制简单
- 任何总线的失效只会使连于该总线的两个部件不能直接通信,但它仍可通过其他部件间接通信,因而系统可靠
- 缺点:总线数多
简述非专用线优缺点
- 优点
- 总线数少、造价低
- 总线接口标准化、模块性强
- 可扩充能力强,部件的增加不会使电缆、接口和驱动电路激增
- 易用多重总线来提高总线的带宽和可靠性,使故障弱化
- 缺点
- 系统流量小,经常会出现争用总线的情况,使未获得总线使用权的部件不得不等待而降低效率
- 共享总线失效会导致系统瘫痪
简述字节多路信道数据传送方式
字节多路通道每选择好一台设备后,设备与通道只传送一个字节就释放总线,信道以字节交叉的方式轮流为多台低速设备服务。某台设备要想传送n个字节,就需经n次申请使用通道总线才行
数据多路信道的数据传送方式
数组多路通道在每选择好一台设备后,要连续传送完固定K个字节的成组数据后,才能释放总线,通道再去选择下一台设备,再传送该设备的K个字节,如此,以成组方式轮流交叉地为多台高速设备服务。某台设备要想传送N个字节,就需要先后经过「N/K-次申请使用通道总线才行
简述选择信道数据传送方式
选择通道每选择一台设备,就让该设备独占通道,将n个字节全部传送完后,才释放通道总线,去选择下一台设备,再传送它的全部字节数据,因此,每设备为传送n个字节数据只需一次申请使用通道总线
简述信道功能
- 接收 CPU 发来的 I/O 指令、并根据指令要求选择指定的外设与通道相连接
- 执行信道程序
- 给出外部设备中要进行读/写操作的数据所在的地址
- 给出主缓冲区的首地址
- 控制外设的主存缓冲区之间的数据传送的长度对传送数据个数进行计数,判断传送完毕
- 指定传送工作结束时要进行的操作
- 检查外部设备的工作状态是否正常
- 在数据传输过程中完成必要的格式变换
计算
No.1
设主存采用模m多分体交叉存取,每个分体的存取周期为,要求主存实际频宽为 8MB/s,但实际频宽只能达到最大频宽的 0.6 倍。
- 若分体宽度W=4字节, 则主存模数应取多少才能满足要求?(m取 2的幂)
- ,则
- 若主存模数为8,则分体宽度应为多少才能满足要求?
- ,则
NO.2
程序放在模32单字交叉存储器中,设访存申请队的转移概率,求每个存储周期能访问到的平均字数。当模为16呢?由此可得到甚么结论?
- 时,
- 时,
- 由此可见,两种情况非常接近。即此时提高模数㎡对提高主存实际带宽的作用已不显著。实际上,模㎡ 的进一步增大,会因工程实现上的问题,导玫实际性能可能会比模16 还低,且价格高。所以,模m不宜太大
NO.3
设有8台外设,各设备要求传送信速率分别如表,现设计的信道在数据传送期,每选择一次设备需要2us,每传送一个字节数据需要3us
| 设备标识 | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 工作速率(KB/s) | 360 | 180 | 100 | 60 | 50 | 20 | 10 | 9 |
- 若字节多路信道,信道工作的最高流量是多少?
- 字节多路通道
- 作字节多路通道用时,希望同时不少于4台设备挂在此通道上,最好多挂一些且高速设备尽量一些,请问应选哪些设备挂在此通道?为什么?
- 挂 C, D, F, G, H, 因为
- 若用作数组通道用时,选哪些设备挂在此通道上?为什么?设定长块大小取 256B
- 若用作数组多路通道用时,选哪些设备挂在此通道上?为什么?
- 可挂 B,C,D,E,F,G,H,但 A 不可以挂,因为 A 的流量超过通道的最高流量
存储体系
选择 & 填空
- 虚拟存储器解决主存无法满足要求的性能指针是容量,Cache解决是速度
- Cache 存储器就是在 CPU 和主存之间增设高速、小容量、每位价格高的 Cache、用辅助硬件将 Cache 和主存构成整体
- Cache 存储器对应用程序员和系统程序员是透明
- 为了存储系统有效工作,CPU要用到某个地址的内容时,希望放在最近以及最快的地方,因此要求具有预知未来被访问的地址。这种预知未来是基于计算器程序具有 局部性,包括时间上的局部性和空间上的局部性。
- CPU 访问 M1(最近及最快的位置)的命中概率,命中率H 与程序的地址流、所采用的地址预判算法及容量都有很大关系。H越接近1越好
- 根据存储映像算法的不同,可有多种不同的存储管理方式的虚拟存储器,其中主要有段式、页式和段页式3种
- 一个复杂的大程序可以分解成多个逻辑上相对独立的模块,这些模块可以是主程序、子程序、过程也可以是数据块
- 将程序分割成若干段或页,用相应的映像表指明该程序的某段或某页是否已装入主存
- 程序状态字对应用程序员是透明,对系统程序员是不透明
- 虚拟存储器的页式管理是把主存空间和程序空间机械等分成固定大小的页,按页顺序编号。并不对系统程序员透明
- 虚拟存储器的段页式存储是把主存机械地等分成固定大小的页。程序按模块分段,每个段又分成与主存页面大小相同的页
- 虚拟存储器,每访问一次主存都要进行程序地址向主存地址的转换。段页式在地址变换过至少需要查表两次, 即查段表和页表。因此,要想使虚拟存储器的速度接近于主存,必须在结构上采取措施,以加快地址转换中查表的速度
- 页式虚拟存储器是采用页式存储和管理的主存-辅存存储层次。主存中的每一个页面位置应可对应多个虚页,能对应多个虚页与采用的 映像方式有关。映像分别有全相联映像、相联目录表法
- 相联目录表法,简称目录表法。把页表压缩户只存放已装入主存的那些虚页(b)与实页() 位置的对应关系,该表最多为行。按内容访问相联的不同于按地址方问的随机存储器。目录表法不用设置装入位
- 替换算法的确定要看主存是否有高的命中率,也要看算法是否便于实现,辅助软、硬件成本是否低 页面替换算法包括随机算法,先进先出(FIFO)、近期最少使用算法(LRU)
- 影响页面命中率的因素有替换算法,地址流、页面大小和主存容量 等。当中LRU算法优于FIFO算法。命中率与程序分配给程序的主存页数有关,主存页数增加与命中率提升也与替换算法有关
- 页面失效频率PFF算法,当主存页面失效率超过某个值时,就自动增力分配给该道程序的主存页数,以提高其命中率。反之,失效率少低于某个值时,自动减少分配给该道程序的主存页数,以释放页面位置
- 解决 Cache 存储器的透明性分析和解决办法,一般可有写回法和写直达法两种
- 为了提高 Cache 的命中率,Cache 的预取算法有恒预取法和不命中时预取
- 恒预取是只要访问到主存第i块,无论 Cache 是否命中,恒预取第i+1 块
- 不命中时预取则是只当访问主存第i块,在 Cache 不命中时,才预取主存中的第i+1块
- Cache 取算方式,适当选择好Cache的容量、块的大小、组相联的组数和组内块数,可保证有较高命中率
- Cache 存储器的性能方式,主要看命中率的高低,而命中率与块的大小、块的总数,采用组相联时组的大小,替换算法和地址流的簇聚性等有关。Cache的速度和容量都影响命中率
- 三级存储体系包括以下三种,物理地址 Cache,Cache-主存和主存-辅存两个独立的存储层次组成
- 虚地址Cache为Cache-主存-辅存直接构成三级存储层次形式
- 全Cache:Cache-辅存的存储体系,尚不成熟
- 主存-辅存存储层次结构中,从CPU上用,速度接近于主存,容量是辅存的
简答 & 概述
简述段式管理方式的特性(独一共)
- 段式中每个段独立,有利于程序员灵活实现段的链接、段的扩大、缩小和修改,而不影响到其它的段
- 每段只包含一种类型的对象,如过程或是数组、堆栈、标量等集合,易于针对其特定类型实现保护
- 把共享的程序或数据单独构成一个段,从而易于实现多个用户、进程对共享段的管理
简述Cache 存储器地址映像,地址变换的概念以及映像规则的选择要求
- 地址映像就是将每个主存块按某种规则装入Cache中
- 地址变换就是每次访问 Cache 时怎样将主存地址变换成 Cache 地址
- 映像规则的选择要求,除了看所用的地址映像和变换硬件是否提高、价格低和实现方便外,还要看块冲突概率是否低,Cache 空间利用率是否高
简述Cache三种映像的优缺点
- 全相联:Cache 全相联映像是主存中任意块都可以映像装入Cache 中的任意一块位置的地址映像
- 优点:块冲突率最低,只有当Cache 全部装满,才可能出现冲突,Cache 的空间利用率最高
- 缺点:要构成容为2^n项的相联存储器的代价太大,Cache 容量很大时,其查表的速度很难提高
- 直接映像:把主存空间按Cache 大小等分成区,每区内的各块只能按位置一一对应到Cache 的相应块上
- 优点:节省所需的硬件,只需容量较小的按地址访问的区号标志表存储器和少量外比电路,成本很低
- 缺点:Cache 的块冲突概率很高
- 组相联映像:组相联是全相联与直接映像结合,将Cache 和主存空间都分为组,指的是各组之间直接映像,而组内各块之间是全相联映像
- 优点:冲突概率比全相联大,但比直接映像小很多。因大大降低冲突率,也同时提高了Cache 空间的利用率。成本比全相联低很多,性能也接近全相联
- 缺点:因对主存和Cache 进行分组,对于分组大小,组内块数大小的选择很重要,可能会导致成本越高,查表速度越慢
写回法和写直达法
- 写回法:在 CPU写操作,信息写入Cache,仅当需要替换时,才将改写过的 Cache 块先写回主存,然后再调入新块
- 写直达法:利用 Cache 存储器在处理机和主存之间的直接通路,每当处理机写入Cache 的时候,也通过此通路写入主存
标量处理机
选择 & 填空
- 解释一条机器指令的微操作可归并成取指令、分析和执行三部分
- 顺序解释是指各指令之间顺序串行地进行,优点是控制简单,转入下条指令的指时间易于控制
- 执行K与分析K+1重迭(指令只拆分为分析和执行),这种指令分析部件和指令执行任何时候都只有相邻中两条指令 在重迭解释的方式为”一次重迭”。优点比顺序运行时间少,功能部件的利用率明显提高
- 在流水线中,无论发生数相关,还是指令相关,或者会使解释出错,或者会使重迭 效率颢着下降。相关处理方法有转移指令的处理、指令相关的处理、主存空间数相关的处理、寄存器组相关的处理。
- 转移指令相关处理是将转移指令与条件转令无关的第k-1条指令交换位置
- 指令相关处理,是设置一条执行指令来解决,由于被修改的指令是以执行指令的操作数形式出现
- 主存空间数相关是相邻两条指令之间出现对主存同一单元要求的先写而后读的关联。只推后分析K+1的读
- 通用寄存器组相关的处理,又分操作数的相关和变址值或基址值 的相关两种。这两种的解决方法是推后分析K+1和设置相关专用通路,是解决重迭方式相关处理的两种基本方法。 前者是以降低速度为代价,使设备基本上不增加
- 按流水的角度可分为向下扩展和向上扩展,前者指的是把子过程进一步地细分,让每个子过程经过的时间都同等程度地减少, 吞吐率就会进一步提高。后者可以理解为在多个处理机之间流水
- 按流水功能的多少可以分为单功能流水线和多功能流水线。按多功能流水线的各段是否允许同时用于多种连接流水又可分为 静态流水线和动态流水线
- 静态流水线在某一时间内只能按一种功能连接流水
- 动态流水线的各功能段在同一时间内可按不同运算或功能连接
- 从计算器所具的数据表示角度,可以把流水线处理机分为标量流水机和向量流水机
- Amdahl470V/6,IBM360/91 都是标量流水机
- CRAY-1 是向量流水机
- 从流水线中各功能段之间是否有反馈回路的角度,可以把流水线分为线性流水线和非线性流水线
- 流水处理级可分为3级。部件级,处理机级,系统级
- 构成部件内的各个子部件间的流水称为部件级流水
- 构成计算器的多个处理机之间的流水称为系统级流水,又称宏流水
- 处理机的各部件之间的流水则称为处理机级流水
- 标量流水处理机处理性能有吞吐量、加速比、效率
- m功能部件、n任务数量
- 吞吐量:
- 加速比:
- 效率:
- 向量流水处理机采用技术是时间重迭。(因为指令是拆分,利用时间重迭同时并发性进行)
- 重迭机器处理这些局部性相关的方法有两种。一种是推后后续指令对相关单元的读直至在先的指令写入完成, 另一种是设置相关直接通路,将运算结果经相关直接通路直接送入所需部件
- 全局性相关指的是已进入流水线的转移指令和其后续指令之间相关。处理办法有
- 使用猜测法
- 加快和提前形成条件代码
- 采取延迟转移
- 加快短循环程序的处理
- 任务在流水线中流动顺序的安排和控制可以有两种方式,一种是让任务流出流水线的顺序保持与流入流水线的顺序一致,称为 顺序流动方式或同步流动方式,另一种是让流出流水线的任务顺序可以和流入流水线的顺序不同,称异步流动方式
- RISC兴起后,出现了提高指令级并行的高性能超级处理机,代表性例子有超标量处理机、超字长指令处理机VLIW、 超流水线处理机、超标量超流量处理机
简答 & 概述
简述指令重迭解释的概念及实现重迭解释必须满足的要求
指令的重迭解释是解释第K条指令的操作完成前,就可以开始解释第K+1条指令
指令重迭解释必须满足的要求
- 要解决访主存的冲突
- 要解决分析与执行操作的并行
- 要解决分析与执行操作控制上的同步要解决指令间各种相关处理。
静态流水线和动态流水线分别
- 静态流水线在某一时间内各段只能按一种功能连接流水、只有等流水线全部流空才能切换成另一种功能连接流水, 当一串相同运算的指令时,才可有效发挥静态流水效能。在静态流计算器中,要求程序员编制出的程序应尽可能调整成有更多相同运算的指令串,以提高其流水的效能
- 动态流水线的各功能段在同一时间内可按不同运算或功能连接。对吞吐率和设备利用率提高。但控制复杂,成本高
简述全局性相关处理中,采用猜测法猜错后保证恢复分支原先现场的方法
保证猜测法猜错恢复分支点原先现场的方法一般有3种办法
- 采取对指令只译码和准备数,在转移条件代码出现之前不进行运算
- 让指令运算完但不送回运结果,只要猜对分支可送回运算结果
- 采用后援寄存器把可能被破坏的原始状态保存起来,一旦猜错,就取出后援寄存器中的内容来恢复分支点的现场
IBM360/91解决流水控制的途径
- 在各寄存器中设置忙位标志来判断是否相关,当寄存器正在使用时置该寄存器的忙位标志为"1",当寄存器被释放,其忙位标志清为"0" ,访问寄存器时先看忙位标志如果为"1"表示相关
- 设置多条流水线让它们并行工作,同时在分布各流水线的出入端上分别设置若干保存站来缓冲存放信息,相关采用异步方式流动
- 通过分布设置的站号来控制相关专用通路的连接
- 相关专用通路采用总线方式,相关后通过更改站号来实现不同相关专用通路的连接
简述四种超级处理机差别(超标量处理机、超字长指令处理机VLIW、超流水线处理机、超标量超流量处理机)
- 超标量处理机是利用资源重复,设置多个执行部件寄存器端口
- 超长指令字处理机结构是将水平型微码和超标量处理两者相结合。指令字长可长达数百位,多功能部件并发工作,共享大容量寄存器堆,其优点是每条指令所需拍数比超标量处理机少,指令译码容易,开发标量操作间的随机并行性更方便,从而可使指令级并行性较高
- 超流水机是着重开发时间并行,在公共的硬件上采用较短的时钟周期,深度流水提高速度,需使用高速的时钟机制来实现。( 开发时间的并行性)
- 超标量超流水处理机是超标量流水线与超流水线处理机的结合
向量处理机
选择 & 填空
- 向量处理机包括横向处理,向量纵向处理和向量分组纵横处理既是向量的处理方式也是向量的流水处理方式。典型机型CRAY-1
- 逐个处理向量元素的法为横向处理方式
- 对整个向量按相同操作都执行完之后再转去执行别的操作的处理方式为纵向处理方式
- CRAY-1提供6个单功能部件是整数加、逻辑运算、移位、浮点加、浮点乘和浮点迭代求倒数,其流水经过的时间分别为 3、2、4、6、7和14拍,每拍为12.5ns。访存流水线建立时间为6拍。访寄存器时间为1拍
- CRAY-1向量处理机的一个显著特点是只要不出功能部件使用冲突和源向量寄存器使用冲突
- 数组处理机分两种不同的基本构形,一种是采用分布式存储器,另一种是集中式共享存储器
- 分布式数组机典型机型有ILLIACIV
- 集中式数组机典型机型有BSP
- 为了高速有效地处理向量数据,分布式存储器数组处理机要求能把数据合理地预分配到各个处理单元的局部存储器中
- 数组机所采用的技术是资源重复。利用的是并行性中的同时性,而不是并发性
- 数组机是 SIMD
- ILLIACIV采用分布存储器构型,设有64(N)个处理部件,排列成的方阵。 这样两个处理单元之间的最长距离不超过步
- 对于具有分布式存储器的数组处理机,能否发挥其并行性 与信息在存储器中的分布密切相关。而信息分布算法又与系统结构及所解题目 直接相关。对于能否将处理单元全部利用起来并行运算,这需要在数组存储器中重新恰当地分配数据
- SIMD 中,为反映互连特性,每种互连网络可以用一组互连函数定义,这就是表示互连网络的出端号和入端号的一一对应关系
- SIMD,在确定PE之间通信的互连网络时,需要对操作方式、控制策略、交换方法和网络的拓扑结构做出决策
- SIMD互连网络的操作方式有同步、异步及同步与异步组合3种
- SIMD 的控制策略可以置定集中和分布两种控制策略。多数现有的SIMD互连网络采用由集中控制部件对全部开关单元执行集中控制的策略
- SIMD 互连网络的交换方法主要有线路交换、包交换及线路与包交换组合3种
- 线路交换是在源和目的间建立实际的连接通路,一般适合于大批量数据传输
- 包交换是将数据置于包内传送,不用建立实际的连接通路,对短数据信息传送特别有效
- SIMD互连网络多采用硬连的线路交换,包交换则多用于多处理机和计算器网络中
- 网络拓扑结构指的是互连网络入、出端可以连接的模式,有静态和动态两种
- 静态网络拓扑结构是两个PE之间的链是固定的,总线不能重新配置成与其他PE相连
- 动态网络拓扑结构中,两个PE之间的链通过置定网络的开关单元状态可以重新配置。动态网络有单级和多级两类
- 动态单级网络称为循环网络,动态多级网称为多级循环网络。 现时绝大多数数组处理机都采用多级互连网络或多级循环互连网络
- 单级互连网络有立方体(cube)、PM2l、混洗交换和蝶形单级网络
- 由于单纯的全混互连网络不能实现二进制编号为全"0"和全"1"的处理单元与其他处理的连接,因为还需要增加交换函数,这就是 全混交换单级网络
- 互连网络的最大距离是指经过最多几次传送就可实现任意一对入、出端间的连接。设n 是维数,单级立方体网络的最大距离为n,PM2l 单级网络的最大距离为。混洗交换网络最大距离为,其中需经过次混洗,和次的交换
- 不同的多级互连网络在所用的交换开关,控制方式、拓朴结构上各有不同
- 多级立方体对各个交换开关控制方式有级控制、单元控制和部分级控制
- 级控制多级立方体网络能实现交换函数的功能
- 多级立方体网络有STARAN网络、间接二进制n方体网络等。两种交换都是用Cube互连函数
- 而两者主要差别在于控制方式
- 第一个是采用级控制和部分级控制
- 第二个是采用单元控制
- 因此,二进制n方体网络具有更大的连接灵活性
- 而两者主要差别在于控制方式
- 多级网络可以实现任意一端与任意一端的连接,但同时两对或多对入、出端间的连接时,就可能发生数据传送路径的冲突,有这种性质的互连网络称为 阻塞式网络。相反,没有阻塞的互连网络称为非阻塞式网络或全排列网络
- 共享主存构型数组机无冲突访问存储器,为了能使行或列各元素都能并行访问,采取将数据在存储器中错位存放。 但会造成主对角线上各元素的并行访问冲突
- 脉动数组流水处理机,是由一组处理单元PE构成的数组
- 运算时数据在数组结构的各个处理单元间沿各自的方向同步向前推进
- 脉动型系统内的输入数据流和结果数据流可以多个不同方向上以不同速度向前搏动
简答 & 概述
SIMD系统的互连网络的设计目标是(简洁、规整,让系统又好又快又便宜)
- 结构不要过分复杂,以降低成本
- 互连要灵活,以满足算法和应用的需要
- 单元间信息交换所需的传送步数要尽可能少,以提高性能
- 能用规整单一的基本构件组合而成,或者经多次通过或者经连接来实现复杂的互连使模块性好,以便于用VLSI 实现并系统的可扩充性
简述多级立方体网络对各个交换开关的控制方式
多级立方体对各个交换开关的控制方式有3种
- 级控制,同一级的所有开关只用一个控制信号控制,同时只能处于同一种状态
- 单元控制,每一个开关都由自己独立的控制信号控制,可各自处于不同的状态
- 部分级控制,第i级的所有开关分别用i+1个信号控制,其中 ,n为级数
实现全排列网络的两种方法为
- 在多级互连网络的输出端设置锁存器,使数据在时间上顺序通行两次
- 将一个(多)级互连网络和它的逆网络串接起来,合并掉中间完全重复的一级,得到总级数为 的多级网络。
数组机与流水机分别
- 数组机利用的是资源重复,和并行性中的同时性
- 对数组机的利用率相对没有多个功能流水部件那样高。只有硬件价格下降及系统结构改进才能有高的性能价格比
- 数组机提高速度主要靠增大处理单元数
- 数组机处理机使用简单、规整的互连网络来确定处理单间的连接
- 比单功能流水机灵活。比流水机专用性强很多,其结构和采用的并行算法紧密联系
简述脉动数组机特点
- 结构简单、规整、模块化强,可扩充性好,非常适合用超大规模集成电路实现
- PE间数据通信距离短、规则,使数据流和控制流的设计、同步控制等均简单规整
- 脉动列中所有PE能同时运算,具有极高的计算并行性,可通过流水获得很高的运算效率和吞吐率
- 输入数据能被多个处理单元重复使用,大大减轻了数组与外界的I/0通信量,降低了对系统主存和1/0系统带宽的要求
- 脉动数组结构的构形与特定计算任务和算法密切相关,具有某种专用性,限制了应用范围,这对VLSI 是不利的
发展通用脉动数组结构的途径有
- 通过增设附加的硬件,对数组的拓扑结构和互连方式用可编程开关进行重构即经程序重新配置阵构形的设置方式
- 用软件把不同的算法映像到固定的数组结构上
- 采寻与问题大小无关的脉动处理方法,以及VLSI运算系统的分割矩阵算法,使它们可以克服数组只能求解固定大小题目的缺陷。同时采寻发展适合一类计算问题的通用算法和相应的设置方案
多处理机
选择 & 填空
- 多处理机是指两台以上的处理机,共享I/O子系统,机间经共享主存或高速通信网络通信,在统一操作系统控制下,协同求解大而复杂问题的计算器系统
- 多处理机可以有同构型、异构型和分布型3种
- 多处理机是属于多指令流多数据流MIMD的系统,多处理机作业或任务实现是作业或任务间的并行,是开发并行性中的并发性
- 多处理系统中,要较好地解决动态的资源分配和任务调度,让各处理机的负荷尽可能均衡,并要防止死锁
- 多处理机的硬件结构分紧耦合和松耦合
- 紧耦合多处理机(一般)是通过共享主存 实现处理机通信的,其通信速率受限于主存频宽,紧耦合构型分处理机自带专用Cache和处理机不带专用Cache 。就各处理机而言,又有同构对称型和异构非对称型两种,在多处理机用于并行任务时,常采用同构对称型的紧耦合多处理机
- 在紧耦合处理机中,能实现处理机与各I/O互连,称为对称性I/O互连,多数据理机采用非对称I/O互连 ,即连到一台处理机的设备不能被另一台处理机直接访问
- 松耦合不同处理机间或者通过通道互连实现通信,以共享某些外围设备,或者通过消息传送系统 来交换信息。松耦合多处理机可分为层次型、非层次型两种不同的构形
- 松耦合多处理机的每台处理机都有一个容量较大的局部存储器,用于存储经常用的指令和数据,以减少紧耦合系统中存在的 访主存冲突。松耦合多处理机适合做粗粒度的并行计算
- 多处理机互连形式包括总线形式、环形互连形式、交叉开关形式、多端口存储器形式、蠕虫穿洞寻径网络、 开关枢纽结构形式
- 总线形式,方法简单,性能较差。提高总线形式的系统效率有采用光纤和增加总线
- 环形互连与总线形式差别是死循环,最经典用法是令牌,适合于高通信带宽的光纤通信,性能也较差
- 交叉开关,缺点是需要太多线路。机间互连的方法之一开关枢纽结构形式是将开关设一个开关枢纽,由它判断哪个连接
- 多端口存储器形式是将选择放入存储器,由它判断。如果每个存储器模块有多个访问存端口,将分布在交叉开关矩阵中控制、 转移和优先级仲裁逻辑分别移到相应存储器模或的接口中,就构成了多端口存储器形式的结构
- 多处理机的主存一般都采用由多个模块构成的并行存储器。为减少访问主存冲突,采用的方式一般是:并行多体交叉主存系统
- 并行算法按运算基本对象,并行算法可分为数值型的和非数值型两类
- 并行算法按并行进程间的操作顺序不同,并行算法又分为同步型、异步型和独立型3种
- 并行算法根据各处理机算任务的大小不同,并行算法又分为细粒度、中粒度和粗粒度3种
- 细粒度并行算法一般指向量或循环级的并行(小,尽量小通信)
- 中粒度并行算法一般指较大的循环级并行,并确保这种并行的好处可以补偿因并行带来的额外开销
- 粗粒度并行算法一般是指子任务级的并行(大,复杂计算)
- 并行算法按并行进程是否相似,SIMD是同构性,MIMD是异构性
- 衡量任务粒度大小的一个依据是程序用效计算的运行时间E与处理机间的通信等辅助开销时间C的关系E/C。只要值较大 时,开发并行性才有好处
- 多处理机操作系统分别有主从型、各自独立型和浮动型
- 多处理机发展很快,有分布式共享存储器多处理机、对称处理机、多向量多处理机、并行向量处理机(PVP)、 大规模并行处理机(MPP)和机群系统等
简答 & 概述
使用多处理机的目的
- 通过多台处理机对多个作业、任务进行并行执行来提解题速度,从而提高系统整体性能
- 使用冗余多个处理机通过重新组织来提高系统的可靠性、适应性和可用性
多处理机的基本概念和要解决的技术问题
- 在硬件结构上,它的多个处理机要用多个指令部件分别控制,通过共享主存或机间互连网络实现异步通信
- 在算法上,不限于向量、数组处理,还要挖掘和实现更多通用算法中隐含的并行性
- 在系统管理上,要更多地依靠操作系统等软件手段,有效地解决资源分析和管理,特别是任务分配、处理机调度、进程的同步和通信等问题。
产生多处理机的Cache的一致性问题
- 当主存中同一个信息块在多个Cache同时存在,会出现多个Cache之间的相应信息块的内容不一致
- 为了提高系统效率,将一个尚未执行完的进程调度另一个空闲的处理机上执行,也导致Cache与主存的不一致
- 系统也可能绕过Cache的输入/输出操作时,也会导致多个Cache与主存对应块的内容不一致
多处理机的 Cache 的一致性问题的解决办法
- 解决进程迁移引起的多Cache不致性,禁止进程迁移或者进挂起时靠硬件方法,将改写过的信息块强制写回主存相应位置
- 以硬件为基础实现多 Cache的一致性,监视Cache协议法和目录表法
- 以软件为基础实现多Cache的一致性,不把一些公用的可写数据存入Cache中
简述任务粒度的大小对多处理机性能和效率的影响
- 任务粒度过小,辅助开销大,系统效率低
- 任务粒度过大、并行度低,性能不会太高
- 要合理选择任务粒度大小、并使其尽可能均匀,还要采取措施减少辅助开销,以保证系统性能随处理机数目的增大能有较提高
简述多处理机主从型操作系统的优缺点
主要应用在异构型多处理机上
- 优点:结构比较简单,整个管理程只在一个处理机上运行,一般都不必是可再入的,只有一个处理机访问执行表,简化了管理控制的实现
- 缺点:对主处理机的可靠性要求较高,整个系统显不够灵活,如果主处理机负荷过重,影响整个系统性能
简述多处理机各自独立型操作系统的优缺点
优点
- 很适合分布处理的模块化结构的特点,减少对大型控制专用机的需求
- 某个处理机发生故阵,不会引起整个系统瘫痪,有较高的可靠性
- 每台处理机都有其专用控制表格,使访问系统表格的冲突较少
- 同时控制进程和用户进制一起进行调度能取得较高的系统效率
缺点
- 实现复杂
- 仍有一些共享表格,会增加共享表格的访问冲突,导致进程调度复杂
- 某台处理机故障,要恢复和重新执行未完成工作困难
- 要操作员干预整个系统的输入/输出结构的变换
- 处理机负荷平衡比较困难
- 各处理机的局部存储器都要放管理程序副本,降底存储器的利用率。主要应用在松耦合处理机
简述多处理机浮动型操作系统的优缺点
主要应用在紧耦合多处理机
优点
- 资源可以较好地做到负荷平衡
- I/O 中断可交由某段时间最闲的处理机去执行
- 它在硬件结构和可靠性上具有分布控制的优点,而操作系统复杂性和经济性上则接近主从型
- 灵活性高
缺点
- 设计最困难
机群系统比起传统并行处理系统有如下明显的优点
- 系统有高的性能价格比
- 系统的开发周期短
- 系统的可扩展性好
- 系统的资源利用率高
- 用户投资风险小
- 用户编程方便
简述多处理与数组机在并行等级、硬件、算法和系统管理上的区别
- 并行等级不同,数组处理机主要针对向量数组、实现向量指令操作级的并行是开发并行中的同时性
- 多处理机实现的是作业或任务间的并行,是开发并行性中的并发性
- 硬件结构上多处理机中的多个处理机要用多个指令部件控制,通过共享主存或机间互连网络实现异步通信
- 在算法上,不限于向量、数组、要挖掘和实现更多通用算法中隐含的并行性
- 在系统管理上,要更多地依靠操作系统等软件手段,有效地解决资源分析和管理,特别是任务分配、处理机调度、进程的同步和通信问题
简述提高模m值,影响主存实际带宽的因素及结果
- 对模m交叉,若都是顺序取指,效率可提高到m倍
- 一旦出现转移,效率会下降,转移频率越高,并行主存系统效率下降越大
- 数据的顺序性比指令要差,实际的带宽带可能要低一些
- 工程实现上由于模㎡越,存储器数据总线越长,总线上并联的负载越重,有时还不得不增加门的级数,会使传输延迟增加
- 因此提高模m值提高主存系统的最大带宽,但主存的实际带宽并不随 m值增大而线性提高,实际效率并不像所希望的那么高
数据流计算机和归约机
选择 & 填空
- Von Neumann 型计算机是用控制流方式工作
- 数据驱动计的数据流方式,数据令牌是一种表示某一操作数或参数已准备就绪的标志
- 根据数据令牌处理方式不同,以把数据流计算的结构分为动态和静态两类
- 数据驱动计算机的数据流是基于异步性和函数性的一种计算模型
- 函数式程序本质上属于解释执行方式,从函数式程序的归约来看,计算机内部通常采用链表的存储结构
- 数据驱动计算机的操作是按输入数据的可用性决定的次序进行,需求驱动计算的操作则按数据需求所决定的次序进行
- 根据计算机归约机所用归约方式的不同,相应就有串归约机和图归约机两类
- 串归约机可看成是一种特殊的符号串处理机,函数定义、表达式和目标都以字符串的形式存储于计算机中
- 图归约机采取将函数定义、表达式和目标以图的形式存储于计算机中,图是其处理对象
简答 & 概述
简述控制驱动的控制流方式特点
通过访问共享存储单元让数据在指令之间传递,指令执行顺序隐含于控制流中但却可以显式地使用专门的控制操作符来实现并行处理,指令执行的顺序受程序计数器控制,换句话,是受控制令牌所支配的
数据驱动的数流方式则不同,它没有通常的共享变量的概念,即没有共享存储数据的概念,指令执行序只受指令中数据相关性的制约,数据是以数据令牌方式直接在指令之间传递
简述数据流计算机存在的问题
- 如果题目数据相关性强,并行性成分不多,会使效比传统的 Neumann 型机低
- 给数据建立、识别、处理标记,需要花费较多的辅助开销和较大的存储空间
- 数据流计算机不保存数组
- 变量代表数值,程序员无法控制存储分配
- 互连网络计困难,I/0 系统不够完善
- 没有程序计数器,诊断和维护困难
简述归约机结构的特点
- 归约机应当是面向函数语言,或以数式语言为机器语言的非 Neumann 型机器
- 具有大容量物理存储器并采用大虚存容量的虚拟存储器,具备高效的动态存储分配和管理的软、硬件支持
- 处理部分应当是一种有多个处理器或多个处理机并行的结构形式
- 采用适合于函数式程序运行的多处理器互连的结构,最好采用树形方式的互连结构或多层次复合的互连结构形式
- 尽量把运行各种的结点机紧靠该被所需用的数据安排,并使运行时需相互通的进程所占用的处理机也靠近,让客处理机的负荷平衡
简述控制驱动的控制流方式和数据驱动的数据流方式的特点(*背
- 控制驱动的控制流方式的特点:通过访问共享存储单元让数据在指令间传递,指令执行的顺序隐含于控制流中,但却可颢式地使用专门的控制操作符来实现并行处理指令执行的顺序受序计数器控制
- 数据驱动的数据流方式的特点:没有通常的共享变量的概念。指令执行顺序只受指令中数据相关性的制约,数据是以数据令牌方式直接在指令之间传递
