MIPS® MT ASE

多线程(同一个CPU上同时存在多个活动线程)是一种容忍存储器和执行延迟的技术,并可提高处理器功能单元的利用率。这种由英特尔推广普及的技术又被称为超线程(Hyper-Threading)。在数据相关停顿(data-dependent stall)或缓存丢失(cache miss)期间,通过切换线程,处理器管线能够达到80-90%的利用率。MIPS MT ASE为MIPS架构的多线程实现提供了一个构架。

相关链接:34K - 1004K


  • 多线程是一种用来可在系统内产生最大吞吐量的执行模式
  • 允许多个软件线程使用所有执行和存储器带宽,而非某个软件线程停顿下来等待资源
  • 支持两种MT模式:
    • 多个虚拟处理器,允许多个操作系统在一个实际CPU上同时运行
    • 多个线程环境(Thread Context),其中单个软件程序的多个线程可在一个实际CPU上同时运行
  • 服务质量(QoS)调度满足实时要求
  • 线程在多核系统中可重分配
  • 代码只需少许变化或无需改变,系统吞吐量立即提高20-40%

  • TC (Thread Context,线程环境)可复制用户模式状态,比如通用寄存器
  • VPE (Virtual Processor Elements,虚拟处理器元素)可复制特权模式状态,比如TLB和有关中断的状态寄存器
  • 由硬件处理可运行线程的切换
    • 可实现线程间的细化切换,包括每一个CPU周期切换
    • 线程切换策略完全由客户定义――可以是循环调度(Round-Robin)、加权循环调度、优先级调度等等
  • 由软件控制可运行线程的创建和中止
  • 支持硬件事件(如中断)中止或唤醒线程
  • 门控存储可用作线程之间的通信通道――允许线程的数据驱动调度
  • 线程可标记为特权级别,这时其可访问另一个线程的资源
  • 支持类似于特殊VPE(向量处理单元) 的中断
  • 提供软件控制来激活或禁用每一个TC和VPE

See MIPS Run, Second Edition
Author: Sweetman, Dominic
Publisher: Morgan Kaufmann; 2 edition (October 31, 2006)
ISBN-10: 0120884216
ISBN-13: 978-0120884216

MIPS Assembly Language Programming
Author: Britton, Robert
Publisher: Prentice Hall; illustrated edition edition (June 7, 2003)
ISBN-10: 0131420445
ISBN-13: 978-0131420441

The Mips Programmer's Handbook
Author: Bunce, Philip; Farquhar, Erin
Publisher: Morgan Kaufmann; 1st edition (January 15, 1994)
ISBN-10: 1558602976
ISBN-13: 978-1558602977

Real-Time Embedded Multithreading Using ThreadX and MIPS
Author: Lamie, Edward
Publisher: Newnes; Pap/Cdr edition (December 26, 2008)
ISBN-10: 1856176312
ISBN-13: 978-1856176316

Computer Architecture, Fourth Edition: A Quantitative Approach
Authors: Hennessy, John; Patterson, David
Publisher: Morgan Kaufmann; 4 edition (September 27, 2006)
ISBN-10: 0123704901
ISBN-13: 978-0123704900