This text below is hard to understand. Some thing that the PCIe uses 10 bits to send 8 bits because it is a serial bus that it cannot send 8 bits.
Why the computer bus cannot send 8 bits because some thing to do with it being a serial bus or clock.
Quote PCIe is a serial bus with the clock embedded in the data, it needs to ensure that enough level transitions (1 to 0 and 0 to 1) occur for a receiver to recover the clock. To increase level transitions, PCIe uses “8b/10b” encoding, where every eight bits are encoded into a 10-bit symbol that is then decoded at the receiver. Thus, the bus needs to transfer 10 bits to send 8 bits of encoded data. Quote
In: 1
This is for error detection and timing. If every bit you send/receive corresponds to actual data, you have no way of knowing whether it’s correct. Maybe that letter was a P or maybe it was a Q? No way of knowing you just need to assume it’s correct. Was the bit you just read the end of the previous letter… or are you running slow, and it’s actually meant to be the start of the next letter?
If all the data you process is *actual data* you have no way of knowing if you’re receiving it correctly. If you had any idea what it was supposed to say you wouldn’t need to send it in the first place!
Adding bits lets you verify that it’s being sent/received correctly. For example, you always have a 0 to start. Then you have 8 bits of data. Then you have a 0 or a 1 to verify if the sum of those bits was odd or even.
If the first bit isn’t 0 you know your timing is wrong or you have an error. If the last bit doesn’t verify the middle 8 bits, you know you have an error.
Latest Answers