- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 如何在编程中降低分支预测错误的几率
条件分支是计算机语言最基本的操作之一。不幸的是,由于条件分支打乱了指令流的顺序,它也是处理器最难高效执行的指令之一。分支有时可以在单个时钟周期内完成执行,有时它们需要花费几十个时钟周期。分支有两种形式:条件分支和非条件分支。条件分支不是跳转到指定的指令(采纳分支,taken branch),就是执行下面的一条指令(分支落空,fall through)。而非条件分支总是跳转到一个新的位置。对直接
2007-03-19 14:57:00 3188 2
原创 如何检测和避免代码中的存储转发冲突
存储转发是Intel Pentinum 4 和 pentinum 6系列提供的一种加速读写指令执行的技术。当处理器执行一条存储指令时,存储缓冲区被分配。一旦存储指令被执行,存储缓冲区含有存储指令写入内存的数值和内存地址。对于存储之后发生的载入,在它们被执行前经常不必等候存储指令的完成。如果载入来源于非重叠的内存区,载入指令可以不受存储指令的影响而开始执行。如果载入与存储区域完全重叠,
2007-03-19 13:02:00 1495
原创 多核平台下Cache的False Sharing问题
多核平台下,现有的单线程应用程序将逐步被多线程应用程序所取代,而有效的使用cache是构建高性能多线程应用程序的关键之一。然而,在多线程的程序中对于cache的不正确使用将严重影响系统性能。cache使用中常见的一个问题是false sharing。当不同的线程同时读写同一cache line上不同数据时就可能发生false sharing。false sharing会导致多核处理器上严重的系
2007-03-10 15:59:00 6768 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人