某16位机器所使用的指令格式和寻址方式如下图所示,该机器有两个20位基址寄存器,4个16位变址寄存器,16个16位通用寄存器。指令汇编格式中的S(源)、D(目标)都是通用寄存器,M是主存的一个单元,3种指令的操作码分别是MOV(OP)=(A)H、STA(OP)=(1B)H、LDA(OP)=(3C)H。其中,MOV是传送指令,STA为写数指令,LDA为读数指令。
问答题
试分析3种指令的指令格式和寻址方式特点。
【正确答案】第一种指令是单字长二地址指令,属于RR型。
第二种指令是双字长二地址指令,属于RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定。
第三种也是双字长二地址指令,属于RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决定。
【答案解析】
问答题
处理器完成哪一种操作所花时间最短?完成哪一种操作所花时间最长?第2种指令的执行时间有时会等于第3种指令的执行时间吗?
【正确答案】处理器完成第一种指令所花的时间最短,因为是RR型指令,不需要访问存储器。第二种指令所花的时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也访问存储器,但是节省了求有效地址的时间开销。
【答案解析】
问答题
下列情况中,每个十六进制指令字分别代表什么操作?简述此同时指令的作用。
①(F0F1)H/(3CD2)H ②(2856)H
【正确答案】根据已知条件:MOV(OP)=001010;STA(OP)=011011;LDA(OP)=111100,将指令的十六进制格式转换成二进制代码且比较后可知:
①由于(F0F1)H/(3CD2)H前面六位为111100,因此该指令代表LDA指令。完整的二进制代码为111100 00 1111 0001 0011 1100 1101 0010,前面111100代表操作码,00代表横线的内容,1111代表目标寄存器,含义是把主存(13CD2)H地址单元的内容送至15号寄存器。
②由于(2856)H前面6位为001010,因此该指令代表MOV指令。完整的二进制代码为001010 00 0101 0110,其中后面的0101和0110分别代表目标寄存器和源寄存器,含义是把6号源寄存器的内容传送至5号目标寄存器。
【答案解析】
问答题
在下表中的第2列、第3列填写简要文字对CISC和RISC的主要特征进行对比。
{{B}}表
CISC和RISC的主要特征比较{{/B}}
|
| 比较内容 |
CISC |
RISC |
| 1)指令系统 |
|
|
| 2)指令数目 |
|
|
| 3)指令格式 |
|
|
| 4)寻址方式 |
|
|
| 5)指令字长 |
|
|
| 6)可访存指令 |
|
|
| 7)各种指令使用频率 |
|
|
| 8)各种指令执行时间 |
|
|
| 9)优化编译实现 |
|
|
| 10)寄存器个数 |
|
|
| 11)控制器实现方式 |
|
|
| 12)软件系统开发时间 |
|
|
【正确答案】填写后的表如下所示。
| 比较内容 |
CISC |
RISC |
| 1)指令系统 |
复杂、庞大 |
简单、精简 |
| 2)指令数目 |
一般大于200 |
一般小于100 |
| 3)寻址方式 |
一般大于4 |
一般小于4 |
| 4)指令字长 |
不固定 |
等长 |
| 5)可访存指令 |
不加限制 |
只有Load/Store指令 |
| 6)各种指令使用频率 |
相差很大 |
相差不大 |
| 7)各种指令执行时间 |
相差很大 |
绝大多数在一个周期内完成 |
| 8)优化编译实现 |
很难 |
较容易 |
| 9)寄存器个数 |
少 |
多 |
| 10)控制器实现方式 |
绝大多数为微程序控制 |
绝大多数为硬布线控制 |
| 11)软件系统开发时间 |
较短 |
较长 |
【答案解析】