831总线型多处理机(1) 总线型多处理机由用一根总线连接起 来的多个CPU和存储模块组成 只有一个共享内存,所以,如果CPUA 往内存中写一个数据,CPUB随后读取 该字的话,B将读到A写入的值。具有 这种性质的主存被称为具有一致性 致性在分布式操作系统中是一个重 要的概念
8.3.1 总线型多处理机(1) • 总线型多处理机由用一根总线连接起 来的多个CPU和存储模块组成 • 只有一个共享内存,所以,如果CPU A 往内存中写一个数据,CPU B随后读取 该字的话,B将读到A写入的值。具有 这种性质的主存被称为具有一致性 • 一致性在分布式操作系统中是一个重 要的概念
831总线型多处理机(2) 总线型多处理机的问题 通常当CPU增加到4、5个以上时,总线就有可 能过载,系统的总体性能可能急剧下降 种解决的方法,在CPU与总线之间增加高速 缓存。存放cPU最近访问过的内容。如果高速 缓存足够大,那么高速缓存命中率就会比较高 这样由cPU引起的总线传输就将少得多,从而 使系统中能容纳更多的cPU 通常,当高速缓存的大小在64k到1M之间时, 命中率会高达90%以上
8.3.1 总线型多处理机(2) – 总线型多处理机的问题 • 通常当CPU增加到4、5个以上时,总线就有可 能过载,系统的总体性能可能急剧下降 • 一种解决的方法,在CPU与总线之间增加高速 缓存。存放CPU最近访问过的内容。如果高速 缓存足够大,那么高速缓存命中率就会比较高, 这样由CPU引起的总线传输就将少得多,从而 使系统中能容纳更多的CPU • 通常,当高速缓存的大小在64k到1M之间时, 命中率会高达90%以上
831总线型多处理机(3) 高速缓存也带来了一致性问题 比如两个CPU:A和B,每个都将同 个字读入到各自的高速缓存中。然后A 改写了该字。当B随后读该字时,它读 到的是原来的值,而不是A新写入的值。 这样内存就不再一致了
8.3.1 总线型多处理机(3) – 高速缓存也带来了一致性问题 • 比如两个CPU:A和B,每个都将同一 个字读入到各自的高速缓存中。然后A 改写了该字。当B随后读该字时,它读 到的是原来的值,而不是A新写入的值。 这样内存就不再一致了
831总线型多处理机(4) 种解决方案:高速缓存被设计成写通过 ( write-through)的 当一个字被写入高速缓存时,它也同时被 写入内存当中 高速缓存读命中不引起总线传输,但所有 的写操作都将引起总线传输
8.3.1 总线型多处理机(4) 一种解决方案:高速缓存被设计成写通过 (write-through)的 • 当一个字被写入高速缓存时,它也同时被 写入内存当中 • 高速缓存读命中不引起总线传输,但所有 的写操作都将引起总线传输
831总线型多处理机(5) 此外,所有的高速缓存都要监听总线传输。 当发现总线上的一个写操作所写的单元是在 自己缓存的单元中时,它要么将自己缓存的 单元清除,要么用写入的值更新该单元 称作监听型高速缓存 方案符合一致性的要求。几乎所有的总线型 多处理机都采用了写通过策略的监听型高速 缓存这样的方案或类似的方案
8.3.1 总线型多处理机(5) • 此外,所有的高速缓存都要监听总线传输。 当发现总线上的一个写操作所写的单元是在 自己缓存的单元中时,它要么将自己缓存的 单元清除,要么用写入的值更新该单元—— 称作监听型高速缓存 – 方案符合一致性的要求。几乎所有的总线型 多处理机都采用了写通过策略的监听型高速 缓存这样的方案或类似的方案