计算机系统结构串讲讲解_第1页
计算机系统结构串讲讲解_第2页
计算机系统结构串讲讲解_第3页
计算机系统结构串讲讲解_第4页
计算机系统结构串讲讲解_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业第 1 章 系统结构的基本概念1.1计算机系统的多级层次结构1.从使用语言的角度,高到低分别为:应用语言机器级、高级语言机器级、汇编语言机器级、 操作系统机器级、传统机器语言机器级和微程序机器级。2.各机器级的实现方法:翻译(变换成低一级等效程序)或解释(仿真高级机器级语句或指令)3.多层次结构的观点得出,软件的功能可以由硬件实现,硬件的功能也可用软件模拟实现。1.2计算机系统结构、组成与实现1. 透明:客观存在的事物或属性从某个角度看不到的。2. 计算机系统结构:传统

2、机器级的系统结构;它是软、硬件之间的功能分配以及对传统机器级界面的确定,提供机器语言、汇编语言程序设计者或编译程序生成系统为使其设计或生成的程序能在机器上正确运行应看到和遵循的计算机属性。数据表示、寻址方式、寄存器组织、指令系统、存储系统组织、中断系统、管态目态定义与转换、IO结构、保护方式和机构。2. 计算机组成:是计算机系统结构的逻辑实现,包括机器级内的数据流和控制流的组成及逻辑设计等。(1)数据通路宽度;(2)专用部件的设置;(3)各种操作对部件的共享程度;(4)功能部件的并行度;(5)控制机构的组成方式;(6)缓冲和排队技术;(7)预估、预判技术;(8)可靠性技术。3.计算机实现:指的

3、是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度。它着眼于器件技术和微组装技术,器件技术在实现技术中起着主导作用。4. 计算机系统结构、组成、实现三者互不相同,但又相互影响。相同结构(如指令系统相同)的计算机,可以因速度不同而采用不同的组成;相同组成可有多种不同的实现方法。系统结构不同会使可能采用的组成技术不同。反过来,组成也会影响结构。组成设计上面决定于结构,下面受限于实现技术,它们是可以与实现折衷权衡的。组成和实现的权衡取决于器件的来源、厂家的技术特长和性价比能否优化。1.3计算机系统设计思路:解题速度、程序存储空间、硬件成本、硬件利用率、计算机系统的灵活性和适

4、应性。2. 软、硬件取舍的基本原则:1)在现有硬、器件条件下,系统要有高的性价比,主要从实现费用、速度和其他性能要求来综合考虑。2)尽可能的不要过多或不合理的限制各种组成、实现技术的采用。3)“硬”件便于应用组成技术的成果和便于发挥器件技术的进展, “软”件为编译和操作系统的实现以及为高级语言程序的设计提供更多更好的硬件支持。3. 计算机系统的设计思路: 由上往下,由下往上,由中间开始由上往下:从考虑如何满足应用要求,定好面对使用者那级机器应有什么基本功能和特性,逐级往下设计,每级都考虑怎样优化上一级实现,这样设计的计算机系统对于设计时面向的应用必然是很好的。缺点是应用的改变会带来系统效率的急

5、剧下降;适用于专用机设计,不适用于通用机的设计。由下往上:不管应用的要求,只根据已有器件和硬件的状况,先设计微程序机器级,先设计出微程序机器级(如果采用微程序控制)及传统机器级,然后再为不同应用配多种操作系统和编译软件,使应用人员可根据所提供的语言种类、数据形式,采用合适的算法来满足相应的应用。这是常用的通用机设计思路。缺点是造成软硬件脱节,软件设计复杂;由中间开始:从层次结构中的软硬交界面,目前多数是传统及其级与操作系统机器级之间。既考虑能拿到的硬、器件,又要考虑硬件对操作系统、编译系统的实现提供什么支持,然后由中间点分别往上、往下进行软件和硬件的设计。优点在于:针对上述两种方法的缺陷,软件

6、和硬件并行设计,可缩短系统设计周期,设计过程中可交流协调,是一种交互式的、较好的设计方法。1.4软件的可移植性:指的是软件不修改或只经少量修改就可由一台机器移到另一台机器上运行,同一软件可应用于不同的环境。优点:软件能长期使用,减少了编制软件的工作量,让新系统立即发挥效能。2、实现软件移植的几个基本技术:统一高级语言、采用系列机、模拟和仿真。1) 统一高级语言:设计出一种完全通用的高级语言,结构相同以至完全不同的机器之间都能实现高级语言程序的软件移植。 问题是:A不同的用途要求语言的语法、语义结构不同。B人们对语言的基本结构看法不一。C即使同一种高级语言不同厂家的机器上也不能完全通用。D受习惯

7、势力阻挠。对策:统一高级语言可以解决结构相同或完全不同的机器间的软件移植,但目前难以解决,只能作相对统一。2).采用系列机:在结构相同或相似的机器之间实现软件移植。从中间向两边设计相呼应。在软、硬件界面上设定好一种系统结构,其后,软件设计者按此设计软件,硬件设计者根据机器速度、性能、价格的不同,选择不同器件、硬件和组成、实现技术,研制并提供不同档次的机器。优点:解决了软件环境要求稳定,软件可不断积累、丰富、提高。能不断采用新的器件和硬件技术,使之性能不断提高。缺点:因要保持向后兼容性,器件越来越复杂,最终系统结构受到发展限制。系列机软件兼容最基本要求和特征是系列机软件必须保证向后兼容,力争向上

8、兼容。对策:系列机是普遍采用的好办法,但只能实现同一系列内软件兼容,同时软件兼容又会阻碍系统结构突破性的发展;适当的时候推出新的系列结构。3)模拟和仿真模拟:用机器语言程序解释实现软件移植的方法。缺点运行速度显著降低,实时性差,模拟程序编制复杂和费时。仿真:用微程序直接解释另一种机器指令系统的方法。缺点:微程序机器结构深依赖于传统机器级的结构,当两种机器结构差别大时就很难仿真。两者区别:模拟和仿真是不同系统结构的机器之间的机器语言软件移植方法。在于解释用的语言。仿真是用微程序解释,其解释程序存在控制存储器中;模拟是用机器语言解释,其解释程序存在主存中。对策:模拟灵活,可实现不同系统间的软件移植

9、,但结构差异较大时,效率、速度会急剧下降;仿真速度较快,但不灵活,只能在差别不大的系统之间使用。因此,在不同系列机器间的软件移植时,将模拟和仿真两种技术结合起来使用。1.5处理性价格比关系两种趋势:维持价格提高性能;维持性能降低价格。从系统结构的观点看:低档(型)机上引用甚至照搬高档(型)机的结构和组成。巨、大型机一般采取维持价格、提高性能或提高价格、提高性能来研究和采用新的结构及组成。为保持小、微型机的便宜价格,从结构和组成上采用为不同用途提供相应选购件或扩展部件的做法是可取的。2.器件的发展历程:从电子管、晶体管、小规模集成电路、大规模集成电路迅速发展到超大规模集成电路,并使用或开始使用砷

10、化镓器件、高密度组装技术和光电子集成技术。已从非用户片发展到现场片与用户片。同一系列内各档机器可分别用通用片、现场片或用户片实现。等机器成熟取得用户信任后,再改用半用户片或全用户片实现。高速机器一般一开始就用门阵列片或用户片,才能发挥出单元电路的高速性。器件的发展改变了计算机系统设计的传统方法。过去逻辑设计主要是以节省功耗、降低成本、提高速度为目的,而对VLSI来说,如何能缩短设计周期、提高系统效能及能用上批量生产的通用的VLIS片子为目的。器件的发展推动结构和组成的发展。加速了结构的“下移”;促进了算法、语言和软件的发展。1.6 1.并行性:指有同时进行运算或操作的特性。开发并行性的目的是为

11、了能并行处理,以提高计算机解题的效率。并行性包括同时性(二个或多个事件在同一时刻发生)和并发性(两个或多个事件在同一时间间隔内发生)2)并行性等级执行程序的等级划分:(由低到高)指令内部、指令之间、任务或进程之间、作业或程序之间处理数据的等级划分:(由低到高)位串字串、位并字串、位片串字并、全并行信息加工的等级划分:(由低到高)存储器操作并行、处理器操作并行、指令、任务、作业并行。3)并行性开发的途径 :时间重叠,资源重复,资源共享时间重叠:引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,加快硬件周转来赢得速度。资源重复:引入空间因素,通过重复设置硬件资源

12、来提高可靠性或性能。资源共享:用软件的方法让多个用户按一定时间顺序轮流使用同一套资源来提高其利用率,也就提高了系统的性能。并行处理计算机的结构:流水线计算机时间重叠,阵列处理机资源重复,多处理机资源共享。4)计算机系统的并行性发展1960年以前,算术运算的位并行及运算与输入/输出操作的并行。19601970年,多道程序分时系统、多功能部件、流水线单处理机等。19701980年,VLSI的普遍应用,出现了大型和巨型的向量机、阵列机、相联处理等多种并行处理系统结构。19801990年,有精简指令系统计算机(RISC),指令级并行的超标量处理机、超流水线处理机、超长指令字(VLIW)计算机,多微处理

13、机系统,数据流计算机和智能计算机。 1990年以来,计算机发展进入新的多计算机和智能计算机时代。多处理机包括多向量机及机群系统、多计算机系统将是今后并行处理计算机发展的主流。3T性能目标:要求计算机系统能有1TFLOPS计算能力、1TB主存容量、1TB/sI/O带宽。2、并行处理机按其基本结构特性分为四种:流水线计算机、阵列处理机、多处理机(分布处理、机群系统和MPP)和数据流计算机。2)多机系统包含多处理机系统和多计算机系统。多处理机系统:是由多台处理机组成的单一系统。 多计算机系统:则是由多台独立的计算机组成的系统。耦合度:反映多机系统中各机器之间物理连接的紧密度和交叉作用能力的强弱。多机

14、系统的耦合度有最低耦合、松散耦合、紧密耦合之分。3. 计算机系统的分类(弗林分类法):按指令流和数据流的多倍性对计算机分类。四大类:SISD(单处理器的计算机、流水线单处理机)、SIMD(阵列处理机、相联处理机)、MISD(脉动阵列流水机)、MIMD(多处理机和多计算机系统)第 2 章 数据表示、寻址方式与指令系统2.1数据表示:是能由机器硬件直接识别和引用(处理)的数据类型;数据表示是硬件设计的基础,数据结构:各种数据元素之间的结构关系,是软硬功能分配中软的方面。数据结构是通过软件映象变换成机器所具有的各种数据表示实现,数据表示是数据结构的组成元素。2. 高级数据表示1) 自定义数据表示:标

15、志符和数据描述符2)带标志符的数据表示 :将数据类型和数据本身联系在一起,机器语言中的操作码和高级语言的运算符能够通用于各种数据类型的操作。优点:简化了指令系统和程序设计;简化了编译程序;便于实现一致性校验;能由硬件自动完成数据类型的变换;支持了数据库系统的实现与数据类型无关的要求;为软件调试和应用软件开发提供了支持。标志符应由编译程序建立,对高级语言程序透明,以减轻应用程序员的负担。缺点:每个数据字因增设标志符,会使程序所占用的主存空间增加;采用标志符会降低指令的执行速度。3)数据描述符:主要用于描述向量、数组、记录等成块数据。数据描述符和标志符的差别:标志符是和每个数据相连的,合存在一个存

16、贮单元中,描述单个数据的类型特征;描述符是和数据分开存放的,专门用来描述所要访问的整块数据特征。优点:描述相同类型的数据块时,占用空间比标志符少,比标志符的效率要高;为向量、数组实现提供了支持,有利于简化高级语言编译中的代码生成可以比变址法更快形成元素地址。缺点:由于没有相应的向量、数组运算类指令的高速运算硬件,数据描述符并不能支持向量、数组的高效实现。4)向量数据表示:为向量、数组数据结构的实现和快速运算提供更好的硬件支持的方法是增设向量、数组数据表示,组成向量机,如STAR-100和CRAY-1等。有向量数据表示的处理机就是向量处理机,如向量流水机、阵列机、相联处理机等。引入向量、数组数据

17、表示优点:1)快速形成元素的地址,2)便于实现把向量各元素成块预取到中央处理机,并用一条向量、数组指令流水或同时对整个向量、数组高速处理,用硬件判断下标是否越界,3)让越界判断和元素运算并行。高速巨型机都设置有向量数据表示;现在向量、数据表示已下移到了通用机和系列机上。5)堆栈数据表示特点:有高速寄存器组成的硬件堆栈,并与主存中的堆栈区在逻辑上构成整体,使堆栈的访问速度是寄存器的,容量是主存的。有丰富的堆栈操作指令且功能很强,直接可对堆栈中的数据进行各种运算和处理。有力地支持了高级语言程序的编译。有力地支持了子程序的嵌套和递归调用。6)引入数据表示的原则:1)看系统的效率是否提高,即减少了实现

18、时间和存储时间。2)其通用性和利用率是否高。数据表示的确定:一般计算机选用常用的数据表示;对较高级的数据表示要有针对性的选取;3. 浮点数尾数基值大小和下溢处理方法的选择1) 浮点数尾数基值大小优点:当机器字长相同时,用浮点数表示实数比用定点数表示有更大的可表示数范围。浮点数阶值位数p即可表示数的范围大小,尾数的位数m主要影响表示值的精度。当阶值位数p、m一定时,尾数采用什么进制也还会影响到数的可表示范围、精度及数在数轴上分布的离散程度。非负阶、正尾数,且都是规格化数的情况:可表示最小尾数值,最小值:rm-1 可表示最大尾数值:1-rm-m 可表示尾数的个数:可表示最大值: 可表示阶的个数:2

19、p 可表示最大阶值: 2p-1 可表示数的个数:2p 尾数基值取大,会扩大浮点数的范围、增加可表示数的个数、减少移位的次数、降低右移造成的精度损失、提高运算速度,但会降低数据的表示精度、数值的分布变稀。一般在大、中型机上,宜取大,使数的表示范围大、个数多、运算速度快,因浮点数尾数位数相对多得多,所以精度实际比小、微型机的高得多;而小、微型机由于可表示数范围不要求太大,速度也不要求太高,尾数字长较短,所以更注重于可表示精度,宜使取得小些。2、下溢处理方法的选择:下面以二进制数0.0111为例,机器字长为2。1)截断法:0.01,去掉你的尾巴 2)舍入法:0.10,小数点第三位为1进1,为0舍去

20、3)恒置1法:0.014)查表舍入法:产生误差值最大的是恒置1法,最小的舍入法;平均误差最大的是截断法,最小的是查表舍入法;下溢处理不需要附加时间,速度最快的, 最省硬件的是截断法和恒置1法,最慢的是舍入法,最费硬件的是查表舍入法。基本思想:ROM查表舍入法是将K位数据下溢处理成K-1位的结果,ROM表存储容量为2k个单元,每个单元字长为K-1位。待处理的K位数据作为地址,按此地址读出表中对应单元中所存放的K-1位内容就是该数经下溢处理后的结果。ROM表安排原则:)当k位尾数为非全1时,按舍入法取值;)当k位尾数为全1时,按截断法取值。2.2寻址方式:指令寻找操作数或信息的方式,三种:面向寄存

21、器、面向堆栈、面向主存。2)寻址方式在指令中的两种指名方式3)程序在主存中的定位技术:静态再定位:是目的程序装入主存时,通过调用装入程序,把目的程序的逻辑地址用软的方法逐一修改成物理地址。不利于多道程序运行、程序的可重入、故障排除、重叠流水技术使用。动态再定位:程序在执行过程中,通过地址加法器将逻辑地址加上基址寄存器中的基址,形成物理地址访存。基址寻址与变址寻址的区别:基址寻址是对逻辑地址空间到物理地址空间变换的支持,以利于实现程序的动态在定为。变址寻址是对向量、数组等数据块的运算支持,以利于实现程序的循环。4)信息按整数边界存放:主存内同时存有多种长度的信息,为了让任何所需的信息都只用一个存

22、储周期访问到,要求信息在主存中存放的地址必须是该信息宽度的整数倍。P61.72.3指令格式的优化设计:如何用最短的位数来表示指令的操作信息和地址信息,使程序中指令的平均字长最短。1)指令操作码的优化:主要是为了缩短指令字长,减少程序总位数及增加指令字能表示的操作信息和地址信息。操作码等长编码:定长码表示需要 (即3)位哈夫曼编码 :1)将所有指令的使用频率由小到大排序; 2)每次选择基中最小的二个频度合并成一个频度,并插入余下未参与结合的频度值中;3)重复步骤2直至结合完毕形成根结点 4)每个结点向下延伸的二个分支左标1,右标0(相反也行)5)从根结点开始沿线到达各指令所经的代码序列就构成了该

23、频度指令的哈夫曼编码。哈夫曼编码不惟一,但采用全哈夫曼编码,操作码是可用二进制位编码平均码长惟一且最短的编码。全哈夫曼编码是最优化的编码。扩展操作码编码:用有限的几种码长对操作码给行编码,即让平均码长接近哈夫曼编码,又能让计算机方便地进行处理。扩展码的扩展的方法:早期一般采用等长扩展,如15/15/15法和8/64/512法,但现在不再强调等长扩展了。2)指令格式优化的措施:在操作码优化基础上,再在地址码和寻址方式采取相关措施,就可以减少程序的总位数,使指令字格式达到优化。采用扩展操作码,并根据指令频度pi的分布状况选择合适的编码方式,以缩短操作码的平均码长;多种寻址方式,采用诸如基址、变址、

24、相对、寄存器、寄存器间接、段式存放、隐式指明等,以缩短地址码的长度,并在有限的地址长度内提供更多的地址信息;多种地址制,采用0、1、2、3等,以增强指令的功能,从宏观上缩短程序的长度,并加快程序的执行速度; 在同种地址制内再采用多种地址形式,如寄存器-寄存器、寄存器-主存、主存-主存等,每种地址字段可以有多种长度,且让长操作码与短地址码进行组配;在维持指令字在存储器中按整数边界存储的前提下,使用多种不同的指令字长度。2.4CISC(复杂指令系统计算机)优化实现:(1) 面向目标程序优化 (2) 面向高级语言优化 (3) 面向操作系统优化2.5CISC结构存在的问题: (1) 指令系统庞大,一般

25、在200条指令以上。许多指令功能异常复杂。 (2) 由于许多指令的繁杂,执行速度很低。 (3) 指令系统庞大,高级语言编译程序选择目标指令的范围大,难以优化成高效机器语言程序,编译程序太长太复杂。 (4)指令系统庞大,各种指令的使用频度都不会太高,具差别很大,其中相当一部分指令的利用率很低。2.设计RISC机器一般原则(1)精简指令条数,只选择使用频度很高的那些指令,使之一般不超过100条。(2)减少指令系统所用寻址方式种类,一般不超过两种,并让全部指令都是相同长度。(3)让所有指令都在一个机器周期内完成。 (4)扩大通用寄存器数,尽量减少访存,只有存、取指令访存,其他指令一律只对寄存器操作。

26、(5)为提高指令执行速度,大多数指令都用硬联控制实现,少数指令才用微程序实现。(6)通过精简指令和优化设计编译程序,简单有效地支持高级语言的实现。3. 设计RISC结构采用的基本技术(1)按设计RISC的一般原则来设计。(2)逻辑实现采用硬联和微程序相结合。(3)用重叠寄存器窗口。(4)指令用流水和延迟转移。(5)优化设计编译系统。4. 采用RISC结构优点:(1)简化指令系统设计,适合VLSI实现。(2)提高机器的执行速度和效率。(3)降低了设计成本,提高了系统的可靠性。(4)可直接支持高级语言的实现,简化编译程序的设计。5. RISC存在某些问题(1)使原在CISC上由单一指令完成的某些复

27、杂功能现在要用多条RISC指令才能完成,加重了汇编语言程序设计的负担,增加了机器语言程序的长度,占用存储空间多,加大了指令的信息流量。(2)对浮点运算执行和虚拟存储器的支持虽有很大加强,但仍显得不足。(3)RISC机器的编译程序比CISC的难写。计算机发展趋势:使得在设计CPU时,向着RISC和CISC结合,取长补短的方向发展。第3章 总线、中断和输入输出系统3.1输入输出系统的基本概念1.I/O系统的组成:输入输出设备、设备控制器及与输入输出操作有关的软、硬件。2.I/O系统的面向操作系统的设计:大多数计算机的I/O系统的设计应是面向操作系统,考虑怎样在操作系统与I/O系统之间进行合理的软、

28、硬件功能的分配。输入输出系统硬件的功能对应用程序员来说是透明的。3. I/O系统3个阶段:程序控制I/O(全软、程序查询、中断驱动)、直接存储器访问(DMA)及I/O处理机方式。4、I/O处理机方式又分为:通道方式(CH)和外围处理机方式(PPU)。3.2总线分类:1)单向传输和双向传输:(允许信息传送方向)2)专用总线和非专用总线(用法)专用总线:优点是多个部件同时收发,不争用总线,系统流量高,控制简单,可靠性高,但线路复杂。非专用总线:多种功能或多个部件分时共享,同是只有一对部件可使用总线进行通讯。优点是总线数少,接口标准化,模块性强,可扩充能力强,缺点是系统流量小,出现争用总线的情况,可

29、能导致系统瘫痪.2.总线的控制方式:1)串行链接:所有部件经公共总线请求向控制器发出使用申请;总线请求信号串行通过每个部件,发送结束后去除总线忙,由部件物理位置决定其使用总线优先级。优点是控制简单。缺点是优先级不灵活,信号失效敏感。2)集中式查询:所有部件经公共总线请求向控制器发出使用申请;总线定时查询计数并寻找发送部件。优点是优先级灵活,可靠性高,缺点是控制线数多,控制复杂。3)集中式独立请求方式:每个部件各自一对请求和准许线;控制器根据某种算法确定使用总线部件。优点是总线分配速度快,优先级灵活。缺点是控制线数多,控制复杂。3.总线的通讯技术:同步通讯和异步通讯,异步通讯又分为单向控制和请求

30、/回答双向控制两种方式。4、数据宽度: I/O设备取得I/O总线后一次所传送的数据总量。有单字、定长块、可变长块、单字加定长块和单字加可变长块等。总线线数:在满足性能前提下,总线线数可通过线的组合、编码及并/串-串/并转换来减少,但一般会降低总线的流量。3.3中断源:引起中断的各种事件。中断请求:中断源向中断系统发出请求中断的申请。中断响应过程:CPU中断现行程序的运行,转去对该请求进行预处理,调出中断的处理服务程序,准备运行。2)为什么要分类:由于中断源相互独立而且随机地发出中断请求,当有多个中断源同时申请中断时,系统应根据中断源的性质、紧迫性、重要性以及软件处理的方便性,对中断进行分级。中

31、断系统中按中断级别的高低来来响应。中断进行优先级依次为:机器校验、程序性和管理程序调用、外部中断,I/O中断、重新启动。2.通过中断屏蔽位改变中断响应次序的方法1)中断响应次序是由硬件中中断排队器所决定的中断响应次序,是定死的。2)中断处理要由中断处理程序来完成,而中断处理程序在执行前或执行中是可以被中断的,所以中断处理次序和中断响应的优先次序可以不同,中断级屏蔽位寄存器用以决定某级中断请求能否进入中断响应排队器。3、中断系统功能包括:中断请求保存、优先级确定(硬件)、中断现场保存、对中断请求分析(硬件)和处理、中断返回等。中断系统的软、硬件功能分配实质是_中断处理程序_程序软件和_中断响应_

32、硬件的功能分配。3.4通道处理机进行输入输出的过程1)应用程序进行一次输入输出,只能在目态程序中安排要求输入/输出的访管指令,并带上设备号、设备与主存交换的字节数、与主存交换信息的起始地址等参数。2)CPU执行到访管指令时,按其入口地址,将管理程序调出来执行。管理程序就执行“启动I/O”指令,进入通道开始选择设备期。在通道开始选择设备期内,CPU先选择指定的通道、子通道、备控制器和设备,向设备发启动命令。设备启动成功后,CPU退出管态,继续运行目态程序。而通道进入通道数据传送期。被启动的通道开始执行存放于通道缓冲区内通道程序组织I/O操作,直至通道程序执行完无链通道指令后,传送完成,转入通道数

33、据传送结束期,向CPU发出I/O中断请求。CPU响应此中断请求后,第二次转管态,调出相应管理程序对中断请求进行处理。之后,再返回目态,继续目态程序的运行。每完成一次输入/输出只需两次进管,大大减少了对目态程序的干扰,显著提高了CPU运算和外设操作及多台设备可以并行工作。2.通道的分类:根据通道数据传送期中信息传送方式的不同,分三类通道:字节多路、选择和数组多路。1)字节多路通道适用于连接大量的像光电机等字符类低速设备(如键盘、鼠标、打印机)。通道“数据宽度”为单字节,以字节交叉方式轮流为多台低速设备服务,使效率提高。2)数组多路通道适合于连接多台像磁盘等高速设备。“数据宽度”为定长块,传送完K

34、个字节数据后就重新选择下个设备。采用成组交叉方式轮流为多台磁盘设备服务。3)选择通道适合于连接优先级高的磁盘等高速设备(如高速磁盘等),让它独占通道,只能执行一道通道程序。“数据宽度”为可变长块,一次对N个字节全部传送完。3. 通道流量:通道在数据传送期内,单位时间内传送的字节数。假设设计通道选择一次设备的时间TS和传送一个字节的时间TD,数组多路通道每选择一台设备传送“定长块”K个字节,选择通道每选择一台设备传送“可变长块”N个字节。字节多路通道极限流量 数组多路通道极限流量选择通道通道极限流量 设备要求通道的实际最大流量:字节多路通道 数组多路通道 选择通道通道所挂设备在满负荷的最坏情况下

35、都不丢失信息,必须满足设备要求通道的实际最大流量不超过通道的极限流量,因此,上述三类通道应分别满足、如果I/O系统有m个通道,其中1至m1为字节多路,m1+1至m2为数组多路,m2+1至m为选择,则I/O系统的极限流量为: 第4章 存储体系4.1 1、发展存储体系的必要性1)存储系统的基本要求:大容量、高速度和低价格。最大频宽Bm是存储器连续访问时的频宽。单体的Bm=W/TA。m个存储体并行的最大频宽Bm=Wm/TA。2)弥补CPU与存储器速度上差距途径:发展存储系统(1)组成上引入并行和重叠技术,构成并行主存系统,在保持每位价格基本不变的情况下,能使主存的频宽得到较大的提高;但靠这种并行主存

36、的方法来提高频宽是有限的。(2)系统结构上改进;使所有信息以各种方式分布于不同的存储器上。例如,至少应有主存和辅存。4.1.2.并行主存系统:能并行读出CPU字的单体多字和多体单字、多体多字的交叉访问主存系统。单体单字存储器:Bm=W/Tm 单体多字存储器:Bm=mW/Tm 多体多字交叉访问存储器:Bm=mW/Tm4.1.3. 并行主存系统频宽的分析提高模m值是能提高并行主存系统的最大频宽的直接方法,但主存实际频宽并不是随m值增大而线性提高。原因在于以下两点:一是系统效率的问题。二是在工程实现上由于模m越高,存储器数据总线越长,总线上并联的负载越重,有时还不得不增加门的级数,这些都会使传输延迟

37、增加。平均频宽 其中m是分体个数,是转移概率。4.存储体系:让构成存储系统的n种不同的存储器(M1Mn)之间,配上辅助软、硬件或辅助硬件,从应用程序员来看,它们在逻辑上是一个整体。让存储层次的等效访问速度是接近于M1的,容量是Mn的,每位价格是接近于Mn的。2、典型的两级存储体系是虚拟存储器和Cache存储器。1)虚拟存储器:是从主存容量满足不了要求提出来的。从应用程序员来看,主、辅存就构成了一个完整的整体,速度接近于主存的,容量是辅存的,每位价格接近于的辅存。2)Cache存储器:在CPU和主存之间增设高速、小容量、每位价格较高的Cache,用辅助硬件将Cache和主存构成整体。从CPU看,

38、有接近于Cache的速度、主存的容量,接近于主存的每位价格。3、存储体系透明性:虚拟存储器和Cache存储器对应用程序员都是透明的。虚拟存储器对系统程序员是不透明的。4、存储体系构成依据是程序的局部性:程序局部性包括时间局部性和空间局部性。时间局部性:在最近的未来要用到的信息很可能是现在正在使用的信息,这是因为程序存在循环。空间局部性:在最近的未来要用到的信息很可能是现在正在使用的在程序空间上是邻近的,这是因为指令通常是顺序存放、顺序执行,数据通常是以向量、阵列、树形、表格等形式簇聚地存放的。4)存储体系的性能参数:为评价存储层次性能,引入存储层次的每位价格c、命中率H和等效访问时间TA。存储

39、层次的每位价格使SM1SM2存储层次的每位价格能接近于c2命中率H定义为CPU产生的逻辑地址能在M1中访问到(命中到)的概率。存储层次的等效访问时间希望TA越接近于TA1,即存储层次访问效率越接近于1越好。在主、辅存之间增加一级电子磁盘,使级间r值不会过大,有利于降低对H的要求,以获得同样的e。所以要想使存储层次的访问效率e趋于1,就要在选择具有高命中率的算法、相邻二级的容量差和速度差及增加的辅助软、硬件的代价等因素间综合权衡,进行优化设计。4.2.虚拟存储器管理方式:根据所用的映像算法,分3种:段式、页式和段页式1、页式虚拟存储器管理思想:逻辑空间分页,物理空间分同样大小的页,二者对应。2)

40、页表:主存起点,装入位,访问方式,专用位3)地址变换过程(P92图4.13)根据虚地址中的用户标志在页表基址寄存器找到程序页表的始点;根据程序页表的始表和虚地址中的用户虚页号找到页表的对应行;把页表对应行的实页号和虚地址的页内位移装入到主存地址寄存器根据主存寄存器的值访问主存。4)优缺点:优点是映象表硬件较少,地址转换速度快,调入操作简单,页内零头浪费少。缺点是不易修改、保护,不易实现其用段的管理。2、页式虚拟存储器构成1)虚地址Ns:用户标志U、用户虚页号Nv及页内地址Nr; 实地址np:实页号nv、页内位移nr;2)全相联映象:让每道程序的任何虚页可以映象装入任何实页位置。它用页表作为地址

41、映象表,故称之为页表法。3)相联目录表法:由于页表中绝大部份行中的实页号及其它字段无用,降低了页表的空间利用率,所以把页表压缩成只存放已装入主存的那些虚页与实页位置的对应关系,简称目录表法。4)外页表与内页表:用类似于页表的方式为每道程序设置一个存放用户虚页号与辅存实地址映象关系的表称为外页表;而页表则称为内页表。内页表的地址映象和变换是由硬件完成的,外页表由于辅存访问速度比较慢,所以用软件实现以节省硬件成本。例P123习题83、页面替换算法:虚存的空间要比主存的空间大得多,当出现页面失效而主页页已满的情况下,必须强制主存中腾出某页让给辅存调来的新页,调出主存中的哪页的方法即为替换算法。替换算

42、法的确定主要看主存是否有高的命中率。2)RAND、FIFO、LRU及OPT算法RAND算法:用软硬件的随面数产生主存中要被替换页的页号。FIFO算法:选择最早装入主存的页作为被替换的页。这种算法实现方便,但不一定正确反映出程序的局部性。LRU算法:选择近期最少访问的页作为被替换页。实现的方法是通过主存页面表来反映OPT算法:根据未来实际使用情况将未来近期里不用的页替换出。这种算法是用来评价期它替换算法好坏的标准。3)堆栈型替换算法:设A是长度为L的任意一个页地址流,t为已处理过t-1个页面的时间点,n为分配给该地址流的主存页数,Bt(n)表示在t时间点、在n页主存中的页面集合,Lt表示到t时间

43、点已遇到过的地址流中相异页的页数。堆栈型的替换算法满足: nLt时,Bt(n)Bt(n+1) nLt时,Bt(n)=Bt(n+1) LRU和OPT算法是堆栈型替换算法,FIFO算法不是堆栈型替换算法;堆栈型算法的特性:命中率随主页数增加只有可能提高,至少不会降低。4)PFF算法:由LRU算法加以改进,原理是由操作系统动态调节分配给各道程序的实页数。4、1)页面失效产生原因:页面的划分只是对程序和主存空间进行机械等分,造成指令或操作数横跨在两页上存储;页面失效处理不能按一般的中断对待,应看做是一种故障,必须立即响应和处理。解决的方法:后援寄存器法;2)影响虚拟存储器等效访问的瓶颈:页表大并放在主

44、存中;解决方法:小机器用快速随机存储器或寄存器组来存放页表;大机器是靠硬件上增设快表来解决;快表和慢表、散列、散列冲突(结合习题P122页习题4.8和课本P107页的图4.27)3)影响主存命中率和CPU效率因素:A页面大小Sp:随着Sp的逐渐增大,H先增大到最大值后又减小B分配给某道程序的容量S1:随着S1逐渐增大,H先增加到最大值后趋向平缓(堆栈型算法)。4.2.1段式管理思想:逻辑空间分段,物理空间分区,段对应区。2)段表:段名,地址,装入位,段长,访问方法。3)地址变换过程:(请与课本P90图4。11对照)由虚地址中的程序号指明哪个基址寄存器根据基址寄存器的值和虚地址中的段号在该程序的

45、段表找到相应的记录根据段表的记录和虚地址中的偏移量在实主存空间找到物理地址4)优缺点:优点是能使大程序分块编制、程序共用主存内的程序和数据、容易以段为单位实现存储保护;缺点是段表长增加辅助硬件开销和降低查表速度、造成大的段间零头浪费。4.2.2段页式管理思想:逻辑地址分段、段内分页;物理地址分块,块大小与页相同,逻辑页对应物理块2)段表和页表:(与上面大致相同)3)地址变换过程:(P93图。14)根据虚地址用户标志U在段表基址寄存器中查到该程序的段表记录;根据段表基址寄存器段表记录中的段表起点和虚地址中的段号找到多用户段表中对应的页表记录;根据多用户段表中页表记录的页表起点和虚地址中的页号找到

46、多用户页表中的对应记录;根据多用户页表中对应记录的实页号和虚地址中的页内位移形成主存地址装入主存地址寄存器。例P122习题4.54.3高速缓冲存储器Cache结构:将Cache和主存等分成大小相同的块,每当给出一个主存字地址进行访存时,都必须通过主存Cache地址映像变换机构判定该访问字所在的块是否已在Cache中。如果在Cache中,主存地址经地址映像变换成Cache地址去访问Cache,Cache与处理机之间进行单字信息传送;如果不在Cache中,产生Cache块失效,这时将从访存的通路中把包含该字的一块信息通过多字宽通路调入Cache,同时,将被访问的字直接从单字通路送往处理机。如果Ca

47、che已装不进了,发生块冲突,就要按所选的替换块将该块替换进Cache,并修改地址映像表中的地址映像关系及Cache各块的使用状态标志等信息。1)Cache的原理和虚拟存储器在原理上是类似的,所以虚拟存储器中使用的地址映象、变换及替换算法基本上也适用于Cache存储器。Cache主存之间的地址映像和变换,以及替换、调度算法全得用专门的硬件来实现。这样,Cache存储器不仅对应用程序员是透明的,而且对系统程序员也是透明的。处理机和Cache、主存的联系不同于虚拟存储器和主存、辅存之间的联系;主存和处理机之间设有直接通路,同时,Cache与处理机之间也设有直接通路。这样,发生块失效时,不是采用程序

48、换道的方式,而是让Cache调块与处理机访主存重叠进行,这就是通过直接通路实现读直达;同样,也可以实现CPU直接写入主存的写直达。2)为了更好地发挥Cache的高速性,用了以下方法:A、流水进行查表变换和访Cache工作B、Cache的物理位置尽量靠近处理机或就放在处理机;C、让Cache调块与处理机访问主存字重叠进行;D、Cache访问主存的优先级尽量高2.cache地址映像和变换:直接映像,组相联映像,全相联映象1)全相联映象:是主存中任意一块都可映像装入到Cache中任意一块位置。主存-Cache地址的变换:都采用目录表硬件方式实现。优点:块冲突概率最低,Cache的空间利用率最高。缺点

49、:要构成容量为项的相联存储器,代价太大,且Cache容量很大时,查表速度很难提高。2)直接映像:它把主存空间按Cache大小等分成区,每区内的各块只能按位置一一对应到Cache的相应块位置上。主存第i块只能惟一映像到第块位置上。优点:所需硬件省,只需容量较小的按地址访问的区号标志表存储器和少量的比较电路,成本很低。缺点:Cache的块冲突概率很高。只要有两个或两个以上经常使用的块恰好被映像到Cache同一块位置上,就会使Cache命中率急剧下降。3)组相联映像:各组之间是直接映像,而组内各块之间是全相联映像。当组相联映象的S大到等于CACHE的块数时就成了全相联映象,当S小到1时就变成了直接映

50、象。优缺点:是界于全相联映像与直接映像之间的,Cache块冲突概率要比直接映像的低。成本比全相联映象多得多,性能接近于全相联映象。3. Cache替换算法的实现:堆栈法,比较对法1)堆栈法:设置一个容量等于Cache 总块数的堆栈,每次访问与堆栈内各块号比较,相符将此块号取出重新压栈,没有则将新访问块号压入栈顶,栈底出栈(全相联映象) 优缺点:成本高,用于组相联且组内块数少的LRU算法场合。2)比较对法:各块成对组合,用一个触发器的状态表示该比较对内两块访问的远近次序,经门电路找到LRU块。优缺点:比较对触发器的个数会随块数的增多以极快的速度增加,实现困难,用于块数少的场合。Cache存储器块

51、替换多采用LRU算法,具体的硬件实现方法可以有堆栈法和比较法两类。更多的是采用比较对法。4. Cache存储器的透明性分析:解决问题:Cache和主存对应单元内容不一致;解决方法:写回法和写直达法写回法:Cache存贮器写操作时,只写入Cache,仅当需要块替换时,才将其写回主存。这种修改主存块内容的方法。写直达法:在Cache存贮器中,CPU每次写Cache的同时,也写入主存,更新主存块内容的方法。Cache的取算法:恒取法和不命中预取法A、影响Cache存储器性能的因素命中率是与块大小、块总数、采用组相联的组大小、替换算法和地址流的簇聚性有关。块大,不命中率总是下降趋势;组大,不命中率总是

52、下降趋势;只要命中率有限,等效访问速度能提高的最大值也是有限。B、Cache存储器的等效访问速度与命中率的关系。设为Cache的访问时间,为主存周期,为访Cache的命中率,则Cache存储器的等效存储周期:其等效访问速度提高的倍数为:第5章 重叠、流水和向量流水处理机5.1重叠解释:在解释第k条指令的操作完成之前,就开始解释第k+1条指令。重叠解释虽不能加快一条指令的解释,却能加快相邻两条以至整段程序的解释。顺序解释:指的是各条指令之间顺序串行(执行完一条指令后才取下条指令)地进行,每条指令内部的各个微操作也顺序串行地进行。优点:控制简单,转入下条指令的时间易于控制。缺点:上一步操作未完成,

53、下一步操作便不能开始,机器各部件的利用率低。2.重叠方式对计算机组成的要求1)解决“取指k+1”与“分析k”在时间上重叠,可能产生访存冲突。可采用办法:A、让操作数和指令分别存放于两个独立编址且可同时访问的存储器中;B、仍维持指令和操作数混存,但采用多体交叉主存结构;C、增设采用先进先出方式工作的指令缓冲寄存器(简称指缓)。2)实现 “执行k”与“分析k+1”重叠。要解决问题:硬件上还应有独立的指令分析部件和指令执行部件。硬件上解决控制上的同步问题,保证任何时候都只是“执行k”与“分析k+1”重叠。控制上的转移问题。控制上的邻近指令之间有可能出现的某种关联问题。3.一次重叠: .指令解释方式中

54、,分析K+1和执行K任何时候都只有相邻两条指令在(时间上)重叠解释的方式。4、相关:邻近指令之间出现关联;分为:数相关和指令相关数相关:在第k、k+1条指令的数据地址之间有了关联。指令相关:如果采用机器指令可修改的办法经第k条指令的执行来形成第k+1条指令的现象。指令相关的处理:禁止指令修改,还可另设置一条执行指令来解决程序设计灵活性。2)主存空间数相关的处理:推后读-指若出现相邻两条指令之间出现对主存同一单元要求先写后读的关联3) 通用寄存器组相关的处理:推后分析k+1和设置相关专用通路,前面降低速度,后者增加硬件成本为代价。设置相关专用通路是指第K条指令的运算结果直接通有硬件专用通道回送到

55、寄存器。通用寄存器组基址值或变址值相关的处理:方法同上类拟,只不推后分析的推后时间不同及设置相关专用通路回写是到访存操作数地址形成机构。5.2流水是重叠的延伸流水:分为更多的m个子过程,可同时解释m条指令即让相邻的m条指令的解释在时间上重叠。如能把一条指令的解释分解成时间相等的m个子过程,则每隔t=T/m就可以处理一条指令。机器的最大吞吐率提高了m倍。2.流水线的分类:.依据向下扩展和向上扩展的思路,可分类出在计算机系统不同等级上使用的流水线。向下扩展:指把子过程进一步地细分,让每个子过程经过的时间都同等程度地减少,吞吐率就会进一步提高。向上扩展:流水的向上扩展可理解为在多个处理机之间流水,流

56、水按处理的级别可分为部件级、处理机级和系统级。.从流水具有功能的多少来看,可以分为单功能流水线和多功能流水线。.按多功能流水线的各段能否允许同时用于多种不同功能连接流水,可把流水线分为静态流水线和动态流水线。1)静态流水线:在某一时间内各段只能按一种功能联接流水。2)动态流水线:各功能段在同一时间内可按不同运算或功能联接,目前大多数高性能流水处理机都是采用多功能静态流水。从机器所具有的数据表示可以把流水线处理机分为标量流水机和向量流水机。.从流水线中各功能段之间是否有反馈回路,可把流水线分为线性流水和非线性流水。3.流水线处理机的主要性能1)吞吐率Tp:流水线单位时间里能流出的任务数或结果数。

57、最大吞吐率:瓶颈子过程:流水线中经过时间最长的子过程;消除瓶颈:一种办法是将瓶颈子过程再细分。二种办法重复设置多套瓶颈段并联,让它们交叉并行。实际吞吐率:设一m段流水线的各段经过时间均为t0,则第1条指令从流入到流出需要T0=mt0的流水建立时间,之后每隔t0就可以流出一条指令。这样,完成n个任务的解释共需时间T=mt0+(n-1)t0。在这段时间里,流水线的实际吞吐率:2)加速比Sp:表示流水方式相对于非流水顺序方式速度提高的比值,那么非流水顺序方式连续完成n个任务需要nmt0的时间,因此,流水方式工作的加速比:3)流水线的效率:是指流水线中的设备实际使用时间占整个运行时间之比,也称流水线设

58、备的时间利用率。如果是线性流水线,且各段经过时间相同, 则在T时间里,流水线各段的效率都相同,均为0,即 与吞吐率关系:=TPt04. 流水线机器的相关:全局性相关和局部性相关两类。1)全局性相关:转移指令与其后的指令之间存在关联,使之不能同时解释,还会使指令缓冲器所预取的指令全部作废,重新花较长的时间再去访存取指令。其造成的对流水机器的吞吐率和效率下降的影响要比指令相关、主存操作数相关和通用寄存器组相关及基址值或变址值相关严重的多,所以称为全局性相关。2)局部性相关:指令相关、主存操作数相关和通用寄存器组相关及基址值或变址值相关,影响的是相关的两条或几条指令,最多影响流水线某些段工作的推后,

59、不会改动指缓中预取到的指令,影响是局部的所以称为局部性相关。5、流水线机器的相关处理:1)全局性相关的处理:A猜测法:根据历史猜测出现概率大的分支装入指缓;B加快和提前形成条件码:不等指令执行完成提前形成条件码;C采取延迟转移:用软件方法将转移指令与其前面不相关的指令交换位置;D加快短循环程序的处理:将长度小于指缓的循环程序一次性放入指缓,并暂停预联指令或者循环出口端条件转移指令恒猜循环分支。2)局部性相关的处理:同步流动,异步流动A同步流动方式:一种是让任务(指令)流出流水线的顺序保持与流入流水线的顺序一致,称为顺序流动方式或同步流动方式。采用顺序流动方式的好处是控制比较简单,ASC机就采用

60、这种方式。B异步流动方式:另一种是让流出流水线的任务(指令)顺序可以和流入流水线的顺序不同,称为异步流动方式。异步流动方式带来的新的相关:写-写相关、先读后写相关、先写后读相关;解决方法:推后后续指令和设置相关直接通路;5.流水机器的中断处理问题:在执行指令i时有中断,断点本应在指令i执行结束,指令i+1尚未开始执行的地方,但流水机器是同时解释多条指令, 指令i+1、 i+2可能已进入流水线被部分解释。 对于异步流动流水线,这些指令中有些可能流到了指令i的前面去了。解决办法:采用“不精确断点”法。采用“精确断点”法。例P158习题86.流水线的调度非线性流水线会出现多个任务争用同一功能段的使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论