计算机系统结构习题解答_第1页
计算机系统结构习题解答_第2页
全文预览已结束

下载本文档

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

文档简介

1、 13 典型习题和题例分析与解答 题1.1 有一个经解释实现的计算机,可以按功能划分成4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第1级的一条指令要K ns时间,那么执行第2、第3、第4级的一条指令各需要用多少时间? 分析 计算机按功能分成级时,最底层是第l级,向上依次为第2、第3和第4级;解释方式的执行是在低级机器级上用它的一串语句或指令来仿真高一级机器级上的一条语 句或指令的功能,而且是通过对高级机器级程序中的每条语句或指令逐条加以解释来实现的。 解答 执行第2、第3、第4级的一条指令各需KN ns、KN2 ns、KN3 ns的时间。 题1.2 操作系统机器级的某些指令就用

2、传统机器级的指令,这些指令可以用微程序直接实现,而不必由操作系绕自己来实现。你认为这样做有哪些好处? 解答 这样做,可以加快操作系统中操作命令解释的速度,同时也节省了存放解释操作命令这部分解释程序所占的存贮空间,简化了操作系统机器级的设计,也有利于减少传统机器级的指令条数。 题1.3 有一个计算机系统可按功能分成4级,各级的指令都不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。现若需第i级的N条指令解释第i+l级的一条指令,而有一段第l级的程序需要运行的时间为K s,问在第2、3和4级上一段等效的程序各需要运行多长时间? 分析 因为从

3、功能意义上讲,第i级的一条指令能完成第i-1级的M条指令的计算量,但第i级的一条指令的执行,都是靠第i-1级的N条指令的执行来解释完成。已知,第1级的一段程序运行时间为K s。第2级的一段程序从功能等效上讲,所需的指令条数应当是第1级上指令数的1/M。而由第1级解释时又需要执行N条指令,所以,第2级一段等效程序的运行就需要K的时间。第3、4级则可依次类推。 解答 第2、3和4级上的一段等效程序分别需要K、Ks和K的时间。 题1.4 硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。 解答 硬件和软件在逻辑功能上是等效的。在原理上,用软件实现的功能完全可以用硬件或固件(微程序

4、解释)来完成。用硬件实现的功能也可以通过用软件进行模拟来完成,只是反映在速度、价格、实现的难易程度上,这两者是不同的。 例如,编译程序、操作系统等许多用机器语言软件子程序实现的功能完全可以用组合电路硬件或微程序固件来解释实现。它们的差别只是软件实现的速度慢,软件的编制复杂,编程工作量大,程序所占的存贮空间量较多,这些都是不利的;但是,这样所花硬件少,硬件实现上也就因此而简单容易,硬件的成本低,解题的灵活性和适应性较好,这些都是有利的。又如,乘除法运算可以经机器专门设计的乘法指令用硬件电路或乘除部件来实现,也可以通过执行一个使用相加、移位、比较、循环等机器指令组成的机器语言子程序来实现。向量、数

5、组运算在向量处理机中是直接使用向量、数组类指令和流水或阵列等向量运算部件的硬件方式来实现,但在标量处理机上也可以通过执行用标量指令组成的循环程序的软件方式来完成。 浮点数运算可以直接通过设置浮点运算指令用硬件来实现,也可以用两个定点数分别表示浮点数的阶码和尾数,通过程序方法把浮点数阶码和尾数的运算映象变换成两个定点数的运算,用于程序软的方式来实现。十进制数的运算可以通过专门设置十进制运算类指令和专门的十进制运算部件硬的方式来完成,或者通过设置BCD数的表示和若干BCD数运算的校正指令来软硬结合地实现,也可以先经10转2的数制转换子程序将十进制数转成二进制数,再用二进制运算类指令运算,所得结果又

6、调用2转10的数制转换子程序转换成十进制数结果,用全软的方式实现。 题1.5 什么是透明性概念?对于计算机系统结构,下列哪些是透明的?哪些是不透明的? 存贮器的模m交叉存取:浮点数据表示:IO系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型还是独立型:PDP11系列中的单总线结构;访问方式保护;程序性中断;串行、重叠还是流水控制方式;堆栈指令;存贮器的最小编址单位;Cache存贮器。 分析 所谓透明就是看不到,不属于其管理的部分。对计算机系统结构是否透明,首先要弄清教材1.2.1节中有关计算机系统结构的定义和所包含的属性内容。简单来说,凡是编写

7、机器语言和汇编语言程序要用到的数据表示、指令系统、寻址方式、寄存器组织、机器级IO结构、存贮容量及其编址方式、中断机构、系统管态和目态间的切换、信息保护方式和机构等对计算机系统结构都是不透明的。而全部由硬件实现,或是在机器语言、汇编语言编程中不会出现和不需要了解的部分,以及只影响机器的速度和价格的逻辑实现(计算机组成)和物理实现(计算机实现)的那些部分,对计算机系统结构都是透明的。 解答 客观存在的事物或属性。从某个角度去看,却看不到,称这些事物和属性对他是透明的。透明了就可以简化这部分的设计,然而因为透明而无法控制和干预,就会带来不利。因此,透明性的取舍要正确选择。 对计算机系统结构透明的有

8、:存贮器的模m交叉存取,数据总线宽度,阵列运算部件,通道是采用结合型还是独立型,PDP一11系列的单总线结构,串行、重叠还是流水控制方式,Cache存贮器。 对计算机系统结构不透明的有:浮点数据表示,IO系统采用通道方式还是外围处理机方式,字符行运算指令,访问方式保护,程序性中断,堆栈指令,存贮器最小编址单位。 题1.6 从机器(汇编)语言程序员的角度来看,以下哪些是透明的? 指令地址寄存器;指令缓冲器;时标发生器;条件码寄存器;乘法器;主存地址寄存器;磁盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。 分析 从机器(汇编)语言程序员看,实际上也就是从计算机系统结构看的内容。 指令地址寄

9、存器就是程序计数器,汇编语言或机器语言程序都要用到它的,其位数多少会影响到可执行程序的空间大小。指令缓冲器、主存地址寄存器都属于计算机组成中的缓冲器技术,是由全硬件实现的,系统程序不参预对它们的管理。时标发生器、乘法器、先行进位链、移位器等都属于计算机组成中的专用部件配臀,它只影响机器的速度和价格,与软件编程无关。条件码寄存器是存放指令执行后生成反映结果状态或特征的标志码,它要供转移等指令使用,是编程要用到的。磁盘外设的种类、编址方式、容量等都是磁盘管理服务程序要用到的。通用寄存器的数量、位效、编址、使用规定在汇编语言程序和机器语言程序中都是会直接用到的。中断字寄存器是用来记录每一个中断类中,

10、各个中断源发生中断请求的状况的,它是中断服务程序在处理中断时要用到的。 解答 从机器(汇编)语言程序员来看,透明的有:指令缓冲器,时标发生器,乘法器,主存地址寄存器,先行进位链,移位器。 题1.7 下列哪些对系统程序员是透明的?哪些对应用程序员是透明的? 系列机各档不同的数据通路宽度;虚拟存贮器;Cache存贮器;程序状态字:“启动IO”指令;“执行”指令;指令缓冲寄存器。 分析 系统程序员是编写诸如操作系统、编译程序等各种系统软件的人员。应用程序员是指利用计算机及所配的系统软件支持来编写解决具体应用问题的程序员。他们都可以使用汇编语言或机器语言来编写程序,当然也可以用高级语言来编写程序。所以

11、,对系统程序员或应用程序员是不透明的,应包括计算机系统结构所包含的各个方面。而属全硬件实现的计算机组成所包含的方面,如系列机各档不同的数据通路宽度、Cache存贮器、指令缓冲寄存器等,无论是对系统程序员,还是对应用程序员都应当是透明的。对目前高性能计算机系统来讲,大多数都是多用户环境,应用程序(也称算态,目态或用户态程序)中不允许使用管态(也林系统态,监督态)中所用的特权指令。 例如,大型多用户系统中,程序状态字是用于反映计算机系统在当前程序的各种关键状态(它并不是IBM PC计算机那种狭义的所谓程序状态字)的,它是操作系统用于管理计算机系统资源及其使用状况的,用户是不能直接对程序状态字内容进

12、行读,写和访问的,只能由系统来管理。“启动IO”指令是大型机中的种管态指令,属于特权指令,只能在操作系绕程序中使用(见教材中第3章3.4.1节的介绍)。用户程序是不能用它来直接启动IO通道和设备的。虚拟存贮器(参看教材第4章4.1.3节)是一个主存辅存两级存贮层次。它对应用程序员是完全透明的,使应用程序不必作任何修改就可以在系统上运行。但是,在操作系统中必须配置有相应的管理软件,能对其虚实外部地址的映象和变换、程序的换道、程序由辅存调入主存、主存页面的替换、存贮保护等进行管理,所以对系统程序员来说是不透明的。“执行”指令(参看教材中第5章5.1.2节)是IBM 370等系列机上用于解决程序在执

13、行过程中不准修改指令,又允许将指令放在操作数区中作修改,以满足指令在执行过程中允许修改的要求。这种指令无论是用户程序,还是系统程序,都希望可以被使用,所以,“执行”指令应设计成对应用程序员和系统程序员都是不透明的。 解答 系列机各档不同的数据通路宽度、Cache存贮器、指令缓冲寄存器属计算机组成,对系统程序员和应用程序员都是透明的。虚拟存贮器、程序状态字、“启动IO”指令,对系统程序员是不透明的,面对应用程序员却是透明的。“执行”指令则对系统程序员和应用程序员都是不透明的。 题1.8 想在系列机中发展一种新型号机器,你认为下列哪些设想是可以考虑的?哪些则是不行的?为什么? (1)新增加字符数据

14、类型和若干条字符处理指令,以支持事务处理程序的编译。 (2)为增强中断处理功能,将中断分级由原来的4级增加到5级,并重新调整中断响应的优先次序。 (3)在CPU和主存之间增设Cache存贮器,以克服因主存访问速率过低而造成的系统性能瓶颈。 (4)为解决计算误差较大,将机器中浮点数的下滥处理方法由原来的恒置“1” (5)为增加寻址灵活性和减少平均指令字长,将原来全部采用等长操作码的指令改成有3类不同码长的扩展操作码;将源操作数寻址方式由原来的操作码指明改成增加一个如VAX11那样的寻址方式位字段来指明。 (6)将CPU与主存之间的数据通路宽度由16位扩展成32位,以加快主机内部信息的传送。 (7

15、)为减少使用公用总线的冲突,将单总线改为双总线。 (8)把原来的0号通用寄存器改作专用的堆栈指示器。 分析 系列机发展新型号机器最主要的是必须保证应用软件的向后兼容。就是说,早先机界上运行的程序在后面的新机器上应能照样运行,只是后面出来的新机器因为增强了它的功能和速度,可以提高其性能。因此,对于那些不属于计算机系统结构,而属于计算机组成和实现的东西,不管是增加、删去,还是修改,都不会影响到汇编语言程序和机器语言程序在系列机上的兼容。但是,对于属于计算机系统结构的那些内容,为保证软件的向后兼容,则只能增加其新的功能或部件,而不能去删掉或更改已有的功能或部件。否则,就保证不了原有的程序能在新机器上

16、正确运行了。 解答 (1)可以。因为它虽然是属计算机系统结构的内容,但它是新增加的数据类型和指令,不会影响到已有指令所写的程序正确运行,只是现在用新增加的指令来写程序,会使计算机的性能和效率变得更好。 (2)不可以。中断的分缓和中断的响应次序等中断机构都属于计算机系统结构的内容。中断分级由原来的4级增加到5级应当还是允许的,关键是重新调整了中断响应的优先次序,这就使原有程序的中断响应次序发生了改变,会影响碾有程序工作的正确性。 (3)可以。Cache存贮器属于计算机组成,它不会改变原有的系统程序和应用程序,不会影响到它们的正常运行。只是有了Cache存贮器后,系统的性能有了明显的提高。 (4)

17、可以。浮点数尾数的下溢处理(参见教材中第2章的2.1.4节)不属于计算机系统结构,而是计算机组成设计所考虑的内容。 (5)不可以。指令的操作码、字段格式、寻址方式等的指明都是计算机系统结构的内容。如果将它们加以改变,就会直接导致以前编写的程序都不能正确运行了。 (6)可以。数据通路宽度是计算机组成的内容。 (7)可以。单总线改为双总线是计算机组成的内容。 (8)不可以。通用寄存器的使用是属于计算机系统结构的内容。0号通用寄存器改作堆栈指示器,将使原先程序中0号通用寄存器中的内容改变直接影响到堆栈指针的位置发生变化,造成程序无法正常工作的局面。 题1.9 并行处理计算机除分布处理、MPP和机群系统外,还有哪4种基本结构?列举它们各自要解决的主要问题。 解答 并行处理机除分布处理、MPP和机群系统外,还有流水线计算机、阵列处理机、多处理机和数据流计算机等4种摹本结构。 流水线计算机主要要解决好拥塞控制、冲突防止、分支处理、指令和数据的相关处理、流水线重组、中断处理、流水线调度、向量化处理以及作业顺序的控制等。 阵列处理机主要要解决好处理单元间能有灵活而有规律的互连模式及互连网络的设计和研究、存贮器的组织、数据在存贮器

温馨提示

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

评论

0/150

提交评论