[计算机原理]--CPU的基础入门
CPU的组成
1. CPU的制作过程
沙子脱氧 -> 石英 -> 二氧化硅 -> 提纯 -> 形成硅锭 -> 切割 -> 晶圆 -> 涂抹光刻胶 -> 进行光刻 -> 蚀刻 -> 清除光刻胶 -> 电镀 -> 抛光 -> 铜层 -> 测试 -> 切片 -> 封装
2.计算机的组成
3.CPU相关
- 三级缓存被多核CPU共享
- 超线程:Hyper Threading 是一种同步多执行技术,他的原理很简单,就是把一颗CPU当成两颗来用。
- 字长:表示一次性处理事务的固定长度。一个字的位数即字长
- MESI:指的是缓存行的四种状态
(1)modified:被修改
(2)exdusive:独享
(3)shared:可共享
(4)invalid:失效 - 缓存行(cache line):CPU里的每个缓存都是由缓存行构成的,其大小通常是2的整数幂的连续字节。当多个线程互相修改独立变量时,如果他们处于一个缓存行,就回影响彼此性能,这就是伪共享。
- 缓存行对齐:因为每个缓存行的默认值大小是64个字节,我们可以通过占位的方式使每一个缓存行只有一个独立的变量来避免伪共享问题。(也可以使用contended注解避免为贡献)
- 英特尔的每一个缓存行的大小是64个字节
- 指令重排序:指令冲怕徐是为了是指令更加符合CPU的执行特性,最大限度的发挥机器的性能,提高程序执行效率。
- As-If-Serial:指令重排序必须保证单线程内程序的执行结果不能被改变
4.CPU的运算能力
运算单元 >> LO(寄存器) > L1 > L2 > L3(被多核CPU共享) >主存 > 磁盘 > 远程文件存储
5.相关面试题
- DCL模式中要不要使用volatile?
需要,因为volatile可以防止多线程情况下有的线程拿到的是半初始化变量.造成半初始化变量的原因是指令重排序