《异构内置和外置:MIPS I6500处理器带来革新.docx》由会员分享,可在线阅读,更多相关《异构内置和外置:MIPS I6500处理器带来革新.docx(3页珍藏版)》请在第一文库网上搜索。
1、异构内置和外置:MIPS16500处理器带来革新在这篇文章中,我们将探索MIPS军工级I级16500CPU处理器的异构设计如何大幅提升性能及降低功耗。高性能处理器通常使用深度多指令执行、分支预测及无序处理等技术以使性能最大化,但这却可能会影响功效。如果其中一些任务是并行的,随之便会在一系列CPU中进行分区,这样便可以提供高性能高效的方案。为此,CPU供应商提供了多核集群,操作系统和应用程序开发人员则设计了相关软件以开发这些功能。采用多线程即使采用无序执行,通常的工作负载使得CPU将大多数时间花在等待内存系统的访问上。新引入的MIPS16500支持多线程,即每个线程作为单独的处理器出现在软件中。
2、根据不同的应用程序,添加第二个线程至CPU中时,通常10%的面积需要总体性能提升40%。MIPS16500可以容纳6个CPU,每个都有4个线程,这样就不必在单个集群中运行24个线程。MIPS16500集群添加了对系统层硬件相干性的支持,并使用AMBAACE添加接口至系统中。AMBAACE是一个一致性总线接口,可以兼容最常用的相干NoC产品,如NCtSPeed公司的Gemini及ArteriS公司的NCOre。有了NetSPeedGemini产品,64MIPS16500集群将可以连接高达384个处理器,运行1536个线程,这着实令人惊叹。对于许多消费产品,其所需的处理性能随着时间的推移可能会有很
3、大的差别。通常,它们只是偶尔需要峰值性能。大多数的时间却只需要较低的性能,而这通过使用一个更简单更高效的处理器大幅降低总功耗便可以实现。信息共享将任务从一个处理器移至另一个处理器需要每个处理器可以共享相同的指令集及系统内存信息。这通过共享虚拟内存(支持向量机)便可以实现。程序中的任何指针必须继续指向相同的代码或数据,且初始处理器中任何不良缓冲必须让随后的处理器可见。图一:内存在集群中传输时的移动轨迹图二,集群内传输时内存移动轨迹更短速度更快维持处理器之间的缓存一致性缓存一致性可以通过软件管理。这要求最初的处理器(CPUA)在传输任务至后续处理器(CPUB)之前冲刷主存储器的缓存。CPUB从主存
4、储器中获取数据和指令。这个过程可能生成许多内存访问,因此将耗费时间和功率。访问主存储器所需的功率比获取缓存时的功率高一个数量级,所以这种影响还将被放大。为了解决这一问题,16500CPU集群支持硬件缓存一致性,以将功耗和性能成本降至最低。在使用16500集群的系统中,当一个任务从CPUA传输至CPUB中时,CPUB将访问驻留在CPUA中的本地缓存线路。硬件缓存一致性将跟踪这些缓存线路的位置,并在必要时窥探缓存情况,以确保访问数据的正确性。16500集群的另一个优势是可以在集群中被发现。在典型的异构系统中,高性能处理器驻留在一个集群中,面积更小更高效的处理器驻留在另一个集群中。在这些不同类型处理
5、器之间进行任务传输时,新处理器第1层和第2层的缓存都是非激活的。要激活这些缓存需要一定的时间,并需要先前的缓存层在过渡阶段仍然保持活跃。MIPS16500是不同的。我们称这种差异性为“异构内置”,这意味着16500支持异构混合类型的处理器,允许高性能和功率优化处理器处在同一集群中。将任务从一种类型的处理器传输至另一类处理器中将更有效,因为只有第1层缓存是未激活的,窥探上一层缓存的成本降低,因而过渡时间变得更短。CPU配置专用加速器CPU是通用的设备。其灵活性使其可以处理任何任务,且任务处理具有成本效率。而POWerVRGPU能够高性能高效率地处理更大且高度并行的计算任务,其代价是灵活性相比CPU则较为降低,但其同时支持良好的软件开发生态系统环境如OpenC10专用硬件加速器的专业化又有效地融合了多种性能,其性能效率相比CPU又高出了几个数量级,不过相应地灵活性则大为降低。不过,多次使用加速器操作可以将潜在的性能和功效最大化。专业计算元素如音频和视频处理以及机器学习中使用的神经网络处理器使用了相似的数学运算。此类操作使用最为广泛的是向量点积(每向量中对应元素产品的总和).配置在CPU上的专用加速器使用此函数则可以显著地提高性能并节省功率,同时又保留了CPU的灵活性。