指令系统(一)
一、指令系统的概念
◆ 指令: 指示计算机执行某些操作的命令。
◆ 指令系统(指令集): 一台计算机的所有指令的集合构成指令系统。是机器硬件设计的依据,软件设计的基础。
◆ 指令系统是计算机的主要属性,位于硬件和软件的交界面上。
二、指令系统的发展
三、指令格式
指令格式与
机器的字长、存储器的容量以及指令的功能
都有很大的关系。
1.指令的构成
➢ 操作码:指明要完成的操作,位数取决于指令系统中指令的条数。
• 长度固定,便于硬件设计、译码时间短。
• 长度变化,可以有效压缩操作码平均长度,在字长较端的微型计算机中常见。
➢ 地址码(这里的地址可以是主存地址,也可以是寄存器地址)
• 操作数的地址
• 操作结果的存储地址
• 下一条指令的地址
2.操作码
3.扩展操作码技术
使用频度高的指令应分配短的操作码;使用频度低的指令应分配较长的操作码。
注意:位数少的操作码不能是位数多的操作码的前缀,例如下图,4位操作码时最多到1110,而紧接着的8位操作码的前4位要从1111开始算。否则容易导致指令混乱。
4.地址码
当指令字长固定且操作码固定时,讨论不同操作数地址个数情况下的访存次数、寻址范围以及相关的改进。
5.CPU如何区分指令和数据?
➢ 指令的地址是由程序计数器(PC)规定的,数据的地址是由指令规定的。
当取出指令时,程序计数器(PC)也会相应的变化。
6.指令长度与字长关系
7.小试牛刀
解析:由一个计算机系统采用32位单字长指令,地址码为12位可知,系统指令只可能有三种情况,第一种,操作码(8位)+2×地址码(12位);第二种,操作码(8+12位)+地址码(12位);第三种,操作码(32位)。题目说定义了250条二地址指令,则意味着是第一种情况,一地址指令是第二种情况,则
2
8
2^{8}
2
8
-250=6种,6×
2
12
2^{12}
2
12
=24×
2
10
2^{10}
2
10
即有24K条单地址指令。
总结