




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 指令系统,2020年7月22日星期三,2,目录,4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 操作数类型 4.4 指令和数据的寻址方式 4.5 典型指令 4.6 本章练习题,2020年7月22日星期三,3,考研计算机统考大纲要求,(一) 指令格式 指令的基本格式 定长操作码指令格式 扩展操作码指令格式 (二)指令的寻址方式 有效地址的概念 数据寻址和指令寻址 常见寻址方式 (三) CISC和RISC的基本概念,2020年7月22日星期三,4,4.1 指令系统的发展和性能要求,4.1.1 指令系统的发展 4.1.2 对指令系统性能的要求 4.1.3 低级语言与硬件结构的关系
2、,2020年7月22日星期三,5,4.1.1指令系统的发展,程序用于解决实际问题的一系列的指令; 指令使计算机执行某种操作的命令; 从组成的层次结构来说,计算机的指令可分为如下3类: 微指令:微程序级的命令,它属于硬件; 机器指令(指令):可完成一个独立的算术或逻辑运算; 宏指令:由若干条机器指令组成的软件指令,它属于软件; 指令系统:一台计算机中所有机器指令的集合。 直接影响机器的硬件结构、软件系统、以及机器的适用范围。,2020年7月22日星期三,6,计算机指令系统的发展过程,50年代 只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。 60年代后期 增加了乘除运算、浮点运算、十进
3、制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。 出现了系列计算机。 70年代末期 复杂指令系统计算机(CISC)、精简指令系统计算机(RISC),2020年7月22日星期三,7,系列计算机,基本指令系统、基本体系结构相同的一系列计算机; 但具体的器件、结构和性能都不会完全相同; 一般,新机种在各方面要优于旧机种。 一个系列往往有多种型号,各型号计算机的指令系统是向下兼容的。 新机种的指令系统包含旧机种的全部指令; 如Pentium系列PC机。,2020年7月22日星期三,8,CISC,CISC(complex instruction set computer) 采用复杂的
4、的指令系统,来达到增强计算机的功能、提高机器速度的目的。 特点: 指令系统复杂庞大,指令数目多; 指令格式多,字长不固定,多种寻址方式; 可访存指令不受限制; 各种指令的执行时间相差很大; 大都采用微程序控制器;,2020年7月22日星期三,9,RISC,RISC(Reduced instruction set computer) 从简化指令系统和优化硬件设计的角度来提高系统的性能与速度。 RISC指令系统的主要特点: 选取使用频率高的简单指令; 指令长度固定,指令格式少,寻址方式种类少; 采用流水线技术; 使用较多的通用寄存器,减少访存; 控制器以组合逻辑控制为主; 采用优化编译技术;,20
5、20年7月22日星期三,10,判断以下有关CISC和RISC的描述的正误,采用RISC技术后,计算机的体系结构又回复到早期比较简单的情况; 为了实现兼容,新设计的RISC,是从原来CISC系统的指令系统中挑选一部分实现的; RISC的主要目的是减少指令; RISC设有乘、除法指令和浮点运算指令;,2020年7月22日星期三,11,4.1.2指令系统性能的要求,指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。 一个完善的指令系统应满足如下四方面的要求 完备性 常用指令齐全,编程方便; 有效性 程序占用内存少,运行速度快; 规整性 指令和数据的使用规则统一,易
6、学易记; 兼容性 同一系列的低档计算机的程序能够在新的高档计算机上运行。,2020年7月22日星期三,12,指令系统的规整性要求,规整性包括对称性、匀齐性、指令格式和数据格式的一致性三方面的要求。 对称性 所有的指令都可使用各种寻址方式; 匀齐性 一种操作性质的指令可以支持各种数据类型; 指令格式和数据格式的一致性 指令长度和数据长度有一定的关系,以方便处理和存取;,2020年7月22日星期三,13,4.1.3低级语言与硬件结构的关系,低级语言: 面向机器的语言,和具体机器的指令系统密切相关。 高级语言与低级语言的比较如P105 表4.1,机器语言、汇编语言,2020年7月22日星期三,14,
7、4.2 指令格式,4.2.1 操作码 4.2.2 地址码 4.2.3 指令字长度 4.2.4 指令助记符 4.2.5 指令格式举例,2020年7月22日星期三,15,指令的一般格式,指令字(简称指令) 表示一条指令的机器字。 指令格式 指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。 操作码字段:表征指令的操作特性与功能; 地址码字段:通常指定参与操作的操作数的地址。,2020年7月22日星期三,16,4.2.1操作码,操作码字段的位数取决于指令系统的规模; 操作码的类型: 固定长度的操作码 特征:所有指令长度均相同。 优点:控制简单,速度快,适用于指令条数不多的场合。 可变长
8、度的操作码 特征:频繁使用的指令用位数较少的操作码; 不常使用的指令可利用操作码扩展技术进行扩展; 优点:充分利用软硬件资源,适用于大规模的指令系统。,操作码字段为4位,则指令系统中的指令数目为24=16条。,2020年7月22日星期三,17,4.2.2地址码(1/2),一条指令格式中有几个地址码字段,就称为是几地址指令; 零地址指令 无任何操作数运算,如NOP、HALT等指令。 单操作数运算:隐含一个操作数,如Acc 。 OP (Acc) Acc 一地址指令 单操作数运算:OP (A1) A1 双操作数运算:隐含一个操作数,如Acc (Acc) OP (A1) Acc/A1,如INC指令,如
9、MUL指令,如CBW指令,2020年7月22日星期三,18,4.2.2地址码(2/2),两地址指令 功能: (A1) OP (A2) A1 三地址指令 功能: (A1) OP (A2) A3 多地址指令(如四地址) 这类指令功能强,一般用高档小型机或中大型机,用于实现成批数据处理,字符串处理、向量或矩阵运算指令等。,如ADD、XOR等指令,2020年7月22日星期三,19,存储器-存储器(SS)型指令 A1、A2均为存储单元; 这类指令的执行需要多次访存。 寄存器-寄存器(RR)型指令 A1、A2均为寄存器(通用寄存器、专用寄存器); 这类指令的执行不需要访存,因此速度很快。 寄存器-存储器(
10、RS)型指令 A1、A2中一个为寄存器,一个为存储单元; 执行此类指令时,既要访问内存单元,又要访问寄存器。,两地址指令的分类,根据操作数的物理位置分。,哪种类型指令执行速度较快,哪种指令较慢?为什么?,2020年7月22日星期三,20,指令的操作码扩展技术(补充),一个指令系统中 若操作码长度固定且指令格式不同; 指令格式如右: 操作码字段长度取决于指令系统中的指令总数目; 地址码较少的指令,编码浪费; 操作码扩展 对于不需要某个地址码的指令,把它们的操作码扩充到该地址字段; 既充分利用指令字的各字段,又在不增加指令长度的情况下扩展操作码的长度。,无用,无用,无用,无用,无用,无用,2020
11、年7月22日星期三,21,设某指令长16位,包括4位基本操作码字段和3个4位地址码字段。 若全是三地址指令,则最多能有多少条指令? 操作码为4位的,则指令条数为24=16。 若三地址指令需15条 两地址指令需15条 应如何安排? 单地址指令需15条 零地址指令需16条 可使用操作码扩展技术,缩短固定操作码长度;,操作码扩展举例(1/3),2020年7月22日星期三,22,0000 A1 A2 A3 . 1110 A1 A2 A3 1111 0000 A1 A2 . 1111 1110 A1 A2 1111 1111 0000 A1 . 1111 1111 1110 A1 1111 1111 1
12、111 0000 . 1111 1111 1111 1111,15条三地址指令,15条二地址指令,15条一地址指令,16条零地址指令,此指令系统共具有61条指令,4 位操作码,8 位操作码,12 位操作码,16 位操作码,如果采用操作码扩展方法能否设计一个具有三地址指令15条,双地址指令12条,单地址指令31条以及零地址指令16条的指令系统?,操作码扩展举例(2/3),2020年7月22日星期三,23,0000 A1 A2 A3 . 1110 A1 A2 A3 1111 0000 A1 A2 . 1111 1011 A1 A2 1111 1100 0000 A1 . 1111 1101 111
13、1 A1 1111 1110 0000 0000 . 1111 1110 0000 1111,15条三地址指令,12条二地址指令,32条一地址指令,16条零地址指令,此指令系统共具有75条指令,操作码扩展举例(3/3),4 位操作码,8 位操作码,12 位操作码,16 位操作码,2020年7月22日星期三,24,【例】某机指令字长32位,一个操作数地址为12位,有双地址码、单地址码、零地址码3种格式的指令。若采用扩展操作码的方式来设计指令,已知双地址码指令K条,单地址码指令L条,问零地址码指令有多少条?,双地址码指令 操作码长度为(32122)8位; 单地址码指令 操作码长度为(3212)20
14、位; 操作码的可扩展位为20812位。 零地址码指令 操作码长度为32位 操作码的可扩展位为322012位。,2020年7月22日星期三,25,【例】某机指令字长32位,一个操作数地址为12位,有双地址码、单地址码、零地址码3种格式的指令。若采用扩展操作码的方式来设计指令,已知双地址码指令K条,单地址码指令L条,问零地址码指令有多少条?,由以上分析的指令格式,及题目可知: 双地址码指令最多有28条; 可用于扩展单地址码指令的编码有(28K)个; 单地址码指令最多有(28K)212条: 可用于扩展零地址码指令的编码有 (28K)212L个; 因此,零地址码指令最多有 (28K)212 L 212
15、条。,2020年7月22日星期三,26,机器字长 运算器一次能处理的二进制数的位数。 机器指令的长度直接决定着CPU运算的精度和直接寻址能力的大小; 指令字长 一个指令字中包含二进制代码的位数; 指令字长由操作码长度、操作数长度和个数共同决定。 指令有半字长、单字长、双字长、多字长等不同的长度类型; 指令系统可分为等长指令字结构、变长指令字结构两种。,4.2.3指令字长度,2020年7月22日星期三,27,4.2.4指令助记符,指令助记符 使用34个英文缩写字母来表示的指令操作码。 在不同的计算机中,指令助记符的规定是不一样的; 指令助记符只是指令操作码字段的一种表示方法; 机器内部保存的还是
16、二进制代码形式的机器指令; 由汇编或编译程序,将助记符翻译成机器代码。,2020年7月22日星期三,28,4.2.5指令格式举例(1/2),P110 【例1】 某16位系统中,指令格式如下所示,其中OP为操作码,试分析指令格式的特点。 指令字长为_,操作数的数目为_个。 该指令格式的指令最多可有_条。 根据此二地址指令的操作数位置来看,属于_型指令。 RS型、RR型、SS型 这种指令结构常用于_类指令。,单字长,两,128,RR,算术逻辑运算,单字长二地址指令,2020年7月22日星期三,29,4.2.5指令格式举例(2/2),P110 【例2】 某16位系统中,指令格式如下所示,OP为操作码
17、字段,试分析指令格式特点。 指令字长为_,操作数的数目为_个。 操作码字段OP为_位,可以指定_种操作。 一个操作数在源寄存器,该类寄存器共_个,另一个操作数在_中,所以该类指令是_型指令。 存储单元中数据由变址寄存器和位移量共同决定其地址;,双字长,两,6,RS,双字长二地址指令,64,16,存储器,2020年7月22日星期三,30,4.3 操作数类型,机器指令对数据进行操作,数据通常分为以下四类: 地址数据 无符号整数,通过某种运算确定操作数在主存中的有效地址; 数值数据 定点整数、小数;浮点数;压缩十进制数; 字符数据 文本数据或字符串; 逻辑数据 由若干二进制位组成,每位的值可以是1或
18、0。,2020年7月22日星期三,31,4.4 指令和数据的寻址方式,4.4.1 指令的寻址方式 4.4.2 操作数寻址方式 4.4.3 寻址方式举例,2020年7月22日星期三,32,顺序寻址方式 当程序按顺序执行时的指令寻址方式; 必须用程序计数器记录所要执行指令的存放单元地址; 一般做顺序加1的操作; 程序计数器又称指令指针寄存器; 跳跃寻址方式 当程序转移执行时的指令寻址方式; 程序计数器的内容由本条指令给出,而不是顺序改变。,4.4.1 指令的寻址方式,2020年7月22日星期三,33,指令的寻址演示,动画演示: 4-1.swf,LDA 1000,ADD 1001,DEC 1200,
19、JMP 7,LDA 2000,SUB 2001,INC,STA 2500,LDA 1100,.,0,1,2,3,4,5,6,7,8,9,指令的寻址方式,指令地址,指令,2020年7月22日星期三,34,4.3.2操作数的寻址方式,一种单地址码指令的结构如下图: 将指令中的形式地址A变换成操作数有效地址的过程,称为寻址过程。 典型而常用的寻址方式有 隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、偏移寻址、堆栈寻址;,寻址特征位,动画演示 :4-2.swf,2020年7月22日星期三,35,操作数地址隐含在操作码中; 如 8086的MUL 指令 被乘数隐含在 AX(16位)或
20、 AL(8位)中; 指令字中少了一个地址字段,可缩短指令字长;,寻址特征,A,ACC,暂存,另一个操作数 隐含在 ACC 中,隐含寻址,2020年7月22日星期三,36,形式地址A就是操作数; 优点: 指令执行阶段不需要访存,速度快; 缺点: 形式地址A字段的位数限制了立即数的范围。,立即寻址,可正可负,补码表示,2020年7月22日星期三,37,有效地址由形式地址字段A直接给出; EA = A 特点 执行阶段访问一次存储器; A 的位数决定了该指令操作数的寻址范围; 操作数的地址不易修改(必须修改A);,寻址特征,A,ACC,直接寻址,2020年7月22日星期三,38,寻址特征,A,EA,A
21、1,EA,寻址特征,A,一次间址,多次间址,操作数,操作数,间接寻址,有效地址由形式地址字段A间接提供,EA =(A) 特点 可扩大寻址范围; A字段的长度受指令字长和指令格式的限制; 寻址时,可根据需要进行多次间址; 可用寻址特制I字段区分直接寻址和间接寻址方式;,2020年7月22日星期三,39,形式地址字段A为寄存器编号 EA = Ri 特点 执行阶段不访存,只访问寄存器,执行速度快 寄存器个数有限,可缩短指令字长,寻址特征,寄存器寻址,2020年7月22日星期三,40,形式地址字段A用于指出存放有效地址的寄存器编号; EA = ( Ri ) 特点: 执行阶段访存; 便于编制循环程序,寻
22、址特征,寄存器间接寻址,2020年7月22日星期三,41,偏移寻址,直接寻址和寄存器间接寻址方式的结合 有效地址EA=A+(R) A是显式的形式地址字段; R可以是显式的,也可以隐含的,某个专用的寄存器; 常用的偏移寻址 相对寻址:指令转移时,常用相对寻址方式; EA=A+(PC) 基址寻址:EA=(基址R)+A ,A+1A 变址寻址:EA=A+(变址R) ,变址R+1变址R,2020年7月22日星期三,42,4.4.3寻址方式举例,P118【例3】 一种二地址RS型指令的结构如下所示: 通过I,X,D的组合,请写出下表所示的六种寻址方式的名称。,直接寻址,相对寻址,寄存器间接寻址,间接寻址,
23、基址寻址,变址寻址,2020年7月22日星期三,43,P118 【例4】某16位机的指令格式和寻址方式如下所示,设该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令格式中S(源),D(目标)指通用寄存器,M指主存单元。操作码对应机器码:传送指令MOV0AH、写数指令STO1BH、读数指令LAD3CH。,2020年7月22日星期三,44,第一种指令是单字长二地址指令,RR型; 第二种指令是双字长二地址指令,RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定; 第三种指令是双字长二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决定。,(1)分析
24、三种指令的指令格式与寻址方式特点。,2020年7月22日星期三,45,(2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?,第一种指令所花时间最短; 是RR型指令,不需要访问存储器。 第二种指令所花时间最长; RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间。 第二种指令的执行时间不会等于第三种指令 第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。,2020年7月22日星期三,46,(F0F1)H (3CD2)H 指令代表LAD指令,编码正确,其含义是把主存13CD2H 地址单元
25、的内容取至15号寄存器。 (2856)H 指令代表MOV指令,编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。 (6FD6)H 单字长指令,一定是MOV指令,但编码错误,可改为2BD6H。 (1C2)H 单字长指令,代表MOV指令,但编码错误,可改为28C2H。,(3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?MOV001010,STO011011,LAD111100,1111 00 00 1111 0001 0011 1100 1101 0010,0010 10 00 0101 0110,0110 11 11 1101 0110,
26、0010 10,0001 11 00 1100 0010,0010 10,2020年7月22日星期三,47,4.5 典型指令,4.5.1指令的分类(了解) 1. 数据传送指令 2. 算术运算指令 3. 逻辑运算指令 4. 程序控制指令 5. 输入输出指令 6. 字符串处理指令 7. 特权指令 8. 其他指令,4.5.2基本指令系统 (略) 4.5.3精简指令系统 (略),2020年7月22日星期三,48,设某机字长16位,直接寻址空间为128字,变址时的位移量为-64+63,16个通用寄存器都可以作为变址寄存器,请设计一套指令系统,满足下列寻址类型的要求: (1)直接寻址的二地址指令3条; (
27、2)变址寻址的一地址指令6条; (3)寄存器寻址的二地址指令8条; (4)直接寻址的一地址指令12条; (5)零地址指令32条。,本章综合举例1,2020年7月22日星期三,49,指令分析(1/2),直接寻址的二地址指令3条: 这3条指令的操作码为00、01、10; 变址寻址的一地址指令6条: 这6条指令的操作码为:11 000 11 101,7位,7位,2位,7位,4位,5位,2020年7月22日星期三,50,指令分析(2/2),寄存器寻址的二地址指令8条: 这8条指令的操作码为11 110 000 11 110 111; 直接寻址的一地址指令12条: 这12条指令的操作码为:11 111
28、0000 11 111 1011 零地址指令32条: 这32条指令的操作码为:11 111 1100 0000000 11 111 1100 0011111,4位,4位,8位,7位,9位,16位,2020年7月22日星期三,51,某计算机数据线和地址线均是8根,有一条相对寻址的无条件转移指令存于内存的20H单元中,指令给出的偏移量是15H,设该指令占用2个字节,请计算: (1)取该条指令时PC的内容。 (2)该指令执行结束时PC的内容。 解答: (1)取指令时,PC的内容为20H。 (2)转移地址=PC+2+D=20H+2+15H=37H 该条指令执行结束时PC的内容是37H。,本章综合举例2
29、,2020年7月22日星期三,52,本章综合举例3,某指令系统指令字长为20位,具有双操作数、单操作数和无操作数3中指令格式,每个操作数地址规定用6位表示,当双操作数指令条数取最大值,而且单操作数指令条数也取最大值时,这3种指令最多可能拥有的指令数各是多少? 解:按操作码扩展技术来设计,双操作数指令最多28-1条,单操作数指令最多63条,因此无操作数指令条数的最大值为64条。 00000000 XXXXXX XXXXXX 11111110 XXXXXX XXXXXX 11111111 000000 XXXXXX 11111111 111110 XXXXXX 11111111 111111 00
30、0000 11111111 111111 111111,双操作数255条,单操作数63条,零操作数64条,2020年7月22日星期三,53,某机器字长为16位,主存容量是64K字,采用单字长单地址指令,共有54条指令。试采用直接、立即、变址、相对四种寻址方式设计指令格式。 解答: 54条指令,故操作码需要6位。因为四种寻址方式,所以寻址特征位取2位,余下的8位作为形式地址D。其指令格式为 寻址模式X定义如下: X=00 直接寻址 有效地址E=D (256个单元) X=01 立即寻址 D=操作数 X=10 变址寻址 有效地址E=(R)+D (64K) X=11 相对寻址 有效地址E=(PC)+D (64K) 其中R为变址寄存器(16位)、PC为程序计数器(16位)。相对寻址和变址寻址中,D可正可负。,本章综合举例4,2020年7月22日星期三,54,09年考研真题(1/2),16. 某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。 假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转以后的目标地址是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论