2013年3月19日

Branch Prediction 与 Branch Predication的区别

摘要: Branch Prediction和BranchPredication都是针对程序分支语句影响硬件执行效率而提出的技术。BranchPrediction应用于CPU,目标是保证最高的线程执行效率。BranchPredication应用于SPMD结构的运算设备,这类设备以吞吐量为首要目标,GPU就是这类设备的代表。BranchPrediction Branch Prediction,即分支预测,目的是保证大部分时间下CPU流水线都处于满负荷状态,保证正在执行的线程以最高效率运行。CPU流水线可大致划分为4个阶段:指令预取、指令解码、执行和结果回写。当程序代码出现条件分支语句时,条件分支语句... 阅读全文

posted @ 2013-03-19 20:17 rickerliang 阅读(1415) 评论(0) 推荐(0) 编辑

C++ allocator简记

摘要: 最近听同事说,某公司面试问到了C++allocator相关的问题。 allocator模版本质是stl容器对内存管理的一组需求,泛型编程里称之为concept。自己制作allocator时,只要满足这些需求就没有问题了。值得注意的是,allocator内一个很有趣的结构,不得不提,这就是rebind,它的目的就是:通过一个已具体化的allocator class得到另一个具体化的allocator class,这是对class的编程,可以认为是简单的模版元编程。例如allocator<int>::rebind<long>::other就是一个allocator<l 阅读全文

posted @ 2013-03-19 19:59 rickerliang 阅读(379) 评论(0) 推荐(0) 编辑

导航