Pa rt ia Bl us-Inv er tCoding fo rPo wer Optimization o fSystem Level Bus Y oun gsoo Shin, Soo-Ik Chae, and Ki oung y Choi Sc h ool of Electri cal Engineerin g S eoul National Univ ersi ty Seoul 151-742, Korea

Abstract We present a partial bus-in vertcoding scheme for po wer optim ization of system level bus. In the proposed scheme, we select a su b-group of bus lines in volv ed in b us encod ing to avoid unnecessary inversion of b us lines not in the sub group thereby redu cing th e total n um ber of bus tran sitions. We propose a heuristic algorithm that selects the sub-grou p of bus lines for b us encoding. Ex periments on benchmark examples in dicate that the partial bus-in vert coding reduces the tot al bus transitions b y 62.6% on the av erage, compared to that of the unencoded patterns. 1 Introduction Recently, po wer consumption has been a critical design constraint in the dev elop m en t of digital systems due to widely used portable systems such as cellular phones an d PDAs, wh ich require low po wer consumption with high speed and complex fu nction ality.Although the po wer consu m ption of a system can be reduced at various ph ases of the design process from system level down to process lev el, op tim ization at h igher lev el can pro videore m po w er saving. A m on g the arc hitectural components at the system level, buses that intercon nect subsystems are important components, whic h consu m e a lot of po w er. Especially, po wer consumption for o chip driving can reach up to 70% of the total chip pow er, wh erethe bu s transition is the most dominan tfactor [1]. Therefore, a considerable amount of po wer can be saved b y reducing the po wer consumption of b us. In this paper, w e propose a new bus encoding scheme, called Parti al Bus-Invert (PBI) coding, where the con ventional bus-invert (BI) coding [2] techniqu e is used but the technique is applied only to a selected subset of bus lines. We select such subset statically assu ming that the inform ationabout the sequence of m emory access pattern s is available after the algorithm of an application is speci ed. Consequently, ou r focus is on special-p urpose applications such as signal and image processing, whic h are comm only im plemented as ASICs and o chip memories con nected b y buses. We propose a heuristic algorithm that exploit s both tran sition correlation and transition p robability in order to nd a subset of bus lines such that the total number of bus tran sitions are minimized when only the su bset is encoded by the BI coding. Ex perimental results sho w that for benchm ark examples the PBI coding for selected bus lin es redu ces the n um ber of total bu s transitions by 62.6% on the average, compared to that of the unencoded patterns. 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 commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ISLPED 98, August 10-12, 1998, Monterey, CA USA © 2000 ACM ISBN 1-58113-059-7/98/08…$5.00

2 Related Work and Motivation Th ebus-in vertcode [2] is w ell suited to a dat a bu s in a gen eral-pu rpose sy stem suc h as the one employing a microprocessor. Ex ploiting the fact that instruction add resses gen erated by a processor are often sequential, the T0 cod e [3] red uces th e transitions by freezing the address lines when con secutive patterns are found to be sequen tial. In specialpu rpose applications where the address pattern s are less sequ ential, the characteristics of ad dress patterns can be exploited to eciently red uce b us tran sition s. The Beac h Solution [4] mak es clusters of bus lines based on statistical inform ation of address patterns and then generates an encoding function for each cluster such that the encoded version of each cluster results in less tran sitions. Th ebeha vior of data addresses is somewhat di erent from that of instruct ion addresses or data. They are less sequ ential than instruction addresses. In case of some memoryintensive applications such as image p rocessing algorithms, it is nearly out of sequence. Ho w ever,w e can hardly assume that data addresses are ran dom even though they are m ore random than instruction addresses. Usually, the signal p robability and/or transition probability of some of bu s lines are biased tow ard 0 or 1, that is, some of bus lines are far from random. The motivation of the PBI coding is based on the observation that all the previously proposed coding schemes tak e the en tire bus lines into account for b us en coding.Ho w ever, the o verhead of the encoding/decoding circuit increases with the n umber of bus lines involv ed in bus encoding. In the PBI coding, we attain t w o goals at t he sam e time: minimizing the number of bu s lines involv ed in bus encoding thereby m inimizing the overhead and minimizing t he total n umber of b us transitions. 3 P artial Bus-Invert Codin g 3.1 Problem Formulation In the BI coding, if the Hamm ingdistance between the presen t pattern and the last pattern of the bus is larger than n=2, where n is the bu s width, the present pattern is transm itted with each bit in verted.A redundant bus line, called invert line, is requ ired to sign al the receiv er side whethereth bus is inverted or not. No w, let's consider encoding m out of n bu s lines lea ving the remaining bu s lines unen coded. F or the patterns ran domly dist ribu ted in time and mutually independent in space, the more bus lines are in volved in the BI coding, the m ore red uction in bus transitions can be obtained.Specifically, let E(m) be the expected number of transitions per encod ed p attern when w e tak em out of n bus lin es for th e BI coding while leaving the remaining bus lines un encoded. It can be shown t hatE (m) is given b y m  m X E (m) = n2 , (2i , m , 1)Cmi 12 : (1) i=m=2+ 1

127

The function monotonically (but not strictly) decreases with m but the amount of decrease is saturated as m increases. Therefore, we can obtain the maximum transition reduction when all the bus lines are involved in the BI coding, which is the case of the conventional BI coding. However, the monotonicity of the function does not hold when the behavior of patterns deviate from random distribution and mutual independence. In other words, the minimum of the function exists in between m = 0 and m = n. Concerning data address buses, there is another reason why we should not adopt the conventional BI coding. It is the fact that usually some of the bus lines are far from random and it is inecient to take those lines into account for the BI coding. However, it is dicult to determine quantitatively the criterion of how far is enough not to include them in the BI coding. The decision problem together with the non-monotonicity of the di erence forms the following optimization problem: Given data address patterns of specialpurpose applications, select a sub-group of bus lines for the BI coding such that the total power consumption in the bus (or including that of encoding/decoding circuit) is minimized. 3.2 Overview In the PBI coding, we partition a bus B into two sub-buses based on the behavior of patterns transferred. More precisely, we are given a bus B=(b 0 ; b 1 ; : : : ; b n ,1 ), which transfers a sequence of patterns Bi = (b0i ; b1i ; : : : ; bni ,1 ), where i is the time index, n is the bus width, and bji is the value of a bus line bj at time i. We partition B into a selected sub-bus S and the remaining sub-bus R such that S contains bus lines having higher transition correlation and/or higher transition probability and R contains the remaining bus lines. Because the bus lines in R have low correlation with those in S and low transition activity, they don't need to be involved in the BI coding. Inverting the lines in R will rather increase the transition activity than decrease it. Therefore, by applying the BI coding only to sub-bus S , we can reduce the hardware for the BI coding as well as increase the gain of the BI coding. Once B is partitioned, the PBI coding is performed as 0 and follows: We compute the Hamming distance between S i Si+1 , where Si0 is an encoded version of Si , including the invert line; if it is larger than jSj=2 , set the invert line to 1 and invert the lines in Si+1 without inverting the lines in Ri+1 . Otherwise, set invert=0 and let Bi+1 uninverted. 3.3 Selection Algorithm of the Sub-bus The performance of the PBI coding heavily depends on the selection of the sub-bus S for the BI coding. Unfortunately, it is intractable to nd an optimum set S opt  B such that the PBI coding for S opt results in the minimum number of total transitions. We propose a heuristic algorithm that explores only n con gurations to nd the one which results in minimal number of total transitions. To this end, we exploit both transition correlation and transition probability. For j -th bus line, the transition encoding is de ned as  bji,1 6= bji tji = 10 ifotherwise (2) : The transition correlation coecient for two bus lines (j -th and k-th) is de ned by (3) jk = Kjk ; j k j where j is the standard deviation of t and Kjk is the covariance of tj and tk .

L1: L2: L3: L4: L5: L6: L7: L8: L9: L10: L11:

Algorithm Select bus lines begin

Compute the transition probability of each line, tpj ; Compute jk of each pair of line; S = fg; R=fb0 ; b1 ; : : : ; bn,1 g; Initialize the con guration set C = fg; Select bi with the highest transition probability; S =fbi g; R=R,fbi g; C = C [ f(S ; R)g; while R 6= fg do P 2S jk + tpj is a maximum; Select bj such that bkjSj S = S [ fbj g; R = R , fbj g; C = C [ f(S ; R)g;

end do

Count the number of total transitions after PBI coding for each con guration in C ; Select the con guration that yields the minimum number of total transitions;

end Figure 1: Selection algorithm of the sub-bus. The selection algorithm is outlined in Figure 1. As a selection metric, we use the transition probability together with average of transition correlation coecients with the bus lines already selected (L7 of Figure 1), which is based on the observation that the maximal gain can be obtained when we invert bus lines having high probability to have transitions together. In CMOS circuits, the dynamic power is proportional to load capacitance and switching activity. Based on this property, we de ne the e ective total bus transitions, denoted by Teff , as follows: Teff = Tbus + CCint  Tint ; (4) bus

where Tbus is the total bus transitions, Tint is the total number of transitions in the encoding/decoding circuits, Cint is the average capacitance of the node in the internal circuits, and Cbus is the total o chip capacitance. By using the equation (4), we count the number of e ective transitions at L10 of Figure 1 to include e ects of the encoding/decoding circuit. While we can obtain the value of Tbus by simply counting the number of transitions from the encoded patterns, it is not easy to obtain the accurate value of Tint . However, such accuracy is not needed for our purpose because Tint is multiplied by a relatively small constant before it is added to Tbus . We take a probabilistic approach to estimate Tint , which is given by Tint = N (m + 1)ap L, where  denotes gate equivalents of a full adder, ap is the average transition probability of m bus lines, and L is the number of patterns. N (x) is the number of full adders used in the majority voter with x inputs and is approximately equal to x , 2. 4 Experimental Results In this section we examine the eciency of the PBI coding with two experiments. The rst one is for data address patterns in benchmark examples collected from typical image or signal processing algorithms. The second one is also for the data address patterns in the example of an audio decoder, which is designed with VHDL and then synthesized with the LSI 10k gate library. For the e ective total bus transitions, we assume 30 pF for Cbus , 0.2 pF for Cint , and 7 for . 4.1 Benchmark Examples We experiment with several benchmark programs [5] that are usually implemented as a part of a system consisting of 128

Table 1: Comparison of the total bus transitions for benchmark examples

Applications Unencoded BI coding Heuristic+PBI coding SA+PBI coding Name n Tbus Tbus % Red. Tbus % Red. jSj Tbus % Red. Compress 32 1756468 1066266 39.3% 722260 58.9% 20 721864 58.9% Laplace 32 3928218 2377233 39.5% 1603476 59.2% 19 1603470 59.2% Linear 32 3948001 2420801 38.7% 1227401 68.9% 23 1227401 68.9% Lowpass 32 1101927 656119 40.5% 399686 63.7% 18 399622 63.7% SOR 32 2874978 1900735 33.9% 1343694 53.3% 18 1343654 53.3% Wavelet 32 2197 1394 36.6% 620 71.8% 22 617 71.9% Average 38.1% 62.6% 62.7%

jSj 20 19 23 20 19 21

Table 2: Comparison of the e ective total bus transitions for benchmark examples

Applications Unencoded BI coding Heuristic+PBI coding SA+PBI coding Name n Teff Teff % Red. Teff % Red. jSj Teff % Red. Compress 32 1756468 1145673 34.8% 777984 55.7% 16 773465 56.0% Laplace 32 3928218 2554821 35.0% 1726454 56.0% 16 1716934 56.3% Linear 32 3948001 2599283 34.2% 1395489 64.7% 23 1395489 64.7% Lowpass 32 1101927 705935 35.9% 436525 60.4% 17 433850 60.6% SOR 32 2874978 2030708 29.4% 1433641 50.1% 16 1433641 50.1% Wavelet 32 2197 1493 32.0% 709 67.7% 21 697 68.3% Average 33.6% 59.1% 59.3%

ASICs and o chip memories connected by buses. We assume 32-b wide data address buses for all the programs. For each application, we rst extract the data address patterns of memory accesses generated by a SPARC processor. Then we obtain the results after running the proposed algorithm, which is summarized in the fourth column of Table 1. The reduction of bus transitions with the PBI coding is 62.6% on the average and up to 71.8% compared to unencoded patterns. The last column in Table 1 corresponds to the PBI coding after bus lines are selected using simulated annealing instead of the heuristic algorithm, which is to have an idea of how good the solutions obtained by the proposed heuristic algorithm are. Table 2 shows the results including the e ect of internal transitions of encoding/decoding circuits obtained by equation (4). The di erence of reduction of bus transitions between the PBI coding and the BI coding is 25.5%, which is larger than 24.5% of Table 1. Note that the number of bus lines selected for the PBI coding is reduced further compared to that in Table 1. 4.2 Examples from MPEG-2 Audio and AC-3 Decoder We experiment with two sets of data address patterns extracted from an audio decoder, which can support MPEG-2 audio and AC-3 standard with programmability [6]. The rst one is from a Parser processor, which reads input data stored in a frame memory and uses data address of 16-b wide to access the external memory. The second one is from a FFT processor, which accesses memory via data address of 7-b wide for 128-point complex FFT. The e ective total bus transitions obtained by the BI coding and the PBI coding are shown in Table 3 with the rst set of patterns named Parser and the second set of patterns named FFT. The BI coding has little chance to invert patterns because the Hamming distance between two consecutive patterns is not larger than n=2 for the most cases for the two sets of patterns. This explains the negative reduction of the BI coding in Table 3. Note also that we are considering the overhead due to the encoding/decoding circuits. However, the power reduction with the PBI coding is still substantial in these examples. 5 Conclusion In this paper, we propose a new bus coding scheme, which reduces the number of bus transitions for low power applications. In the proposed scheme, we minimize the number

jSj 15 15 23 16 16 19

Table 3: Comparison of the e ective total bus transitions for audio decoder Applications Unencoded BI coding PBI coding Name n Teff Teff % Red. Teff % Red. jSj Parser FFT

16 7

2563 2675 1036 1049

-4.4% -1.3%

741 829

71.1% 19.9%

7 2

of bus lines involved in bus encoding as well as the number of total bus transitions. We present a heuristic algorithm to select a sub-group of bus lines such that bus transitions are minimized by encoding only those bus lines. The coding scheme is particularly suitable for memory-intensive special-purpose applications. However, the scheme is general enough to be used in other types of buses. Experimental results show that we can reduce the number of bus transitions substantially for benchmark examples and for a real design example. The performance of the proposed heuristic is compared to that of simulated annealing, which shows that the heuristic is highly e ective. Acknowledgment The authors would like to thank Seokjun Lee and Prof. Wonyong Sung of Seoul National University for providing us example patterns of an audio decoder [6]. References [1] D. Liu and C. Svensson, \Power consumption estimation in CMOS VLSI chips," IEEE Journal of Solid-State Circuits, vol. 29, pp. 663{670, June 1994. [2] M. R. Stan and W. P. Burleson, \Bus-invert coding for low-power I/O," IEEE Trans. on VLSI Systems, vol. 3, pp. 49{58, Mar. 1995. [3] L. Benini, G. D. Micheli, E. Macii, D. Sciuto, and C. Silvano, \Asymptotic zero-transition activity encoding for address busses in low-power microprocessor-based systems," in Proc. Great Lakes Symposium on VLSI, pp. 77{82, Mar. 1997. [4] L. Benini, G. D. Micheli, E. Macii, M. Poncino, and S. Quer, \System-level power optimization of special purpose applications: The Beach Solution," in Proc. Int'l Symposium on Low Power Electronics and Design, pp. 24{29, Aug. 1997. [5] P. Panda and N. Dutt, \1995 high level synthesis design repository," in Proc. Int'l Symposium on System Synthesis, 1995. [6] S. Lee and W. Sung, \A parser processor for MPEG-2 audio and AC-3 decoding," in Proc. Int'l Symposium on Circuits and Systems, pp. 2621{2624, June 1997.

129

Partial Bus-Invert Coding for Power Optimization of ...

Pa rt ia lBus-Inv er tCoding fo rPo wer Optimization o fSystem Level Bus. Y oungsoo ... we select a su b-group of bus lines in volved in b us encoding to avoid ...

183KB Sizes 0 Downloads 160 Views

Recommend Documents

Optimization of Channel Coding Rate for Diverse ...
signal which causes errors in the information bit stream. Though baseband signal ... In the early stage of WCDMA, MPSK modulation tech- nique was used for ..... received his B.Sc.Engg. degree in Electronics and Communication from Khulna ...

Optimization of Propagate Partial SAD and SAD Tree ...
Data Rate SDRAM memory at 266MHz) an average of. This work was ... engine is still essential for the real-time encoder designs. [6][7]. Full search alike ...

Multiobjective Optimization of Sleep Vector for Zigzag Power-Gated ...
Circuits]: Design Aids—Layout. General Terms: Algorithms, Design. Keywords: Zigzag power gating, low power, leakage current, sleep vector, standard-cell. 1.

Transmit Power Optimization for Two-Way Relay ... - IEEE Xplore
Abstract—In this letter, we consider a two-way relay channel where two source nodes exchange their packets via a half-duplex relay node, which adopts physical-layer network coding (PNC) for exchanging packets in two time slots. Convolutional codes

Greening the Internet; Power Optimization - Ashutosh Dhekne
of power has been a consideration only in laptops and devices that are not ..... [9] have connected a low power radio to a PDA so that the main PDA does not.

The Power of Recourse in Online Optimization
data. This situation can be modeled with a min-max approach: we choose our ...... processing a job in Bi together with a job in Ai on the same machine for each i .... at any intermediate iteration, the instance admits a large number of optimal ...

Power Optimization of Real-Time Embedded Systems ...
Lehoczky et al. [8] shows .... task set [11], an ins [12], a flight control [13], and a cnc machine .... time system design: A case study on a CNC controller,” in Proc.

On the Hardness of Optimization in Power-Law ... - Semantic Scholar
Given a graph, we will refer to two types of sequences of integers: y-degree sequences and d-degree sequences. The first type lists the number of vertices with a certain degree (i.e., the degree distribution) and the latter lists the degrees of the v

Multi-Objective Optimization of Power Converters Using ...
Netlist file *.net. Optimization assignment ... manipulation. Variation of the variables .... an AMD64-3000+ CPU-based PC system. 0.925. 0.93. 0.935. 0.94. 0.945.

Design and Optimization of Power-Gated Circuits With Autonomous ...
Design and Optimization of Power-Gated Circuits. With Autonomous Data Retention. Jun Seomun and Youngsoo Shin, Senior Member, IEEE. Abstract—Power ...

Greening the Internet; Power Optimization - Ashutosh Dhekne
Building faster, smaller and more powerful computer systems has been a ... of power has been a consideration only in laptops and devices that are not mains .... is set to 0.1, the station remains awake for 10 beacons and then sleeps between.

End-to-end Modeling and Optimization of Power ...
Aug 16, 2016 - Power efficiency growing slower than compute power ... Department of Energy places it at 20MW. – Point of .... Energy efficiency of optical links.

Low-Power Partial Distortion Sorting Fast Motion ...
Jan 1, 2007 - in nowadays video coding standards such as MPEG-1,2,4 and H.26x. Among all the block matching algorithms, full search block matching ...

Power Allocation Policies with Full and Partial Inter ...
of diverse wireless systems, the demand for spectrum has increased in recent ... ent multiple wireless systems or operators. ...... Cambridge University Press. 35.

AUTOMATIC DISCOVERY AND OPTIMIZATION OF PARTS FOR ...
Each part filter wj models a 6×6 grid of HOG features, so wj and ψ(x, zj) are both .... but they seem to be tuned specifically to shelves in pantry, store, and book-shelves respectively. .... off-the-shelf: an astounding baseline for recognition.

Partial oxidation of methanol for hydrogen production over carbon ...
ni. In order to study the nature of Cu species, DRIFT spectra of adsorbed CO were recorded with a Perkin-Elmer IR spectrometer equipped with a DTGS detector using 256 scans and a resolution of. 4 cmÀ1. The catalyst powder (5 mg) was placed into the

Requirement Specification for Optimization of ... - Hobbielektronika
well as the design guidance from members of the diyAudio.com community. Major changes ... as experiencing it first hand would be the best way to learn. ... Here is a picture that I found on the web of a good soldering joint, and 2 bad ones: ... 10 (2

Performance Comparison of Optimization Algorithms for Clustering ...
Performance Comparison of Optimization Algorithms for Clustering in Wireless Sensor Networks 2.pdf. Performance Comparison of Optimization Algorithms for ...Missing:

On the value of partial commitment for cooperative ...
May 7, 2013 - cooperative investment in buyer-supplier ... Does formal contracting foster cooperation in a buyer-supplier ...... As a whole, starting from.