Content deleted Content added
Matthiaspaul (talk | contribs) CE |
Matthiaspaul (talk | contribs) improved refs |
||
Line 1:
'''Bus encoding''' refers to converting/encoding a piece of data to another form before launching on the [[bus (computing)|bus]]. While bus encoding can be used to serve various purposes like reducing the number of pins, compressing the data to be transmitted, reducing cross-talk between bit lines, etc., it is one of the popular techniques used in system design to reduce dynamic power consumed by the [[system bus]].<ref
In the context of this article, a system can refer to anything where data is transferred from one element to another over bus (viz. [[System on a Chip]] (SoC), a computer system, an [[embedded system]] on board, etc.).
Line 13:
== Examples of bus encoding to achieve low power==
Following are some of the implementations to use Bus Encoding for reducing dynamic power consumption in different scenarios:
# ''[[Gray encoding]]'':<ref name="massoud"
# ''Sequential addressing or T0 codes'':<ref
# ''Number representation'': Let us consider an example of a system which gets one of its data from a sensor. Most of the times, the sensor may be measuring some noise and for this example, let us consider that the values being measured are (0) and (-1) alternatively. For a 32-bit data bus, value 0 translates to 0x00000000 (0000 0000 0000 0000 0000 0000 0000 0000) while (-1) translates to 0xFFFFFFFF (1111 1111 1111 1111 1111 1111 1111 1111) in a 2’s complement representation. We see that the hamming distance in this case is 32 (since all 32-bits are changing their state). Instead, if we encode the bus to use signed integer representation (MSB is sign bit), we can represent 0 as 0x00000000 (0000 0000 0000 0000 0000 0000 0000 0000) and -1 as 0x80000001 (1000 0000 0000 0000 0000 0000 0000 0001) . In this case, we see that the hamming distance between the numbers is just 2. Hence by using a 2’s complement to signed arithmetic encoding, we are able to reduce the activity from a factor of 32 to 2.
# ''[[Inversion encoding]]'':<ref
# ''Value cache'':<ref
# ''Other techniques'' like sector-based encoding,<ref
== Implementation method ==
In case of SoC designs, bus encoding schemes can be best implemented in RTL by instantiating dedicated encoders and decoders over the bus. Another way it could be implemented is by passing hint to the synthesis tool either as a trace of the simulation<ref
On board, a small low power IC can be deployed in between the master and slave modules on the bus to implement the encoding and decoding functions.
Line 36:
== See also ==
* [[Gray code addressing]]
* [[CPU power dissipation|Power dissipation]]
* [[Low power electronics]]
Line 42 ⟶ 43:
==References==
{{Reflist|refs=
<ref name="RTL">{{cite |url=http://sportlab.usc.edu/~massoud/Papers/low-power-RTL-review-journal.pdf |author-first1=Massoud |author-last1=Pedram |author-first2=A. |author-last2=Abdollahi |title=Low Power RT-Level Synthesis Techniques: A Tutorial}}</ref>
<ref name="devdasmalik">{{cite |author-last1=Devadas |author-last2=Malik |title=A Survey of Optimization Techniques targeting Low Power VLSI Circuits |journal=DAC 32 |date=1995 |pages=242-247}}</ref>
<ref name="massoud">{{cite |url=http://sportlab.usc.edu/~massoud/Papers/isqed-tut.pdf |author-first1=Wei-Chung |author-last1=Cheng |author-first2=Massoud |author-last2=Pedram |title=Memory Bus Encoding for Low Power: A Tutorial}}</ref>
<ref name="Shifted_Gray">{{cite journal |url=http://www.sciencedirect.com/science/article/pii/S1383762110000159 |doi=10.1016/j.sysarc.2010.03.003 |volume=56 |title=Shifted gray encoding to reduce instruction memory address bus switching for low-power embedded systems |journal=Journal of Systems Architecture |pages=180–190}}</ref>
<ref name="Zero-Transition_1997">{{cite journal |author-first1=Luca |author-last1=Benini |author-first2=Giovanni |author-last2=De Micheli |author-first3=Enrico |author-last3=Macii |author-first4=D. |author-last4=Sciuto |author-first5=C. |author-last5=Silvano |title=Asymptotic Zero-Transition Activity Encoding for Address Buses in Low-Power Microprocessor-Based Systems |journal=Proceedings Seventh Great Lakes Symposium on VLSI |pages=77-82 |date=March 1997}}</ref>
<ref name="Stan_1995">{{cite journal |author-first1=M. R. |author-last1=Stan |author-first2=W. P. |author-last2=Burleson |title=Bus-invert coding for low-power I/O |publisher=IEEE Transactions On VLSI Systems |volume=3 |number=1 |pages=49-58 |date=1995}}</ref>
<ref name="Inversion">{{cite web |url=http://www.eng.auburn.edu/~agrawvd/COURSE/E6270_Fall07/PROJECT/JIANG/Low%20power%2032-bit%20bus%20with%20inversion%20encoding.ppt}}</ref>
<ref name="Yang">{{cite journal |author-first1=J. |author-last1=Yang |author2=et al. |title=FV encoding for low power data I/O |journal=ISLPED 2001 |date=August 2001 |pages=84-87}}</ref>
<ref name="Basu">{{cite journal |author-last1=Basu |author2=et al. |title=Power protocol: reducing power dissipation on off-chip data buses |journal=MICRO |date=2002}}</ref>
<ref name="Lin">{{cite journal |author-first1=C.-H. |author-last1=Lin |author2=et al. |title=Hierarchical Value Cache Encoding for Off-Chip Data Bus |journal=ISLPED |date=2006}}</ref>
<ref name="Sector">{{cite web |url=http://sportlab.usc.edu/~massoud/Papers/sector-based-encoding-journal.pdf |title=Transition Reduction in Memory Buses Using Sector-based Encoding Techniques |author-first1=Yazdan |author-last1=Aghaghiri |author-first2=Farzan |author-last2=Fallah |author-first3=Massoud |author-last3=Pedram}}</ref>
<ref name="Deogun">{{cite journal |author-first1=H. |author-last1=Deogun |author-first2=R. |author-last2=Rao |author-first3=D. |author-last3=Sylvester |author-first4=D. |author-last4=Blaauw |title=Leakage- and crosstalk-aware bus encoding for total power reduction |journal=Proceedings of the 41st Design Automation Conference |pages=779–782 |date=June 2004}}</ref>
<ref name="Khan">{{cite journal |author-first1=Z. |author-last1=Khan |author-first2=T. |author-last2=Arslan |author-first3=A. |author-last3=Erdogan |title=A novel bus encoding scheme from energy and crosstalk efficiency perspective for AMBA based generic SoC systems |journal=Proceedings of the 18th International Conference on VLSI Design |pages=751–756 |publisher=[[IEEE Computer Society]] |date=January 2005}}</ref>
<ref name="VLSI">{{cite journal |url=http://si2.epfl.ch/~demichel/publications/archive/1998/VLSISvol4iss4Dec98pg554.pdf |title=Power Optimization of Core-Based Systems by Address Bus Encoding |author-first1=Luca |author-last1=Benini |author-first2=Giovanni |author-last2=De Micheli |author-first3=Enrico |author-last3=Macii |author-first4=Massimo |author-last4=Poncino |author-first5=Stefano |author-last5=Quer |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |volume=6 |number=4 |date=December 1998}}</ref>
}}
==Further reading==
* {{cite report |author-first1=Ching-Long |author-last1=Su |author-first2=Chi-Ying |author-last2=Tsui |author-first3=Alvin M. |author-last3=Despain |url=http://www.scarpaz.com/2100-papers/Power%20Estimation/su94-low%20power%20architecture%20and%20compilation.pdf |title=Low Power Architecture Design and Compilation Techniques for High-Performance Processors |date=1994 |publisher=Advanced Computer Architecture Laboratory |id=ACAL-TR-94-01}}
[[Category:Digital electronics]]
|