计算机系统构架课程的重点和难点范文.docx
《计算机系统构架课程的重点和难点范文.docx》由会员分享,可在线阅读,更多相关《计算机系统构架课程的重点和难点范文.docx(30页珍藏版)》请在冰豆网上搜索。
计算机系统构架课程的重点和难点范文
第一章计算机系统结构的基本概念
【学习指南】
一.本章是全书的基础,所以要透切理解本章所介绍的基本概念,例如计算机系统层次结构,系统结构定义,计算机组成定义,计算机实现定义,系统结构、组成与实现的三者关系,透明性,Amdahl定律,CPU性能公式,局部性原理,MIPS定义,MFLOPS定义等等。
1.计算机系统由硬件和软件组成,按功能划分为多级层次结构。
2.计算机系统结构作为一门学科,主要是研究软件,硬件功能分配和对软件、硬件界面的确定,即哪些功能由软件完成,哪些功能由硬件完成。
计算机系统结构,计算机组成和计算机实现是三个不同的概念。
计算机系统结构是计算机系统的软硬件的界面;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。
3.计算机系统结构的分类
(1)通常把计算机系统按照其性能和价格的综合指标分为巨型、大型、中型、小型、微型等。
(2)按用途可分为科学计算、事务处理、实时控制、家用等。
(3)按处理机个数和种类,可分为单处理机、多处理机、并行处理机、关联处理机、超标量处理机、超流水线处理机、SMP(对称多处理机)、MPP(大规模并行处理机)、机群系统等。
(4)Flynn分类法。
按照指令流和数据流的不同组织方式,将计算机系统结构分为以下四类:
♦单指令流单数据流SISD(SingleInstructionstreamSingleDatastream)
♦单指令流多数据流SIMD(SingleInstructionstreamMultipleDatastream)
♦多指令流单数据流MISD(MultipleInstructionstreamSingleDatastream)
♦多指令流多数据流MIMD(MultipleInstructionstreamMultipleDatastream)
(5)冯式分类法。
提出用最大并行度对计算机系统结构进行分类。
分为:
?
字串位串WSBS(WordSerialandBitSerial)
?
字并位串WPBS(WordParallelandBitSerial)
?
字串位并WSBP(WordSerialandBitParallel)
?
字并位并WPBP(WordParallelandBitParallel)
4.计算机系统设计的定量原理
(1)加快经常性事件的速度(Makethecommoncasefast)。
(2)Amdahl定律:
系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。
Fe表示(改进前可改进部分占用的时间)/(改进前整个任务的执行时间),Se表示(改进前改进部分的执行时间)/(改进后改进部分的执行时间),则:
♦改进后的整个任务的执行时间为:
其中
为改进前的整个任务的执行时间。
♦改进后的整个系统加速比为:
(3)CPU性能公式。
CPU时间=CPU时钟周期数/频率;
CPU时间=CPU时钟周期数*时钟周期长;
平均时钟周期数CPI=CPU时钟周期数/IC(指令的条数);
CPU时间=(IC*CPI)/频率f;
(4)访问的局部性原理。
时间局部性、空间局部性。
5系统结构的评价标准
(1)性能
?
MIPS(MillionInstructionsPerSecond)
MIPS=
=
♦MFLOPS(MillionFloatingpointOperationsPerSecond)
MFLOPS=
♦用基准测试程序来测试评价机器的性能。
♦综合基准测试程序。
(2)性能比较
♦总执行时间。
♦加权执行时间。
(3)成本
♦成本指标。
♦硬件考虑。
6.冯?
诺依曼计算机的特征可概括为:
(1)存储器是字长固定的、顺序线形编址的一维结构。
(2)存储器提供可按地址访问的一级地址空间,每个地址是唯一定义的。
(3)由指令形式的低级机器语言驱动。
(4)指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。
(5)机器以运算器为中心,输入输出设备与存储器之间的数据传送都途经运算器。
运算器、存储器、输入输出设备的操作以及它们之间的联系都由控制器集中控制。
二.通过做例题和习题,会做下列类型的计算题:
(1).有效(平均)CPI计算
[题]假设在一台40MHZ处理机上运行200,000条指令的目标代码,程序主要由四种指令组成。
根据程序跟踪实验结果,已知指令混合比和每种指令所需的指令数如下。
计算在单处理机上用跟踪数据运行程序的平均CPI,并根据所得的CPI,计算相应的MIPS速率。
指令类型CPI指令混合比
算术和逻辑160%
高速缓存命中的加载/存储218%
转移412%
高速存储缺失的存储器访问810%
[解]
CPI=1*60%+2*18%+4*12%+8*10%=2.24
MIPS=f/(CPI*106)=(40*106)/(2.24*106)=17.86
(2)Amdahl定律应用
[题]假定我们利用增加向量处理模块来提高计算机的运算速度。
计算机处理向量的速度比其通常的运算要快20倍。
我们将可用向量处理部分所花费的时间占总时间的百分比称为可向量化百分比。
1)求出加速比S和可向量化百分比F之间的关系式。
2)当要得到加速比为2时的可向量化百分比F为多少?
[解]
1)
2)
由上式,将S=2代入得:
F=10/19=0.53
第二章指令系统
【学习指南】
一.首先透切理解以下基本概念:
数据结构、数据表示、寻址技术、RISC指令系统、CISC指令系统
1.指令系统(InstructionSetArchitecture,ISA)是计算机系统中软件与硬件的接口;主要研究数据表示、寻址方式等内容。
2.数据表示
?
基本的数据表示方法,包括定点数、逻辑数、浮点数、字符、字符串、堆栈等,以及一些新的数据表示方法和在数据表示方面的新的研究成果,如自定义数据表示、带标志符的数据表示法、数据描述符表示法及浮点数表示方面的研究成果等;
?
数据表示的原则:
♦缩短程序的运行时间
♦减少CPU与主存储器之间的通信量
♦数据表示的通用性和利用率
?
计算机内浮点数的表数范围、表数精度和表数效率,浮点数尾数基值的选择
?
浮点数的性质和设计方法
?
运用浮点数进行四则运算
3.寻址方式
(1)寻址技术研究的主要内容包括编址方式、寻址方式和定位方式等,研究的对象主要有寄存器、主存储器、堆栈和输入输出设备等,其中以面向主存储器的寻址技术为主要研究对象;
(2)编址方式是指对各种存储设备进行编码的方法,主要包括编址的单位、零地址空间的个数等;
(3)寻找操作数及数据存放单元的方法称为寻址方式。
在分析各种寻址技术优缺点的基础上,重点是能够在计算机系统中如何选择和确定采用哪种寻址技术;
(4)程序的定位是指把指令和数据的逻辑地址(相对地址)转换成主存储器的物理地址(绝对地址)。
定位方式可分为三种:
直接定位、静态定位和动态定位。
4.指令格式的优化设计
(1)指令格式优化设计的主要目标有两个,一是节省程序的存储空间,二是指令格式要尽量规整,以减少硬件译码的复杂程度。
指令格式优化后,不应该降低指令的执行速度。
(2)操作码的表示方法通常有三种:
固定长度操作码、Huffman编码法和扩展编码法。
要重点掌握Huffman编码法和扩展编码法;
(3)固定长操作码的主要优点:
规整,译码简单;主要缺点:
浪费信息量(操作码的总长位数增加)
(4)采用最优Huffman编码法操作码的最短平均长度可以通过如下公式计算:
其中:
Pi表示第i种操作码在程序中出现的概率
固定长操作码相对于Huffman操作码的信息冗余量为:
采用Huffman编码法操作码的最短平均长度可以通过如下公式计算:
Huffman操作码的主要缺点:
?
操作码长度很不规整,硬件译码困难
♦与地址码共同组成固定长的指令比较困难
(5)扩展编码法:
由固定长操作码与Huffman编码法相结合形成;
(6)缩短地址码长度的方法
目标:
用一个短的地址码表示一个大的逻辑地址空间
♦用间址寻址方式缩短地址码长度
在主存储器的低端开辟一个专门存放地址的区域,
♦用变址寻址方式缩短地址码长度
由于程序的局部性,变址寻址方式中的地址偏移量比较短,
♦用寄存器间接寻址方式缩短地址码长度,很有效的方法
5.指令系统的功能设计
(1)指令系统功能设计要求:
完整性、规整性、高效率和兼容性;
(2)基本指令系统包括数据传送类指令、运算类指令、程序控制类指令、输入输出指令、处理机控制和调试指令;
(3)指令系统的优化设计有两个截然相反的方向:
?
复杂指令系统计算机CISC(ComplexInstructionSetComputer)
1)增强指令功能,设置功能复杂的指令
2)面向目标代码、面向高级语言、面向操作系统
3)用一条指令代替一串指令
♦精简指令系统计算机RISC(ReducedInstructionSetComputer)
1)?
只保留功能简单的指令
2)?
功能较复杂的指令用子程序来实现
?
RISC与CISC各自的特点和相互比较
?
RISC的关键技术
♦延迟转移技术
♦指令取消技术
♦重叠寄存器窗口技术
♦以硬件为主固件为辅
二.通过做例题和习题,会做下列类型的计算题:
:
(1)浮点数表示
[题]在浮点数的尾数用原码、小数表示,阶码用移码、整数表示,尾数基值re=2,阶码基值re=2,阶码字长q=7,尾数字长p=55,尾数符号和阶码符号各一位,总字长为64位。
这种浮点数表示方式的各项主要性能如下:
解:
能表示的最大尾数值:
,即尾数数值部分的所有55个二进制位全部为都1;
绝对值最小的尾数值:
,尾数数值部分除最高一个二进制位为1之外,其余54个二进制位全部为0;
能表示的最大阶码:
,包括阶码符号位在内的所有8个二进制位全部为1;
能表示的最小阶码:
,包括阶码符号位在内的所有8个二进制位全部为0;
最大正数:
;
最小正数:
;
最大负数:
;
最小负数:
;
第三章存储系统
【学习指南】
一.首先透切理解以下基本概念:
:
存储系统的定义、存储系统的性能参数、地址映象与变换方法、虚拟存储器、Cache存储器、命中率、替换算法
(1)提高存储器性能的主要方法有层次存储器、并行存储器等。
(2)典型的并行存储器包括并行访问存储器、低位交叉存储器和高位交叉存储器。
低位交叉存储器的特点是地址相邻的信息存放在不同(相邻)的存储体中。
高位交叉存储器的特点是地址相邻的信息存放在同一存储体中。
(3)所谓存储系统是指两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来而成的系统。
这个系统对应用程序员透明,并且,从应用程序员看它是一个存储器,这个存储器的速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等或接近,单位容量的价格接近最便宜的那个存储器。
程序访问的局部性原理是层次存储系统构成的基础。
(4)存储器的主要性能参数:
(1)存取时间:
从CPU到第i层存储器的往返时间。
(2)存储器容量:
第i层的字节或字的数量。
(3)每字节成本:
(4)传输带宽:
相邻层之间传输信息的速率。
(5)传输单位:
相邻两层之间数据传输的粒度(如字、块、页等)。
(5)层次存储器性质
(1)包含性:
内层的信息必然包含于其外层。
所有的信息最初放在最外层。
在处理过程中,其子集被一步步复制到内层。
(2)一致性:
同一个信息项在后继存储器层次上的副本是一致的。
如果在缓存中的一个字被修改过,那么在所有高层上该字的副本也必须立即或最后加以修改。
维护一致性的两种策略:
写直达和写回。
前者指如果在内层中修改了一个字,在外层中必须立即加以修改。
而后者的处理方法是:
在外层中的修改延迟到内层中被修改的字被替换时才进行。
(3)局部性:
♦时间局部性:
最近的访问项很可能在不久的将来再次被访问。
♦空间局部性:
一个进程所访问的各项其地址彼此很近。
♦顺序局部性:
在典型程序中,除转移指令产生不按次序的转移外,指令都是顺序进行的。
(6)层次存储系统的设计的目的是使有效存取时间接近于最内层存储器的存取时间,使总体的平均每字成本接近于最外层存储器的每字成本,容量接近于最大存储器的容量。
本章主要论述两个二级层次存储系统cache和虚拟存储器。
要解决的问题主要有:
(1)块/页的定位问题。
(2)替换问题。
(3)一致性问题。
(写无效和写更新)
(7)虚拟存储器由主存储器和联机工作的外部存储器共同组成。
虚拟存储器有段式、页式、段页式等地址映像与变换方法。
加快内部地址变换的技术主要有目录表、快慢表、散列函数等。
页面替换算法主要有RAND、FIFO、LRU、LFU和OPT等算法。
(8)Cache的地址映像与变换方法有全相联、直接相联、组相联和段相联几种。
Cache的替换算法有轮转法、FIFO、LRU、LFU、比较对法和堆栈法。
Cache的实现全部是由硬件完成的。
(9)影响主存命中率的主要因素有:
(1)程序在执行过程中的页地址流分布情况
(2)所采用的页面替换算法
(3)页面大小
(4)主存储器的容量
(5)所采用的页面调度方法。
(10)Cache的命中率主要与如下几个因素有关:
(1)程序在执行过程中的地址流分布情况
(2)当发生Cache块失效时,所采用的替换算法
(3)Cache的容量
(4)在组相联映象方式中,块的大小和分组的数目
(11)解决Cache与主存的不一致性问题,首先要选择合适的Cache更新算法。
一般有两种Cache更新算法,写直达法和写回法。
二.通过做例题和习题,会做下列类型的计算题:
(1).层次存储系统命中率、价格计算
[题]在一个Cache存储系统中,主存储器的访问周期、存储容量和单位价格分别为60ns、64MB和10元/MB,Cache的访问周期、存储容量和单位价格分别为10ns、512KB和100元/MB,Cache的命中率为0.98。
(1)计算这个Cache存储系统的等效访问周期、存储容量和单位价格。
(2)计算这个Cache存储系统的访问效率。
解:
(1)这个Cache存储系统的等效访问周期:
T=TcH+Tm(1-H)
=10ns×0.98+60ns×(1-0.98)
=11ns
等效存储容量:
S=64MB
等效单位价格:
C=(CcSc+CmSm)/(Sc+Sm)
=(100×0.5+10×64)/(0.5+64)
=10.7(元/MB)
(2)这个Cache存储系统的访问效率:
e=Tc/T
=10/11
=0.91
(2)三种映射框图
[题]假定计算机的主存储器按64块组织,块大小为8个字。
高速缓存有8个块框。
试画出采用以下映射方法从主存储器到高速缓存的映射关系。
尽可能清楚地画出所有的映射线。
(1)直接映射。
(2)全想联映射。
[解]
(1)直接映射方式
(2)全联想映射方式
第四章输入输出系统
【学习指南】
一.透切理解以下基本概念:
DMA原理、通道处理机原理、中断原理数组多路通道、选择通道、字节多路通道、外部设备、I/O性能评价
1.输入输出系统
(1)在计算机系统中,通常把处理机和主存储器之外的部分称为输入输出系统,它包括输入输出设备、输入输出接口和输入输出软件等。
(2)输入输出系统的特点是异步性、实时性和设备无关性。
(3)基本的输入输出方式有三种:
程序控制输入输出方式、直接存储器访问方式(DMA)和中断输入输出方式。
(4)程序控制输入输出方式完全受CPU控制,数据的输入输出都要经过CPU,用于连接低速外围设备。
(5)直接存储器访问方式(DMA)主要用于连接高速外围设备,它使得存储器既可被CPU访问,也可被外围设备访问。
目前使用的DMA方式主要有三种:
周期窃取方式、直接存取方式和数据块传送方式。
(6)中断输入输出方式使得CPU与外围设备可以并行工作,并可以处理例外事件。
中断方式常用于连接低速外围设备。
2.中断系统
(1)中断系统通常由硬件和软件同时实现。
软硬件的功能分配决定了中断响应时间。
(2)中断响应时间是指从一个中断源向处理机发出中断服务请求开始,到处理机实际开始执行这个中断源的中断服务程序时为止的时间。
它由以下四个因素决定:
最长指令执行时间、在一条指令执行完成后处理其他更紧急的任务所用时间、从第一次关中断到第一次开中断所需的时间、找到中断服务程序入口所需的时间。
(3)中断源的识别有几种方法。
最简单的一种方法是查询法,灵活性好,但速度慢。
串行排队链法和中断向量法用软硬件相结合的方法来实现中断排队,速度快,但灵活性和可靠性差。
独立请求法克服了串行排队链法可靠性差的缺点,但灵活性差的缺点依然存在。
(4)根据中断的紧迫性、设备的工作速度、数据恢复的难易程度和要求处理机提供的服务质量等,把中断源分为优先程度不同的几个级别,称为中断源的优先级。
处理机在执行某一个中断源的中断服务程序时,只能响应比它优先级高的中断请求,不能响应与它同级或低级的中断请求。
(5)为提高中断系统的灵活性,可以动态地改变中断源的优先级,这就需要设置中断屏蔽。
设置中断屏蔽还可以决定设备是否采用中断方式工作,或在多处理机系统中把中断请求分配到不同的处理机中。
(6)中断屏蔽的实现方法主要有两种:
一是为每个或每级中断源都设置一个中断屏蔽位,二是改变处理机的优先级。
3.通道处理机
(1)在大型计算机系统中,为把对外围设备的管理工作从CPU中分离出来,普遍采用通道处理机技术。
采用通道方式组织的输入输出系统,多采用主机——通道——设备控制器——IO设备四级连接方式。
通道通过执行通道程序实现对IO系统的统一管理和控制。
在CPU启动通道后,通道自动地去内存取出通道指令并执行指令。
直到数据交换过程结束向CPU发出中断请求,CPU才进行通道结束处理工作。
(2)通道可分为三类:
字节多路通道、选择通道和数组多路通道。
字节多路通道常用于连接低或中速的设备,选择通道和数据多路通道用于连接高速设备。
(3)对于以上的三种通道,当每个通道上连接有P台外围设备,每台设备都传送n个字节时,总共所需的时间分别为:
TBYTE=(TS+TD)?
P?
n
TSELECT=(TS/n+TD)?
P?
n
TBLOCK=(TS/n+TD)?
P?
n
其中TS指设备选择时间,TD指传送一个字节所需的时间。
(4)通道的流量是指一个通道在数据传送期间内,单位时间内能够传送的最大数据量。
一个通道在满负荷工作下的流量称为通道最大流量。
三种通道的最大流量计算公式如下:
fMAX?
BYTE=(P?
n)/[(TS+TD)?
P?
n]=1/(TS+TD)
fMAX?
SELETE=(P?
n)/[(TS/n+TD)?
P?
n]=1/(TS/n+TD)
fMAX?
BLOCK=(P?
n)/[(TS/k+TD)?
P?
n]=1/(TS/k+TD)
(5)字节多路通道的实际流量是指连接在这个通道上的所有设备的数据传输率之和。
而选择通道和数据多路通道的实际流量是指连接在这个通道上的所有设备数据传输率的最大值。
4.输入输出处理机
在大型、巨型计算机系统中,常采用输入输出处理机来分担中央处理机的输入输出任务。
输入输出处理机是一台独立的处理机,具有一定的运算功能,它具有自己的存储器,不必通过主存储器就能完成与外围设备的数据交换,大大提高了系统性能。
二.通过做例题和习题,会做下列类型的计算题:
(1)字节多路通道实际工作流量、通道最大流量和工作周期设计
(2)中断响应和中断处理时间的计算
[题]一个字节多路通道连接D1、D2、D3、D4、D5共5台,这些设备分别每10ms、30ms、30ms、50ms和75ms向通道发出一次数据传送的服务请求。
a)计算这个字节多路通道的实际流量和工作周期。
b)如果设计字节多路通道的最大流量正好等于实际流量,并假定对数据传输率高的设备,通道响应它的数据传送请求的优先级也高。
5台设备在0时刻同时向通道发出第一次传送数据的请求,并在以后的时间里按照各自的数据传输率连续工作。
画出通道分时为各台设备服务的时间关系图,并计算这个字节多路通道处理完各台设备的第一次数据传送请求的时刻。
c)从时间关系图上发现什么问题?
如何解决这个问题?
[解]
a)这个字节多路通道的实际流量为
fBYTE=(1/10+1/30+1/30+1/50+1/75)=0.2(MB/s)。
通道的工作周期为t=1/f=5ms/B,包括通道选择设备的时间Ts和为设备传送一个字节所用的时间Td。
b)5台设备向通道请求传送数据和通道为它们服务的时间关系如图所示。
向上的箭头表示设备的数据传送请求,有阴影的长方形表示通道响应设备的请求并为设备服务所用的时间间隔,包括通道选择设备的时间和为设备传送一个字节所用的时间,这两部分时间之和为5ms。
在图中,5台设备在0时刻同时向通道发出第一次传送数据的请求,通道处理各个设备第一次请求时间如下:
处理完设备D1的第一次请求的时刻为5ms;
处理完设备D2的第一次请求的时刻为10ms;
处理完设备D3的第一次请求的时刻为20ms;
处理完设备D4的第一次请求的时刻为30ms;
设备D5的第一次请求没有得到响应,直到第85ms通道才开始响应设备D5的服务请求,这时,设备已经发出了两个传送数据的服务请求,因此,第一次传送的数据有可能要丢失。
通道分时为D1~D5各台设备服务的时间关系图
c)当字节多路通道最大流量与连接的设备数据流量之和非常接近时,如果传输速度高的设备频繁发出服务请求,并且优先得到响应,那么某些低速设备可能在很长的一段时间内得不到响应。
可采取以下几种方法:
1)增加通道的最大流量。
2)动态改变设备的优先级,如在30~70ms之间临时提高设备D5的优先级。
3)增加一定数量的数据缓冲器,特别是对优先级比较低的设备。
第五章标量处理机与流水线
【学习指南】
一.首先透切理解以下基本概念:
数据相关、控制相关、资源冲突、静态流水线、动态流水线、流水线吞吐率、流水线效率、流水线加速比、多发射、超标量流水线、超流水线、超标量超流水线
1.流水线的原理、特点及其分类。
流水线方式是把一个重复的过程分解为若干个子过程,每个子过程可以和其他的子过程同时进行,即所谓的时间并行性。
流水线的工作可以用时空图来描述。
流水线有以下的特征:
为了提高流水线的效率,应该尽可能的为流水线提供连续的任务;流水线由很多相联的功能段组成,为了平衡功能段之间的速度差,功能段之间需要设置缓冲寄存器;流水线中每个功能段的时间应该尽量相等,以免形成“瓶颈”,否则应该对功能段再划分或者采用多个功能部件;流水线需要装入和排空时间,只有在流水线完全充满时,它才能充分发挥效率。
根据不同的角度,流水线可以被划分成以下的类别:
线性流水线,非线性流水线;指令流水线,运算操作流水线,宏流水线;单功能流水线,多功能流水线;静态流水线,动态流水线等。
2.
流水线的性能分析。
衡量流水线性能的主要指标有吞吐率,加速比,效率。
流水线的吞吐率TP定义为单位时间内流水线所完成的任务数量或者输出的结果数量,基本公式如下:
n为任务数,Tk是完成n个任务所用的时间。
流水线的加速比S指完成一批任务,不使用流水线