X86虚拟化超线程和复用比 cpu虚拟化和超线程_缓存

插槽:cpu插槽的个数,即物理上安装了几个cpu

内核:指物理上,一个cpu芯片集成了几个内核单元,现代cpu都是多核的

逻辑处理器:逻辑上cpu的个数,一般一个核心对应一个线程,但intel开发了超线程技术,一个核心能做到两个线程计算,所以,如上图所示,6个核心能做到12个线程,超线程的好处是无需增加物理核心就可以明显利用cpu多线程功能

X86虚拟化超线程和复用比 cpu虚拟化和超线程_操作系统_02

虚拟化:借助虚拟化技术,用户能以单个物理硬件系统为基础创建多个模拟环境或专用资源。虚拟化技术可将单台物理计算机作为多台计算机使用,从而节省更多服务器和工作站的成本

L1/L2/L3缓存:即操作系统的三级缓存,其中L1缓存包含L1数据缓存和L1指令缓存。当CPU需要数据时,会首先搜索关联内核L1缓存,若找不到接下来搜索L2和L3缓存,如果找到了必要的数据则为缓存命中,若缓存中不存在数据,则为缓存未命中,CPU必须请求将其从内存或存储设备加载到缓存中。一般情况下,L1高速缓存和L2高速缓存属于CPU私有,L3高速缓存属于多CPU核共享

使用高速缓存的原理(基于以下两点)

  • 局部性原理,包括“时间局部性”和“空间局部性”。空间局部性:假如当前正在访问地址A,那么接下来访问A的邻近地址的可能性非常大;时间局部性:在一段时间内,被访问过的地址可能会被多次访问
  • 一方面,高速缓存的存取速度大于主存的存取速度,利用高速缓存,可以提升CPU存取数据的效率;另外一方面,高速缓存的成本大于主存,用高速缓存完全替代主存是不经济的。因此,基于“时间局部性”原理,可使用高速缓存缓存正在存取的主存数据,一旦后续命中缓存,CPU可直接存取高速缓存,获得存取速度的提升;又基于“空间局部性”原理,使用高速缓存缓存主存数据时,不要只缓存1个字节,而是要缓存一定数量的字节

高速缓存内存与系统内存使用的SRAM与DRAM区别:

  • SRAM:静态随机存取存储器
  • DRAM:动态随机存取存储器
  • 两者之间的主要区别在于,前者由CMOS技术和晶体管制成(每个模块六个),而后者则使用电容器和晶体管。DRAM需要不断刷新(由于漏电),以将数据保留更长的时间。因此,它消耗的功率明显更多,并且速度也较慢。SRAM不必刷新,效率更高。但是,较高的价格阻碍了主流技术的采用,从而限制了其在处理器缓存中的使用

X86虚拟化超线程和复用比 cpu虚拟化和超线程_缓存_03


X86虚拟化超线程和复用比 cpu虚拟化和超线程_操作系统_04

句柄:【(6 封私信 / 15 条消息) 句柄是什么? - 知乎 (zhihu.com)

handle?其实就是对象的id而已,不要纠结里面存的什么,靠这个id访问对象而已