• 多核程序设计——存储模型

    最近在看《现代体系结构上的UNIX系统——内核程序员的SMP和Caching技术》,这里抄点东西作为笔记吧!
    顺序存储模型强制存储器操作(load和store)都按照程序次序来执行,即这些指令是按照在随程序执行的指令流中出现的顺序次序来执行的。它也指定了,由不同处理器完成的load和store操作也要以某种顺序、但又是非确定性的方式排序。这种存储模型应该是大家最容易理解的,甚至都认为实际MP也是这样工作的。但是,这种存储结构是非常落后的,现代处理器应该已经淘汰了这种结构。
    书中讲到了一个例子,如下;

            处理器一           处理器二
            store %r1, A        store %r1, B
            load %r2, B        load %r2, A
    

    在强定序(strong order)的系统中,一共有四种可能的存储排序。但是可以肯定的是最后一条指令一定是load指令,也就是说至少有一条load指令会读… 【查看更多】