Inversion encoding: Difference between revisions

Content deleted Content added
Ksubh (talk | contribs)
No edit summary
BG19bot (talk | contribs)
m WP:CHECKWIKI error fix for #03. Missing Reflist. Do general fixes if a problem exists. - using AWB (10901)
Line 1:
'''Inversion Encoding''' is an encoding technique used for encoding bus transmissions for low power systems. This is based on the fact that a large amount of power is wasted because of transitions, and thus reducing the transitions will help in power optimizations. This is done introducing an additional line named INV to the bus lines, depending on which we will either invert the lines or not.
 
== Overview ==
Line 14:
<ref name="r1"/>
 
# Compute the [[Hamming Distance|Hamming Distance]] (the number of bits in which they differ) between the present bus value (also counting the present invert line) and the next data value.
# If the Hamming distance is larger than n/2, set invert = 1, and make the next bus value equal to the inverted next data value.
# Otherwise let invert = 0, and let the next bus value equal to the next data value.
Line 23:
 
[[File:Overviewbusencoding.png|thumb|Overview for Performance Analysis: inversion encoding]]
 
== Performance Analysis ==
<ref>M. R. Stan and W. P. Burleson, “Bus-invert coding for low-power I/O,” IEEE Transactions On VLSI Systems, Vol.3, No.1, pp.49-58, 1995</ref>
Line 38 ⟶ 39:
In order to decrease the average I/O power dissipation for wide buses the observation that the Bus-Invert method performs better for small n can be used to partition the bus into several narrower subbuses. Each of these subbuses can then be coded independently with its own invert signal. For example a 64-bit bus could be partitioned into eight 8-bit subbuses with a total of eight n order to decrease the average I/O power dissipation for wide buses the observation that the Bus-Invert method performs better for small n can be used to partition the bus into several narrower subbuses. Each of these subbuses can then be coded independently with its own invert signal. For example a 64-bit bus could be partitioned into eight 8-bit subbuses with a total of eight invert signals. Because of the assumption that the data to be transferred over the wide bus is random uniformly distributed, the statistics for the narrower subbuses will be independent and the sequence of data for each subbus will be random uniformly distributed. For example for a 64-bit bus partitioned into eight 8-bit subbuses the average number of transitions per time-slot will be 26.16 (8 times 3.27, the average for one 8-bit subbus) and the average number of transitions per bus-line per time-slot will be .41 (as for an 8-bit bus with one invert line). The maximum number of transitions is not improved by partitioning the bus and remains the same n/2. However, there is always an extra overhead of using more lines, but computationally, it has been found that the inversion bus encoding works well for most purposes.
 
== See Alsoalso ==
* [[Bus Encoding]]
* [[Two's Complement]]
Line 45 ⟶ 46:
 
== References ==
{{Reflist}}