白中英计算机组成原理第4章-指令系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第4章指令系统2020年10月23日星期五2目录4.1指令系统的发展与性能要求4.2指令格式4.3操作数类型4.4指令和数据的寻址方式4.5典型指令4.6本章练习题2020年10月23日星期五3考研计算机统考大纲要求(一)指令格式1.指令的基本格式2.定长操作码指令格式3.扩展操作码指令格式(二)指令的寻址方式1.有效地址的概念2.数据寻址和指令寻址3.常见寻址方式(三)CISC和RISC的基本概念2020年10月23日星期五44.1指令系统的发展和性能要求4.1.1指令系统的发展4.1.2对指令系统性能的要求4.1.3低级语言与硬件结构的关系2020年10月23日星期五54.1.1指令系统的发展程序——用于解决实际问题的一系列的指令;指令——使计算机执行某种操作的命令;从组成的层次结构来说,计算机的指令可分为如下3类:微指令:微程序级的命令,它属于硬件;机器指令(指令):可完成一个独立的算术或逻辑运算;宏指令:由若干条机器指令组成的软件指令,它属于软件;指令系统:一台计算机中所有机器指令的集合。直接影响机器的硬件结构、软件系统、以及机器的适用范围。2020年10月23日星期五6计算机指令系统的发展过程50年代只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。60年代后期增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。出现了系列计算机。70年代末期复杂指令系统计算机(CISC)、精简指令系统计算机(RISC)2020年10月23日星期五7系列计算机基本指令系统、基本体系结构相同的一系列计算机;但具体的器件、结构和性能都不会完全相同;一般,新机种在各方面要优于旧机种。一个系列往往有多种型号,各型号计算机的指令系统是向下兼容的。新机种的指令系统包含旧机种的全部指令;如Pentium系列PC机。2020年10月23日星期五8CISCCISC(complexinstructionsetcomputer)采用复杂的的指令系统,来达到增强计算机的功能、提高机器速度的目的。特点:1.指令系统复杂庞大,指令数目多;2.指令格式多,字长不固定,多种寻址方式;3.可访存指令不受限制;4.各种指令的执行时间相差很大;5.大都采用微程序控制器;2020年10月23日星期五9RISCRISC(Reducedinstructionsetcomputer)从简化指令系统和优化硬件设计的角度来提高系统的性能与速度。RISC指令系统的主要特点:1.选取使用频率高的简单指令;2.指令长度固定,指令格式少,寻址方式种类少;3.采用流水线技术;4.使用较多的通用寄存器,减少访存;5.控制器以组合逻辑控制为主;6.采用优化编译技术;2020年10月23日星期五10判断以下有关CISC和RISC的描述的正误A.采用RISC技术后,计算机的体系结构又回复到早期比较简单的情况;B.为了实现兼容,新设计的RISC,是从原来CISC系统的指令系统中挑选一部分实现的;C.RISC的主要目的是减少指令;D.RISC设有乘、除法指令和浮点运算指令;×√××2020年10月23日星期五114.1.2指令系统性能的要求指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。一个完善的指令系统应满足如下四方面的要求完备性常用指令齐全,编程方便;有效性程序占用内存少,运行速度快;规整性指令和数据的使用规则统一,易学易记;兼容性同一系列的低档计算机的程序能够在新的高档计算机上运行。2020年10月23日星期五12指令系统的规整性要求规整性包括对称性、匀齐性、指令格式和数据格式的一致性三方面的要求。对称性所有的指令都可使用各种寻址方式;匀齐性一种操作性质的指令可以支持各种数据类型;指令格式和数据格式的一致性指令长度和数据长度有一定的关系,以方便处理和存取;2020年10月23日星期五134.1.3低级语言与硬件结构的关系低级语言:面向机器的语言,和具体机器的指令系统密切相关。高级语言与低级语言的比较如P116表4.1机器语言、汇编语言2020年10月23日星期五144.2指令格式4.2.1操作码4.2.2地址码4.2.3指令字长度4.2.4指令助记符4.2.5指令格式举例2020年10月23日星期五15指令的一般格式指令字(简称指令)表示一条指令的机器字。指令格式指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。操作码字段:表征指令的操作特性与功能;地址码字段:通常指定参与操作的操作数的地址。操作码字段OP地址码字段A2020年10月23日星期五164.2.1操作码操作码字段的位数取决于指令系统的规模;操作码的类型:固定长度的操作码特征:所有指令长度均相同。优点:控制简单,速度快,适用于指令条数不多的场合。可变长度的操作码特征:频繁使用的指令用位数较少的操作码;不常使用的指令可利用操作码扩展技术进行扩展;优点:充分利用软硬件资源,适用于大规模的指令系统。操作码字段为4位,则指令系统中的指令数目为24=16条。2020年10月23日星期五174.2.2地址码(1/2)一条指令格式中有几个地址码字段,就称为是几地址指令;零地址指令①无任何操作数运算,如NOP、HALT等指令。②单操作数运算:隐含一个操作数,如Acc。OP(Acc)Acc一地址指令①单操作数运算:OP(A1)A1②双操作数运算:隐含一个操作数,如Acc(Acc)OP(A1)Acc/A1OPOPA1如INC指令如MUL指令如CBW指令2020年10月23日星期五184.2.2地址码(2/2)两地址指令功能:(A1)OP(A2)A1三地址指令功能:(A1)OP(A2)A3多地址指令(如四地址)这类指令功能强,一般用高档小型机或中大型机,用于实现成批数据处理,字符串处理、向量或矩阵运算指令等。OPA1A2A3OPA1A2如ADD、XOR等指令2020年10月23日星期五19存储器-存储器(SS)型指令A1、A2均为存储单元;这类指令的执行需要多次访存。寄存器-寄存器(RR)型指令A1、A2均为寄存器(通用寄存器、专用寄存器);这类指令的执行不需要访存,因此速度很快。寄存器-存储器(RS)型指令A1、A2中一个为寄存器,一个为存储单元;执行此类指令时,既要访问内存单元,又要访问寄存器。两地址指令的分类根据操作数的物理位置分。OPA1A2哪种类型指令执行速度较快,哪种指令较慢?为什么?2020年10月23日星期五20指令的操作码扩展技术(补充)一个指令系统中若操作码长度固定且指令格式不同;指令格式如右:操作码字段长度取决于指令系统中的指令总数目;地址码较少的指令,编码浪费;操作码扩展对于不需要某个地址码的指令,把它们的操作码扩充到该地址字段;既充分利用指令字的各字段,又在不增加指令长度的情况下扩展操作码的长度。OPA1A2A3OPA1A2OPOPA1无用无用无用无用无用无用2020年10月23日星期五21设某指令长16位,包括4位基本操作码字段和3个4位地址码字段。①若全是三地址指令,则最多能有多少条指令?操作码为4位的,则指令条数为24=16。②若三地址指令需15条─┐两地址指令需15条│应如何安排?单地址指令需15条│零地址指令需16条─┘可使用操作码扩展技术,缩短固定操作码长度;操作码扩展举例(1/3)OPA1A2A32020年10月23日星期五220000A1A2A3......1110A1A2A311110000A1A2......11111110A1A2111111110000A1......111111111110A11111111111110000......111111111111111115条三地址指令15条二地址指令15条一地址指令16条零地址指令此指令系统共具有61条指令4位操作码8位操作码12位操作码16位操作码如果采用操作码扩展方法能否设计一个具有三地址指令15条,双地址指令12条,单地址指令31条以及零地址指令16条的指令系统?操作码扩展举例(2/3)2020年10月23日星期五230000A1A2A3......1110A1A2A311110000A1A2......11111011A1A2111111000000A1......111111011111A11111111000000000......111111100000111115条三地址指令12条二地址指令32条一地址指令16条零地址指令此指令系统共具有75条指令操作码扩展举例(3/3)4位操作码8位操作码12位操作码16位操作码2020年10月23日星期五24【例】某机指令字长32位,一个操作数地址为12位,有双地址码、单地址码、零地址码3种格式的指令。若采用扩展操作码的方式来设计指令,已知双地址码指令K条,单地址码指令L条,问零地址码指令有多少条?双地址码指令操作码长度为(32-12×2)=8位;单地址码指令操作码长度为(32-12)=20位;操作码的可扩展位为20-8=12位。零地址码指令操作码长度为32位操作码的可扩展位为32-20=12位。OP(8位)A1(12位)A2(12位)OP(8位)扩展操作码(12位)A2(12位)OP(8位)扩展操作码(12位)扩展操作码(12位)2020年10月23日星期五25【例】某机指令字长32位,一个操作数地址为12位,有双地址码、单地址码、零地址码3种格式的指令。若采用扩展操作码的方式来设计指令,已知双地址码指令K条,单地址码指令L条,问零地址码指令有多少条?由以上分析的指令格式,及题目可知:双地址码指令最多有28条;可用于扩展单地址码指令的编码有(28-K)个;单地址码指令最多有(28-K)×212条:可用于扩展零地址码指令的编码有[(28-K)×212-L]个;因此,零地址码指令最多有[(28-K)×212-L]×212条。2020年10月23日星期五26机器字长运算器一次能处理的二进制数的位数。机器指令的长度直接决定着CPU运算的精度和直接寻址能力的大小;指令字长一个指令字中包含二进制代码的位数;指令字长由操作码长度、操作数长度和个数共同决定。指令有半字长、单字长、双字长、多字长等不同的长度类型;指令系统可分为等长指令字结构、变长指令字结构两种。4.2.3指令字长度2020年10月23日星期五274.2.4指令助记符指令助记符使用3~4个英文缩写字母来表示的指令操作码。在不同的计算机中,指令助记符的规定是不一样的;指令助记符只是指令操作码字段的一种表示方法;机器内部保存的还是二进制代码形式的机器指令;由汇编或编译程序,将助记符翻译成机器代码。2020年10月23日星期五284.2.5指令格式举例(1/2)P110【例1】某16位系统中,指令格式如下所示,其中OP为操作码,试分析指令格式的特点。①指令字长为_________,操作数的数目为____个。②该指令格式的指令最多可有_____条。③根据此二地址指令的操作数位置来看,属于____型指令。RS型、RR型、SS型④这种指令结构常用于_______________类指令。OP——源寄存器目的寄存器15987430单字长两128RR算术逻辑运算单字长二地址指令2020年10月23日星期五294.2.5指令格式举例(2/2)P110【例2】某16位系统中,指令格式如下所示,OP为操作码字段,试分析指令格式特点。①指令字长为_________,操作数的数目为____个。②操作码字段OP为____位,可以指定_____种操作。③一个操作数在源寄存器,该类寄存器共____个,另一个操作数在________中,所以该类指令是____型指令。存储单元中数据由变址寄存器和位移量共同决定其地址;双字

1 / 60
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功