首页 > 试题广场 >

假定不采用Cache 和指令预取技术,且机器处于“开中断”状

[单选题]

假定不采用Cache 和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执行的叙述中,错误的是( )。

  • 每个指令周期中 CPU 都至少访问内存一次
  • 每个指令周期一定大于或等于一个 CPU 时钟周期
  • 空操作指令的指令周期中任何寄存器的内容都不会被改变
  • 当前程序在每条指令执行结束时都可能被外部中断打断
指令预取,是指提前将所需要的数据取出来,在使用时可用。 具体方法就是在不命中时,当数据从 主存储器 中取出送往CPU的同时,把主存储器相邻几个单元中的数据(称为一个 数据块 )都取出来送入Cache中。
开中断后,系统就可以响应其他的中断了,关中断后,系统不响应其他的中断除非优先级高的中断。
发表于 2017-04-26 18:02:15 回复(0)
A.因为没有cache,所以CPU要直接访问内存才能完成取指,否则无法执行完一个指令周期。 B.指令周期是指CPU取出并执行一条指令的时间,至少与CPU时钟周期相等。 C.无论计算机处于何种状态,总有寄存器的内容在变化。 D.开中断状态下可以响应外部中断。
编辑于 2020-08-14 10:21:24 回复(0)
起码IP要+1吧,所以C
发表于 2017-02-19 21:45:49 回复(0)
从题目中的条件不采用Cache会发生什么?
不妨看看采用Cache的情况,为了缓解CPU和内存速度不匹配的问题,引入了Cache,每次执行指令前,主存都会把相应的指令调入Cache中,CPU直接快速在Cache中找对应的指令而执行。则不采用Cache则CPU执行指令前都需要从主存中取出指令,所以A对

对B,首先了解一下什么是指令周期、机器周期、时钟周期?
指令周期是指CPU从主存中取出并执行一条指令的所需要的时间。指令周期里划分为若干个机器周期,一个机器周期里又在里面划分若干个时钟周期,时钟周期是CPU操作的最小时间单位,计算机中规定每个动作至少需要一个时钟周期,也就是说每个指令周期一定大于或等于一个CPU时钟周期

对C,空操作指令对CPU来说,它是没有任务的,什么也不干,只是起到延迟时间的作用,但空操作指令是存放在内存啊,CPU需要取出空操作指令,在取出空操作指令的取指周期后,PC寄存器需要自动+1,等到下一次访问指令时,就是空操作指令的下一条指令。若PC寄存器不发生变化,PC会一直都是空操作指令的地址,CPU就一直会访问空操作指令,显然是不对的

对D,“开中断”顾名思义:打开中断入来的门口,接收中断的信号
计算机规定在每条指令的执行周期结束的那一刻,CPU会打开门口,看看有没有中断信号在门外蹲着,有则请它们进来,看看它们是中断什么的,CPU则会采取应对
发表于 2023-09-30 16:51:20 回复(0)
纳闷,空指令也要去访存么?
发表于 2023-07-02 21:32:31 回复(0)