1、第一章1- 1 如有一个经解释实现的计算机,可以按功能划分成 4 级。每一级为了执行一条指令需要下一级的 N 条指令解释。若执行第 1 级的一条指令需 K ns 时间,那么执行第2、3、4 级的一条指令各需要多少时间?答:执行第 2、3、4 级的一条指令各需 KN ns、(N*N)*K ns、(N*N*N)*K ns 的时间。1- 2 操作系统机器级的某些指令就用传统机器级的指令,这些指令可以用微程序直接解释实现,而不必有操作系统自己来实现。更具你对 1- 1 题的回答,你认为这样做有哪些好处?答:这样做,可以加快操作系统中操作命令解释的速度,同时也节省了存放解释操作命令这部分解释程序所占的存
2、储空间,简化了操作系统机器级的设计,也有利于减少传统机器级的指令条数。1- 3 有一个计算机系统可按功能分成 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。1- 4
3、 硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。但是实现的性能价格比,实现的难易程序不同。例如,编译程序、操作系统等许多用机器语言软件子程序实现的功能完全可以用组合电路硬件或微程序固件来解释实现。它们的差别只是软件实现的速度慢,软件的编制复杂,编程工作量大,程序所占的存储空间量较多,这些都是不利的;但是,这样所用硬件少,硬件实现上也就因此而简单容易,硬件的成本低,解题的灵活性和适应性较好,这些都是有利的。又如,乘除法运算可以经机器专门设计的乘法指令用硬件电路或乘除部件
4、来实现。向量、数组运算在向量处理机中是直接使用向量、数组类指令和流水或陈列等向量运算部件的硬件方式来实现的,但在标量处理机上也可以通过执行用标量指令组成的循环程序的软件方式来完成。浮点数运算可以直接通过设置浮点运算指令用硬件来实现,也可以用两个定点数分别表示浮点数的阶码和尾数,通过程序方法把浮点数阶码和尾数的运算映像变换成两个定点数的运算,用子程序软件的方式实现。十进制数的运算可以通过专门设置十进制数运算类指令和专门的十进制运算部件硬的方式来完成,或者通过设置 BCD 数的表示和若干 BCD 数运算的校正指令来软硬结合地实现,也可以先经十转二的数制转换子程序将十进制数转成二进制数,再用二进制运
5、算类指令运算,所得结果又调用二转十的数制转换子程序转换成十进制数结果,用全软件的方式实现。1- 5 试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。(1)计算机的系统结构相同,但可采用不同的组成。如 IBM370 系列有115、125、135、158、168 等由低档到高档的多种型号机器。从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设 4 级构成。其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用
6、重叠、流水或其它并行处理方式。(2)相同的组成可有多种不同的实现。如主存器件可用双极型的,也可用 MOS 型的;可用 VLSI 单片,也可用多片小规模集成电路组搭。(3)计算机的系统结构不同,会使采用的组成技术不同,反之组成也会影响结构。如为实现 A:=B+CD:=E*F,可采用面向寄存器的系统结构,也可采用面向主存的三地址寻址方式的系统结构。要提高运行速度,可让相加与相乘并行,为此这两种结构在组成上都要求设置独立的加法器和乘法器。但对面向寄存器的系统结构还要求寄存器能同时被访问,而对面向主存的三地址寻址方式的系统结构并无此要求,倒是要求能同时形成多个访存操作数地址和能同时访存。又如微程序控制
7、是组成影响结构的典型。通过改变控制存储器中的微程序,就可改变系统的机器指令,改变结构。如果没有组成技术的进步,结构的进展是不可能的。综上所述,系统结构的设计必须结合应用考虑,为软件和算法的实现提供更多更好的支持,同时要考虑可能采用和准备采用的组成技术。应避免过多地或不合理地限制各种组成、实现技术的采用和发展,尽量做到既能方便地在低档机上用简单便宜的组成实现,又能在高档机上用复杂较贵的组成实现,这样,结构才有生命力;组成设计上面决定于结构,下面受限于实现技术。然而,它可与实现折衷权衡。例如,为达到速度要求,可用简单的组成但却是复杂的实现技术,也可用复杂的组成但却是一般速度的实现技术。前者要求高性
8、能的器件,后者可能造成组成设计复杂化和更多地采用专用芯片。组成和实现的权衡取决于性能价格比等因素;结构、组成和实现所包含的具体内容随不同时期及不同的计算机系统会有差异。软件的硬化和硬件的软件都反映了这一事实。VLSI 的发展更使结构组成和实现融为一体,难以分开。1- 6 什么是透明性概念?对计算机系统结构,下列哪些是透明的?哪些是不透明的?存储器的模 m 交叉存取;浮点数据表示;I/O 系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型还是独立型;PDP-11 系列的单总线结构;访问方式保护;程序性中断;串行、重叠还是流水控制方式;堆栈指令;存储
9、器最小编址单位;Cache 存储器。答:透明指的是客观存在的事物或属性从某个角度看不到。透明的有:存储器的模 m 交叉存取;数据总线宽度;阵列运算部件;通道是采用结合型还是独立型;PDP-11 系列的单总线结构串行、重叠还是流水控制方式;Cache 存储器。 不透明的有:浮点数据表示;I/O 系统是采用通道方式还是外围处理机方式;字符行运算指令;访问方式保护;程序性中断;堆栈指令;存储器最小编址单位。P.S. 属于计算机系统结构的属性有:数据表示、寻址方式、寄存器组织、指令系统、存储组织、中断机构、I/O 结构、保护机构等。属于组成的属性有:数据通路宽度、专用部件设置、功能部件并行度、控制机构
10、的组成方式,可靠性技术等。它着眼于机器内各事件的排序方式,控制机构的功能及部件间的关系。属于实现的属性有:部件的物理结构、器件、模块的划分与连接、微组装技术、信号传输技术等,它着眼于器件技术和微组装技术。1- 7 从机器(汇编)语言程序员看,以下哪些是透明的?指令地址寄存器;指令缓冲器;时标发生器;条件寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。答:透明的有:指令缓冲器、时标发生器、乘法器、先进先出链、移位器、主存地址寄存器。1- 8 下列哪些对系统程序员是透明的?哪些对应用程序员是透明的? 系统机各档不同的数据通路宽带;虚拟存储器;Cache 存储
11、器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲寄存器。答:系列机各档不同的数据通路宽度;虚拟存储器;Cache 存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲寄存器。答:系列机各档不同的数据通路宽度、Cache存贮器、指令缓冲寄存器属于计算机组成,对系统和程序员和应用程序员都是透明的。虚拟存贮器、程序状态字、 “启动 I/O”指令,对系统程序员是不透明的,而对应用程序员却是透明的。 “执行”指令则对系统程序员和应用程序员都是不透明的。 1- 9 实现软件移植的主要途径有哪些?适用于什么场合?各存在什么问题?对这些问题应采取什么对策?如果利用“计算机网络”实现软件移植
12、,计算机网络应当如何组成?答:实现软件移植的主要途径有统一高级语言、采用系列机、模拟和仿真等。统一高级语言适用于在结构相同以至完全不同的机器之间实现高级语言应用软件移植。问题是至今还难以统一出一种通用的高级语言。应采取的对策是,从长远目标还应争取统一出一种通用的高级语言,但近期只能做相对的统一。采取系列机可使用于结构相同或近期的机器之间实现汇编语言应用软件和部分系统软件移植。由于系列机结构变化有限,因此到一定时候便会阻碍系列的发展。对策应是不讷讷个只局限于旧系列的发展,在适当时候应推出新的系列结构。模拟和仿真能使用于结构不同的机器之间实现机器语言程序的移植。但模仿方法在机器指令差异大时,运行速
13、度严重下降;在机器结构差异大时,仿真很难。对策是:模仿和仿真结合使用。让频繁使用且易于仿真的指令采用仿真,以提高速度,应很少使用,对速度要求不高的、难以仿真的这部分指令及 I/O 操作采用模拟实现。用计算机网络实现软件移植,计算机网络应采用异种机的联网技术。1- 10 系列机思想对计算机发展有什么意义?系列机软件兼容的要求是什么?答:采用系列机可以较好地解决软件设计环境要求相对稳定和硬件、器件、组成等技术在飞速发展的矛盾。软件可以丰富积累,又能不断更新器件、硬件和组成,使之短期内就能提供出性能更好、价格更便宜的新机器,有力地促进计算机的发展。系列机软件兼容的基本要求是必须保证实现软件的向后兼容
14、,力争做到向上兼容。1- 11 想在系列机中发展一种新型号机器,你认为下列哪些设想是可以考虑的,哪些则不行的?为什么?(1)新增加字符数据类型和若干条字符处理指令,以支持事务处理程序的编译。(2)为增强中断处理功能,将中断分级由原来的 4 级增加到 5 级,并重新调整中断响应的优先次序。(3)在 CPU 和主存之间增设 Cache 存储器,以克服因主存访问速率过低而造成的系统性能瓶颈。(4)为解决计算误差较大,将机器中浮点数的下溢处理方法由原来的恒置“1”法,改为用 ROM 存取下溢处理结果的查表舍入法。(5)为增加寻址灵活性和减少平均指令字长,将原等长操作码指令改为有 3 类不同码长的扩展操
15、作码;将源操作数寻址方式由操作码指明改成如 VAX-11 那种设寻址方式位字段指明。(6)将 CPU 与主存间的数据通路宽度由 16 位扩展成 32 位,以加快主机内部信息的传送。(7)为减少公用总路线的使用冲突,将单总线改为双总线。(8)把原 0 号通用寄存器改作堆栈指示器。答:可以考虑的有:13467。不可以考虑的有:258。原则很简单,看改进后能否保持软件的可移植性。 P.S. 为了能使软件长期稳定,就要在相当长的时期里保证系统结构基本不变,因此在确定系列结构时要非常慎重。其中最主要是确定好系列机的指令系统、数据表示及概念性结构。既要考虑满足应用的各种需要和发展,又要考虑能方便地采用从低
16、速到高速的各种组成的实现技术,即使用复杂、昂贵的组成实现时,也还能充分发挥该实现方法所带来的好处。 1- 12 VLSI 的发展与应用,对逻辑设计方法产生了什么影响?举例说明器件的发展是推动系统结构发展的关键因素。答:器件的发展使逻辑设计已由过去传统的逻辑化简,转变成强调在满足系统结构所提出的功能要求前提下,如何能用上大批量生产的高集成度片子,提高其系统效能,缩短其研制周期,降低其生产成本。计算机的设计也已从过去只进行全硬的逻辑设计发展到现在所用的软硬结合方法进行计算机的辅助设计和辅助制造。器件发展是推动系统结构发展的关键因素的举例:器件的集成度和速度的不断提高,使得机器的主频提高很快,节拍宽
17、度不断缩小,最初计算机的计算时间以 MS、US、 ,现在以 NS 如用约瑟夫逊器件做成的计算机以 PS 计。从根本上讲,结构和组成技术的进展能否用得上,关键在于器件的发展是否提供了这种可能:1、没有器件可靠性做保器,流水技术无法采用。2、没有器件性能价格比的提高,新研制的组成技术就无法从巨型机,下移到大中型机上。3、器件的发展也加快了系统结构的下移。4、器件的发展还影响到算法,语言和软件的发展。1- 13 开发计算机系统并行性的主要技术途径有哪三个?沿这些途径分别发展出了什么类型的多处理机系统?答:开发并行性的途径有时间重叠、资源重叠和资源共享。沿时间重叠发展出多处理机宏流水系统,一般是非对称
18、异构型多处理机系统。沿资源重复发展出多处理机系统一般是对称、同构型多处理器(机)系统。沿资源共享途径发展出多处理机系统一般是同构型或同构型的多处理机。1- 14 从执行程序、处理数据及计算机信息加工的不同阶段的三个方面分别将并行性分成了哪几段?答:从计算机系统中执行程序的角度,并行等级由低到高有指令内各微操作间的并行、多条指令间的并行、多个作业或程序间的并行四级。从计算机系统处理数据的角度看,并行性等级由低到高,分别是未串字串(串行单处理机,无并行性) ,位并字串(传统并行单处理机) ,位片串字并和全并行等。从计算机信息加工步骤和阶段的角度看,并行性等级又有存储器操作并行(并行存储器,相联处理机) ,处理器操作步骤并行(流水线处理机) ,处理器操作并行(列阵处理机) ,指令、任务、作业间是全面并行(多处理机、分布处理系统、计算机网络)等。1- 15 计算机系统的 3T 性能目标是什么?答:计算机系统的 3T 性能目标是 1TFLOPS 计算能力 , 1TBYTE 主存容量 和 1TBYTES 的I/O 带宽。