计算机系统结构简答

计算机系统结构简答
计算机系统结构简答

二简答题

第一章计算机系统结构基本概论

1.简要解释提高计算机系统并行性的三个技术途径。

答:(1)时间重叠是引入时间因素,让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部分,以加快硬件周转使用来赢得速度。

(2)资源重复是引入空间因素,通过重复设置硬件资源来提高性能。

(3)资源共享是用软件方法让多个用户按一定时间顺序轮流使用同一套资源,来提高其利用率,相应也就提高了系统的性能。2.器件的发展对逻辑设计方法有哪些影响?

答:器件的发展对逻辑设计方法的影响:

(1)由逻辑化简改成着眼于采用什么组成技术能够规整、批量生产,宜于超大规模集成,缩

姐设计周期,提高系统效能,尽量采用存储逻辑和通用器件;

(2)由全硬设计改成采用微汇编设计。、微高级语言、计算机辅助设计等手段软硬结合和自动化

3.简述计算机系统“由中间开始”设计的基本思想。

答:(1)软硬件设计分离和脱节是“由上往下”和“由下往上”设计的主要缺点,由此提出“由中间开始”设计。“中间”提的是层次结构中的软硬交界面,目前多数是在传统机器级与操作系统机器级之间。

(2)进行合理的软、硬件功能分配时,既要考虑能拿到的硬、器件,又要考虑可能的应用所需的算法和数据结构,先定义好这个交界面。确定哪些功能由硬件实现,哪些功能由软件买现,同时还要考虑好硬件对操作系统、编译系统的实现提供些什么支持。然后由这个中间点分别往上、往下进行软件和硬件的设计。

4.为解决不同系统结构的机器之间的软件移植,通常采用何种途径?并简述其过程。

答:为实现不同系统结构的机器之间的软件移植,就必须做到在一种机器的系统结构上实

现另一种机器的指令系统,即另一种机器语言。例如,要求原在B机器上运行的应用软件,能够移植到有不同系统结构的A机器上,根据层次结构的概念可把B机器的机器语言看成是在A机器的机器语言级上的一个虚拟机器语言,在.A机器上用虚拟概念来实现B机器的指令系统。

5.并行性有哪些不同的等级?

答:并行性有不同的等级:

(1)从计算机系统中执行程序的角度看,并行性等级由低到高.分别是指令内各微操作之间的并行,多条指令之间的并行,多个任务或进程之间的并行以及多个作业或程序之间的并行等。

(2)从计算机系统处理数据的角度看,并行性等级由低到高,分别是位串字串(传统串行单处理机,无并行性),位并字串(传统并行单处理机),位片串字并和全并行等。

(3)从计算机信息加工步骤和阶段的角度看,并行性等级又有存储器操作并行(并行存储器、相联处理机),处理器操作步骤并行(流水线处理机),处理器操作并行(阵列处理机),指令、任务、作业间的全面并行(多处理机、分布处理系统、计算机网络)等。

6.简要说明翻译和解释的区别和联系。

答:区别:翻译是先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上等效的程序,然后再在低一级机器级上实现的技术。解释是在低级机器级上用它的一串语句或指令来仿真高级机器级上的一条语句或指令的功能,通过高级机器语言程序中语句或指令的逐条解释来实现的技术。

联系:翻译或解释是高级机器级的程序在低级机器上实现的必须步骤,各机器级的买现主要靠翻译或解释或是两者的结合

7.比较模拟和仿真。

答:模拟是指用机器语言程序解释实现软件移植。适用场合:移植运行时间短,使用次数少,在时间关系上没有约束和限制的软件。好处:灵活,可实现不同系统间软件移植。

存在问题:结构差异很大时,模拟的运行速度会急剧下降,实时性差

采取的策略:模拟与仿真相结合。

仿真是指用微程序直接解释另一种机器指令系统

适用场合;在结构差别不大的系统间使用。

好处:可提高被移植软件的运行速度。

存在问题:不灵活,当两种机器结构差别很大时,很难仿真。

采取的策略:模拟与仿真相结合,发展异种机联网。

8.为什么将计算机系统看成是多级机器构成的层次结构?(尸2)

答:将计算机系统看成是多级机器构成的层次结构推动了计算机系统结构的发展。例如,可以重新调整软、硬件比例,为应用语言级、操作系统级、高级语言级提供更多更好的硬件支持,改变硬、器件迅速发展而软件日益复杂、开销过大的状况;或直接用硬件或固件实现,发展高级语言机器或操作系统计算机结构。既然层次中每一级都有其自己的用户、实现方法和指令系统,因此可让各虚拟机器级用真正的实处理机代替,摆脱以往各级功能都在同一台实机器上实现的状况,发展多处理机、分布处理、计算机网等系统结构。可在一台宿主机上模拟或仿真另一台机器.推动自虚拟机、多种操作系统共行等技术的采用,从而促进软件移植、计算机系统性能评价、计算机设计自动化等的发展。

9.设计主存系统时,哪些属于计算机系统结构?哪些属于计算机组成?哪些属于计算机

实现所要考虑的问题?

答:确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。

选择存储芯片类型、微组装技术、线路设计等属于计算机实现。

10.列举计算机系统软硬件功能分配时,进行软硬件取舍的三条基本原则。

答:(1)应考虑在现有硬器件条件下,系统要有高的性能价格比。

(2)要考虑到准备采用和可能采用的组成技术,使它尽可能不要过多或不合理地限制各种组成、实现技术的采用。

(3)如何为编译和操作系统实现及高级语言程序的设计提供更多更好的硬件支持,以缩短高级语言与机器语言、操作系统与计算机系统结构以及程序设计环境与计算机系统结构之间的语义差。

11.软件可移植指的是什么?实现软件移植有什么好处?

答:软件的可移植指的是软件不用修改或只经少量的修改就可以由一台机器搬到另一台

机器上去运行,使得同一套软件可以应用于不同的硬件环境。

实现软件移植,过去的计算机系统上所有的大量成熟可靠的软件,特别是应用软件,就可以在新的机器上长期使用,而不必重新编写。既可以大大减少软件编制的工作量,又能迅速用上新的硬件技术,让新系统立即发挥效能,同事软件设计者也能有精力去开发全新的软件。

12. 简述统一高级语言实现软件移植的方法、适用场合、存在问题和原因.以及对此问题采

取的对策。

答:统一高级语言是指设计出一种对各种应用领域都比较高效通用的高级语言。适合于在结构相同以至完全不同的机器之间,通过配以不同的语言翻译程序实现高级语言应用软件的移植。存在的问题是至今还难统一出这样一种通用的高级语言口

因为不同用途要求高级语言的语法和语义结构差别较大;人们对统一的高级语言压当有什么样的基本结构看法不一;厂家为便于在机器上高效翻译,在语言中引入了方言;用户为节省程序空间和提高其运行速度,经常在高级语言源程序中嵌入汇编语言或其他语言的程序;用户的习惯势力阻挠,不愿使用新的语言,等等。

对此问题采取的对策是,从长远的目标,还是要争取统一出一种通用的高级语言.但近期只能作相时的统一。

13,什么是系列机软件的向上(向下)兼容和向后(向前)兼容?

答:系列机软件的向上(向下)兼容指的是按某档机器编制的软件,不加修改就能运行于比它高(低)档的机器上。

向前(后)兼容指的是在按某个时期投入市场的该型号机器上编制的软件,不加修改就能运行于在它之前(后)投入市场的机器上。

14.计算机系统在处理数据的并行上,可分为哪四个等级?简单解释并各举一例。

答:位串字串,只能同时处理一个字的一位,无并行性,例如,位串行计算机。位并字串,同时处理一个字的所有位,例如,简单的位并行单处理机。位片串字并,同时处理多个字的同一位,例如,相联处理机中的位片串字并方式。全并行,同时处理多个字的多个位或位组,例如,全并行的阵列处理机或相联处理机。

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

1.简述哈夫曼压缩概念的基本思想。

答:哈夫受压缩概念的基本思想是:当各种事件发生的概率不均等时,来用优化技术时生概率录高的事件用最短的位数(时间)来表

示(处理),而付出现概率较低的,允许用较长的盘(时间)来表示(处理),就会导致表示(处理)的平均位数(时间)的编短。

2.简述标志符数据表示的主要优点。

答:(1)简化了指令系统和程序设计;

(2)简化了编译程序;

(3)便于实现一致性校验;

(4)能由硬件自动变换数据类型;

(5)支持数据库系统的实现与数据类型无关的要求;

(6)为软件调试和应用软件开发提供了支持。

3.按CISC方向,面向操作系统的优化实现来改进指令系统有哪些思路?

答:按CISC方向.面向操作系统的优化实现来改进指令系统的思路有:

(1)通过对操作系统中常用指令和指令串的使用频度进行统计分析来改进;

(2)如何增设专用操作系统的新指令;

(3)把操作系统中频繁使用的.对速度影响大的某些软件子程序硬化或固化,改为直接用硬件或微程序解释实现;

(4)发展让操作系统由专门的处理机来执行的功能分布处理系统结构。

4.自定义数据表示可分为哪两类?有何特点?

答:自定义数据表示是为缩短高级语言和机器语言的语义差距引出来的。它又分为标志符数据表示和数据描述符两类。标志符数据表示是让数据字本身带有数据或信息的类型标志。标志符由编译程序建立,对高级语言程序透明。数据描述符主要用于描述向量、数组、记录等成块的数据。它与标志符数据表示的差别是:标志符与数据合存于一个存储单元中,用于描述单个数据的类型和属性的;描述将则是与数据分开存放,主要用于描述成块数据特征的。

5.什么是RISC计算机

答:R1SC'计算机是精简指令系统计茸机。即减少指令种数.简化指令功能.使指令系统规整,指令执行时间尽可能短。

6.简述采用RISC'技术的超级标量机的主要特点。

答:采用RISC技术的超级标量机的主要特点是:

(1)配里多个性能不同的处理邵件。采用多条流水线并行处理;

(2)能同时对若干条指令进行译码,将可并行执行的指令送往不同的执行布件,

(3)从而达到在每个时钟周期启动多条指令的目的;

(4)在程序运行期间由硬件完成指令调度。

7.简述RISC的延迟转移技术的特点。

答:RISC机采用的延迟转移技术的特点是:

通过软件实现,设法使后继指令变得有用。

一般采用三种调度策略:

(1)将转移不发生时应该执行的那条指令调度到延迟楷中;

(2)将转移不发生的那条指令调度到延迟槽中;

(3)将转移指令前的那条指令调度到延迟槽中。

最后一种方法的效果最好,总能使性能获得改善。

8.简述三种面向的寻址方式的关系。

答:三种手址方式各有特点但又不相互排斥。

面向寄存器的寻址速度最快,但需增大寄存器的硬件开梢。面向主存的寻址速度比面向寄存器的寻址速度慢,但可使用少童的寄存器。

面向堆找的寻址可减轻编译的负担,不用考虑寄存器的优化分配,很好地支持子程序的调用,可省去去命令中的地址字段,但速度慢,甚至比面向主存的寻址慢。

三种面向的寻址不互相排斥。在同一系统结构中,应选一种面向的寻址为主,辅以其它面向的寻址,互相取长补短。例如,在堆栈型机器中,可增设面向寄存器的寻址方式;除直接访问钱顶外,还能访问栈中任意单元;可增设硬堆栈或增设栈顶寄存器组来提高运算速度。

9.简要叙述面向操作系统优化实现来改进机器指令系统要达到的目标和四个主要的改进

思路。

答:目标是缩短操作系统与计算机系统结构之间的语义差距,进一步减少运行操作系统的时间和节省操作系统软件所占用的存储空间。

四个主要的改进思路是:

(1>通过分析统计操作系统中的常用指令和指令串的使用频度来改进。

(2)增设专用于操作系统的新指令。

(3)把操作系统中频繁使用且对速度影响大的软件子程序硬化或固化,改为直接用硬件或微程序来解释实现。

(4)用专门处理机来执行的功能分布处理系统结构。

10.何谓数据表示和数据结构,它们之间有什么关系?

答:数据表示指的是能由机器硬件直接识别和引用的数据类型。它主要表现在机器中配置有哪些数据运算类指今和相应的运算部件。

数据绝构相的是软件在处理和应用中要用到的各种数据元紊或信息单元之间的结构关系。

数据表示是数据结构的构成元素数据结构要通过软件映象变换成机器中所具有的备种教据表示来实现。不同的数据表示可为教据结构的实现提供不同的支持,表现在实现效率和方便性上不同。因此,数据结构和数据表示是软件和硬件之间的一个主要的交界面。

11.向量组数据表示的计算机为向坡数组数据结构的实现和处理提供了哪些主要的硬件支持。

答:向量组数据表示的计算机为向量组数据结构的实现和运算提供了很多的硬件支持。

它表现在:

(1)硬件上设置有丰富的向量或数组运算和处理的指令,只需用一条向量、数组类指令就可实现时整个向量或数组中的各元素进行访问、运算和处理。

(2)配有流水线或处理单元阵列等高速的运算部件,直接支持向量和数组的高速运算和处理。

(3)用硬件实现元素地址的快速形成、下标越界判断、元素的成块预取等,且让越界判断和元素的运算同时并行。

(4)有许多用于对稀疏向量、数组进行压缩存储、还原、运算等指令和硬件。

(5)有对阵列中每个元素又是一个子阵列的相关型交叉阵列进行高速处理的硬件等。

12.当浮点数尾数基值减小时,对机器数的表示会产生哪些影响?

答:(1)数的可表示范围变小;

(2)可表示数的总个数减少;

(3)数在数轴上的分布变密,机器数的精度提高;

(4)运算过程中的精度损失增大;

(5)运葬速度有所降低。

13.以浮点数数据表示为例,说明什么是数的可表示精度,什么是运算中的精度损失?点数尾数基值取小时,对上述二者,哪个有利?哪个不利?

答:数的可表示精度是数在数轴上离散的程度·分布越密,在数轴上两个可表示数的差越小,精度越高。它与尾数实际可表示值的有效数位多少有关。尾数有效数位越多,精度越高。运算中的精度损失指的是由于运算中尾数超出或右移出机器字长,使有效数字丢失后造成的精度损失。

若浮点数尾数基值取小,则精度可以提高,但运算中的精度损失可能增大,即对贾老有对后者不利。

14.简述程序的静态再定位的方法及存在的问题。

答:程序的静态再定位是在目的程序装入主存时,通过调用系统配备的装入程序,运行此装入程序把目的程序的逻辉地址用软的方法逐一修改成物理地址不能再改变了。静态再定位方法存在的问题有:

(1)不利于多道程序的运行环境;

(2)不利于操作系统对主存空间的分配和利用;

(3)不利于程序的可重入(即无论程序重新进入多少次,其功能应保持不变);

(4)程序出错时,难以进行故障定位和调试;

(5)不利于重叠、流水技术的使用。

15.在满足寻址范围前提下,列举缩短指令字中地址码长度的方法(至少六种)

(1)加基础

(2)加变址

(3)相对寻址;

(4)访存地址空间分成段,指令中只给出段号与段内位移字段之一;

(5)寄存器寻址;

(6)寄存器间接寻址等等。

16.简述面向目标程序优化实现改进机器指令系统要达到的目标和两个主要的改进思路。

答:面向目标程序优化实现改进机器指令系统要达到的目标是希望普遍提高包括系统软件和应用软件在内的各种机器语言目标程序的实现效率,即缩短目标程序的长度,加快目标移序的执行速度,并使实现起来方便可行。

两个主要的改进思路是:

(1)通过统计机器语言目标程序中各种指令和指令串的静态使用频度和程序在执行过赛中的动态使用频度来改进。对高频的指令可以增强其功能,加快其执行速度,缩短其指令字长;对频度很低的指令可将其功能合并到某些高频的指令中去,或在搞新的系列机时,将其取消。对高频的指令串可增设功能更强的新指令或复合指令来取代。

(2)将常用的宏指令和子程序的功能改成为强功能复合指令,由微程序来解释实现。维持软件的向后兼容。减少非功能型指令所占的比例,增大功能型指令所占的比例。

17..简述面向高级语言优化实现改进机器指令系统要达到的目标和五个主要的改进思路。

答:面向高级语言优化实现改进机器指令系统要达到的目标是缩短高级语言和机器语言的语义差距,缩短编译程序的长度,减少编译程序所占的主存空间,节省运行编译程序时运.行所需的时间。

五个主要改进思路是:

(1)统计高级语言源程序的语句使用频度,增设与高频语句的语义差别小的新指令。

(2)面向编译,优化代码生成,增强结构的规整性和对称性来改进指令。

(3)让指令改进后,使它与各种高级语言之间的语义差都有同等程度的缩小。

(4)设计有分别面向多种高级语言优化实现的多种指令系统,并让他们能动态地切换,发展自适应系统。

(5)发展高级语言计算机。

18、软件和硬件在什么意义上是等效的?在什么意义上是不等效的?

逻辑上等效,性能、价格、实现难易程度上不一样。

19、为什么将计算机系统看成是多级机器构成的层次结构?

可以调整软、硬件比例;可以用真正的实处理机代替虚拟机器;可以在1台宿主机上仿真另一台。

20、说明翻译和解释的区别和联系.

区别:翻译是整个程序转换,解释是低级机器的一串语句仿真高级机器的一条语句。

联系:都是高级机器程序在低级机器上执行的必须步骤。

21、就目前的通用机来说计算机系统结构的属性主要包括那些?

数据表示、寻址方式、寄存器组织、指令系统、存储系统组织、中断系统、管态目态定义与转换IO结构、保护方式和机构。

22、试以实例简要说明计算机系统结构,计算机组成,与计算机实现的相互关系与影响.

结构相同,可用不同的组成。如系列机中不同型号的机器结构相同,但高档机往往采用重叠流水等技术。

组成相同,实现可不同。如主存可用双极型,也可用MOS型等。

结构不同组成不同,组成的进步会促进结构的进步,如微程序控制。

结构的设计应结合应用和可能采用的组成。组成上面决定于结构,下面受限于实现。

组成与实现的权衡取决于性价比等;结构、组成、实现的内容不同时期会不同。

23、简述计算机系统结构用软件实现和用硬件实现各自优缺点

硬件优点:速度快,节省存储时间;缺点:成本高,利用率低,降低灵活性、适用性。

软件优点:成本低,提高灵活性、适用性;缺点:速度慢,增加存储时间、软件设计费。

24试述由上往下设计思路,由下往上设计思路和他们所存在的问题

由上往下:先考虑应用要求,再逐级往下考虑怎样实现。适用于专业机

由下往上:根据已有器件,逐级往上。六七十年代通用机设计思路。

以上方法存在的问题是软、硬件脱节。

25、试述由中间开始的设计思路及其优点

既考虑应用也考虑现有器件,由软硬件分界面向两端设计。

优点:并行设计,缩短周期。

26问什么要进行软件移植?

软件的相对成本越来越高,应重新分配软、硬件功能。但:

成熟软件不能放弃;已有软件修改困难;重新设计软件经济上不划算。

27简述采用统一高级语言方法,适用场合,存在问题和应采取的策略.

定义:是指为所有程序员使用的完全通用的高级语言。

适用场合:软件移植方便。

存在问题:目前语言的语法、语义结构不同;人们的看法不同;同一语言在不同机器上不通用;程序员的习惯

应采取的策略:可一定范围内统一汇编语言,结构相同机器间搞系列机。

28简述采用系列机方法,适用场合,好处,存在问题和应采取的策略.

定义:根据软硬件界面的系列结构,设计软件和不同档次的系列机器。

适用场合:同一系列内软件兼容

好处:呼应“中间开始”设计思路;缓解软件要求稳定环境和硬件发展迅速的矛盾。

存在问题:软件兼容有时会阻碍系统结构的变革。

策略:坚持这一方法,但到一定时候要发展新系列,还可采用模拟仿真。

29简述采用模拟与仿真方法,适用场合,好处,存在问题和应采取的策略.

模拟定义:用机器语言解释另一指令系统

适用场合:运行时间短,使用次数少,时间上无限制。

好处:可在不同系统间移植。

存在问题:结构差异大时,运行速度下降,实时性差。

策略:与仿真结合

仿真定义:用微程序解释令一指令系统

适用场合:结构差别不大的系统

好处:运行速度快

存在问题:结构差别大时,很难仿真。

策略:与模拟结合,发展异种机连网。

30模拟与仿真区别是什么?

模拟:机器语言解释,在主存中;仿真:微程序解释,在控制存储器中。

31器件的发展如何改变逻辑设计的传统方法?

一是由逻辑化简转为采用组成技术规模生产,规模集成,并尽量采用通用器件

二是由全硬设计转为微汇编、微高级语言、CAD等软硬结合和自动设计。

32为什么说器件的发展是推动结构和组成前进的关键因素?

器件集成度提高,促使机器主频、速度提高;可靠性提高,促使采用流水技术;

高速、廉价的半导体促使CACHE和虚拟内存的实现;现场型PMOS促使微程序技术的应用;

性价比提高使新的组成下移到中小型机上

33除了分布处理,MPP和机群系统以外,并行处理计算机按其基本结构特征可分为那几种不同的结构?例举他们要解决的主要问题

流水线处理机:多个部件时间上并行执行。拥塞控制,冲突防止,流水线调度。

阵列处理机:空间上并行。处理单元灵活,规律的互连模式和互连网络设计,数据在存储器中的分布算法。

多处理机:时间和空间上的异步并行。多CPU间互连,进程间的同步和通讯,多CPU间调度。

数据流计算机:数据以数据令牌在指令间传递。硬件组织和结构,高效数据流语言。

34简单说明多计算机系统和多处理机系统的区别

都属于多机系统,区别:

多处理机是多台处理机组成的单机系统,多计算机是多台独立的计算机。

多处理机中各处理机逻辑上受统一的OS控制,多计算机的OS逻辑上独立。

多处理机间以单一数据、向量、数组、文件交互作用,多计算机经通道或通信线路以数据流形式进行。

多处理机作业、任务、指令、数据各级并行,多计算机多个作业并行。

35简述几种耦合度的特征

最低:无物理连接,如脱机系统。

松散:通信线路互连,适于分布处理

紧密:总线或数据开关互联,实现数据、任务、作业级并行。

36软件移植的途径,各受什么限制?

统一高级语言:只能相对统一

系列机:只能在结构相同或相近的机器间移植

模拟:机器语言差别大时,速度慢

仿真:灵活性和效率差,机器差异大时仿真困难。

37并行处理数据的四个等级,给出简单解释,各举一例

位串字串:无并行性,如位串行计算机。

位并字串:一个字的所有位并行,如简单并行的单处理机。

位片串字并:多个字的同一位并行,如相连处理机。

全并行:同时处理多个字的多个位,如全并行阵列机。

38设计乘法指令时,结构、组成、实现各考虑什么?

结构:是否设计乘法

组成:是否配置高速乘法器

实现:考虑器件集成度类型数量及微组装技术。

39.有一个计算机系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i 级的一条指令能完成第i-1级的M条指令的计算量。现若需第i级的N条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第2、3和4级上一段等效程序各需要运行多长时间?

答:第2级上等效程序需运行:(N/M)*Ks。第3级上等效程序需运行:(N/M)*(N/M)*Ks。第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。由题意可知:第i级的一条指令能完成第i-1级的M条指令的计算量。而现在第i级有N条指令解释第i+1级的一条指令,那么,我们就可以用N/M来表示N/M表示第i+1级需(N/M)条指令来完成第i级的计算量。所以,当有一段第1级的程序需要运行Ks时,在第2级就需要(N/M)Ks,以此类推

40.硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。

答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。但是实现的性能价格比,实现的难易程序不同。在DOS操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡(硬件)上,而随着CPU、硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。41.试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。

答计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响(1)计算机的系统结构相同,但可采用不同的组成。如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。(2)相同的组成可有多种不同的实现。如主存器件可用双极型的,也可用MOS型的;可用VLSI单片,也可用多片小规模集成电路组搭。(3)计算机的

系统结构不同,会使采用的组成技术不同,反之组成也会影响结构。如为实现A:=B+CD:=E*F,可采用面向寄存器的系统结构,也可采用面向主存的三地址寻址方式的系统结构。要提高运行速度,可让相加与相乘并行,为此这两种结构在组成上都要求设置独立的加法器和乘法器。但对面向寄存器的系统结构还要求寄存器能同时被访问,而对面向主存的三地址寻址方式的系统结构并无此要求,倒是要求能同时形成多个访存操作数地址和能同时访存。又如微程序控制是组成影响结构的典型。通过改变控制存储器中的微程序,就可改变系统的机器指令,改变结构。如果没有组成技术的进步,结构的进展是不可能的。综上所述,系统结构的设计必须结合应用考虑,为软件和算法的实现提供更多更好的支持,同时要考虑可能采用和准备采用的组成技术。应避免过多地或不合理地限制各种组成、实现技术的采用和发展,尽量做到既能方便地在低档机上用简单便宜的组成实现,又能在高档机上用复杂较贵的组成实现,这样,结构才有生命力;组成设计上面决定于结构,下面受限于实现技术。然而,它可与实现折衷权衡。例如,为达到速度要求,可用简单的组成但却是复杂的实现技术,也可用复杂的组成但却是一般速度的实现技术。前者要求高性能的器件,后者可能造成组成设计复杂化和更多地采用专用芯片。组成和实现的权衡取决于性能价格比等因素;结构、组成和实现所包含的具体内容随不同时期及不同的计算机系统会有差异。软件的硬化和硬件的软件都反映了这一事实。VLSI的发展更使结构组成和实现融为一体,难以分开。

42.什么是透明性概念?对计算机系统结构,下列哪些是透明的?哪些是不透明的?

存储器的模m交叉存取;浮点数据表示;I/O系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型还是独立型;PDP-11系列的单总线结构;访问方式保护;程序性中断;串行、重叠还是流水控制方式;堆栈指令;存储器最小编址单位;Cache存储器。

答透明指的是客观存在的事物或属性从某个角度看不到。透明的有:存储器的模m交叉存取;数据总线宽度;阵列运算部件;通道是采用结合型还是独立型;PDP-11系列的单总线结构串行、重叠还是流水控制方式;Cache存储器。不透明的有:浮点数据表示;I/O系统是采用通道方式还是外围处理机方式;字符行运算指令;访问方式保护;程序性中断;;堆栈指令;存储器最小编址单位。

43.从机器(汇编)语言程序员看,以下哪些是透明的?

指令地址寄存器;指令缓冲器;时标发生器;条件寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。

答:透明的有:指令缓冲器、时标发生器、乘法器、先进先出链、移位器、主存地址寄存器。

44.下列哪些对系统程序员是透明的?哪些对应用程序员是透明的?

系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲寄存器。答:对系统程序员透明的有:系列机各档不同的数据通路宽度;Cache存储器;指令缓冲寄存器;对应用程序员透明的有:系列机各档不同的数据通路宽度;Cache存储器;指令缓冲寄存器;虚拟存储器;程序状态字;“启动I/O”指令。系列机各档不同的数据通路宽度、Cache存贮器、指令缓冲寄存器属于计算机组成,对系统和程序员和应用程序员都是透明的。虚拟存贮器、程序状态字、“启动I/O”指令,对系统程序员是不透明的,而对应用程序员却是透明的。“执行”指令则对系统程序员和应用程序员都是不透明的。

45.想在系列机中发展一种新型号机器,你认为下列哪些设想是可以考虑的,哪些则不行的?为什么?

新增加字符数据类型和若干条字符处理指令,以支持事务处理程序的编译。2)为增强中断处理功能,将中断分级由原来的4级增加到5级,并重新调整中断响应的优先次序。(3)在CPU和主存之间增设Cache存储器,以克服因主存访问速率过低而造成的系统性能瓶颈。(4)为解决计算误差较大,将机器中浮点数的下溢处理方法由原来的恒置“1”法,改为用ROM存取下溢处理结果的查表舍入法。(5)为增加寻址灵活性和减少平均指令字长,将原等长操作码指令改为有3类不同码长的扩展操作码;将源操作数寻址方式由操作码指明改成如V AX-11那种设寻址方式位字段指明。(6)将CPU与主存间的数据通路宽度由16位扩展成32位,以加快主机内部信息的传送。(7)为减少公用总路线的使用冲突,将单总线改为双总线。(8)把原0号通用寄存器改作堆栈指示器。

可以考虑的有:1,3,4,6,7。不可以考虑的有:2,5,8。原则是看改进后能否保持软件的可移植性。

46.并行处理计算机除分布处理、MPP和机群系统外,有哪4种基本结构?列举它们各自要解决的主要问题。

答:除了分布处理,MPP和机群系统外,并行处理计算机按其基本结构特征可分为流水线计算机,阵列处理机,多处理机和数据流计算机四种不同的结构。流水线计算机主要通过时间重叠,让多个部件在时间上交划重叠地并行招待运算和处理,以实现时间上的并行。它主要应解决:拥塞控制,冲突防止,流水线调度等问题。阵列处理机主要通过资源重复实现空间上的并行。

它主要应解决:处理单元灵活、规律的互连模式和互连网络设计,数据在存储器中的分布算法等问题。多处理机主要通过资源共享,让一组计算机在统一的操作系统全盘控制下,实现软件和硬件各级上的相互作用,达到时间和空间上的异步并行。它主要应解决:处理机间互连等硬件结构,进程间的同上步和通讯,多处理机调度等问题。数据流计算机设有共享变量的概念,指令执行顺序只受指令中数据的相关性制约。数据是以表示某一操作数或参数已准备就绪的数据令牌直接在指令之间传递。它主要应解决:研究合适的硬件组织和结构,高效执行的数据流语言等问题。

47.计算机系统的3T性能目标是什么?

答:计算机系统的3T性能目标是1TFLOPS计算能力,1TBYTE主存容量和1TBYTES的I/O带宽

48.数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么?

答:数据表示是能由硬件直接识别和引用的数据类型。数据结构反映各种数据元素或信息单元之间的结构关系。数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。数据表示和数据结构是软件、硬件的交界面。除基本数据表示不可少外,高级数据表示的引入遵循以下原则:(1)看系统的效率有否提高,是否养活了实现时间和存储空间。(2)看引入这种数据表示后,其通用性和利用率是否高。

49.标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?

答:标志符数据表示与描述符数据表示的差别是标志符与每个数据相连,合存于同一存储单元,描述单个数据的类型特性;描述符是与数据分开存放,用于描述向量、数组等成块数据的特征.描述符数据表示为向量、数组的的实现提供了支持,有利于简化高级语言程序编译中的代码生成,可以比变址法更快地形成数据元素的地址。但描述符数据表示并不支持向量、数组数据结构的高效实现。而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。

50.堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持?

答:通用寄存器型机器对堆栈数据结构实现的支持是较差的。表现在:(1)堆栈操作的指令少,功能单一;(2)堆栈在存储器内,访问堆栈速度低;(3)堆栈通常只用于保存于程序调用时的返回地址,少量用堆栈实现程序间的参数传递。而堆栈型机器则不同,表现在:(1)有高速寄存器组成的硬件堆栈,并与主存中堆栈区在逻辑上组成整体,使堆栈的访问速度是寄存器的,容量是主存的;(2)丰富的堆栈指令可对堆栈中的数据进行各种运算和处理;(3)有力地支持高级语言的编译;(4)有力地支持子程序的嵌套和递归调用。堆栈型机器系统结构有力地支持子程序的嵌套和递归调用。在程序调用时将返回地址、条件码、关键寄存器的内容等全部压入堆栈,待子程序返回时,再从堆栈中弹出。

51.设某机阶值6位、尾数48位,阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出其最小阶、最大阶、阶的个数、最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。解:

依题意知:p=6 m=48 rm=2, 8, 16,m'=m/log2(rm),列下表:

(3)8个。(4)两种指令格式如下图所示:

2位3位3位

OP R1 R2

操作码寄存器1 寄存器2

5位3位3位5位

OP R1 X d

操作码寄存器1 变址寄存器相对位移

主存逻辑地址(5)访存操作数地址寻址的最大相对位移量为32个字节。

60.设计RISC机器的一般原则及可采用的基本技术有那些?

答:一般原则:(1)确定指令系统时,只选择使用频度很高的指令及少量有效支持操作系统,高级语言及其它功能的指令;(2)减少寻址方式种类,一般不超过两种;(3)让所有指令在一个机器周期内完成(4)扩大通用寄存器个数,一般不少于32个,尽量减少访存次数;(5)大多数指令用硬联实现,少数用微程序实现;(6)优化编译程序,简单有效地支持高级语言实现。基本技术:(1)按RISC一般原则设计,即确定指令系统时,选最常用基本指令,附以少数对操作系统等支持最有用的指令,使指令精简。编码规整,寻址方式种类减少到1、2种。(2)逻辑实现用硬联和微程序相结合。即大多数简单指令用硬联方式实现,功能复杂的指令用微程序实现。(3)用重叠寄存器窗口。即:为了减少访存,减化寻址方式和指令格式,简单有效地支持高级语言中的过程调用,在RISC机器中设有大量寄存嚣,井让各过程的寄存器窗口部分重叠。(4)用流水和延迟转移实现指令,即可让本条指令执行与下条指令预取在时间上重叠。另外,将转移指令与其前面的一条指令对换位置,让成功转移总是在紧跟的指令执行之后发生,使预取指令不作废,节省一个机器周期(5)优化设计编译系统。即尽力优化寄存器分配,减少访存次数。不仅要利用常规手段优化编译,还可调整指令执行顺序,以尽量减少机器周期等。

61.简要比较CISC机器和RISC机器各自的结构特点,它们分别存在哪些不足和问题?为什么说今后的发展应是CISC和RI SC的结合? 答:CISC结构特点:机器指令系统庞大复杂。RISC结构特点:机器指令系统简单,规模小,复杂度低。CISC的问题:1)指令系统庞大,一般200条以上(2)指令操作繁杂,执行速度很低;(3)难以优化生成高效机器语言程序,编译也太长,太复杂;4)由于指令系统庞大,指令的使用频度不高,降低系统性能价格比,增加设计人员负担。RISC的问题;(1)由于指令少,在原CISC上一条指令完成的功能现在需多条RISC指令才能完成,加重汇编语言程序设计负担,增加了机器语言程序长度,加大指令信息流量。(2)对浮点运算和虚拟存储支持不很强。(3)RISC编译程序比CISC难写。由于RISC和CISC各有优缺点,在设计时,应向着两者结合,取长补短方向发展。

第3章总线、中断与输入输出系统

1.输人输出系统有几种基本方式?

答:输入输出系统有三种基本方式。它们分别是:

(1)由CPU直接执行I/O程序的程序控制输入输出方式(其中又有全软件方式的、查询方式的和中断驱动方式的三种);

(2)全部由“DMA控制器”硬件执行的直接存储器访问(DMA)方式;

(3)由专门设计的I/O处理机来执行I/O程序,

2.简述专用总线的定义、优点和缺点。

答:只连接一时物理部件或只用于一种功能的总线称专用总线。

专用总线的优点是:

(1)多个部件可同时收发信息,不会争用总线,系统流量高;

(2)通讯时不用指明“源”和“目的”,控制简单;

(3)总线失效不会使系统瘫疾,可靠性高。

专用总线的缺点是:

(1)总线的线数多,成本高;

(2)总线的时间利用率低;

(3)不利于系统的模块化,可扩充性差。

3.简述非专用总线的定义、优点和缺点。

答:可以被多种功能或多个部件分时共享的总线称非专用总线。

非专用总线的优点是:

(1)总线线数少;

(2)成本低;

(3)总线接口标准,模块性好;

(4)可扩充性好;

(5)易于用多重总线来提高总线的带宽和可幸性

非专用总线的缺点是:

(1)系统流量小.常会因总线争用而降低系统效率;

(2)总线失效,易使系统瘫痪,可靠性差

4.总线控制方式有哪二种?各需要增加几根用于总线控制的控制线?总线控侧优先级可否用程序改变?

答:总线控制方式有串行链接、定时查询和独立请求三种。

串行健接禽增加3根控制线,优先级连线固定,无灵活性,总线技创优先级不能用程序改变。定时查询索增加2+[log2N],根控制线.优先级可用程序改史,灵活.

独立请求常增加2N+1根控制线,优先级可用程序改史,灵活.

5.对中断进行分类的根据是什么?这样分类的目的是什么?IBM370机把中断分为哪几类?-

答:中断分类是把中断源按性质相近、中断处理过程类似的归为同一类。

分类的的是为了减少中断处理程序的入口,每一类给一个中断服务程序总入口,可以减少中断暇务程序入口地址形成的硬件数量。

IBM370计算机将中断类分为机器校验、访管、程序性、外部、精入/翰出、重新启动六类。

6.为什么要对中断类分成优先级?如何分级?IHM}7O的中断响应优先序是什么?

答:各中断源是相互独立而随机地发出中断请求当多个中断源同时发出中断请求时,CPU只能先响应和处理其中相对优先级高的中断请求,因此需要对中断源的响应和处理安排一个优先序。

中断分成类后,同一类内部各中断请求的优先序一般由软件或通道来管理。这里,主要是对不同类的中断就要根据中断的性质、紧迫性、重要性及软件处理的方便性分成若干优先级,以使cpu可以有序时这些中断请求进行响应和处理。

IBM370系统的中断响应优先序由高到低依次为:紧急的机器校脸、管理程序调用和程序性、可抑制的机器校脸、外部、输入输出、重新启动。

7。在现代计算机系统中,.扣断系统的软硬件功能怂怎样分配的?为什么要这样分配?

答:中断响应的速度、要求快.所以一般用硬件实现。中断的处理过程比较多样化,有的可能比较复杂.所以一般用软件来实现。但可以增加某些硬件支持。

在中断响应过程中.中断现场的保存和恢复用硬件实现(只保存最重要、最基本通用的硬件状态).以保证有较快的中断响应速度。另一部分现场,需要根据中断处理要求保存的内容及中断的具体处理等软件实现,以提高灵活性

8.通道分为哪三种类型?各适合连接什么类型的设备?满负荷时,设备对通道要求的实际流量与所连的设备有什么关系?

答:通道分字节多路、数组多路、选择三类通道。

字节多路通道适合于连接大量低速的字符设备。满负荷时,设备对通道要求的实际流童应是所连各设备的流量之和。

数组多路通道适合于连接高速的设备,满负荷时,设备对通道要求的实际流量应是所连各设备中。流量最大的那个。

选择通道适合于连接中、高速的高优先级的设备。满负荷时,设备对通道要求的实际流量应是所连各设备中,流量最大的那个。

9.列举通道处理机宏观和微观上不丢失所接各设备接收或发送的信息应满足的基本条件和采取的补充措施。

答:宏观上不丢失设备信息的基本条件应当让通道所设计的极限流量应大于等于设备时通道要求的最大流量。

为使微观上也不丢失设备的信息,还应在设备或设备控制器中设置一定容量的缓冲器以缓冲一时来不及处理的信息,或是采用可动态提高低速设备的响应优先级的措施来解决。

10.简要举出集中式串行链接,定时查询和独立请求3种总线控制方式的优缺点。同时分析硬件产生故障时通讯的可靠性。答:集中式串行链连接方式。其过程为:①所有部件都经公共的“总线请求”线向总线控制器发使用总线申请.②当“总线忙”信号未建立时,“总线请求”才被总线控制器响应,送出“总线可用”信号,它串行地通过每个部件。③如果某部件未发过“总线请求”,则它将“总线可用”信号往下一部件转,如果某部件发过“总线请求”,则停止“总线可用”信号的传送。④该部件建立“总线忙”,并除去“总线请求”,此时该部件获得总线使用权,准备传送数据。⑤数据传送期间,“总线忙”维持“总线可用”的建立。⑥传送完成后,该部件去除“总线忙”信号和“总线可用”信号。⑦当“总线请求”再次建立时,就开始新的总线分配过程。优点:①选择算法简

单;②控制总线数少;③可扩充性好;④可靠性高。缺点:①对“总线可用”线及其有关电路失效敏感,②不灵活;③总线中信号传送速度慢。集中式定时查询方式,过程:①总线上每个部件通过“总线请求”发请求。②若“总线忙”信号未建立,则计数器开始计数,定时查询个部件,以确定是谁发的请求。③当查询线上的计数值与发出请求的部件号一致时,该部件建立“总线忙”,计数停止,查询也停止。除去“总线请求”,该部件获得总线使用权。④“总线忙”维持到数据传送完毕。⑤数据传送完,去除“总线忙”。

⑥当“总线请求”线上有新的请求,就开始下一个总线分配过程。优点:①优先次序灵活性强;②可靠性高。缺点:①控制线数较多;②扩展性较差;③控制较为复杂;④总线分配受限于计数信号,不能很高。集中式独立请求方式,过程:①每个部件有一对“总线请求”和“总线准许”线。②每个部件使用“总线请求”发中请,当“总线已分配”无信号时,总线控制器根据某种算法对同时送来的多个请求进行仲裁,以确定哪个部件使用总线,信号从“总线准许”送回该部件,去除该部件的“总线请求”,建立总线已分配”。

③获得总线使用权的部件传送数据,直至完毕。④数据传送完毕后,除去总线已分配”和“总线准许”,开始新的总线分配。优点:

①总线分配速度快;②灵活;③能方便隔离失效部件的请求。缺点:①控制线数多;②复杂。

11. 设中断级屏蔽位“1”对应于开放,“0”对应于屏蔽,各级中断处理程序的中断级屏蔽位设置如下:(见课本)(1)当中断响应优先次序为1→2→3→4时,其中断处理次序是什么? 答:(1)1—3—4—2 中断处理程序(2)如果所有的中断处理都各需3个单位时间,中断响应和中断返回时间相对中断处理时间少得多。当机器正在运行用户程序时,同时发生第2,3级中断请求,过两个单位时间,又同时发生第1,4级中断请求,试画出程序运行过程示意图。

12.若机器共有5级中断,中断响应优先次序为1→2→3→4→5,现要求其实际的中断处理次求序1→4→5→2→3。(1)设计各级中断处理程序的中断级屏蔽位(令“1”对应于开放,“0”对应于屏蔽);(2)若在运行用户程序时,同时出现第4,2级中断请求,而在处理第2级中断未完成时,又同时出现1,3,5级中断请求,请画出此程序运行过程示意图。答:1)五个级别的中断屏蔽位分别为(1开放;0屏蔽):

1:00000 2:10011 3:11011 4:10000 5:10010

2)中断过程示意图:如图

a. 2、4中断同时出现,进行排队器;

b. 按中断响应优先次序,2响应;

c. 此时屏蔽字为10011,所以;

d. 响应4,中断4运行结束,回2;

e. 1、3、5进入排队器,此时屏蔽字为10011,且1优先级最高,所以;

f. 响应1,1运行结束,回2,根据屏蔽字,所以;

g. 5响应,5运行结束,回2;

h. 根据屏蔽字,不响应3,所以2运行结束;回用户程序;

i. 3还在排队器,响应3,运行直到结束,回用户程序

13.简述字节多路,数组多路和选择通道的数据传送方式。

答:字节多路通道适用于连接大量的字符类低速设备。它以字节交叉方式轮流为多台设备服务,它可有多个子通道,它们分时进入通道。数组多路通道适合于连接多台高速设备,每传送一个定长块就选择一次设备,多台设备以成组交叉方式工作。它可有多个子通道。它们分时进入通道。选择通道方式适合于优先级高的高速设备,让它独占通道,数据传送以不定长方式进行,在数据传送期只选择一次设备。

14.如果通道在数据传送期中,选择设备需9.8μs,传送一个字节数据需0.2μs。某低速设备每隔500μs发出一个字节数据传送请求,问至多可接几台这种低速设备?对于如下A~F6种高速设备,一次通讯传送的字节数不少于1024个字节,问哪些设备可以挂在此通道上?哪些则不能?其中A—F设备每发出一个字节数据传送请求的时间间隔分别为(单位为μs):设备A B C D E F 发申请间隔0.2 0.25 0.5 0.19 0.4 0.21

答:(1)∵选择设备需9.8μs,传送一个字节需0.2μs

∴该通道完成一个字节的传送需9.8+0.2=1μs

∵某低速设备每隔500μs发出一字节数据请求,为使数据不丢失,该通道可连设备数至多为500μs/1μs=500台。

(2)对于高速设备,由于一次传送字节数不少于1024byte

∴该通道一次传送数据的时间为9.8μs+1024×0.2μs=214.6μs

由表中可得出每台设备发送1024字节的时间间隔分别为

A B C D E F 单位μs 204.8 256 512 194.56 409.6 215.04

∴为使数据不丢失,B、C、E、F可挂在该通道上。A、D不能。

15. 某字节多路通道连接6台外设,某数据传送速率分别如表中所列。

设备1 2 3 4 5 6

传送速率(KB/s)50 15 100 25 40 20

(1)计算所有设备都工作时的通道实际最大流量:答:实际最大流量=50+15+l00+25+40+20=250KB/S。

(2)如果设计的通道工作周期使通道极限流量恰好与通道最大流量相等,以满足流量设计的基本要求,同时让速率越高的设备被响应的优先级越高。当6台设备同时发出请求开始,画出此通道在数据传送期内响应和处理各外设请求的时间示意图。由此你发现了什么问题?

答:由表可解各设备连续发送两个字节的时间间隔分别为:

1 2 3 4 5 6

20μs 67μs 10μs 40μs 25μs 50μs

KB=1024B,s=10^6μs ,设备1的时间间隔为10^6/(50*1024)≈20μs ,其他如同1。

为简化计算,可视1024为1000;由此发现由于高速设备的响应优先级高,使低速设备6和设备2造成数据丢失。(3)在(2)的基础上,在哪台设备内设置多少个字节的缓冲器就可以避免设备信息丢失?那么,这是否说书中关于流量设计的基本要求是没有必要的了呢?为什么? 答:在设备6和2中各设两个字节的缓冲区即可。这并不说明流量设计的基本条件是不必要的,因为若基本条件不满足,无论设备优先级如何确定总有设备的信息会丢失。

16. 通道型I/O系统由一个字节多路通道A(其中包括两个子通道Al和A2),两个数组多路通道B1和B2及一个选择通道C构成,各通道所接设备和设备的数据传送速率如表所示。

(1)分别求出各通道应具有多大设计流量才不会丢失信息;

答:子通道Al的最大实际流量=50+35+20+20+50+35+20+20=250KB/S=O.25MB/S

∴子通道A1至少应有0.25MB/S的流量才不丢失信息。

同理子通道A2的流量必须≥0.25MB/S 子通道B1的实际最大流量=0.5MB/S

∴B1流量至少为0.5MB/S。

同理子通道B2流量至少设计成0.5MB/S。

选择通道C的流量至少设计成0.5MB/S。

(2)设I/O系统流量占主存流量的1/2时才算流量平衡,则主存流量应达到多少?

答:此I/O系统的流量应为各子通道流量之和。即为0.25+O.25+0.5+0.5+0.5=2MB/S

依题意I/O系统流量占主存流量的1/2才算流量平衡。

因此主存流量应达到4MB/S。

第四章存储体系

1.主存实际频宽一与模数m的关系是什么?出现这种现象的原因是什么?(P84 )

答:并行主存系统的实际频宽随模数m的增加会提高,但不是线性增加,随模数m增大,其实际频宽的增量越来越小。这是因为程序中的指令和数据并不是完全顺序放里和被访问的。程序会有转移,数据分布有一定的随机性。

2. CPU写Cache时,会发生Cache与主存的对应内容不一致的现象,简述解决这个问题的两种方法及各需要增加什么开销。(P118)

答:(I)回写法:CPU只写入Cache,不写入主存,仅当Cache块替换时,才先写回主存后再势换。这种方法要求对每个Cache 块增加一个修改位的资源开销。

(2>写直达法:CPU每次写Cache的同时,也通过直接通路写入主存。这种方法要增加写主存的时间开悄。

3.如何评价一个替换算法的好坏?

答:要想评价一个替换算法的好坏,一般可使用典型程序运行时所产生的百地址流来对该算法进行模拟其页面的替换过程,通过统计出的页面命中率的高低来分析.页面命中平的高低与所用的页面替换算法、页地址流、所分配到的实页数、页面的大小等多种因素有关。

4.什么是Cache?它是如何组织的?

答:如果把程序在一段时间内集中访问的部分数据存放在高速的存储器中,访问存储器的平均时间就可以大大减少,从而减少程序的执行时间,这种高速、小容量的存储器就是Cache,Cache放在CPU与主存的中间,访问时间通常是主存的1/4到1/10。在层次化的存储器系统中,它是速度最快的存储器。

Cache的基本思想是把程序执行时最频繁访问的指令和数据存放在速度较高的Cache存储中,使得访存的平均时间接近于Cache的访问时间,而存储的容量则是主存的容量。

Cache存储器的容量尽管很小,但是由于访存的局部性规律,绝大部分对存储器的访问数据都可以在Cache中发现,实际上不需要到主存中寻找,所以访存的平均时间可以接近于Cache的访问时间。

5.什么是虚拟存储器?它有什么特点和作用?

答:虚拟存储器是以主存与辅存为根据建立起来的一种存储体系,它使得程序能够像访问主存储器一样访问外部存储器。虚拟存储器的地址空间可以大到CPU的最大寻址范围。为了提高平均访存速度,将应拟地址空间中访问最频繁的一小部分寻址范围映像到主存储器,其余的地址空间映像到外存储器,这样使得存储系统既具有外存的容量,又有接近于主存的访问速度。

6.在有Cache的存储系统中,访存操作是如何进行的?

答:有了Cache之后,访存操作的过程是:当CPU要进行存储器访问时,首先察看Cach存储器,如果访问的字在Cache中找到,就从Cache中读取,如果访问的字在Cache中没有丰到,就从主存中访问,并且为了使得以后访问同一个字或者相邻的字时能够在Cache中找到需要把存储器中包含这个字的数据块从主存储器中读出,放入Cache中。

7.简述IBM PC机的页式存储管理的特点。

答:IBM PC机的页式存储管理特点是:

(1)把虚拟存储空间和实际存储空间等分成固定大小的页;

(2)各虚拟页可装入主存中不同的实际页面位置;

(3)在任一时刻,每个虚拟地址都对应一个实际地址;

<4)这个实际地址可能在主存中,也可能在外存中。

8.简述段页式存储管理的地址变换过程。

答:用户逻辑地址被分成:用户标志、段号、页号、页内偏移四部分。

过程如下:

(1)由用户标志找到段表基址寄存器;

(2)由段表长与段号作是否越界检查;

(3)段表地址+段号找到段表中相应表项;

(4)做装入位,段长的检查;

(5)由页表始址+页号找到页表中相应表项;

(6)作装入位等检查;

(7)实页号+页内偏移形成有效地址。

9.什么是存储系统?什么是存储系统的层次结构?

答:存储系统是指各存储器硬件以及管理这些存储器的软硬件。

存储系统的层次结构是指把各种不同存储容量、不同访问速度、不同成本的存储器件按层次结构构成多层的存储器,并通过软硬件的管理将其组成统一的整体,使所存储的程序和数据按层次分布在各种存储器件中。系统。典型的存储系统层次结构是Cache一主存一输存构成的存储系统的层次结构是指把各种不同存储容量、不同访问速度、不同成本的存储器件按层次结构构成多层的存储器。并通过软硬件的管理将其组成统一的整体,使所存储的程序和数据按层次分布在各种存储器件中。典型的存储系统层次结构是Cache一主存一辅存构成的系统。

10.简要列举段式虚存管理系统的优点和问题。

答:段式存储管理的优点是:支持了程序的模块化设计和并行编程的要求,缩短了程序的编制时间;各个程序段的修改相互不会有影响;便于多道程序共享主存中某些段,从而可不必将他们在物理主存中重复存放;便于按逻辑意义实现存储器的访问方式保护。

段式存储管理的问题是:段映象表太大,其地址字段和段长字段都太长,查表进行地址变换的速度太慢;对主存各区域的存储管理十分麻烦;存储器内部的段间零头浪费大,有时难以利用。

11.简要列举页式虚存管理系统的优点和问题。

答:页式存储管理的优点是:所用映象表的硬件量少;地址变换的速度快;主存页内零头浪费小;主存空间的分配和管理简便。

问题是:不支持模块化程序设计和并行编程;程序修改不利;程序页面不能被多个程序所共享;页面是机械地分割;不能准确按逻辑意义进行访问方式保护。

12.在页式虚拟存储器中,什么叫页面失效?什么叫页面争用?什么时候两者同时发生?什么时候两者不同时发生?

答:要访问的虚页不在实际主存中时,就会发生页面失效。当页面调入主存,主存中的页面位置全部已被其它虚页占用时,就会发生页面争用。

当分配给程序的内存区已被全部占用之后,只要发生页面失效,就一定会发生页面争用。反之,发生页面失效,并不会发生页面争用。

13.什么是堆栈型的替换算法(用式子描述)?

答:能满足下列两个关系式的替换算法就是堆栈型的替换算法。即

N

N≥L t时,B,(n)= B t (n十1)

其中,n为分配给程序的实页数,B t(n)为t时刻在n个实页中的页面集合L,为t时刻已处理过的不同虚页的页面数。14.简述页面失效频率((PFF)替换算法的思想及优点,该算法的依据是什么?

答:页面失效频率(PFF)替换算法是对LRU替换算法的改进。在程序的运行过程中,操作系统不断地根据所统计出的各道程序的页面失效率来动态调节分配给各道程序的实页数。给页面失效率很低的程序适当少分配一些实页,给页面失效率很高的程序适当增加一些实页

优点是在实存总页数一定时,提高了整个虚拟存储器系统的总的实页命中率,也提高了主存空间的利用率。

该算法依据于LRU替换算法是堆找型的算法。

15.页式虚拟存储器的页面是如何划分的?这样划分使指令和数据会发生什么情况?页面失效会在何时发生?如果将页面失效当做中断来对待,会发生什么问题?列举对此问题的几个解决办法。

答:页式虚拟存储器的页面是按固定大小,机械等分的。这样划分,使按字节编址的多字节数据和指令可能跨在两个不同的页面上。使页面失效完全可能发生在取指令、指令分析或指令执行的任何一个过程中。如果页面失效仍按一般的中断来对待,安排在本条指令执行完,下条指令准备取的时刻来响应和调页,那么,因为页面失效不可能得到响应,就会死机。

因此,页面失效不能按一般的中断来对待,应当作为一种故障,予以立即响应和处理。这样,就需要配1大量的后援寄存器来保存故障点的全部现场,以便在完成调页后,能恢复故峰点的全部现场,继续运行。

此外,为了避免程序的页面在主存中轮流被替换出去,应设计出好的页面替换算法,并给每道程序确定一个分配实存页面的下限值;适当增大页面大小来减少指令或数据跨页存放的概率。

16.分别说明Cache存储器的按需取进法、恒预取法、不命中时才预取法的定义。

答:按需取进法:当访存第i块发生Cache块失效时,才将要访问的主存第i块调入Gache.

恒预取法:只要访问到主存第i块,不论Cache是否命中,恒预取主存第i十1块进Cache.

不命中时才预取法:只当在访问主存第i块不命中Cache时,才预取主存中的第i+1块。

17.发现组相联、LRU替换的Cache存储器的等效访问速度不够高,此时增大主存容量和增大Cache容量,会对Cache存储器等效访问速度有何影响,并分析其原因。

答:Cache存储器的等效访问时间t a=H c·t c+(1- H c)t m。等效访问速度不高,就是t a太长。要想偏短t a在Cache命中率H c 低时.就应设法提高H c;当H c很高时,就要减少t c。增大主存容圣,不会对H c有显著影响,可能会因t m梢徽增大,而使t a略有增大。

如果H c很高时,t m的增大,也不会使t a有明显上升。由于LRU替换算法是堆栈形的算法,在增大Cache容量时,如果原H c较低时,将会使H c显著上升而显著缩短t a。知果原H c已较高时,因H c上升不明显而使其t a不会有明显缩短。

18、设二级虚拟存储器的TA1=10^(-7)s、TA2=10^(-2)s,为使存储层次的访问效率e达到最大值的80%以上,命中率H至少要求达到多少?实际上这样高的命中率是很难达到的,那么从存储层次上如何改进?

解:∵e=1/[H+(1-H)r] 且r=TA2/TA1 ∴H至少达到99.9%

这样的命中率很难达到,可在二级存储器间加一层电子磁盘,降低r,从而降低对H的要求。

19、程序存放在模32单字交叉存储器中,设访存申请队的转移概率λ为25%,求每个存储周期能访问到的平均字数。当模数为16呢?由此你可得到什么结论?

解:B=[ 1-(1-λ)^m] /λ

由λ=0.25,m=32 求得:B=4-4*(3/4)^32=4

同理,m=16时,B=4-4*(3/4)^16=3.96

由此可看出,当转移概率λ为25%比较大时,采用模32与模16的每个存储周期能访问的平均字数非常相近。就是说,此时,提高模数m对提高主存实际频宽已不显著。实际上,模数m的进一步增大,会因工程实现上的问题,导致实际性能反而可能比模16的还要低,且价格更高。所以模数m不宜太大。对于λ为25%的情况,可以计算机出m=8时,其B已经接近于3.6了。

20、设主存每个分体的存取周期为2μs,宽度为4个字节。采用模m多分体交叉存取,但实际频宽只能达到最大频宽的0.6倍。现要求主存实际频宽为4MB/S,问主存模数m应取多少方能使两者速度基本适配?其中m取2的幂。

解:由题意已知存取周期Tm=2*10^(-6)s,宽度W=4B,B实=0.6Bm=4*2^20B/S,

Bm=W*m/Tm=6.99*10^6B/S

m=Bm*Tm/W=6.99*10^6*2*10^-6/4=3.495

所以m取4能满足要求

P.S①微秒(百万分之一秒)1μs=10^-6s

②计量单位中的M(兆)是10的6次方,见到M自然想起要在该数值的后边续上六个0,即扩大一百万倍。在二进制中,MB也表示到了百万级的数量级,但1MB不正好等于1000000字节,而是1048576字节,即1MB = 2E+20 Bytes = 1048576Byt es。

21、某虚拟存储器共8个页面,每页1024个字,实际主存为4096个字,采用页表法进行地址映象。映象表的内容如下表1所示。

实页号装入位

3 1 1 1 2 0 3 0 2 1 1 0 0 1 0 0

表1

虚页号实页号装入位

0 3 1 1 1 1 2 2 0 3 3 0 4 2 1 5 1 0

6 0 1

7 0 0 表2

(1)列出会发生页面失效的全部虚页号;

解:根据页表法列出表2,当装入位为0时,即为页面失效,再找出相对应的虚页号即可。会发生页面失效的全部虚页号为:2,

3,5,7

(2)按以下虚地址计算主存实地址:0,3728,1023,1024,2055,7800,4096,6800。

解:虚页号=│_虚地址/页面大小_│

实地址=(实页号*页面大小)+(虚地址-虚页号*页面大小)

虚地址0 3728 1023 1024 2055 7800 4096 6800

虚页号0 3 0 1 2 7 4 6

实页号3 3 3 1 2 0 2 0

装入位1 0 1 1 0 0 1 1

实地址3072 3728 4095 1024 2055 632 2048 656

22、一个段页式虚拟存储器。虚地址有2位段号、2位页号、11位页内位移(按字编址),主存容量为32K字。每段可有访问方式保护,其页表和保护位如下表所示。

(1) 此地址空间中共有多少个虚页?

解:2Nv页,而Nv=用户虚页号=段号S+页号P

此地址空间中共有2^Nv=2^(2+2)=16个虚页

24..采用页式管理的虚拟存储器,分时运行两道程序。其中,程序X为

DO 50 I=1,3

B(I)=A(I)-C(I)

IF(B(I)·LE·0)GOTO 40

D(I)=2*C(I)-A(I)

IF(D(I)·EQ·0)GOTO 50

40E(I)=0

50CONTINUE

Data: A=(-4,+2,0)

C=(-3,0,+1)

每个数组分别放在不同的页面中;而程序Y在运行过程中,其数组将依次用到程序空间的第3,5,4,2,5,3,1,3,2,5,1,3,1,5,2页。如果采用LRU算法,实存却只有8页位置可供存放数组之用。试问为这两首程序的数组分别分配多少个实页最为合适?为什么?

解答:

分别分配给程序X和Y的数组4个实页最为合适。

根据题意,程序X依次调用数组A,C,B,B,E, A,C,B,B,C,A,D,D,E, A,C,B,B,E中的数据。

设程序X中的数组A,B,C,D,E分别存放于程序空间的第1,2,3,4,5页,则程序的页地址流为:1,3,2,2,5,1,3,2,2,3,1,4,4,5,1,3,2,2,5。分析使用LRU算法对程序X的页地址流进行堆栈处理的过程可知,分配给程序X的数组5个实页最为合适;分析使用LRU算法对程序Y的页地址流进行堆栈处理的过程可知,分配给程序Y的数组4个实页最为合适。

但实存只有8页位置可供存放数组之用,所以,分别分配给程序X和Y的数组4个实页。

note: 分时运行在微观上是串行的,就是说,分时运行时把时间划分为若干时间片,每个程序轮流占用时间片;在宏观上是并行的,就是说,每个程序在一个时间片内并不能运行完。总的来看,是同时运行的,所以两个程序分配的实页和不能大于8。参考:上面的FORTRAN源代码转成C后

main()

{int A[]={-4,2,0};

int C[]={-3,0,1};

for (i=0,i<3,i++)

{B[i]=A[i]-C[i];

if (B[i]<0)

E[i]=0;

else

{D[i]=2*C[i]-A[i];

if (D[i]<>0)

E[i]=0;

};

};

}

25.设一个按位编址的虚拟存储器,它应可对应1K个任务,但在一段较长时间内,一般只有4个任务在使用,故用容量为4行的相联寄存器组硬件来缩短被变换的虚地址中的用户位位数;每个任务的程序空间最大可达4096页,每页为512个字节,实主存容量为2^20位;设快表用按地址访问存储器构成,行数为32,快表的地址是经散列形成;为减少散列冲突,配有两套独立相等比较电路。请设计该地址变换机构,内容包括:

(1)画出其虚、实地址经快表变换之逻辑结构示意图;

(2)相联寄存器组中每个寄存器的相联比较位数;

(3)相联寄存器组中每个寄存器的总位数;

(4)散列变换硬件的输入位数和输出位数;

(5)每个相等比较器的位数;

北邮高级计算机系统结构实验二三四五

实验二指令流水线相关性分析 ·实验目的 通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。 ·实验原理: 指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。·实验步骤 一.使用WinDLX模拟器,对做如下分析: (1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。 (2)考察增加浮点运算部件对性能的影响。 (3)考察增加forward部件对性能的影响。 (4)观察转移指令在转移成功和转移不成功时候的流水线开销。 ·实验过程 一.使用WinDLX模拟器,对做如下分析: } 浮点加、乘、除部件都设置为1,浮点数运算部件的延时都设置为4,如图1: 图1 初始设置 将和加载至WinDLX中,如图2示。

图2 加载程序 1.观察程序中出现的数据/控制/结构相关;指出程序中出现上述现象的指令组合。 1)数据相关 点击F7,使程序单步执行,当出现R-Stall时停止,运行过程中出现下图3所示,输入整数6。 图3 输入整数6 @ 打开Clock Diagram,可以清楚的看到指令执行的流水线如图4所示。 图4 指令流水线 双击第一次出现R-Stall的指令行,如图5所示。

图5 指令详细信息 对以上出现的情况分析如下: 程序发生了数据相关,R-Stall(R-暂停)表示引起暂停的原因是RAW。 lbu r3,0×0(r2) 要在WB周期写回r3中的数据;而下一条指令 & seqi r5,r3,0×a 要在intEX周期中读取r3中的数据。 上述过程发生了WR冲突,即写读相关。为了避免此类冲突, seq r5,r4,0×a的intEX指令延迟了一个周期进行。 由此,相关指令为: 2)控制相关 由图6可以看出,在第4时钟周期:第一条指令处于MEM段,第二条命令处于intEX段,第三条指令出于aborted状态,第四条命令处于IF段。 图 6 指令流水线 }

计算机系统结构三四章作业及答案

3.1 简述流水线技术的特点。(1) 流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。(2) 流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。(3) 流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。(4) 流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。(5) 流水线需要有通过时间和排空时间。在这两个时间段中,流水线都不是满负荷工作。 3.2 解决流水线瓶颈问题有哪两种常用方法?答:细分瓶颈段与重复设置瓶颈段 3.3 有一条指令流水线如下所示: (1 用两给出条指 (1) (24? 变八级流水线(细分) ? 重复设置部件 )(ns 85 1 T n TP 1pipeline -== 3.4 有一个流水线由4段组成,其中每当流过第三段时,总要在该段循环一次,然后才能流到第4段。如果每段经过一次所需的时间都是△t ,问: (1)当在流水线的输入端连续地每△t 时间输入一个任务时,该流水线会发生什么情况? (2)此流水线的最大吞吐率为多少?如果每2△t 输入一个任务,连续处理10个任务时,其实际吞吐率和效率是多少? (3)当每段时间不变时,如何提高流水线的吞吐率?人连续处理10个任务时,其吞吐率提高多少? 解:(1)会发生流水线阻塞情况。

(2) (3)重复设置部件 吞吐率提高倍数= t t ??2310 75 =1.64 3.5 有一条动态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第2段的时间为2△t ,其余各段的时间均为△t ,而且流水线的输出可以直接返回输入端或暂存于相应的流水线寄存器中。现在该流水线上计算 ∏=+4 1 )(i i i B A ,画出时空图,并计算其吞吐率、加速比和效率。 +B 4;再计算由图可见,它在18个△t 时间中,给出了7个结果。所以吞吐率为: 如果不用流水线,由于一次求积需3△t ,一次求和需5△t ,则产生上述7个结果共需(4×5+3×3)△t =29△t 。所以加速比为: 该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得: 3.6 在一个5段流水线处理机上,各段执行时间均为△t,需经9△t 才能完成一个任务,其预约表如下所示。 段23 时间 入 A 1 B 1 A 2 B 2 A 3 B 3 A 4 B 4 A B C D A × B C ×D

计算机体系结构实验报告二

实验二结构相关 一、实验目得: 通过本实验,加深对结构相关得理解,了解结构相关对CPU性能得影响。 二、实验内容: 1、用WinDLX模拟器运行程序structure_d、s 。 2、通过模拟,找出存在结构相关得指令对以及导致结构相关得部件。 3、记录由结构相关引起得暂停时钟周期数,计算暂停时钟周期数占总执行 周期数得百分比。 4、论述结构相关对CPU性能得影响,讨论解决结构相关得方法。 三、实验程序structure_d、s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关 ADDD F2, F0, F2 ; < A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit < this is a ment !! A: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 四、实验过程 打开软件,load structure_d、s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(Rstall 数据相关Stall 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面得数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关得部件:译码部件。

计算机系统结构网上作业

计算机系统结构作业参考答案 一、 1、试述现代计算机系统的多级层次结构。 计算机系统具有层次性,它由多级层次结构组成。从功能上计算机系统可分为五个层次级别:第一级是设计级。这是一个硬件级,它由机器硬件直接执行。 第二级是一般机器级,也称为机器语言级。它由微程序解释系统.这一级是硬件级。 第三级是操作系统级,它由操作系统程序实现。这些操作系统由机器指令和广义指令组成,这些广义指令是操作系统定义和解释的软件指令。这一级也称混合级。 第四级是汇编语言级。它给程序人员提供一种符号形式的语言,以减少程序编写的复杂性。这一级由汇编程序支持执行。 第五级是高级语言级。这是面向用户为编写应用程序而设置的。这一级由各种高级语言支持。 2、试述RISC设计的基本原则和采用的技术。 答:一般原则: (1)确定指令系统时,只选择使用频度很高的指令及少量有效支持操作系统,高级语言及其它功能 的指令,大大减少指令条数,一般使之不超过100条; (2)减少寻址方式种类,一般不超过两种; (3)让所有指令在一个机器周期内完成; (4)扩大通用寄存器个数,一般不少于32个,尽量减少访存次数; (5)大多数指令用硬联实现,少数用微程序实现; (6)优化编译程序,简单有效地支持高级语言实现。

基本技术: (1)按RISC一般原则设计,即确定指令系统时,选最常用基本指令,附以少数对操作系统等支持最有用的指令,使指令精简。编码规整,寻址方式种类减少到1、2种。 (2)逻辑实现用硬联和微程序相结合。即大多数简单指令用硬联方式实现,功能复杂的指令用微程序实现。 (3)用重叠寄存器窗口。即:为了减少访存,减化寻址方式和指令格式,简有效地支持高级语言中的过程调用,在RISC机器中设有大量寄存嚣,井让各过程的寄存器窗口部分重叠。 (4)用流水和延迟转移实现指令,即可让本条指令执行与下条指令预取在时间上重叠。另外,将转移指令与其前面的一条指令对换位置,让成功转移总是在紧跟的指令执行之后发生,使预取指令不作废,节省一个机器周期。 (5)优化设计编译系统。即尽力优化寄存器分配,减少访存次数。不仅要利用常规手段优化编译,还可调整指令执行顺序,以尽量减少机器周期等。 3、试述全相联映像与直接映像的含义及区别 (1)全相连映像 主存中任何一个块均可以映像装入到Cache中的任何一个块的位置上。主存地址分为块号和块内地址两部分,Cache地址也分为块号和块内地址。Cache的块内地址部分直接取自主存地址的块内地址段。主存块号和Cache块号不相同,Cache块号根据主存块号从块表中查找。Cache保存的各数据块互不相关,Cache必须对每个块和块自身的地址加以存储。当请求数据时,Cache控制器要把请求地址同所有的地址加以比较,进行确认。 (2)直接映像 把主存分成若干区,每区与Cache大小相同。区内分块,主存每个区中块的大小和Cache 中块的大小相等,主存中每个区包含的块的个数与Cache中块的个数相等。任意一个主存块只能映像到Cache中唯一指定的块中,即相同块号的位置。主存地址分为三部分:区号、块号和块内地址,Cache地址分为:块号和块内地址。直接映像方式下,数据块只能映像到Cache中唯一指定的位置,故不存在替换算法的问题。它不同于全相连Cache,地址仅需比较一次。 (3)区别: 全相连映像比较灵活,块冲突率低,只有在Cache中的块全部装满后才会出现冲突,Cache 利用率高。但地址变换机构复杂,地址变换速度慢,成本高。 直接映像的地址变换简单、速度快,可直接由主存地址提取出Cache地址。但不灵活,块冲突率较高,Cache空间得不到充分利用。 4. 画出冯?诺依曼机的结构组成?

计算机系统结构课后答案

1、数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么? 答:数据表示是能由硬件直接识别和引用的数据类型。数据结构反映各种数据元素或信息单元之间的结构关系。数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。数据表示和数据结构是软件、硬件的交界面。 除基本数据表示不可少外,高级数据表示的引入遵循以下原则:(1)看系统的效率有否提高,是否养活了实现时间和存储空间。(2)看引入这种数据表示后,其通用性和利用率是否高。 2、标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同? 答:标志符数据表示指将数据类型与数据本身直接联系在一起,让机器中每个数所都带类型樗位。其优点是:(1)简化了指令系统和程序设计;(2)简化了编译程序;(3)便于实现一致性校验;(4)能由硬件自动变换数据类型;(5)支持数据库系统的实现与数据类型无关;(6)为软件调试和应用软件开发提供支持。缺点是:(1)会增加程序所点的主存空间;(2)在微观上对机器的性能(运算速度)不利。 数据描述符指数据的描述与数据分开存放,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址住处它具备标志符数据表示的优点,并减少了标志符数据表示所占的空间,为向量和数组结构的实现提供支持。 数据描述符方法优于标志符数据表示,数据的描述与数据分开,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址信息,减少了樗符数据表示所占的窨。用描述符方法实现阵列数据的索引比用变址方法实现要方便,且便于检查出程序中的阵列越界错误。但它不能解决向量和数组的高速运算问题。而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。 3、堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持? 答:有堆栈数据表示的机器称为堆栈机器。它与一般通用寄存器型机器不同。通用寄存器型

华科专升本计算机系统结构-作业全

第一章作业 简答题 1、简述什么是计算机系统结构。 2、答:计算机系统结构是程序员所看到的计算机属性,即概念性结构与功能性结构。 3、 4、计算机系统的层次从下到上包括哪些? 5、答:计算机系统的层次从上到下包括微程序机器级、机器语言、操作系统虚拟机、汇编 语言虚拟机、高级语言虚拟机、应用语言虚拟机。 6、 7、Flynn分类法是以什么对计算机系统进行分类分成哪几类? 8、答:Flynn分类法是以指令流和数据流的多倍性对计算机系统进行分类。Flynn分类法 把计算机系统的结构分为以下4类:单指令流单数据流、单指令多数据流、多指令流单数据流、多指令流多数据流。 9、 10、简述Amdahl定律及加速比计算公式。 答:Amdahl定律指出加快某部件执行速度所能获取得系统性加速比,受限于该部件的执行时间占系统中总执行时间的百分比。 加速比计算公式=系统性能(改进后)/系统性能(改进前)=总执行时间(改进前)/总执行时间(改进后) 计算题 5、如果某一些计算任务用向量方式求解比用标量方式求解快20倍。为达到加速比2,可用向量方式求解所花费时间占总的时间的百分比为多少 解:由题可知,系统加速比=2,部件加速比=20,通过向量方式求解可改进比例未知,可设为X。 根据Amdahl定律可知 系统加速比=1/[(1-X)+X/20]=2 求解得X=10/19 由此可得,可用向量方式求解所花费时间占总的时间的百分比魏53% 第二章作业 1、简述指令集结构设计的基本原则。 完整性、规整性、高效性和兼容性 2、简述RISC结构的设计原则。 1)选取使用频率最高的指令,并补充一些最有用的指令; 2)每条指令的功能应尽可能简单,并在一个机器周期内完成; 3)所有指令长度均相同; 4)只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行; 5)以简单有效的方式支持高级语言。 3

(完整版)计算机系统结构试题及答案

计算机系统结构复习题 单选及填空: 计算机系统设计的主要方法 1、由上往下的设计(top-down) 2、由下往上的设计(bottom-up) 3、从中间开始(middle-out) Flynn分类法把计算机系统的结构分为以下四类: (1)单指令流单数据流 (2)单指令流多数据流 (3)多指令流单数据流 (4) 多指令流多数据流 堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。 累加器型机器:CPU 中存储操作数的单元是累加器的机器。 通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。 名词解释: 虚拟机:用软件实现的机器叫做虚拟机,但虚拟机不一定完全由软件实现,有些操作可以由硬件或固件(固件是指具有软件功能的固件)实现。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 兼容机:它是指由不同公司厂家生产的具有相同系统结构的计算机。 流水线技术:将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。 单功能流水线:指流水线的各段之间的连接固定不变、只能完成一种固定功能的流水线。 多功能流水线:指各段可以进行不同的连接,以实现不同的功能的流水线。 顺序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。 乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成。这种流水线又称为无序流水线、错序流水线、异步流水线。 吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。 指令的动态调度:

是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施的。 指令的静态调度: 是指依靠编译器对代码进行静态调度,以减少相关和冲突。它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。 超标量: 一种多指令流出技术。它在每个时钟周期流出的指令条数不固定,依代码的具体情况而定,但有个上限。 超流水:在一个时钟周期内分时流出多条指令。 多级存储层次: 采用不同的技术实现的存储器,处在离CPU不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离CPU更远的一层)存储器中内容的子集。目标是达到离CPU最近的存储器的速度,最远的存储器的容量。 写直达法: 在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。写回法: 只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。 集中式共享多处理机: 也称为对称式共享存储器多处理SMP。它一般由几十个处理器构成,各处理器共享一个集中式的物理存储器,这个主存相对于各处理器的关系是对称的, 分布式共享多处理机: 它的共享存储器分布在各台处理机中,每台处理机都带有自己的本地存储器,组成一个“处理机-存储器”单元。但是这些分布在各台处理机中的实际存储器又合在一起统一编址,在逻辑上组成一个共享存储器。这些处理机存储器单元通过互连网络连接在一起,每台处理机除了能访问本地存储器外,还能通过互连网络直接访问在其他处理机存储器单元中的“远程存储器”。 多Cache一致性: 多处理机中,当共享数据进入Cache,就可能出现多个处理器的Cache中都有同一存储器块的副本,要保证多个副本数据是一致的。 写作废协议: 在处理器对某个数据项进行写入之前,它拥有对该数据项的唯一的访问权 。 写更新协议: 当一个处理器对某数据项进行写入时,它把该新数据广播给所有其它Cache。这些Cache用该新数据对其中的副本进行更新。 机群:是一种价格低廉、易于构建、可扩放性极强的并行计算机系统。它由多台同构或异构

吉大14秋学期《计算机系统结构》在线作业二答案

吉大14秋学期《计算机系统结构》在线作业二 单选题判断题 一、单选题(共15 道试题,共60 分。) 1. 关于非专用总线三种控制方式中,下列叙述错误的是()。 A. 集中式定时查询,所有部件共用同一条“总线忙”线 B. 集中式定时查询,所有部件都用同一条“总线请求”线 C. 集中式独立请求,所有部件都用同一条“总线请求”线 D. 集中式串行链接,所有部件都用同一条“总线请求”线 -----------------选择:C 2. 汇编语言源程序变换成机器语言目标程序是经( ) 来实现的。 A. 编译程序解释 B. 汇编程序解释 C. 编译程序翻译 D. 汇编程序翻译 -----------------选择:D 3. 计算机使用的语言是( )。 A. 专属软件范畴,与计算机体系结构无关 B. 分属于计算机系统各个层次 C. 属于用以建立一个用户的应用环境 D. 属于符号化的机器指令 -----------------选择:B 4. 多端口存储器适合于连接()。 A. 紧耦合多处理机 B. 松耦合多处理机 C. 机数很多的处理机 D. 机数可变的多处理机 -----------------选择:A 5. 在系统结构设计中,提高软件功能实现的比例会( )。 A. 提高解题速度 B. 减少需要的存贮容量 C. 提高系统的灵活性 D. 提高系统的性能价格比 -----------------选择:C 6. 用户高级语言源程序中出现的读写(I/O) 语句,到读写操作全部完成,需要通过( )共同完成。 A. 编译系统和操作系统 B. I/O 总线、设备控制器和设备 C. 操作系统和I/O 设备硬件 D. 编译系统、操作系统软件和I/O 总线,设备控制器、设备硬件等 -----------------选择:D

计算机系统结构 课后习题答案(第2版)

习题一 1、解释下列术语 计算机系统的外特性:通常所讲的计算机系统结构的外特性是指机器语言程序员或编译程序编写者所看到的外特性,即由他们所看到的计算机的基本属性(概念性结构和功能特性)。 计算机系统的内特性:计算机系统的设计人员所看到的基本属性,本质上是为了将有关软件人员的基本属性加以逻辑实现的基本属性。 模拟:模拟方法是指用软件方法在一台现有的计算机上实现另一台计算机的指令系统。 可移植性:在新型号机出台后,原来开发的软件仍能继续在升级换代的新型号机器上使用,这就要求软件具有可兼容性,即可移植性。可兼容性是指一个软件可不经修改或只需少量修改,便可由一台机器移植到另一台机器上运行,即同一软件可应用于不同环境。 Amdahl定律:系统中对于某一部件采用某种更快的执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频度或占总执行时间的比例。 虚拟机(Virtual Machine):指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。 6、 7、假定求浮点数平方根的操作在某台机器上的一个基准测试程序中占总执行时间的20%,为了增强该操作的性能,可采用两种不同的方法:一种是增加专门的硬件,可使求浮点数平方根操作的速度提高为原来的20倍;另一种方法是提高所有浮点运算指令的速度,使其为原来的2倍,而浮点运算指令的执行时间在总执行时间中占30%。试比较这两种方法哪一种更好些。 答:增加硬件的方法的加速比Sp1=1.23, 另一种方法的加速比Sp2= 1.176,经计算可知Sp1=方法更好些。 Sp2>Sp2第一种 9、假设高速缓存Cache的工作速度为主存的5倍,且Cache被访问命中的概率 T=为90%,则采用Cache能使整个存储系统获得多高的加速比?答: 加速比

北邮计算机系统结构实验报告-实验一到五-WINDLX模拟器

北京邮电大学 实验报告 课程名称计算机系统结构 计算机学院03班 王陈(11)

目录 实验一WINDLX模拟器安装及使用......................................... 错误!未定义书签。 ·实验准备................................................................................ 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验内容及要求.................................................................... 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验二指令流水线相关性分析 ............................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验三DLX处理器程序设计 .................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 A.向量加法代码及性能分析 ................................................... 错误!未定义书签。 B.双精度浮点加法求和代码及结果分析 .............................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验四代码优化 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结+实习体会........................................................... 错误!未定义书签。实验五循环展开 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 矩阵乘程序代码清单及注释说明........................................... 错误!未定义书签。 相关性分析结果........................................................................... 错误!未定义书签。 增加浮点运算部件对性能的影响........................................... 错误!未定义书签。 增加forward部件对性能的影响 ............................................ 错误!未定义书签。 转移指令在转移成功和转移不成功时候的流水线开销 .. 错误!未定义书签。 ·实验总结+实习体会+课程建议......................................... 错误!未定义书签。

计算机系统结构三四章作业及答案

简述流水线技术的特点。(1) 流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。(2) 流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。(3) 流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。(4) 流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。(5) 流水线需要有通过时间和排空时间。在这两个时间段中,流水线都不是满负荷工作。 解决流水线瓶颈问题有哪两种常用方法?答:细分瓶颈段与重复设置瓶颈段 有一条指令流水线如下所示: (1 (? ? TP = 有一个流水线由4段组成,其中每当流过第三段时,总要在该段循环一次,然后才能流到第4段。如果每段经过一次所需的时间都是△t ,问: (1)当在流水线的输入端连续地每△t 时间输入一个任务时,该流水线会发生什么情况? (2)此流水线的最大吞吐率为多少?如果每2△t 输入一个任务,连续处理10个任务时,其实际吞吐率和效率是多少? (3)当每段时间不变时,如何提高流水线的吞吐率?人连续处理10个任务时,其吞吐率提高多少? 解:(1)会发生流水线阻塞情况。 (2)

(3)重复设置部件 吞吐率提高倍数= t t ??2310 75 有一条动态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第2段的时间为2△t ,其余各段的时间均为△t ,而且流水线的输出可以直接返回输入端或暂存于相应的流水线寄存器中。现在该流水线上计算 ∏=+4 1 )(i i i B A ,画出时空图,并计算其吞吐率、加速比和效率。 4+B 4;再计算(A 由图可见,它在18个△t 时间中,给出了7个结果。所以吞吐率为: 如果不用流水线,由于一次求积需3△t ,一次求和需5△t ,则产生上述7个结果共需(4×5+3×3)△t =29△t 。所以加速比为: 该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得: △t,需经9△t 才能完成一个任务,其预约表如下所示。 (1)画出流水线任务调度的状态转移图。 时间 入 A 1 B 1 A 2 B 2 A 3 B 3 A 4 B 4 A B C D A × B C ×D

《计算机系统结构》与参考答案

2.以下各类中断中,属于自愿中断的是 C. A. 外部中断 B. I/O中断 C. 执行“访管”指令 D. 机器校验中断 3.高速外部设备磁盘机适合连接于 C. A. 选择通道或字节多路通道 B. 数组多路通道或字节多路通道 C.数组多路通道或选择通道 D.任意一种通道 4.页式虚拟存储器页表的作用是 A . A. 反映虚页在主存的存储情况 B.仅反映虚页是否调入主存 C. 反映主存实页与Cache 的对应关系 D. 反映虚页在辅存的存储情况5.软件和硬件的功能在逻辑上是C的 . A.固件优于软件 B.不等价 C.等价 D.软件优于固件 6.计算机中最优化的操作码编码方法是D. A.BCD 码 B.ASCII码 C.扩展操作码 D.哈夫曼编码 7.从计算机系统执行程序的角度看,并行性等级由低到高分为四级A. A .指令内部——指令之间——进程之间——程序之间 B .指令之间——指令内部——进程之间——程序之间 C.进程之间——指令之间——指令内部——程序之间 D .程序之间——进程之间——指令之间——指令内部 8.计算机系统多级层次结构中,操作系统机器级的直接上层是D. A .传统机器级 B .高级语言机器 C.应用语言机器级D.汇编语言机器级 9.全相联地址映像是指A. A. 任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 C.组之间是固定的,而组内任何虚页可以装入任何实页位置 D.组间可任意装入,组内是固定装入 10.对于同一系列机,必须保证软件能够C. A .向前兼容,并向上兼容 B .向前兼容,并向下兼容C.向后兼容,力争向上兼容D .向后兼容,力争向下兼容11.设有 16 个处理单元的并行处理机系统, 采用共享主存的方式. 若同时存取16 个数据 , 为避免存储器访问冲突, 共享主存的多体数量应该为C才合理 . A. 15 B. 16 C. 17 D. 19 12.软件兼容的根本特征是C. A.向前兼容 B.向后兼容 C. 向上兼容 D. 向下兼容 13.在下列机器中,能够实现软件兼容的机器是 B. A.完全不同种类的机型 B.系统结构相同的机器 C. 宿主机和目标机 D.虚拟机 14.输入输出系统硬件的功能对C是透明的。 A. 操作系统程序员 B. 所有类别的程序员 C. 应用程序员 D. 系统结构设计师 15.在下列各项选择中,对于机器( 汇编 ) 语言程序员透明的是 D. A.通用寄存器 B. 条件码 C.中断字 D.主存储器地址寄存器 一、单项选择题 1.在流水机器中,全局性相关是指 B. A.指令相关 B. 由条件转移指令引起的相关 C “先读后写”相关 D.“先写后读”相关 2.以下不属于多处理机操作系统类型的是A. A .Windows 操作系统B.主从型操作系 C.浮动型操作系统 D .各自独立型操作系统 3.下列不是数据流计算特点的是D. A. 设置状态 B.没有指令计数器 C.没有变量的概念 D.操作结果不产生副作用 4.若输入流水线的指令既无局部性相关,也不存在全局性相关,则B. A. 可获得高的吞吐率和效率 B.出现瓶颈 C.流水线的效率和吞吐率恶化 D.可靠性提高 5.消除“一次重叠”中的“指令相关”最好方法是B. A. 不准修改指令 B.设置相关专用通路 C.推后分析下条指令 D.推后执行下条指令 6.流水线的技术指标不包括A. A. 数据宽度 B.吞吐率 C.加速比 D.效率 7.按照弗林对处理机并行性定义的分类原则,阵列机ILLIAC IV属于B. A.SISD B.SIMD C.MISD D.MIMD 8.设 8 个处理器编号分别为0,1, 2,?,7 用 Cube0 互联函数时,第7 号处理机可以与第D号处理机相联 . A. 0 B. 2 C. 4 D. 6 9.多端口存储器适合于连接 B. A .松耦合多处理机B.紧耦合多处理机C.机数很多的多处理机 D .机数可变的多处理机 10.以下不属于堆栈型替换算法的是A. A .先进先出法B.近期最久未用过法 C.近期最少使用法D.页面失效频率法 11.解决主存空间数相关的办法是C. A.基址值一次相关直接通路法 B.基址值二次相关直接通路法 C.通用寄存器组相关专用通路相关法 D. 推后读法 12. 一般来说 , 以下替换算法中 , 效果最优的替换算法是C. A. LRU 替换算法 B. FIFO 替换算法 C. OPT 替换算法 D. RAND替换算法

计算机系统结构作业答案第三章(张晨曦)

3.1 -3.3为术语解释等解答题。 3.4 设一条指令的执行过程分为取指令,分析指令和执行指令3个阶段,每个阶段所需时间分别为ΔT, ΔT, 2ΔT,分别求出下列各种情况下,连续执行N条指令所需的时间。 (1) 顺序执行方式 (2) 只有“取指令”与“执行指令”重叠 (3) “取指令”,“分析指令”与“执行指令”重叠 解: (1) 4NΔT (2) (3N+1) ΔT (3) 2(N+1) ΔT 3.6 解决流水线瓶颈问题有哪两种常用方法? 解: (1) 细分瓶颈段 将瓶颈段细分为若干个子瓶颈段 (2) 重复设置瓶颈段 重复设置瓶颈段,使之并行工作,以此错开处理任务 3.9 列举下面循环中的所有相关,包括输出相关,反相关,真数据相关。 for(i = 2; i < 100; i=i+1) { a[i] = b[i] + a[i]; -----(1) c[i+1] = a[i] + d[i]; -----(2) a[i-1] = 2*b[i]; -----(3) b[i+1] = 2*b[i]; -----(4) } 解: 输出相关:第k次循环时(1)与第k+1轮时(3) 反相关:第k次循环时(1)和(2)与第k-1轮时(3) 真数据相关:每次循环(1)与(2),第k次循环(4)与k+1次循环(1),(3),(4) 3.12 有一指令流水线如下所示 50ns 50ns 100ns 200ns (1)求连续如入10条指令的情况下,该流水线的实际吞吐率和效率 (2)该流水线的“瓶颈”在哪一段?请采用两种不同的措施消除此“瓶颈”。对于你所给出 的两种新的流水线连续输入10条指令时,其实际吞吐率和效率各是多少? 解:(1)(m表示流水线级数,n 表示任务数)

计算机系统结构实验报告

计算机系统结构实验报告 一.流水线中的相关 实验目的: 1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点; 2. 加深对计算机流水线基本概念的理解; 3. 进一步了解DLX基本流水线各段的功能以及基本操作; 4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响; 5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。 实验平台: WinDLX模拟器 实验内容和步骤: 1.用WinDLX模拟器执行下列三个程序: 求阶乘程序fact.s 求最大公倍数程序gcm.s 求素数程序prim.s 分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察 CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。 2. 用WinDLX运行程序structure_d.s,通过模拟找出存在资源相关的指令对以及导致资源相 关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的 百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。 3. 在不采用定向技术的情况下(去掉Configuration菜单中Enable Forwarding选项前的勾选符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的 总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。 在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX再次运行程序data_d.s。重复上述3中的工作,并计算采用定向技术后性能提高的倍数。 1. 求阶乘程序 用WinDLX模拟器执行求阶乘程序fact.s。这个程序说明浮点指令的使用。该程序从标准 输入读入一个整数,求其阶乘,然后将结果输出。 该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。 实验结果: 在载入fact.s和input.s之后,不设置任何断点运行。 a.不采用重新定向技术,我们得到的结果

计算机体系结构实验报告二

实验二结构相关 一、实验目的: 通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。 二、实验内容: 1. 用WinDLX模拟器运行程序structure_d.s 。 2. 通过模拟,找出存在结构相关的指令对以及导致结构相关的部件。 3. 记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行 周期数的百分比。 4. 论述结构相关对CPU性能的影响,讨论解决结构相关的方法。 三、实验程序structure_d.s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关 ADDD F2, F0, F2 ; <- A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit <- this is a comment !! A: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

四、实验过程 打开软件,load structure_d.s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(R-stall 数据相关Stall- 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面的数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关的部件:译码部件。 2)第二个结构相关:ADDI R2, R2, #8,与第一个结构相关类似。由于数据相关, 上一条指令暂停在ID阶段,所以导致下一条指令发生结构相关。

相关文档
最新文档