满意答案
jls7789832
2015.04.12
采纳率:45% 等级:9
已帮助:364人
总的来说,目的都是一个,充分利用计算资源,即充分利用cpu,防止其闲置
效果都是使计算机更快,计算能力更强
那么,我们首先要定位到有哪些计算资源是被浪费掉的。
1.对于cpu内部,假设一条指令要经过 取指令,解码指令,执行指令,存储访问,写回数据 五个步骤完成,且每个步骤都有对应的部件。没有流水线技术的情况下,当cpu执行一条指令时,你会发现只有一个部件在运行,其余四个都闲着——这些资源都被闲置了。
于是流水线技术横空出世了,让这些闲置的部件都运作了起来。具体技术细节课本上有,我就不赘述了。
2.如果所有程序都只是加减乘除逻辑运算,那么计算机会很快解决,但是,一旦涉及存储器访问就会出现麻烦(比如指令中的操作数在存储器中),因为从内存读数据很慢(相对于cpu正常工作速度),得不到数据cpu只能闲置着。
而cache存储技术就是为了解决这个问题(cpu速度与存储器存取速度不匹配)而出现的。小而快速的cache能对cpu的数据要求做出快速应答,使cpu不再受等待数据(数据饥饿)的困扰。
技术延拓
技术的出发点比较纯粹,而后来许多更复杂的流水线技术已经不再满足于解决资源利用问题,他们只有一个目的: 让cpu更快!
于是各种流水线的“奇技淫巧”(指令级的并行,超标量,超流水等)就出现了~
cache方面出现了预取,非阻塞,流水cache等技术
在基础原理熟练掌握的前提下,再去看看这些进一步的优化吧,否则一头雾水。
(以上回答仅为个人看法,如有错误希望您能批评指正)
11分享举报