下列说法中哪个是正确的。 A.加法指令的执行周期一定要访存; B.加法指令的执行周期一定不访存; C.指令的地址码给出存储器地址的加法指令, 布执行周期一定访存 D.指令的地址码给出存储器地址的加法指令,在执行周期不一定访存。
时间: 2023-03-19 20:22:44 浏览: 809
答案是C。指令的地址码给出存储器地址的加法指令,在执行周期一定需要访问存储器,因为需要从内存中读取操作数。加法指令的作用是将两个操作数相加并将结果存储在指定的目的地中。为了执行加法操作,处理器必须读取这些操作数,因此需要访问内存。
相关问题
指令流水线有取指、译码、执行、访存、写回寄存器堆五个过程段,共有20条指令,假设时钟周期为100ns,画出流水处理的时空图。
以下是20条指令的指令码和对应的操作:
| 操作 | 指令码 |
| :-----: | :----: |
| 加法运算 | 01 |
| 减法运算 | 02 |
| 乘法运算 | 03 |
| 除法运算 | 04 |
| 跳转操作 | 05 |
| 条件跳转 | 06 |
| 比较操作 | 07 |
| 加载数据 | 08 |
| 存储数据 | 09 |
| 移位操作 | 10 |
| 逻辑操作 | 11 |
| 位操作 | 12 |
| 系统调用 | 13 |
| NOP指令 | 14 |
| 停机指令 | 15 |
| 等待指令 | 16 |
| 中断指令 | 17 |
| 陷阱指令 | 18 |
| 重置指令 | 19 |
| 错误指令 | 20 |
下面是流水线处理的时空图,其中每个阶段的执行时间都是100ns:
![流水线时空图](https://i.imgur.com/9CHzukj.png)
在该图中,每个阶段用一个矩形表示,矩形的长度为100ns,每个阶段之间用箭头表示数据的传输关系。每个矩形内的数字表示该指令在该阶段的执行时间,例如“01-1”表示加法运算指令在执行阶段需要1个时钟周期的时间。
CRAY-1机启动存储器、流水部件及寄存器打入各需1拍,“加”6拍、“乘”7拍、“访存”6拍,下列向量指令串中的向量长度均为N,则指令串最短的执行时间是( )拍 V3←存储器 V4←V0+V1 V2←V4*V3
根据题目中所给的指令,每个指令的执行时间都不同。因此,要求指令串最短的执行时间,需要确定每个指令在执行时的依赖关系,以便尽可能地减少指令之间的等待时间。
根据指令 V3←存储器,我们可以确定 V3 中存储的数据是从存储器中读取的。因此,指令 V4←V0+V1 依赖于指令 V3←存储器 的执行结果。指令 V2←V4*V3 依赖于指令 V4←V0+V1 的执行结果和指令 V3←存储器 的执行结果。
因此,最短的执行时间应该是:启动存储器、流水部件及寄存器打入各需1拍,访存指令和加法指令可以同时执行,所以需要 6+6=12 拍,乘法指令需要等待访存指令和加法指令的执行结果,因此需要 6+7=13 拍。所以指令串最短的执行时间是 1+12+13=26 拍。
阅读全文