1、计算机系统结构(自考)- 02325
2022-10-22 13:47:40 6 举报
AI智能生成
自考:计算机系统结构(02325)
作者其他创作
大纲/内容
运算器、控制器、存储器、输入设备、输出设备
硬件
系统软件、应用软件
软件
计算机组成
从使用的语言的角度,一台由软、硬件组成的通用计算机系统可以被按看成是按功能划分的多层机器级的层次结构。
应用语言经应用程序包翻译成高级语言程序
应用语言机器
第5级
高级语言程序经编译程序翻译成汇编语言程序(或是某种中间语言程序,或是机器语言程序)
高级语言机器
第4级
汇编语言程序经汇编程序翻译成机器语言程序
汇编语言机器
第3极
一般用机器语言程序解释作业控制语句等
操作系统机器
第2级
虚拟机器
用微指令程序解释机器指令
传统机器语言机器
第1级
微指令由硬件直接执行
微程序机器
第0级
实际机器
层次结构
“机器”被定义为能存储和执行相应语言程序的算法和数据结构的集合体。实际上、只有二进制机器指令,既传统所讲的机器语言与机器硬件直接对应,方可直接被硬件识别和执行。
计算机系统层次机构
从计算机的层次结构角度来看,系统结构是对计算机中各级界面的定义及其上下的功能分配。每级都有其自己的系统结构。
计算机系统结构的定义和内涵
1、硬件能直接识别和处理的数据类型及格式等的数据表示。
2、最小可寻址单位、寻址种类、地址计算等寻址方式。
3、通用/专用寄存器的设置、数量、字长、使用约定等的寄存器组织。
4、二级制或汇编指令的操作类型、格式、排序方式、控制机构等的指令系统。
5、主存的最小编址单位、编址方式、最大可编址空间等存储系统组织。
6、中断的分类与分级、中断的处理程序功能及入口地址等的中断机构
7、系统机器级的管态和用户态的定义及切换。
8、输入/输出设备的链接,使用方式,流量,操作结束,出错指示等的机器级I/O结构。
9、系统各部分的信息保护方式和保护结构等属性。
计算机系统结构的属性包括
计算机系统结构
计算机组成指的是计算系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成及逻辑设计等。
计算机组成着眼于机器级内部各事件的排序方式与控制机构、各部件的功能及各部件间的联系。
计算机组成的定义
1、数据通路宽度
2、专用部件的设置
3、各种操作对部件的共享程度
4、功能部件的并行度
5、控制机构的组成方式
6、缓冲和排队技术
7、预估、预判技术
8、可靠性技术
计算机组成的属性
计算机实现的设计着眼于器件技术和微组装技术、其中、器件技术起着主导作用。
确定指令系统中是否要设置乘法指令属于计算机系统结构
主存容量与编址方式(按位、按字节、还是按访问等)的确定属于计算机系统结构
计算机实现指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构、器件的集成度和速度,器件、模块、插件、底板的划分与连接、专用器件的设计、微组装技术、信号传输、电源、冷切及整机转配技术等。
定义
计算机实现
相同结构(指令系统相同)的计算机、可以因速度不同而采用不同的组成。同样,一种组成可有多种不同的实现方法。结构不同会使可能采用的组成技术不同。
系统结构、组成、实现的相关关系与影响
计算机系统结构、计算机组成、计算机实现
软件的功能可以用硬件或固件完成,硬件的功能也可以用软件模拟完成,只是它们在性能、价格、实现的难易程度上是不同的。
软件的功能实现
提高硬件功能比例可提高解题速度,减少程序所需的存储空间,增加硬件成本,降低硬件利用率和计算机系统的灵活性及适应性。提高软件功能比例可降低硬件成本,提高系统的灵活性,适应性,但解题速度会下降,软件设计费用和所需的存储器用量增加。
优缺点
原则一:应考虑在现有硬、器件(主要是逻辑器件和存储器件)条件下,系统要有高的性能价格比,主要从实现费用,速度和其他性能要求来综合考虑
原则二:要考虑到准备采用和可能采用的组成技术,使之尽可能不要过多或不合理的限制各种组成、实现技术的采用。
原则三:不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及为高级语言的设计提供更多、更好的硬件支持放在首位。
原则
取舍的基本原则
尽可能加速处理高概率的事件远比处理概率很低的事件对性能的提高要显著。
哈夫曼压缩原理
改进效果好的高性能系统应是一个各部分性能均能平衡得到提高的系统,不能只是其中某个功能部件性能的提高。
Amdahl定律
程序访问的局部性包括时间上和空间上的两个局部性。
程序访问的局部性定律
定量设计原理
计算机系统设计的主要任务包括系统结构、组成、实现的设计。
它涉及软硬件的功能分配,计算机指令系统设计,功能组织,逻辑设计、集成电路设计、封装、电源、冷切等许多方面。
计算机系统设计首先要根据市场和应用情况,确定用户对计算机系统的功能、性能和价格的要求。其中、应用软件对功能的确定起主要作用。
设计的内容
1、要弄清其应用领域是专用还是通用的。
2、要弄清软件兼容是放在那级层次
3、要弄清对操作系统有何种要求
4、要如何保证有高的标准化程度
设计的目的
1、由上往下设计、也称有顶向底设计
2、由下往上设计、也称由底向顶设计
3、从中间开始向两边设计,这是通用机一般采用的方法。
设计的方法
计算机系统设计的主要任务和方法
从中间开始向两边设计选择从层次结构的主要软硬界面开始设计,既在传统机器语言机器级与操作系统级之间进行合理的软硬件功能分配。软件人员一次设计操作系统级、汇编语言级、高级语言级、应用语言级。硬件人员一次设计传统机器语言机器级、微程序机器级和数字逻辑级。
简述计算机系统“从中间开始”向两边设计的方法级软硬件人员各需设计的内容?
计算机系统软硬件取舍及定量设计原理
1、统一高级语言
1、采用系列机可以较好地解决软件设计环境要求相对稳定和硬件,器件,组成等技术飞速发展的矛盾。
2、软件可以丰富积累
3、器件、硬件和主存又能不断更新
4、使之短期内应能提供性能更好,价格更便宜的新机器,有力地促进计算机的发展。
简述系列机思想对计算机发展的意义?
做到向后兼容,力争向前兼容
系列机软件兼容的要求
2、采用序列机
模拟是用机器语言程序解释、其解释程于存储与主存中
仿真是用微程序解释,其解释程序存储于控制存储器中
主要区别
模拟是用机器语言程序解释实现软件移植的方法。
仿真使用微程序直接解释另一种指令系统的方法
概念
模拟使用机器语言程序解释,其解释程序存储于主存中
仿真使用微程序解释,其解释程序存储于控制存储器中
简述模拟和仿真的概念及两者的只要区别?
3、模拟和仿真
软件的发展对系统结构的影响
1、统一高级语言,适用于结构完全相同至完全不同的机器之间的高级语言程序应用软件移植。
2、采用系列机,适用于结构相同或相近的机器之间的汇编语言应用软件和部分系统软件的移植。
3、模拟与仿真,适用于结构不同的机器之间的机器语言程序的移植。
简述实现软件移植的技术途径机器适用环境?
数据处理
信息处理
知识处理
智能处理
计算机应用归纳为向上升级的四类
应用的发展对系统结构的影响
1、器件集成度的提高,使器件的速度迅速提高,机器主频和速度也有数量级的提高
2、器件可靠性有数量级的提高、保证流水技术的实现
3、高速、廉价的半导体存储器的出现,使解题速度得以迅速提高的高速缓冲存储器和虚拟存储器的概念真正实现。
4、现场型PROM器件,使微程序技术得以实现。
5、高速相联存储器的实现,促进相联处理机这种结构的发展,推动向量机、数组机、数据库机的发展。
器件的发展对系统结构的影响
软件、应用、器件对计算机系统结构的发展有着很大的影响。反过来,计算机系统结构的发展又会对软件、应用、器件提出新的发展要求。结构设计不仅要了解结构、组成、实现,还要充分了解软件、应用、器件的发展,这样才能对计算机系统结构进行有效的设计、研究和探索。
结论
软件、应用、器件的发展对系统结构的影响
并发性包含同时性和并发性二重含义
含义
一条指令内部各个微操作之间的并行执行
1、指令内部
多条指令的并行执行
2、指令之间
多个任务或程序段的并行执行
3、任务或进程之间
多个作业或多道程序的并行执行
4、作业或程序之间
从计算机系统执行程序的角度来看,并发性等级由低到高可分为四级
同时只对一个字的一位进行处理,这通常是指传统的串行单处理机,没有并行性
1、位串字串
同时对一个字的全部位进行处理,这通常是指传统的并行单处理机、开始出现并行性
2、位并字串
同时对许多字的同一位(成位片)进行处理,开始进入并行处理领域
3、位片串字并
同时对许多字的全部或部分位组进行处理
4、全并行
从计算机系统中处理数据的角度来看,并行等级由低到高可以分为四级
相联处理机
1、存储器操作并行
流水处理机
2、处理器操作步骤并行
阵列处理机
3、处理器操作并行
多处理机
4、指令、任务、作业并行
并行性是贯穿于计算机信息加工的各个步骤的,从这个角度拉看,并行性等级又分为
级别
1、时间重叠
2、资源重复
3、资源共享
并行性开发的途径
1、时间重叠是在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部分以加快硬件的周转来赢得速度。
2、资源重复是在并行性概念中引入空间因素,通过重复设置硬件资源来提高可靠性性能。
3、资源共享是用软件的方法,让多个用户按一定的时间顺序轮流使用同一套资源来提高资源利用率从而提高系统的性能。
简述提高计算机系统并行性级数的三个途径?
流水方式的单处理机
1、单指令流单数据流(SISD)
流水方式
2、单指令流多数据流(SIMD)
阵列
3、多指令流单数据流(MISD)
4、多指令流多数据流(MIMD)
按指令流和数据流的多倍性把计算机系统分成(弗林分类法)
位串处理方式
1、字串位串(WSBS)
字(字片)处理方式
2、字串位并(WSBP)
位(位片)处理方式
3、字并位串(*WPBS)
全并行处理方式
4、字并位并(WPBP)
用数据处理的并行度来定量描述各种计算机系统,可以把计算机系统分成四类
典型的单处理机系统
1、单指令流单执行流(SISE)
带多操作部件的处理机
2、单指令流多执行流(SIME)
带指令级多道程序的单处理机
3、多指令流单执行流(MISE)
典型的多处理机系统
4、多指令流多执行流(MIME)
用指令流和执行流及其多倍性来描述计算机系统宗控制器的结构特点
计算机系统的分类
系统结构中的并发性开发
一、计算机系统结构概论
数据表示指的是能由计算机硬件识别和引用的数据类型,表现在它有对这种类型的数据进行操作的指令和运算部件。
数据表示的定义
1、简化了指令系统的和程序设计
2、简化了编译程序
3、便于实现一致性效验
4、能由硬件自动变换数据类型
5、支持数据库系统的实现与数据类型无关的要求,使程序不用修改即可处理多种不同类型的数据
6、为软件调试和应用软件开发提高了支持
标志服数据表示的优点
定义:机器中每个数据都带有类型标志位,将数据类型与数据本身直接联系在一起的数据表示方式
标志符数据表示
定义:对应属性相同的元素,采用分开存放的描述符来表示访问的数据的地址及其他信息的符号
数据描述符
自定义数据表示
标志符是和每个数据相连的,合存在一个存储单元中,描述单个数据的类型特征。
数据描述符是与数据分开存放,用于描述所要访问的数据是整块的还是单个的,用于存放访问该数据块或数据元素所要的地址以及其他信息等。
数据描述符与标志符的差别?
为向量、数组数据结构的实现和快速运算提供更好的硬件支持的方法是:增设向量、数组数据表示、组成向量机。
向量、数组数据表示
1、由高速寄存器组成的硬件堆栈,并附加控制电路,让它与主存中的堆栈区在逻辑上构成整体,使堆栈的访问速度是寄存器的,容量是主存的。
2、有丰富的堆栈操作指令并且功能很强,可直接对堆栈中的数据进行各种运算和处理
3、有力地支持高级语言程序的编译
4、有力地支持了子程序的嵌套和递归调用
堆栈数据表示的特点?
堆栈数据表示
1、看系统的效率是否有显著提高,包括实现时间和存储空间是否有显著减少。实现时间是否减少又主要看在主存和处理机之间传送的信息量是否减少,传送的信息量越少,实现的时间就越少。
2、看引入的这种数据表示后,其通用性和利用率是否提高。如果只对某种数据结构的实现效率很高,而对其他数据结构的实现效率很低,或者引入了这种数据表示在应用中很少用到,那么为此所耗费的硬件过多却并未在性能上得到好处,必然导致性能价格比的下降,特别是一些复杂的数据表示
引入数据表示的原则
分支主题
浮点数位数基值的选择
截断法是将尾数超出计算机字长的部分截去,这种方法的好处是实现最简单
特点:实现简单,不增加硬件,误差大
1、截断法
舍入法是在计算机运算的规定字长之外增设以为附加位,存放溢出部分的最高位,每当进行尾数下溢处理时,将附加位加1(二进制整数相当于加0.5,二进制小数相当于加)。这种方法的好处是实现简单。
特点:实现简单,不增加硬件,最大误差小,处理速度慢
2、舍入法
特点:实现简单,不增加硬件,最大误差大
3、恒置1法
ROM表共需2^K个单元,地址用K位二进制码表示,每个存储单元字长k-1位。当存储器k位地址码之高k-1位为全1时,对应单元内容填k-1位全1。其余情况按k位二进制地址码最低位为0舍弃,为1进1来填k-1位内容。
原理
ROM查表舍入法速度较快,平均误差可调节到0,是较好的方法。
缺点是硬件量大,不过随着器件价格的下降和集成度的改进,使用将会增多。
特点:误差最小,速度最快,需增加硬件
4、查表舍入法
下溢处理
数据表示
寻址方式指的指令按什么方式寻址(或访问)到所需的操作数和信息的。寻址方式在多样性,灵活性,寻址范围,存在映像算法和地址变化速度等方面有由了很大的进展。
什么是寻址方式
多数计算机都讲主存、寄存器、堆栈分类编址,分别由面向主存、面向寄存器、面向堆栈的寻址方式。
面向主存的寻址主要访问主存、少量访问寄存器
面向寄存器的寻址主要访问寄存器,少量访问主存和堆栈
面向堆栈的寻址主要访问堆栈,少量访问主存和寄存器
三种面向的访问级别
寻址方式的三种面向
一种方式是占用操作码中的某些位来指明
另一种方式是不占用操作码,而是在地址码部分专门设置寻址方式位来字段指明。
寻址方式在指令中的两种指明方式及其优缺点
逻辑地址是程序员编程用的地址
主存物理地址是程序在主存中的实际地址
物理地址和逻辑地址的定义
在目的程序装入主存时,由装入程序用软件方法把目的程序的逻辑地址变换位物理地址,程序执行时,物理地址不再改变,称这种定位技术位静态再定位。
静态再定位
在程序不做变化直接装入主存的同时,将装入主存的起始地址a存入对应该道程序使用的基址寄存器中。程序执行时,只要通过地址加法器将逻辑地址加上基址寄存器的程序基址形成物理地址后去访存即可。
人们把在执行每条指令时才去形成访存物理地址的方法称为动态再定位。
变址寻址(数据块运算的支持)
基址寻址(逻辑地址空间到物理地址空间变换的支持)
寻址方式
动态再定位
地址加减法要求程序员所有编址空间不能超出实际主存的容量。采用虚拟寄存器增加了映像表硬件后,是程序空间可以超过实际主存空间。
虚实地址映像表
程序的静态再定位和动态再定位
信息在内存中存储
指令由操作码和地址码两部分组成
指令系统是程序设计者看计算机的主要属性,是软硬件的主要界面,它在很大程度上决定了计算机具有的基本功能。
指令系统设计的基本原则
指令系统的设计包括指令的功能(操作类型、寻址方式、具体操作内容)和指令格式的设计。
指令系统的设计
主要供程序员使用,也可供系统程序员使用
包括算数逻辑运算,数据传送,浮点运算,字符串,十进制运算,控制转移及系统控制等子类。
非特权性
只供系统程序员使用,用户无权使用。
用户只有先经访管指令(非特权型)调用操作系统,再由操作系统来使用这些特权指令。其中,有“启动I/O”(多用户环境)、停机等等、存储管理保护、控制系统状态、诊断等子类。
特权性
指令的分类
1、规整性
2、对称性
3、独立性和全能性
4、正交性
5、可组合性
6、可扩充性
编译程序设计者要求指令系统应设计具有
1、指令码密度适中
2、兼容性
3、适应性
系统结构设计者希望指令系统拥有
1、采用扩展操作码、并根据指令的频度的分布情况选择合适的编码方式,以缩短操作码的平均码长
2、采用诸如基址、变址、相对、寄存器、寄存器间接,段氏存放,隐式指明等多种寻址方式,以缩短地址码的长度,并在有限的地址长度内提供更多的地址信息。
3、采用0、1、2、3等多种地址制,以增强指令的功能,这样从宏观上就越能缩短程序的长度,并加快程序的执行速度。
4、在同种地址制内再采用多种地址形式,如寄存器-寄存器、寄存器-主存、主存=主存等、让每种地址字段可以由多种长度,并且让长操作码与段操作码进行组配。
5、在维持指令字在存储器中按证书边界存储的前提下,使用多种不同的指令字长度。
指令格式优化的措施
利用哈夫曼编码构造哈夫曼树
考试大题
如何进一步增强原有指令的功能以及设置更为复杂的新指令以取代原先由软件子程序完成的功能,实现软件功能的硬化。按此方向发展,机器指令系统日益庞大和复杂。
复杂指令系统计算机(CISC)
如何通过减少指令种数和简化指令功能来降低硬件设计的复杂度,提高指令的执行速度。
精简指令系统计算机(RISC)
为使计算机系统有更强的功能、更高的性能和更好的性能价格比,满足应用的需要,在机器指令系统的设计、发展和改进上有两种不用的途径和方向。
1、通过对大量已有机器的机器语言程序及其执行情况,统计各种指令和指令串的使用频度来加以分析和改进。
2、增设强功能复核指令来取代原先有常用宏指令或子程序实现的功能,由微程序解释实现,不仅大大提高了运算速度,减少了程序调用的额外开销,也减少了子程序所占的主存空间。
面向目标程序
1、通过对源程序中各种高级语言语句的使用频度进行统计来分析改进。
2、应该增强系统结构的规整性,尽量减少例外或特殊的情况和用法。
3、改进指令系统,使它同各种语言间的语义差距都有同等的缩小。
4、由以指令系统为主,高级语言为从的方式演变成以高级语言为主,指令系统为从的方式
5、发展高级语言计算机
面向高级语言
1、通过对操作系统中常用指令和指令串的使用频度进行统计分析来改进。
2、考虑如何增设专用与操作系统的新指令。
3、把操作系统中频繁使用的,对速度影响大的机构型软件子程序硬化或固化,改为直接用硬件或微程序解释实现
4、发展让操作系统由专门的处理机来执行的功能分布处理系统结构。
面向操作系统
按CISC方向发展和改进指令系统
1、指令系统庞大、一般指令在200条以上
2、许多指令操作繁杂、执行速度很低,甚至不如用几条简单、基本的指令组合实现。
3、由于指令系统庞大,使高级语言编译程序选择目标指令的范围太大,因此,难以优化生成高效的机器语言程序,编译程序也太长、太复杂。
4、由于指令系统庞大,各种指令的使用频度都不会太高,并且差别很大,其中相当一部分指令的利用率很低。
CISC的问题
1、确定指令系统时,只选择使用频度很高的那些指令,再增加少量能有效支持操作系统,高级语言实现及其他功能的指令,大大减少指令条数,一般使之不超过100条。
2、减少指令系统所用寻址方式种类,一般不超过两种。简化指令的格式现在在两种之内,并让全部指令都是相同的长度。
3、让所有指令都在一个机器周期内完成。
4、扩大通用寄存器数,一般不少于32个,尽量减少访存,所有指令只有存、取指令访存,其他指令一律只对寄存器操作。
5、为提高指令执行速度,大多数指令都用硬联控制实现,少数指令用微程序实现。
6、通过精简指令和优化设计编译程序,简单,有效地支持高级语言的实现。
设计RISC的基本原则
1、按设计RISC 的一般原则设计
2、逻辑实现采用硬联和微程序相结合
3、在CPU中设置大量工作寄存器并采用重叠寄存器窗口。
4、指令用流水和延迟转移
5、采用高速缓冲存储器Cache,设置指令Cache和数据Cache分别存放指令和数据,
6、优化设计编译系统
设计RISC结构采用的基本技术
1、简化指令系统设计,适合VLSI实现
2、提高计算机的执行速度和效率
3、降低设计成本、提高系统的可靠性
4、可直接支持高级语言的实现,简化编译程序的设计。
RISC技术发展的好处
1、由于指令少、使原来在CISC上有单一指令完成的某些复杂功能现在要用多条RISC指令才能完成,加重了汇编语言程序设计的负担,增加了机器语言程序的长度,占用存储空间多,加大了指令的信息流量。
2、对浮点运算的执行和虚拟存储器的支持虽有很大的加强,但仍显得不足。
3、RISC计算机的编译程序比CISC的难写
RISC技术的发展出现的问题和不足
按RISC方向发展和改进指令系统
指令系统的发展和改进
指令系统
二、数据表示、寻址方式、指令系统
对存储系统的基本要求的是大容量、高速度和低价格。
在存储器所用期间一定的条件下,容量越大,因其延迟增大会使速度降低,容量越大,存储器总价格会越大,存储器速度越快,价格也越高。
对存储系统的基本要求
能并行读出多个CPU字的单体多字和多体单字,多体多字的交叉访问主存系统被称为并行主存系统。
主存最大频宽
每个存储周期能访问到的平均字数
并行主存系统
1、对模m交叉,若都是顺序取指,效率可提高到m倍
2、一旦出现转移,效率会下降,转移频率越高,并行主存系统效率下降越大
3、数据的顺序性比指令要差,实际的频宽带可能要低一些。
4、工程实现上由于模m越大,存储器数据总线越长,总线上并联的负载越重,有时还不得不增加门的级数,会使传输延迟增加
5、因此提高模m值能提高主存系统的最大频宽,但主存的实际频宽并不随m值增大而线性提高,实际效率并不像所希望的那么高
简述提高摸m值,影响主存实际频宽的因素及结果?
存储
响应和处理各种中断的软、硬件总体称为中断系统。
中断系统是整个计算机系统不可缺少的重要组成部分
什么是中断系统?
在计算机中,中断可分为内部中断,外部中断和软件中断三类。
中断的分类
机器效验中断是高速程序发生了设备故障。可用64位机器效验中断吗指明故障原因和严重性。包含有电源故障,运算电路的误动作,主存出错,通道动作故障,处理器的各种硬件故障等。
机器效验
访管中断是在用户程序需要操作系统介入时,通过执行“访管”指令时发生的,访管原因由“访管”指令中的8位码指明。
管理程序调用
程序性中断是包括指令和数据的格式错,程序执行中出现异常(非法指令,目态下使用管态指令,主存访问方式保护、寻址超过主存容量,各种溢出,除数位0,有效位位0等)以及程序的事件,监督程序对事件的检测引起的中断等。
程序性
外部中断来自计算机外部,它包括各种定时器中断,外部信号中断及中断键中断。各种定时器中断用以计时、计费、控制等。外部信号中断主要用于与其他计算机和系统的联系。中断键则用于操作员对计算机的干预。这些外部中断又可分为两类:一类是若未被响应,则继续保留。另一类是如不响应,则不再保留。
外部
输入/输出中断是CPU与I/O设备及通道联系的工具,在输入/输出操作完成或者I/O通道或者设备产生故障时发出。
输入/输出
中心启动中断是为操作员或另一台CPU要启动一个程序所用。CPU不能禁止这种中断。
重新启动
IBM 370
中断的分类?
第一级:机器效验
第二级:程序性和管理程序调用
第三极:外部
第四级:输入/输出
第五级:重新启动
中断的分级
中断系统按中断源的级别高低来响应。
中断的响应次序是在同时发生多个不同种类的中断请求时,中断响应硬件中的排队器多决定的响应次序。
中断的响应次序
中断的处理要由中断处理程序来完成,而中断处理程序在执行前或执行中是可以被中断的。
中断的处理次序
中断系统的软、硬件功能的实质是中断处理程序软件和中断响应硬件的功能分配。
中断系统的功能分配
中断请求的保存和清除,优先级的确定,中断断点及现场的保存,对中断请求的分析和处理以及中断返回等。中断现场包括软件状态和硬件状态。
中断系统的功能?
高的中断响应速度
中断处理的灵活性
中断系统的要求?
主要功能:中断请求的保存和清除,优先级的确定,中断断点及现场的保存,对中断请求的分析和处理以及中断返回等。
要求
简述中断系统的主要功能和要求?
各中断源是相互独立且随机发出中断请求。当多个中断源同时发出中断请求时,CPU只能先响应和处理其中优先级相对高的中断请求,因此需要对中断的响应和处理安排一个优先顺序。
中断分成优先级的原因?
中断分类后,同一类内部各中断请求的优先次序一般有软件或通道来管理,主要是对于不同类的中断要根据中断的性质、紧迫性、重要性及软件处理的方便性分成若干优先级,以便CPU可以有序地对这些中断请求进行响应和处理。
中断分成优先级的方法?
概念:CPU终止正在执行的程序,转去处理随机提出的请求,待处理完后,再回到原先被打断的程序进行恢复执行的过程成为中断。
分类的依据:将中断源性质相近、中断处理过程类似的归为一类。
分类的目的:减少中断处理程序的入口,每一类给一个中断服务程序入口,可以减少中断服务程序入口地址形成硬件数量。
简述中断的概念、中断的分类依据及分类的目的?
概念:CPU终止正在执行的程序,转去处理随机提出的请求,待处理完后,再回到原先被打断的程序继续恢复执行的过程称为中断。
好处是中断响应用排队器硬件实现可以加快响应和断点现场的保存,中断处理采用软的技术可以提供很大的灵活性。
简述中断的概念和中断系统采用软硬件结合的好处?
中断系统
总线是用于互联计算机、CPU、存储器、I/O接口以及外围设备、远程通信设备间信息传送通路的集合。
什么是总线?
总线与其向配合的附属控制电路统称为总线系统。
按信息传送功能、性能的不同,由数据线,地址线,命令,时序和中断信号等控制/状态线,电源线,地线及备用线等。
什么是总线系统?
CPU芯片内的总线
芯片级
连接插件板的各个组件,也称局部总线或内部总线
板级
系统间或主机与I/O接口或设备之间的总线
系统级
总线按在系统中位置分为
单向传输
半双向
全双向
双向传输
就总线允许信息传送的方向来说
只连接一对物理部件的总线称为专用总线。
1、多个部件可以同时收/发消息,不争用总线,系统流量高。
2、通信时不用指明源和目的,控制简单
3、任何总线的实效只会使连与该总线的两个部件不能直接通信,但他们仍可以通过其他部件间接通信,因而系统可靠。
优点
专用总线的缺点就是:总线数多
缺点
专用
非专用
总线按用法可分
什么是总线的分类?
集中式总线的控制。优先次序的确定可以由串行连接,定时查询和独立请求3中不同的方式,也可以是他们的结合。采用何总方式取决于控制线数目,总线分配的速度,灵活性,可靠性等因素的综合权衡。
串行连接方式获得使用总线权的优先次序是由“总线可用”线所接部件的物理位置来决定的,离总线控制器越近的部件其优先级越高。
1、选择算法简单
2、用于解决总线控制分配的控制线的线数少,只需3根,且不取决于部件的数量。
3、部件的增减容易,只需简单地把它连到总线上或从总线去掉即可。
4、可扩展性好
5、由于逻辑简单,容易通过重复设置提高可靠性
简述集中式串行连接方式总线的优点
1、所有部件都经公共的总线请求线向总线控制器发出要求使用总线的申请。
2、只有当总线忙信号未建立时,送出总线可用信号,串行送往各部件。
3、未发总线请求信号的部件将总线可用的信号继续传给下一个部件。
4、发过总线请求信号的部件停止发送总线可用信号。
5、该部件建立总线忙信号并去除总线请求信号,获得总线的控制权,此次总线分配结束。
简述集中式串行连接方式总线的分配过程?
串行连接
控制线的线数较多,需2+log2N根。可用共享总线的部件数受限于定时查询线的线数(编址能力),扩展性稍差,控制较为复杂,总线分配的速度取决于计数信号的频率和部件数,不能很高。
缺点:
定时查询
优点:总线分配速度快。所有部件的总线请求同时送到总线控制器,不用查询。控制器可以使用程序可控的预订方式,自适应方式,循环方式或它们的混合方式灵活确定下一个使用总线的部件。能方便地隔离失效部件的请求。
缺点:控制线数量过大,为控制N个设备必须有2N+1根控制线,并且总线控制器要复杂很多。
简述总线控制的集中式独立请求方式的优点和缺点?
独立请求
总线请求的三总方式:
总线控制的三种方式有串行链接,定时查询,独立请求。串行链接需要增加3根控制线。定时查询需要增加2+N的对数根控制线。独立请求需增加2N+1根控制线。
简述总线控制的三种方式级各需要增加用于总线工作的控制线根数?
总线的控制
同步通信
异步通信
总线的通信技术?
数据宽度是I/O设备取得I/O总线后所传送数据的总量。
单字(单字节)宽度适合于输入级、打印机等低速设备
定长块宽度适合于磁盘等高速设备,可以充分利用总线宽度。
可变长块宽度适合于高优先级的中高速磁带,磁盘等设备
对于挂由速度较低而优先级较高的设备的总线,可以采用单字加定长块传送。
采用单字加可变长块的传送,是一种灵活有效却复杂、开销大的方法。
数据宽度由单字,定长块,可变长块,单字加定长块,单字加可变长块等
数据宽度
总线要有发生/接收电路、传输导线或电缆,转接插头和电源等。
在满足性能前提下应尽量减少线数。总线线数可通过采用线的功能组合,编码和并/串 - 串/并转换来减少
总线线数
一般包括:机械、功能、电气、过程等4个方面的标准。
总线标准
数据宽度与总线线数
总线系统
I/O(输入/输出)系统包括输入/输出设备、设备控制器及与输入/输出操作有关的软、硬件。
什么是I/O系统?
输入/输出系统的发展经历了3个阶段,相对于3种方式,既程序控制I/O(包括全软件的,程序查询的,中断驱动的)、直接存储器访问(DMA)及I/O处理机方式。他们可分别用于不同的计算机系统,也可用于同一系统。
I/O系统的发展?
磁盘、磁带、光盘
外存
键盘、鼠标、光笔、显示器、各种打印机、打字机、声音输入/输出设备、图形扫描器、网络驱动器等。
传输设备
输入/输出设备的分类?
启动I/O指令是主要的输入/输出指令,属于管态指令。
字节多路通道适用于连接大量的像光电机等字符低速设备
数组多路通道适合于连接多台磁盘等高速设备
选择通道适合于连接优先级高的磁盘等高速设备
根据通道数据传期中传送方式的不同,可分为字节多路、数组多路、选择3类通道。
传输一个字符的时间很短,单字符间的等待时间很长。
字节多路通道
设备的传送速率很高,但传送开始前的寻址方式操作时间很长
数组多路通道
在数据传送期内独占通道,只能执一道通道程序
选择多路通道
简述三类通道各自的特点?
工作原理?
1、数组多路通道适合于链接多台磁盘等高速设备
2、数组多路通道在每选择好一台设备后,要连续传送完固定K个字节的成组数据后,才会释放总线
3、释放总线后,通道再去选择下一台设备,在传送该设备的K个字节
4、以成组方式轮流交叉地为多台高速设备服务
5、某台设备要想传送n个字节,就需要先后经[n/K]次申请总线
简述数组多路通道数据传送方式的原理?
通道流量是通道在数据传期内,单位时间内传送的字节数,它能达到的最大流量成通道极限流量。
通道流量的设计
通道处理机的工作原理和流量设计
I/O系统
三、存储、中断、总线、I/O系统
存储体系(既存储层次)是让构成存储系统的集中不同的存储器(M1 - Mn)之间,配上辅助软、硬件或辅助硬件、使之从应用程序员角度来看,他们在逻辑上是一个整体。
存储体系
虚拟存储器是因主存容量满足不了要求而提出来的。在主存和辅存之间、增设辅助的软、硬件设备,让他们构成一个整体,所以也称为主存 - 辅存存储层次。
虚拟存储器
因主存速度满足不了要求而引出了cache的存储器。在CPU和主存之间增设高速,小容量,每位价格较高的Cache,用辅助硬件将Cache和主存构成整体,Cache存储器不仅对应用程序员是透明的,并且对系统程序员也是透明的。
Cache存储器
由二级存储层次可组合成多级存储层次。希望从CPU角度看是一个整体,有接近于最高处M1的速度,最底层Mn的容量,并且接近于最底层Mn的每位价格。
多级存储层次
存储体系及其分支
为了使存储体系能有效的工作,当CPU要用到某个地址的内容是,总希望它已在速度最快的M1中,这就要求能预知未来被访问信息的地址,这对存储体系的构成是非常关键的。
这种预知的可能性是基于计算机程序具有局部性,包括时间上的局部性和空间上的局部性。
1、当CPU要用到某个地址的内容时,希望它已在速度最快的存储器中,要求能预知未来被访问信息的地址。
2、预知的可能性是基于计算机程序具有的局部性,程序的局部性包括时间上的局部性和空间上的局部性,前者指最近的未来要用的信息很可能是现在正在使用的信息,后者指的是最近的未来要用到的信息与现在正在使用的信息在程序空间上是邻近的。
3、程序的局部性使得最高层次的存储器不存入整个程序,只需将近期用过的块或页存入。
4、预知的准确性是存储层次设计好坏的主要标准,预知的准确性很大程度上取决于所用的算法和地址变换方式。
5、程序的局部性使最高层的存储器命中率(预知的准确性)提高,这是存储层次构成的主要依据。
根据CPU访问存储器数据情况,论述存储体系构成的主要依据?
存储体系的构成依据
命中率H定义为CPU产生的逻辑地址能在M1中访问到的概率。
命中率H与程序的地址流,所采用的地址预判算法及M1的容量都有很大的关系。
既H越接近1越好。
基本概念
程序都有模块性,一个复杂的大程序总可以分解成多个在逻辑上相对独立的模块,这些模块可以是主程序,子程序或过程,也可以是数据块。为了进行段式管理,每道程序在系统中都有一个段表来存放该道程序各段装入主存的状况信息。
1、段式中每个段的独立,有利于程序灵活实现段的链接,段的扩大,缩小和修改,而不影响到其他的段。
2、每段只包含一种类型的对象,如过程或是数组,堆栈,标量等集合。易于针对其特定类型实现保护。
3、把共享的程序或数据单独构成一个段,从而易于实现多个用户,进程对共用段的管理。
段式
页式存储是把主存空间和程序空间都机器等分成固定大小的页(页面大小随计算机而异,一般在512B到几KB之间),按页顺序编号,与段式一样,计算机是采用多道程序方式工作的。
页式
段页式 = 段式 + 页式
段页式
管理方式
根据存储映像算法的不同,可有多种不同的存储管理方式的虚拟存储器,其中主要有段式、页式和段页式3种。
虚拟存储器是因为主存容量满足不了要求而提出来的。根据存储映像算法的不同,主要可分为段氏管理,页式管理,段页式管理。
简述提出虚拟存储器的原因并根据存储映像算法的不同写出虚拟存储器主要的三种存储管理方式?
页式虚拟存储器是采用页式存储和管理的主存 - 辅存存储层次。地址的映像是将每个虚存单元按某种规则(算法)装入(定位于)主存,建立起多用户虚地址NS与实(主)存地址np之间的对应关系。由于是把大的虚存空间压缩到小的主存空间,主存中的每一个页面位置应可对应多个虚页,能对应多少个虚页与采用的映像方式有关。
1、地址的映像和变换
概念:Cache全相联映像是主存中任意一块都可以映像到装入cache中的任意一块位置的地址映像。
优点:块冲突最低,只有当cache全部装满才可能出现冲突,cache的空间利用率最高。
缺点:要构成容量为2^n项的相联存储器的代价太大,cache的容量很大时,其查表的速度很难提高。
简述Cache全相联映像的概念以及优缺点?
2、全相联映像
把页表压缩指存放已装入主存的那些虚页(用基号和标号)与实页位置(nv)的对应关系,该表最多位2的nv次方行。我们称它位相联目录表法,简称目录表法,该表采用按内容访问的相联存储器构成。按内存访问相联的不同于按地址访问的随机存储器。
3、相联目录表法
替换算法的确定主要看主存是有高的命中率,页要看算法是否便于实现,辅助软、硬件成本是否低。目前已研究过多种替换算法。如随机算法,先进先出算法,近期最少使用算法等。
1、随机算法
2、先进先出算法
3、近期最少使用算法
分类
1、命中率与所选用替换算法有关,LRU算法要优于FIFO算法,命中率也与页地址流有关。
2、命中率与分配给程序的主存页数有关
4、页面替换算法
近期最少使用算法(LRU)是堆栈性算法
OPT算法也是堆栈性算法
FIFO不是堆栈型算法
5、堆栈型替换算法
页式虚拟存储器的构成
要访问的虚页不在实际主存中时,就会发生页面失效。
1、页面失效的处理
1、存储层次的等效访问时间是TA=H*T1+(1-H)*T2,式中,H位主存命中率,T1、T2分别是主存、辅存的访问时间。
1、当等效访问时间远大于主存访问周期时,可采取提高主存命中率的方法
2、当主存命中率H已经很高时,可提高主存的访问速度,以降低T1。
3、加快内部地址映像和变换,如采用块 - 慢 表层次,增大快表命中率等。
2、要提高存储层次等效访问速度,可采用的措施由
程序地址流、替换算法以及分配给程序的实页数(主存容量)不同都会影响命中率
3、影响主存命中率和CPU效率的某些因素
2、提高虚拟存储器等效访问速度的措施
页式虚拟存储器实现中的问题
当处理机要用到的指令或数据不在主存中时,会发生页面实现
当主存已满并且发生页面失效时,会发生实页冲突
替换算法的确定主要看主存是否有高的命中率,是否便于实现和辅助软硬件成本是否低。
简述页式虚拟存储器页面失效和实页冲突发生的原因及所确定替换算法的依据?
高速缓冲存储器(Cache)是为弥补主存速度的不足,在处理机和主存之间设置一个高速、小容量的Cache,构成Cache - 主存 存储层次,使之从CPU角度来看,速度接近于Cache,容量却是主存的。
工作原理和基本结构
主存中任意一块都可以映像装入到Cache中任意一块位置
1、全相联映像和变换
把主存空间按Cache大小等分成区,每区内的各块只能按位置一一对应到Cache的相应块位置上
2、直接映像及其变换
全相联映像和直接映像的优缺点正好相反,那么能否将两者结合,采用一种映像规则,既能减少块冲入概率,提高Cache空间利用率,又能使地址映像机构及地址变换速度比全相联的简单和快速。
组相联映像指的是各组之间是直接映像,而组内各块之间是全相联映像
3、组相联映像及其变换
地址的映像与变换
一般可用写回发和写直达发两种
写回发也称抵触修改发。它是在CPU执行写操作时,信息只写入Cache,仅当需要替换时,才将改写过的Cache块先写回主存,然后再调入新块。
写直达法也称直达法,它是利用Cache存储器在处理机和主存之间直接通路,每当处理机写入Cache的同时,也通过次通路直接写入主存。
简述更新主存内容的写回法和写直达法的基本原理?
Cache存储器的透明性分析及解决办法
为了便于硬件实现,通常在访问主存第i块(无论是否取进Cache)时,只预取顺序的第i+1块。
恒预取是只要访问到主存第i块,无论Cache是否命中,恒预取第i+1块。
恒预取
不命中时预取则是只当访问主存第i块在Cache不命中时,才预取主存中的第Z+1块。
不命中时预取
何时取进该块,可有恒预取和不命中时预取两种方法
采用预取法并非一定能提高命中率,它还和块的大小及预取开销的大小有关。
Cache的取算法
评价Cache存储器的性能主要看命中率的高低,而命中率与块的大小,块的总数(既Cache 的总容量)、采用组相联时组的大小(组内块数)、替换算法和地址流的簇聚性等有关
Cache本身的速度与容量都会映像Cache存储器的等效访问速度。
Cahce存储器的性能分析
Cache存储器的透明性及性能分析
高速缓冲存储器
物理地址cache是由 Cache - 主存 和 主存 - 辅存 两个独立的存储层次组成。
物理地址Cahce
虚地址Cache是将Cache - 主存 - 辅存 直接构成三级存储层次形式
虚地址Cache
全Cache是最近出现的组织形式,尚不成熟,尚未商品化,它没有主存,只用Cache与辅存中的一部分构成 Cache - 辅存 存储体系。
Cache存储系统的等效访问时间要接近于Cache的,容量是虚地址空间的容量。
全Cahce
三级存储体系
四、存储体系
指令的重叠解释使机器语言程序的执行速度会比采用顺序解释的有较大的提高。
重叠的原理
控制简单,转入下条指令的时间易于控制。
上一条未操作完成,下一步操作便不能开始,速度上不去,计算机各部件的利用率低。
顺序解释指的是各条指令之间顺序串行地进行,每条指令内部的各个微操作页顺序串行的进行。
顺序解释
1、实际上分析和执行所需要的时间常不相同,还需要在硬件中接近控制上的同步,保证任何时候都只会执行K与分析K+1重叠。
2、这种指令分析部件和指令执行部件任何时候都只有相邻两条指令在重叠解释的方式为一次重叠。
一次重叠
当程序中遇到条件转移 ,一旦条件转移成功,重叠解释实际变成了顺序解释。
对于有指缓的计算机,由于指令是提前从主存取进指缓的,为了判定是否发生了指令相关,需要对多条指令地址与多条指令的运算结果地址比较,看是否有相同的,这是很复杂的。
转移指令的处理
主存空间数相关是相邻两条指令之间出现对主存同一单元要求先写而后读的关联。如果让执行K与分析K+1在时间重叠,就会使分析K+1读出的数不是第K条指令执行完应写入的结果而出错。要想不出错,只有推后分析K+1的读。
主存空间数相关的处理
一般的计算机中,通用寄存器除了存放源操作数,运算结果外,也可能存放形成访存操作数物理地址的变址值或基址值。因此,通用寄存器组的相关又有操作数的相关和变址值或基址值的相关两种。
推后分析K+1和设置相关专用通路是解决重叠方式相关处理的两种基本方法。前者是以降低速度位代价,使设备基本不增加。
通用寄存器组相关的处理
相关处理
重叠方式
分析K+1与执行K的一次重叠是把指令的解释过程分解成分析与执行两个子过程,在独立的分析部件和执行部件上时间重叠地进行。
而流水是把指令分解成取指令,指令译码,取操作数,执行等四个过程。
工作原理
部件级
处理机级
按处理的级别
单功能流水线
在某一时间内各段只能按一种功能连接流水,只有等流水线全部流空后,才能切换成按另一种功能连接流水。
静态流水线
各功能段在同一时间内按不同运算或功能连接。
动态流水线
多功能流水线
从流水线具有功能多少
有大小,没有方向
标量流水机没有向量数据表示,只能用标量循环方式来处理向量或数组,如Amdahl 470 V/6及后面要介绍的IBM360/91。
1、在各个寄存器中设置忙位来标志来判断是否相关,当寄存器正在使用时置该寄存器的忙位为1,当寄存器被释放,其忙位标志清位0,访问寄存器时先看忙位标志,如果为1表示相关。
2、设置多条流水线让它们并行工作,同时在分布于各流水线的入出端上分别设置若干保存站来缓冲存放信息,一旦相关采用异步方式流动
3、通过分布设置的站号来控制相关专用通路的连接。
4、相关专用通路采用总线方式,相关后通过更改站号来实现不同相关专用通路的连接。
简述IBM360/91解决流水控制的途径?
标量流水机
有大小、有方向
向量流水机指的是计算机有向量数据表示,设置有向量指令和向量运算部件,能流水地处理向量和数组中的各个元素。向量流水机是向量数据表示和流水技术的结合。
向量流水机
从计算机所具有的数据表示的角度
线性流水线
非线性流水线
从流水小中各功能段之间是否有反馈回路的角度
流水的分类
多功能流水线的概念是指同一流水线的各个功能段之间可以有多种不同的连接方式,以实现多种不同的运算或功能。
静动态流水线分类的依据是按多功能流水线的各段能否允许同时用于多种不同功能的连接流水。
简述多功能流水线的概念和静动态流水线分类的依据?
吞吐率TP和加速比SP
效率
标量流水线的主要性能
重叠机器处理这些局部性相关的方法有两种:1、一种是推后后续指令对相关单元的读,直至在先的指令写入完成。2、另一种是设置相关直接通路,将运算结果经相关直接通路直接送入所需部件。
任务在流水线中流动顺序的安排和控制可以有两种方式,一种是让任务(指令)流出流水线的顺序保持与流入流水线的顺序一致,称为顺序流动方式或同步流动方式;另一种是让流出流水线任务(指令)顺序可以和流入流水线的顺序不同,称为异步流动方式。
局部性相关处理
全局性相关指的是已进入流水线的转移指令(尤其是条件转移指令)和其后续指令之间的相关。
全局性相关的概念
1、使用猜测发
2、加快和提前形成条件码
3、采取延迟转移
4、加快短循环程序的处理
处理全局性相关的四周方法
方法一、采取对指令只译码和准备操作数,在转移条件码出现之前不进行运算,
方法二、让指令运算完但不送回运算结果,只要才对分支可送回运算结果,
方法三、采用后援寄存器吧可能被破坏的原始状态保存起来,一旦猜错,就取出后援寄存器中的内容来恢复分支点的现场。
有三种方法
·简述全局相关处理中,采用猜测法猜错后保障恢复分支点原先现场的方法?
全局性相关的处理
中断会引起流水线断流,但出现的概率比条件转移的概率低很多,且又是随机发生的。所以,流水机器中断主要是如何处理好断电现场的保存和恢复,而不是如何缩短流水线的断流时间。
流水机器的中断处理
标量流水机的相关处理和控制机构
非线性流水线的调度(大题)
常规的标量流水线(单处理机)
超标量处理机(多处理机或多CPU)
1、超标量处理机是利用资源重复,设置多个执行部件寄存器堆端口。
2、超流水处理机是着重开发时间并行,在公共的硬件上采用较短的时钟周期,深度流水来提高速度,需使用高速的时钟机制来实现。
简述超标量处理机与超流水处理机的区别?
指令级高度并行的超级处理机
五、标量处理机
因为主存的0、1块对应cache的0、1块,也就是第0组,主存的2、3块对应cache的2、3块,也就是cache的第1组,接着主存的4,5块就对应0组,6、7块对应1组。也就是说0、1、4、5只能放在0组。2、3、6、7只能放在1组。
1710批次28题
十、应用题
1、并行等级不同,阵列处理机主要是针对向量数组,实现向量指令操作级的并行,是开发并行性中的同时性。
2、多处理机实现的是作业或任务的并行,是开发并行性中的并发性。
3、硬件结构上多处理机中的多个处理机要用多个指令部件控制,通过共享主存或机间互联网络实现异步通信。
4、在算法上,不限于向量、数组、还要挖掘和实现更多通用算法中隐含的并行性。
5、在系统管理上,要更多地依靠操作系统等软件手段,有效的解决资源分析和管理,特别是任务分配,处理机调度,进程的同步和通信等问题。
(第六章和第七章)简述多处理机与阵列处理机在并行等级,硬件,算法和系统管理上的区别?
在软硬件界面上设定好一种系统结构,软件设计者按照次设计软件,硬件设计者根据机器速度,性能,价格的不同,选择不同器件,硬件和组成、实现技术,研制并提供不同档次的机器。
办法
引用系列机的优点
简述软件移植中采用系列机途径的办法和优点?
1、由堆栈数据表示的机器称为堆栈计算机。
2、有高速寄存器组成的硬件堆栈,使堆栈的访问速度是寄存器的,容量是主存的。
4、丰富的堆栈指令,直接对堆栈中的数据进行各种运算
5、有力的支持子程序的嵌套和递归调用。
简述堆栈计算机的概念及其特点?
九、简答题
VonNeumann型计算机的基本特点是在程序计数器集中控制下,顺次地执行指令,因此它是以控制流方式工作的。
数据驱动的数据流方式中,数据令牌是一种表示某一操作数或参数已准备就绪的标志。
通过访问共享存储单元让数据在指令之间传递,指令执行的顺序性隐含于控制流中,但却可以显式地使用专门的控制操作符来实现并行处理,指令执行的顺序受程序计数器控制,换句话说,是受控制令牌所支配的。数据驱动的数据流方式则不同,它没有通常的共享变量的概念,既没有共享存储数据的概念,指令执行指受指令中数据相关性的制约,数据是以数据令牌的方式直接在指令之间传递的。
控制驱动的控制流方式的特点
1、控制驱动的控制流方式的特点:通过访问共享存储单元让数据在指令间传递,指令执行的顺序隐含于控制流中,但却可显式地使用专门的控制操作符来实现并行处理。指令执行的顺序受程序计数器控制。
2、数据驱动的数据流方式的特点:没有通常的共享变量的概念,指令执行顺序受指令中数据相关性的制约,数据是以数据令牌方式直接在指令之间传递。
简述控制驱动的控制流方式和数据驱动的数据流方式的特点?
数据驱动计算,其操作时按输入数据可用性决定的次序进行的
需要驱动计算,其操作则按数据需求所决定的次序进行。
需求驱动计算模型
从语义上将,数据流是基于异步性和函数性的一种计算模型
数据驱动的概念
根据对数据令牌处理的方式不同,可以把数据流计算机的结构分成静态和动态两类。
数据流计算机的结构
1、采用提高并行度等级数据流计算机
2、采用同、异步结合的数据流计算机
3、采用控制流与数据流相结合的数据流计算机
数据流计算机的进展
1、如果题目本身数据相关性强,内涵并行性不多时,就会使效率比传统Von Neumann型机低。
2、在数据流计算机中为给数据建立、识别、处理标识,需要花费较多的辅助开销和较大的存储空间
3、数据流计算机不保存数组。处理大型组时,会增加额外的传输开销。
4、数据流语言的变量代表数值,使程序员无法控制存储分配。
5、数据流计算机互联网络设计困难,输入输出系统不够完善。
6、数据流计算机没有程序计数器,给诊断和维护带来困难。
数据流计算机存在的问题?
数据流计算机
归约机和数据流计算机一样,都是基于数据流的计算模型,只是其采用的驱动方式不同。数据流计算采用数据驱动,执行的操作序列取决于输入数据的可用性。归约机则是需求驱动,执行的操作序列取决于对数据的需求,对数据的需求又来源于函数式程序设计语言对表达式的归约。
1、归约机应当是面向函数式语言,或以函数式语言位机器语言的非Neumann型机器,其内部结构应不同于Nuemann型机器
2、具有大容量物理存储器并采用大虚存容量的虚拟存储器,具备高效的动态存储分配和管理软硬件支持,满足归约机对动态存储分配及所需存储空间大的要求。
3、处理部分应当是一种由多个处理器或多个处理机并行的结构形式,并发挥函数式程序并行处理的特长。
4、采用适合于函数式程序运行的多处理器(机)互连的结构,最好采用树形方式的互联结构或多层次复合的互联结构形式。
5、为减少进程调度机进程间的通信开销,尽量把运行进程的节点机紧靠该进程所需用的数据安排,并使运行时需相互通信的进程所占用的处理机也靠近,让各处理机的负荷平衡。
简述归约机结构的特点
归约机
八、数据流计算机和规约机
多处理机是指由两台以上的处理机,共享I/O子系统,机间经共享主存或高速通信网络通信,在同一操作系统控制下,协同求解大而复杂问题的计算机系统。
根据构型的不同,多处理机可以分为紧耦合和松耦合两种
简述多处理机的概念并根据硬件构型的不同写出多处理机的两种类型。
1、通过多台处理机对多个作业,任务并行执行来提高解题速度,从而提高系统的整体的性能。
2、使用冗余的多个处理机通过重新组织来提高系统的可靠性、适应性和可用性。
简述设计多处理机的目的
处理机型号都一样
同构型
处理机的型号不一样
异构型
分布型
多处理机的类型
多处理机属于多指令流多数据流的系统,它与单指令流多数据流的阵列处理机相比,由很大的差别,其差别主要来源于并行性的等级不同。
阵列处理机主要是针对向量、数组处理,实现向量指令操作级的并行,是开发并行性中断同时性。(资源重复)
多处理机实现的则是更高一级的作业或任务间的并行,是开发并行性中的并发性。
与SIMD的区别
1、在硬件结构上,它的多个处理机要用多个指令部件分别控制,通过共享主存或机间互联网络实现异步通信。
2、在算法上,不限于向量、数组处理、还要挖掘和实现更多通用算法中隐含的并行性。
3、在系统管理上,要更多地依靠操作系统等软件手段,有效地解决资源分析和管理,特别是任务分配、处理机调度,进程的同步和通信等问题。
多处理机的特点
多处理机执行并发任务所需的处理机的机数是不固定的。各处理机进入或退出任务的时间所需的资源的变化表较大。必须研究如何较好地解决动态的资源分配和任务调度,让各处理机的负荷尽可能均衡,并要防止死锁。
特点2
多处理机的结构、机间互联、并行算法、并行语言,编译、操作系统等都会直接映像到系统的性能和效率。
紧耦合多处理机是通过共享主存实现处理机间通信的,其通信速率受限于主存频宽。
1、紧耦合多处理机
不同处理机间或者通过通道互连实现通信,以共享某些外围设备,或者通过消息传送系统来交换信息,这是各台处理机可带有自己的外围设备。
分为层次型和非层次型l两种不同的构形
2、松耦合多处理机
紧耦合和松耦合
多处理机的互联一般采用总线,环形换连,交叉开关,多端口存储器或者蠕虫寻径网络等集中形式。随着技术的发展,当处理机的机数较多是,也有类似SUMD的多级网络。
总线形式
环形互连形式
交叉开关形式
多端口存储器形式
蠕虫穿洞寻径网络
开关枢纽结构形式
机间互联形式
多处理机的主存一般都采用由多个模块构成的并行存储器,为减少访问主存冲突,采用的方式一般是:并行多体交叉主存系统
多处理机的硬件结构
多处理机的概念、问题和硬件
由于每个处理机都有自己的专用cache,当主存中同一个信息块在多个cache中都有时,会出现多个cache之间的相应信息块的内容不一致的问题。
多cache的一致性问题
1、解决进程迁移引起的多cache不一致性。可以通过禁止进程进程的方法予以解决,也可以在进程挂起时,靠硬件方法将Cache中该进程该写过的信息块强制写回主存相应位置。
2、以硬件为基础实现多cache 的一致性。主要有监视cache协议法,既各个处理机中的cache控制器随时都在监视着其他chache 的行动,。另一种是目录表法,建立一个目录表,记录每一个数据库的使用情况
3、以软件为基础实现多cahce的一致性。例如依靠编译程序的分析,不把一些公用的可写数据存入cache中。
简述紧耦合多处理机中多cache的一致性问题的解决办法
紧耦合多处理机多cahce的一致性问题
并行算法是指可同时执行的多个进程的集合,各进程可相互作用,协调和并发操作。
并行算法的定义
数值型
非数值型
按运算的基本对象
同步型
异步型
独立型
按并行进程间的操作顺序
一般指向量或循环级的并行
细粒度
一般指较大的循环级并行,并确保这种并行的好处可以补偿因并行带来的额外开销
中粒度
一般指子任务级的并行
粗粒度
根据处理机计算任务的大小(任务粒度)
并行算法的分类
为了评价所提出的并行算法的性能效率,用P表示可并行处理的处理机机数。用Tp表示P台处理机运算的级数,既树高。用多处理机的加速比Sp,表示单处理机顺序运算的级数,T1与P台处理机并行运算的级数Tp之比。用心表示P台处理机的设备利用率(效率),可见,Sp>=1时,会是Ep<=1,既运算的加速总是伴随着效率的下降。
多处理机并行算法的研究思路
数据相关
数据反相关
数据输出相关
两个程序段之间若有先写后读的数据相关,不能并行,只有特殊情况下可以交换串行。若有先读后写的数据反相关,可以并行执行,但必须保证其写入共享主存时的先读后写次序,不能交换串行,若有写-写的数据输出相关,可以并行执行,但同样须保证其写入的先后次序,不能交换串行。若同时由先写后读和先读后写两种相关,以交换数据为目的时,必须并行执行,且读、写要完全同步,不许顺串行和交换串行。若没有任何相关或仅有源数据相同时,可以并行,顺序串行和交换串行。
程序并行性的分析
并行语言与并行编译
任务粒度过小、辅助开销大,系统效率低
任务粒度过大,并行度低,性能不会很高
任务粒度的大小会显著影响多处理机的性能和效率
多处理机的性能
多处理机的并发性和性能
主从型操作系统的结构比较简单。整个管理程序只在一个处理机上运行,除非某些需递归调用或多重调用的公用程序,一般都不必是可再入的。只有一个处理机访问执行表,不存在系统管理控制表格的访问冲突和阻塞,简化了管理控制的实现,所有这些均使操作系统能最大限度地利用已有的单处理机多道程序分时操作系统的成果,只需要对它稍加扩充即可。因此,实现起来简单,经济,方便,是目前大多数多处理机操作系统所采用的方式。
对主处理机的可靠性要求很高。一旦发生故障,很容易使整个系统瘫痪,这时必须由操作员干预才行,如果主处理机不是设计成专用的,操作员可用其他处理机作为心的主处理机来重新启动系统,整个系统显得不够灵活,同时要求主处理机必须能快速执行其管理功能,提前等待请求,以便计时位从处理机的分配任务,否则将使从处理机因长时间空闲而显著降低系统的效率,即使主处理机是专门的控制处理机,如果负荷过重,也会影响整个系统的性能,特别是当大部分任务都很短时,由于频繁的要求处理机完成大量的管理性操作,系统下列会显著降低。
优点:结构比较简单,整个管理程序只在一个处理机上运行,一般都不必是可再入的,只有一个处理机访问执行表,简化了管理控制的实现。
缺点:对主处理机的可靠性要求较高,整个系统显得不够灵活,如果主处理机的负荷过重,影响整个系统性能。
简答题:简述多处理机主从型操作系统的优缺点?
主从型
很适应分布处理的模块化结构特点,减少对大型控制专用处理机的需求,某个处理机发生故障,不会引起整个系统的瘫痪,有较高的可靠性,每台处理机都有其专用控制表格,使访问系统表格的冲突较少,也不会有许多公用的执行表,同时控制进程和用户进程一起进行调度,能取的较高的系统效率
实现复杂。尽管每台处理机都有自己的专用控制表格,仍有一些共享表格,会增加共享表格的访问冲突,导致进程调度的复杂性和开销的加大,某台处理机一旦发生故障,要想恢复和重新执行未完成的工作较困难,每台处理机都有自己专用的输入输出设备和文件,使整个系统的输入输出结构变换需要操作员干预。各处理机负荷的平衡比较困难。各台处理机需有局部存储器存放管理程序的副本,降低了存储器的利用率。
各自独立型
各类资源可以较好地坐到负荷平衡。一些相I/O中断等非专门的操作可交由在某段时间最闲的处理机取执行。它在硬件结构和可靠性上具有分布控制的优点,而在操作系统的复杂性和经济型上则接近于主从型,如果操作系统设计得好,将不受处理机机数多少的映像,因而具有很高的灵活性。
浮动型操作系统的设计最为困难
浮动型
多处理机的操作系统
分布式共享存储器多处理机
对称多处理机
多向量多处理机
并行向量处理机
大规模并行处理机
将多个高性能的工作站或高档微型计算机,使用高速的通信网络加以互联组成的系统。
1、系统有高的新能价格比
2、系统的开发周期短
3、系统的可扩展性好
4、系统的资源利用率高
5、用户的投资风险小
6、用户编程方便
机群系统比传统的并行处理机系统有明显的优点
机群系统
1 TFLOPS的计算能力
1 Tbyte的主存容量
1 Tbyte / s 的I/O带宽
计算机系统的3T性能目标
多处理机的发展
阵列处理机是单指令流
多处理机是多指令流
指令流的区别
阵列处理机主要针对向量、数组处理,实现向量指令操作级的并行,是开发并行性中的同时性。
并行等级的区别
简述多处理机与阵列处理机在指令流和并行等级的区别
七、多处理机
横向(水平)处理
纵向处理
分组纵横处理
向量处理的三种方式
向量纵向处理
向量的流水处理方式
向量指令集按并行、链接、串行的条件
分析向量指令间的情况,计算最少时钟数(大题)
vi冲突是指并行工作的各向量指令的源向量和结果向量使用了相同的vi。
功能部件冲突是指同一个功能部件被要求并行工作的多条向量指令所使用。
简述CRAY-1向量流水处理机Vi冲突和功能部件冲突的概念?
向量的流水处理与向量流水处理机
结论:向量横向处理是向量的处理方式,但不是向量的流水处理方式。而向量纵向处理和分组纵横处理既是向量的处理方式,也是向量的流水处理方式。
为了高速有效地处理向量数据,这种构形要求能把数据合理地预分配到各个处理单元的局部存储器中,使各处理单元PEi主要用自己的PEMi中的数据运算。
分布式存储器阵列处理机的构形
集中式共享存储器的阵列处理机构形
阵列处理机两种构形,差别在于存储器的组成方式和互联网络的作用不同
与同样擅长于向量处理的流水线处理机相比,阵列处理机利用的是资源重复,而不是时间重叠。利用的是并行性中的同时性,而不是并发性。
阵列处理机的构形
矩阵处理机解决矩阵加是最简单的一维情况
矩阵加
矩阵乘是二维数组运算,比矩阵加要复杂。
矩阵乘
这是一个将N个数的顺序相加转为并行相加的问题,为得到各项累加的部分和与最后的总和,要用到处理单元中的活跃标志位,只有处于活跃状态的处理单元才能执行相应的操作。
1、置全部PEi为活跃状态。0<=i<=15;
2、置全部A(i)从PEi的a单元读到相应PEi的累加寄存器RGAi中,0<i<=15;
3、令K=0
4、将全部PEi的(RGAi)转送到传送寄存器RGRi,0<=i<=15;
5、将全部PEi的(RCRi)经过互联网络各右传送2^k步距,0<=i<=15
6、令j=2^k - 1
7、置PE0 ~ PEj为不活跃状态
8、处理活跃状态的所有PEi执行(RGAi):=(RGAi)+(RGRi),j<i<=15
9、令K:=K+1
10、若K<4,则转回(4)
11、置全部PEi为不活跃状态,0<=i<=15
12、将全部PEi的累加寄存器内容(RGAi)存入相应PEi的a+1单元中,0<=i<=15
累加和的算法步骤如下
累加和(背)
ILLIAC IV的并行算法举例
阵列处理机的原理
1、阵列处理利用的是资源重复,流水线处理机利用的是时间重叠。
2、阵列处理机利用的并行性中的同时性,流水线处理机利用的是并行性中的并发性。
3、阵列处理机使用简单,规整的互联网络来确定处理单元之间的连接,流水线处理机的功能部件一般比较固定。
简述阵列处理机与流水处理机的区别?
互联网络是多个CPU之间怎么传输网络
1、结构不要过分复杂,以降低成本。
2、互连要灵活,以满足算法和应用的需要。
3、处理单元间信息交换所需的传送步数要尽可能少,以提高速度性能。
4、能用规整单一的基本构件组合而成,或者经多次通过或者经多级连接来实现复杂的互连,使模块性能好,以便于用VLSI实现并满足系统的可扩充性。
SIMD系统的互联网络的设计目标?
互联网络的设计目标与互联函数
同步
异步
同步与异步
操作方式
线路交换
包交换
线路与包交换
包交换组合
静态
单级
多级
动态
网络的拓扑结构指的是互联网络入、出端可以连接的模式
互联网络应抉择的几个问题
Cube0是右边第一位相反Cube1是中间相反Cube2是左边第一位相反
Cubei是第i位相反,其余位相同~可以进行互联
1、立方体单级网络
2、PM2I单级网络
把数据转换成2进制以后,把最高位移动到最低位之后进行相联的。
3、混洗交换单级网络
把数据转换为2进制以后,把最低位和最高位交换之后进行相联的。
4、碟形单级网络
基本的单级互联网络
交换开关是具有两个入端和两个出端的交换单元,用作各种多级互联网络的基本构件。无论入端或出端,如果令居于上方的都用i表示,居于下方的都用j表示,则可以定义下列4种开关状态或连接方式
交换开关
拓扑结构
同一级的所有开关只有一个控制信号控制,同时只能处于同一种状态。
级控制
每一个开关都有自己独立的控制信号控制,可各自处于不同的状态。
单元控制
第i级的所有开关分别用i+1个信号控制,0<=i<=n-1,n为级数,利用上述交换开关,拓扑结构和控制方式3个参量,可以描述各种多级互联网络的结构。
部件级控制
以多级立方体网络为例
控制方式
不同的多级互联网络,在使用的交换开发,拓扑结构和控制方式上各有不同。
多级立方体网络由STARAN网络,间接二进制n方体网络等。STARAN网络用作交换网络时,采用级控制,实现的是交换函数。
同一级的所有开关只用一个控制信号控制,同时只能处于同一种状态,
极控制
每一个开关都由自己独立的控制信号控制,可各自处于不同的状态,
第i级的所有开关分别用i+1个信号控制,其中0<=i<=n-1,n为级数。
部分级控制
多级立方体网络对各个交换开关的控制方式有三种
简述多级立方体网络对各个交换开关的控制方式?
多级立方体网络
多级混洗网络(omega网络)
多级PM2I网络
基准网络在多级网络中可作为中间介质,模拟一种网络的拓扑和功能。
基准网络
多级交叉开关(CLOS)网络是一种非阻塞式网络
多级交叉开关网络
多级蝶形网络
基本的多级互联网络
1、在多级互联网络的输出端设置锁存器,使数据在时间上顺序通行两次。
2、将一个多级互联网络和它的逆网络串接起来,合并掉中间完全重复的一级,得到总级数的2log2-1的多级网络。
简述实现全排列网络的两种方法?
全排列网络
SIMD(单指令多数据流)计算机的互连网络
情况一、对一维数组而言,假定并行存储器分体数m为4,交叉存放一维数组。
情况二、对于二维数组(结论页适用于多维数组)而言,假设主存由m个分体并行,从中访问由n个元素的数组子集,这n个元素的变址跳距对应二维数组的行、列、主对角线、次对角线都是一样的,但要求都能实现无冲突访问。为了能使行或列的各元素都能并行访问,采取将数据在存储器中错位存放,但是该方案可造成主对角线不上各元素的并行访问冲突,致使时间频宽下降一半,次对角线上各元素的访问则都发生冲突,使时间频宽低成与串行一样。
情况三、并行存储器中存放的数组大小是不固定的,多维数组各维的元素个数也不一定相等,他们还可以超出已选定的分体数m的值。
共享主存构形的阵列处理机中并行存储器的无冲突访问
脉动阵列结构是由一组处理单元(PE)构成的阵列。
运算时数据在阵列结构的各个处理单元间沿各自的方向同步向前推进,就像血液受心脏有节奏地搏动在各条血管中间同步向前流动一样,因此,形象地称其为脉动阵列结构,实际上,为了执行多种计算,脉动性系统内的输入数据流和结果数据流可以在多个不同方向上以不同的速度向前搏动。
实现方法
1、结构简单,规整,模块化强,可扩充性好,非常适合用超大规模集成电路实现。
2、PE间数据通信距离短,规则,使数据流和控制流的设计,同步控制等均简单规整。
3、所有PE能同时运算,具有极高的计算并行性,可通过流水获得很高的运算效率和吞吐率。
4、脉动阵列结构的构形和特定计算任务和算法密切相关,具有某种专用性。
简述脉动阵列结构计算机的特点
VLSI:超大规模集成电路
脉动阵列流水处理机
六、向量处理机
收藏
0 条评论
下一页