第一章名词解释、简答、计算题答案一、计算机体系结构的基本概念(14个)1.1引论1.2计算机体系结构的概念1、如何理解计算机系统中的层次概念?答:从计算机语言的角度,把计算机系统按功能划分成多级层次结构。对计算机系统的认识需要在某一个层次上,从不同角度(层次)所看到的计算机属性是不同的。计算机系统按功能通常从高到低可分成以下几个层次:应用语言虚拟机、高级语言虚拟机、汇编语言级虚拟机、操作系统虚拟机、传统机器级、微程序机器级共六级。在以上划分中,传统机器级以上的所有机器都称为是虚拟机。这种划份方法有助于各级语言的实质及实现,分层后,处在某一级虚拟机的程序员只需要知道这一级的语言及虚拟机,至于这一级语言是如何再逐层地经翻译或解释到下面的实际机器级,就无须知道了。2、划分多级层次结构的作用是什么?答:把计算机系统按功能划分成多级层次结构:首先有利于正确地理解计算机系统的工作,明确软件、硬件和固件在计算机系统中的地位相作用。其次有利于理解各种语言的实质及其实现。最后还有利于探索虚拟机新的实现方法,设计新的计算机系统。3、语言实现的两种技术是什么,有何优缺点?答:翻译和解释是语言实现的两种技术。它们都是以执行一串N级指令来实现N+1级指令。翻译技术是先把N+1级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。解释技术是每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。在这个过程中不产生翻译出来的程序,因此,解释过程是边变换、边执行的过程一般来说,解释执行比翻译花的时间多,但存储空间占用较少。4、什么是透明性?如何理解体系结构的概念?答:透明性是指本来存在的事物或属性,从某种角度看,似乎不存在。计算机体系结构的定义是Amdahl于1964年在推出IBM360系列计算机时提出的:程序员所看到的计算机的属性,即概念性结构与功能特性。程序员可以是汇编语言、机器语言、编译语言、操作系统等程序员;所看到的指编写出能在机器上正确运行的程序所必须了解到的。按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。Amdahl提出的体系结构是传统机器级的体系结构。即一般所说的机器语言程序员所看到的传统机器级所具有的属性。其实质是计算机系统中软硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。广义的计算机体系概念既包含经典的计算机体系结构的概念范畴,还包括对计算机组成和计算机实现技术的研究。5、通用寄存器型计算机系统的功能特性有哪些?答:对于通用寄存器型机器,功能特性主要是指:(1)数据表示:硬件能直接辩认和处理的数据类型;(2)寻址规则:包括最小寻址单元、寻址方式及其表示;(3)寄存器定义:包括各种寄存器的定义、数量和使用规则;(4)指令集:包括机器指令的操作类型和格式、指令间的排序和控制机构等;(5)中断系统:中断的类型和中断响应硬件的功能等;(6)机器工作状态的定义和切换:如管态和目态等(7)存储系统:主存容量、程序员可用的最大存储容量、编址方式等;(8)信息保护:包括信息保护方式和硬件对信息保护的支持;(9)I/O结构:包括I/O联结方式、处理机/存储器与I/O设备间数据传送的方式和格式以及I/O操作的状态等。6、什么是系列机?采用系列机的计算机设计方法有何优缺点?答:在一个厂家内生产的具有相同的体系结构,但具有不同组成和实现的一系列不同型号的机器。具体而言:就是在体系结构基本不变的情况下,根据不同的性能和不同的器件,研制出多种性能和价格不同的计算机系统。采用系列机的主要优点:(1)系列机之间软件兼容,可移植性好。(2)使用标准的总线规程,实现接插件和扩展功能卡的兼容,便于实现()EM(由各厂家生产功能卡,然后组装成系统);(3)在统—数据结构和指令系统的基础上,便于组成多机系统和网络;便于实现机间通信。(4)扩大计算机应用领域,提供用户在同系列的多种机型内选用最合适的机器的可能性(5)有利于机器的使用、维护和人员培训;.(6)有利于提高产量。降低成本,促进计算机的发展。采用系列机的主要缺点:限制了计算机体系结构的发展。7、如何理解计算机体系结构和计算机实现技术、计算机应用之间的关系。答:计算机体系结构的定义是Amdahl于1964年在推出IBM360系列计算机时提出的:程序员所看到的计算机的属性,即概念性结构与功能特性。其实质是计算机系统中软硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。计算机组成是计算机体系结构的逻辑实现,计算机组成的任务是在计算机系统结构确定分配给硬件子系统的功能及其概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。计算机实现是指计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种物理实现。随着技术、器件和应用的发展,三者之间的界限越来越来模糊。。1.3计算机体系结构的发展8、存储程序计算机体系结构的特点有哪些?答:(1)机器以运算器为中心。(2)采用存储程序原理。程序(指令)和数据放在同一存储器中,并且没有对两者加以区分。指令和数据一样可以送到运算器进行运算,即由指令组成的程序自身是可以修改的。(3)存储器是按地址访问的、线性编址的空间。(4)控制流由指令流产生。(5)指令由操作码和地址码组成。操作码指明本指令的操作类型,地址码指明操作数和操作结果的地址。(6)数据以二进制编码表示,采用二进制运算。9、传统存储程序计算机体系结构存在的主要问题及其改进方法有哪些?:6分,其中第4步2分(1)分布的I/O处理能力存储程序计算机以运算器为中心、所有部件的操作都由控制器集中控制,这一特点带来了慢速输入输出操作占用快速运算器的矛盾。为了克服这一缺点,人们先后提出各种输入/输出方式。(2)保护的存储器空间把指令和数据放在同一存储器中有优缺点。现在绝大多数计算机都规定:在执行过程中不准修改程序。(3)存储器组织结构的发展按地址访问的存储器具有结构简单、价格便宜、存取速度快等优点。但是在数据处理时,往往要求查找具有某种内容特点的信息。但由于访问存储器的次数较多而影响计算机系统的性能。采用了通用寄存器的概念、设置高速缓冲存储器Cache、构成了以相联存储器为核心的相联处理机。(4)并行处理技术传统的存储程序计算机解题算法是顺序型的,即使问题本身可以并行处理,由于程序的执行受程序计数器控制,故只能是串行、顺序地执行。如何挖掘传统机器中的并行性?改进CPU的组成在体系结构上使本来可以并行计算的题目能并行计算多机并行处理系统(5)指令集的发展计算机系统指令的种类愈来愈多,这种计算机称为复杂指令集计算机CISC。日趋庞杂的指令集不但不容易实现,而且还可能降低计算机系统的性能。10、把指令和数据放在同一存储器中有何优缺点?答:把指令和数据放在同一存储器中,优点:1.不必预先区分指令和数据,易实现存储管理软件。2.程序和指令在执行过程中可以被修改,因而可以编写出灵活的可修改的程序。3.对于存取指令和数据仅需一套读\写和寻址电路,硬件简单。4.数据可以分配于任何可用空间,从而可更有效地利用存储空间等。缺点:1.不利于进行程序调试诊断;2.不利于实现程序的可再入性和程序的递归调用;3.不利于重叠和流水方式的操作。现在绝大多数计算机都规定,在执行进程中不准修改程序。3、计算机系统设计者要注意实现技术日新月异的变化。其中,对当代计算机的发展发挥着非常关键作用,变化发展极快的实现技术有哪几种?它们的发展变化是怎样的?1.4影响计算机体系结构的成本和价格因素1.5定量分析技术基础计算机系统的评价标准11、衡量计算机性能的主要标准是什么?为什么它是最可靠的衡量标准?答:衡量计算机系统性能可采用各种尺度,但最为可靠的衡量尺度是时间或速度。因为用这两个指标可以反映出计算机对用户输入响应的快慢,以及机器中执行各种操作的快慢,从整体上反映了系统的性能。时间有多种多样,如CPU时间,系统CPU时间。系统CPU时间的统计很难做到精确。当比较具有不同代码的机器时,由于系统CPU时间是不一样的。因而误差较大。故采用用户CPU时间作为衡量时间较为妥当。当然,衡量未加载系统的性能时,采用前述的响应时间较为合适,而衡量量CPU性能时,宜采用户CPU时间。12、计算机系统设计中应遵从哪些定量原理?分别叙述它们在计算机设计中的指导意义。答:计算机系统设计中应遵从以下定量原理:1.只加速使用频率高的部件,这是最重要也是最广泛采用的计算机设计准则。2.阿姆达尔定律。即系统中对某一部件采用某种更快的执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频率或所占总执行时间的比例。3.程序访问的局部性规律。其主要反映在时间和空间局部性两个方面,时间局部性是指程序中近期被访问的信息项很可能马上被访问;空间局部性是指那些在访问地址上相邻近的信息项很可能会被一同访问。13、常用的基准测试程序有哪几种?叙述它们的主要内容。答:常用的基准测试程序有(1)采用实际应用程序:如C语言的编译程序;如TEX正文处理软件以及SPICE那样的CAD工具软件。(2)采用核心程序。这是从实际程序中抽取少量关键循环程序段,并以此来评估性能。(3)合成测试程序。它类似于核心程序方法,但这种合成测试程序是人为编制的,较流行的合成测试程序有WHETSTONE和DHRYSTORE两种。1.6计算机体系结构中并行性的发展1、简述计算机体系结构中提高并行性的技术途径。答:三种途径(1)时间重叠:多个处理过程在时间上相互错开,轮流重迭地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。2分(2)资源重复:根据“以数量取胜”的原则,通过重复地设置资源,尤其是硬件资源,以大幅度提高计算机系统的性能。2分(3)资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。2分2、多处理机系统、流水线技术、分时操作系统的并行级别、采用的技术途径分别是什么?一、计算机体系结构的基本概念1.1引论1.2计算机体系结构的概念1、假设有一个计算机系统分为四级,每一级指令都比它下一级指令在功能上强M倍,即一条r+1级指令能够完成M条r指令的工作,且一条r+1级指令需要N条r级指令解释。对于一段在第一级执行时间为K的程序,在第二、第三、第四级上的一段等效程序需要执行多少时间?解:假设在第一级上用时间K执行了该级IC条指令。对第二级而言,为了完成IC条指令的功能,第二级指令的条数为:MIC。为了执行第二级MIC条指令,需要执行NMIC条第一级的指令对其进行解释,所以对于第二级而言,等效程序的执行时间是:KMNICKNMICMMICT12对于第三级而言,为了完成IC条指令的功能,第三级指令的条数为:2MIC。为了执行第三级2MIC条指令,需要执行NMIC2条第二级的指令对其进行解释。那么对第二级而言,总的指令条数为:NMICMIC22而第二级NMICMIC22等效于第一级MNMICMIC22条指令,同时还需要NNMICMIC22条第一级指令进行解释,所以第三级等效程序的执行时间是:KMNICKNNMICMMICMNMICMMICT2222231按照同样的逐层递推关系,不难求得第四级等效程序的总的执行时间为:KMNT3411.3计算机体系结构的发展1.4影响计算机体系结构的成本和价格因素1.5定量分析技术基础计算机系统的评价标准1、已知某商用计算机拟增加字符串操作功能。若用软件实现,与无字符串操作相比,速度提高4倍,CPU成本提高1/5倍;若用硬件实现,则速度是原来的100倍,,CPU成本是原来的5倍。由实验测得,字符串操作占总运行时间的50%,CPU成本约占整机成本的1/3。你选用哪种设计方案?解:采用软件方法时根据阿姆达尔定律,性能提高:=1.66硬件成本提高到C=2/