第七章 指令系统
ღ7-1指令,程序
指令:计算机执行某种操作的命令
程序:由有序的指令串构成,程序要解决一个具体的问题
指令系统:一台计算机能执行的全部指令的集合
指令系统的重要性:软件编程的基础,硬件设计的依据,综合考虑计算机的软硬件是计算机设计的关键因素。
ღ7-2操作码[1]
操作码用来指明该指令所要完成的操作。通常位数反映了机器的操作种类,即机器允许的指令条数,如7位→2^7=128条指令
指令的一般格式:
操作码字段
地址码字段
操作码:定长,变长
固定长度操作码:操作码长度(占二进制[2]位数)固定不变
硬件设计相对简单
指令译码时间开销小
指令空间利用率较低
可变长度操作码:操作码长度随指令地址数目的不同而不同(可平均缩短指令长度)
硬件设计相对复杂
指令译码时间开销较大
指令空间利用率较高
例:某机器采用固定长度指令系统,16位,包括3地址指令15条,双地址指令10条,单地址指令若干,每个地址占4位。问:该指令系统最多容纳多少个单地址指令,并设计该指令系统的操作码编码方案
析:每条指令:一个唯一操作码编码,不同类型指令具有不同标识,用扩展操作码方案
三15条,1111
双10条,6个没用 6*16=96个
๑ 7.3什么是指令字[3]长、机器字长和存储字长?
๑ 7.6某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。
固定操作码为4位。
8条三地址指令操作码为:00000111(剩下10001111共8个扩展窗口)
16条二地址指令操作码为:1000 00001000 1111
(剩下1001 00001111 1111共112个扩展窗口)
100条一地址指令操作码为: 0000 1111
0000 1111
0000 1111
0000 1111
0000 1111
0000 1111
0000 0011
๑7.9试比较间接寻址[4]和寄存器[5]间接寻址。
๑7.10试比较基址寻址[6]和变址[7]寻址。 1)都可有效地扩大指令寻址范围。 2)基址寻址时,基准地址由基址寄存器[8]给出,地址的改变反映在位移量A的取值上;变址寻址时,基准地址由A给出,地址的改变反映在变址值的自动修改上,变址值由变址寄存器[9]给出。 3)基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定。 4)基址寻址适用于程序的动态重定位[10],变址寻址适用于数组或字符串处理,适用场合不同。
๑7.11画出先变址再间址及先间址再变址的寻址过程示意图。 解:1)先变址再间址寻址过程简单示意如下: EA=[(IX)+A], (IX)+1IX

๑7.14设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),假设当前转移指令第一字节所在地址为2000H,且CPU每取出一个字节便自动完成(PC)+1→PC的操作。试问当执行“JMP * +8”和“JMP * -9”指令时,转移指令第二字节的内容各为多少?
(1)根据汇编语言指令JMP * +8,即要求转移后的目标地址为2000H+08H=2008H,但因为CPU取出该指令后PC值已修改为2002H,故转移指令第二字节的内容应为+6(十进制),写成补码为06H。
(2)同理,执行“JMP * -9”指令时,要求转移指令第二字节的内容应为-11(十进制),写成补码为:F5H
๑8.1 CPU有哪些功能?画出其结构框图并简要说明各个部件的作用。
答:参考P328和图8.2。
๑8.2什么是指令周期?指令周期是否有一个固定值?为什么?
指令周期是CPU每取出并执行一条指令所需的全部时间,也即CPU完成一条指令的时间。由于各种指令操作功能不同,因此各种指令的指令周期是不同的,指令周期的长短主要和指令在执行阶段的访存次数和执行阶段所需要完成的操作有关。
๑8.3画出指令周期的流程图,分析说明图中每个子周期的作用。
答:参看P343及图8.8。
๑8.4设CPU内有下列部件:PC、IR、SP、AC、MAR、MDR和CU,要求: (1)画出完成间接寻址的取数指令LDA@X(将主存某地址单元X的内容取至AC中)的数据流(从取指令开始)。(2)画出中断周期的数据流。 解:CPU中的数据流向与所采用的数据通路结构直接相关,不同的数据通路中的数据流是不一样的。常用的数据通路结构方式有直接连线、单总线、双总线、三总线等形式,目前大多采用总线结构,直接连线方式仅适用于结构特别简单的机器中。
为简单起见,本题采用单总线将题中所给部件连接起来,框图如下:
(1)LDA@X指令周期数据流程图:
(2)中断周期流程图如下:
๑8.5中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作? 从CPU机器周期的时序层次来看,中断周期前是指令的执行阶段。中断周期后是取指令阶段。在中断周期CPU应完成关中断、保存断点和转中断服务程序入口三个操作。
๑9.2控制单元的功能是什么?其输入受什么控制?
答:控制单元的主要功能是发出各种不同的控制信号。其输入受时钟信号、指令寄存器的操作码字段、标志和来自系统总线的控制信号的控制。
๑9.3什么是指令周期、机器周期和时钟周期?三者有何关系?
指令周期是CPU每取出并执行一条指令所需的全部时间,也即CPU完成一条指令的时间。机器周期是所有指令执行过程中的一个基准时间,通常以存取周期作为机器周期。时钟周期是机器主频的倒数,也可称为节拍,它是控制计算机操作的最小单位时间。
一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期,每个指令周期内的机器周期数可以不等,每个机器周期的时钟周期数也可以不等。
๑9.4能不能说CPU的主频越快,计算机的运行速度就越快?为什么?
不能说CPU的主频越快,计算机的运行速度就越快。因为机器的速度不仅与主频有关,还与机器周期中所含的时钟周期数以及指令周期中所含的机器周期数有关。同样主频的机器,由于机器周期所含时钟周期数不同,机器的速度也不同。机器周期中所含时钟周期数少的机器,速度更快。
此外,机器的速度还和其他很多因素有关,如主存的速度、机器是否配有Cache、总线的数据传输率、硬盘的速度以及机器是否采用流水技术等。
๑10.15设控制存储器的容量为512×48位,微程序可在整个控存空间实现转移,而控制微程序转移的条件共有4个(采用直接控制),微指令格式如下:
试问微指令中的三个字段分别为多少位?
第七章 指令系统ღ7-1指令,程序指令:计算机执行某种操作的命令程序:由有序的指令串构成,程序要解决一个具体的问题指令系统:一台计算机能执行的全部指令的集合指令
[判断题] 一台计算机的指令系统就是它所能执行的指令集合。A . 正确B . 错误
[判断题] 一台计算机所能执行的全部指令的集合为这个CPU的指令系统。A . 正确B . 错误
[问答题] 简述计算机指令系统的重要性。
[问答题] 请说明计算机中指令、指令系统、程序三者的关系。
[判断题] 计算机的指令系统属于软件。A . 正确B . 错误
[问答题] 一般计算机的指令系统就有哪几类指令?
[单选题]计算机的指令系统又称为()A . 汇编程序B . 汇编语言C . 机器语言D . 低级语言
[判断题] 一个CPU所执行的全部指令就是指令系统。A . 正确B . 错误
[试题]( 1 )为了改变指令系统计算机指令过多的状态而设计的一种计算机 系统结构 称为精简指令系统计算机,其英文缩写为 ( 1 ) 。