机组复习之指令系统

一、指令系统的基本概念

(一)

1、几种常见的指令格式

(1)零地址指令(只有操作数没有地址码)

其操作数的地址隐含在堆栈的栈顶指针SP中。

例如:零地址加法指令仅用在堆栈计算机中,操作数和结果在堆栈中,参与加法运算的两个操作数隐含地从堆栈顶部弹出,送到运算器进行运算,运算的结果再隐含地压入堆栈。所有这些指令都会执行(PC)+1→PC.

(2)一地址指令(单操作数)

(ACC)OP(A)→ACC

通常这种指令以运算器中累加寄存器AC中的数据为被操作数,指令字的地址码字段所指明的数为操作数,操作结果又放回AC中。

(3)二地址指令(双操作数指令)

(A1)OP(A2)→A1

它的两个地址码字段分别指明参与操作的两个数在内存中或运算器中通用寄存器的地址,A1做存放操作结果的地址。

(4)三地址指令(三个操作数地址)

(A1)OP(A2)→A3

A1为源操作数地址,A2为操作数地址,A3为存放结果的地址。A1,A2,A3可以是内存中的单元地址,也可以是运算器中的通用寄存器地址。

2、二地址指令的分类

二地址指令类型 名称 操作数的物理位置 执行速度 访主存次数
M-M 存储器-存储器 主存 最慢 多次
R-R 寄存器-寄存器 寄存器 最快 不访问
R-M 寄存器-存储器 寄存器-主存 以上两者之间 一次

常见的操作数类型有地址、数字、字符和逻辑数据。

3、指令代码和寻址描述

机组复习之指令系统_第1张图片

4、指令编码

(二)

1、某计算机指令系统采用12位定长指令码和扩展操作码技术,设每个操作数地址字段均为3位,若指令系统有三地址指令5条、二地址指令10条、一地址指令20条和零地址指令5条。问如何用扩展操作码进行设计。

答:

三地址:000 XXX YYY ZZZ

               .............

               100 XXX YYY ZZZ

留 101,110,111给二地址

二地址:101 000 XXX YYY

               ..............

               110 001 XXX YYY

留110 010, 110 011, 110 100给一地址

一地址:110 010 000 XXX

               .............

              110  100 011 XXX

 零地址:110 100 011 000

                ...........

                110 100 011 100          

 

2、一个计算机系统采用32位单字长指令,地址码为12位,如果定义了250条二地址指令,那么还可以有多少条单地址指令?

答:二地址指令操作码长度为8位,已定义了250条二地址指令,2的八次方-250=6,即可设计出单地址指令数6*2的12次方=24K

3、某指令系统的指令长为8位,每一个地址码长3位,采用扩展操作码技术。若指令系统具有2条二地址指令,10条零地址指令,则有多少一地址指令?

2*2的六次方-10=118;

118/8约等于14 条一地址指令

4、

机组复习之指令系统_第2张图片

5、

机组复习之指令系统_第3张图片

 

机组复习之指令系统_第4张图片

6、若有8条指令,采用直接寻址的单地址指令格式。设计单字指令格式,问操作数

机组复习之指令系统_第5张图片

(三)易考知识点整理

1、只有四地址指令中含有下一条指令的地址,其他指令都不含有下一条指令的地址;

三地址指令包含两个操作数;

2、指令系统与软件设计和硬件设计都有关

3、有关一地址运算类指令的叙述中,正确的是:

一地址运算类指令包括单操作数指令(如加1、减1指令)和双操作数指令(如加、减指令)两类。对于单操作数指令只需要一个操作数,对于双操作数指令需要两个操作数,其中一个操作数地址在指令字中,另一个操作数隐含在累加寄存器ACC中。

4、二地址指令中的每个操作数均可放在主存或通用寄存器中。

5、程序控制类指令的功能是:改变程序执行的顺序。

6、除了执行一地址的指令需要访问2次主存,其他都是访问4次主存;

7、零地址的运算类指令在指令格式中不给出操作数地址,参加的两个操作数来自堆栈的栈顶和次栈顶单元

8、计算机指令系统使用机器语言编制的。

9、指令中的地址码用于指示操作数的地址

10、变长指令的操作数位数不定

 

二、指令的寻址方式

(一)寻址方式

 

(二)错题整理

机组复习之指令系统_第6张图片

注意:几次间接寻址代表外面有几层括号。

机组复习之指令系统_第7张图片

(三)易考知识点整理

1、寄存器寻址方式不需要访问主存,且速度最快;

2、寄存器间接寻址需要2次访存,相对寻址和变址寻址都需要一次;

3、变址寻址方式对实现程序浮动提供了支持

4、变址间接寻址的有效地址:EA=((X)+A)

     间接变址寻址的有效地址:EA=(X)+(A),即先间接寻址,产生(A),然后寻址;

5、指令寻址方式中的跳跃寻址可以实现程序条件转移和无条件转移;

6、程序转移类指令的功能是 改变指令执行顺序;

 

二、CISC与RISC

CISC特点

  • 指令系统复杂
  • 指令周期长
  • 指令周期差距大
  • 采用微程序控制
  • 难以进行编译优化

RISC特点

  • 指令数目少
  • 指令格式规整
  • 采用Load/Store型指令设计风格
  • 采用流水线方式执行指令
  • 采用大量通用寄存器
  • 采用硬连接控制器
  • 采用优化的编译系统

你可能感兴趣的:(机组)