ABSTRACT

This chapter provides a brief overview of the memory hierarchy used in current multicore architecture. In these architectures, the memory hierarchy consists of hardware-managed temporary memory referred to as caches, and occassionally software-managed temporary storage referred to as scratchpad memory. The chapter primarily covers basic cache architectures. The coverage is divided into general concepts and organizations of a cache, and multicore-focused organizations of caches. A cache is a relatively small memory for keeping data that is likely needed by the requestor. The concept of a cache is universal since it can be used as a software construct or a hardware component. The chapter focuses on hardware caches that exist between the processor and the main memory. It contains two case studies of cache organizations in recent multicore systems: IBM Power7 Memory Hierarchy and comparison between AMD Shanghai and Intel Barcelona’s Memory Hierarchy.