《第04章指令系统优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第04章指令系统优秀PPT.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第04章指令系统现在学习的是第1页,共35页指令指令操作码:说明指令操作的性质和功能操作码:说明指令操作的性质和功能地址码:地址码:操作数源地址操作数源地址操作结果地址操作结果地址下一条指令的地址下一条指令的地址指令指令=操作码操作码+地址码地址码+地址码地址码n个个4.1 指令格式及其设计指令格式及其设计 指令指令:计算机硬件能识别并直接执行的操作命令计算机硬件能识别并直接执行的操作命令,即机器指令。即机器指令。指令系统指令系统:一台计算机所能执行的全部指令的集合。一台计算机所能执行的全部指令的集合。4.1.1 指令格式指令格式现在学习的是第2页,共35页n下面以运算类指令为例来说明地址码的
2、设计它需要两个源操作数下面以运算类指令为例来说明地址码的设计它需要两个源操作数地址,一个目的操作数地址早期的中没有(程序计数器),地址,一个目的操作数地址早期的中没有(程序计数器),因此在指令中需要指出下一条指令地址此时需个操作数地址因此在指令中需要指出下一条指令地址此时需个操作数地址操作码操作码源源源源目的目的下条指令地址下条指令地址4.1.2 指令操作数地址码格式指令操作数地址码格式 n=4 四地址指令四地址指令 n=3 三地址指令,用代替下一条指令地址三地址指令,用代替下一条指令地址 n=2 二地址指令,一个源操作数地址兼作目的操作数地址二地址指令,一个源操作数地址兼作目的操作数地址 n
3、=1 一地址指令,其中一个地址为隐含地址一地址指令,其中一个地址为隐含地址 n=0 地址指令,没有地址码。如停机指令。地址指令,没有地址码。如停机指令。现在学习的是第3页,共35页操作数本身操作数本身寄存器地址寄存器地址主存单元地址主存单元地址地址偏移量地址偏移量 4.1.3 指令操作码的格式指令操作码的格式目的:目的:确定操作码位数和编码方式确定操作码位数和编码方式定长操作码:定长操作码:系统中有系统中有n条指令,操作码需要条指令,操作码需要Log2n位,位,结构简单,便于译码处理结构简单,便于译码处理变长操作码:变长操作码:操作码长度可变,使指令格式编排高效、操作码长度可变,使指令格式编排
4、高效、紧凑,能缩短指令操作码的平均长度紧凑,能缩短指令操作码的平均长度,但增加了指令译但增加了指令译码的难度码的难度地址码的内容地址码的内容现在学习的是第4页,共35页例例:设某台计算机有设某台计算机有100条指令条指令,(1)采用固定长度操作码编码采用固定长度操作码编码,试设计其操作码的编码试设计其操作码的编码(2)如果这如果这100条指令中有条指令中有10条指令的使用概率达条指令的使用概率达90%,其余其余90条指令的使用概条指令的使用概率为率为10%,即在实际程序中即在实际程序中,90%的指令只是的指令只是10条常用指令条常用指令.试采用不等长编码设试采用不等长编码设计一种操作码编码的方
5、案计一种操作码编码的方案,并求出操作码的平均长度并求出操作码的平均长度.解解:(1)采用固定长度操作码编码时采用固定长度操作码编码时,需用需用7位操作码位操作码,用用0000000到到1100011之间的代码代表之间的代码代表100条指令条指令,即即:0000000 指令指令0的操作码的操作码 0000001 指令指令1的操作码的操作码 1100011 指令指令99的操作码的操作码 余下从余下从1100100到到1111111共共28个代码可用于增加新指令个代码可用于增加新指令,每条指令的操作每条指令的操作码的长度均为码的长度均为7现在学习的是第5页,共35页(2)用用4位代码对位代码对10条
6、常用指令进行编码条常用指令进行编码,用用8位代码对位代码对90条不常用的代码进行编条不常用的代码进行编码码,即即:0000 指令指令0的操作码的操作码 0001 指令指令1的操作码的操作码 1001 指令指令9的操作码的操作码 10100000 指令指令10的操作码的操作码 10100001 指令指令11的操作码的操作码 11111001 指令指令99的操作码的操作码 指令操作码的平均长度指令操作码的平均长度:4*90%+8*10%=4.4(位位)4位位10条条8位位90条条现在学习的是第6页,共35页n指令操作码扩展技术指令操作码扩展技术:在指令中有一个固定长度的字在指令中有一个固定长度的字
7、段表来表示基本操作码,而对于一部分不需要某个地段表来表示基本操作码,而对于一部分不需要某个地址码的指令,把他们的操作码扩充到该地址字段,称址码的指令,把他们的操作码扩充到该地址字段,称扩展操作码技术扩展操作码技术n优点优点:使定长的指令代码实现更多条的指令功能使定长的指令代码实现更多条的指令功能n缺点缺点:扩展操作码译码较复杂扩展操作码译码较复杂,硬件设计难度加大硬件设计难度加大 例例:设某机器的指令字长为设某机器的指令字长为16位位,包括基本操作码包括基本操作码4位和三位和三个地址字段个地址字段,每个地址字段长每个地址字段长4位位,其格式为其格式为(见下页见下页):试设计试设计一个扩展操作码
8、一个扩展操作码,能对下列指令译码能对下列指令译码:15条三地址指令条三地址指令,14条两地址指令条两地址指令,31条一地址指令条一地址指令,16条条零地址指令零地址指令4.1 指令格式及其设计指令格式及其设计现在学习的是第7页,共35页0000 XXXX YYYY ZZZZ1110 XXXX YYYY ZZZZ1111 0000 YYYY ZZZZ1111 1101 YYYY ZZZZ1111 1110 0000 ZZZZ1111 1110 0001 ZZZZ1111 1110 1111 ZZZZ1111 1111 0000 ZZZZ1111 1111 1110 ZZZZ1111 1111 1
9、111 00001111 1111 1111 111115条条三地址三地址指令指令14条条两地址两地址指令指令31条条一地址一地址指令指令16条条零地址零地址指令指令OPA1 A2 A303478111215扩展操作码标志扩展操作码标志扩展操作码标志扩展操作码标志扩展操作码标志扩展操作码标志现在学习的是第8页,共35页 指令字长指令字长:一个指令中包含二进制代码的位数一个指令中包含二进制代码的位数 单字长指令单字长指令:指令字长度等于机器字长度的指令指令字长度等于机器字长度的指令 双字长指令双字长指令:指令字长度等于两个机器字长度的指令指令字长度等于两个机器字长度的指令 机器字长机器字长:计算
10、机能直接处理的二进制数据的位数计算机能直接处理的二进制数据的位数,通常与主存通常与主存 单元的位数一致单元的位数一致.例例:指令格式如下所示指令格式如下所示,其中其中OP为操作码为操作码,试分析指令格式的特点试分析指令格式的特点.解解:(1)单字长二地址指令单字长二地址指令(设机器字长为设机器字长为16位位)(2)操作码字段操作码字段OP可以指定可以指定27=128条指令条指令 (3)为为RR型指令型指令,两个操作数均在寄存器中两个操作数均在寄存器中 OP-源寄存器源寄存器 目的寄存器目的寄存器03479154.1.4 4.1.4 指令字长度指令字长度现在学习的是第9页,共35页 1.1.指令
11、操作码要有适当的的长度,以便能表示出所有的机器指令。在设计时指令操作码要有适当的的长度,以便能表示出所有的机器指令。在设计时应协调好应协调好操作码操作码和和地址码地址码两者的长度。两者的长度。2.2.一般说一般说,指令长度短一些好指令长度短一些好.指令短占用的存储单元少,减少访存次指令短占用的存储单元少,减少访存次数,提高指令的执行速度,指令长虽然可以包含更多的操作信息,增强指数,提高指令的执行速度,指令长虽然可以包含更多的操作信息,增强指令系统的功能,但需占用多个存储单元令系统的功能,但需占用多个存储单元,需多次访问内存才能取出该指令。需多次访问内存才能取出该指令。3.3.指令长度应是存储单
12、元字长的整数倍指令长度应是存储单元字长的整数倍,以充分利用存储空间。以充分利用存储空间。4.4.地址码的表示形式也会直接影响指令代码长度。地址码的表示形式也会直接影响指令代码长度。5.5.为优化指令系统,通常会采用变长指令,扩展操作码和多种地址码表为优化指令系统,通常会采用变长指令,扩展操作码和多种地址码表示形式。示形式。Intel 8086/8088Intel 8086/8088指令系统中,指令长度有单、双、三、四、五、指令系统中,指令长度有单、双、三、四、五、六字节六种,地址格式有、六字节六种,地址格式有、1 1、2 2 地址三种形式。地址三种形式。4.1.5 4.1.5 设计一个指令系统
13、应考虑的问题设计一个指令系统应考虑的问题现在学习的是第10页,共35页寻址方式寻址方式:指令中如何提供操作数或指令地址的方法指令中如何提供操作数或指令地址的方法.分为分为指令寻址方式指令寻址方式和和操作数寻址方式操作数寻址方式.4.2.1 4.2.1 指令的寻址方式指令的寻址方式 1.顺序寻址方式顺序寻址方式 2.跳跃寻址方跳跃寻址方式式PC+1内存内存地址地址0127LDA 200ADD 201INCLDA 200PC地址地址内存内存345678JMP 6LDA 206SUB 207INC LDA 2004.2 4.2 指令和数据的寻址方式指令和数据的寻址方式现在学习的是第11页,共35页
14、设设DataData为操作数为操作数,指令格式为指令格式为:形式地址形式地址(D)(D):当操作数存放在主存单元中时当操作数存放在主存单元中时,若指令中的地址若指令中的地址码不能直接用来访问主存码不能直接用来访问主存,则这样的地址码称为形式地址则这样的地址码称为形式地址(或偏或偏移量移量)。有效地址有效地址(E)(E):对形式地址进行一定对形式地址进行一定计算计算而得到的存放操作数而得到的存放操作数的主存单元地址。的主存单元地址。1.1.立即寻址立即寻址:Data=D:Data=D所需的操作数由指令地址码部分直接给出,指令长,速度快,所需的操作数由指令地址码部分直接给出,指令长,速度快,即操作
15、数包含在指令内,操作数是固定不能修改,通常用于为即操作数包含在指令内,操作数是固定不能修改,通常用于为主存单元和寄存储器提供常数。主存单元和寄存储器提供常数。OP OP寻址方式寻址方式 MODMOD形式地址形式地址 D D4.2.2 4.2.2 操作数寻址方式操作数寻址方式现在学习的是第12页,共35页 2.直接寻址直接寻址:指令的地址码部分给出操作数的存储单元地址,即有效地址指令的地址码部分给出操作数的存储单元地址,即有效地址.特点特点:(1)随着主存容量不断扩大随着主存容量不断扩大,所需地址码越来越多所需地址码越来越多,导致指令长度增加导致指令长度增加;(2)不必作寻址计算,简单并易于硬件
16、实现不必作寻址计算,简单并易于硬件实现;(3)有效地址是指令的一部分有效地址是指令的一部分,不能修改不能修改,故只能访问固定的单元故只能访问固定的单元 直接寻址的逻辑表达式为直接寻址的逻辑表达式为:E=D Data=(E)=(D)3.寄存器寻址寄存器寻址:指令的地址码部分给出存储操作数的寄存器号,所指定的寄指令的地址码部分给出存储操作数的寄存器号,所指定的寄存器中放着操作数存器中放着操作数.优点优点:(1)寄存器在内部,寄存器在内部,寄存器存取数据的速度比主存快得多寄存器存取数据的速度比主存快得多;(2)由于寄存器的数量少由于寄存器的数量少,其地址码也比主存单元地址短得多其地址码也比主存单元地
17、址短得多.Data=(Ri)现在学习的是第13页,共35页4.寄存器间址寄存器间址 指令中指出寄存器地址,而寄存器中存放操作数指针指令中指出寄存器地址,而寄存器中存放操作数指针 优点优点:与存储器间址比较,指令代码短,只需访问一次内存。如在与存储器间址比较,指令代码短,只需访问一次内存。如在程序执行过程中改变寄存器内容,同一指令可访问不同的内存单程序执行过程中改变寄存器内容,同一指令可访问不同的内存单元。元。存储器存储器 操作数操作数S A1A1R操作码操作码 R指令字指令字操作数操作数Data与寄存器与寄存器R的关系为的关系为:Data=(R)现在学习的是第14页,共35页 5.存储器间址存
18、储器间址:指令地址码部分给出操作数指令地址码部分给出操作数地址的地址地址的地址,可将主存可将主存单元作为操作数的指针,只要改变指针内容就可改变操作数地址,而单元作为操作数的指针,只要改变指针内容就可改变操作数地址,而不需修改指令不需修改指令,较直接寻址更灵活但至少要两次访问内存,执较直接寻址更灵活但至少要两次访问内存,执行时间长还有多次间址的指令行时间长还有多次间址的指令 有效地址有效地址E=(D)操作数操作数Data与间接地址与间接地址D的关系的关系:Data=(E)=(D)操作码操作码 D操作数地址操作数地址E IRD操作数地址操作数地址操作数操作数S 主存主存现在学习的是第15页,共35
19、页例例:指令系统中如有指令系统中如有196条不同的指令条不同的指令,则指令的操作码至少应为则指令的操作码至少应为位位.某存储器按字编址某存储器按字编址,字长为字长为32位位,指令的形式地址为指令的形式地址为8位位,直接寻址的空间直接寻址的空间为为,一次间接寻址的空间为一次间接寻址的空间为.例例:在一个单地址指令的计算机系统中有一个累加器在一个单地址指令的计算机系统中有一个累加器,给定以下存储器数给定以下存储器数值值:地址为地址为20的单元中存放的内容为的单元中存放的内容为30;地址为地址为30的单元中存放的内容为的单元中存放的内容为40;地址为地址为40的单元中存放的内容为的单元中存放的内容为
20、50;地址为地址为50的单元中存放的内容为的单元中存放的内容为60;求以下指令分别将什么数值装入累加器中求以下指令分别将什么数值装入累加器中?(1)load#20 (2)load 20 (3)load (20)(4)load#30 (5)load 30 (6)load (30)现在学习的是第16页,共35页 解解:(1)立即寻址立即寻址,(累加器累加器)=20 (2)直接寻址直接寻址,(累加器累加器)=(20)=30 (3)间接寻址间接寻址,(累加器累加器)=(20)=(30)=40 (4)立即寻址立即寻址,(累加器累加器)=30 (5)直接寻址直接寻址,(累加器累加器)=(30)=40 (6
21、)间接寻址间接寻址,(累加器累加器)=(30)=(40)=50现在学习的是第17页,共35页 6.相对寻址相对寻址 操作数有效地址操作数有效地址E=(PC)+DOP DOP DIRPC A加加法法器器操作数操作数SAA+DD指令指令主存主存这种寻址方式为这种寻址方式为:Data=(E)=(PC)+D)现在学习的是第18页,共35页 7.变址寻址与基址寻址变址寻址与基址寻址 (1)变址寻址变址寻址 操作数地址操作数地址 =变址寄存器内容变址寄存器内容+指令地址码部分给出地址(形式地址)指令地址码部分给出地址(形式地址)操作数操作数SOPRD加加法法器器 NDD+N操作数操作数Data与地址码与地
22、址码R、D的关系为的关系为Data=(E)=(R)+D)(2)基址寻址:基址寻址:操作数地址操作数地址=基址寄存器内容基址寄存器内容+指令地址码部分给出地址指令地址码部分给出地址现在学习的是第19页,共35页 8.堆栈寻址堆栈寻址:用一部分主存来作为堆栈用一部分主存来作为堆栈.用堆栈指示器用堆栈指示器SP来确定栈顶来确定栈顶.进栈时进栈时,(A)MSP,(SP)-1SP;出栈时出栈时,(SP)+1SP,(MSP)A.其中其中,A为累加器为累加器,SP为为堆栈指示器堆栈指示器,MSP为指定的栈顶单元。为指定的栈顶单元。300a存储器存储器274275276277300301SP通用寄存器通用寄存
23、器A栈顶栈顶进栈以前进栈以前277aSP通用寄存器通用寄存器A274275276277300301栈顶栈顶 进栈以后进栈以后275274275276277300301SP出栈以前出栈以前276cSP274275276277300301栈顶栈顶 出栈以后出栈以后通用寄存器通用寄存器A栈顶栈顶c ba通用寄存器通用寄存器Ab a 进栈操作进栈操作出栈操作出栈操作a现在学习的是第20页,共35页例例:堆栈操作中堆栈操作中,设设A为累加器为累加器,SP为堆栈指示器为堆栈指示器,MSP为指定的为指定的栈顶单元栈顶单元,如果进栈动作是如果进栈动作是(SP)+1 SP,(A)MSP,则出栈的动作应为则出栈的
24、动作应为()A.(MSP)A,(SP)+1 SP B.(SP)+1 SP,(MSP)A C.(MSP)A,(SP)-1 SP D.(SP)-1 SP,(MSP)A例例:如果进栈动作是如果进栈动作是(SP)-1 SP,(A)MSP,则出栈的动作应为则出栈的动作应为()现在学习的是第21页,共35页 9.段寻址方式段寻址方式:将内存空间划分为若干段将内存空间划分为若干段逻辑地址逻辑地址 段寄存器段寄存器0000+存储器物理地址存储器物理地址019015015现在学习的是第22页,共35页主存主存A010A0F0指令指令操作数操作数SOPD=F0IRA010PC特点特点:有效地址为有效地址为形式地址
25、形式地址与与PC的高位的高位的的简单拼装简单拼装,故寻址迅速。故寻址迅速。10.页面寻址方式页面寻址方式:将将PC的高位内容与指令的形式地址的高位内容与指令的形式地址(作为低位作为低位)相拼接形成操作数的有效地址相拼接形成操作数的有效地址.相当于将整个主存空间划分为若相当于将整个主存空间划分为若干相等的区干相等的区,每个区为一页每个区为一页,PC高位部分指定页面地址高位部分指定页面地址,每页由若每页由若干存储单元组成干存储单元组成,指令中的形式地址给出的是操作数存放在页内指令中的形式地址给出的是操作数存放在页内的序号。的序号。现在学习的是第23页,共35页指令系统中指令系统中采用不同寻址方式的
26、目的采用不同寻址方式的目的主要是缩短指令长度,扩大寻址空间主要是缩短指令长度,扩大寻址空间,提高编程灵活性。提高编程灵活性。寻址方式总结寻址方式总结现在学习的是第24页,共35页例例:假设假设(R)=1000,(1000)=2000,(2000)=3000,(PC)=4000,问在以下寻址方式问在以下寻址方式下访问到的操作数的值是什么下访问到的操作数的值是什么?(1)寄存器寻址寄存器寻址R(2)寄存器间接寻址寄存器间接寻址(R)(3)直接寻址直接寻址1000(4)存储器间接寻址存储器间接寻址(1000)(5)相对寻址相对寻址-2000(PC)(6)立即数寻址立即数寻址#2000解解:(1)Da
27、ta=(R)=1000 (2)Data=(R)=(1000)=2000 (3)Data=(1000)=2000 (4)Data=(1000)=(2000)=3000 (5)EA=(PC)-2000=4000-2000=2000 Data=(EA)=(2000)=3000 (6)Data=2000现在学习的是第25页,共35页例例:已知某计算机为单字长指令格式已知某计算机为单字长指令格式,指令指令K,如下图所示如下图所示.设设PC,RX,RB分别为分别为指令计数器、变址寄存器、基址寄存器,指令计数器、变址寄存器、基址寄存器,RX、RB均为均为16bit;E为有效地址,为有效地址,问:问:指令格式
28、指令格式指令指令KOPMX D5 位位2位位1位位8位位OP010 DOP-操作码操作码M-寻址方式寻址方式X-变址寻址变址寻址D-形式地址形式地址(补码补码,一位符一位符号位号位)M寻址方式寻址方式00011011直接寻址直接寻址基址寻址基址寻址相对寻址相对寻址立即寻址立即寻址(1)该指令格式能定义多少种不同的操作该指令格式能定义多少种不同的操作?立即寻址操作数的范围立即寻址操作数的范围?解解:指令操作码指明操作的种类指令操作码指明操作的种类.操作码操作码OP为为5bit,所以该指令格式可以所以该指令格式可以定义定义32种不同的操作种不同的操作.若为立即寻址若为立即寻址,操作数操作数Data
29、=D,D为为8位补码位补码表示表示,故能故能表示的操作数的范围是表示的操作数的范围是-27=Data=27-1现在学习的是第26页,共35页(2)写出各种寻址方式下有效地址的表达方式写出各种寻址方式下有效地址的表达方式.解解:直接寻址直接寻址E=D 基址寻址基址寻址E=(RB)+D 相对寻址相对寻址E=(PC)+D 立即寻址立即寻址Data=D(3)指令指令K可以寻址的存储空间是多少可以寻址的存储空间是多少?解解:指令指令K为基址寻址为基址寻址,E=(RB)+D,RB为为16bit,即即RB的取值范围为的取值范围为0-216-1;又因又因D为为8bit补码补码,D的取值范围为的取值范围为-12
30、8=D=127,所以所以0=E=216-1+127=65662所以所以,指令指令K可以寻址的存储空间为可以寻址的存储空间为0-65662现在学习的是第27页,共35页例例:(P141)某某16位机器所使用的指令格式和寻址方式如下所示位机器所使用的指令格式和寻址方式如下所示,该机有两该机有两个个20位基址寄存器位基址寄存器,四个四个16位变址寄存器位变址寄存器,16个个16位通用寄存器位通用寄存器,指令汇编格式指令汇编格式中的中的S(源源)、D(目标目标)都是通用寄存器都是通用寄存器,M为主存中的一个单元为主存中的一个单元.假设第假设第1,2,3种种指令的操作码是指令的操作码是:MOV=(A)H
31、,STA=(1B)H,LDA=(3C)H OP 目标目标 源源 OP 基址基址 源源 变址变址 位移量位移量 OP 目标目标20位地址位地址123MOV S,D STA S,M LDA M,D问问:(1)分析三种指令的指令格式与寻址方式特点分析三种指令的指令格式与寻址方式特点.(2)处理机完成哪一种操作花的时间最长处理机完成哪一种操作花的时间最长/最短最短?第第2种指令的执行时种指令的执行时间有时会等于第间有时会等于第3种指令的执行时间吗种指令的执行时间吗?1510 9 8 7 4 3 0现在学习的是第28页,共35页(3)问下列情况下每个十六进制指令字分别代表什么操作问下列情况下每个十六进制
32、指令字分别代表什么操作?(a)(F0F1)H(3CD2)H (b)(2856)H 解解:(a)1111 0000 1111 0001 0011 1100 1101 0010 3 C15(1 3 C D 2)H 为双字长指令为双字长指令,操作码为操作码为3C,所以为所以为LDA指令指令,格式正确格式正确.即将即将(13CD2)H的内容取至的内容取至15号通用寄存器号通用寄存器.(b)单字长指令单字长指令,操作码为操作码为A,代表代表MOV指令指令,将将6号通用寄存器的内容号通用寄存器的内容送到送到5号通用寄存器号通用寄存器.0010 1000 0101 0110 A 5 6现在学习的是第29页,
33、共35页例例:(设计题设计题)某台计算机字长为某台计算机字长为16位位,主存容量为主存容量为64K字字,采用单字长单地采用单字长单地址指令址指令,共有共有64条指令条指令,试采用直接、间接、变址、相对四种寻址方式设试采用直接、间接、变址、相对四种寻址方式设计指令格式计指令格式,变址寄存器和变址寄存器和PC均为均为16位位.解解:64条指令需操作码条指令需操作码6位位,寻址方式为寻址方式为4种种,设寻址模式位设寻址模式位(X)为为2位位,形式形式地址为地址为8位位.指令格式为指令格式为:OP X D15 10 9870 寻址模式寻址模式X定义为定义为:X=00 直接寻址直接寻址有效地址有效地址E
34、=D (256个单元个单元)X=01 间接寻址间接寻址有效地址有效地址E=(D)(64K个单元个单元)X=10 变址寻址变址寻址有效地址有效地址E=(R)+D (64K个单元个单元+127)X=11 相对寻址相对寻址有效地址有效地址E=(PC)+D (64K个单元个单元+127)现在学习的是第30页,共35页4.31 4.31 背景背景指令系统发展的三个阶段指令系统发展的三个阶段1 1 硬件简单,指令简单,复杂功能由软件完成。硬件简单,指令简单,复杂功能由软件完成。2 2 集成电路技术的完善,复杂的硬件电路,完成复杂的指令集成电路技术的完善,复杂的硬件电路,完成复杂的指令功能,可以加快程序的执
35、行速度,出现了复杂指令集计算功能,可以加快程序的执行速度,出现了复杂指令集计算机机CISC CISC。3 3 实际效果并非如此,程序使用的是简单指令,为实际效果并非如此,程序使用的是简单指令,为的指令付出昂贵的硬件代价不合适,出现了简化指令集计的指令付出昂贵的硬件代价不合适,出现了简化指令集计算机算机RISC RISC。RISCRISC是在扬弃是在扬弃CISCCISC的基础上发展起来的。的基础上发展起来的。CISCCISC:Complex Instruction Set Computer Complex Instruction Set Computer 复杂指令集计算机复杂指令集计算机RISC
36、RISC:Reduced Instruction Set Computer Reduced Instruction Set Computer 精简指令集计算机精简指令集计算机4.3 4.3 简化指令集计算机简化指令集计算机现在学习的是第31页,共35页4.3.2 4.3.2 指令系统优化设计中两个截然相反的方向指令系统优化设计中两个截然相反的方向1.CISC1.CISC的特点的特点(1)(1)增强指令功能增强指令功能,设置功能复杂的指令。指令数目设置功能复杂的指令。指令数目一般多达一般多达200200300300条条(2)(2)用一条指令代替一串指令用一条指令代替一串指令,编写的程序占用的存编
37、写的程序占用的存储空间小储空间小(3)(3)指令系统提供多种寻址方式指令系统提供多种寻址方式(4)(4)各种指令使用频率相差很大各种指令使用频率相差很大,且各种指令执行时间且各种指令执行时间相差很大相差很大(5)(5)大多数采用微程序控制器大多数采用微程序控制器现在学习的是第32页,共35页 2.RISC2.RISC的特点的特点(1)(1)指令系统选用使用频率最高的一些简单的指令以及那些很指令系统选用使用频率最高的一些简单的指令以及那些很有用但又不复杂的指令。功能较复杂的指令用子程序来实现。有用但又不复杂的指令。功能较复杂的指令用子程序来实现。(2)(2)指令长度固定,格式固定,大多指令在一个
38、机器周期内完成指令长度固定,格式固定,大多指令在一个机器周期内完成,寻址方式种类少。寻址方式种类少。(3)(3)只有存、取只有存、取(Load/Store)(Load/Store)指令访问存储器,其它指令的指令访问存储器,其它指令的操作都在寄存器之间进行。操作都在寄存器之间进行。(4)(4)中设置较多的通用寄存器。中设置较多的通用寄存器。(5)(5)大多采用流水线技术,提高程序的执行速度。大多采用流水线技术,提高程序的执行速度。(6)(6)一般都采用一般都采用cache cache 主存主存 辅存三级存储结构。辅存三级存储结构。(7)(7)控制器一般采用硬布线控制逻辑控制器一般采用硬布线控制逻
39、辑,很少或不用微程序控制。很少或不用微程序控制。现在学习的是第33页,共35页为为提高程序的运算速度提高程序的运算速度,减少程序的运行时间减少程序的运行时间,CISC采用的是减少采用的是减少N,RISC是减少是减少C和和S.RISC CISC N CS 1.2-1.4 11.3-1.7 4-10 1 1注注:N,S为相对值为相对值,C为实际机器周期数为实际机器周期数3.RISC3.RISC与与CISCCISC的比较的比较 程序的运行时间程序的运行时间T T可用下式表示可用下式表示:T=N*C*S:T=N*C*S 其中其中,N N是高级语言程序编译后的机器指令数目是高级语言程序编译后的机器指令数
40、目,C C为执行每条机器指令所需的平均机器周期数为执行每条机器指令所需的平均机器周期数,S S是每个机器周期的执行时间是每个机器周期的执行时间现在学习的是第34页,共35页作业作业:一一.P151第第1,2,3,4,5,6题题 二二.某计算机字长为某计算机字长为16位,双操作数指令格式为位,双操作数指令格式为 OP R D 628其中其中OP为操作码,为操作码,R为目标操作数所在的通用寄存器编号,为目标操作数所在的通用寄存器编号,D为形式地为形式地址,指示源操作数。问址,指示源操作数。问:(1)该指令系统有多少条双操作数指令该指令系统有多少条双操作数指令?(2)CPU中有多少个通用寄存器中有多少个通用寄存器?(3)当源操作数采用立即寻址,直接寻址和一次间接寻址时,寻址空当源操作数采用立即寻址,直接寻址和一次间接寻址时,寻址空间为多少机器字间为多少机器字?三三.某存储器堆栈某存储器堆栈,栈底地址为栈底地址为200H,SP为堆栈指针为堆栈指针(1)试画出空栈时堆栈情况示意图。试画出空栈时堆栈情况示意图。(2)将数据将数据A,B,C按顺序压入堆栈后,画出堆栈的情况示意图。按顺序压入堆栈后,画出堆栈的情况示意图。(3)写出数据入栈操作步骤。写出数据入栈操作步骤。现在学习的是第35页,共35页