当前位置: 技术问答>linux和unix
MIPS CPU上cache miss的处理流程是什么样的呢?
来源: 互联网 发布时间:2017-04-28
本文导语: 最近在看MIPS CPU相关的资料。其中提到当数据在cache中时,CPU读取数据继续执行。如果是cache未命中时,CPU的处理流程是什么样的呢?这个cache miss是按照异常来处理吗?CPU是否会停下来,会发生任务切换吗?内存控制...
最近在看MIPS CPU相关的资料。其中提到当数据在cache中时,CPU读取数据继续执行。如果是cache未命中时,CPU的处理流程是什么样的呢?这个cache miss是按照异常来处理吗?CPU是否会停下来,会发生任务切换吗?内存控制器想向cache传递数据的流程大致是怎么样的呢?请了解的大侠给些指导。谢谢。
|
cache对操作系统来说,除了两条指令以外,其余都是透明的,就是说没有任何诸如异常、切换等流程。
对于你的问题:
cache未命中,你可以认为cpu会挂起,不再执行下一条指令,直到所读取的数据已经ready。
期间,不会触发异常或者任务切换。cache控制器发起读事务,内存控制器将数据送到总线上,cache控制器
获得相应数据。没那么复杂的。
另外,对于超标量处理器,有可能cpu会继续执行接下来的无关的指令,而不会简单挂起,这里不深究。
对于你的问题:
cache未命中,你可以认为cpu会挂起,不再执行下一条指令,直到所读取的数据已经ready。
期间,不会触发异常或者任务切换。cache控制器发起读事务,内存控制器将数据送到总线上,cache控制器
获得相应数据。没那么复杂的。
另外,对于超标量处理器,有可能cpu会继续执行接下来的无关的指令,而不会简单挂起,这里不深究。