欢迎来到天天文库
浏览记录
ID:46560535
大小:366.50 KB
页数:48页
时间:2019-11-25
《计算机组成原理课件4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机科学与技术专业计算机组成原理武汉科技大学计算机科学与技术学院第四章 指令系统本章内容4.1指令系统的发展和性能要求4.2指令格式4.3指令和数据的寻址方式4.4堆栈寻址方式4.5典型指令4.1.1指令系统的发展计算机的程序:是解决某一实际问题的指令序列;指令:就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令:微程序级的命令,它属于硬件;宏指令:由若干条机器指令组成的软件指令,它属于软件;机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个
2、独立的算术运算或逻辑运算。3.指令系统:一台计算机中所有机器指令的集合,它是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构也直接影响到系统软件,影响到机器的适用范围。4.1指令系统的发展和性能要求4.指令系统的发展50年代:指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。60年代后期:增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。60年代后期开始出现系列计算机(指基本指令系统相同、基本体系结构相同的一系列计算机)一个系列
3、往往有多种型号,它们在结构和性能上有所差异。同一系列的各机种有共同的指令集而且新推出的机种指令系统一定包含所有旧机种的全部指令,旧机种上运行的各种软件可以不加任何修改便可在新机种上运行,大大减少了软件开发费用。70年代末期:大多数计算机的指令系统多达几百条。我们称这些计算机为复杂指令系统计算机(CISC)。但是如此庞大的指令系统难以保证正确性,不易调试维护,造成硬件资源浪费。为此人们又提出了便于VLSI技术实现的精简指令系统计算机(RISC)。一个完善的指令系统应满足如下四方面的要求:1.完备性用汇编语言编写各种
4、程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。2.有效性利用该指令系统所编写的程序能够高效率的运行。高效率主要表现在程序占据存储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。规整性规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指一种操作性质的指令可以支持各种数据类型;指令格式和数据格式的一致性是指指令长度和
5、数据长度有一定的关系,以方便处理和存取。4.兼容性系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。4.1.2对指令系统性能的要求计算机语言具有高级语言和低级语言之分。高级语言如C,FORTRAN等,其语句和用法与具体机器的指令系统无关。低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器
6、的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。高级语言与低级语言的性能比较4.1.3低级语言与硬件结构的关系高级语言与低级语言的性能比较计算机能够直接识别和执行的唯一语言是二进制语言,但人们采用符号语言或高级语言编写程序。为此,必须借助汇编程序或编译程序,把符号语言或高级语言翻译成二进制码组成的机器语言。汇编语言依赖于计算机的硬件结构和指令系统。不同的机器有不同的指令,所以用汇编语言编写的程序不能在其他类型的机器上运行。高级语言与计算机的硬件结构及指令系统无关
7、,在编写程序方面比汇编语言优越。但是高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。4.2指令格式指令字(简称指令)即表示一条指令的机器字。指令格式则是指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。操作码字段地址码字段操作码字段表征指令的操作特性与功能;操作码字段的位数取决于指令系统的规模,有固定位数和可变位数
8、;若操作码字段的位数固定为n位,则指令系统最多可表示2n条指令。4.2.1操作码指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。例如,一个指令系统只有8条指令,则有3位操作码就够;如果有32条指令,那么就需要5位操作码。对于一个机器的指
此文档下载收益归作者所有