欢迎来到天天文库
浏览记录
ID:34379934
大小:325.29 KB
页数:6页
时间:2019-03-05
《利用mips多线程处理器优化soc设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、利用MIPS多线程处理器优化SoC设计多线程是一种基于硬件或软件的处理技术,它的首要目标是计算型工作中利用并发来提高性能。多线程也可以用于区别各种任务,以便可以将优先权分配给更多时间敏感的流量,如语音、视频或关键数据。而公认的基于软件的多线程技术,如任务切换和基于软件的线程调度已经存在了相当一段时间,很少有人知道基于硬件的多线程的历史。基于硬件的多线程技术其实已经存在了相当长一段时间,其实现可以追溯到20世纪60年代的CDC6600。在CDC6600电脑中,10个硬件线程被用来保证从I/O处理器
2、到约16个外围设备的响应时间。这个例子的处理器运行速度远远超过了许多I/O设备,是一个充分利用多线程优势的典型应用,因为空闲处理时间可以被从线程到线程切换的有益工作所取代。在70年代,DenelcorHEP机是在CPU内,而不是在I/O实际执行线程切换。类似上例,最终结果是每个周期的指令(IPC)有了显著改善。之后10年推出的其他几个系统和学术研究进一步展示了硬件多线程的好处。今天的市场上有许多多线程处理器。英特尔公司已经利用其超线程技术将该技术引入高端计算应用领域。此外,其他许多SoC制造商,
3、如Broadcom、Lantiq、Mobileye、NetLogicMicrosystems、PMC-Sierra、RalinkTechnology和SigmaDesigns也交付了上百万个采用多线程处理器的产品。许多这样的SoC都采用了基于业界标准MIPS架构的多线程MIPS3234K系列内核或多线程、多处理MIPS321004K一致处理系统(CPS)。目前硬件多线程已经成为主流应用,并越来越被视为SoC设计中实现最佳性能的有效方法。用多线程提高流水线利用率如前所述,增加一个给定单线程处理器的
4、IPC数量是一个主要目标。通常情况下,即使是非常高性能的处理器也有大量时间闲置,目的是等待数据到达。常见的情况是,带有共享存储系统先进处理器需花50%的时间等待数据在缓存未中(cachemiss)后返回。此数据检索的等待时间可能会持续几十个周期,在极端情况下甚至是数百个周期。无论数量多少,处理器在此期间做的都是无效工作。多线程处理器可以在多个线程之间切换以利用这些闲置的周期。这些周期现在可以用来自其他线程的有用指令填满,从而避免未使用的周期白白浪费。这最终将获得更好的流水线利用率并提升系统的吞吐
5、量。确保线程切换效率的一个关键环节是怎样进行线程相关信息或语境的管理。当映射到一个线程时,每个任务都有相关的上下文信息,如程序计数器和寄存器信息子集,这些信息是以硬件加载和更新的。在单线程处理器中,由于处理器在线程之间切换,这些上下文必须导入(swappedin)或导出。当在线程之间变换时,需要有与保存和恢复操作有关的额外处理。这种负担可能会变得非常繁重,尤其是采用高语境(highcontext)切换。多线程处理器支持由每个硬件支持的线程的完整上下文存储,无需保存和恢复操作。这种机制支持切换线程
6、或上下文的零周期开销。更多资料请访问与非网MIPS技术社区图1显示了多线程是如何提高流水线利用率的基本机制。在这种情况下,在不同的时间点有三个线程出现了缓存未中。在这些线程暂停(stall)期间,其他线程在同一条流水线上做着有用的工作,从而增加了IPC。MIPS多线程技术MIPS科技的多线程技术基于两个层次框架,涉及虚拟处理单元(VPE)和线程上下文(TC),支持每个周期的线程切换。每个多线程内核多达可支持两个VPE,它们共享其他硬件资源中的一条流水线。不过,由于每个VPE可以有自己针对高速缓存
7、的转换后备缓冲器(TranslationLook-asideBuffer,TLB),因此它们都可作为针对一个SMPLinux操作系统的两个独立处理器出现。对于更细粒度的线程处理应用,每个VPE可以支持多个TC。这些TC共享一个执行单元,但各有各的程序计数器和内核寄存器文件,以便每个TC都可以处理来自软件的线程。34K内核多达可以支持分配在两个VPE上的九个TC,在运行时进行优化和分区。利用最小的芯片面积可执行MIPS多线程功能。34K内核也允许为线程分配处理器周期,并利用一个可选的服务质量(Qo
8、S)管理块设置相对线程优先权。这有助于实现两个优先机制,确定总线上的信息流量。第一个机制允许用户让某一个线程优先于另一个。第二个机制用来根据时间的变化为特定线程分配一个指定的周期更多资料请访问与非网MIPS技术社区率。这两个机制的结合使用可以有效地给线程组分配带宽,更好地控制延迟。在实时系统中,系统级的决定是非常关键的,而QoS块有利于改善系统的可预测性。图2a显示了34K内核中VPE、TC和QoS块的关系。1004KCPS是MIPS科技的最新一代多线程处理器。该系统支持多达四个多线程内核,每个
此文档下载收益归作者所有