1、2022-5-181一计算机系统概论2022-5-182计算机硬件的基本组成 组成计算机的基本部件有中央处理器CPU(运算器和控制器)、存储器和输入、输出设备。图 1-1 计算机的基本结构存储器输出输入运算器控制器数据线路控制信号2022-5-183 计算机的工作过程是本章的重点。人们需将事先编好的程序(指令序列)送至计算机的存储器内,然后计算机按此指令序列逐条完成全部指令的功能,直至程序结束。因此,要了解计算机的工作过程,必须首先了解计算机完成一条指令的信息流程。 1完成一条指令的信息流程以取数指令(即将指令地址码指示的存储单元中的操作数取出后送至运算器的Acc中)为例,其信息流程是: 取指
2、令 PC-MAR-M-MDR-IR 分析指令 oP(IR)-cu 执行指令 Ad(IR)-MAR-M-MDR-ACC 此外,每完成一条指令,还必须为取下条指令作准备,形成下一条指令的地址 2计算机的工作过程 计算机的工作过程实质就是不断从存储器中逐条取出指令,送至控制器,经分析后由cu发出各种操作命令指挥各部件完成各种操作,直至程序中全部指令执行结束。计算机的工作过程 2022-5-184计算机性能指标 CPU时钟周期时钟周期: 主频: 为了使 8086CPU 的各种操作协调同步进行, 8086CPU 必须在时钟信号 CLK 控制下工作,时钟信号是一个周期性的脉冲信号,一个时钟脉冲的时间长度称
3、为一个时钟周期 (Clock Cycle) ,是时钟频率(主频)的倒数,时钟周期是计算机系统中的时间基准,是计算机的一个重要性能指标,也是时序分析的刻度, 8086 的主频为 5MHz ,时钟周期为 200ns , 8086-1 的主频为 10MHz ,时钟周期为 100ns 。 2022-5-185 CPI:执行一条指令所需的时钟周期(主频的倒数)数 MIPS:每秒执行百万条指令。如某机每秒能执行200万条指令,则记作2 MIPS MFLOPS:每秒浮点运算次数2022-5-186例例1、 设主存储器容量为设主存储器容量为64K x 32位,并且指令字长、存储字长、位,并且指令字长、存储字长
4、、机器字长三者相等,写出各寄存器的位数。机器字长三者相等,写出各寄存器的位数。 解:解: 由主存容量为由主存容量为64K x 32位得位得2 16=64K,故,故MAR为为16位,位,MDR为为32位。位。 因指令字长存储字长机器字长,则因指令字长存储字长机器字长,则IR、Acc、均为、均为32位。位。例例2 指令和数据都存于存储器中,计算机如何区分它们,指令和数据都存于存储器中,计算机如何区分它们,解:解: 通常完成一条指令可分为取指阶段和执行阶段。在取指阶段通常完成一条指令可分为取指阶段和执行阶段。在取指阶段通过访问存储器可将指令取出;在执行阶段通过访问存储器可将通过访问存储器可将指令取出
5、;在执行阶段通过访问存储器可将操作数取出。这样,虽然指令和数据都是以操作数取出。这样,虽然指令和数据都是以0、1代码形式存在存代码形式存在存储器中,但储器中,但CPU可以判断出在取指阶段访问存储器取出的可以判断出在取指阶段访问存储器取出的0、1代代码是指令;在执行阶段访存取出的码是指令;在执行阶段访存取出的0、1代码是数据。例如,完成代码是数据。例如,完成ADD M指令需两次访存:第一次访存是取指阶段,指令需两次访存:第一次访存是取指阶段,CPU根据根据Pc给出的地址取出指令;第二次访存是执行阶段,给出的地址取出指令;第二次访存是执行阶段,CPu根据存于根据存于IR的指令中的指令中M给出的地址
6、取出操作数。可见,给出的地址取出操作数。可见,cPu就是根据取指阶就是根据取指阶段和执行阶段的访存性质不同来区分指令和数据的。段和执行阶段的访存性质不同来区分指令和数据的。2022-5-187二、 数据的表示和运算 常用的几种进位数制: ( 1) 二进制B (2) 八进制Q ( 3) 十六进制H (4) 十进制D计算机中常用的进制:二、八、十六数据的转换 1. 二(八、十六)进制转换成十进制数据 2. 二进制数与八进制、十六进制的关系 3. 十进制转换为二进制数据符号的表示 数据的数值通常以正()、负()号后跟绝对值来表示,称为真值。正负号也要数字化,0正号,1负号,正号有时可省,这种表示数的
7、形式称为机器数。例:(+9)10表示为:(01001)2(-9)10表示为:(11001)22022-5-188 表示一位十进制数的二进制码的每一位有确定的权。一般用8421码,其4个二进制码的权从高到低分别为8、4、2和1。故称这种编码为“以二进制编码的十进制以二进制编码的十进制(binary(binarycodedcodeddecimaldecimal,简称,简称BCD)BCD)码码”。2022-5-189校验码 1.1.奇偶校验码:这种方案只能发现一位错或奇数个位错,但不能确定是哪一奇偶校验码:这种方案只能发现一位错或奇数个位错,但不能确定是哪一位错,也不能发现偶数个位错。位错,也不能发
8、现偶数个位错。2.2.海明校验码:能检测出二位同时出错、亦能检测出一位出错并能自动纠错。海明校验码:能检测出二位同时出错、亦能检测出一位出错并能自动纠错。3.3.循环冗余校验循环冗余校验(CRC)(CRC)码:码:CRCCRC码可以发现并纠正信息串行读写、存储或传送码可以发现并纠正信息串行读写、存储或传送过程中连续出现的一位、多位错误过程中连续出现的一位、多位错误注意:若校验位是注意:若校验位是r r位。则生成多项式是位。则生成多项式是r+1r+1位位2022-5-1810定点数的表示和运算 1. 定点数的表示 无符号数的表示;有符号数的表示。 2. 定点数的运算 定点数的位移运算;原码定点数
9、的加/减运算;补码定点数的加补码定点数的加/减运算减运算;定点数的乘/除运算;溢出概念和判别方法。溢出概念和判别方法。 2022-5-1811数值零的补码表示形式是唯一的数值零的补码表示形式是唯一的. .即:即:+0+0补补 -0-0补补 =0.0000=0.0000n n位小数,补码表示数的范围位小数,补码表示数的范围补码真值22211111. 1)1 (01000. 1100000. 1000000. 0111111. 0nnn211n表示数的范围为:2022-5-181200000000000000010000001001111111100000001000000111111101111
10、1111011111111128129-0-1-128-127-127-126二进制代码二进制代码 无符号数无符号数对应的真值对应的真值原码对应原码对应 的真值的真值补码对应补码对应 的真值的真值反码对应反码对应 的真值的真值012127253254255-125-126-127-3-2-1-2-1-0+0+1+2+127+0+1+2+127+0+1+2+127+0设机器数字长为设机器数字长为 8 位(其中位为符号位)位(其中位为符号位)对于整数,当其分别代表无符号数、原码、补码和对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?反码时,对应的真值范围各为多少?202
11、2-5-1813数的定点表示和浮点表示数的定点表示和浮点表示小数点按约定方式标出小数点按约定方式标出一、定点表示一、定点表示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)2022-5-1814减法运算如何实现?减法运算如何实现?减法可转换成加上减数的负数的补码来完成。
12、减法可转换成加上减数的负数的补码来完成。即: X - Y补补 = X补补 + -Y补补2022-5-1815浮点数的表示和运算 1. 浮点数的表示 浮点数的表示范围;IEEE754标准 2. 浮点数的加/减运算(了解步骤)1.“对阶”使两数阶码相等(对齐两数的小数点)2.尾数加/减3.结果规格化4.舍入5.检查阶码是否溢出2022-5-1816N=M*RE规格化规格化:当当R2,且尾数值不为,且尾数值不为0时,其绝时,其绝对值应大于或等于对值应大于或等于(0.5)10 。对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求尾数用补码表示的规格化形式:数符与尾数小数点后第1位数
13、字相异2022-5-1817例:设某浮点数共12位。其中阶码含1位阶符共4位,以2为底,补码表示;尾数含1位数符共8位,补码表示,规格化。则该浮点数所能表示的最大正数是 ?2022-5-1818算术逻辑单元ALU 1. 串行加法器和并行加法器 2. 算术逻辑单元ALU的功能和机构2022-5-1819(2)串行多位加法器 Xn YnCn-1 Cn FnX1 Y1 F1C0C1 Xn YnCn-1 Cn FnX2 Y2 Xn YnCn-1 Cn Fn Xn YnCn-1 Cn FnC2C3C4X3 Y3X4 Y4 F2 F3 F4n个全加器相连可得n位加法器,但加法时间较长,因为位间进位是串行传
14、送的,本位全加和Fi必须等低位进位Ci-1来到后才能进行,加法时间与位数有关。只有改变进位逐传送的路径,才能提高加法器工作速度。解决办法之一:采用采用“超前进位产生电路超前进位产生电路”,来同时产生各位,来同时产生各位进位,从而实现快速加法,进位,从而实现快速加法,这种加法器称为“超前进位加法器”。2022-5-1820GIVPIVGIIIPIIIGIIPIIGIPI74182CIIICIICIC0 7418174181741817418174181:实现算术逻辑运算及实现算术逻辑运算及组内并行组内并行。74182:接收了组间的辅助函数后,产生组间:接收了组间的辅助函数后,产生组间 的并行进位
15、信号的并行进位信号CIII 、CII 、CI,分,分 别将其送到各小组的加法器上别将其送到各小组的加法器上一个一个16位的位的ALU部件,要实现组内并行,组部件,要实现组内并行,组间并行运算。间并行运算。 所需器件为:所需器件为:74181芯片四块,芯片四块,74182一块一块2022-5-1821三、 存储器层次机构 寄存器寄存器Cache主存储器主存储器辅助存储器辅助存储器2022-5-1822 半导体随机存取存储器 1. SRAM存储器的工作原理 2. DRAM存储器的工作原理 2022-5-1823存储存储信息信息原理原理动态存储器动态存储器DRAMDRAM(动态(动态MOSMOS型)
16、:型):依靠电容存依靠电容存储电荷的原理存储信息储电荷的原理存储信息。功耗较小,容量大,速度较快,作主存作主存。静态存储器静态存储器SRAMSRAM(双极型、静态MOS型) 依靠双稳态电路内部交叉反馈的机制存储依靠双稳态电路内部交叉反馈的机制存储信息。信息。 功耗较大,速度快,作作CacheCache。SRAM:利用双稳态触发器来保存信息,只要不断电,信息利用双稳态触发器来保存信息,只要不断电,信息是不会丢失的,因为其不需要进行动态刷新,故称为是不会丢失的,因为其不需要进行动态刷新,故称为“静态静态”存储器。存储器。DRAM:利用利用MOS电容存储电荷来保存信息,使用时需要电容存储电荷来保存信
17、息,使用时需要给电容充电才能使信息保持,即要定期刷新。给电容充电才能使信息保持,即要定期刷新。2022-5-1824CPU与主存之间采取异步工作方式,以ready信号表示一次访存操作的结束2022-5-1825重要习题 存储器容量扩展存储器容量扩展 (1)位扩展位扩展概念概念:位扩展指的是用多个位扩展指的是用多个存储器器件对字长进行存储器器件对字长进行扩充扩充 (2)字扩展)字扩展字扩展指的是增加存储器字扩展指的是增加存储器中字的数量。中字的数量。例例: 4个个16K 8位静态芯片位静态芯片组成组成64K 8位存储器。位存储器。2022-5-1826 (3)字位扩展字位扩展例例:由由Intel
18、2114(1K Intel2114(1K 4 4位位) )芯片组成容量为芯片组成容量为4K 4K 8 8位位的的主存储器的逻辑框图主存储器的逻辑框图,说明地址总线和数据总线的位数,说明地址总线和数据总线的位数,该存储器与该存储器与8位字长的位字长的CPU的连接关系。的连接关系。解:此题所用芯片是同种芯片。解:此题所用芯片是同种芯片。 (1)片数)片数=存储器总容量(位)存储器总容量(位)/芯片容量(位)芯片容量(位) =4K*8/(1K*4)=8(片)(片) (2)CPU总线(由总线(由存储器容量存储器容量决定)决定) 地址线位数地址线位数=log2(字数字数)=log2(4K)=12(位位)
19、 数据线位数数据线位数=字长字长=8(位)(位) 2022-5-1827(3)芯片总线(由芯片容量决定)芯片总线(由芯片容量决定) 地址线地址线=log2(1K)=10(位位) 数据线数据线=4(位)(位)(4)分组(组内并行工作,)分组(组内并行工作,Cs连在一起,组间串行工作,连在一起,组间串行工作,Cs分别连接译码器的输出)分别连接译码器的输出) 组内芯片数组内芯片数=存储器字长存储器字长/芯片字长芯片字长 =8/4=2(片)(片) 组数组数=芯片总数芯片总数/组内片数组内片数=8/2=4(组)(组)(5)地址分配与片选逻辑)地址分配与片选逻辑2022-5-18282022-5-1829
20、定期向电容补充电荷刷新DRAM采用“读出”方式进行再生。利用单元数据线上的读出放大器来实现。由于DRAM每列都有自己的读出放大器,只要依次改变行地址轮流进行读放再生即可。这种方式称行地址再生方式。 (1)(1)集中刷新集中刷新:在一个刷新周期(从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止)内,利用一段固定的时间,依次对存储器的所有行逐一再生,在此期间停止对存储器的读和写。2022-5-18302ms2ms(2 2)分步刷新)分步刷新例例. .(2 2)分布式刷新:把刷新操作分散到刷新周)分布式刷新:把刷新操作分散到刷新周期(期(2ms2ms)内)内用在大多数计算机中。每隔一
21、段时间刷新一行。128128行行15.6 15.6 微秒微秒每隔15.6微秒提一次刷新请求,刷新一行;2毫秒内刷新完所有行。R/WR/W刷新刷新R/WR/W刷新刷新R/WR/WR/WR/WR/WR/W15.6 15.6 微秒微秒15.6 15.6 微秒微秒15.6 15.6 微秒微秒刷新请求刷新请求(DMADMA请求)请求)(DMADMA请求)请求)2022-5-1831高速缓冲存储器(Cache) Cache引入引入为解决为解决CPU和和主存主存之间的速度差距之间的速度差距,提高整机的运算速提高整机的运算速度度,在在CPU和主存之间插入的由高速电子器件组成的和主存之间插入的由高速电子器件组成
22、的容量不大容量不大,但速度很高的存储器作为缓冲区。但速度很高的存储器作为缓冲区。解决了解决了速度速度与与成本成本之间的矛盾(速度接近之间的矛盾(速度接近cache,容,容量与每位价格接近于主存)。量与每位价格接近于主存)。 Cache特点特点存取速度快,容量小,存储控制和管理由存取速度快,容量小,存储控制和管理由硬件硬件实现实现2022-5-1832cache存储器工作原理程序访问的局部性程序访问的局部性 这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象就称为程序访问的局部性。时间局部性:如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。(程序循环、堆栈)空间
23、局部性:在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。(指令顺序执行、数组存放)2022-5-1833例:例:CPUCPU执行一段程序时,执行一段程序时,cachecache完成存取的次数为完成存取的次数为19001900次,主次,主存完成存取的次数为存完成存取的次数为100100次,已知次,已知cachecache存取周期为存取周期为50ns50ns,主存,主存存取周期为存取周期为250ns250ns,求,求cache-cache-主存系统的效率和平均访问时间。主存系统的效率和平均访问时间。解:解: h=Nc/(Nc+Nm)=1900/(1900+100)=0.95
24、 ta=htc+(1-h)tm=0.95*50+0.05*(250+50)=62.5ns例例: :已知已知CacheCache存储周期为存储周期为40ns,40ns,主存存储周期为主存存储周期为200ns, Cache 200ns, Cache - -主存系统平均访问时间为主存系统平均访问时间为50ns,50ns,求求CacheCache的命中率是多少的命中率是多少? ?解解: 因为因为 ta=h*tc+(1-h)(tm+tc) 所以所以 h=(tm+tc-ta)/tm=(200+40-50)/200=19/202022-5-1834CacheCache地址地址C Ca ac ch he e块
25、块号号块块内内地地址址4位位 9 位位主存地址主存地址块内地址块内地址Cache块号Cache块号主存标记(组号)主存标记(组号)7位位 4位位 9 位位主主存存块块号号块块内内地地址址11位位 9 位位主存地址主存地址块块 0块块 1块块 15CacheCache标记标记标记标记标记标记标记标记标记标记标记标记.0 0 组组块块0块块1块块 15块块 16块块 17块块 31块块 2047主存主存TagTag1 1 组组127127组组7位位Cache和主存之间的映射方式 (1)直接映像2022-5-1835例:例:设有一个设有一个cachecache的容量为的容量为2K2K字,每个块为字,
26、每个块为1616字。字。(1) (1) 该该cachecache可容纳多少个块?可容纳多少个块?(2) (2) 如果主存的容量是如果主存的容量是256K256K字,则有多少个块?字,则有多少个块?(3) (3) 主存的地址有多少位?主存的地址有多少位?cachecache地址有多少位?地址有多少位?(4) (4) 在直接映象方式下,主存中的第在直接映象方式下,主存中的第i i块映象到块映象到cachecache中哪一个中哪一个块中?块中?(5) (5) 进行地址映象时,存储器的地址分成哪几段?各段分别有进行地址映象时,存储器的地址分成哪几段?各段分别有多少位?多少位?解:解:(1) cache
27、中有中有2048/16=128个块。个块。(2) 主存有主存有256K/16=21416384个块。个块。(3)主存容量为主存容量为256K218字,所以主存的地址有字,所以主存的地址有18位。位。 cache容量为容量为2K=211字,所以字,所以cache字地址为字地址为11位。位。(4) 主存中的第主存中的第i块映象到块映象到cache中第中第 i mod 128个块中。个块中。(5) 存储器的字地址分成三段:区地址、组地址、块内字地址。存储器的字地址分成三段:区地址、组地址、块内字地址。 区地址的长度为区地址的长度为18-11=7位,组地址为位,组地址为7位,块内字地址为位,块内字地址
28、为4位。位。2022-5-1836(2)全相联映像:允许主存中的每一个字块映象到Cache的任何一个字块位置上。是最灵活但成本最高的一种方式(3) 组相联映像 组内全相联,组间直接映像2022-5-1837直接映象的直接映象的地址变换方法地址变换方法2022-5-1838图7.3 直接映像cache组织块内地址组地址区地址2022-5-1839.块块0块块1块块 15块块 16块块 17块块 31块块 2047主存主存标记标记标记标记标记标记标记标记标记标记标记标记块块 0块块 1块块 15有效位有效位有效位有效位: :有效位有效位11位 9位11位 9位比较所有的标记比较所有的标记命中命中数
29、据数据主存地址主存地址不命中不命中主存块号主存块号块内地址块内地址全相联映象全相联映象的的地址变换方法地址变换方法2022-5-1840字块字块2m1字块字块2c-r+1 字块字块2c-r + 1 字块字块2c-r字块字块2c-r 字块字块1 字块字块0 字块字块 3标记标记 字块字块 1标记标记字块字块 2c1标记标记 字块字块 2标记标记 字块字块 0标记标记字块字块 2c2标记标记 字块内地址字块内地址组地址组地址主存字块标记主存字块标记s = t + r 位位q = cr 位位b 位位组组012c-r1主存地址主存地址Cache主存储器主存储器m 位位共共 Q 组,组,每组内两块(每组
30、内两块(r = 1)1某一主存块某一主存块 j 按模按模 Q 映射到映射到 缓存缓存 的第的第 i 组组中的中的 任一块任一块i = j mod Q直接映射直接映射全相联映射全相联映射3. 组相联映射组相联映射 字块字块0 字块字块 1 字块字块 0 字块字块2c-r 字块字块2c-r+12022-5-1841Cache中主存块的替换算法 1).先进先出(FIFO)算法2).近期最少使用(LRU)算法3).随机替换法2022-5-1842 Cache写策略 1).写回法(write-back)即标志交换方式只修改cache的内容不立即写入主存,只当此行被换出时才写回主存。写cache与写主存分
31、开进行方式可显著减少写主存次数,但写回法存在cache/主存不一致性的隐患。2).写直达法(write-through)即通过式写cache与主存同时发生写修改。这种策略显然较好地维护了cache与主存的内容一致性;优点:cache每行无需设置一个修改位以及相应的判测逻辑;缺点: cache对CPU向主存的写操作无高速缓存功能,降低了cache的功效。2022-5-1843双口双口RAM和多模块存储器和多模块存储器 CPU和主存储器的速度不匹配问题一直以来都是计算机系统发展的障碍,到现在,这个问题变得越来越严重,以至于主存的存储速度成为了计算机系统的瓶颈。为了解决这一瓶颈,尝试了多种办法,除通
32、过寻找高速元件来提高访问速度外,还可以通过采用双口RAM和多模块存储器,使在一个存取周期内可以并行地读写多个字,从而提高存储器的访问速度。1双口RAM双口RAM是因同一个RAM具有两组相对独立的读写控制线路而得名,它可以进行并行的独立操作。可以说双口RAM是具有两个独立端口的存储器,而每个端口又具有各自的地址线、数据线和控制线,可以对存储器中任何位置上的数据进行独立的存取操作。2多模块存储器 多模块存储器是指由多个模块组成的存储器,不过这些模块具有相同的容量和存取速度,各模块都有独立的地址寄存器、数据寄存器、地址译码、驱动电路和读/写电路,它们既能并行工作,又能交叉工作。2022-5-1844
33、2. 多体并行系统多体并行系统(1) 高位交叉高位交叉 M0M1M2M3体内地址体内地址体号体号体号体号地址地址00 000000 000100 111101 000001 000101 111110 000010 000110 111111 000011 000111 1111顺序编址顺序编址 2022-5-1845M0M1M2M3体号体号体内地址体内地址地址地址0000 000000 010000 100000 110001 000001 010001 100001 111111 001111 011111 101111 11(2) 低位交叉低位交叉各个体轮流编址各个体轮流编址2022-5
34、-1846低位交叉的特点低位交叉的特点在不改变存取周期的前提下,增加存储器的带宽在不改变存取周期的前提下,增加存储器的带宽时间时间 单体单体访存周期访存周期 单体单体访存周期访存周期启动存储体启动存储体 0启动存储体启动存储体 1启动存储体启动存储体 2启动存储体启动存储体 32022-5-1847 设四体低位交叉存储器,存取周期为设四体低位交叉存储器,存取周期为T,总线传输周期,总线传输周期为为,为实现流水线方式存取,应满足,为实现流水线方式存取,应满足 T 4。连续读取连续读取 4 个字所需的时间为个字所需的时间为 T(4 1)2022-5-1848四、 指令系统 1. 定长操作码:指令的
35、操作码的位置、位数固定相同 2.扩展操作码(变长) 各指令操作码的位置、位数不固定,根据需要变化(即操作码的长度可变,且分散得放在指令字的不同字段中)例题:某计算机的指令系统有80条指令。当采用固定编码方式时,其操作码的长度是多少?在80条指令中,有10条常用指令,使用概率是%90,另外70条的使用概率为%10,若采用变长编码,则操作码的平均长度是多少? 2022-5-1849例例. .(方法一)(方法一) 指令字长指令字长1616位,可含有位,可含有3 3、2 2、1 1或或0 0个地址,每个地址占个地址,每个地址占4 4位。(见教材位。(见教材P P130131130131)操作码操作码
36、地址码地址码 15 12 11 8 7 4 3 00000 0000 X X Y ZY Z 1110 1110 X Y ZX Y Z.1111111 1 0000 0000 Y Y Z Z 1111111 1 1110 1110 Y Y Z Z.三地址指令 15条二地址指令 15条11111111 1111111 1 0000 0000 Z Z 1111 1111111 1111 1 1110 1110 Z Z.一地址指令 15条11111111 11111111 1111111 1 0000 0000 1111 11111111 1111 1111111 1 1111 1111.零地址指令
37、16条可表示可表示61条指令条指令2022-5-1850例例. . (方法二)指令字长(方法二)指令字长1616位,可含有位,可含有3 3、2 2、1 1或或0 0个地址,每个地址占个地址,每个地址占4 4位。(见教材位。(见教材P P130131130131)操作码操作码 地址码地址码 15 12 11 8 7 4 3 00000 0000 X X Y ZY Z 1110 1110 X Y ZX Y Z.1111111 1 0000 0000 Y Y Z Z 1111111 1 1101 1101 Y Y Z Z.三地址指令 15条二地址指令 14条11111111 11111010 000
38、0 0000 Z Z 1111 111111 111111 1110 1110 Z Z.一地址指令 31条11111111 11111111 1111111 1 0000 0000 1111 11111111 1111 1111111 1 1111 1111.零地址指令 16条可表示可表示76条指令条指令2022-5-1851寻址方式 寻址方式分为指令寻址和数据寻址两类 指令寻址:确定下一条要执行的指令的地址的方法分为顺序寻址和跳跃寻址。 数据寻址:确定本条指令执行的操作数地址1直接寻址直接寻址2寄存器寻址寄存器寻址3. 基址寻址基址寻址4变址寻址变址寻址5间接寻址间接寻址6相对寻址相对寻址7
39、立即数立即数2022-5-1852设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量,用补码表示。每当CPU从存储器取出一个字节时,即自动完成(Pc)+1-PC。(1)设当前PC值为3000H,试问转移后的目标地址范围是什么?(2)若当前PC值为2000H,要求转移到201BH,则转移指令第二字节的内容是什么? (3)若当前PC值为2000H,指令JMP*9(*为相对寻址特征)的第二字节的内容是什么? (1)由于相对寻址的转移指令为两个字节,第一个字节为操作码,第二个字节为相对位移量,且用补码表示,故其范围为128127,即80H7FH。又因PC当前值为3000H,且CPU
40、取出该指令后,PC己修改3002H,因此最终的转移目标地址范围为3081H2F82H,即3002H十7FH=30B1H至3002H一80H2F82H。 (2)若Pc当前值为2000H,取出该指令后Pc值为2002H,故转移指令第二字节应为20lBH2002H19H。 (3)根据汇编语言指令JMP*9,即要求转移后的目标地址为2000H-09=1FF7H,但因为CPU取出该指令后PC值已修改为2002H故转移指令的第二字节的内容应为11(十进制),写成补码为F5H。2022-5-1853RISC 的主要特征的主要特征 选用使用频度较高的一些选用使用频度较高的一些 简单指令,简单指令, 复杂指令的
41、功能由简单指令来组合复杂指令的功能由简单指令来组合 指令指令 长度固定、指令格式种类少、寻址方式少长度固定、指令格式种类少、寻址方式少 只有只有 LOAD / STORE 指令访存指令访存 采用采用 流水技术流水技术 一个时钟周期一个时钟周期 内完成一条指令内完成一条指令 采用采用 组合逻辑组合逻辑 实现控制器实现控制器 CPU 中有中有多个多个 通用通用 寄存器寄存器 采用采用 优化优化 的的 编译编译 程序程序 2022-5-1854CISC 的主要特征的主要特征 系统指令系统指令 复杂庞大复杂庞大,各种指令使用频度相差大,各种指令使用频度相差大 指令指令 长度不固定、指令格式种类多、寻址
42、方式多长度不固定、指令格式种类多、寻址方式多 访存访存 指令指令 不受限制不受限制 大大多数指令需要多数指令需要 多个时钟周期多个时钟周期 执行完毕执行完毕 采用采用 微程序微程序 控制器控制器 CPU 中设有中设有 专用寄存器专用寄存器 难以难以 用用 优化编译优化编译 生成高效的目的代码生成高效的目的代码 2022-5-1855RISC和和CISC 的比较的比较 1. RISC更能更能 充分利用充分利用 VLSI 芯片芯片的面积的面积2. RISC 更能更能 提高计算机运算速度提高计算机运算速度指令数、指令格式、寻址方式少指令数、指令格式、寻址方式少,通用通用 寄存器多寄存器多,采用,采用
43、 组合逻辑组合逻辑 ,便于实现便于实现 指令流水指令流水3. RISC 便于设计便于设计,可,可 降低成本降低成本,提高,提高 可靠性可靠性4. RISC 有利于编译程序代码优化有利于编译程序代码优化 5. RISC 不易不易 实现实现 指令系统兼容指令系统兼容 2022-5-1856五、 中央处理器(CPU) 2022-5-1857 1. 硬布线控制器 2. 微程序控制器 2022-5-1858完成一条指令分完成一条指令分 4 个工作周期个工作周期取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期2022-5-1859一、取指周期一、取指周期PC MAR 地址线地址线1 RM
44、( MAR ) MDRMDR IR( PC ) + 1 PC+1 MDRCUMAR PC IR存储器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线9.1 操作命令的分析操作命令的分析OP(IR) CU2022-5-1860二、间址周期二、间址周期 M ( MAR ) MDR1 RAd ( IR ) MARMDR Ad ( IR )指令形式地址指令形式地址 MARMDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线IR存储器存储器2022-5-1861 机器周期机器周期: 所有指令执行过程中的一个基准时间所有指令执行过程中的一个基准时间,以以 访问一次存储器访问一
45、次存储器 的时间的时间 为基准为基准 将一个机器周期分成若干个时间相等的时间段(节拍、将一个机器周期分成若干个时间相等的时间段(节拍、状态、时钟周期)状态、时钟周期) 时钟周期时钟周期:控制计算机操作的最小单位时间控制计算机操作的最小单位时间, 用时钟周用时钟周期控制产生一个或几个微操作命令期控制产生一个或几个微操作命令一个指令周期包含若干个机器周期一个指令周期包含若干个机器周期一个机器周期包含若干个时钟周期一个机器周期包含若干个时钟周期2022-5-1862硬布线控制器操作控制信号的产生硬布线控制器操作控制信号的产生 指令:操作码+地址码 在机器内设置一个指令译码器,输入:操作码 输出:反映
46、出当前正在执行的指令。 由译码器的输出和机器周期状态cylcy4作为输入,使用逻辑电路产生操作控制信号。7位OP2022-5-1863微指令如何产生控制信号:微指令如何产生控制信号: 微指令最简单的组成形式:微指令最简单的组成形式: 将每个控制信号用一个控制将每个控制信号用一个控制位来表示,当该位为位来表示,当该位为“1”时,时,定义为有控制信号,当该位定义为有控制信号,当该位为为“0”时,没有控制信号。时,没有控制信号。控制存储器容量为4K字,则每条微指令还需要12位来表示下址。控制存储器的容量取决于实现指令系统所需的微程序长度。2022-5-1864微程序也可用微程序也可用流程图来表示流程
47、图来表示方框:表示微指令右下角的数字:表示下址上方的数字:微指令的地址2022-5-1865微程序控制器的基本工作原理:微程序控制器的基本工作原理: 当指令取入当指令取入IR中中以后,根据操作以后,根据操作码进行译码,得码进行译码,得到相应指令的第到相应指令的第一条微指令的地一条微指令的地址址。指令译码部件可用只读存储指令译码部件可用只读存储器组成,将操作码作为只读器组成,将操作码作为只读存储器的输入地址,该单元存储器的输入地址,该单元的内容即为相应的微指令在的内容即为相应的微指令在控制存储器中的地址。控制存储器中的地址。根据控制存储器中根据控制存储器中的地址从控制存储的地址从控制存储器取出微
48、指令,并器取出微指令,并将它存放在微指令将它存放在微指令寄存器中。寄存器中。控制字段各位的输出控制字段各位的输出通过连接线直接与受通过连接线直接与受控制的门相连,于是控制的门相连,于是就提供了在本节所提就提供了在本节所提出的控制信号。出的控制信号。2微程序控制器时序控制信号形成部件2022-5-1866微指令的编码方式又叫微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号。1.直接控制法直接控制法2.字段直接编译法(字段直接编译法(使用较普遍)这种方式就是将微指令的操作控制字段分成若干段,将一组互斥的微命令放在一个字段内,通过对这个字段译码,便可对应每一个微命令 3字段间接
49、编译法字段间接编译法2022-5-1867后继微指令地址的几种情况后继微指令地址的几种情况A)微程序入口:首条微指令,由专门硬件电路产生,控制实现取指操作;B)顺序执行:后继微地址现行微地址(在微程序计数器中)1C)转移地址:后继微地址现行微地址转移条件译码(相对转移量)D)由操作码产生后继地址2022-5-1868 微程序控制方式的基本思想 一条微指令包含若干微命令,控制一步操作;一段微程序包含若干微指令,解释执行一条机器指令;微程序事先存放在控存中。2022-5-1869 流水线工作原理流水线工作原理 各条指令在执行过程中,机器的各部分在某些周期内在进行操作,而在某些周期内是空闲的。 如果
50、控制器调度恰当,让各个部件紧张工作,可提高计算机运行速度-从而产生了流水线结构 某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽 略各功能段之间的缓存时间)分别是 90ns、80ns、70ns 和 60ns,则该计算机的 CPU 时钟周期至少是 A90ns B.80ns C.70ns D.60ns2022-5-1870四、流水线性能四、流水线性能 1. 吞吐率吞吐率 单位时间内单位时间内 流水线所完成指令流水线所完成指令 或或 输出结果输出结果 的的 数量数量 最大吞吐率最大吞吐率 实际吞吐率实际吞吐率 连续处理连续处理 n 条指令的吞吐率为条指令的吞吐率为设设 m 段的流水线