多核处理器关键技术分析

2022-09-10

一、技术原理

基于基板下进行集成所得的多个单核CPU就是多核CPU, 在最初发展阶段, 北桥负责对PD双核进行任务的分配管控, 二级缓存争抢是核心间极易出现的问题, 经过发展之后, 酷睿对任务分配系统进行了集成, 结合操作系统就可以运行。两大核心能够对两份任务进行同时性的处理, 明显提升了速度, 及时出现单个核心死机的状况, U依然能够操作其他任务, 例如:关闭软件及关机等。

二、关键技术

(一) 程序执行模型

在开展多核处理器设计任务的过程中, 应先对程序执行模型进行选取。多核处理器最提供极高性能时所对应的代价主要取决于程序执行模型适用程度, 其中在系统实现者、编译器设计者二者交互的载体就是程序执行模型[1]。对于编译器设计者来说, 主要任务就是参考特定程序执行模型, 针对高级语言程序, 进行目标机器语言程序的转换;而学习通实现者负责的是, 具体目标机器中程序执行模型能够得到高效实现。若目标机器属于多核体系结构, 那么需要解决下述问题:程序执行模型对应用需求的最大满足程度是多少?使用者对程序执行模型的接收程度是多少?多核体系可以对关键程序执行模型进行支撑吗?多核体系结构的最佳程序执行模型是什么?

(二) Cache设计

针对CMP而言, 主存、处理器二者之间存在的关键冲突问题就是速度的差异, 所以需要进行有效的缓解, 这就应用到多级Cache。当下CMP主要有三种不同的类型, 分别是共享主存、共享二级Cache及共享一级Cache。一般情况下, 共享二级Cache的CMP结构在CMP有着较为广泛的应用, 就是各处理器核心具备独立自主权的一级Cache, 同时处理器核心共享二级Cache。系统的运行性能及效率在很大程度上都是由Cache自身的体系结构设计所决定的。然而基于CMP结构下, 还要注意到这些问题:共享Cache及独有Cache到底哪一种才是最优化的?应基于芯片上建立多级Cache吗?还有可以建立几级Cache吗?这些因素均对芯片尺寸、功耗、布局、性能和运行效率等方面产生较大影响, 所以针对上述问题, 还应进行深入的研究及分析[2]。除此之外, 多级Cache又引发一致性问题。借助何种Cache一致性模型和机制都将对CMP整体性能产生重要影响。在传统多处理器系统结构中广泛采用的Cache一致性模型有:顺序一致性模型、弱一致性模型、释放一致性模型等。与之相关的Cache一致性机制主要有总线的侦听协议和基于目录的目录协议。目前的CMP系统大多采用基于总线的侦听协议。

(三) 核间通信技术

基于多核处理器下, 不同CPU核心执行程序间应开展数据同户、数据共享操作, 这样就要求硬件设施应允许进行核间通信。CMP处理器实现高性能的关键就是高效率化通信机制, 当下两大片上高效通信机制应用较为广泛, 分别为片上互连结构、总线共享下Cache结构。总线共享Cache结构为各CPU下具备共享二级及三级Cache, 能够对应用率较高的数据进行存储, 借助总线的连接核心作用来实现高效通信。结构简便、通信速率高是核间通信技术的优势所在, 同时也存在总线结构扩展性不强的弊端。各CPU核心涵盖Cache、独立处理单元, 共同构成了在片上互连结构, 不同CPU核心借助片上网络或是交叉开关不同的途径, 能够进行连接。不同CPU核心借助消息能够进行有效通信。

(四) 总线设计

基于原有的微处理器内, 不良影响CPU的执行效率就是访存事件、Cache不命中事件, 但是具体的影响性取决于总线接口单元运行效率。在多个CPU核心同时间内对内存、多个CPU核心下发生Cache不命中事件进行访问处理的情况下, CMP系统性能由BIU对于不同对外存储访问的转换机制、仲裁机制的访问请求效率[3]。所以, 要对多端口总线接口单元结构进行优化的选取, 针对多核心访问主存单字的过程转变成高效猝发访问, 也可以针对CMP处理器效率, 对高效多端口BIU访问的仲裁机制、最佳猝发访问字数量模型进行探寻, 从而解决多核处理器的核心探究问题。

(五) 操作系统设计

要确保多核CPU达到高效率, 必须要对操作系统任务调度算法进行优化。通常任务调度算法具备局部、全局队列调度两大算法类型, 其中应用最为广泛和频繁的就是全局队列算法。局部队列调度指的是在操作系统内, 针对各CPU内核维护的独立局部任务等待队列, 但是系统内含独立CPU内核空闲的情况下, 可以基于核心任务等待对哦内, 对任务执行进行优化选择, 该方式具有明显优势, 不用借助多个CPU核心进行任务转换, 使CPU核心局部Cache命中率显著提升;而全局队列调度主要为操作系统维护独立全局任务等待队列, 如果系统内空闲单个CPU核心, 基于全局任务等待队列内, 操作系统能够进行选择就绪任务, 并基于该核心来执行任务, 该方式能够使CPU核心利用效率显著改善。

同单核中断处理存在较大差异, 多核中断处理要求借助中断方式来实现多核内不同处理器的有效通信, 因此不同的处理器的全局中断控制器 (能够仲裁、分配各核中断) 、本地中断控制器均应在芯片内进行装封。

除此之外, 从本质上看, 多核CPU也属于多任务系统。因为任务的差异会存在共享资源竞争激烈的状况, 所以系统应供应互斥机制、同步机制。多核无法运用原有单核解决机制, 更应借助硬件设施来制定同步互斥机制, 也可以供应“读-修改-写”的原子操作。

摘要:在单个处理器下, 集成的两个及以上晚上计算引擎/内核即为多核处理器, 能够使处理器运行系统总线下不同处理器, 命令信号、总线控制信号均为总线控制器发出的。本研究主要对多核处理器技术理论进行了简介, 并详细分析了包括总线设计、Cache设计、程序执行模型和核心技术等技术, 以期充分的发挥多核处理器关键技术的作用及优势。

关键词:多核处理器,技术

参考文献

[1] 李静梅.多核处理器的设计技术研究[D].哈尔滨工程大学, 2010.

[2] 杜建军.共享高速缓存多核处理器的关键技术研究[D].重庆大学, 2011.

[3] 周楠, 胡娟, 胡海明.多核处理器发展趋势及关键技术[J].计算机工程与设计, 2018, 39 (02) :393-399+467.

上一篇:浅谈智能建筑综合布线工程设计下一篇:产后出血中改良B-Lynch缝合术的临床应用观察