有两个方面:时间多线程和超线程之间有什么区别?
Temporal multithreading:在细粒度多线程时间,主处理器流水线可以包含多个主题,使用上下文切换管道级之间有效地存在的(例如,在barrel processor)。桶式处理器是在每个周期之间在执行线程之间切换的CPU。
Super-threading:是一种多线程技术,它使不同的线程能够被单个处理器执行,而不会同时真正执行它们。 1这可以将其定义为时间分割或时间多线程,而不是同时多线程(SMT)。它的动机是由于长时间延迟事件,处理器的功能单元在执行来自一个线程的指令时偶尔处于空闲状态。超线程试图通过执行来自另一线程的指令来使用未使用的处理器周期,直到前一线程准备好恢复执行为止。
是TM和ST之间的主要区别,在于时空多线程(精细)使用C-slowing和执行的线程之间的切换在每个周期中,但线程间超级线程交换机并不是每一个循环,只有当处理器由于长时间延迟事件,功能单元在执行来自一个线程的指令时处于空闲状态?
时间多线程(细粒度)和超线程有什么区别?
从一个*非常简短的*搜索(和*一些*熟悉计算机体系结构)看来,超线程首次在Shuichi Sakai等人的“Super-threading:Architecture and Software Mechanisms for Optimizing Parallel Computation “具有更广泛的线程硬件支持意识。这个术语在计算机体系结构社区中并不常用(据我所知)。时间多线程包括粗粒度(通常为开机事件MT)和细粒度(包括桶式处理和更灵活的逐周期调度)。 –
@Paul A. Clayton ST很少使用。是否有可能是因为超线程(ST)仅为一个流水线(ALU)提供指令,但为多个流水线(ALU)提供同时多线程(SMT)?即ST仅利用失速(高速缓存未命中,分支错误预测或数据依赖性),但现代CPU也是超标量体系结构,而不是ST使用SMT来利用超标量体系结构。例如超线程 - 是英特尔专有的同步多线程(SMT)。 – Alex