Intel Haswell/Broadwell架构/微架构/流水线 (4)-流水线执行引擎

本文详细介绍了Haswell微架构的发射口与执行单元,包括各执行单元的数量及代表指令,如ALU、SHFT、SIMD等。同时,探讨了微指令的调度与执行过程,以及不同类型数据间的转换延迟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Execution Engine

下表列出了Haswell微架构的发射口以及对应的操作

Port 0

Port 1

Port2, 3

Port 4

Port 5

Port 6

Port 7

ALU,

Shift

ALU,

Fast LEA,

BM

Load,

STA

STA

ALU,

Fast LEA,

BM

ALU,

Shift,

JEU(Branch)

STA,

Simple_AGU

SIMD_Log,

SIMD misc,

SIMD_Shift

SIMD_ALU,

SIMD_Log

 

 

SIMD_ALU,

SIMD_Log

 

 

FMA/FP_Mul,

Divide

FMA/FP_Mul,

FP_add

 

 

Shuffle

 

 

2nd_JEU

Slow_int

 

 

FP mov,

AES

 

 

 

下表列出的Haswell微架构上的执行单元以及对应的代表指令。表中也列出了一些只存在于Broadwell微架构上的指令。

表:Haswell微架构上的执行单元和代表指令

执行单元

数量

代表指令

ALU

4

add, and, cmp, or, test, xor, movzx, movsx, mov, (v)movdqu, (v)movdqa

SHFT

2

sal, shl, rol, adc, sarx, (adcx, adox)[1]

Slow Int

1

mul, imul, bsr, rcl, shld, mulx, pdep

BM

2

andn, bextr, blsi, blsmsk, bzhi

SIMD Log

3

(v)pand, (v)por, (v)pxor, (v)movq, (v)blendp*, vpblendd

SIMD_Shft

1

(v)psl*, (v)psr*

SIMD ALU

2

(v)padd*, (v)psign, (v)pabs, (v)pavgb, (v)pcmpeq*, (v)pmax, (v)pcmpgt*

Shuffle

1

(v)shufp*, vperm*, (v)pack*, (v)unpck*, (v)pshuf*, (v)pslldq, (v)alignr, (v)pmovzx*, vbroadcast*, (v)pslldq, (v)pblendw

SIMD Misc

1

(v)pmul*, (v)pmadd*, STTNI, (v)pclmulqdq, (v)psadw, (v)pcmpgtq, vpsllvd, (v)blendv*, (v)pblendw

FP Add

1

(v)addp*, (v)cmpp*, (v)max*, (v)min*

FP Mov

1

(v)movap*, (v)movup*, (v)movsd/ss, (v)movd gpr, (v)andp*, (v)orp*

Divide

1

divp*, divs*, vdiv*, sqrt*, vsqrt*, rcp*, vrcp*, rsqrt*, idiv

1:只存在于Broadwell微架构且支持CPUID ADX特性标志位的处理器上

预约站RS(即调度器scheduler)扩展到了60个条目深(前代Sandy Bridge微架构是54个条目)。如果微指令具备执行条件,每周期可以分发最多达8条微指令。RS通过发射口将微指令分发到某个特定的执行簇。执行簇由若干个执行栈构成,用来处理特定的数据类型或者数据粒度。注:主要参看上面的两张表:发射口,执行单元,代表指令。

当某个栈中的微指令需要的操作数来自于另一个栈中的某条微指令,有可能发生传输延迟。当在Intel SSE整型与Intel SSE浮点型之间发生类型转换时,也有可能产生转换延迟。在某些情况下,数据类型转换可以由添加到指令流里的一条微指令实现。下表描述执行结果(微指令执行后回写的结果数据)可以通过旁路传递给下一个周期要执行的指令。

表:生产者微指令与消费者微指令的旁路延迟(周期数)

From/To

INT

SSE-INT/AVX-INT

SSE-FP/

AVX-FP_Low

X87/

AVX-FP_High

INT

 

  • uop (port 5)
  • uop (port 6) + 1 cycle
  • uop (port 5)
  • uop (port 6) + 1 cycle

uop (port 5) + 3 cycle

SSE-INT/

AVX-INT

uop (port 1)

 

1 cycle

 

SSE-FP/

AVX-FP_LOW

uop (port 1)

1 cycle

 

uop (port 5) + 1 cycle

X87 /

AVX-FP_High

Uop (port 1) + 3 cycle

 

Uop (port 5) + 1 cycle

 

Load

 

1 cycle

1 cycle

2 cycle

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值