随便说几句,首先@老狼 的回答里,举的例子不恰当,当然,回答的思路是正确的。
USB这个事情:EHCI的规范是开放的,而UHCI和OHCI都是1.1 full speed的控制器,不是USB 2.0,所以不存在OHCI和EHCI竞争的关系,非Intel厂商也可以用EHCI,甚至有些厂商在EHCI规范的基础上,扩展了一些功能,这种设计在嵌入式领域非常常见。之所以会有UHCI/OHCI的存在,是因为早年USB规范设计的不好,2.0设备向下兼容1.1设备时有困难,所以必须要搞EHCI+UHCI或者EHCI+OHCI的组合,直到USB Hub里集成了TT(这玩意中文名好像叫传输转换还是啥)以后才行。
早期有其它厂商搞竞争,原因是USB1.1时代硬件还是比较简单的,速率也低。即使到了USB2.0时代,也不只有一个EHCI,看看Linux代码就知道USB2.0还有多少种控制器了,MHDRC,synopsis之类的很多了,在OTG领域很常见。
至于3.0时代,为啥其它厂商不搞了?因为速率太高,硬件太复杂,另起炉灶太费劲,所以没人搞。但不代表真的就没人,synopsis USB 3.0 好像就是有的,还是支持OTG的那种。
回到问题本身:
比如主板的尺寸标准ATX,供电接口,USB主控制器接口规范UHCI/EHCI/XHCI,SATA主控制器接口规范AHCI,音频主控制器接口规范HD Audio/AC'97,x86生态中的avx和sse,以及被Intel主导的PCIe,USB,NVMe,UEFI/ACPI等产业联盟
ATX其实是AT规范的替代品;
USB的竞争对手很多,我前面提到了,尤其是OTG领域,非Intel的硬件很多;
AHCI/AC'97/UEFI/ACPI能被Intel垄断,主要原因是现在市面上已经不存在Intel CPU+非Intel桥片的主板组合了(15年前还有的),因为不存在第三方桥片,那么桥片的规范自然就被Intel垄断了;
PCIe的演进路线是ISA -> EISA -> PCI -> PCI-e,其实算是从IBM演进过来的;
AVE/SSE算不上垄断,AMD还搞过3D Now之类的指令,现在合并成一套的原因是软件开发商(微软)反对搞多套指令集,这样不利于操作系统开发,另外,现在的64位指令集其实是AMD最先做出来的,Intel属于跟随者。
NVMe技术上属于AHCI的延续(支持多队列等),因为AHCI本身就是Intel起草的,所以NVMe由Intel主导也是正常的。
现在PC硬件的复杂度越来越高,性能也越来越好,普通厂商如果没有积累的话,根本没有能力设计出新的、高速、稳定的硬件,所以Intel在某些方面主导标准制作是正常的。
PC上,64位指令集和内存规范(JEDEC),都不是Intel设计主导的。所以真正意义上Intel主导的东西,其实不多,主要围绕的是PC硬件比较原生的少数几个,并且大多数都是从IBM时代传承下来的。Intel当年在PCI规范上尝到了甜头,当年IBM就是在封闭的道路上栽了跟头,Intel有了教训自然就走开放路线了。
不是由Intel主导的规范(不完整列表):
64位指令集(AMD)
DDR/UFS(JEDEC)
SD(SD卡协会)
HDMI/DP(一堆公司)
USB(USB-IF)
1394(苹果)
SCSI
其实有个恰当的比喻解释这个,就好像问以前99平的房子是二房,为什么现在会有人把99平的房子做成三房,买大点不行吗?
答案:因为大了,比较费钱。
淘宝刷U盘服务欢迎光临