Jump to content

Smart Cache

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Yobot (talk | contribs) at 06:16, 23 October 2015 (Removed invisible unicode characters + other fixes, replaced: → using AWB (11715)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Smart Cache is a level 2 or level 3 caching method for multiple execution cores, developed by Intel.

Smart Cache shares the actual cache memory among the cores of a multi-core processor; as a result, they share the same cache. In comparison to a dedicated per-core cache, the overall cache miss rate decreases when not all cores need equal parts of the cache space. Consequently, a single core can use the full level 2 or level 3 cache, if the other cores are inactive.[1] Furthermore, the shared cache makes it faster to share memory among different execution cores.[2]

Introduction

Intel smart cache is a technique of sharing the last level cache memory of the processor among multiple cores of the processor. The Intel® Core™ Duo processor is one of the first processors to introduce this shared-cache architecture into a multi-core environment with its Intel® Smart Cache offerings. This organization allows both cores to have access to the entire last-level cache, reducing possible resource underutilization. The enhanced data pre-fetch logic improves efficiency by pre-fetching data to the last level cache even before cache requests occur.

Benefits of the shared cache architecture

In this architecture, each core has its own lower level caches while all cores share the last level of cache. This is of particular advantage in many scenarios.

Efficient usage of the last-level cache

  • Many processes are not optimized completely to run simultaneously on all the cores of a multi-core processor. This sometimes results in higher CPU usage of a single core whereas other cores are idle. This results in underutilization of the total cache memory available. With this technology, even if a single core is utilized, it can access all the last level cache if necessary.

Reduce cache-coherency complexity

Flexibility for programmers

  • Intel Smart Cache serves as an alternate communication mechanisms between cores. One core can pre-/post-process data for the other cores because of more data-sharing opportunities.

Reduce data-storage redundancy

  • If same data is to be copied to all the cores for processing, this technology can help reduce this as same data in cache can be accessed by all the cores.

Reduce front-side bus traffic

  • Effective data sharing betw een cores allows data requests to be resolved at the shared-cache level instead of going all the way to the system memory

History

Intel Smart Cache was first introduced in the Intel® Core™ Duo processor for general purpose computing to the public. The processor had only L1 and L2 cache, in which L2 being the last level cache was shared by both the cored of this processor. Since then, most of the processors are featuring this technology.

Shared-cache architecture multi-core processors take one revolutionary step toward bringing the benefits of power-saving, dynamic cache utilization and design flexibility to system designers and end-users. As the industry begins to utilize shared-cache multi-core processors, more and more techniques will be established by system designers and end-users to use the feature to their advantages. It is also expected that the tools and compilers for multi-core systems will be able to adopt some of the techniques and make it easier and faster to develop efficient multi-core applications in near future.

References

  1. ^ "Intel Smart Cache: Demo". Intel. Retrieved 2012-01-26.
  2. ^ "Inside Intel Core Microarchitecture and Smart Memory Access". Intel. 2006. p. 5. Archived from the original (PDF) on 2011-12-29. Retrieved 2012-01-26.