1、计算机组成原理第一章 计算机系统概论(清楚一个概念)计算机的性能指标:吞吐量:表征一台计算机在某个时间间隔内能够处理的信息量。响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量。 利用率:在给定的时间间隔内系统被实际使用的时间所占的比率,用百分比表示。 处理机字长:指处理机运算器中一次能够完成二进制数运算的位数。总线宽度:一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数。存储器容量:存储器中所有存储单元的总数目,通常KB,MB,GB,TB来表示。存储器带宽:单位时间内存储器读出的二进制数信息量,一般用字节数/秒表示。主频/时钟周期:CPU的工作节拍受主时钟控制,
2、主时钟不断产生固定频率的时钟,主时钟 的频率叫CPU的主频。度量单位MHZ (兆赫兹)、GHZ (吉赫兹)主频的倒数称为CPU时钟周期(T),T=l/f,度量单位us, nsCPU执行时间:表示CPU执行一般程序所占的CPU时间,公式:CPU执行时间二CPU时钟周期数xCPU时钟周期CPI:表示每条指令周期数,即执行一条指令所需的平均时钟周期数。公式:CPI=执行某段程序所需的CPU时钟周期数/程序包含的指令条数MIPS:表示平均每秒执行多少百万条定点指令数,公式:MIPS=指令数/(程序执行时间xlOA6)第二章运算方法和运算器原码定义:(1)整数 (范围(25.1) 25.1)卮_ f x
3、272 x 0班一 2 + |%|0x-2n(2)小数(范围-(2八.廿11.2八十)%原=反码定义:(3)整数(范围(-(2An-l)友=x(2n+1- l) + x2n x 0 0 x - 2nXU AIR-RRr,r:R:R: -winH*no、K addR1E心.杯泮小阍奴七 g控制的址个i 1电路它1两米总间的源2有器R的锦J, 制信月例中y,y砒器的输3W R面“I顷令州一竺,DHUSi 濯wR,HINQ -PBI )RR.解“ADD R2. RO”指令是一条加法指令,参与运方的两个哉故代奇“普 Ro中,指令周期流程图包括取指令阶段和执行指令阶段两部分(为简单起见.宵 号左边各修存
4、器代码上应加的括号)。根据给定的数据通路图,“ADD R2R(片;| 细指9周期流程留如图5.17(a)所4 IM|. IMoffJ状态是什么?如果CPU 房行设备D的中断服务程序,】M:, IMj、1M“的状态又是什么?(3)每一级的1M能否对某个优先级的个别设备单独进行诉蔽?如果不能,采取什么办法可达到H的?的E1 (中解 在中断情况卜,CPU的优先级最低。务设备的优先次序是:A-B-C-D-E;中断请求。的|(4)假如设备C 一提出中断请求,CPU立即进行响应,如何调整才能满足此要求?寸臬个优先级的个别设备进行5T1M2IM|1Mo=111:执行设备D的中断服务推序时,每一 级的【m标志
5、n能断允许)标志清“0,它集级卜.伸第3级的优先级最高,即令lMa=0即可。级卜.伸第3级的优先级最高,即令lMa=0即可。(3) 要使设备C的中断请求及时得到响应.可将设备C从第2级取出来,单独放在第3 在中断过程中CPU的优先级最低,标志为0,则禁止设备发出中断请求。 中断方式典型应用:1)实现CPU与外界进行信息交换的握手联络2)故障处理3)实时处理4)程序调度5)软中断(程序自动中断)在中断处理中,CPU和外围设备的一些操作是并行地进行的,因此效率会更高。 每一个中断源都对应一个中断服务程序,而中断服务程序的入口地址被称为中断向量。(4)小数(范围(2A-n-l l-2A-n)%反=%
6、反=x2 _2_n_x补码定义:(5)整数(范围(-(25%祥=x(2n+1 - x |2n % 0 0x-2n(6)小数%补=(范围(ll2A-n)x1 x 02 + x0 jr 1移码表示法(用于大小比较与对阶操作)IEEE754标准格式:符号位(1位)+阶码(移码)+尾数x (-1)sx(1.M)%2127e = E 127正溢:两个正数相加,结果大于机器字长所能表示的最大正数负溢:两个负数相加,结果小于机器字长所能表示的最小负数检测方法:1、双符号位法2、单符号位法不带符号阵列乘法器:同行间并行 不同行间串行浮点加减运算操作过程大体分四步:1、。操作数检查2、比较阶码大小完成对阶3、尾
7、数进行加减运算4、结果规格化所进行舍入处理流水线原理:时间并行性线性流水线的加速比:Ck=TL/TK =nk/k+ (n-1)第三章存储系统程序局部性原理:在某一段时间内频繁访问某一局部的存储器地址空间,而对此范围以外的 地址空间则很少访问的现象。程序局部性的两方面?(1)时间局部性:最近被访问的信息和可能还要被访问(2)空间局部性:最近被访问的信息邻近地址的信息也可能被访问。存储器分层:利用不同容量,成本,功耗和速度的多种存储器构成有机结合的多级存储系统 存储器层次结构的优点?存储器的价格相对较高,而且在整机成本中占有较大的比例,因而从性能价格比的角度不能 通过简单配置更大容量的存储器满足用
8、户的需求。为此,必须使用某种策略解决成本和性能 之间的矛盾。常规内存器在CPU之间增加了速度更高但容量更小的半导体高速缓存器,即cache, cache 使得CPU与主存速度匹配起来。外存储器主要解决存储容量问题。多级存储器系统的出发点是提高存储系统的性能/价格比任何一个SRAM,都有三部分打交道,地址线,数据线,控制线,求存储器容量当单个存储器芯片的容量不能满足系统要求时,需要多存储器芯片组成起来,组成更大容量 的存储器,所需芯片数为:d=设计要求的存储器容量/已知芯片存储器容量 位拓展:让多片给定芯片并行工作。字拓展:让多片给定芯片分时工作。例题3.1 例题3.21. 位扩枝-r若给定芟也
9、敏字数(地指数)符伊玳 但位数较短不满足设计要求的存储器土 则需要竺通国五芝蜒互枝曲或作。三组信号线中,理去歧野妙萍用/ 据线不=2帙痛将怎I彳【例31-利用顶顶如4予的SRA,芯片设计一个存储容/为空又8位的SRAMS 储器。 u j解设计的存储器字长为8位,存储器字数不变。所需芯片数花片甘癸 (1Mx8)/(1Mx4)=2(片)连接的三组信号线中,燧冬至理通据线会是出分别与两;SRAM芯片的I/O端相连接审赢三肴希面7?所示。2. 字扩展若给定的芯片丝蔡较小暨数少),不满足设计要求的总存储容量,则需要进行 扩展,些幽定巨趣遂M组色娶迎第定硬阳地址台线担数据 成公用凭 写整岁壁线会&由地址总
10、线的蒿而I备客墓痴言葺厂让各个芯片分时工作。【例3.2】 利用多K受位的SRAM芯片设计也显以位的存储器。7 SR M ;-5 I,鲂所需芯片数#(2O48K*8)/(256K,8)=8(片) 久/X/如留3.8所示.8个芯片的散据总线和诙号控刮信耳线公航 地址忌线中Ai广A可时 if接到8片SRAM的片内地址输入端.地址总线岛位的Ar-AiE过,八线详码器芯片分/ 别产生g个片选信弓,这.K项/少3心码MRf Q256K8DDD-卜Do .F七会同时I:作WFA(CE) WEA CE256K-Kwfa ce256K-82S6K-8DD仁U SRAM宁扩喉咬例CPU与主存速度匹配解决方法:1、
11、芯片技术2、结构技术(让CPU在一个周期中访问多个 存储器)3、系统结构技术(增加多个cache,采用虚拟存储器) 双端口存储器指同一个存储器具有两组相互独立的读写控制电路。多模块交叉存储器:一个由若干模块组成的主存储器是线性编址的。地址安排? 1、顺序方式:模块+字2、交叉方式:字+模块 顺序方式和交叉方式的优缺?顺序方式通过增添模块来扩充存储器容量,但是其各模块一个接一个串行工作,因此存储器 的带宽受到了限制。对于连续字的成块传送,交叉方式的存储器可以实现多模块流水式并行存取,大大提高存储 器的带宽。CPU与cache之间的数据交换是以字为单位,而cache与主存之间数据交换以块为单位,C
12、PU 与主存之间数据交换以字为单位。从CPU来看,增加cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的 读出时间。在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次 数,h定义为命中率。则有z Nch =Nc + Nm若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,lh表示未命中率,则cache/主存系统的平均访问时间ta为ta=htc+(l-h)tmr=tm/tc表示主存与cache的访问时间之比,e表示访问效率,e=tc/ta 例3.4 我们畛也甲标是以牧小的何沛代的存系统的平均访问时间,。越接近L越好。kj;
13、l j cache的i方问时间之比.球示访问效率.则有e = =j= I = I(3.6)J 加,+(1-人)上 h(-h)r r(-r)h由A(3.6)f(出.为提高也地关;顼好人既近M心,值以51()为11,不H &大。命中率力与程序的行为s cache的容量、组织方式、块的大小有关。【例3 4】CPU执行一段程序时,cache完成存取的次数为1900次,V.f ”成存取的 次故为100次.己to cache存取周期为50ns,主存存取周既为250ns,求cache/主存系统的11h = NTN250ns50ns1 = 0.951900 + 100效率和平均访问时间。= 83.3% 尸 +
14、 (1 r)力 5 + (1 - 5) x 0.95tc 50ns sC = = 60ns“ e 0.833主存与cache的地址映射方式有全相联方式,直接方式和组相联方式 全相联:块号+字地址(使用比较器)直接:区号(标记)+区内块号(eache行号)+字地址l=j mod m m为cache中的总行数组相联:区号+区内块+字地址m = u x v (u组,每组v行)组号 q=j mod u例题 3.5 3.6 3.7【例3 5】映射方式的内存地址格式如下所,穴:字地hl W?; I:。地址用I六进制&小为谄用,六道制格式衣示仃抵映咐方法cache 的标记、行、字地址的伉解 (BBBBBB)
15、 16*(1011 1011 1011 1011 1011 )011);机记.(1011 i(i|):=(hH)心行 F0II 1011 1011 10)广(2EEE)”字地址护(II)广心【例3 6】 个组例W cache由64个打用成.拇组4行.I:存储器包含4K个块,” 块I字.谄&示内存地址的格式.*块大小=汀大小=亍字.2=128=2 -所以w=7 招组的行款=4所以d=4川 5? - 二 := 167 Z】:存的决敢=2=4K=2:X2=2”,所以 5=12标记大小=s d= 12-4=8 (位)地址 K 度=Mw= 12+7= 19(位)主存寻址单兀存=2八=2代故i,= 4路组
16、相联的内存地址格式如卜所示:【例3 7】 有一个处理器,主存容tt 1MB.字长1B.块大小16B, cache容64KB 若cache果用全相联映射,时内存地址(B00I0) ,6出相应的标记和字地址。雄 块大小=行大小=2字节=2*字&,所以m-4位 主存寸址单元数=2f=IM=22,所以sf=20,尸16位 主存的块数=2=2“ .由于内存地址(B00I0) |6=(IOil)00).故对应的标记 s=(1011 00000000 0001)2 字地址=(0000).第四章指令系统机器指令是用机器字来表示的。表示一条指令的机器字,就称为指令字指令格式,是指指令字用二进制代码表示的结构形式
17、,通常由操作码字段和地址码字段组成。 操作码字段表征指令的操作特性与功能(机器字长),而地址码字段通常指定参与操作的操 作数的地址(存储器容量)。在二地址指令中,从操作数的物理位置来说,分为存储器存储器型指令(SS),寄存器寄存 器指令(RR),寄存器存储器指令(RS)例题4.2例题4.3【例4 2】某16位机的指令格式如F所示其中?为牌仆扑|源寄存器 怵寄,器源寄存器 怵寄,器昭(I)单字长二地址指令.(2)操作码字段0P可以指定2勺28条指令.(3)源寄存器和目怀寄存器都是通用寄存器(可分别指定16个),所以是RR 5 个操作数均在寄存器中。(4)这种指令结构常用于算术逻掘运算类指令。【例
18、4.3】某16位机的指令格式如下所示,其中OP为操作码,试分析指令格门左点-*基本寻址方式:1 .隐含寻址2.立即寻址3.直接寻址4.间接寻址5.寄存器寻址6.寄存器间接寻址7.偏移寻址8.相对寻址9.基址寻址10.变址寻址11.段寻址例题4.5例4 5】,种二地址RS型指令的结构如卜所示:位位1位 2位括位II.甲4illII.甲4illI_通用寄笋I_【 X |*| I) I(2)相对4址(4)寄存器间接J址(2)相对4址(4)寄存器间接J址其中.1为间接寻址标忐位,A为J.址模式字段3为偏移时字段。通过I、X、D的组合. 可构成麦4.11所示的寻址方式。堵写出6种寻址方式的名称。寻址方式
19、tXft明(1)000E=D工001E-(PC)DPC为程邙H散器010ETR?) 土D址奇*拶(4)111E(RJ(5)100E-(D)(6)0IIETRi) 土 DR,为V址奇4器a 4.11例4 5的寻址方式解(1)直接寻址 E柞hl,Ahl第五章中央处理器CPU基本功能1、指令控制2、操作控制3、时间控制4、数据加工运算器和控制器是组成CPU的两大核心部件。CPU的基本组成:控制器:由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成。运算器:由算术逻辑运算单元(ALU)、通用寄存器,数据缓冲寄存器(DR)和程序状态字 寄存器(状态条件寄存器,PSWR)组成,它是数据加工处
20、理部件。寄存器:数据缓冲寄存器(DR)用来暂时存放ALU的运算结果。指令寄存器(IR)用来保存当前正在执行的一条指令。程序计数器(PC)确定下一条指令的地址。数据地址寄存器(AR)用来保存当前CPU所访问的数据寄存器单元的地址。通用寄存器:当算术逻辑单元(ALU)执行算术或者逻辑运算时,为ALU提供一个工作区。 程序状态寄存器(PSWR)保存由算术运算和逻辑运算指令运算或测试结果建立的各种条件 代码。指令周期是取出一条指令并执行这条指令的时间。指令周期常常用若干个CPU周期数来表示,CPU周期又称为机器周期。一个CPU周期的判断:建立一个数据通路或者进行因此取指MOV指令为两个CPU周期,取指一个CPU周期,执行一个CPU周期。RS型指令LAD指令为三个CPU周期,取指一个CPU周期,执行两个CPU周期,RR型指令,因为其建 立了 2次数据通路。ADD指令为两个CPU周期。RR型指令。STO指令为三个CPU周期,RS型指令。JMP指令为两个CPU周期。【注】任何时候DBUS只能有一个数据。例题5.1和图5.16._八,7 KI F。I搭例;2灌/所示为双总线结甄器的数据通路,|R为指令寄存器,pc为程序 鬻度自增加M为主存(受W信号控制),它既存放指令又存放散据,J 龊寄存器.DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操值控