您的位置:首页 > 理论基础

计算机系统结构笔记

2008-10-16 21:27 337 查看

摘自网上的笔记,笔记写得不错,虽然大多是从书上抄下来的,废话,笔记嘛。谢谢这个人,录入这么多笔记需要不少时间的……不错,可以方便省阅。猜得不错的活,该笔记应该是摘自高等教育自学考试教材《计算机系统结构》一书。

第1章 计算机系统结构的基本概念

(一)课程内容

1.计算机系统的多级层次结构
2.计算机系统结构、组成和实现
3.软硬件的取舍与计算机系统的设计思路
4.系统结构设计要考虑解决软件的可移植性
5.应用与器件的发展对系统结构的影响
6.系统结构中的并行性发展及计算机系统的分类

(二)学习目的与要求

本章着眼于建立和掌握计算机系统结构设计应具备的基本知识和概念,为进一步深人学习后续各章打好基础。
总的要求是:
l 理解一个完整的计算机系统可被看成是由多个机器级构成的层次结构的概念,知道层次的划分。
l 掌握结构、组成、实现三者的定义及包含方面,能对透明性做出正确的判断。
l 掌握计算机设计的三种思路,各自的优缺点,理解“从中间向两边设计”的思路是最好的。
l 理解软、硬件功能分配的原则。
l 掌握实现软件移植的途径、方法、适用场合、问题及对策。
l 了解应用和器件的发展对系统结构设计的影响。
l 掌握并行性概念与计算机系统结构中并行性的发展、并行性结构的分类。
l 了解计算机系统的分类。
重点为:
l 结构、组成设计研究的方面,计算机系统的设计思路,软件的可移植性途径,系统结构的并行性。
难点为:
l 透明性分析。

(三)考核知识点与考核要求

(一)计算机系统的多级层次结构

1.计算机系统的多级层次结构,要求达到领会层次。
1.1现代通用计算机系统可分成哪几级,它们的相对位置。
1.2各机器级的实现所用的翻译或解释技术。
1.3层次结构概念对推动系统结构发展的作用。
1.多级层次结构的划分
现代通用的计算机系统从功能和概念上,可以以看成是出多个机器组组成的—个在层次结构中,按由高到低的次序分别是应用语言机器级、高级语言机器级、汇编语言级、操作系统机器级、传统机器语言机器级和微程序机器级。对每—个机器级的用户来说,都可以将此机器级看成是一台独立的机器,都可以有自己的机器语言。
2.各机器级的实现技术
各个机器级的实现技术不外乎是翻译或是解释、或者是翻译和解释的结合。
翻译,是先用转换程序将高一级机器级上的程序,整个地变换成低一级机器级上等效的程序,然后再在低一级机器级上实现的技术。解释,是在低级机器级上用它的一串语句或指令,来仿真高级机器级上的一条语句或指令的功能,并通过对高级机器级程序中的每条语句或指令逐条解释来实现的技术。
采用翻译技术实现的典型例子有:用翻译程序将应用语言机器级上的应用程序包,翻译成高级语言程序,用编译程序实现将高级语言源程序转换成机器语言目标程序,用汇编程序实现将汇编语言源程序转换成机器语言目标程序。解释实现的典型例子有用解释方式在传统机器上执行高级语言程序,用微指令程序解释实现机器指令,用微程序或机器指令程序解释实现操作系统的操作命令等。
软件和硬件在逻辑功能上是等效的,但是,在性能、价格、实现的难易程度上却是各不相同的,是不等效的。
就目前状况来讲,应用语言机器级、高级语言机器级、汇编语言机器级、操作系统机器级是以软件为主来实现的,但有时也根据性能价格的要求不向,增加了不少硬件的支持。我们称以软件为主实现的机器为虚拟机器。微程序机器级和用组合逻辑控制的传统机器语言机器级是用硬件实现的,而采用微程序控制的传统机器语言机器级是用固件实现的。我们称以硬件或固件为主实现的机器为实际机器。固件(firmware)是一种具有软件功能的硬件,如将软件固化在只读存储器这种大规模集成电路的硬、器件上,就是—种固件。

(二)计算机系统结构、组成与实现

2.计算机系统结构、组成和实现,要求达到领会层次。
2.1计算机系统结构的定义和研究方面。
2.2计算机系统结构是软、硬件主要交界面的概念。
2.3计算机组成和计算机实现的定义和研究方面。
2.4系统结构、组成和实现的相互影响。
2.5透明性的概念,对具体问题能给出是否应透明的正确选择。
1.计算机系统结构

计算机系统结构是指多级层次结构中传统机器级的结构,它是软件和硬件/固件的主要交界面,是让编制的机器语言程序、汇编语言源程序,以及将高级语言源程序编译生成的机器语言目标程序,能在机器上正确运行所应看到的计算机属性。计算机系统结构是与汇编语言程序或机器语言程序所能实现的功能,以及要用到的数据类型、寻址方式等密切相关。

2.计算机组成与实现
计算机组成,主要指的是机器级内部数据流和控制沉的组成及逻辑设计。它与指令和编程等没有直接关系,主要是看硬件系统在逻辑上如何组织。计算机组成;主要Li计算机操作的并行度、重叠度,部件的共享度等有关,百接影响系统的速度和价格。
计算机实现,指的是计算机组成的物理实现.它着眼于用什么样的器件技术和微组装技术。它也直接影响到系统的速度和价格。
3.结构、组成与实现三者的内涵
教材中列举了计算机系统结构、计算机组成和计算机实现各自应研究的一些内容和方面,它们都是对各个设计不透明的方面。
例如,机器中应设哪此机器指令和汇编指令、主存的容量和编址方式、寄存器的数量和使用规定等,均由计算机系统结构设计来确定。而指令中微操作顺序的编排,主存是否采用多体并行交叉组织是计算机组成设计考虑的:是否采用越大规模集成电路,如何将部件在物理上组装到一起,则是由计算机实现设计来考虑的。

4.计算机的透明性概念
在计算机中,客观存在的事物或属性从某个角度看不到,称称他是透明的。计算机中的“透明”和社会生活中的透明,涵义正好相反:社会生活中所称的“透明”,是要公开,让人家看得到的意思,而计算机中的“透明”,则是指看不列的意思。
对目前多数的通用计算机来说,采用什么系列机,机器级和汇编级的指令系统,指令的条数、种类、功能、格式和编码,主存的容量、编址空间和所用的编址方式,硬件直接识别的数据类型、格式和种类,I/O系统采用通道处理机还是外围处理机,I/O设备的编址,I/O接口的使用规定等,对计算机系统结构都设计成不透明的:而系列机内部搞哪几种型号的计算机,指令的解释采用顺序、重叠还是流水,乘法指令是用加法器和移位器经一连串时钟脉冲控制实现其操作,还是用专门的高速乘法器束实现,主存采用单体还是多体交叉并行组织,数据总线线数的多少即数据通路宽度的大小,通道采用结合型还是独立型.系统采用单总线还是多总线.控制器微操作信号是用微程序控制器产生,还是用组合逻辑电路控制器产生等,所有这些对计算机组成设计来说那应是不透明的。

5.结构、组成与实现三者的相互影响
相同结构的计算机可以因速度不同而采用不向的织成,相同的组成也可有多种不问的实现。这都取决于计算机系统的性能、价格及器件技术的状况。
结构不同会影响到可用的组成技术有不同,而不问的组成又会反过来影响到系统结构的设计。因此,系统结构的设计必须结合应用来考虑,要为软件和算法的实现提供更多更好的硬件支持,同时要考虑可能采用和准备采用哪些组成技术,不能过多或不合理地限制各种组成、实现技术的采用与发展。
织成与实现可以折衷权衡,它主要取决于器件的来源、厂家的技术特长和性能价格比能否优化。应当在当时的器件技术条件下,使价格不增或只增很少的情况下.去尽可能地提高系统购性能。

(三)软、硬件取台与计算机系统的设计思路

3.软、硬件取舍与计算机系统的设计思路,要求达到领会层次。
3.1 软、硬件实现的优缺点。
3.2 软、硬件取舍的基本原则。
3.3 计算机系统“由上往下”和“由下往上”设计的方法和问题。
3.4 计算机系统“由中间开始”设计的方法和优点。
1.软硬件取舍
计算机系统结构设计主要是确定软件和硬件的功能分配。在计算机系统上,一个功能用硬件实现列以提高其执行的速度,减少程序所需要的存储空间,降低软件部分所需的成本。但同时会提高硬件部分的成本,降低硬件的时间利用率和系统的灵活性和适应性。因此,在确定计算机系统软、硬件的功能分配比例时,应考虑在现有的硬件和器件条件下,如何使系统有高的性能价格比。从降低实现费用来分析,如果一个功能是经常用的基本单元功能,且是属固定不变的功能,才适合于采用硬件实现;而对产量大的机算机系统.增大硬件功能实现的比例才是有利的。我们不能去盲目追求扩大硬件功能实现的比例。
确定软、硬件功能分配时,还应考虑不能过多地限制各种组成和实现技术的采用。也还要考虑如何为编译和操作系统的实现、高级语言的编程等提供更多更好的硬件支持.以便缩短高级语言与机器语言、操作系统与计算机系统结构、程序设计环境与计算机系统结构之间的语义差距。否则,语义差距过大.软件实现的比例就全过大,将会使系统效率过分下降,这不适应当今计算机软件和硬件、器件发展的状况。

2.计算机系统的设计思路
从计算机多级层次结构的上或下开始设计,有“由上往下”、“由下往上”和“由中间开始向两边”设计等三种不同的设计思路。
“由上往下”设计是先考虑如何满足应用要求,设计好面对使用者那级机器应共有哪些基本功能和持性,再逐级地向下设计各机器级,让每一组都优化于上一级来设计。这是一种专用计算机的设计思路,不适合于一般的通用计算机的设计。因为应用改变,会使软、硬件功能分配很不合理,急剧降低了系统的效率,厂家在设计时。往往也做不到下一级完全优化上一级来设计。
“由下往上”设计是不管应用要求,只根据已有器件、硬件状况,先设计好微程序机器级和传统机器级,再为不同应用配上多种不问的操作系统和编译系统软件,依次设计上面的各个机器级。这是一种通用机的设计思路。但由于软、硬件的脱节,软件得不到为优化软件设计所提供的硬件支持而显得十分繁杂。研制出的硬件机器的性能指标有可能是虚假的。所以,这种设计方法不好,己被淘汰。
好的计算机系统设计应采用从层次的中间计妨向两边进行设计。这佯,可以避免“由上往下”和“由下往上”地设计所带来的软件、硬件设计脱节的现象。既考虑能拿到的硬件、器件,又考虑应用中可能要用到的算法和数据结构,同时,还要考虑如何为操作系统、编译系统的实现提供更好的硬件支持,先确定好软件和硬件功能分配的界面,然后,再分头并行设计硬件和软件。这样做,不仅有利于缩短系统的研制时间,也有利于硬件和软件设计人员之间的交流协调,使软、硬件之间的功能分配更为合理,系统性能价格比更高。

(四)结构设计要解决好软件的可移植性

4.系统结构设计要考虑解决软件的可移植性,要求达到领会层次。
4.1软件的可移植性定义、实现途径,并理解解决好软件可移植的必要性。
4.2采用统一高级语言途径的方法、适用场合、存在问题和应采用的策略。
4.3采用系列机途径的办法、适用场合、好处、问题和应采用的策略。
4.4软件向前、向后、向下、向上兼容的定义,系列机对软件兼容的要求。
4.5正确判断系列机中发展新型号机器的作法是否可取。
4.6采用模拟与仿真途径的方法、适用场合、优点和问题以及应采用的策略。
4.7对各种软件移植手段的综述。
1.实现软件移植的好处和技术
软件的可移植性指的是软件不用修改或只经少量的修改,就可以由一台机器搬到另一台机器上去运行,使得同一套软件司以应用于不同的硬件环境。这样,过去的计算机系统上所用的大量成熟可靠的软件,特别是应用软件,就可以在新的机器上长期使用,而不必重新编写,既大大减少了软件编制的工作量,又能迅速用上新的硬件和器件技术,更新系统,让新系统立即发挥效能,软件设计者也能有精力去开发全新的软件。
实现软件移植的基本技术有统一高级语言、采用系列机、模拟和防真等。

2.统一高级语言
统一高级语言是设计一种对各种应用领域都能比较高效的通用高级语言。这样.在结构相同以至完全不同的机器之间,通过配以不同的语言翻译程序就司以实现高级语言应用软件的移植;然而,不同的用途要求高级语言的语法和语义结构差别较大;人们对统—的高级语言应当有什么样基本的结构看法不—;厂家为了便于在机器上高效地翻译,在高级语言中引入了方言;用户为节省程序空间和提高其运行速度,经常在高级语言源程序中嵌人了汇编语言或其他语言的程序;用户的习惯势力,不愿使用新的语言,所有这些因素,使得在近期内难以统一出—种通用的高级语言。对此技术存在的问题采取的对策是,从长远的日标,还是要争取统一出一种通用的高级语言,仍近期只能做相对的统一。

3.采用系列机
采用系列机的技求可以使同一系列内各档机器在汇编语言上实现统一,又能使系列内,发展出多种新的机器。因此,它适合于在结构相同或相近的机器之间,实现汇编语言应用软件和部分系统软件的移植。系列机的设计就是由中间向两边设计的思路。采用系列机可以较好地解决软件设计环境要求相对稳定和硬件、器件和组成等技术飞速发展的矛盾。软件可以继续丰富和积累,又能不断更新器件、硬件和组成,使之短期内就能提供出性能吏好、价格更便宜的新机器。
系列机应用软件的兼容,除了从速度和性能上有向上兼容和向下兼容之外,在产品进入市场的前和后上,又有向前兼容和向后兼容之分。系列机必须保证应用软件向后兼容,力争做到向上兼容。因为现在编制的应用程序,以后都能在新的机器上使用,这是系列机软件兼容的根本,至于其后研制的软件完全可以发展,不一定非要向前兼容。从用户观点来讲。当然希望在低档机器上的软件能照搬于高档机器上运行,出此,应力争做到向上兼容。
由于系列机结构变化有限,所以到一定时候会阻碍该系列的发展。对此问题采取的对策应当是,小能只局限于旧系列的发展,在适当时候应推出新的系列结构。

4.模拟和仿真
模拟和仿真能在结构不同的机器之间实现机器语言程序的移植。用机器语言程序解释另一机器的机器指令实现软件移植的方法称为模拟。模拟方法在机器指令系统差异比较大的时候,会使程序运行速度严重下降.用微程序直接解释另—机器的机器指令实现软件移植的方法称为仿真。仿真可以提高被移植软件的运行速度,但机器结构差异较大时,很难仿真,因此,对这些问题采取的对策是,在不同系列机器间的软件移植时,将模拟和仿真两种技术结合起来使用。让频繁使用并容易仿真的这部分机器指令采用仿真,以提高速度。而让很少使用,对速度要求不高的,难以仿真的这部分指令及I/O操作采用模拟实现。
模拟与仿真的区别是:模拟是用机器语言程序解释,其解释程序存在主存中;仿真是用微程序解释,其解释程序存在控制存储器中。

(五)应用与器件的发展对系统结构的影响

5.应用与器件的发展对系统结构的影响,要求达到领会层次。
5.1明白非用户片、现场片和用户片的定义。
5.2器件发展是推动系统结构和组成前进的关键因素。
5.3器件发展是如何改变逻辑设计的传统方法的。
1.应用的发展对系统结构的影响
维持价格、提高性期;保持性能、牌低价格,是多数计算机价采取的两种不同的发展途径。其中,后一途径更能促进产品的销售、推广和应用。从系统结构的观点来看,让低档(型)机器能引用甚至照搬高档(型)机器上的结构和组成,使新的微、小型机上具有原中、大型机的性能,用户是欢迎的。而巨、大型机上则一般采取维持价格、提高性能,或是提高价格、提高性能的途径来发展新的结构和组成技术。要想维持微型机和小型机的价格,又能提高其性能.可采取的一种办法是用选购件或扩展部件来解决。系统结构设计应注意针对新的用途,不断研制出新的结构,同时注意在维持软件兼容的前提下,又能将这些研究成果尽快搬移到批量大的通用机上去。

2.器件的发展对系统结构的影响
器件的发展是系统结构和组成技术发展的关键因素。结构和组成技术的发展又会反过来促进器件技术的进一步发展。
器件已从非用户片发展成现场片和用户片。非用户片也称通用片,其功能是由器件厂生产时定死的。器件的用户即机器设计者只能使用,不能改变其内部功能。其中,逻辑类片子的集成度比较难以提高,所以促使结构、组成设计中,更多地使用适合于集成度提高的存储类器件,从而发展存储逻辑。现场片使用户对根据需要在现场更改器件内部的功能,如可编程只读存储器PROM、现场可编程逻辑阵列FPLA等。用户片是专为用户设计的高集成度VLSI器件,又分全用户片和半用户片。
一般同一系列内各档机器可分别用通用片、现场片或用户片实现。就是同一型号机器也是先用通用片或现场片实现。等机器成熟后,再改用半用户片或全用户片实现。至于高速机器一般一开始就用门阵列片或用户片,以便能发挥出单元电路的高速性。
器件的发展使逻辑设计已由过去传统上追求的逻辑化简,转变成强调在满足系统结构所提出的功能要求前提下,如何能够用得上大批量生产的高集成度片子,以提高其系统效能。缩短其研制周期,降低其生产成本。计算机的设计也已从过去只进行全硬的逻辑设计,发展到现在所用的软硬结合方法进行计算机的辅助设计和辅助制造。

(六)系统结构中的并行性发展温计算祝系统的分类

6.系统结构中的并行性发展及计算机系统的分类,要求达到识记层次。
6.1并行性定义,并行性的二重含义和开发并行性的三种途径。
6.2各种并行性等级的划分和并行性高低的顺序。
6.3计算机系统沿三种不同的并行性发展途径开发出的多机系统类型与特点。
6.4藕合度概念。
6.5计算机系统弗林分类法。
1.并行性含义
研究改进计算机系统结构的一个主要方面是如何开发出并行性。并行性是指问题中具有可同时进行运算或操作的特性。开发并行性的目的是为了能予以并行处理,以提高解题效率。并行性包括同时性和并发件。两个或多个事件在同一时刻发生属于同时性,而在同一时间间隔内发生则属于并发性。

2.并行性等级
从计算机系统中执行程序的角度看,并行性等级由低到高,分别是指令内各微操作之间的并行、多条指令之间的并行、多个任务或进程之间的并行,以及多个。作业或程序之间的并行等。
从计算机系统处理数据的角度看,并行性等级由低到高,分别是位串字串(串行单处理机,无并行性)、位并字串(传统并行单处理机)、位片串字并和全并行等。
从计算机信息加工步骤和阶段的角度看,并行性等级又有存储器操作并行(并行存储器、相连处理机)、处理器操作步骤并行(流水续处理机)、处理器操作并行(阵列处理机)。指令、任务、作业间的全面并行(多处理机、分布处理系统、计算机网络)等。
时间重叠、资源重复和资源共享是开发并行性的三个主要途径。时间重叠是在并行性中引入时间的因素。它是让多个处理过程在时间上错开,轮流重叠地使用同一直硬件设备的各个部分,使之加快硬件使用的周转来赢得速度。典型的例子是流水。
资源重复是在并行性中引入空间的因素:它是靠重复设置硬件资源来提高可靠性或性能。典型的例子是双工系统、相连处理机和阵列处理机等。
资源共享是用软件方法让多个用户共用同一套资源,通过提高系统资源的利用率来提高系统的性能和效率。典型的例子是多道程序分时系统、计算机网络和分布处理系统等。
由单处理机向现代高性能并行的多处理机系统发展的过程来看,沿时间重叠途径.让多个处理机进行宏流水构成的多处理机,一般都是非对称型或异构型的;沿资源重复途径,构成的相联处理机和阵列处理机都是对称型或同构型的多处理机;沿资源共享途径发展的多处理机则既可以是同构型的,也可以是异构型的。
20世纪90年代以来,计算机系统最主要的发展是开发大规模并行处理(MPP)。其中,多处理机和多计算机是其研究和开发的热点。它们可以是由数十至上千台微处理机构成的MPP系统,包括可以是由多个高性能工作站或高档微型机,使用高速通信网络互联进行高效并行处理的机群系统。
重大挑战性科学计算题日要求计算机系统能有3T性能,即1T FLOPS(每秒所执行的浮点运算次数)的计算能力,1T Byte的主存容量和1T Byte/S的I/O带宽。
5.多机系统的偶合度
偶合度是反映多机系统中各处理机之间,物理连按的紧密度和交叉作用能力的强弱程度的。多机系统的偶合度可以有最低偶合、松散偶合和紧密偶合之分。
处理机之间没有物理上的连接,最多只是通过盘、带等存储介质来联系的脱机系统,属于最低耗合系统。处理机之间通过通道或低速通信线路互联,共享一部分外围设备的系统属于松散偶合或间接藕合系统。而经高速总线或外关互联,共享主存的多处理机系统则属于紧密偶合或直接偶合系统。
6.计算机系统的分类
计算机系统可按指令流和数据流的多倍性,分类成乎指令流单数据流(SISD)、单指令流多数据流(SIMD)、多指令流单数据流(MISD)和多指令流多数据流(MIMD)四类。此即弗林(Flynn)分类法的分类。传统单处理机属SISD系统,阵列处理机和相连处理机及流水线单处理机均属SIMD系统,宏流水及脉动阵列机属MISD系统,能全面实现作业、任务、指令、数组各级并行的多处理机、多计算机系统则属于MIMD系统。

第2章 数据表示与指令系统

(一)数据表示

1.数据表示,要求达到综合应用层次。
1.1数据表示的定义,数据表示与数据结构的关系。
1.2引人数据表示的原则。
1.3标志符数据表示的优点,标志符数据表示与教据描述符的差别。
1.4堆栈机器(堆栈数据表示)和向量数据表示的基本特征。
1.5浮点数尾数基值大小的利与弊,能熟练计算尾基不同大小时浮点数的可表示值范围和可表示数个数等参数。
1.6综述和比较四种尾数下溢处理的方法、误差特性分析、优缺点及适用场合。
1.7查表舍入法填下溢处理表的原则,并能进行具体填表。
1.数据结构与数据表示的关系
数据结构是反映应用中要用到的各种数据元素之间的结构关系,是软硬功能分配中软的方面。数据表示是机器硬件能直接识别,并能在机器上立接对其操作的数据类型、表现在它能有对这种数据类型进行操作的指令和运算部件。数据结构要通过软件映象变换成机器中所具有的数据表示来实现。
在软件和硬件的功能分配时.计算机系统结构设计应考虑在机器中设置哪些数据表示,以使其对应用中用到的数据结构能有高的实现效率:在定点、浮点、逻辑、十进制、字符串等基本的数据表示基础之上。根据应用的需要,应在机器中引入某些高级的数据表示,以便能为数据结构的实现提供更好的支持。
2.自定义数据表示
自定义数据表示是为缩短高级语言和机器语言的语义差距引出来的。它又有标志符数据表示和数据描述符两类。
带标志符数据表示是让数据字本身带有数据或信息的类型标志。标志符由编译程序建立,对高级语言源程序应设计成透明的。
采用标志符数据表示后,可以简化编译程序,提高编译效率;简化指令系统和程序设计的难度;便于实现数据类型的一致性校验;能出硬件自动完成对数据的类型转换,缩短解题的时间;支持数据库系统要求其实现与数据类型无关的要求;为软件调试和应用软件的开发提供了一定的支持。
采用标志符数据表示后,会因增设了标志符字段而增加一部分存储空间开销,但合理设计,其增加量不会很大,甚至还会因指令操作码的缩短、编译程序的缩短等,使存储空间总的开销有所减少。采用标志符数据表示,虽增加了单条指令的执行时间,但程序编写和调试所用时间的缩短,反而会使宏观解题时间的总开销可能减少。
数据描述符主要用于描述向量、数组、记录等成块的数据。它与标志符数据表示的差别是,标志符与数据合存于—个存储单元中,是用于描述单个数据的类型和属性的;描述符则是与数据分外存放,主要用于描述成块数据的特征的。
数据描述符为向量、数组实现提供了支持,有利于简化高级语言程序编译中的代码生成,可以比变址法更快地形成数据元素的地址。但由于没有相应的向量、数组运算类指令和高速运算硬件,数据描述符并不能支持向量、效组数据结构的高效实现,所以它并不是向量、效组数据表示。
3.向量数组数据表示与向量处理机
向量数组数据表示为向量、数组数据结构的实现和快速运算提供了更多的硬件支持,表现于在硬件上设置有丰富的向量或阵列(数组)运算类指令,配有流水线或处理单元阵列等高速的运算部件,直接高效支持对向量、数织的访问、运算、压缩、还原、归并等的处理。
向量处理机就是有向量数据表示的处理机。虽然标量处理机也能处理向量、数组,但它是用标量指令通过变址和循环来实现的,其速度和效能自然要比向量处理机的低得多。
4. 堆栈数据表示与堆栈计算机
为支持了程序调用和表达式的编译,发展出面向以堆栈操作为主、有堆栈数据表示的堆栈计算机,或称为堆栈机器。它与只有简单的软堆栈(在主存中开辟一个堆栈区)和少量功能简单的堆栈指令(如PUSH、POP指令)的通用寄存器则机器是不同的。
堆栈计算机表现于它有由高速寄存器组成的硬件堆栈,使堆栈操作的速度极高;有丰富的堆栈操作指令(多达数十条),能直接用堆栈进行复杂的运算和处理;用逆波兰表达式作为编译的中间语声,可以用堆栈直接生成堆栈指令程序,简化了编译;用堆栈保存全局性参数、局部性参数、返回地址、各种状态标志信息及中间结果所用的工作区,有力地支持了子程序的嵌套和递归调用。
5.确定和引入数据表示的原则
在系统中,确定和引入数据表示时,除了基本的数据表示应该有之外,对某些高级数据表示是否需要引入,主要看两条基本原则。主要是看引入后,系统效率有否显著提高,即是否显著减少了实现时间和所需的存储空间。实现时间又主要表现在主存和处理机之间,传送的信息量有否显著减少。二是看引入的数据表示,其通用性和利用率是否高。
在机器字长相同的情况下,用浮点数表示比用定点数表示能有史大的可表示数范围。浮点数总的字长确定后,如果增大其中的阶码位数p可以扩大可表示数的范围,但因其中的尾数值数m减少,闹使可表示数的精度降低。当p、m位数定好后,尾数采用什么进制也会影响到可表示数的范围、个数及精度等。以Rm进制为尾数基值的浮点数中,每个Rm进制尾数数位需用[log2Rm]个进制位表示。尾数右移一个Rm进制数位时,为使数值不变,阶码增1。

在非负阶、规格化数、正尾数情况下阶值:二进制p位;
尾数:Rm进制m’位 m’=m/[log2Rm]
可表示最小尾数Rm^-1
可表示最大尾数值值1- Rm^-m’
最大阶值(2^p)-1
可表示最小值Rm^-1
可表示最大值2^(p-1)*( 1- Rm^-m’)
可表示的尾数个数Rm^-m’- (Rm^-m’)/Rm
可表示阶的个数2^p
可表示数的个数2^p *(Rm^-m’- (Rm^-m’)/Rm)
浮点数尾数基值Rm取大后,可以:扩大浮点数的可表示数范围,增加可表示数的个数,减少运算中数的移位次数,降低运算中因尾数右移所造成的精度损失和提高运算速度,这些都是好的;但会降低数的可表示精度,数值在数轴上的分布密度变稀,数的可表示比下降。这些是不利的:为了扬长避短、在巨、大、中型机上,浮点数尾数基值Rm宜取大些,而在微、小型机上,数的表示范围不大,速度不要求太高,主要是字长短,精度低。所以,Rm值宜取小些为好。
7.数的下溢处理方法
在浮点数的运算中,为减少因尾数右移出规定字长所造成的精度损失,可对尾数超出字长部分做适当的处理,从而引出了各种不同的尾数下溢处理方法。

名称方法误差好处缺点,应用
截断法将尾数超出机器字长的那部分简单截掉。最大误差:整数时接近1,分数时接近2^-m。
对于正数总存在负误差。
截断误差均匀分布。
统计平均误差为负且较大,无法调节
实现最简单,不增加硬件,不需要处理时间最大误差较大,平均误差大且不能调节。目前很少用。
舍人法在机器运算部分规定字长之外,再增设一位附加位存放溢出部分的最高位,每当尾数下溢处理时,将附加位加1,再截取规定字长部分作为处理后的结果。最大误差:整数时0.5,分数时2^-(m+1)。
对于正数误差有正有负。
统计平均误差趋于零但略偏正。
平均误差无法调节
实现简单,增加硬件很少,最大误差小,平均误差接近于零处理速度慢。在中低速机器上或者要求精度损失尽可能小的场合下使用较多。
恒置“1”法让机器运算器规定字长的最低位恒为“1”状态最大误差:整数时1,分数时2^-m。
对于正数误差有正有负。
统计平均误差接近零但略偏正。
平均误差无法调节
实现最简单,不增加硬件,不需要处理时间,平均误差接近于零最大误差最大。多用于中、高速机器(增长尾数)。
查表舍入法用ROM或PLA芯片存放下溢处理结果表,每次经查表来读得相应的处理结果。当尾数最低k-1位全“1”时以截取法设置,其余情况按舍入法设置。速度较快,平均误差可调节到零硬件量大
上述4种处理方法中,最大误差最大的是恒置“1”法,最小的是舍人法;平均误差最大的是截断法;平均误差可人为调节的是查表舍入法;下溢处理不需要附加时间开销,即速度最快的是截断法和恒置“1”法,处理速度最慢的是舍人法;实现上最花费硬件的是查表舍入法,最省硬件的是截断法和恒置“1”法。
实际成用中,很少使用截断法,中、低速机器广多用舍入法.中、高速机器上多用恒置“l”法。随着硬件、器件集成度的提高和价格的下降.将会越来越多地使用ROM查表.
ROM查表舍入法是将K位数据下溢处理成K-1位的结果。ROM表存储器容量为2^K个单元,每个单元字长为K-1位,待处理的K位数据作为地址,按此地址读取表小对应单元中所存放的K-1位内容,就是该数经下溢处理后的结果。下溢处理表的内容设置一般采取当K位数据的高K-1位为全“1”时,让那些单元按截断法填人K-1位全“1”。其余单元都按最低位(即附加位)零舍1入的结果来填其内容。
数的下溢处理方法对程序员是透明的,它属于计算机组成设计的内容。因此,设计中应对其在速度、误差、造价、实现方便等多方面综合权衡来进行选择。

(二)寻址方式

2.寻址方式,要求达到领会层次。
2.1寻址方式的三种面向,逻辑地址和物理地址的含义。
2.2寻址方式在指令中的二种不同的指明方式,优缺点。
2.3程序的静态再定位和动态再定位的含义和实现办法。
2.4信息在内存中按整数边界存储的含义、编址要求、存在问题和适用场合。
1.三种面向的寻址方式
机器指令可以访问寄存器、堆栈或主存中的数,因此相应就有面向寄存器、面向堆栈和面向主存的不同寻址方式。究竞采用何种面向的寻址方式为好,是与运行的程序状况及所处的工作阶段有关,不同的应用环境会得到完全不同的结论。比确的做法应当是,在计算机系统中根据主要应用特点选择一种面向的寻址方式为主,再配以某些其他面向的寻址方式。这样,可以取长补短。
2.寻址方式在指令中的两种指明方式
寻址方式的指明,可通过占用操作码字段中的某些位来实现.也可以在指令中的地址字段中,增设专门的寻址方式位控制字段来实现。相比而看,寻址方式位的方式指明寻址方式比较灵活,操作码字段短,但需增加专门的寻址方式位字段,使操作码字段和寻址方式位字段所占的总位数可能比用操作码指叫的方式要多。
3.程序在主存中的定位技术
程序员编程时所用的地址称为逻辑地址。而程序在主存中的实际存放地址称为主存物理地址。
程序装入物理主存进行定位时,需要进行逻辑地址空间到物理地址空间的映象和变换。程序定位所采用的技术有静态再定位和动态内定位两种。
程序的静态再定位是在目的程序装入主存时,说过调用系统配置的装入程序,运行此装入程序时,把目的程序的逻辑地址用软的方法逐一修改成物理地址。程序执行时.物理地址就不能再改变了。静态再定位不利于多道程序的运行环境,也不利于程序的可重入(即无论程序重新进人多少次,其功能应保持不变),程序出错叫.谁以故障定位和调试,不利于重叠、流水技术的使用。
动态再定位的一种方法是设置基址寄存器和地址加法器硬件。在程序装入主存时,只将装入主存的起始地址存入该道程序的基址寄存器中即可。指今的地址字段不做修改。程序在执行过程中,不断将逻辑地址经地址加法器加上基址寄存器中的基址,才形成物理地址访存。
基址寻址的方法主要是支持程序的功态再定位;变址寻址则主要是为实现程序的循环,支持向量、数组数据的寻址用的。
动态再定位技术的进一步发展是采用映象表来世行地址的映象和变换,它可以在机器上运行比实际主存容量大得多的程序。
4.信息在主存中按整数边界存储
主存内—般同时存有多种长度的信息。为了使不超过主存字宽度的各种长度信息,都只需要一个主存周期即可访问到,就需要比信息在主存中按整数边界存储,即让信息的起始地址必须是信息宽度的整数倍。这样.短于主存宽度的信息,就不会跨主存字边界存放在两个不同的单元里。这对保证信息的访问速度是必要的,但当长度不同的信息依次存放于主存中时,会带来存储空间的浪费。因此,这是速度和价格的权衡。
在中、大型计算机中,主存容量很大,浪费一点空间问题也不大。主要关心的是速度,所以,应当让信息在主存中按整数边界存放。微、小型机如果主存容量较少,速度要求不高时,则强调要节省存储交间,就不一定非要采取信息在主存众按整数边界存放了。不过,随主存器件集成度的提高和价格的下降、让信息在主存中按整数边界存储就越来越显得必要了。

(三)指令格式的优化设计

3.指令格式的优化设计,要求达到综合应用层次。
3.1指令格式优化的含义。
3.2哈夫曼编码、优化的扩展操作码编码的产生,并能求出其平均码长。
3.3扩展操作码中短码不能是长码的前缀的概念。
3.4归纳综述出指令格式优化设计可采用的各种措施。
3.5根据指令设计全部要求设计出优化的指令格式。
1.操作码的优化
指令格式的优化,指的是如何用最短的位数来表示指令的操作信息和地址信息,以便使程序中指令的平均字长最短。
首先,进行操作码的优化,采用有哈夫曼压缩思想的扩展操作码编码。各种指令的使用频度(出现概率)pi是可以对大量典型程序进行统计得到。如果指令系统共有n条指令。让高概率的指今的操作码短,低概率指令的操作码长,就可使平均码长∑pili较之等长操作码编码的要短。等长操作码编码的平均码长为[log2n]位。
完全的哈夫曼编码可采取对所有指令的使用频度。使用哈夫曼算法构造出哈夫曼树来得到。构造哈夫曼树的方法是:每次选择其中两个最小的频度,并将其合并成一个频度是它们两者之和的新结点,再放到余下的结点之中,继续找出两个频度最小的结点再结合,如此经过n-1次结合后,就构成了一颗哈夫曼树。然后,对每个结点的两个分支分别用二进位0和1来标识。这样从根结点出发,沿途经不同分支到不同频度的叶结点间所经过的0、1代码组成的序列,就是相应频度指令的操作码编码。这种哈夫曼编码的具体码值并不是惟一的,但由此计算出的平均码长肯定是惟一的,而且一定是用二进制位编码中,平均码长最短的编码。
由于完全哈夫曼编码的码长种类太多,不便于操作码译码,所以无法实用。实用的操作码编码应当采用扩展操作码编码,它限定使用少数几种码长。仍体现出高概率的用短码,低概率的用长码的思想。无论是哈夫曼编码,还是扩展操作码编码,其短码都不能是长码的前缀,即不能与长码的开始部分的代码有相同的,否则会造成解码不唯一,且无法立即解码。
扩展操作码中的扩展标志的选取,应待既要满足码长种类数不超过所限定的数量,又要依据于各指令使用频度pi的分布,尽可能使平均码长∑pili最短来考虑。
2.指令字格式优化的措施
在操作码优化过的基础之上,再在地址码和寻址方式上采取相关的措施。就可以减少程序的总位数,使指令字格式达到优化。指令宇格式优化的措施概括起来包括以下几点:
(1)采用扩展操作码,并根据指令的频度pi的分布状况.选择合适的编码方式、以缩短操作码的平均码长;
(2)采用诸如基址、变址、相对、寄存器、寄存器间接、段式存放、隐式指明等多种寻址方式,以缩短地址码的长度,并在有限的地址长度内提供更多的地址信息;
(3)采用0、1、2、3等多种地址制,以增强指令的功能,且让常用的短操作码与多个地址字段相配合,这样,从宏观上就越能缩短程序的长度,并加快程序的执行速度;
(4)在同种地址制内再采用多种地址形式,如寄存器一寄存器、寄存器一主存、主体一主存等,让每种地址字段可以有多种长度,且让长操作码与短地址码进行组配;
(5)在维持指令宇在存储器中按整数边界存储的前提下,使用多种不同的指令字长度。
以上这些措施加以综合使用,就可以使信息冗余量减少,操作数的寻址灵活性提高,操作码的备用码点数增多,有利于今后对指令系统进行扩充。

(四)按CISC方向发展与改进指令系统

4.按CISC方向发展和改进指令系统,要求达到领会层次。
4.1面向目标程序优化实现改进指令系统的目标和思路。
4.2面向高级语言优化实现改进指令系统的目标和思路。
4.3高级语言机器的定义和二种形式,理解其为什么难以得到发展。
4.4面向操作系统优化实现改进指令系统的目标和思路。
1.按CISC改进思路
按CISC方向发展改进指令系统的出发点是,如何进一步增强原有指令的功能,以及设置更为复杂的新指令来取代原先由软件子程序完成的功能,实现软件功能的硬化。它可以从面向机器语言目标程序的优化实现,面向高级语言的优化实现和面向操作系统的优化实现三个方面来改进。
2.面向目标程序优化实现改进的目标和途径
目标是希望普遍提高包括系统软件和应用软件在内的各种机器语言目标程序的实现效率,即缩短目标程序的长度,加快目标程序的执行速度,并使实现起来方便。
途径:
(1)通过统计机器语言目标程序中各种指令和指令串的静态使用频度,以及程序在执行过程中的动态使用频度来改进。对高频的指令可以增强其功能,加快其执行速度,缩短其指令字长;对频度很低的指令可将其功能合并到某些高频的指令中去,或在搞新的系列机时,将其取消。对高频的指令串可增设功能更强的新指令或复合指令来取代。
(2)将常用的宏指令或子程序实现的功能改成为强功能复合指令,由微程序来解释实现。增加新指令时,应维持软件的向后兼容,不能去删除或更改原有的旧指令。这种改进其实质就是尽量减少不执行数据变换的非功能型指令的使用比例,让真正执行数据变换等运算类的功能型指令所占的使用比例增大。
3.面向高级语言优化实现改进的目标和途径
目标是缩短高级语言和机器语言的语义差距,这样可以缩短编译程序的长度和节省编译所需的时间。
途径:
(1)统计高级语言源程序的语句使用频度,增设与高频语句的语义差小的新指令;
(2)面向编译,优化代码生成,增强结构的规整性和对称性来改进指令;
(3)让指令改进后,使它与各种高级语言之间的语义差都有同等程度的缩小;
(4)设计有分别面向各种高级语言优化实现的多种指令系统,并让它们能动态地切换,发自适应系统;
(5)发族高级语言计算机(高级语言机器)。
4.高级语言机器
高级语言机器是不需安编译即可运行高级语台程序的计算机。它有间接执行的和直接执行的两种形式:
间接执行的高级语言机器是经汇编后执行;直接执行的高级语言机器是通过硬件或固件来解释执。
由于高级语言未能统一,性能价格比低,难以得到用户的欢迎,加之,高级语言程序他又不能只靠解释,就能高效实现的。所以,目前高级语言机器还难以发展起来。
5.面向操作系统优化实现改进的目标和途径
目标是缩短操作系统与计算机系统结构之间的语义差距,减少运行操作系统的时间,节省操作系统软件所占用的存储空间。
途径:
(1)通过统计操作系统中的指令和指令串的使用频度来改进;
(2)增设专用于操作系统的新指令;
(3)把操作系统中频繁使用,且对速度影响大的软件子程序进行硬化或固化,立接改用硬件或微程序来解释实现。操作系统中适合硬化或固化的功能只能是机构型的功能,不能是策略型的功能。机构型的功能指的是基本的、通用的功能,策略型的功能是随不同环境需要会改变的功能。如果将策略型的功能也进行硬化和固化,就失去了灵活性和适应性;
(4)设置专门的处理机来运行操作系统,发展功能分布处理系统:

(五)按RISC方向发展与改进指令系统

5.按RISC方向发展和改进指令系统,要求达到领会层次。
5.1 CISC存在的问题和RISC的优点。
5.2设计RISC机器的一般原则。
5.3设计RISC机器的基本技术。
1.CISC结构的问题
指令系统日趋庞大和复杂,使机器的设计周期延长,成本升高,错误增多,可靠件降低;指令的操作繁杂,执行速度降低;高级语言源程序的优化编泽困难,编译的时空开销增大;指令系统中,约有80%的指令使用频度很低,利用率低,因而系统的性能价格比低。
2.设计RISC机器的一般原则
精简指令的条数;简化指令的格式,让指令子等长,并让所有指令都在一个机器周期执行完;扩大机器中通用寄存器的个数,只让存、取两类指令可以访存,其他的指令一律只能对寄存器进行操作;指令的实现以组合电路硬联实现为主,少量指令可采用微程序解释;精心设计高质量的编译程序来优化支持高级语言程序的实现。
3.设计RISC机器的基本技术
按设计RISC机器的一般原则来精选和优化设计指令系统;逻辑上采用硬联组合电路为主,适当辅以微程序控制;在CPU内设置大量的寄存器,并采用重叠寄存器组的窗口;指令采用重叠和流水的方式解释,并采用延迟转移;优化设计高质量的编译程序。
4.RISC的优点
简化了指令系统的设计,适合于用VLSI实现;提高了机器的运行速度和效率;降低了设计成本;提高了系统的可靠性;可以直接高效地支持高级语言的实现,简化了编译程序。
5.RISC的问题及发展趋势
RISC的问题和不足是:加重汇编语占程序设计的负担;目标程序所占的存储空间量可能加大;对浮点运算和虚拟存储器等的支持还不够强;对编译程序的设计质量要求较高,难度较大。
今后计算机发展改进的总趋势是让RISC和CISC两者互相结合,取长补短。

第3章 总线、中断与输入输出系统
(一)课程内容
1.输入输出系统的基本概念
2.总线设计
3.中断系统
4.通道处理机
(二)学习目的与要求
本章集中介绍总线、中断、通道处理机的设计。
总的要求是:
l 掌握总线的类型、控制方式、通讯技术、数据宽度和总线线数等设计的各种方案、优缺点和适用场合。
l 理解中断像为什么要分成类和分成级。
l 掌握通过改设中断级屏蔽位的状态达到所希望的中断处理次序的做法。
l 熟练掌握画中断处理过粗图。
l 了解中断系统的软、硬件分配原则。
l 掌握通道方式进行输入输出的过程。
l 掌握通道的流量设计。
l 掌握画字节通道响应和处理各设备请求的时空图。
重点是:
l 总线控制方式,中断响应次序和中断处理次序的实现,通道流量设计。
难点是:
l 画中断处理过程的示意图,通道的流量设计,画通道响应和处理各设备请求的时空图。
(三)考核知识点与考核要求
(一)输入输出系统的基本概念

1.输入输出系统的基本概念,要求达到领会层次。
1.1高性能多用户计算机系统中,I/0系统应当面向操作系统设计的概念。
1.2 I/O系统三种方式,I/O处理机的二种形式。
1。多用户计算机的I/O系统应面向操作系统设计
在低性能单用户的计算机系统中,输入输出是直接在应用程序中进行安排的。而在高性能多用户的计算机系统中,各个用户共享着整个I/O系统。为了防止各用户使用I/O系统的冲突,保证整个系统工作的安全可靠,提高I/O系统的工作效率。只能是由用户程序向系统发出要求输入输出的请求,再经操作系统来统一调度和安排输入输出操作。所以,多用户计算机的输入输出系统应当是面向操作系统来设计的,考虑如何在操作系统和输入输出系统之间进行软、硬件的功能分配。
输入输出系统有3种基本方式。它们分别是由CPU直接执行I/O程序的程序控制输入输出(其中又有全软的、查询式的和中断方式的3种)方式、全部由DMA控制器硬件执行的直接存储器(DMA)方式,以及由专设的I/O处理机来执行I/O程序,软硬结合地实现的I/O处理机方式。
I/O处理机的方式又有通道处理机和外围处理机两种不同的形式。
3.I/O系统发展的趋势
I/O系统越来越多地采用多微处理器的分布外处理系统,采用通道和外围处理机两种方式的结合。
(二)总线设计

2.总线设计,要求达到领会层次。

2.1专用和非专用总线的定义、优缺点及适用场合。
2.2非专用总线中三种总线控制方式的总线分配过程,优缺点,所增加的控制线线数。
2.3同步与异步通讯控制方式的通讯过程,优缺点及适用场合。
2.4数据宽度的定义、分类和优缺点。知道数据宽度与数据通路宽度的不同。
2.5减少总线线数的办法。
总线按用途分,可以有专用的和非专用的两类。

类别
优点缺点
专用总线只连接一对物理部件。系统的流量高;可靠性好;控制简单。总线线数多,N个部件用双向专用总线互联,共需N*(N—1)/2组总线;总线的时间利用率低;不利于系统的模块化;系统的可扩充性差。
非专用总线是能被多种功能或多个部件所分时共享的。系统的成本低;模块性强;可扩充性好;容易通过采用多重总线方式,来提高总线的带宽或提高总线的可靠性。总线有可能成为整个系统在速度性能上的瓶颈;总线出现故障时,容易导致整个I/O系统工作瘫痪。
I/O系统中,I/O总线宜使用非专用总线。
2.非专用总线的控制方式
使用非专用总线。需要有总线控制机构来解决多个设备或部件,在同时申请非专用总线时的优先级裁决。总线的优先级裁决方式可以有串行链接、定时查询和独立请求三种:总线优先级控制方式的选择,取决于对所增加的辅助控制总线数目、价格、分配总线的速度、系统的可扩展性、改变优先级次序的灵活性、系统的可靠性等诸多因素的综合权衡。有关这三种总线使用优先级的控制方式的逻辑原理框图、总线的分配和释放过程,可以参看教材P64第3章的3.2.2节之叙述。

控制方式
优点缺点
串行链接 获得使用总线的优先次序是按“总线可用”线所接部件离总线控制器距离的近远次序来定。①选择算法简单;
②控制总线数少;
③可扩充性好;
④可靠性高。易于通过多重设置“总线可用”线来提高其系统的可靠性,或在—定程度上克服优先级线连固定,不能软件改变的缺陷。
①对“总线可用”线及其有关电路失效敏感
②灵活性差;
③总线中分配速度慢
④受总线长度的限制,增减和移动部件受限制。
定时查询(1)灵活性强,部件的优先次序由程序控制。
(2)可靠性高,不会因某个部件失效而影响其它部件使用总线。
(1)总线的分配速度不能很高。
(2)控制较为复杂。
(3)控制线数多,需要2+[log2N]根。
(4)可扩充性差。
独立请求(1)灵活性强,部件的优先次序由程序控制。
(2) 可靠性高,能方便地隔离失效部件的请求。
(3)总线的分配速度快。
(1)控制较为复杂。
(2)控制线数多,要控制N个设备,需要有2N+1根控制线。
(控制、线数、可靠性、可扩充性、灵活性、分配速度)
上述三种总线控制方式在计算机系统中适用的场合不同,一般在微、小型机上宜使用能干串行链接方式,小、中、大型机上宜采用定时查询方式,在大、巨型机上宜采用独立请求方式。

3.总线的通讯技术
总线的通讯技术是反映信息,在总线上传送时所采用的同步技术,他们可以分为同步和异步两种。
同步通讯是由系统给出统一的固定周期的定时时钟信号,来对信息收发进行间步控制的。同步通讯的优点是:信息传送的速度快,基本上不受总线长度的影响。向步通讯的缺点是:对同步信号要求高;部件间速率差异大时,会严重影响系统的效率;缺少信息在通讯过程中是否被正确接收的回答。
共享I/O总线的各个部件速度差异大时,宜采用异步通讯。异步通讯又可以分为单向源控式、单向目控式、双向非互锁和双向互锁等多种方式,其中,异步双向互锁方式是I/O总线最广泛采用的方式。因为异步双向互锁方式在各种不同速率的设备共享总线时,能正确可靠地传送情息,其信息传送的速率又动态地取决于当前使用总线的两个部件中,速率较低的那台设备的速率,所以系统的效率易于得到发挥。但采用异步双向互锁花费的时空开销较大。信息在一次通讯过程中,需要让信息再总线上来回传送各二次,数据通讯的速率和部件间的距离有着线性相关关系。
4.总线的数据宽度
数据宽度是指I/O设备取得I/O总线后所传送的数据总量。数据宽度与数据通路宽度的概念完全不同。数据通路宽度是指一个时钟周期内所传送的信息位数,即数据总线的线数。一个数据宽度的信息传送,可能要在数据总线上经多个时钟周期分次传送来完成。数据通路宽度是属于组成设计的内容,对程序员是透明的;而数据宽度是属系统结构考虑的内容,对程序员应当是不透明的。
字节多路,数组多路和选择通道的数据传送方式。
字节多路通道适用于连接大量的像光电机等字符类低速设备。这些设备传送一个字符(字节)的时间很短,但字符(字节)间的等待时间很长。通道“数据宽度”为单字节,以字节交叉方式轮流为多台设备服务,使效率提高。字节多路通道可有多个子通道,同时执行多个通道程序。
数组多路通道适合于连接多台象磁盘等高速设备。这些设备的传送速率很高,但传送开始前的寻址辅助操作时间很长。通道“数据宽度”为定长块,多台设备以成组交叉方式工作,以充分利用并尽可能重叠各台高速设备的辅助操作时间。传送完K个字节数据,就重新选择下个设备。数组多路通道可有多个子通道,同时执行多个通道程序。
选择通道适合于连接象磁盘等优先级高的高速设备,让它独占通道,只能执行一道通道程序。通道“数据宽度”为可变长块,一次将N个字节全部传送完,在数据传送期只选择一次设备。

单字(单字节)低速字符设备,如键盘、显示器、打印机、光电输人机等在数据传送开始时,不必指明信息传送的宽度。节省辅助信息传送的时间开销。信息若多于一个字或定长块时,需要进行信息分割,多次地申请使用和分配总线,而且块内的零头信息传送,仍要占用传送一个完整的定长块信息所需的时间,这会浪费总线的带宽。
定长块磁盘存储器等高速设备
可变长块高优先级的中、高速磁带或磁盘存储器等设备灵活性好。但需要事先指明所要传送信息的长度,增加了辅助信息传送的开销,控制比较复杂。
单字加定长块高优先级的中、低速设备的总线超过定长块的信息可以
单字加可变长块高优先级的中、低速设备最灵活,适应性强,但控制也最复杂,成本也最高。
5.总线的线数
总线的线数,是包括构成总线所用的控制线和数据线等的全部线数。总线线数越多或总线长度越长时,都将使总线的成本越高,总线上的干扰越大,系统可靠性越低。因此。所用总线越长时,应适当减少所用的线数。
在满足系统的性能和总线流量的前提下,可以通过采用总线的功能组合、并/串-串/并转换、对信息采用编码传送等方式来减少总线的线数。
6.总线与接口的标准化及流量设计
总线设计应解决接口的标准化,总线的流量应当大于等于总线上所接各设备平均流量之和。并适当配置一定容量的缓冲器进行流量平滑。同时,应考虑整个系统流量分配的平衡等问题。若总线流量超过某个范围时、总线的价格将会随流量的增大而显著上升,因此,必要时,系统府设置多组总线,限制每组总线的长度及所挂设备的数量,这样可以使整个总线系统的价格要比采用高速单总线的方式来得便宜。

(三)中断系统
3.中断系统,要求达到综合应用层次。
3.1中断分类和分级的目的,一般分哪几类、哪几级。
3.2设中断级屏蔽位的作用及中断嵌套的原则。
3.3按中断处理要求的次序设置好中断级屏蔽位的状态,能正确画出发生各种中断请求时,CPU的程序执行状态转切的过程图。
3.4中断系统软、硬件功能分配的基本点。
1. 中断的分类和分级
若系统的中断源个数很少时,可以用硬件来为每个中断源直接形成各中断服务程序的入口地址,以便转入中断服务程序。但一般的高性能大型多用户系统,系统的中断源个数可能多达数十甚至数百个,这时,宜将性质接近的中断源分成类,每一类都各自用硬件形成其中断服务程序的总入口。在响应了该类中断后,再由软件查询其中断类的中断字寄存器(由该类中断源触发器组成的字)的内容来分支,转入某个具体的中断源处理分支程序进行处理。因此,中断源的分类主要是为减少中断处理程序入口地址的形成硬件数量。
在中断源分成类之后,为了便于对某个具体中断源进行处理,在每一类内,各个中断源的响应和处理的优先次序,一般可用软件的查询方式或用硬件的串行链接等方式来管理。至于不同类的中断,就要根据中断类的性质、紧迫性、全局件、重要性及软件处理的方便性等,将它们分成不同的中断响应优先级,让级别高的中断类能优先得到响应。一般在安排中断类响应的优先级时,将机器校验类中断列为第l级,具有最高的优先级;程序性中断和管理程序调用类中断列为第2级,优先级次之;其后依次为外部中断、输入输出类中断、重新启动中断。
2.中断的响应和中断的处理
中断响应是允许中断源能够中断CPU现行程序的运行,转去对该中断请求进行预处理,包括保存好断点和关键性的断点现场,调出相应的中断处理程序,准备对其执行。在大多数机器中、中断响应是通过采用交换新旧程序状态宁(PSW)的办法来充成。
中断处理是通过具体执行中断服务程序,来对中断源进行处理的过程。中断服务程序内部根据情况还需要保存其他一些断点现场,并在返问中断点前加以现场恢复。
3.中断嵌套原则
由于中断请求是随机发生的,完全有可能在处理某个中断服务程序的过程中,又出现新的中断请求,这时就可能出现中断的嵌套。在中断嵌套时,应遵循的原则是,在处理某级中的某个中断请求时,应当屏蔽与之同级或低级的中断请求,只有比它高级的中断请求才可中断正在处理的中断服务程序,在发生中断嵌套时,为保证正确地返回到原中断点,系统中都采取在中断时,将断点地址用硬的方法自动压进堆栈来保存。等中断返回时,再用硬的方法将保存的返回地址自动弹出堆栈到程序计数器中。利用堆栈的后进先出工作方式就可实现从哪儿来回哪儿去。
4.中断响应次序和中断处理次序
中断响应次序是靠用中断响应的硬件排队器事先固定好的。它总是对进入了中断响应排队器的中断级请求,按由高到低的次序响应其中一个高优先级的中断级请求,除非某些中断级请求未进人中断响应排队器排队。
为了能动态地调节中断处理程序实际执行完的次序,即中断处理次序,在中断级请求源与中断响应排队器的入口端之间,又加设了一个中断级屏蔽字寄存器和相应的控制门电路硬件,中断级屏蔽字寄存器中的每一个中断级屏蔽位,可以控制相应等级的中断请求能否进入中断响应排队器去参加排队。只要能进人中断响应排队器的中断请求,总是让其中级别相对高的优先得到响应。
操作系统可以通过修改各中断级处理程序的中断级屏蔽位的状况,来使中断处理(完)的次序符合我们所希望的次序。
需要注意的是有关中断级屏蔽位“0”、“1”是“屏蔽”还是“开放’中断,不同机器有着不同的定义,不要将“0”“1”的含义搞反了。另外,用户程序(目态程序)是不能屏蔽任何中断的,就是说,用户程序的现行状态字中,中断线屏蔽位应对各级中断都是外放的。
5.中断系统的软硬件功能分配
中断系统的软硬件功能分配,实际上就是在中断处理程序软件和中断响应距件之间的功能分配。为了加快中断的响应和处理,在满足性能价格比的前提下,可以在硬件的快速性和软件的灵活性上进行综合权衡。可以通过适当增加—些硬件或新的指令,来加快中断断点现场的保存、恢复和中断的具体处理。
(四)通道处理机
4.通道处理机,要求达到领会层次。
4.1通道方式的输入输出过程。
4.2通道的三种类型,相应所用的数据宽度及适用场合。
4.3通道的极限流计算,外设对通道要求的流量计算。
4.4计算I/O系统的流盆。
4.5带多台外设的字节多路通道,进行流量计算、通道工作周期设计,画通道响应和处理各台外设请求时刻的时空图,这部分要求达到简单应用层次。
1.通道处理机进行输入输出的过程
在多用户应用环境下,应用程序要想进行一次输入/输出。可在目态程序中安排要求进行输人输出的访管指令,并带上所用之设备号、设备与主存要交换的字节数、与主存交换信息的起始地址等参数。
CPU执行到访管指令时,按其提供的入口地址,将管理程序调出来执行。此管理程序的任务是利用所带的参数来编制通道程序。
在通道程序编好且存入主存中某个通道缓冲区时,就置好相应的通道地址字。当管理程序执行到“启动I/O”的管态指令时、就进入了“通道开始选择设备”期。
在“通道开始选择设备”期内。CPU选择指定的通道、子通道、设备控制器和设备后,发出启动命今。当设备被成功启动之后,CPU就退出管态,返回目态;与执行其他的用户程序;此时,通道进入了“通道数据传送”期。
被启动的通道,开始执行存放于通道缓冲区中的通道程序来具体组织I/O操作,直至执行到无链通道指令,完成了通道程序后,又向CPU发出I/O中断请求,通道进入“通道数据传送结束”期。CPU在响应I/O中断请求后,第二次进入管态,调出相应的管理程序,进行善后登记和处理后,又重新返回目态。
这样,一次输入输出的过程中,CPU只需要二次进入管态,使之减少了输入/输出对目态程序的干扰,也使CPU和外部设备及多台设备之间可以并行地工作着。
2.通道的分类及相应的数据宽度
在通道数据传送期内,根据信息传送所采取的方式不同,通道义可分为字节多路、数组多路和选择3类通道。
字节多路通道适宜于挂大量字符类低速设备,通道的“数据宽度”为单字节,以字节交叉方式轮流地为多台外部设备服务。
数组多路通道适宜于挂多台高速的磁盘存储器。“数据宽度”为定长块,以成组交叉方式轮流地为多台磁盘设备服务。
选择通道适宜于接高优先级的高速磁带或磁盘设备、“数据宽度”为不定长块,设备被选上后,就独占通道。
具有代表性的IBM370系统是采用CPU/主存一通道一设备控制器一外部设备组成的4级结构。通道内部又可以是由多个子通道组织而成,这些子通道之间均可并行地工作。
3.通道的流量设计
通道流量是指通道在“通道数据传送”期中,单位时间里传送的字节数。
假设所设计的通道每选择一次设备的时间为Ts,每传送一个字节的时间为Td,数据多路通道的定长块的块大小为K个字节,选择通道一次传送N个字节。这样,通道工作时的极限流量分别是:
字节多路 fmax.byte = 1 / (TS + TD)
数组多路 fmax.block = 1 / (TS / K + TD)
选择 fmax.select = 1 / (TS / N + TD)
如果通道上所挂P台设备部被启动后。设备对通道要求的实际流分别:
字节多路通道应当是所挂P台设备的速率之和,即:fbyte = ∑fi
数组多路通道和选择通道都是所挂P台设备中速率最高者 fblock=fselect = max fi
为使通道所挂外部设备在满负荷工作时仍不丢失信息。应使设备要求通道的实际最大流量不能超过通道的极限流量。
因为在I/O系统中,各个通道是在并行工作的,所以I/O系统的极限流量应当是各通道或各子通道工作时的极限流量之利,即:
fmax >= ∑fmax.byte + ∑fmax.block + ∑fmax.select
可以利用上述不等式两边的差值来衡量I/O系统流量的利用率。差值越小,I/O系统流量的利用率越高,设计比较合理。
在考虑通道对设备所发的传送字节数据请求优先响应谁的问题时。一般都采取让设备速率越高的,其响应和处理的优先级越高,同一速率的各个设备、则可由系统指定一个优先级。例如,让设备号越小的,其响应和处理的优先级越高。
流量设计的基本要求只能保证通道在宏观上不丢失设备的信息。如果设备要求通道的实际流量最高值非常接近于通道设计时所能达到的极限流量时,通道在工作时的某个局部时刻还有可能丢失信息。由于高速设备在频繁地发出要求传送数据的请求时,总是被优先得到响应和处理,就可能使低速设备的信息一时得不到处理而丢失。为此,还需采取措施来补救。例如,可以为各设备配置一定容量的数据缓冲器。暂存—下一时来不及处理的信息;或通过动态调高低速设备要求传送数据的响应优先级,就能在微观上也不丢失信息。
摘自:http://hi.baidu.com/gpwworld/blog/index/0gpw's world 活在贵阳。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: