总览

计算机组成原理-硬件多线程-LMLPHP

支持硬件多线程与不支持硬件多线程

在不支持硬件多线程的处理器中,处理器只能处理一段指令流水线(一段程序或线程),如果要切换到另一段指令流水线(一段程序或线程),需要保存该指令流水线(一段程序或线程)的环境(寄存器信息)到主存储器中,等到要要切换回来时再从主存中取出之前保存的寄存器的信息,恢复寄存器的值
支持硬件多线程就是相当于有多个CPU了,不同CPU可以处理不同的指令序列(一段程序或线程)
计算机组成原理-硬件多线程-LMLPHP

三种硬件多线程

计算机组成原理-硬件多线程-LMLPHP

细粒度多线程会每个时钟周期取一个线程的两条指令,此时取的两条指令是不存在依赖关系,所以可以同时给两个CPU运行,但每个时钟周期都会切换一次线程

粗粒度多线程就是连续多个时钟周期,都运行同一线程的指令序列。当然每次依然可以并行运行指令。只是切换线程是在流水线阻塞时
流水线阻塞:Cache缺失,就是下一条指令没有了,此时需要到主存去取了。然后再建立取的指令的流水线的环境(寄存器那些的)

同时多线程
每个时钟周期都在运行两个线程,一个 CPU处理一个线程。
此时指令是并行的,同时运行多条指令,线程也是并行,同时运行多个线程

计算机组成原理-硬件多线程-LMLPHP

12-28 16:27