在很早以前,我对多线程编程很懵懂,因为总感觉一个CPU里面的多个核心无法同时执行,因为总感觉一个CPU针对一个内存控制器,那么如果是多个核心,那么如何进行内存方面的并发读写呢?
最近在看缓存一致性协议,渐渐明白了,CPU的核心只是计算单元,还有存储单元,如果将存储单元合理利用起来,配合CPU的核心的计算和读写操作,那么,完全有可能使用多个核心来加强CPU的整体性能的。
这就是所说的多核编程。利用CPU的多个核心处理多个指令流水线的指令。
在很早以前,我对多线程编程很懵懂,因为总感觉一个CPU里面的多个核心无法同时执行,因为总感觉一个CPU针对一个内存控制器,那么如果是多个核心,那么如何进行内存方面的并发读写呢?
最近在看缓存一致性协议,渐渐明白了,CPU的核心只是计算单元,还有存储单元,如果将存储单元合理利用起来,配合CPU的核心的计算和读写操作,那么,完全有可能使用多个核心来加强CPU的整体性能的。
这就是所说的多核编程。利用CPU的多个核心处理多个指令流水线的指令。
转载于:https://www.cnblogs.com/weiguangyue/p/10770660.html