5.5 CPU新技术(上);5.5.1 SIMD技术;为了解SIMD在性能上的优势,我们以加法指令为例说明
单指令流单数据流(SISD)型CPU对指令译码后,
执行部件先访问主存,取得第一个操作数
之后再一次访问主存,取得第二个操作数
随后才能进行求和运算
SIMD型CPU对指令译码后,
几个执行部件同时访问主存,一次性获得所有操作数进行运算
SIMD技术这一特点特别适合多媒体应用等数据密集型运算;1.MMX技术;;2.SSE技术;;计算一个很长的浮点型数组中每一个元素的平方根
for each f in array {
把f从主存加载到浮点寄存器
计算平方根
再把计算结果从寄存器中取出写入主存 }
在采用SSE技术后,算法可改写为:
for each 4 members in array { //对数组中每4个元素 把数组中这4个数加载到一个128位SSE寄存器中
在一个指令执行周期中完成计算4个数平方根的操作
把所得的4个结果取出写入主存 };3.SSE2技术;在整数处理方面,
随MMX技术引进的SIMD整数指令从64位扩展到了128位,使SIMD整数类型操作的执行效率成倍提高
在浮点数处理方面,
双精度浮点SIMD指令允许以SIMD格式同时执行两个浮点操作
除SSE2指令之外,最初的SSE指令也得到增强
支持多种数据类型(例如双字、四字)的算术运算
支持灵活、动态范围更广的
原创力文档

文档评论(0)