NUMA的结构+线与逻辑+write_once
NUMA
https://houmin.cc/posts/b893097a/
一个NUMA Node内部是由一个物理CPU和它所有的本地内存(Local Memory) 组成的。广义上还包含本地IO资源,对大多数Intel x86 NUMA平台来说,主要是PCIe总线资源。
物理 CPU:一个CPU Socket里可以由多个CPU Core和一个Uncore部分组成。每个CPU Core内部又可以由两个CPU Thread组成。 每个CPU thread都是一个操作系统可见的逻辑CPU。对大多数操作系统来说,一个八核HT打开的CPU会被识别为16个CPU。
以下是复制部分:
// ============================================
Socket
一个Socket对应一个物理CPU。 这个词大概是从CPU在主板上的物理连接方式上来的,可以理解为 Socket 就是主板上的 CPU 插槽。处理器通过主板的Socket来插到主板上。 尤其是有了多核(Multi-core)系统以后,Multi-socket系统被用来指明系统到底存在多少个物理CPU。
Node
NUMA体系结构中多了Node的概念,这个概念其实是用来解决core的分组的问题。每个node有自己的内部CPU,总线和内存,同时还可以访问其他node内的内存,NUMA的最大的优势就是可以方便的增加CPU的数量。通常一个 Socket 有一个 Node,也有可能一个 Socket 有多个 Node。
Core
CPU的运算核心。 x86的核包含了CPU运算的基本部件,如逻辑运算单元(ALU), 浮点运算单元(FPU), L1和L2缓存。 一个Socket里可以有多个Core。如今的多核时代,即使是Single Socket的系统, 也是逻辑上的SMP系统。但是,一个物理CPU的系统不存在非本地内存,因此相当于UMA系统。
Uncore
Intel x86物理CPU里没有放在Core里的部件都被叫做Uncore。Uncore里集成了过去x86 UMA架构时代北桥芯片的基本功能。 在Nehalem时代,内存控制器被集成到CPU里,叫做iMC(Integrated Memory Controller)。 而PCIe Root Complex还做为独立部件在IO Hub芯片里。到了SandyBridge时代,PCIe Root Complex也被集成到了CPU里。 现今的Uncore部分,除了iMC,PCIe Root Complex,还有QPI(QuickPath Interconnect)控制器, L3缓存,CBox(负责缓存一致性),及其它外设控制器。
Threads
这里特指CPU的多线程技术。在Intel x86架构下,CPU的多线程技术被称作超线程(Hyper-Threading)技术。 Intel的超线程技术在一个处理器Core内部引入了额外的硬件设计模拟了两个逻辑处理器(Logical Processor), 每个逻辑处理器都有独立的处理器状态,但共享Core内部的计算资源,如ALU,FPU,L1,L2缓存。 这样在最小的硬件投入下提高了CPU在多线程软件工作负载下的性能,提高了硬件使用效率。 x86的超线程技术出现早于NUMA架构。
MOS管
https://zhuanlan.zhihu.com/p/368263926
NMOS
https://zhuanlan.zhihu.com/p/368263926
对于NMOS管,Vgs为高电平时,id电流能够形成,方向从D流向S到地;Vgs为低电平时,id电流形成不了,D、S之间断开。
PMOS
G为0时候上下导通
线与逻辑
为什么需要线与逻辑,能做什么工作
- 可以增大驱动能力(如果同时为1的话)
- 可以实现逻辑变换(四个输入,一个输出,AB为0,且CD为0,输出才为1)
如何实现线与逻辑
输入端口都是0的情况下,输出G为1,下面的NMOS管导通,此时输出L为0。
上拉电阻的值越小,负载电容的充电时间常数也越小,因而开关速度越快。
为什么不能有PMOS
都为0的时候,上下导通,形成短路。(其实如果加上电阻似乎也行,但是又更麻烦了吧)
Write-Once总线监听协议
Write-Once 是 Write-Back 和 Write-Through 的综合。当使用这种机制时,对一个 Cache Block 进行第一次回写时,采用 Write-Through 策略将数据同时回写到 Cache 和主存储器,之后的 写操作采用 Write-Back,只回写到 Cache 而不回写到主存储器。
Write-Back 机制 能够有效节约带宽,但是由于主存储器中并没有最新的数据副本,增加了维护 Cache Coherency 的开销。Write-Through 则相反。
Le vent se lève! . . . il faut tenter de vivre!
Le vent se lève! . . . il faut tenter de vivre!