计算机组成原理复习笔记 | 4.指令系统

四、指令系统

程序由一系列的指令组成的,指令是要计算机执行某种操作的命令

从计算机组成的层次结构来说分为微指令、机器指令和宏指令

  • 微指令:微程序级的命令,它属于硬件
  • 宏指令:由若干条机器指令组成的软件指令,它属于软件
  • 机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算数运算或逻辑运算
  • 指令系统:计算机中所有机器指令的集合

指令中一般需要包含以下信息:

1.操作的类型:操作的内容和功能,如加法操作、访问存储器操作

2.操作数的存储位置:参加运算的数据存储的地方,操作数存储的位置可以是寄存器、存储单元、直接安排在指令

3.操作结果的存储位置:将运算结果存储在什么地方

4.下一条指令的地址信息:到哪里去取下一条指令

指令格式

指令:操作码字段 地址码字段

指令字(简称指令):表示一条指令的机器字

指令格式:是指令字用二进制代码表示的结构格式,由操作码字段和地址码字段组成

操作码字段:表征指令的操作特性与功能

地址码字段:指定参与操作的操作数的地址码

指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作

不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令

操作码 可以分为 和可变长度的代码

固定长度的代码:所有指令操作码长度相同

优点:编码方法简单,便于指令的译码

缺点:不便于指令系统中增加新的指令(扩展不方便)

可变长度的代码:指令操作码长度不同

优点:便于指令系统中增加新的指令(扩展方便)。能够缩短指令操作码的平均长度。采用方法为常用的指令采用短的操作码,不常用的指令采用长的操作码

缺点:编码方法复杂,使指令的译码变得复杂

零地址指令:只有操作码,没有地址码(空操作NOP,停止HLT等)

一地址指令:指令编码中有一个地址码。指出了参加操作的一个操作数的存储位置,如果还有另一个操作数则隐含在累加器中

二地址指令:指令编码中有两个地址码。指出了参加操作的两个操作数的存储位置,结果存储在其中一个地址中

从操作数的物理位置来说,分为寄存器-寄存器(RR)型指令、寄存器-存储器(RS)型指令、存储器-存储器(SS)型指令

三地址指令:指令编码中有三个地址码。指出了参加操作的两个操作数的存储位置和一个结果的地址

指令字

指令字长度:一个指令字中包含二进制代码的位数。长度应该与计算机的数据字长相匹配,以简化指令访存的操作。一般指令字长为计算机字长的整数倍

机器字长:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。指令字长等于机器字长指令称为单位字长指令

指令字长等于两个机器字长指令称为双字长指令,三字长以上指令较少使用

使用多字长指令,目的在于提供足够的地址位来解决访问内存任何单元的寻址问题

缺点:是必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间

操作码的设计,应当与地址码的设计相匹配,以形成高效合理的指令编码

如指令长度固定的情况下,地址码数量较多的指令中可以安排较短的操作码,地址码数量较少的指令中可以安排较长的操作码

指令和数据的寻址方式

指令寻址:确定下一条欲执行指令的指令地址,比较简单(顺序寻址、跳跃寻址)

数据寻址:确定本条指令的操作数地址,比较复杂

隐含寻址:指令中少了一个地址字段,可缩短指令字长

立即寻址:形式地址A就是操作数本身,指令执行阶段不访存

直接寻址:形式地址就是操作数有效地址

间接寻址:有效地址由形式地址间接提供,执行指令截断2次访存,可扩大寻址范围

寄存器寻址:有效地址即为寄存器的编号,执行阶段不访存,只访问寄存器,执行速度快,操作数在寄存器

寄存器简介寻址:有效地址在寄存器中,操作数在内存中,执行阶段访存

偏移寻址:一种强有力的寻址方式

有效地址计算公式为E(A)=A+®

形式地址A是显示的

另一个地址字符按隐含在某个专用寄存器R中

常用的三种偏移寻址是相对寻址、基址寻址、变址寻址

相对寻址

EA=A+(PC)

A是相对于当前指令的位移量(可正可负,补码)

基址寻址

EA=A+(BR)

BR为基址寄存器

可扩大寻址范围

变址寻址

EA=A+(IX)

IX为变址寄存器(专用)

通用寄存器也可以作为变址寄存器

可扩大寻址范围

在程序的执行过程中IX内容可变,形式地址A不变

便于处理数组问题

段寻址方式

CISC和RISC

计算机指令系统的类型可以分为复杂指令系统计算机(CISC)和精简指令系统计算机(RISC)

发布了79 篇原创文章 · 获赞 100 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/lee1hong/article/details/105766189