计算机系统结构 第10章.pptVIP

  • 36
  • 0
  • 约1.86万字
  • 约 98页
  • 2017-03-18 发布于贵州
  • 举报
这样总共有2n+1个总线事务; 由于收到通知的n-1个Cache复件作废,对应n-1个处理器的LL操作立即产生读失效,又重演刚才n个处理器竞争的过程,只是参与者下降到n-1个,......。 依此类推,当最后1个处理器将锁释放后,前后发生的总线事务次数共有 本题中n=10,总线事务数共有120个,每个总线事务花费100个时钟周期,合计需要12000个时钟周期。 10.4 同 步 本例中问题的根源:锁的争用、对锁进行访问的串行性以及总线访问的延迟。 旋转锁的主要优点:总线开销或网络开销比较低,而且当一个锁被同一个处理器重用时具有很好的性能。 如何用旋转锁来实现一个常用的高级同步原语:栅栏 栅栏强制所有到达该栅栏的进程进行等待,直到全部的进程到达栅栏,然后释放全部的进程,从而形成同步。 栅栏的典型实现 用两个旋转锁: 用来保护一个计数器,它记录已到达该栅栏的进程数; 用来封锁进程直至最后一个进程到达该栅栏。 10.4 同 步 一种典型的实现 lock和unlock提供基本的旋转锁 变量count记录已到达栅栏的进程数 total规定了要到达栅栏的进程总数 10.4 同 步 对counterlock加锁保证增量操作的原子性。 release用来封锁进程直到最后一个进程到达栅栏。 spin(release=1)使

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档