计算机系统结构
第1章 计算机系统结构的基本概念
1.1 解释下列术语
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相互重叠,就存在并行性。它包括同时性与并发性两种含义。
1.2 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。
答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计等属于计算机实现。
计算机组成是计算机系统结构的逻辑实现。计算机实现是计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实现。
1.4 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。 答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。(2)Amdahl定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。(3)CPU性能公式。执行一个程序所需的CPU时间 = IC ×CPI ×时钟周期时间。(4)程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。
1.6 某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:
指令类型 整数 数据传送 浮点 分支 指令执行数量 45000 75000 8000 1500 平均时钟周期数 1 2 4 2 求该计算机的有效CPI、MIPS和程序执行时间。 解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (2)MIPS速率=f/ CPI =400/1.776 =225.225MIPS
(3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575s
第 1 页 共 17 页
计算机系统结构
1.7 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?
解 由题可知: 可改进比例 = 40% = 0.4 部件加速比 = 10 根据Amdahl定律可知:
1系统加速比??1.5625
0.4?1?0.4??10采用此增强功能方法后,能使整个系统的性能提高到原来的1.5625倍。
1.8 计算机系统中有三个部件可以改进,这三个部件的部件加速比为:
部件加速比1=30; 部件加速比2=20; 部件加速比3=10
(1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?
(2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?
解:(1)在多个部件可改进情况下,Amdahl定理的扩展:
Sn?1F(1??Fi)??iSi
已知S1=30,S2=20,S3=10,Sn=10,F1=0.3,F2=0.3,得:
1 10?1(-0.3?0.3?F3)?(0.3/30?0.3/20?F3/10)得F3=0.36,即部件3的可改进比例为36%。
(2)设系统改进前的执行时间为T,则3个部件改进前的执行时间为:(0.3+0.3+0.2)T = 0.8T,不可改进部分的执行时间为0.2T。
已知3个部件改进后的加速比分别为S1=30,S2=20,S3=10,因此3个部件改进后的执行时间为:
'Tn?0.3T0.3T0.2T???0.045T 302010 改进后整个系统的执行时间为:Tn = 0.045T+0.2T = 0.245T
那么系统中不可改进部分的执行时间在总执行时间中占的比例是:
0.2T?0.82
0.245T
1.9 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体数据如下表所示:
操作类型 操作1 操作2 操作3 操作4 程序中的数量 (百万条指令) 10 30 35 15 改进前的执行时间 (周期) 2 20 10 4 改进后的执行时间 (周期) 1 15 3 1 (1)改进后,各类操作的加速比分别是多少? (2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少?
第 2 页 共 17 页
计算机系统结构
解:根据Amdahl定律Sn? 操作类型 操作1 操作2 操作3 操作4 各类操作的指令条数在程序中所占的比例Fi 11.1% 33.3% 38.9% 16.7% 各类操作的加速比Si 2 1.33 3.33 4 各类操作单独改进后,程序获得的加速比 1.06 1.09 1.37 1.14 1Fe(1?Fe)?Se可得
4类操作均改进后,整个程序的加速比:
1Sn??2.16
Fi(1??Fi)??Si
第2章 指令集结构的分类
2.1 解释下列术语
堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。
累加器型机器:CPU 中存储操作数的单元是累加器的机器。
通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。
2.2 区别不同指令集结构的主要因素是什么?根据这个主要因素可将指令集结构分为哪3类?
答:区别不同指令集结构的主要因素是CPU中用来存储操作数的存储单元。据此可将指令系统结构分为堆栈结构、累加器结构和通用寄存器结构。
2.4指令集应满足哪几个基本要求?
答:对指令集的基本要求是:完整性、规整性、高效率和兼容性。
完整性是指在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令集所提供的指令足够使用。
规整性主要包括对称性和均匀性。对称性是指所有与指令集有关的存储单元的使用、操作码的设置等都是对称的。均匀性是指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。
高效率是指指令的执行速度快、使用频度高。
2.7简述RISC指令集结构的设计原则。
答(1) 选取使用频率最高的指令,并补充一些最有用的指令;(2)每条指令的功能应
第 3 页 共 17 页