收藏 分享(赏)

【2325】计算机系统结构考试复习资料.doc

上传人:tkhy51908 文档编号:4774007 上传时间:2019-01-11 格式:DOC 页数:55 大小:665.50KB
下载 相关 举报
【2325】计算机系统结构考试复习资料.doc_第1页
第1页 / 共55页
【2325】计算机系统结构考试复习资料.doc_第2页
第2页 / 共55页
【2325】计算机系统结构考试复习资料.doc_第3页
第3页 / 共55页
【2325】计算机系统结构考试复习资料.doc_第4页
第4页 / 共55页
【2325】计算机系统结构考试复习资料.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、 1 / 55【2325 】计算机系统结构自考复习资料第一章 计算机系统结构的基本概念 从处理数据的角度看,并行级别有位串字串,位并字串,位片串字并,全并行。位串字串和位并字串基本上构成了 SIMD。位片串字并的例子有:相联处理机 STARAN,MPP 。全并行的例子有:阵列处理机 ILLIAC IV。 从加工信息的角度看,并行级别有存储器操作并行,处理器操作步骤并行,处理器操作并行,指令、任务、作业并行。 存储器操作并行是指可以在一个存储周期内并行读出多个 CPU 字的,采用单体多字、多体单字或多体多字的交叉访问主存系统,进而采用按内容访问方式,位片串字并或全并行方式,在一个主存周期内实现对

2、存储器中大量字的高速并行操作。例子有并行存储器系统,以相联存储器为核心构成的相联处理机。 处理器操作步骤并行是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。例子有流水线处理机。 处理器操作并行是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。擅长对向量、数组进行处理。例子有阵列处理机。 指令、任务、作业并行是指多个独立的处理机分别执行各自的指令、任务、作业。例子有多处理机,计算机网络,分布处理系统。 并行性的开发途径有时间重叠(Time Interleaving),资源重复(Resource Repl

3、ication),资源共享(Resource Sharing)。 时间重叠是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。例子有流水线处理机。 资源重复是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。例子有阵列处理机,相联处理机。 资源共享是指用软件方法让多个用户按一定时间顺序轮流使用同一套资源以提高资源的利用率,从而提高系统性能。例子有多处理机,计算机网络,分布处理系统。 SISD:一个指令部件控制一个操作部件,实现一条指令对一个数据的操作。例子有传统的单处理机 SIMD:一个指令部件同时控制多个

4、处理单元,实现一条指令对多个数据的操作。例子有阵列处理机,相联处理机。 MIMD:多个独立的处理机分别执行各自的指令、任务、作业,实现指令、任务、作业并行的多机系统,是多个 SISD 的集合,也称多倍 SISD 系统(MSISD) 。例子有多处理机,计算机网络,分布处理系统。 exercises: 1.有一台经解释实现的计算机,可以按功能划分成 4 级,每一级为了执行一条指令,需要下一级的 N 条指令来解释。如果执行第 1 级的一条指令要 Kns 时间,那么执行第 2、第 3 和第 4 级的一条指令各需要用多少时间? 解答: 执行第 2、第 3 和第 4 级的一条指令各需要 KNns、KN2n

5、s、KN3ns 的时间。1.有一个计算机系统可按功能分成 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。 note: 由题意可知:第 i 级的一条指令能完成第

6、 i-1 级的 M 条指令的计算量。而现在第 i2 / 55级有 N 条指令解释第 i+1 级的一条指令,那么,我们就可以用 N/M 来表示 N/M 表示第 i+1 级需(N/M)条指令来完成第 i 级的计算量。所以,当有一段第 1 级的程序需要运行 Ks 时,在第 2 级就需要(N/M)Ks ,以此类推 2.硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。 答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。但是实现的性能价格比,实现的难易程序不同。 在 DOS 操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字

7、库和处理程序都固化在汉卡(硬件)上,而随着 CPU、硬盘、内存技术的不断发展,UCDOS 把汉字系统的所有组成部份做成一个软件。 3.试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。 答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。 ( 1)计算机的系统结构相同,但可采用不同的组成。如 IBM370 系列有115、125、135、158、168 等由低档到高档的多种型号机器。从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设 4 级构成。其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执

8、行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。 ( 2)相同的组成可有多种不同的实现。如主存器件可用双极型的,也可用 MOS 型的;可用VLSI 单片,也可用多片小规模集成电路组搭。 ( 3)计算机的系统结构不同,会使采用的组成技术不同,反之组成也会影响结构。如为实现 A:=B+CD:=E*F,可采用面向寄存器的系统结构,也可采用面向主存的三地址寻址方式的系统结构。要提高运行速度,可让相加与相乘并行,为此这两种结构在组成上都要求设置独立的加法器和乘法器。但对面向寄存器的系统结构还要求寄存器能同时被访问,而对面向主存的三地址寻址方式的系统结构并无此要求,倒是要求能同时形成

9、多个访存操作数地址和能同时访存。又如微程序控制是组成影响结构的典型。通过改变控制存储器中的微程序,就可改变系统的机器指令,改变结构。如果没有组成技术的进步,结构的进展是不可能的。 综上所述,系统结构的设计必须结合应用考虑,为软件和算法的实现提供更多更好的支持,同时要考虑可能采用和准备采用的组成技术。应避免过多地或不合理地限制各种组成、实现技术的采用和发展,尽量做到既能方便地在低档机上用简单便宜的组成实现,又能在高档机上用复杂较贵的组成实现,这样,结构才有生命力;组成设计上面决定于结构,下面受限于实现技术。然而,它可与实现折衷权衡。例如,为达到速度要求,可用简单的组成但却是复杂的实现技术,也可用

10、复杂的组成但却是一般速度的实现技术。前者要求高性能的器件,后者可能造成组成设计复杂化和更多地采用专用芯片。 组成和实现的权衡取决于性能价格比等因素;结构、组成和实现所包含的具体内容随不同时期及不同的计算机系统会有差异。软件的硬化和硬件的软件都反映了这一事实。VLSI 的发展更使结构组成和实现融为一体,难以分开。 4.什么是透明性概念?对计算机系统结构,下列哪些是透明的?哪些是不透明的? 存储器的模 m 交叉存取;浮点数据表示;I/O 系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是采用结合型还是独立型;PDP-11 系列的单总线结构;访问方式保护;程序性

11、中断;串行、重叠还是流水控制方式;堆栈指令;存储器最小编址单位;Cache 存储器。 答:透明指的是客观存在的事物或属性从某个角度看不到。 透明的有:存储器的模 m 交叉存取;数据总线宽度;阵列运算部件;通道是采用结合型还是3 / 55独立型;PDP-11 系列的单总线结构串行、重叠还是流水控制方式;Cache 存储器。 不透明的有:浮点数据表示;I/O 系统是采用通道方式还是外围处理机方式;字符行运算指令;访问方式保护;程序性中断;堆栈指令;存储器最小编址单位。 5.从机器(汇编)语言程序员看,以下哪些是透明的? 指令地址寄存器;指令缓冲器;时标发生器;条件寄存器;乘法器;主存地址寄存器;磁

12、盘外设;先行进位链;移位器;通用寄存器;中断字寄存器。 答:透明的有:指令缓冲器、时标发生器、乘法器、先进先出链、移位器、主存地址寄存器。 6.下列哪些对系统程序员是透明的?哪些对应用程序员是透明的? 系列机各档不同的数据通路宽度;虚拟存储器;Cache 存储器;程序状态字;“启动 I/O”指令;“执行”指令;指令缓冲寄存器。 答:对系统程序员透明的有:系列机各档不同的数据通路宽度;Cache 存储器;指令缓冲寄存器;对应用程序员透明的有:系列机各档不同的数据通路宽度;Cache 存储器;指令缓冲寄存器;虚拟存储器;程序状态字;“启动 I/O”指令。 note:系列机各档不同的数据通路宽度、C

13、ache 存贮器、指令缓冲寄存器属于计算机组成,对系统和程序员和应用程序员都是透明的。 虚拟存贮器、程序状态字、 “启动 I/O”指令,对系统程序员是不透明的,而对应用程序员却是透明的。 “执行”指令则对系统程序员和应用程序员都是不透明的。 7.想在系列机中发展一种新型号机器,你认为下列哪些设想是可以考虑的,哪些则不行的?为什么? 新增加字符数据类型和若干条字符处理指令,以支持事务处理程序的编译。 (2)为增强中断处理功能,将中断分级由原来的 4 级增加到 5 级,并重新调整中断响应的优先次序。 (3)在 CPU 和主存之间增设 Cache 存储器,以克服因主存访问速率过低而造成的系统性能瓶颈

14、。(4)为解决计算误差较大,将机器中浮点数的下溢处理方法由原来的恒置“1” 法,改为用 ROM存取下溢处理结果的查表舍入法。 (5)为增加寻址灵活性和减少平均指令字长,将原等长操作码指令改为有 3 类不同码长的扩展操作码;将源操作数寻址方式由操作码指明改成如 VAX-11 那种设寻址方式位字段指明。 (6)将 CPU 与主存间的数据通路宽度由 16 位扩展成 32 位,以加快主机内部信息的传送。 (7)为减少公用总路线的使用冲突,将单总线改为双总线。 (8)把原 0 号通用寄存器改作堆栈指示器。 答:可以考虑的有:1,3,4,6,7。不可以考虑的有:2,5,8。 原则是看改进后能否保持软件的可

15、移植性。 P.S.为了能使软件长期稳定,就要在相当长的时期里保证系统结构基本不变,因此在确定系列结构时要非常慎重。其中最主要是确定好系列机的指令系统、数据表示及概念性结构。既要考虑满足应用的各种需要和发展,又要考虑能方便地采用从低速到高速的各种组成的实现技术,即使用复杂、昂贵的组成实现时,也还能充分发挥该实现方法所带来的好处。 8.并行处理计算机除分布处理、MPP 和机群系统外,有哪 4 种基本结构?列举它们各自要解决的主要问题。 答:除了分布处理,MPP 和机群系统外,并行处理计算机按其基本结构特征可分为流水线计算机,阵列处理机,多处理机和数据流计算机四种不同的结构。 4 / 55流水线计算

16、机主要通过时间重叠,让多个部件在时间上交划重叠地并行招待运算和处理,以实现时间上的并行。它主要应解决:拥塞控制,冲突防止,流水线调度等问题。 阵列处理机主要通过资源重复实现空间上的并行。它主要应解决:处理单元灵活、规律的互连模式和互连网络设计,数据在存储器中的分布算法等问题。 多处理机主要通过资源共享,让一组计算机在统一的操作系统全盘控制下,实现软件和硬件各级上的相互作用,达到时间和空间上的异 步并行。它主要应解决:处理机间互连等硬件结构,进程间的同上步和通讯,多处理机调度等问题。 数据流计算机设有共享变量的概念,指令执行顺序只受指令中数据的相关性制约。数据是以表示某一操作数或参数已准备就绪的

17、数据令牌直接在指令之间传递。它主要应解决:研究合适的硬件组织和结构,高效执行的数据流语言等问题。 9.计算机系统的 3T 性能目标是什么? 答:计算机系统的 3T 性能目标是 1TFLOPS 计算能力,1TBYTE 主存容量 和 1TBYTES 的 I/O带宽第二章 数据表示与指令系统 1.尾数的 rm 进制数位 m和尾数的二进制数位 m 的关系 存在 m=m/log2(rm)这种关系是因为,在机器中,一个 rm 进制的数位是用 log2(rm)个机器数位来表示的。 假设 rm=8,尾数为 20,则 m=2,八进制数 20 转换成二进制数为 10000,其二进制数位,即机器数位 m=5。2=5

18、/log2(8) 。 note:这里的等号并不表示纯粹数学意义上的“ 等于 ”。 2.可表示的尾数个数公式 rmm(rm-1)/rm。 对于 rm 进制的数来说,每个数位均可以有 0 到 rm-1,即 rm 个码。 m个 rm 进制数位共有 rmm种编码。但课本中讨论的是规格化数,即尾数的小数点后第一个数位不为零的数,所以,应该去掉小数点后第一个数位是 0 的那些非规格化的数。显然,非规格化数的个数占了全部尾数编码总数的 1/rm 的比例,所以可表示的浮点数规格化的尾数个数应该是:rmm(1-1/rm)。 exercises: 1.某模型时机共有 7 种指令,各指令使用频率分别为0.35,0.

19、25 , 0.20,0.10 ,0.05 ,0.03 ,0.02 ,有 8 个通用数据寄存器和 2 个变址寄存器。(1) 要求操作码的平均长最短,请设计操作码的编码,并计算所设计操作码的平均长。 (4 分) (2) 设计 8 位长度的寄存器寄存器型指令 3 种,16 位长度的寄存器存储器变址寻址方式指令 4 条,变址范围不小于正、负 127。请写出指令格式,并给出各字段的长度和操作码编码。(6 分) 解答: (1)全 Huffman 编码的平均码长是可用的二进制位编码中平均码长最短的编码。 全 Huffman 编码的平均码长=2*(0.35+0.25+0.20)+3*0.10+4*0.05+5

20、*(0.02+0.03)=2.35 (2) 由于有 8 个通用数据寄存器和 2 个变址寄存器,所以通用寄存器用 3 位表示,变址寄存器用 1 位表示 ,8 位的寄存器- 寄存器型指令,3 个操作码编码为 00、01 、10 ,16 位的寄存器-存储器变址寻址方式指令, 4 个操作码编码为 1100、1101 、1110 、1111 ,2 位 3 位 3 位OP R1 R2操作码 寄存器 1 寄存器 25 / 554 位 3 位 1 位 8 位OP R1 X d操作码 寄存器 1 变址寄存器 相对位移 主存逻辑地址1.数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么?

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

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

23、理如让硬件越界判断与元素运算并行。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。 3.堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持? 答:通用寄存器型机器对堆栈数据结构实现的支持是较差的。表现在:(1)堆栈操作的指令少,功能单一;(2)堆栈在存储器内,访问堆栈速度低;(3)堆栈通常只用于保存于程序调用时的返回地址,少量用堆栈实现程序间的参数传递。 而堆栈型机器则不同,表现在:(1)有高速寄存器组成的硬件堆栈,并与主存中堆栈区在逻辑上组成整体,使堆栈的访问速度是寄存器的,容量是主存的;(2)丰富的堆栈指令可对堆栈中的数据进行各

24、种运算和处理;(3)有力地支持高级语言的编译;(4) 有力地支持子程序的嵌套和递归调用。 堆栈型机器系统结构有力地支持子程序的嵌套和递归调用。在程序调用时将返回地址、条件码、关键寄存器的内容等全部压入堆栈,待子程序返回时,再从堆栈中弹出。 4.设某机阶值 6 位、尾数 48 位,阶符和数符不在其内,当尾数分别以 2、8、16 为基时,在非负阶、正尾数、规格化数情况下,求出其最小阶、最大阶、阶的个数、最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。 解: 依题意知: p=6 m=48 rm=2, 8, 16,m=m/log2(rm),列下表: p=6,m=48,rm=2

25、(m=48)p=6,m=48,rm=8(m=16)p=6,m=48,rm=16(m=12)最小阶(非负阶,最小为 0) 0 0 0最大阶(2p- 26-1 26-1 26-16 / 551)最小尾数值(rm(-1) 1/2 1/8 1/16最大尾数值(1-rm(-m) 1-2(-48)1-8(-16),即(1-2(-48)1-16(-12),即(1-2(-48)可表示的最小值 1/2 1/8 1/16可表示的最大值 263*(1-2(-48) 863*(1-8(-16) 1663*(1-16(-12)阶的个数(2p) 26 26 26可表示的尾数的个数 248*(2-1)/2 816*(8-1

26、)/8 1612*(16-1)/16可表示的规格化数的个数 26*248*(2-1)/2 26*816*(8-1)/8 26*1612*(16-1)/16note: 可表示的最小值=rm(最小阶)* 最小尾数值=rm0*rm(-1)=rm(-1); 可表示的最大值 =rm(最大阶)*最大尾数值=rm(2p-1)*(1-rm(-m); 可表示的尾数的个数=rmm*(rm-1)/rm; 可表示的规格化数的个数= 阶的个数*尾数的个数=2p*rmm*(rm-1)/rm。 5.( 1)浮点数系统使用的阶基 rp=2,阶值位数 p=2,尾数基值 rm=10,以 rm 为基的尾数位数m=1,按照使用的倍数

27、来说,等价于 m=4, 试计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。 (2)对于 rp=2,p=2,rm=4,m=2,重复以上计算。 解: 依题意列下表: p=2,rm=10,m=1 p=2,rm=4,m=2最小尾数值 10-1=0.1 4-1=0.25最大尾数值 1-10-1=0.9 1-4-2=15/16最大阶值 2p-1=3 3可表示的最小值 0.1 0.25可表示的最大值 103*0.9=900 43*15/16=60可表示数的个数 36 48题中 “按照使用的倍数来说,等价于 m=4,” 这个 m=4,因为 23=f

28、byte 通道极限流量应大于或等于设备对通道要求的流量 fbyte。 如果字节多路通道上所挂设备台数为 m,设备的速率为 fi,为了不丢失信息,应满足: 1/(TS+TD)=m*fi fi 也就是设备发出字节传送请求间隔时间(500s)的倒数,所以: m=4。 4.某虚拟存储器共 8 个页面,每页 1024 个字,实际主存为 4096 个字,采用页表法进行地址映象。映象表的内容如下表所示。 虚页号 0 1 2 3 4 5 6 7实页号 3 1 2 3 2 1 0 0装入位 1 1 0 0 1 0 1 0注:我把虚页号加上了。 (1)列出会发生页面失效的全部虚页号; (2)按以下虚地址计算主存实

29、地址:0,3728 ,1023,1024,2055 ,7800,4096,6800 。 解: (1)会发生页面失效的全部虚页号为:2,3,5,7。 (2) 虚地址 虚页号 页内位移 装入位 实页号 页内位移 实地址0 0 0 1 3 0 30723278 3 656 0 页面失效 页面失效 无1023 0 1023 1 3 1023 40951024 1 0 1 1 0 10242055 2 7 0 页面失效 页面失效 无7800 7 632 0 页面失效 页面失效 无4096 4 0 1 2 0 204818 / 556800 6 656 1 0 656 656剖析:(1)根据页表法列出表

30、2,当装入位为 0 时,即为页面失效,再找出相对应的虚页号即可。(2)虚页号 =虚地址/页面大小 页内位移量= 虚地址虚页号*页面大小 实地址实页号* 页面大小页内位移量 由于可以用替换算法解决页面失效的问题,所以,发生页面失效的虚页 2,3,5,7 仍然可以有相应的实地址,但这样要在页表中建立新的虚实地址对应关系,新的虚实地址对应关系和原来的对应关系相同的可能性就很小了。 5、一个段页式虚拟存储器。虚地址有 2 位段号、2 位页号、11 位页内位移(按字编址),主存容量为 32K 字。每段可有访问方式保护,其页表和保护位如下表所示。 段号 0 1 2 3访问方式 只读 可读/执行 可读/写/

31、执行 可读/写虚页 0 所在位置 实页 9 在辅存上 页表不在主存内 实页 14虚页 1 所在位置 实页 3 实页 0 页表不在主存内 实页 1虚页 2 所在位置 在辅存上 实页 15 页表不在主存内 实页 6虚页 3 所在位置 实页 12 实页 8 页表不在主存内 在辅存上(1)此地址空间中共有多少个虚页? (2)当程序中遇到下列情况时 方式 段 页 页内位移取数取数取数存数存数存数转移至此取数取数转移至此013021102311311032001102047421410050560写出由虚地址计算出实地址。说明哪个会发生段失效、页面或保护失效失效。 解答: 1)该地址空间中共有 16 个虚

32、页。 (2)程序中遇到上表中各情况时,是否会发生段失效、页失效或保护失效及相应的主存实地址的情况如下表所示: 方式 段 页 页内位移 段失效 页失效 实页号 实地址 保护失效19 / 55取数取数取数存数存数存数转移至此取数取数转移至此013021102311311032001102047421410050560无无无无有无无无有无无无有无/有无有/无30无3无无8无无14614510无6184无无16484无无28732无无/有/无/有剖析: (1)虚地址中段号有 2 位,页号有 2 位,也就是每个程序最多只能有 22=4 个段,每个段至多只能有 22=4 页,所以该地址空间中共有 4*4=

33、16 个虚页。 (2)先从题意得知: 实地址:15 位,其中实页号 4 位,页内位移 11 位 页大小为 2K 字(由页内位移得知) 6.设某程序包含 5 个虚页,其页地址为 4,5 ,3,2,5,1 ,3,2,2,5,1,3 。当使用 LRU算法替换时,为获得最高命中率,至少应分配给该程序几个实页?其可能的最高命中率为多少? 7.采用页式管理的虚拟存储器,分时运行两道程序。其中,程序 X 为 DO 50 I=1,3B(I)=A(I)-C(I)IF(B(I)LE0)GOTO 40D(I)=2*C(I)-A(I)IF(D(I)EQ0)GOTO 5020 / 5540 E(I)=050 CONTI

34、NUEData: 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,

35、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: 分时运行在微观上是串行的,就是说,分时运行时把时间划分为若干时间片,每个程序轮流占用时间片;在宏观上是并行的,就是说,每个程序在一个时间片内并

36、不能运行完。总的来看,是同时运行的,所以两个程序分配的实页和不能大于 8。 我不了解 FORTRAN,找朋友把上面的源代码转成 C 了: main()int A=-4,2,0;int C=-3,0,1;for (i=0,i2-4 连接,乘按 1-3-4 连接,流水线输出设有数据缓冲器,也可将数据直接返回输入。现要执行 A*(B+C*(D+E*F)+G*H 的运算,请调整计算顺序画出能获得尽量高的吞吐率的流水时空图,标出流水线入、出端数的变化情况,求出完成全部运算的时间及此期间流水线的效率。如对流水线瓶颈子过程再细分,最少只需多少时间可完成全部运算?若子过程 3 不能再细分,只能用并联方法改进,问流水线的效率为多少? 解: 根据题意,画出流水线吞吐率尽可能高的时空图如图 0507: 图 0507 在此期间的流水线效率 =(6*4t+3*4t)/4*24t=3/8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报