Bus encoding: Difference between revisions

Content deleted Content added
improved refs
Fixed capitalization
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"/> The address lines of a bus in most of the computing systems increase in consecutive numerical values due to [[Locality of reference|spatial locality]]. If we use regular binary coding for the bus, we are not assured of minimal hamming distance between 2 consecutive addresses. Using grayGray codes for encoding the address lines will lead to a hamming distance of 1 between any 2 consecutive address bus values (as long as spatial locality holds). There are variations to this scheme named Shifted grayGray encoding to reduce the delay overhead.<ref name="Shifted_Gray"/>
# ''Sequential addressing or T0 codes'':<ref name="Zero-Transition_1997"/> In case of address bus, due to spatial locality that exists in programs, most of the transitions involve changing the address to the next consecutive value. A possible encoding scheme is to use an additional line, INC, in the bus indicating whether the current transition is the next increment address or not. If it is not a consecutive address, then the receiver can use the value on the bus. But if it is a consecutive address, the transmitter need not change the value in the bus, but just assert the INC line to 1. In such case, for a continuous addressing scheme, there is no transition at all on the bus, leading to a bus activity factor of 0.
# ''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.
Line 47:
<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 grayGray 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>