摘要: 现在一个芯片上可以构造多指令的执行引擎,俗称核。cache一般分三级,L1、L2、L3,L1离CPU最近,容量最小。Intel Core Duo处理器中,每个处理器各有一个32KB的私有1级指令cache和数据cache,它们共享一个2M的2级cache。cache一致性保证仅在处理器单独使用cache行的情况下,处理器才可以写入私有的高速缓存行单元----这样多处理器就引入了额外的开销。其次,当两个处理器处理同一问题时,它们对处理器带宽的要求是单个处理器需求的两倍,这意味着要把CPU的周长做长,以接入更多的I/O引脚,主要的节省来自于共享指令。AMD的Dual Core Operation芯 阅读全文
posted @ 2012-01-03 19:05 高性能golang 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 要统计一个整型数组中3出现的次数,写一个并行程序:#include<time.h>#include<assert.h>#include<stdlib.h>#include<stdio.h>#include<string.h>#include<sys/types.h>#include<pthread.h>#define ARRLEN 200000000 //int型数组的长度,我们的程序就是要统计这个数组中元素3出现了多少次struct padded_int{ int value; //4个字节 char pad 阅读全文
posted @ 2012-01-03 16:57 高性能golang 阅读(2729) 评论(3) 推荐(0) 编辑