首页> 外文会议>2012 Second International Conference on Intelligent System Design and Engineering Application >A Cache Coherence Protocol Using Distributed Data dependence Violation Checking in TLS
【24h】

A Cache Coherence Protocol Using Distributed Data dependence Violation Checking in TLS

机译:TLS中使用分布式数据相关性违规检查的缓存一致性协议

获取原文
获取原文并翻译 | 示例

摘要

Current hardware implementations of TLS (threadlevel speculation) in both Hydra and Renau’s SESC simulator use a global component to check data dependence violations, e.g. L2 Cache or hardware list. Frequent memory accesses cause global component bottlenecks. Implementation and verification of the global component dramatically slows the processor’s frequency. In this paper, we propose a cache coherence protocol using a distributed data dependence violation checking mechanism for TLS. The proposed protocol extends the current MESI cache coherence protocol by including several methods to exceed the present limits of centralized violation checking methods. In order not to broadcast every exposed write to the snooping bus, the protocol adds an invalidation vector to each private L1 cache to record threads that violate RAW data dependence. It also adds a versioning priority register that compares data versions. Added to each private L1 cache block is a snooping bit which indicates whether the thread possesses a bus snooping right for the block. The L1 Cache gets a bus snooping right when setting snooping bit. The L1 Cache catches exposed read miss whose address matching cache block address field. If a read miss from a remote core with a lower versioning priority, the L1 Cache updates the invalidation vector according to the core ID on the bus. If TLS runtime is going to commit or invalidate a thread, then L1 Cache invalidates threads whose bits have been set in the invalidation vector and changes any cache blocks to a corresponding non-speculative state. In order to implement the proposed protocol, we modified the SESC simulator, which is an open-source cycle-accurate simulator, to confirm its correctness and analyze its performance.
机译:在Hydra和Renau的SESC模拟器中,TLS的当前硬件实现(线程级推测)都使用全局组件来检查数据依赖违规情况,例如L2缓存或硬件列表。频繁的内存访问会导致全局组件瓶颈。全局组件的实施和验证大大降低了处理器的频率。在本文中,我们提出了一种使用TLS的分布式数据依赖冲突检查机制的缓存一致性协议。所提出的协议通过包括几种方法来扩展当前的MESI缓存一致性协议,以超出集中式违规检查方法的当前限制。为了不向侦听总线广播每个公开的写操作,该协议向每个私有L1高速缓存添加了一个无效向量,以记录违反RAW数据依赖性的线程。它还添加了一个版本控制优先级寄存器,用于比较数据版本。在每个私有L1高速缓存块上添加一个侦听位,该位指示线程是否对该块具有总线侦听权。设置监听位时,L1缓存会获得总线监听权。 L1缓存捕获其地址匹配缓存块地址字段的公开读取未命中。如果来自版本控制优先级较低的远程核心的读取未命中,则L1缓存会根据总线上的核心ID更新失效向量。如果TLS运行时将提交线程或使线程无效,则L1高速缓存会使已在无效矢量中设置了位的线程无效,并将所有高速缓存块更改为对应的非推测状态。为了实现所提出的协议,我们修改了SESC仿真器(它是一个开源的周期精确的仿真器),以确认其正确性并分析其性能。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号