背景: 1.1CPU的寄存器的读取数据速度,远比内存的速度快;解决的办法,先将一百条指令一次性的取出,执行过程中再次取出一百条指令;这就减少了内存读取指令并经过总线时候的开销时间。

1.2多级缓存解决cpu执行速度远比内存条的速度快的问题。其中:一级缓存二级缓存是cpu核心单独占有的,三级缓存是多核共享的

1.3 alt

1.4局部性原理:见上图红色字体;缓存行目前是64个字节,这时局部性原理当下的最好的实践,如果缓存行太小,那么就比较难以命中,太大则会导致读取比较慢。

1.5多级缓存带来的问题有: (1)可见性问题:比如内存中有x=0,y=0;cpu1的核心1欲修改x=1,y=0;但是,核心二可能只想修改y=1,但是由于局部性原理,x,y都会被读取到,此时可能最后的结果是0,1而不是1,1;这时就出现了可见性的问题。 (2)为了解决缓存中的数据与主存的数据不一致的问题,出现了一定的协议: alt

1.6多线程争夺取资源导致的数据不安全的问题: alt

1.7除了增加缓存意外,还使用了并行执行指令的方法来提高运算的速度。并行执行的指令要和顺序执行的指令的结果保持一致(为了高效的使用cpu中运算器,优化cpu将指令进行乱序的排序并执行,但是最终的结果要求和顺序执行的结果保持一致。) alt

其实实质的原理可以认为是统筹方法的使用。比如一个做饭的人需要做的事情,顺序执行的话那么花费的时间比较多。但是如果不同的人干不同的活,那么我们所需要等待的时间可能只是等待一个任务花费时间最长的人来做。最后再将所有资源组合起来,整合内容即可大大减少了。

1.8相类似工作时对执行机的配置操作一致,乱序的执行会比顺序的执行速度更快这就是优化。