摘要:
问题1:内存模型是什么?答案:CPU硬件有它自己的内存模型,不同的编程语言也有它自己的内存模型。如果用一句话来介绍什么是内存模型,我会说它就是程序员,编程语言和硬件之间的一个契约,它保证了共享的内存地址里的值在需要的时候是可见的,它保证了机器执行代码的结果与程序员脑子里的预期是一致的。。它最大的作用是取得可编程性与性能优化之间的一个平衡。[parallellabs.com]问题2:多核并行编程为什么需要关注内存模型?答案:目前缺少一个并发的内存模型,使得开发多核程序的程序员不得不面对内存操作的一些细节。从语言来说,.net , java 基于虚拟机的语言其内存模型相对完整,c,c++的内存模型 阅读全文
摘要:
1.1 多核处理器定义多内核处理器架构是指:芯片设计工程师在单个处理器中集成两个或多个 “执行内核(即计算引擎)”。多内核处理器可直接插入到单一处理器基座中。但是,操作系统会把它的每个执行内核作为独立的逻辑处理器,为其分配相应的执行资源。要利用多核处理器的运算能力,需要改写操作系统和编译器,广泛使用的vista, vin7 等都能支持多核体系架构。1.2 多核发展趋势首先思考一个问题: 为什么微处理器要从单核转向多核?答案是: 功耗问题限制了单核不断提高性能的发展途径.有几个简单的公式可以说明这个问题:1)处理器性能 = 主频 * IPC , 主频是指每秒时钟周期数,比如1Ghz,是每秒10亿 阅读全文