您的位置:首页 > 理论基础

计算机组成原理-指令系统

2016-01-01 11:54 886 查看
计算机能解题是由于机器本身存在一种语言,它能理解人的意图,又能被机器自身识别。机器是由一条条语句构成的,每一条语句又能准确表达某种语义。计算机就是连续执行每一条机器语句而实现全自动工作的。

人们习惯把每一条机器语言的语句成为机器指令,而又将全部机器指令的集合称为机器的指令系统。因此机器的指令系统集中反映了机器的功能。

计算机设计者主要研究如何确定机器的指令系统,如何用硬件电路、芯片、设备来实现机器指令系统的功能。计算机的使用者则是依据机器提供的指令系统,使用汇编语言来编制各种程序。计算机使用者根据机器指令系统所描述的机器功能,能清楚的了解计算机内部寄存器-存储器的结构,以及计算机能直接支持的各种数据类型。

指令的一般格式

指令是由操作码和地址码两部分组成的。

操作码地址码
操作码用来指明所要完成的操作。

地址码用来指出该指令的源操作数的地址(一个或两个)、结果的地址以及下一条指令的地址。

指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数。

操作数类型
地址、数字、字符、逻辑数据

操作类型
不同的机器,操作类型也是不同的,但几乎所有的机器都有以下几类通用的操作。

数据传送 包括寄存器与寄存器、寄存器与存储单元、存储单元 与存储单元之间的传送。如对存储器读和写、进栈、出栈等。

算术逻辑操作 可实现算术操作(加、减、乘、除、增1、减1、 取负数即求补)和逻辑运算(与、或、非、异或)。

移位 移位可分为算术移位、逻辑移位和循环移位。算术移位和 逻辑移位分别可实现对有符号数和无符号数乘以2n(左移)或整 除2n(右移)的运算,并且移位操作所需时间远比乘除操纵执行 时间短,因此,移位操作经常被用来代替简单的乘法和除法运算。

转移 在多数情况下,计算机是按顺序执行程序的每条指令的, 但有时需要改变这种顺序,此刻可采用转移类指令来完成。转移指 令按其转移特征又可分为无条件转移、条件转移、跳转、过程调用 与返回、陷阱等几种。

无条件转移 不受任何条件的约束,可直接把程序转移到下一条需执行指令的地址。

条件转移 根据当前指令的执行结果来决定是否需要转移。若条件满足,则转移;若条件不满足,则继续按顺序执行。

调用与返回 在编写程序时,有些具有特定功能的程序段会被反复使用。为避免重复编写,可将这些程序段设定为独立子程序,当需要执行某子程序时,只需要子程序调用指令即可。

寻址方式
确定本条指令的数据地址以及下一条将要执行的指令地址的方法。分为指令寻址和数据寻址两大类。

指令寻址分为顺序寻址和跳跃寻址。

顺序寻址 通过程序计数器PC加1,自动形成下一条指令的地址

跳跃寻址 则通过转移类指令实现。

数据寻址方式种类较多,在指令中必须设一字段来指明属于哪一种寻 址方式。指令的地址码字段通常都不代表操作数的真实地址,把它称 为形式地址,记作A。操作数的真实地址称为有效地址 ,记作EA,它是由寻址方式和形式地址共同来确定的。

操作码寻址特征形式地址A
立即寻址 形式地址A不是操作数的地址,而是操作数本身。优点在 于只要取出指令,便可立即获得操作数,在执行阶段不必再访问存 储器。但A的位数限制了这类指令所能表述的立即数的范围。



直接寻址 形式地址A就是操作数的真实地址EA。优点是寻找操作数比较简单,也不需要专门计算操作数的地址,在指令执行阶段对主存只访问一次。缺点在于A的位数限制了操作数的寻址范围,而且必须修改A的值,才能修改操作数的地址。



间接寻址 指令字中的形式地址不直接指出操作数的地址,而是指出操作数有效地址所在的存储单元地址,也就是说,有效地址是由形式地址简介提供的。



这种寻址方式与直接寻址相比,它扩大了操作数的寻址范围,因为A的位数通常小于指令字长,而存储字长可与指令字长相等。若设指令字长与存储字长均为16位,A为8位,显然直接寻址范围为28,一次间接寻址的寻址范围可达216。

第二个优点在于它便于编程,例如,用间接寻址可以很方便地完成子程序返回
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  计算机 寻址方式