Scratchpad Memory : a Design Alternative for Cache On-Chip Memory in Embedded Systems

Scratchpad Memory : a Design Alternative for Cache On-Chip Memory in Embedded Systems

Scratchpad Memory : A Design Alternative for Cache On-chip memory in Embedded Systems Rajeshwari Banakar, Stefan Steinke, Bo-Sik Lee, M. Balakrishnan, Peter Marwedel banakar i mbala~cse.iitd.ernet.in Indian Institute of Technology, Delhi 110 016 steinke I lee { marwedel~lsl2.cs.uni-dortmund.de University of Dortmund, Dept. of Computer Science 44221 Dortmund, Germany ABSTRACT have on-chip scratch pad memories. In cache memory sys- tems, the mapping of program elements is done during run- In this paper we address the problem of on-chip mem- time, whereas in scratch pad memory systems this is done ory selection for computationally intensive applications, by either by the user or automatically by the compiler using proposing scratch pad memory as an alternative to cache. suitable algorithm. Area and energy for different scratch pad and cache sizes Although prior studies into scratch pad memory behav- are computed using the CACTI tool while performance was ior for embedded systems have been conducted, the im- evaluated using the trace results of the simulator. The tar- pact on area have not been addressed. This paper com- get processor chosen for evaluation was AT91M40400. The pares cache/scratch pad area models along with their en- results clearly establish scratehpad memory as a low power ergy models. Specificallywe address the following issues alternative in most situations with an average energy re- duction of J0%. Further the average area-time reduction for the seratchpad memory was 46% of the cache memory. 1 I. To support comparison of memory systems we gen- erate area models for different cache and scratchpad memory. Further, energy consumed per access for cache and scratchpad is computed for different sizes 1. Introduction of cache and scratchpad. The salient feature of portable devices is light weight and 2. We develop a systematic framework to evaluate the low power consumption. Applications in multimedia, video axea-performance tradeoffof cache/scratch pad based processing, speech processing, DSP applications and wire- systems. Experimental environment requires the use less communication require efficient memory design since of a packing algorithm (which is a compiler support) on chip memory- occupies more than 50% of the total chip to map the elements onto the scratchpad memory. area [1]. This will typically reduce the energy consumption of the memory unit, because less area implies reduction 3. Finally, we report the performance and energy con- in the total switched capacitance. On chip caches using sumption for differentcache and scratchpad sizes, for static RAM consume power in the range of 25% to ,~5% the various applications. We include the main mem- of the total chip power [2]. Recently, interest has been fo- ory energy consumption to study the complete system cussed on having on chip scratch pad memory to reduce the energy requirements. power and improve performance. On the other hand, they can replace caches only if they axe supported by an effec- tive compiler. Current embedded processors particularly in The rest of the paper is organized as follows. In section 2 the area of multimedia applications and graphic controllers we explain the scratch pad memory axea and energy models. ZThis project is supported under DST-DAAD grants In section 3, we present cache memory used in our work. project number MCS 216 Section 4 describes the methodology and the experimental setup and section 5 contains the results. In section 6 we conclude and also specify the future work. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or COlnmercial advantage and that 2. Scratch pad memory copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. The scratch pad is a memory array with the decoding CODES'02. May 6-8, 2002, Estes Park, Colorado, USA. and the column circuitry logic. This model is designed Copyright 2002 ACM 1-58113-542-4/02/0005...$5.00. keeping in view that the memory objects axe mapped to the 73 scratch pad in the last stage of the compiler. The assump- tion here is that the scratch pad memory occupies one dis- tinct part of the memory address space with the rest of the A~ = A,d~ + A, da + A+~o + A~p~ + A++~ + A~o, (1) space occupied by main memory. Thus, we need not check for the availability of the data/instruction in the scratch where A,a+, Asia, As¢o, As~, Ass+ and Asou is the pad. It reduces the comparator and the signal miss/hit ac- area of the data decoder, data array area, column mul- knowledging circuitry. This contributes to the energy as tiplexer, pre-charge, data sense amplifiers and the output well as area reduction. driver units respectively. The scratch pad memory energy consumption can be esti- The scratch pad memory array cell is shown in Fig. l(a) mated from the energy consumption of its components i.e. and the memory cell in l(b). decoder Ea,~od,~ and memory columns E ..... t. E,c,~,~p~d = Ed+co~+, + E ..... l (2) Energy in the memory array consists of the energy con- Wordl mlcct sumed in the sense amplifiers,column multiplexers,the out- put driver circuitry,and the memory cells due to the word- fill ]~lllll IIIi~ LIll line, pre-charge circuitand the bit line circuitry. The major iiii l~l~llt llltll IIII ''" " energy consumption is due to the memory array unit. The I Iii IIIII11t I procedure followed in the CACTI tool to estimate the en- ii U ergy consumption is to first compute the capacitances for (~) Memory mnmy each unit. Then, energy is estimated. As an example we bit bU=bm- only describe the energy computation for the memory ar- WordSelaet ~ ray. Similar analysis is performed for the decoder circuitry also, taking into account the various switching activity at bit bitbar the inputs of each stage. (b) Memory Cell (¢) Sig Traasistor Static Let us consider the energy dissipation Em+mcol. It con- sists of the energy dissipated in the memory cell. Thus Figure 1: Scratch memory array E ..... l = C .... l * Y2d * eo->l (3) The 6 transistor static RAM cell is shown in Fig l(c). The cell has one R/W port. Each cell has two bit-lines,bit Cmemcol in equation (3) is the capacitance of the memory and bit bar, and one word-line.The complete scratch pad array unit. P0->l is taken as 0.5 is the probability of a bit organization is as shown in Fig. 2. toggle. From the organization shown in Fig. 2, the area of the scratch pad is the sum of the area occupied by the decoder, data array and the column circuit. Let As be the area of C ..... , = ncols * (C~.+ + C.ood~..+) (4) the scratch pad memory. Cme~col is computed from equation (4). It is the sum of the capacitances due to pre-charge and read access to the scratch pad memory. Cpr~ is the effective load capacitance of the bit-lines during pre-charging and Cr~Gd~ri~e is the Decoder effective load capacitance of the cell read/write, ncols is Unit MemoryArray the number of columns in the memory. In the preparation for an access, bit-lines are pre-charged and during actual read/write, one side of the bit lines are pulled down. Energy is therefore dissipated in the bit-lines Column Circuiu'y due to pre-charging and the read/write access. When the (Sense amplifiers,column scratch pad memory is accessed, the address decoder first max. output drivers,pro- charge logic) decodes the address bits to find the desired row. The transi- tion in the address bits causes the charging and discharging of capacitances in the decoder path. This brings about en- Figure 2: Scratch pad memory organization ergy dissipation in the decoder path. The transition in the last stage, that is the word-line driver stage triggers the 74 switching in the word-line. Regardless of how many ad- where Adt, Ata, Aco, Apr, Ase, Acorn and A,~= is the dress bits change, only two word-lines among all will be area of the tag decoder unit, tag array, column multiplexer, switched. One will be logic 0 and the other will be logic 1. the pre-charge, sense amplifiers, tag comparators and mul- The equations axe derived based on [4]. tiplexer driver units respectively. E,,,ot.z = SP.~ ..... * E**~o~.hp~.~ (5) Adata = Age + Ad, + Acot + A~,,, + A,en + Ao,,t (8) where Es~totat is the total energy spent in the scratch where Age, Aga, Aeol, Apre, Asen, Aout is the area of pad memory. In case of a scratch pad as a contrast to the data decoder unit, data array, column multiplexer, pre- cache we do not have events due to write miss and read charge, data sense amplifiers and the output driver units miss. The only possible case that holds good is the read respectively. The estimation of power can be done at dif- or write access. SPaccess is the number of accesses to the ferent levels, from the transistor level to the architectural scratch pad memory. Escratchpad is the energy per access level [6]. In CACTI [4], transistor level power estimation is obtained from our analytical scratch pad model. done. The energy consumption per access in a cache is the sum of energy consumptions of all the components identi- fied above. The analysis is similar to that described for the scratch pad memory.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us