<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=8b%2F10b</id>
	<title>8b/10b - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=8b%2F10b"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=8b/10b&amp;action=history"/>
	<updated>2026-07-16T13:29:56Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=8b/10b&amp;diff=554903&amp;oldid=prev</id>
		<title>imported&gt;Ray80127：​/* 工作原理 */</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=8b/10b&amp;diff=554903&amp;oldid=prev"/>
		<updated>2022-08-02T02:03:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;工作原理&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA|G1=IT}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;8b/10b編碼&amp;#039;&amp;#039;&amp;#039;把8比特的子元转换成10比特的子元。目的是以便在串行传输中達到直流平衡（DC Balance），明晰边界，并提供足够的状态改变来利于时钟恢复。目标是至少在20比特“1”的个数与“0”的个数的差距不超过2个，并且没有连续的5个“1”或“0”。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;8b/10b編碼&amp;#039;&amp;#039;&amp;#039;是1983年由[[IBM]]的 Al Widmer 與 Peter Franaszek 所提出，应用于[[ESCON]]，後來申請成專利。目前廣受串列匯流排所採用。例如：[[IEEE 1394]]b、[[SATA]]、[[PCI Express]]、Infini-band、Fiber Channel、[[RapidIO]]等匯流排，都是採用8b/10b編碼。2008年推出的[[USB 3.0]]規格書亦明言采用了8b/10b編碼。&lt;br /&gt;
&lt;br /&gt;
8b/10b編碼的提出即是因應[[光纖]]的傳輸技術，8b/10b技術是將8個位元經過某種映射的機制轉化為10個位元的字碼，分兩個部位分別進行映射的處理，分別是 5B/6B 與 3B/4B 的處理，另外「D.a.b」是資料碼（D即是Data），「K.a.b」指控制碼（K即是Key），a與b表示输入的原始資料。&lt;br /&gt;
&lt;br /&gt;
== 工作原理 ==&lt;br /&gt;
8b/10b編碼輸出位元數目總共是10個位元，但只有「+2」「+0」「-2」三種組合。其中「+2」是指4個位元0，與6個位元1；「+0」是指5個位元“0”，與5個位元“1”；「-2」是指6個位元“0”，與4個位元“1”，利用這種「不均等性— Disparity」的特性而具有強大的直流平衡（DC Balance）功能，可使得发送的“0”、“1”数量保持一致，连续的“1”或“0”基本上不超过5位。&lt;br /&gt;
&lt;br /&gt;
(Disparity = number of &amp;quot;1&amp;quot; - number of &amp;quot;0&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== 編碼表 ===&lt;br /&gt;
8b/10b编码将一组8位元資料分成两组，一组3位元，一组5位元，經過編碼後形成一组4位元和一组6位元，故送發時是一組10位元的資料，解码時再将10位元的資料变换得到8位元資料。編碼過程中低位5位元的資料会进行5B/6B编码，高位3位元的資料则进行3B/4B编码。&lt;br /&gt;
&lt;br /&gt;
例如一組8位元的資料是 10110101：&lt;br /&gt;
&lt;br /&gt;
首先，分成兩組 101 與 10101&lt;br /&gt;
&lt;br /&gt;
a=10101（21） b=101（5），符號為 D21.5，在下表中的位序为&amp;#039;&amp;#039;&amp;#039;HGFEDCBA&amp;#039;&amp;#039;&amp;#039;，a（EDCBA）经过5B/6B编码为abcdei，b（HGF）经过3B/4B编码为fghj。&lt;br /&gt;
&lt;br /&gt;
RD = Running Disparity.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+不均等性的執行規則&lt;br /&gt;
|-&lt;br /&gt;
! Previous RD !! Disparity of 6 or 4 Bit Code !! Disparity chosen !! Next RD&lt;br /&gt;
|-&lt;br /&gt;
| −1 ||  0 ||  0 || −1&lt;br /&gt;
|-&lt;br /&gt;
| −1 || ±2 || +2 || +1&lt;br /&gt;
|-&lt;br /&gt;
| +1 ||  0 ||  0 || +1&lt;br /&gt;
|-&lt;br /&gt;
| +1 || ±2 || −2 || −1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 5b/6b ====&lt;br /&gt;
{| class=wikitable style=text-align:center&lt;br /&gt;
|+ 5B/6B code&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| input !! RD = −1 !! RD = +1 &lt;br /&gt;
|rowspan=19|&lt;br /&gt;
!colspan=2| input !! RD = −1 !! RD = +1 &lt;br /&gt;
|-&lt;br /&gt;
!      !! EDCBA !!colspan=2| abcdei !!      !! EDCBA !!colspan=2| abcdei&lt;br /&gt;
|-&lt;br /&gt;
| D.00 || 00000 || 100111 || 011000 || D.16 || 10000 || 011011 || 100100&lt;br /&gt;
|-&lt;br /&gt;
| D.01 || 00001 || 011101 || 100010 || D.17 || 10001 ||colspan=2| 100011&lt;br /&gt;
|-&lt;br /&gt;
| D.02 || 00010 || 101101 || 010010 || D.18 || 10010 ||colspan=2| 010011&lt;br /&gt;
|-&lt;br /&gt;
| D.03 || 00011 ||colspan=2| 110001 || D.19 || 10011 ||colspan=2| 110010&lt;br /&gt;
|-&lt;br /&gt;
| D.04 || 00100 || 110101 || 001010 || D.20 || 10100 ||colspan=2| 001011&lt;br /&gt;
|-&lt;br /&gt;
| D.05 || 00101 ||colspan=2| 101001 || D.21 || 10101 ||colspan=2| 101010&lt;br /&gt;
|-&lt;br /&gt;
| D.06 || 00110 ||colspan=2| 011001 || D.22 || 10110 ||colspan=2| 011010&lt;br /&gt;
|-&lt;br /&gt;
| D.07 || 00111 || 111000 || 000111 || D.23 † || 10111 || 111010 || 000101&lt;br /&gt;
|-&lt;br /&gt;
| D.08 || 01000 || 111001 || 000110 || D.24 || 11000 || 110011 || 001100&lt;br /&gt;
|-&lt;br /&gt;
| D.09 || 01001 ||colspan=2| 100101 || D.25 || 11001 ||colspan=2| 100110&lt;br /&gt;
|-&lt;br /&gt;
| D.10 || 01010 ||colspan=2| 010101 || D.26 || 11010 ||colspan=2| 010110&lt;br /&gt;
|-&lt;br /&gt;
| D.11 || 01011 ||colspan=2| 110100 || D.27 † || 11011 || 110110 || 001001&lt;br /&gt;
|-&lt;br /&gt;
| D.12 || 01100 ||colspan=2| 001101 || D.28 || 11100 ||colspan=2| 001110&lt;br /&gt;
|-&lt;br /&gt;
| D.13 || 01101 ||colspan=2| 101100 || D.29 † || 11101 || 101110 || 010001&lt;br /&gt;
|-&lt;br /&gt;
| D.14 || 01110 ||colspan=2| 011100 || D.30 † || 11110 || 011110 || 100001&lt;br /&gt;
|-&lt;br /&gt;
| D.15 || 01111 || 010111 || 101000 || D.31 || 11111 || 101011 || 010100&lt;br /&gt;
|-&lt;br /&gt;
|colspan=4|                         || K.28 || 11100 || 001111 || 110000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
† Same code is used for K.x.7&lt;br /&gt;
&lt;br /&gt;
==== 3b/4b ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+ 3b/4b code&lt;br /&gt;
|-&lt;br /&gt;
!colspan=2| input !! RD = −1 !! RD = +1&lt;br /&gt;
|rowspan=11|&lt;br /&gt;
!colspan=2| input !! RD = −1 !! RD = +1 &lt;br /&gt;
|-&lt;br /&gt;
!      !! HGF !!colspan=2| fghj !!      !! HGF !!colspan=2| fghj&lt;br /&gt;
|-&lt;br /&gt;
| D.x.0 || 000 || 1011   || 0100|| K.x.0 || 000 || 1011   || 0100&lt;br /&gt;
|-&lt;br /&gt;
| D.x.1 || 001 ||colspan=2| 1001|| K.x.1 ‡ || 001 || 0110   || 1001&lt;br /&gt;
|-&lt;br /&gt;
| D.x.2 || 010 ||colspan=2| 0101|| K.x.2 ‡ || 010 || 1010   || 0101&lt;br /&gt;
|-&lt;br /&gt;
| D.x.3 || 011 || 1100   || 0011|| K.x.3 || 011 || 1100   || 0011&lt;br /&gt;
|-&lt;br /&gt;
| D.x.4 || 100 || 1101   || 0010|| K.x.4 || 100 || 1101   || 0010&lt;br /&gt;
|-&lt;br /&gt;
| D.x.5 || 101 ||colspan=2| 1010|| K.x.5 ‡ || 101 || 0101   || 1010&lt;br /&gt;
|-&lt;br /&gt;
| D.x.6 || 110 ||colspan=2| 0110|| K.x.6 ‡ || 110 || 1001   || 0110&lt;br /&gt;
|-&lt;br /&gt;
| D.x.P7 † || 111 || 1110  || 0001|| || || |&lt;br /&gt;
|-&lt;br /&gt;
| D.x.A7 † || 111 || 0111  || 1000|| K.x.7 † ‡ || 111 || 0111  || 1000&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
† For D.x.7, the Primary (D.x.P7) or Alternate (D.x.A7) encoding must be selected in order to avoid a run of five consecutive 0s or 1s when combined with the preceding 5b/6b code.  Sequences of five identical bits are used in comma codes for synchronization issues.  D.x.A7 is only used for x=17, x=18, and x=20 when RD=−1 and for  x=11, x=13, and x=14 when RD=+1. With x=23, x=27, x=29, and x=30, the same code forms the control codes K.x.7. Any other x.A7 code can&amp;#039;t be used as it would result in chances for misaligned comma sequences.&lt;br /&gt;
&lt;br /&gt;
‡ The alternate encoding for the K.x.y codes with disparity 0 allow for K.28.1, K.28.5, and K.28.7 to be &amp;quot;comma&amp;quot; codes that contain a bit sequence that can&amp;#039;t be found elsewhere in the data stream.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==== Control symbols ====&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The control symbols within 8b/10b are 10b bytes that are valid sequences of bits (no more than six 1s or 0s) but do not have a corresponding 8b data byte.  They are used for low-level control functions.  For instance, in Fibre Channel, K28.5 is used at the beginning of four-byte sequences (called &amp;quot;Ordered Sets&amp;quot;) that perform functions such as Loop Arbitration, Fill Words, Link Resets, etc.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
5b/6b 與 3b/4b 表可能導致下列 12 控制符號（control symbols）允許被發送，K.28.1， K.28.5， K.28.7 是逗号（，）序列：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+ 控制符號（Control symbols）&lt;br /&gt;
|-&lt;br /&gt;
! colspan=2 | input !! RD = −1 !! RD = +1&lt;br /&gt;
|-&lt;br /&gt;
!              !! HGF EDCBA !! abcdei fghj !! abcdei fghj&lt;br /&gt;
|-&lt;br /&gt;
| K.28.0       || 000 11100 || 001111 0100 || 110000 1011&lt;br /&gt;
|-&lt;br /&gt;
| K.28.1 †     || 001 11100 || 001111 1001 || 110000 0110&lt;br /&gt;
|-&lt;br /&gt;
| K.28.2&amp;amp;nbsp; || 010 11100 || 001111 0101 || 110000 1010&lt;br /&gt;
|-&lt;br /&gt;
| K.28.3&amp;amp;nbsp; || 011 11100 || 001111 0011 || 110000 1100&lt;br /&gt;
|-&lt;br /&gt;
| K.28.4&amp;amp;nbsp; || 100 11100 || 001111 0010 || 110000 1101&lt;br /&gt;
|-&lt;br /&gt;
| K.28.5 †     || 101 11100 || 001111 1010 || 110000 0101&lt;br /&gt;
|-&lt;br /&gt;
| K.28.6&amp;amp;nbsp; || 110 11100 || 001111 0110 || 110000 1001&lt;br /&gt;
|-&lt;br /&gt;
| K.28.7 ‡     || 111 11100 || 001111 1000 || 110000 0111&lt;br /&gt;
|-&lt;br /&gt;
| K.23.7&amp;amp;nbsp; || 111 10111 || 111010 1000 || 000101 0111&lt;br /&gt;
|-&lt;br /&gt;
| K.27.7&amp;amp;nbsp; || 111 11011 || 110110 1000 || 001001 0111&lt;br /&gt;
|-&lt;br /&gt;
| K.29.7&amp;amp;nbsp; || 111 11101 || 101110 1000 || 010001 0111&lt;br /&gt;
|-&lt;br /&gt;
| K.30.7&amp;amp;nbsp; || 111 11110 || 011110 1000 || 100001 0111&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
† Within the control symbols, K.28.1, K.28.5, and K.28.7 are &amp;quot;comma symbols&amp;quot;.  Comma symbols are used for synchronization (finding the alignment of the 8b/10b codes within a bit-stream).  If K.28.7 is not used, the unique comma sequences 0011111 or 1100000 cannot be found at any bit position within any combination of normal codes.&lt;br /&gt;
&lt;br /&gt;
‡ If K.28.7 is allowed in the actual coding, a more complex definition of the synchronization pattern than suggested by † needs to be used, as a combination of K.28.7 with several other codes forms a false misaligned comma symbol overlapping the two codes. A sequence of multiple K.28.7 codes is not allowable in any case, as this would result in undetectable misaligned comma symbols.&lt;br /&gt;
&lt;br /&gt;
K.28.7 is the only comma symbol that cannot be the result of a single bit error in the data stream.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 與 8b/10b 相關技術 ==&lt;br /&gt;
&lt;br /&gt;
目前IBM的專利已過期，此方案已成為大眾化的技術。&lt;br /&gt;
&lt;br /&gt;
8B/10B 編碼的應用如下&lt;br /&gt;
* [[PCI Express]] 1.0/2.0&lt;br /&gt;
* [[IEEE 1394]]b&lt;br /&gt;
* [[Serial ATA]]&lt;br /&gt;
* [[串列SCSI|SAS]]&lt;br /&gt;
* [[SSA]]&lt;br /&gt;
* [[Gigabit Ethernet]]&lt;br /&gt;
* [[光纖通道]]&lt;br /&gt;
* [[InfiniBand]]&lt;br /&gt;
* [[XAUI]]&lt;br /&gt;
* {{le|Serial RapidIO|RapidIO}}&lt;br /&gt;
* [[DVI]]和[[HDMI]]（[[最小化傳輸差分訊號]]）&lt;br /&gt;
* [[DVB]] Asynchronous Serial Interface（ASI）&lt;br /&gt;
* [[DisplayPort]] Main Link&lt;br /&gt;
* [[HyperTransport]]&lt;br /&gt;
* [[Common Public Radio Interface]]（CPRI）&lt;br /&gt;
* [[USB|USB 3.0]]&lt;br /&gt;
&lt;br /&gt;
=== 數位音效 ===&lt;br /&gt;
重要的應用面:&lt;br /&gt;
* [[Digital Audio Tape]]&lt;br /&gt;
* [[Digital Compact Cassette]] (DCC).&lt;br /&gt;
用於 audio 與 data CDs:&lt;br /&gt;
* [[Compact Disc]] [[Eight-to-Fourteen Modulation]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Exceptions ===&lt;br /&gt;
For [[10 Gigabit Ethernet]]&amp;#039;s 10GBASE-R [[Physical Medium Dependent]] (PMD) interfaces, [[64b/66b encoding]] is used.  This scheme is considerably different in design to 8b/10b encoding, but was created with similar considerations of DC balance, maximum run length, transition density and electromagnetic emission minimisation.&lt;br /&gt;
&lt;br /&gt;
Note that 8b/10b is the encoding scheme, not a specific code.  While many applications do use the same code, there exist some incompatible implementations;  for example, [[Transition Minimized Differential Signaling]], which also expands 8 bits to 10 bits, has some subtle differences.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 與 128b/13xb 相關技術 ==&lt;br /&gt;
128b/13xb編碼的應用如下：&lt;br /&gt;
*[[PCI Express]] 3.0/4.0（128b/130b）&lt;br /&gt;
*[[USB 3.1]] Gen2（128b/132b）&lt;br /&gt;
*[[串列SCSI|SAS]] 4&lt;br /&gt;
*[[DisplayPort]] 2.0&lt;br /&gt;
*[[NVLink]]&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
* [http://domino.research.ibm.com/tchjr/journalindex.nsf/0/b4e28be4a69a153585256bfa0067f59a?OpenDocument Original paper by Franaszek and Widmer]{{Wayback|url=http://domino.research.ibm.com/tchjr/journalindex.nsf/0/b4e28be4a69a153585256bfa0067f59a?OpenDocument |date=20090530123123 }}.&lt;br /&gt;
* {{US patent|4486739}}（于2002年6月30日失效）&lt;br /&gt;
&lt;br /&gt;
{{位编码}}&lt;br /&gt;
&lt;br /&gt;
[[Category:电信标准]]&lt;br /&gt;
[[Category:线路码]]&lt;br /&gt;
[[Category:光纤通道]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Ray80127</name></author>
	</entry>
</feed>