Cache Memory: An Analysis On Performance Issues: June 2021
Cache Memory: An Analysis On Performance Issues: June 2021
net/publication/352825606
CITATIONS READS
19 6,905
6 authors, including:
All content following this page was uploaded by Sonia Garg on 01 December 2021.
Abstract—Cache memory is mainly inculcated in systems to cache memory. Very frequent and large numbers of memory
overcome the gap created in-between the main memory and requests are seen in the cache memory although it is much
CPUs due to their performance issues. Since, the speed of the smaller in size as compared to the main memory. Various
processors is ever-increasing, so a need arises for a faster speed levels of the cache memory are present in the computer,
cache memory that can definitely assist in bridging the gap among them the largest and the slowest cache is being
between the speed of processor and memory. Therefore, this present at the last level. In contrast, the smallest and the
paper proposes architecture circumscribed with three fastest cache will be found at first level cache. The level one
improvement techniques namely victim cache, sub-blocks, and cache, that is L1, is normally reside inside the processor;
memory bank. These three techniques will be implemented one
however, the level two, L2, and level three, L3, caches are
after other to improve and make the speed and performance of
cache comparative to main memory. Moreover, the different
present on separate chips out of the processor. Each
variables like miss penalty ratio, access speed of cache and miss processor, in the multi-core processors, will have its personal
rate ratio, which were already in use, are used in this paper to L1 cache memory and all the cores will be shared by the last
estimate the cache memory performance after implementation level of the cache.
of proposed approach. After performance estimation it can be Whenever a word is to be searched, at first the CPU
determined that proposed approach at level 1, using Victim searches primary address of that word in its cache memory.
Cache technique decreases the rate of misses, at level 2, Sub-
If it is found there a HIT occurs, else a MISS occurs. In that
blocks Division technique further reduces the penalty ratio of
case the word is searched in their main memory and then
miss rate and then at level 3 Memory Bank Technique is useful
in further decreasing memory access time. Thus, using the data sub-part is fetched from its main memory and finally
suggested approach, performance of Cache Memory can be stored in the cache for future reference. Hit Ratio is defined
improved several times. as the ratio between the, number of HITS divided by the sum
of number of HITs and the number of Misses. The HIT ratio
Keywords—RAM, Miss Ratio, Access Rate, Hit Ratio, Tags closer to one can be taken as on:
and Addresses, Associative Mapping
x If the memory address is accessed first time then
I. INTRODUCTION Misses will take place.
Cache Memory is an important element in the computer x If 2 blocks are simultaneously mapped on the same
that could affect the program execution because its access address, Misses could occur because of the
time is less than the access time of the other memories. It is inadequate size.
the fastest component in the memory hierarchy and
approaches the speed of CPU components. It works on the x Misses could occur because of the small size of
property of ‘locality of reference’ i.e. reference to memory at cache.
any given interval of time tends to be confined to a few The cache MISS rates in addition to the handling time
localized areas in memory. The active instructions of the needed for the cache are two main factors which have the
program in addition to the variables will be stored in the major impact on the performance of cache. Victim cache
cache memory; this will reduce the total execution time of (which is a short-term storage space of line of cache
the program because of reducing the average access memory memory, removed from cache) and with it column
time. associative cache can be used to reduce cache miss rate.
The concept behind the Cache memory organization is to Overall, cache memory acts as an connecting point in-
make the average access time of the memory approaches the between the CPU and slower memory unit, since it can
average access time of the cache memory by keeping the provide data at the fast pace for execution inside memory
instructions and data, which are most accessed, in the fast which has been shown in Fig. 1.
978-93-80544-43-4/21/$31.00 2021
c IEEE 184
Authorized licensed use limited to: University of Nevada Las Vegas. Downloaded on September 24,2021 at 11:42:57 UTC from IEEE Xplore. Restrictions apply.
the matching address in the memory. If the address was
found, the content pair is then fetched for the associative
memory and stored in it.
2021 8th International Conference on Computing for Sustainable Global Development (INDIACom 2021) 185
Authorized licensed use limited to: University of Nevada Las Vegas. Downloaded on September 24,2021 at 11:42:57 UTC from IEEE Xplore. Restrictions apply.
1024 words where each and every word from the cache In [8] and [9], average access memory time reduction
memory consist of 2 data words. Commonly, K-words of approach is proposed via adding victim cache. Kim and Song
main memory for every word of cache memory can be detailed out the effect of cache memory on the data storage
considered by a set-associative cache of the given set size as [10]. Some researchers have discussed cache memory
demonstrated in Fig. 4. performance with other memories like scratchpad memory,
split memory, etc. [11], [12]. Kolanski [13] proposed the
usage of Cache memory for mobile and embedded systems.
Smith et al. [14] suggested the performance for virtual
memory using a page based approach which has been
affected by page fault frequency. Moreover, Banday and
Khan [15] presented an overview and review on present
status of performance in Cache memory. They also discussed
about the Cache performance and its adaptability, when
system is working over the network.
A summary of related research works, done by the
researchers to improve the cache performance, is presented
in Table I.
186 2021 8th International Conference on Computing for Sustainable Global Development (INDIACom 2021)
Authorized licensed use limited to: University of Nevada Las Vegas. Downloaded on September 24,2021 at 11:42:57 UTC from IEEE Xplore. Restrictions apply.
Based upon the tabulated summary and reviewed The victim cache behavior in the corresponding
literature, it is observed that there is need to have a interaction with the associated level if cache is described
comprehensive model which could provide the improvement below
in cache memory performance at a place. Therefore, we have
suggested an architecture containing all together three Cache Hit: No action
improvement techniques namely victim cache, sub-blocks, Cache Miss means Victim Hit: In this case, the blocks
memory bank. These techniques will be implemented one inside the victim cache and the cache will be swapped.
after other to improve and make the speed and performance Therefore, the new block which has been stored in victim
of cache comparative to main memory. cache will be considered as the block that has been used
most recently.
IV. PROPOSED ARCHITECTURE FOR IMPROVING CACHE
PERFORMANCE Cache Miss means Victim Miss: The part from next level
will be fetched to cache and the part coming out of cache
As discussed in previous sections, there arises a dire need will get stored in victim cache.
of detailed research in order to bridge the speed gap in-
between cache memory and main memory. Thus, in this This can be explained through an example: Assume a
section, a solution of this problem has been suggested cache of direct-mapped category containing two blocks A, B
through an architecture. referring towards the same set of values. Then it is
considered to be linked to a second entry fully associative
In this architecture, different techniques have been victim cache having C, D blocks. The path to be considered
combined together that extracts out one by one, removing the is as shown in the Figure 6, i.e. A, B, A, B…. and so on.
limitations of previous one. This step by step architecture
will increase the speed of cache memory considering all of
techniques comprehensively where each one of them
individually is helpful in improving the performance of the
memory. Further, in the presented paper, different techniques
and methodologies has been examined to assess the
usefulness of proposed technology in improving
performance. The architecture has been illustrated with the
flow diagram in Fig. 5, and then elaborated in detail with its
implementation.
2021 8th International Conference on Computing for Sustainable Global Development (INDIACom 2021) 187
Authorized licensed use limited to: University of Nevada Las Vegas. Downloaded on September 24,2021 at 11:42:57 UTC from IEEE Xplore. Restrictions apply.
REFERENCES
Sub-blocks
[1] V. Chaplot, “Virtual Memory Benefits and Uses,” International
Journal of Advance Research in Computer Science and Management
100 1 1 1 1 Studies, vol. 4, no. 9, 2016.
Looks
a lot [2] C. Zhang, F. Vahid, and R. Lysecky, “A Self-Tuning Cache
300 1 1 0 0 like
Architecture for Embedded Systems,” ACM Transactions on
Embedded Computing Systems, vol. 3, no. 2, pp. 407-425, 2004.
200 0 1 0 1 write
buffer [3] A. Agrawal and S. D. Pudar, “Column-associative Caches: a
Technique for Reducing the Miss Rate of Direct-mapped Caches,” in
204 0 0 0 0 Proc. of the 20th Annual International Symposium on Computer
Architecture, 1993, pp. 179-190.
Fig. 7. Dividation of block into sub-blocks
[4] S. Kumar and P. K. Singh, “An overview of modern cache memory
and performance analysis of replacement policies,” in Proc. of the
Step3: Decreasing Memory Access Time IEEE International Conference on Engineering and Technology
Memory bank is a hardware-dependent logical unit of (ICETECH), 2016, Coimbatore, India, pp. 210-214.
storage in electronics. In a computer, the memory controller [5] S. S. Omran and I. A. Amory, “Implementation of LRU Replacement
Policy for Reconfigurable Cache Memory Using FPGA,” in Proc. of
with physical organization of the slots of the hardware the International Conference on Advanced Science and Engineering,
memory, define the memory bank. A memory bank is a 2018, pp. 13-18.
partition of cache memory that is addressed sequentially in [6] K. Westerholz, S. Honal, J. Plankl, and C. Hafer, “Improving
the entire set of memory banks. For example, assuming that performance by cache driven memory management,” in Proc. of the 1st
a(n) is data item which is stored in bank (b), the following IEEE Symposium on High Performance Computer Architecture,
data item a(n+1) will be stored in bank (b+1). To avoid the 1995, Raleigh, USA, pp. 234-242.
bank cycle time impacts, cache memory will be separated [7] Y. A. Divya, “An Efficient Virtual Memory using Graceful Code,”
International Journal of Trend in Scientific Research and Development
into several banks. Therefore, if data is saved or recovered vol. 3 no. 4, pp. 623-626, 2019.
sequentially each bank will have sufficient time to recover
[8] M. Biglari, K. Barijough, M. Goudarzi, and B. Pourmohseni, “A Fine-
before processing the next request of the same bank. Grained Configurable Cache Architecture for Soft Processors,” in
Proc. of the 18th CSI International Symposium on Computer
The required number of memory modules to have a Architecture and Digital Systems (CADS), 2015.
similar number of data bits as the bus. A bank can contain
[9] A. Q. Ahmad, M. Masoud, and S. S. Ismail, “Average Memory Access
many numbers of memory modules as illustrated in Fig. 8. Time ReductionVia Adding Victim Cache,” International Journal of
Applied Engineering Research, vol. 11, no. 19, pp. 9767-9771, 2016.
[10] Y. Kim and Y. H. Song, “Impact of processor cache memory on
storage performance,” in Proc., of the International SoC Design
Conference (ISOCC), 2017, Seoul, pp. 304-305.
[11] W. P. Dias and E. Colonese, “Performance Analysis of Cache and
Scratchpad Memory in an Embedded High Performance Processor,” in
Proc. of the 5th International Conference on Information Technology:
New Generations, 2008, Las Vegas, USA, pp. 657-661.
[12] K. Singh and S. Khanna, “Split Memory Based Memory Architecture
with Single-ended High Speed Sensing Circuit to Improve Cache
Memory Performance,” in Proc. of the 6th International Conference on
Signal Processing and Communication (ICSC), 2020, Noida, India, pp.
188-193.
Fig. 8. Memory bank modules
[13] R. Kolanski, “A logic for virtual memory, “Electronic Notes in
Theoretical Computer Science, vol. 217, pp. 61-77, 2008.
V. CONCLUSION AND FUTURE SCOPE [14] S. P. Smith and J. Kuban, “Modelling and Enhancing Virtual Memory
In this work, different methods are proposed to improve Performance in Logic Simulation,” in Proc. of the IEEE International
Conference on Computer-Aided Design, January 1988, pp. 264-265.
the performance of cache memory. The proposed methods
are discussed in detail to find out the advantages and [15] M. T. Banday and M. Khan, “A study of recent advances in cache
memories,” in Proc. of the International Conference on Contemporary
limitations of each one. Furthermore, several metrics were Computing and Informatics (IC3I), 2014, Mysore, India, pp. 398-403.
used to compare the behaviour of them. Therefore, the main
redemptions that we draw out from this study is that the
conflict miss rate can be decreased after taking bigger block
size, however for that, more cache size is required. Usage of
bigger block size can rise penalty ratio of misses, decrease
the time of the hit in addition to decreasing the power
dissipation. Larger cache results in slow access time and
more cost. However, more associatively results in fast access
time and consequently less cycle time or lesser number of
cycles. Victim Cache always decreases the rate of misses but
at a higher cost in contrast to look aside miss cache.
As a future work, implementation of suggested model
will be done. Moreover, further improvement of cache
performance will be suggested by considering several
methods that can predict future access of data and
instructions.
188 2021 8th International Conference on Computing for Sustainable Global Development (INDIACom 2021)
Authorized licensed use limited to: University of Nevada Las Vegas. Downloaded on September 24,2021 at 11:42:57 UTC from IEEE Xplore. Restrictions apply.
View publication stats