我是靠谱客的博主 愤怒盼望,最近开发中收集的这篇文章主要介绍Intel超线程技术 Hyper-Threading Technology (6) - 后期增强(Nehalem/Haswell/Skylake),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Intel® Hypter-Thread (Enhencement)
超线程技术在后续各代微架构中的实现比较稳定,有时会做一些增强或改进。对于没有提及到的改变,则认为是与前代微架构一致,没有变化。对于分区使用的资源,例如读存缓冲区,写存缓冲区,重排序缓冲区等,如果容量在后代微架构中有所增大,则每个逻辑处理器可以使用的条目数也相应的增大。
Nehalem Microarchitecture Enhencement
Intel Nehalem微架构支持超线程(HT)技术,它的超线程在每个处理器核中实现了两个逻辑处理器,这两个逻辑处理器共享大多数的执行资源和高速缓存资源。与Intel NetBurst微架构的超线程技术相比,Intel Nehalem微架构的超线程实现在下列方面有所不同:
- 被复制(即双份,每个线程使用一份)的资源:寄存器状态(即程序员可见的x86寄存器),重命名的返回栈缓冲区,大页ITLB
- 分区(即静态地每个线程使用一半)的资源:load缓冲区,store缓冲区,重排序缓冲区ROB,小页ITLB(即4KB页面ITLB)
- 竞争共享(即各线程争抢使用)的资源:预约站,各级高速缓存,行填充缓冲区,DTLB0和二级TLB。
- 交替使用(即每个线程按周期交替使用)的资源:为了保持公平,前端(取指/译码)交替地轮流供两个逻辑处理器使用。
- 对超线程无感知的资源:执行单元
Haswell Microarchitecture Enhencement
- 微指令队列中的循环流侦测器LSD可以侦测最多达56条微指令的循环。如果开启了超线程,队列中56条微指令条目由两个逻辑处理器共享使用。
注:Sandy Bridge在单个处理器核中提供了复制的28条目的微指令队列供每个逻辑处理器使用。
Skylake (Client) Microarchitecture Enhencement
- 译码后微指令缓存(DSB,即Decoded ICache)可以每周期发送6条微指令给微指令队列IDQ(Instruction decoded queue,即uop queue)。
对于IDQ,如果开启了超线程,每个逻辑处理器可以保存64条微指令,前代是28条。如果没有开启超线程,单个处理器核可以保存64条微指令,前代是56条。
英文原文如下:
注:Skylake微架构的超线程技术中,IDQ这个资源是被复制的部件,即每个逻辑处理器使用各自的IDQ;前代微架构是分区的部件,即两个逻辑处理器各使用一半。
- IDQ中的循环流侦测器LSD可以探测最多达64条微指令的循环,不管是否开启了超线程。注:在Skylake Server微架构中,IDQ中的LSD不知何故被禁用了。
最后
以上就是愤怒盼望为你收集整理的Intel超线程技术 Hyper-Threading Technology (6) - 后期增强(Nehalem/Haswell/Skylake)的全部内容,希望文章能够帮你解决Intel超线程技术 Hyper-Threading Technology (6) - 后期增强(Nehalem/Haswell/Skylake)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复