ACM Home Page
Please provide us with feedback. Feedback
Power-efficient prefetching for embedded processors
Full text PdfPdf (791 KB)
Source ACM Transactions on Embedded Computing Systems (TECS) archive
Volume 6 ,  Issue 1  (February 2007) table of contents
SECTION: 1 - Special Section table of contents
Article No. 3  
Year of Publication: 2007
ISSN:1539-9087
Authors
Xiaotong Zhuang  Georgia Institute of Technology, Atlanta, GA
Santosh Pande  Georgia Institute of Technology, Atlanta, GA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 89,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1210268.1210271
What is a DOI?

ABSTRACT

Because of stringent power constraints, aggressive latency-hiding approaches, such as prefetching, are absent in the state-of-the-art embedded processors. There are two main reasons that make prefetching power inefficient. First, compiler-inserted prefetch instructions increase code size and, therefore, could increase I-cache power. Second, inaccurate prefetching (especially for hardware prefetching) leads to high D-cache power consumption because of useless accesses. In this work, we show that it is possible to support power-efficient prefetching through bit-differential offset assignment. We target the prefetching of relocatable stack variables with a high degree of precision. By assigning the offsets of stack variables in such a way that most consecutive addresses differ by 1 bit, we can prefetch them with compact prefetch instructions to save I-cache power. The compiler first generates an access graph of consecutive memory references and then attempts a layout of the memory locations in the smallest hypercube. Each dimension of the hypercube represents a 1-bit differential addressing. The embedding is carried out in as compact a hypercube as possible in order to save memory space. Each load/store instruction carries a hint regarding prefetching the next memory reference by encoding its differential address with respect to the current one. To reduce D-cache power cost, we further attempt to assign offsets so that most of the consecutive accesses map to the same cache line. Our prefetching is done using a one entry line buffer [Wilson et al. 1996]. Consequently, many look-ups in D-cache reduce to incremental ones. This results in D-cache activity reduction and power savings. Our prefetcher requires both compiler and hardware support. In this paper, we provide implementation on the processor model close to ARM with small modification to the ISA. We tackle issues such as out-of-order commit, predication, and speculation through simple modifications to the processor pipeline on noncritical paths. Our goal in this work is to boost performance while maintaining/lowering power consumption. Our results show 12% speedup and slight power reduction. The runtime virtual space loss for stack and static data is about 11.8%.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
ARM Co.Ltd, ARM 7TDMI Data Sheet.
 
2
ARM Co.Ltd, ARM7500FE Data Sheet.
 
3
4
 
5
 
6
Burger, D. and Austin, T. M. 1997. The SimpleScalar tool set version 2.0. Tech. Report 1342, Univ. of Wisconsin--Madison (May).
7
8
9
 
10
 
11
 
12
Intel Corp. SA-110 Microprocessor Tech. Ref. Manual.
 
13
 
14
15
 
16
Noth, W. and Kolla, R. 1990. Spanning tree-based state encoding for low-power dissipation. DATE, 168--174.
 
17
 
18
 
19
 
20
 
21
Pomerene, J., Puzak, T., Rechtschaffen, R., and Sparacio, F. 1989. Prefetching system for a cache having a second directory for sequentially accessed blocks. U. S. Patent number 4,807,110 (Feb.).
22
 
23
Segars, S. 2001. Low power design techniques for microprocessors. ISSCC (Feb.).
24
 
25
Udayanarayanan, S. and Chakrabarti, C. 2001. Address code generation for DSPs. DAC.
 
26
 
27
28
 
29
Wilton, S. and Jouppi, N. P. 1993. An enhanced access and cycle time model for on-chip caches. Technical Report TN93/5, Compaq Western Research Lab.
30
31

Collaborative Colleagues:
Xiaotong Zhuang: colleagues
Santosh Pande: colleagues