3 ms·
In college I read (parts of) the big computer standards -- USB, PCIe, SATA (rip), and Bluetooth. PCIe was consistently head and shoulders above the rest. This
by jjoonathan 4y ago
In college I read (parts of) the big computer standards -- USB, PCIe, SATA (rip), and Bluetooth. PCIe was consistently head and shoulders above the rest.
This was true on an editorial level and on a structural level. They defined terms before they used them, they didn't use the same term to mean two different things, they foresaw and sidestepped problems that other standards blundered into, they didn't go on architecture astronaut tangents, they weren't stingy with bits when they could buy simplicity/clarity/separation of concerns but they spared no effort when performance was on the line. These were all frequent sins in the other standards.
I've always wondered what human factors led to this. Good leadership? Fewer cooks in the kitchen? More time? There is probably a lesson in there, but I didn't stay in computer engineering long enough to gain industry contacts and figure it out.
- Arrath 4y agoThis is something I would be very interested in reading in more detail, with examples from multiple specs pointing out pitfalls or successes. Dammit I'm supposed to be working not diving down a rabbit hole.
- AdamH12113 4y agoI suspect it was a combination of technical limitations and the nature of the developers. The USB 1.0 standard was finalized in 1996, seven years before PCIe 1.0 (2003), and was one of the first (maybe the first?) consumer protocols to fully support automatically-enumerated hot-swappable devices. (Having worked on USB drivers a bit, I still kind of hate the protocol, though.) Keep in mind too that there is a massive difference in computing power, memory, etc. between 1996 and 2003. Similarly, I get the impression that "low-power wireless" was a herculean effort when Bluetooth was developed in ~1999. It looks like PCIe 1.0 was designed solely by Intel, which probably accounts for a lot of the coherence and editing. SATA (2003) was designed by committee.