组成原理考研复习课件2011_第1页
组成原理考研复习课件2011_第2页
组成原理考研复习课件2011_第3页
组成原理考研复习课件2011_第4页
组成原理考研复习课件2011_第5页
已阅读5页,还剩151页未读 继续免费阅读

下载本文档

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

文档简介

一计算机系统概论12/14/20221一计算机系统概论12/12/20221计算机硬件的基本组成

组成计算机的基本部件有中央处理器CPU(运算器和控制器)、存储器和输入、输出设备。12/14/20222计算机硬件的基本组成

组成计算机的基本部件有中央处计算机的工作过程是本章的重点。人们需将事先编好的程序(指令序列)送至计算机的存储器内,然后计算机按此指令序列逐条完成全部指令的功能,直至程序结束。因此,要了解计算机的工作过程,必须首先了解计算机完成一条指令的信息流程。1.完成一条指令的信息流程以取数指令(即将指令地址码指示的存储单元中的操作数取出后送至运算器的Acc中)为例,其信息流程是:取指令PC->MAR->M->MDR->IR分析指令oP(IR)->cu执行指令Ad(IR)->MAR->M->MDR->ACC此外,每完成一条指令,还必须为取下条指令作准备,形成下一条指令的地址2计算机的工作过程计算机的工作过程实质就是不断从存储器中逐条取出指令,送至控制器,经分析后由cu发出各种操作命令.指挥各部件完成各种操作,直至程序中全部指令执行结束。计算机的工作过程12/14/20223计算机的工作过程是本章的重点。人们需将事先编好的程序(指令

计算机性能指标CPU时钟周期:主频:为了使8086CPU的各种操作协调同步进行,8086CPU必须在时钟信号CLK控制下工作,时钟信号是一个周期性的脉冲信号,一个时钟脉冲的时间长度称为一个时钟周期(ClockCycle),是时钟频率(主频)的倒数,时钟周期是计算机系统中的时间基准,是计算机的一个重要性能指标,也是时序分析的刻度,8086的主频为5MHz,时钟周期为200ns,8086-1的主频为10MHz,时钟周期为100ns。

12/14/20224 计算机性能指标12/12/20224CPI:执行一条指令所需的时钟周期(主频的倒数)数MIPS:每秒执行百万条指令。如某机每秒能执行200万条指令,则记作2MIPSMFLOPS:每秒浮点运算次数12/14/20225CPI:执行一条指令所需的时钟周期(主频的倒数)数12/12例1、设主存储器容量为64Kx32位,并且指令字长、存储字长、机器字长三者相等,写出各寄存器的位数。解:由主存容量为64Kx32位得2

16=64K,故MAR为16位,MDR为32位。因指令字长=存储字长=机器字长,则IR、Acc、均为32位。例2指令和数据都存于存储器中,计算机如何区分它们,解:通常完成一条指令可分为取指阶段和执行阶段。在取指阶段通过访问存储器可将指令取出;在执行阶段通过访问存储器可将操作数取出。这样,虽然指令和数据都是以0、1代码形式存在存储器中,但CPU可以判断出在取指阶段访问存储器取出的0、1代码是指令;在执行阶段访存取出的0、1代码是数据。例如,完成ADDM指令需两次访存:第一次访存是取指阶段,CPU根据Pc给出的地址取出指令;第二次访存是执行阶段,CPu根据存于IR的指令中M给出的地址取出操作数。可见,cPu就是根据取指阶段和执行阶段的访存性质不同来区分指令和数据的。12/14/20226例1、设主存储器容量为64Kx32位,并且指令字长、二、数据的表示和运算常用的几种进位数制:(1)二进制B(2)八进制Q(3)十六进制H(4)十进制D计算机中常用的进制:二、八、十六数据的转换1.二(八、十六)进制转换成十进制数据2.二进制数与八进制、十六进制的关系3.十进制转换为二进制数据符号的表示数据的数值通常以正(+)、负(-)号后跟绝对值来表示,称为真值。正负号也要数字化,0-正号,1-负号,正号有时可省,这种表示数的形式称为机器数。例:(+9)10表示为:(01001)2(-9)10表示为:(11001)212/14/20227二、数据的表示和运算常用的几种进位数制:12/12/20表示一位十进制数的二进制码的每一位有确定的权。一般用8421码,其4个二进制码的权从高到低分别为8、4、2和1。故称这种编码为“以二进制编码的十进制(binarycodeddecimal,简称BCD)码”。12/14/20228表示一位十进制数的二进制码的每一位有确定的权。一般用8421校验码1.奇偶校验码:这种方案只能发现一位错或奇数个位错,但不能确定是哪一位错,也不能发现偶数个位错。2.海明校验码:能检测出二位同时出错、亦能检测出一位出错并能自动纠错。3.循环冗余校验(CRC)码:CRC码可以发现并纠正信息串行读写、存储或传送过程中连续出现的一位、多位错误注意:若校验位是r位。则生成多项式是r+1位12/14/20229校验码1.奇偶校验码:这种方案只能发现一位错或奇数个位错,定点数的表示和运算1.定点数的表示无符号数的表示;有符号数的表示。2.定点数的运算定点数的位移运算;原码定点数的加/减运算;补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。

12/14/202210定点数的表示和运算1.定点数的表示12/12/2022数值零的补码表示形式是唯一的.即:[+0]补=[-0]补=0.0000n位小数,补码表示数的范围补码真值12/14/202211数值零的补码表示形式是唯一的.n位小数,补码表示数的范围12000000000000000100000010…011111111000000010000001111111011111111011111111…128129-0-1-128-127-127-126二进制代码无符号数对应的真值原码对应的真值补码对应的真值反码对应的真值012127…253254255…-125-126-127…-3-2-1…-2-1-0…+0+1+2+127…+0+1+2+127…+0+1+2+127…+0设机器数字长为8位(其中1位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?12/14/202212000000000000000100000010…01111数的定点表示和浮点表示小数点按约定方式标出一、定点表示Sf

S1S2

Sn…数符数值部分小数点位置Sf

S1S2

Sn…数符数值部分小数点位置或定点机小数定点机整数定点机原码补码反码–(1–2-n)~+(1–2-n)–(2n

–1)~+(2n

–1)–1~+(1–2-n)–2n~+(2n

–1)–(1–2-n)~+(1–2-n)–(2n

1)~+(2n

–1)12/14/202213数的定点表示和浮点表示小数点按约定方式标出一、定点表示Sf减法运算如何实现?

减法可转换成加上减数的负数的补码来完成。即:[X-Y]补=X补+[-Y]补12/14/202214减法运算如何实现?12/12/202214浮点数的表示和运算

浮点数的表示

浮点数的表示范围;IEEE754标准浮点数的加/减运算(了解步骤)1.“对阶”--使两数阶码相等(对齐两数的小数点)2.尾数加/减3.结果规格化4.舍入5.检查阶码是否溢出12/14/202215浮点数的表示和运算

浮点数的表示

浮点数的表示范围;IEN=M*RE

规格化:当R=2,且尾数值不为0时,其绝对值应大于或等于(0.5)10。对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求尾数用补码表示的规格化形式:数符与尾数小数点后第1位数字相异12/14/202216N=M*RE

规格化:当R=2,且尾数值不为0时,其绝对值应例:设某浮点数共12位。其中阶码含1位阶符共4位,以2为底,补码表示;尾数含1位数符共8位,补码表示,规格化。则该浮点数所能表示的最大正数是?12/14/20221712/12/202217算术逻辑单元ALU

1.串行加法器和并行加法器

2.算术逻辑单元ALU的功能和机构12/14/202218算术逻辑单元ALU

1.串行加法器和并行加法器

2.(2)串行多位加法器

XnYnCn-1CnFnX1Y1 F1C0C1XnYnCn-1CnFnX2Y2 XnYnCn-1CnFnXnYnCn-1CnFnC2C3C4X3Y3 X4Y4 F2F3F4

n个全加器相连可得n位加法器,但加法时间较长,因为位间进位是串行传送的,本位全加和Fi必须等低位进位Ci-1来到后才能进行,加法时间与位数有关。只有改变进位逐传送的路径,才能提高加法器工作速度。解决办法之一:采用“超前进位产生电路”,来同时产生各位进位,从而实现快速加法,这种加法器称为“超前进位加法器”。12/14/202219(2)串行多位加法器XnYnX1Y1 GIVPIVGIIIPIIIGIIPIIGIPI74182CIIICIICIC0

7418174181741817418174181:实现算术逻辑运算及组内并行。74182:接收了组间的辅助函数后,产生组间的并行进位信号CIII、CII、CI,分别将其送到各小组的加法器上一个16位的ALU部件,要实现组内并行,组间并行运算。所需器件为:74181芯片四块,74182一块12/14/202220GIVPIVGIIIPIIIGIIPIIGIPI74182C三、存储器层次机构寄存器Cache主存储器辅助存储器12/14/202221三、存储器层次机构寄存器Cache主存储器辅助存储器12半导体随机存取存储器1.SRAM存储器的工作原理2.DRAM存储器的工作原理12/14/202222半导体随机存取存储器12/12/202222存储信息原理动态存储器DRAM(动态MOS型):依靠电容存储电荷的原理存储信息。功耗较小,容量大,速度较快,作主存。静态存储器SRAM(双极型、静态MOS型)

依靠双稳态电路内部交叉反馈的机制存储信息。功耗较大,速度快,作Cache。SRAM:利用双稳态触发器来保存信息,只要不断电,信息是不会丢失的,因为其不需要进行动态刷新,故称为“静态”存储器。DRAM:利用MOS电容存储电荷来保存信息,使用时需要给电容充电才能使信息保持,即要定期刷新。12/14/202223存储信息原理动态存储器DRAM(动态MOS型):依靠电容存储

CPU与主存之间采取异步工作方式,以ready信号表示一次访存操作的结束12/14/202224CPU与主存之间采取异步工作方式,以ready信号表示一次重要习题存储器容量扩展(1)位扩展概念:位扩展指的是用多个存储器器件对字长进行扩充(2)字扩展字扩展指的是增加存储器中字的数量。例:

4个16K8位静态芯片组成64K8位存储器。12/14/202225重要习题存储器容量扩展12/12/202225(3)字位扩展例:由Intel2114(1K4位)芯片组成容量为4K8位的主存储器的逻辑框图,说明地址总线和数据总线的位数,该存储器与8位字长的CPU的连接关系。解:此题所用芯片是同种芯片。(1)片数=存储器总容量(位)/芯片容量(位)=4K*8/(1K*4)=8(片)(2)CPU总线(由存储器容量决定)地址线位数=log2(字数)=log2(4K)=12(位)数据线位数=字长=8(位)12/14/202226(3)字位扩展12/12/202226(3)芯片总线(由芯片容量决定)地址线=log2(1K)=10(位)数据线=4(位)(4)分组(组内并行工作,Cs连在一起,组间串行工作,Cs分别连接译码器的输出)组内芯片数=存储器字长/芯片字长=8/4=2(片)组数=芯片总数/组内片数=8/2=4(组)(5)地址分配与片选逻辑12/14/202227(3)芯片总线(由芯片容量决定)12/12/20222712/14/20222812/12/202228定期向电容补充电荷刷新

DRAM采用“读出”方式进行再生。利用单元数据线上的读出放大器来实现。由于DRAM每列都有自己的读出放大器,只要依次改变行地址轮流进行读放再生即可。这种方式称行地址再生方式。

(1)集中刷新:在一个刷新周期(从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止)内,利用一段固定的时间,依次对存储器的所有行逐一再生,在此期间停止对存储器的读和写。12/14/202229定期向电容补充电荷刷新

DRAM采用“读出”方式进行再生。2ms(2)分步刷新例.(2)分布式刷新:把刷新操作分散到刷新周期(2ms)内用在大多数计算机中。每隔一段时间刷新一行。128行≈15.6微秒每隔15.6微秒提一次刷新请求,刷新一行;2毫秒内刷新完所有行。R/W刷新R/W刷新R/WR/WR/W15.6微秒15.6微秒15.6微秒刷新请求刷新请求(DMA请求)(DMA请求)12/14/2022302ms(2)分步刷新例.(2)分布式刷新:把刷新操作分散到刷高速缓冲存储器(Cache)Cache引入为解决CPU和主存之间的速度差距,提高整机的运算速度,在CPU和主存之间插入的由高速电子器件组成的容量不大,但速度很高的存储器作为缓冲区。解决了速度与成本之间的矛盾(速度接近cache,容量与每位价格接近于主存)。Cache特点存取速度快,容量小,存储控制和管理由硬件实现12/14/202231高速缓冲存储器(Cache)Cache引入12/12/20cache存储器工作原理—程序访问的局部性

这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象就称为程序访问的局部性。时间局部性:如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。(程序循环、堆栈)空间局部性:在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。(指令顺序执行、数组存放)12/14/202232cache存储器工作原理—程序访问的局部性12/12/202例:CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache-主存系统的效率和平均访问时间。解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95

ta=htc+(1-h)tm=0.95*50+0.05*(250+50)=62.5ns例:已知Cache存储周期为40ns,主存存储周期为200ns,Cache-主存系统平均访问时间为50ns,求Cache的命中率是多少?解:因为ta=h*tc+(1-h)(tm+tc)所以h=(tm+tc-ta)/tm=(200+40-50)/200=19/2012/14/202233例:CPU执行一段程序时,cache完成存取的次数为1900Cache地址4位9位主存地址7位4位9位11位9位主存地址7位Cache和主存之间的映射方式

(1)直接映像12/14/202234Cache地址4位9位主存地址例:设有一个cache的容量为2K字,每个块为16字。

(1)该cache可容纳多少个块?

(2)如果主存的容量是256K字,则有多少个块?

(3)主存的地址有多少位?cache地址有多少位?

(4)在直接映象方式下,主存中的第i块映象到cache中哪一个块中?

(5)进行地址映象时,存储器的地址分成哪几段?各段分别有多少位?解:(1)cache中有2048/16=128个块。(2)主存有256K/16=214=16384个块。(3)主存容量为256K=218字,所以主存的地址有18位。cache容量为2K=211字,所以cache字地址为11位。(4)主存中的第i块映象到cache中第imod128个块中。(5)存储器的字地址分成三段:区地址、组地址、块内字地址。区地址的长度为18-11=7位,组地址为7位,块内字地址为4位。12/14/202235例:设有一个cache的容量为2K字,每个块为16字。

(1(2)全相联映像:允许主存中的每一个字块映象到Cache的任何一个字块位置上。是最灵活但成本最高的一种方式(3)组相联映像

组内全相联,组间直接映像12/14/202236(2)全相联映像:允许主存中的每一个字块映象到Cache的任直接映象的地址变换方法12/14/202237直接映象的地址变换方法12/12/202237图7.3直接映像cache组织块内地址组地址区地址12/14/202238图7.3直接映像cache组织块内地址组地址区地址12/1全相联映象的地址变换方法12/14/202239全相联映象的地址变换方法12/12/202239字块2m-1字块2c-r+1

字块2c-r+

1字块2c-r字块2c-r

字块1字块0………字块3标记字块1标记字块2c-1标记字块2标记字块0标记字块2c-2标记…………字块内地址组地址主存字块标记s=t+r位q=

c-r位b位组012c-r-1主存地址Cache主存储器m位共Q组,每组内两块(r=1)1某一主存块

j按模Q映射到缓存的第i

组中的任一块i=j

mod

Q直接映射全相联映射3.组相联映射4.3

字块0

字块1

字块0

字块2c-r

字块2c-r+112/14/202240字块2m-1字块2c-r+1字块2c-r+1Cache中主存块的替换算法

1).先进先出(FIFO)算法2).近期最少使用(LRU)算法3).随机替换法12/14/202241Cache中主存块的替换算法1).先进先出(FIFO)算法Cache写策略

1).写回法(write--back)即标志交换方式只修改cache的内容不立即写入主存,只当此行被换出时才写回主存。写cache与写主存分开进行方式可显著减少写主存次数,但写回法存在cache/主存不一致性的隐患。2).写直达法(write--through)即通过式写cache与主存同时发生写修改。这种策略显然较好地维护了cache与主存的内容一致性;优点:cache每行无需设置一个修改位以及相应的判测逻辑;缺点:cache对CPU向主存的写操作无高速缓存功能,降低了cache的功效。12/14/202242Cache写策略1).写回法(write--back)双口RAM和多模块存储器

CPU和主存储器的速度不匹配问题一直以来都是计算机系统发展的障碍,到现在,这个问题变得越来越严重,以至于主存的存储速度成为了计算机系统的瓶颈。为了解决这一瓶颈,尝试了多种办法,除通过寻找高速元件来提高访问速度外,还可以通过采用双口RAM和多模块存储器,使在一个存取周期内可以并行地读写多个字,从而提高存储器的访问速度。

1.双口RAM

双口RAM是因同一个RAM具有两组相对独立的读写控制线路而得名,它可以进行并行的独立操作。可以说双口RAM是具有两个独立端口的存储器,而每个端口又具有各自的地址线、数据线和控制线,可以对存储器中任何位置上的数据进行独立的存取操作。2.多模块存储器多模块存储器是指由多个模块组成的存储器,不过这些模块具有相同的容量和存取速度,各模块都有独立的地址寄存器、数据寄存器、地址译码、驱动电路和读/写电路,它们既能并行工作,又能交叉工作。

12/14/202243双口RAM和多模块存储器CPU和主存储器的速度不匹配问题2.多体并行系统(1)高位交叉M0……M1……M2M3…………体内地址体号体号地址000000000001001111010000010001011111100000100001101111110000110001111111顺序编址12/14/2022442.多体并行系统(1)高位交叉M0……M1……M2M3M0……M1……M2M3…………

体号体内地址地址000000000001000010000011000100000101000110000111111100111101111110111111(2)低位交叉各个体轮流编址12/14/202245M0……M1……M2M3…………体号体内地址地址0000低位交叉的特点在不改变存取周期的前提下,增加存储器的带宽时间单体访存周期单体访存周期启动存储体0启动存储体1启动存储体2启动存储体312/14/202246低位交叉的特点在不改变存取周期的前提下,增加存储器的带宽时间

设四体低位交叉存储器,存取周期为T,总线传输周期为τ,为实现流水线方式存取,应满足T=4τ。连续读取4

个字所需的时间为T+(4

-1)τ12/14/202247设四体低位交叉存储器,存取周期为T,总线传输周期为τ,为实四、指令系统1.定长操作码:指令的操作码的位置、位数固定相同2.扩展操作码(变长)

各指令操作码的位置、位数不固定,根据需要变化(即操作码的长度可变,且分散得放在指令字的不同字段中)例题:某计算机的指令系统有80条指令。当采用固定编码方式时,其操作码的长度是多少?在80条指令中,有10条常用指令,使用概率是%90,另外70条的使用概率为%10,若采用变长编码,则操作码的平均长度是多少?

12/14/202248四、指令系统1.定长操作码:指令的操作码的位置、位数固例.(方法一)指令字长16位,可含有3、2、1或0个地址,每个地址占4位。(见教材P130~131)操作码地址码15~1211~87~43~00000X

YZ

1110XYZ............11110000Y

Z1111

1110Y

Z............三地址指令15条二地址指令15条1111

11110000Z111111111110Z............一地址指令15条1111

1111

1111000011111111

11111111............零地址指令16条可表示61条指令12/14/202249例.(方法一)指令字长16位,可含有3、2、1或0个地址,例.(方法二)指令字长16位,可含有3、2、1或0个地址,每个地址占4位。(见教材P130~131)操作码地址码15~1211~87~43~00000X

YZ

1110XYZ............11110000Y

Z1111

1101Y

Z............三地址指令15条二地址指令14条1111

11100000Z111111111110Z............一地址指令31条1111

1111

1111000011111111

11111111............零地址指令16条可表示76条指令12/14/202250例.(方法二)指令字长16位,可含有3、2、1或0个地址,寻址方式寻址方式分为指令寻址和数据寻址两类指令寻址:确定下一条要执行的指令的地址的方法分为顺序寻址和跳跃寻址。数据寻址:确定本条指令执行的操作数地址1.直接寻址2.寄存器寻址3.基址寻址4.变址寻址5.间接寻址6.相对寻址7.立即数12/14/202251寻址方式寻址方式分为指令寻址和数据寻址两类12/12/202设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量,用补码表示。每当CPU从存储器取出一个字节时,即自动完成(Pc)+1->PC。

(1)设当前PC值为3000H,试问转移后的目标地址范围是什么?

(2)若当前PC值为2000H,要求转移到201BH,则转移指令第二字节的内容是什么?

(3)若当前PC值为2000H,指令JMP*—9(*为相对寻址特征)的第二字节的内容是什么?

(1)由于相对寻址的转移指令为两个字节,第一个字节为操作码,第二个字节为相对位移量,且用补码表示,故其范围为—128—127,即80H—7FH。又因PC当前值为3000H,且CPU取出该指令后,PC己修改3002H,因此最终的转移目标地址范围为3081H—2F82H,即3002H十7FH=30B1H至3002H一80H=2F82H。(2)若Pc当前值为2000H,取出该指令后Pc值为2002H,故转移指令第二字节应为20lBH—2002H=19H。(3)根据汇编语言指令JMP*—9,即要求转移后的目标地址为2000H-09=1FF7H,但因为CPU取出该指令后PC值已修改为2002H.故转移指令的第二字节的内容应为—11(十进制),写成补码为F5H。12/14/202252设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是RISC的主要特征

选用使用频度较高的一些简单指令,复杂指令的功能由简单指令来组合

指令长度固定、指令格式种类少、寻址方式少

只有LOAD/STORE指令访存

采用流水技术一个时钟周期

内完成一条指令

采用组合逻辑

实现控制器

CPU中有多个通用寄存器

采用优化的编译

程序

12/14/202253RISC的主要特征选用使用频度较高的一些简单指令,CISC的主要特征

系统指令复杂庞大,各种指令使用频度相差大

指令长度不固定、指令格式种类多、寻址方式多

访存

指令不受限制

大多数指令需要多个时钟周期

执行完毕

采用微程序

控制器

CPU中设有专用寄存器

难以

用优化编译

生成高效的目的代码

12/14/202254CISC的主要特征系统指令复杂庞大,各种指令使用频RISC和CISC的比较1.RISC更能充分利用VLSI芯片的面积2.

RISC更能提高计算机运算速度指令数、指令格式、寻址方式少,通用寄存器多,采用组合逻辑,便于实现指令流水3.RISC便于设计,可降低成本,提高可靠性4.RISC

有利于编译程序代码优化

5.

RISC不易

实现指令系统兼容

12/14/202255RISC和CISC的比较1.RISC更能充分利用V五、中央处理器(CPU)

12/14/202256五、中央处理器(CPU)12/12/2022561.硬布线控制器2.微程序控制器12/14/2022571.硬布线控制器12/12/202257完成一条指令分4个工作周期取指周期间址周期执行周期中断周期12/14/202258完成一条指令分4个工作周期取指周期间址周期执行周期中断周一、取指周期PCMAR地址线1RM(MAR)MDRMDRIR(PC)+1PC+1MDRCUMAR

PC

IR存储器CPU地址总线数据总线控制总线9.1操作命令的分析OP(IR)CU12/14/202259一、取指周期PCMAR地址线1二、间址周期M(MAR)MDR1RAd(IR)MARMDRAd(IR)指令形式地址MAR9.1MDRCUMARCPU地址总线数据总线控制总线IR存储器12/14/202260二、间址周期M(MAR)MDR1机器周期:所有指令执行过程中的一个基准时间,以访问一次存储器的时间为基准将一个机器周期分成若干个时间相等的时间段(节拍、状态、时钟周期)时钟周期:控制计算机操作的最小单位时间,用时钟周期控制产生一个或几个微操作命令一个指令周期包含若干个机器周期一个机器周期包含若干个时钟周期12/14/202261机器周期:所有指令执行过程中的一个基准时间,以访问一次硬布线控制器操作控制信号的产生

指令:操作码+地址码在机器内设置一个指令译码器,输入:操作码输出:反映出当前正在执行的指令。由译码器的输出和机器周期状态cyl~cy4作为输入,使用逻辑电路产生操作控制信号。7位OP12/14/202262硬布线控制器操作控制信号的产生指令:操作码+地址微指令如何产生控制信号:

微指令最简单的组成形式:将每个控制信号用一个控制位来表示,当该位为“1”时,定义为有控制信号,当该位为“0”时,没有控制信号。控制存储器容量为4K字,则每条微指令还需要12位来表示下址。控制存储器的容量取决于实现指令系统所需的微程序长度。12/14/202263微指令如何产生控制信号:微指令最简单的组成形式:微程序也可用流程图来表示方框:表示微指令右下角的数字:表示下址上方的数字:微指令的地址12/14/202264微程序也可用方框:表示微指令右下角的数字:表示下址上方的数字微程序控制器的基本工作原理:

当指令取入IR中以后,根据操作码进行译码,得到相应指令的第一条微指令的地址。指令译码部件可用只读存储器组成,将操作码作为只读存储器的输入地址,该单元的内容即为相应的微指令在控制存储器中的地址。根据控制存储器中的地址从控制存储器取出微指令,并将它存放在微指令寄存器中。控制字段各位的输出通过连接线直接与受控制的门相连,于是就提供了在本节所提出的控制信号。2.微程序控制器时序控制信号形成部件12/14/202265微程序控制器的基本工作原理:当指令取入IR中以后,根据微指令的编码方式又叫微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号。1.直接控制法2.字段直接编译法(使用较普遍)这种方式就是将微指令的操作控制字段分成若干段,将一组互斥的微命令放在一个字段内,通过对这个字段译码,便可对应每一个微命令3.字段间接编译法12/14/202266微指令的编码方式又叫微指令的控制方式,它是指如何对微指令的控后继微指令地址的几种情况A)微程序入口:首条微指令,由专门硬件电路产生,控制实现取指操作;B)顺序执行:后继微地址=现行微地址(在微程序计数器中)+1C)转移地址:后继微地址=现行微地址+转移条件译码(相对转移量)D)由操作码产生后继地址12/14/202267后继微指令地址的几种情况A)微程序入口:首条微指令,由专门硬微程序控制方式的基本思想一条微指令包含若干微命令,控制一步操作;一段微程序包含若干微指令,解释执行一条机器指令;微程序事先存放在控存中。12/14/202268微程序控制方式的基本思想12/12/202268流水线工作原理

各条指令在执行过程中,机器的各部分在某些周期内在进行操作,而在某些周期内是空闲的。

如果控制器调度恰当,让各个部件紧张工作,可提高计算机运行速度---从而产生了流水线结构某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是A.90ns

B.80ns

C.70ns

D.60ns12/14/202269流水线工作原理12/12/202269四、流水线性能1.吞吐率单位时间内流水线所完成指令或输出结果的数量8.3最大吞吐率实际吞吐率连续处理n

条指令的吞吐率为设m

段的流水线各段时间为ΔtTpmax=Δ1tTp=m

·Δ

+(n-1)·

Δ

ntt12/14/202270四、流水线性能1.吞吐率单位时间内流水线所完成指令2.加速比Sp

8.3

m段的流水线的速度与等功能的非流水线的速度之比设流水线各段时间为Δt完成n

条指令在m段流水线上共需

T=m

·

+(n-1)·

ttΔΔ完成n条指令在等效的非流水线上共需

T

′=nm

·tΔSp

=

m

·+(n-1)·

nm·=nmm

+n-1

ΔtΔΔtt

则12/14/2022712.加速比Sp8.3m段的流水线的速度与等由于流水线有建立时间和排空时间因此各功能段的设备不可能一直处于工作状态

8.3流水线中各功能段的利用率3.效率

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT时间S空间空间S4S3S2S1(n-1)Δt12/14/202272由于流水线有建立时间和排空时间8.3流水线中各功能段的8.3m(m

+n-1)Δt

=mnΔt

流水线各段处于工作时间的时空区流水线中各段总的时空区

效率=3.效率

mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT时间S空间空间S4S3S2S1(n-1)Δt流水线中各功能段的利用率12/14/2022738.3m(m+n-1)Δt=五、流水线的多发技术1.超标量技术每个时钟周期内可并发多条独立指令

不能调整指令的执行顺序配置多个功能部件通过编译优化技术,把可并行执行的指令搭配起来8.3IFIDEX

WR0123

45

678

910111213时钟周期指令序列12/14/202274五、流水线的多发技术1.超标量技术每个时钟周期内2.超流水线技术在一个时钟周期内再分段(3段)

不能调整指令的执行顺序在一个时钟周期内一个功能部件使用多次(3次)靠编译程序解决优化问题流水线速度是原来速度的3倍8.3IFIDEXWR0

1

2

345

67

8

9

10111213时钟周期指令序列12/14/2022752.超流水线技术在一个时钟周期内再分段(33.超长指令字技术采用多个处理部件具有多个操作码字段的超长指令字(可达几百位)由编译程序挖掘出指令间潜在的并行性,将多条能并行操作的指令组合成一条8.3IFIDEXWR012345678910111213时钟周期指令序列12/14/2022763.超长指令字技术采用多个处理部件具有多个操作码六、流水线结构1.指令流水线结构完成一条指令分7段,每段需一个时钟周期若流水线不出现断流1个时钟周期出1结果不采用流水技术7个时钟周期出1结果理想情况下,7级流水的速度是不采用流水技术的7倍地址形成部件指令译码部件取操作数部件取指令部件操作执行部件回写结果部件修改指令指针部件锁存锁存锁存锁存锁存锁存8.312/14/202277六、流水线结构1.指令流水线结构完成一条指令分7段,2.运算流水线完成浮点加减运算可分对阶、尾数求和、规格化三段分段原则每段操作时间尽量一致锁存器对阶功能部件第一段尾数加部件锁存器第二段规格化部件锁存器第三段8.312/14/2022782.运算流水线完成浮点加减运算可分分段原则一计算机系统概论12/14/202279一计算机系统概论12/12/20221计算机硬件的基本组成

组成计算机的基本部件有中央处理器CPU(运算器和控制器)、存储器和输入、输出设备。12/14/202280计算机硬件的基本组成

组成计算机的基本部件有中央处计算机的工作过程是本章的重点。人们需将事先编好的程序(指令序列)送至计算机的存储器内,然后计算机按此指令序列逐条完成全部指令的功能,直至程序结束。因此,要了解计算机的工作过程,必须首先了解计算机完成一条指令的信息流程。1.完成一条指令的信息流程以取数指令(即将指令地址码指示的存储单元中的操作数取出后送至运算器的Acc中)为例,其信息流程是:取指令PC->MAR->M->MDR->IR分析指令oP(IR)->cu执行指令Ad(IR)->MAR->M->MDR->ACC此外,每完成一条指令,还必须为取下条指令作准备,形成下一条指令的地址2计算机的工作过程计算机的工作过程实质就是不断从存储器中逐条取出指令,送至控制器,经分析后由cu发出各种操作命令.指挥各部件完成各种操作,直至程序中全部指令执行结束。计算机的工作过程12/14/202281计算机的工作过程是本章的重点。人们需将事先编好的程序(指令

计算机性能指标CPU时钟周期:主频:为了使8086CPU的各种操作协调同步进行,8086CPU必须在时钟信号CLK控制下工作,时钟信号是一个周期性的脉冲信号,一个时钟脉冲的时间长度称为一个时钟周期(ClockCycle),是时钟频率(主频)的倒数,时钟周期是计算机系统中的时间基准,是计算机的一个重要性能指标,也是时序分析的刻度,8086的主频为5MHz,时钟周期为200ns,8086-1的主频为10MHz,时钟周期为100ns。

12/14/202282 计算机性能指标12/12/20224CPI:执行一条指令所需的时钟周期(主频的倒数)数MIPS:每秒执行百万条指令。如某机每秒能执行200万条指令,则记作2MIPSMFLOPS:每秒浮点运算次数12/14/202283CPI:执行一条指令所需的时钟周期(主频的倒数)数12/12例1、设主存储器容量为64Kx32位,并且指令字长、存储字长、机器字长三者相等,写出各寄存器的位数。解:由主存容量为64Kx32位得2

16=64K,故MAR为16位,MDR为32位。因指令字长=存储字长=机器字长,则IR、Acc、均为32位。例2指令和数据都存于存储器中,计算机如何区分它们,解:通常完成一条指令可分为取指阶段和执行阶段。在取指阶段通过访问存储器可将指令取出;在执行阶段通过访问存储器可将操作数取出。这样,虽然指令和数据都是以0、1代码形式存在存储器中,但CPU可以判断出在取指阶段访问存储器取出的0、1代码是指令;在执行阶段访存取出的0、1代码是数据。例如,完成ADDM指令需两次访存:第一次访存是取指阶段,CPU根据Pc给出的地址取出指令;第二次访存是执行阶段,CPu根据存于IR的指令中M给出的地址取出操作数。可见,cPu就是根据取指阶段和执行阶段的访存性质不同来区分指令和数据的。12/14/202284例1、设主存储器容量为64Kx32位,并且指令字长、二、数据的表示和运算常用的几种进位数制:(1)二进制B(2)八进制Q(3)十六进制H(4)十进制D计算机中常用的进制:二、八、十六数据的转换1.二(八、十六)进制转换成十进制数据2.二进制数与八进制、十六进制的关系3.十进制转换为二进制数据符号的表示数据的数值通常以正(+)、负(-)号后跟绝对值来表示,称为真值。正负号也要数字化,0-正号,1-负号,正号有时可省,这种表示数的形式称为机器数。例:(+9)10表示为:(01001)2(-9)10表示为:(11001)212/14/202285二、数据的表示和运算常用的几种进位数制:12/12/20表示一位十进制数的二进制码的每一位有确定的权。一般用8421码,其4个二进制码的权从高到低分别为8、4、2和1。故称这种编码为“以二进制编码的十进制(binarycodeddecimal,简称BCD)码”。12/14/202286表示一位十进制数的二进制码的每一位有确定的权。一般用8421校验码1.奇偶校验码:这种方案只能发现一位错或奇数个位错,但不能确定是哪一位错,也不能发现偶数个位错。2.海明校验码:能检测出二位同时出错、亦能检测出一位出错并能自动纠错。3.循环冗余校验(CRC)码:CRC码可以发现并纠正信息串行读写、存储或传送过程中连续出现的一位、多位错误注意:若校验位是r位。则生成多项式是r+1位12/14/202287校验码1.奇偶校验码:这种方案只能发现一位错或奇数个位错,定点数的表示和运算1.定点数的表示无符号数的表示;有符号数的表示。2.定点数的运算定点数的位移运算;原码定点数的加/减运算;补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。

12/14/202288定点数的表示和运算1.定点数的表示12/12/2022数值零的补码表示形式是唯一的.即:[+0]补=[-0]补=0.0000n位小数,补码表示数的范围补码真值12/14/202289数值零的补码表示形式是唯一的.n位小数,补码表示数的范围12000000000000000100000010…011111111000000010000001111111011111111011111111…128129-0-1-128-127-127-126二进制代码无符号数对应的真值原码对应的真值补码对应的真值反码对应的真值012127…253254255…-125-126-127…-3-2-1…-2-1-0…+0+1+2+127…+0+1+2+127…+0+1+2+127…+0设机器数字长为8位(其中1位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?12/14/202290000000000000000100000010…01111数的定点表示和浮点表示小数点按约定方式标出一、定点表示Sf

S1S2

Sn…数符数值部分小数点位置Sf

S1S2

Sn…数符数值部分小数点位置或定点机小数定点机整数定点机原码补码反码–(1–2-n)~+(1–2-n)–(2n

–1)~+(2n

–1)–1~+(1–2-n)–2n~+(2n

–1)–(1–2-n)~+(1–2-n)–(2n

1)~+(2n

–1)12/14/202291数的定点表示和浮点表示小数点按约定方式标出一、定点表示Sf减法运算如何实现?

减法可转换成加上减数的负数的补码来完成。即:[X-Y]补=X补+[-Y]补12/14/202292减法运算如何实现?12/12/202214浮点数的表示和运算

浮点数的表示

浮点数的表示范围;IEEE754标准浮点数的加/减运算(了解步骤)1.“对阶”--使两数阶码相等(对齐两数的小数点)2.尾数加/减3.结果规格化4.舍入5.检查阶码是否溢出12/14/202293浮点数的表示和运算

浮点数的表示

浮点数的表示范围;IEN=M*RE

规格化:当R=2,且尾数值不为0时,其绝对值应大于或等于(0.5)10。对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求尾数用补码表示的规格化形式:数符与尾数小数点后第1位数字相异12/14/202294N=M*RE

规格化:当R=2,且尾数值不为0时,其绝对值应例:设某浮点数共12位。其中阶码含1位阶符共4位,以2为底,补码表示;尾数含1位数符共8位,补码表示,规格化。则该浮点数所能表示的最大正数是?12/14/20229512/12/202217算术逻辑单元ALU

1.串行加法器和并行加法器

2.算术逻辑单元ALU的功能和机构12/14/202296算术逻辑单元ALU

1.串行加法器和并行加法器

2.(2)串行多位加法器

XnYnCn-1CnFnX1Y1 F1C0C1XnYnCn-1CnFnX2Y2 XnYnCn-1CnFnXnYnCn-1CnFnC2C3C4X3Y3 X4Y4 F2F3F4

n个全加器相连可得n位加法器,但加法时间较长,因为位间进位是串行传送的,本位全加和Fi必须等低位进位Ci-1来到后才能进行,加法时间与位数有关。只有改变进位逐传送的路径,才能提高加法器工作速度。解决办法之一:采用“超前进位产生电路”,来同时产生各位进位,从而实现快速加法,这种加法器称为“超前进位加法器”。12/14/202297(2)串行多位加法器XnYnX1Y1 GIVPIVGIIIPIIIGIIPIIGIPI74182CIIICIICIC0

7418174181741817418174181:实现算术逻辑运算及组内并行。74182:接收了组间的辅助函数后,产生组间的并行进位信号CIII、CII、CI,分别将其送到各小组的加法器上一个16位的ALU部件,要实现组内并行,组间并行运算。所需器件为:74181芯片四块,74182一块12/14/202298GIVPIVGIIIPIIIGIIPIIGIPI74182C三、存储器层次机构寄存器Cache主存储器辅助存储器12/14/202299三、存储器层次机构寄存器Cache主存储器辅助存储器12半导体随机存取存储器1.SRAM存储器的工作原理2.DRAM存储器的工作原理12/14/2022100半导体随机存取存储器12/12/202222存储信息原理动态存储器DRAM(动态MOS型):依靠电容存储电荷的原理存储信息。功耗较小,容量大,速度较快,作主存。静态存储器SRAM(双极型、静态MOS型)

依靠双稳态电路内部交叉反馈的机制存储信息。功耗较大,速度快,作Cache。SRAM:利用双稳态触发器来保存信息,只要不断电,信息是不会丢失的,因为其不需要进行动态刷新,故称为“静态”存储器。DRAM:利用MOS电容存储电荷来保存信息,使用时需要给电容充电才能使信息保持,即要定期刷新。12/14/2022101存储信息原理动态存储器DRAM(动态MOS型):依靠电容存储

CPU与主存之间采取异步工作方式,以ready信号表示一次访存操作的结束12/14/2022102CPU与主存之间采取异步工作方式,以ready信号表示一次重要习题存储器容量扩展(1)位扩展概念:位扩展指的是用多个存储器器件对字长进行扩充(2)字扩展字扩展指的是增加存储器中字的数量。例:

4个16K8位静态芯片组成64K8位存储器。12/14/2022103重要习题存储器容量扩展12/12/202225(3)字位扩展例:由Intel2114(1K4位)芯片组成容量为4K8位的主存储器的逻辑框图,说明地址总线和数据总线的位数,该存储器与8位字长的CPU的连接关系。解:此题所用芯片是同种芯片。(1)片数=存储器总容量(位)/芯片容量(位)=4K*8/(1K*4)=8(片)(2)CPU总线(由存储器容量决定)地址线位数=log2(字数)=log2(4K)=12(位)数据线位数=字长=8(位)12/14/2022104(3)字位扩展12/12/202226(3)芯片总线(由芯片容量决定)地址线=log2(1K)=10(位)数据线=4(位)(4)分组(组内并行工作,Cs连在一起,组间串行工作,Cs分别连接译码器的输出)组内芯片数=存储器字长/芯片字长=8/4=2(片)组数=芯片总数/组内片数=8/2=4(组)(5)地址分配与片选逻辑12/14/2022105(3)芯片总线(由芯片容量决定)12/12/20222712/14/202210612/12/202228定期向电容补充电荷刷新

DRAM采用“读出”方式进行再生。利用单元数据线上的读出放大器来实现。由于DRAM每列都有自己的读出放大器,只要依次改变行地址轮流进行读放再生即可。这种方式称行地址再生方式。

(1)集中刷新:在一个刷新周期(从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止)内,利用一段固定的时间,依次对存储器的所有行逐一再生,在此期间停止对存储器的读和写。12/14/2022107定期向电容补充电荷刷新

DRAM采用“读出”方式进行再生。2ms(2)分步刷新例.(2)分布式刷新:把刷新操作分散到刷新周期(2ms)内用在大多数计算机中。每隔一段时间刷新一行。128行≈15.6微秒每隔15.6微秒提一次刷新请求,刷新一行;2毫秒内刷新完所有行。R/W刷新R/W刷新R/WR/WR/W15.6微秒15.6微秒15.6微秒刷新请求刷新请求(DMA请求)(DMA请求)12/14/20221082ms(2)分步刷新例.(2)分布式刷新:把刷新操作分散到刷高速缓冲存储器(Cache)Cache引入为解决CPU和主存之间的速度差距,提高整机的运算速度,在CPU和主存之间插入的由高速电子器件组成的容量不大,但速度很高的存储器作为缓冲区。解决了速度与成本之间的矛盾(速度接近cache,容量与每位价格接近于主存)。Cache特点存取速度快,容量小,存储控制和管理由硬件实现12/14/2022109高速缓冲存储器(Cache)Cache引入12/12/20cache存储器工作原理—程序访问的局部性

这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象就称为程序访问的局部性。时间局部性:如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。(程序循环、堆栈)空间局部性:在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。(指令顺序执行、数组存放)12/14/2022110cache存储器工作原理—程序访问的局部性12/12/202例:CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache-主存系统的效率和平均访问时间。解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95

ta=htc+(1-h)tm=0.95*50+0.05*(250+50)=62.5ns例:已知Cache存储周期为40ns,主存存储周期为200ns,Cache-主存系统平均访问时间为50ns,求Cache的命中率是多少?解:因为ta=h*tc+(1-h)(tm+tc)所以h=(tm+tc-ta)/tm=(200+40-50)/200=19/2012/14/2022111例:CPU执行一段程序时,cache完成存取的次数为1900Cache地址4位9位主存地址7位4位9位11位9位主存地址7位Cache和主存之间的映射方式

(1)直接映像12/14/2022112Cache地址4位9位主存地址例:设有一个cache的容量为2K字,每个块为16字。

(1)该cache可容纳多少个块?

(2)如果主存的容量是256K字,则有多少个块?

(3)主存的地址有多少位?cache地址有多少位?

(4)在直接映象方式下,主存中的第i块映象到cache中哪一个块中?

(5)进行地址映象时,存储器的地址分成哪几段?各段分别有多少位?解:(1)cache中有2048/16=128个块。(2)主存有256K/16=214=16384个块。(3)主存容量为256K=218字,所以主存的地址有18位。cache容量为2K=211字,所以cache字地址为11位。(4)主存中的第i块映象到cache中第imod128个块中。(5)存储器的字地址分成三段:区地址、组地址、块内字地址。区地址的长度为18-11=7位,组地址为7位,块内字地址为4位。12/14/2022113例:设有一个cache的容量为2K字,每个块为16字。

(1(2)全相联映像:允许主存中的每一个字块映象到Cache的任何一个字块位置上。是最灵活但成本最高的一种方式(3)组相联映像

组内全相联,组间直接映像12/14/2022114(2)全相联映像:允许主存中的每一个字块映象到Cache的任直接映象的地址变换方法12/14/2022115直接映象的地址变换方法12/12/202237图7.3直接映像cache组织块内地址组地址区地址12/14/2022116图7.3直接映像cache组织块内地址组地址区地址12/1全相联映象的地址变换方法12/14/2022117全相联映象的地址变换方法12/12/202239字块2m-1字块2c-r+1

字块2c-r+

1字块2c-r字块2c-r

字块1字块0………字块3标记字块1标记字块2c-1标记字块2标记字块0标记字块2c-2标记…………字块内地址组地址主存字块标记s=t+r位q=

c-r位b位组012c-r-1主存地址Cache主存储器m位共Q组,每组内两块(r=1)1某一主存块

j按模Q映射到缓存的第i

组中的任一块i=j

mod

Q直接映射全相联映射3.组相联映射4.3

字块0

字块1

字块0

字块2c-r

字块2c-r+112/14/2022118字块2m-1字块2c-r+1字块2c-r+1Cache中主存块的替换算法

1).先进先出(FIFO)算法2).近期最少使用(LRU)算法3).随机替换法12/14/2022119Cache中主存块的替换算法1).先进先出(FIFO)算法Cache写策略

1).写回法(write--back)即标志交换方式只修改cache的内容不立即写入主存,只当此行被换出时才写回主存。写cache与写主存分开进行方式可显著减少写主存次数,但写回法存在cache/主存不一致性的隐患。2).写直达法(write--through)即通过式写cache与主存同时发生写修改。这种策略显然较好地维护了cache与主存的内容一致性;优点:cache每行无需设置一个修改位以及相应的判测逻辑;缺点:cache对CPU向主存的写操作无高速缓存功能,降低了cache的功效。12/14/2022120Cache写策略1).写回法(write--back)双口RAM和多模块存储器

CPU和主存储器的速度不匹配问题一直以来都是计算机系统发展的障碍,到现在,这个问题变得越来越严重,以至于主存的存储速度成为了计算机系统的瓶颈。为了解

温馨提示

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

评论

0/150

提交评论