第七章:硬件多线程

        切换是由软件(OS)来实现的,实际上处理器能更快地完成这个工作。在处理器中多开辟几份线程状态,当线程发生切换时,处理器切换到对应的线程状态执行,在瞬间即可完成,这种方式叫做硬件多线程(Hardware Multithreading).
        硬件多线程又分成两类:粗粒度(Coarse-grained))和细粒度(Fine-grained)的硬件多线程。

1.粗粒度

        当处理器发现一个线程被长时间中断时,如 Cache miss,这时处理器就切换到其他线程去执行。

 2.细粒度

        细粒度的硬件多线程是处理器每个cycle轮流发射(issue)不同线程的指令。

        细粒度的硬件多线程的优势在于:多线程之间的指令是不相关的,可以乱序并行执行,寄存器重命名不仅处理了线程内指令的相关,也处理了线程间指令的相关。

 3.同时多线程

        上面例子都是多个线程分时发射的,叫做多线程。

        对于SUperscalar,可一次发射多条指令啊,多条指令来自不同线程,被同时发射,就是同时多线程。

猜你喜欢

转载自blog.csdn.net/Strive_LiJiaLe/article/details/127529926
今日推荐