2021-4-22
- NVM(NonVolatile Memory,非易失性内存)❓
- 特点
- NVM && DRAM
2021-4-15
QPI/DMA/NUMA/系统总线
DMA(Direct Memory Access):外设->存储器、存储器->存储器
请求:CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA请求。
响应:DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。
传输:DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。在DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过程中不需要CPU的参与。开始时需提供要传送的数据的起始位置和数据长度。
结束:当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。当I/O接口收到结束信号后,一方面停止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后,带着本次操作结果及状态继续执行原来的程序。
由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。
数据总线(Bus)
数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
地址总线(Address Bus):用来指定在RAM(Random Access Memory)之中储存的数据的地址。
控制总线(Control Bus):将微处理器控制单元(Control Unit)的信号,传送到周边设备。
扩展总线(Expansion Bus):外部设备和计算机主机进行数据通信的总线,例如ISA总线(Industry Standard Architecture),PCI总线(Peripheral Component Interconnect,它是目前个人电脑中使用最为广泛的接口)。
局部总线(Local Bus):取代更高速数据传输的扩展总线。
其中的数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus),也统称为系统总线,即通常意义上所说的总线。
QPI(Quick Path Interconnect):快速通道互联,取代前端总线(FSB)的一种点到点连接技术,20位宽的QPI连接其带宽可达惊人的每秒25.6GB,远非FSB可比。QPI最初能够发放异彩的是支持多个处理器的服务器平台,QPI可以用于多处理器之间的互联。
- 历史:前端总线(Front Side Bus,简称FSB)是将CPU连接到北桥芯片的系统总线,它是CPU和外界交换数据的主要通道。前端总线的数据传输能力对计算机整体性能影响很大,因而FSB是个性能瓶颈。Intel考虑到通过单纯提高处理器的外频和FSB难以像以前那样带来更好的性能提升时,开始采用新总线QPI与处理器进行连接。
NUMA(Non Uniform Memory Access):非统一内存访问(NUMA)是一种用于多处理器的内存结构,内存访问时间取决于处理器的内存位置。 在NUMA下,处理器访问它自己的本地存储器的速度比非本地存储器(存储器的地方到另一个处理器之间共享的处理器或存储器)快一些。
- 为什么需要NUMA:限制访问存储器的次数是现代计算机提高性能的要点。对于没有使用NUMA的多处理器系统,同一时间只能有一个处理器访问计算机的存储器,性能较差。
- NUMA如何提升性能:通过提供分离的存储器给各个处理器,避免多个处理器访问同一个存储器产生性能损失。对于涉及到分散数据的应用,NUMA可以提高性能至n倍,而n大约是处理器(或者分离的存储器)的个数。当然,多个处理器可能需要同一个数据。为了处理这种情况,NUMA系统包含了附加的软件或者硬件来移动不同存储器的数据。
- NUMA节点之间:通过内部互联总线同步数据(❓:这个内部互联总线和系统总线是啥关系)
DMA && 总线 && CPU:当外围设备要求传送一批数据时,由DMA控制器发一个停止信号给CPU,要求CPU放弃对地址总线、数据总线和有关控制总线的使用权.DMA控制器获得总线控制权以后,开始进行数据传送(也就是说CPU访问内存、DMA传输数据都需要使用总线)。在一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。