- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 4 章 指令系统 本章学习内容 4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 指令和数据的寻址方式 4.4 典型指令 4.5 指令系统的两种设计风格 本章学习的主要目的 (1)加深对计算机指令系统的理解; (2)了解计算机指令设计的相关概念以及RISC和CISC两种不同的设计风格; (3)为模型机的指令系统设计打下基础。 4.1 指令系统的发展与性能要求 4.1.1指令系统的发展 指令系统是指机器所具有的全部指令的集合。它反映了计算机所拥有的基本功能。 加法指令、传输数据指令等等就是计算机的指令,这些指令就是告诉计算机从事某一特定运算的代码,一种计算机系统确定的这些指令的集合就是这种机器的指令系统。 在计算机系统的设计和使用过程中,硬件设计人员采用各种手段实现指令系统,而软件设计人员则使用这些指令系统编制各种各样的系统软件和应用软件,用这些软件来填补硬件的指令系统与人们习惯的使用方式之间的语义差距。 因此,可以说,指令系统是软件设计人员与硬件设计人员之间的一个主要分界面,也是他们之间互相沟通的一座桥梁。 指令系统是计算机体系结构的核心;它既是计算机硬件设计的主要依据,又是计算机软件设计的基石。一台计算机指令系统的优劣,直接影响着计算机系统的性能。 指令系统的设计要做什么? 确定系统的指令集以及确定它的指令格式(就是指令有多少位长,哪几位表示地址,哪几位表示操作等)、类型(如堆栈型、寄存器型等分类)、操作(比如运算、数据传送)以及操作数的访问方式等。 4.1.1计算机指令的发展 50年代:指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。 60年代后期:增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。 60年代后期开始出现系列计算机(指基本指令系统相同、基本体系结构相同的一系列计算机),一个系列往往有多种型号,它们在结构和性能上有所差异。同一系列的各机种有共同的指令集而且新推出的机种指令系统一定包含所有旧机种的全部指令,旧机种上运行的各种软件可以不加任何修改便可在新机种上运行,大大减少了软件开发费用。 70年代末期:大多数计算机的指令系统多达几百条。我们称这些计算机为复杂指令系统计算机(CISC)。但是如此庞大的指令系统难以保证正确性,不易调试维护,造成硬件资源浪费。为此人们又提出了便于VLSI技术实现的精简指令系统计算机(RISC)。 4.1.2指令系统的性能要求 指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。 一个完善的指令系统应满足如下四方面的要求: 完备性 用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。 有效性 利用该指令系统所编写的程序能够高效率的运行。高效率主要表现在程序占据存储空间小、执行速度快。 规整性 规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。 对称性:指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式; 匀齐性:是指一种操作性质的指令可以支持各种数据类型; 指令格式和数据格式的一致性:是指指令长度和数据长度有一定的关系,以方便处理和存取。例:指令长度和数据长度通常是字节的整数倍。 兼容性 系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。 4.2 指令格式 指令格式则是指令用二进制代码表示的结构形式,由操作码字段和地址码字段组成操作码字段表征指令的操作特性与功能;地址码字段通常指定参与操作的操作数的地址。 4.2.1 操作码 指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。 不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。 组成操作码字段的位数一般取决于计算机指令系统的规模。例如,一个指令系统只有8条指令,则有3位操作码就够;如果有32条指令,那么就需要5位操作码。 4.2.2 地址码 根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。 一般的操作数有被操作数、操作数及操作结果这三种数,因而就形成了三地址指令格式。在此基础上,后来又发展成二地址格式、一地址格式和零地址格式 三地址指令格式: A1:第一源操作数的存储器地址或寄存器地址; A2:第二源操作数的存储器地址或
文档评论(0)