CPU和内存中间加个缓存为什么会提高CPU利用率?
800MHz 的PIII CPU 的一条指令执行时间约为1.25ns ,而133MHz 的SDRAM 存取时间为7.5ns ,即83% 的时间CPU 都处于等待状态,运行效率极低。
这句话怎么理解?是内存向外设取指令需要7.5ns,而CPU必须等待内存把指令取过来才能再从内存里把指令取到CPU的吧?就是说,内存在向外设取指令的时候CPU得在那看着内存把指令取到内存里?
而中间加了个缓存就相当于中间加了个传送带,每次内存取了指令就放传送带上,CPU就是从传送带上去指令,这是一本书上的解释。
但是我不明白了,CPU取的快,内存放的慢,一会CPU不就把传送带上的指令取完了吗?那取完了他不还得等?
CPU运算一条指令只需要1.25ns,而内存取个指令就7.5ns,也就是说,CPU运算完6条指令内存才取过来1条,比如传送带上有6条,CPU把这6条都运算完了,内存这才取过来1条而已,内存取来指令不是立即就能被CPU取走吗?接下来CPU运算完那一条,内存这边那个7.5ns还没过完指令还没取到呢,不就又成CPU等待内存了吗?
我到底哪理解错了?请高人指点一下,快快!!拜托了!!!